summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-04-07 17:21:04 +0000
committerZac Medico <zmedico@gentoo.org>2009-04-07 17:21:04 +0000
commit1aef41b48e253c3d42972e74d2ab759817b3127f (patch)
tree14447605cda237d4f089d2cb7056bea66c7af6e2 /pym
parentf16aee82cefa95e9903fa46f448d30f6d4350f64 (diff)
downloadportage-1aef41b48e253c3d42972e74d2ab759817b3127f.tar.gz
portage-1aef41b48e253c3d42972e74d2ab759817b3127f.tar.bz2
portage-1aef41b48e253c3d42972e74d2ab759817b3127f.zip
Fix some _doebuild_exit_status_check() calls so that they only happen when
the bash process exits successfully (for consistency with usage elsewhere). When calling this functions, we're mainly concerned about false success, and we always want to allow things like using bashrc die hooks to clean up $PORTAGE_BUILDDIR for users that are building in tmpfs (in which case the exit status file may be removed before bash exits). svn path=/main/trunk/; revision=13296
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/__init__.py31
1 files changed, 17 insertions, 14 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 4e07a2b90..a914f2f32 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -4748,13 +4748,15 @@ def spawnebuild(mydo, actionmap, mysettings, debug, alwaysdep=0,
if returnpid:
return phase_retval
- msg = _doebuild_exit_status_check(mydo, mysettings)
- if msg:
- phase_retval = 1
- from textwrap import wrap
- from portage.elog.messages import eerror
- for l in wrap(msg, 72):
- eerror(l, phase=mydo, key=mysettings.mycpv)
+
+ if phase_retval == os.EX_OK:
+ msg = _doebuild_exit_status_check(mydo, mysettings)
+ if msg:
+ phase_retval = 1
+ from textwrap import wrap
+ from portage.elog.messages import eerror
+ for l in wrap(msg, 72):
+ eerror(l, phase=mydo, key=mysettings.mycpv)
_post_phase_userpriv_perms(mysettings)
if mydo == "install":
@@ -5027,13 +5029,14 @@ def _spawn_misc_sh(mysettings, commands, **kwargs):
logfile=logfile, **kwargs)
finally:
pass
- msg = _doebuild_exit_status_check(mydo, mysettings)
- if msg:
- rval = 1
- from textwrap import wrap
- from portage.elog.messages import eerror
- for l in wrap(msg, 72):
- eerror(l, phase=mydo, key=mysettings.mycpv)
+ if rval == os.EX_OK:
+ msg = _doebuild_exit_status_check(mydo, mysettings)
+ if msg:
+ rval = 1
+ from textwrap import wrap
+ from portage.elog.messages import eerror
+ for l in wrap(msg, 72):
+ eerror(l, phase=mydo, key=mysettings.mycpv)
return rval
_testing_eapis = frozenset(["3_pre1"])