diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-03-23 02:18:27 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-03-23 02:18:27 +0000 |
commit | f2468b530d094199b5e91d0856e99f6caf20c5e2 (patch) | |
tree | 9bd1250361a8606a8445a510bbb8a3b2e2574e2f | |
parent | baa4669d347947da3de90793663af77f137fbc39 (diff) | |
download | portage-f2468b530d094199b5e91d0856e99f6caf20c5e2.tar.gz portage-f2468b530d094199b5e91d0856e99f6caf20c5e2.tar.bz2 portage-f2468b530d094199b5e91d0856e99f6caf20c5e2.zip |
When the post preinst shell tasks fail, write a message to stderr and return it's exit status so that die calls (inside preinst_selinux_labels for example) can work correctly.
svn path=/main/trunk/; revision=2974
-rw-r--r-- | pym/portage.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py index 9a3896031..b4f05f75d 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -2737,7 +2737,9 @@ def doebuild(myebuild,mydo,myroot,mysettings,debug=0,listonly=0,fetchonly=0,clea # Post phase logic and tasks that have been factored out of ebuild.sh. myargs = [MISC_SH_BINARY, "preinst_mask", "preinst_sfperms", "preinst_selinux_labels", "preinst_suid_scan"] - spawn(" ".join(myargs), mysettings, debug=debug, free=1, logfile=logfile) + phase_retval = spawn(" ".join(myargs), mysettings, debug=debug, free=1, logfile=logfile) + if phase_retval != os.EX_OK: + writemsg("!!! post preinst failed; exiting.\n") del mysettings["IMAGE"] return phase_retval elif mydo in ["prerm","postrm","postinst","config"]: |