diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-03-09 04:15:19 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-03-09 04:15:19 +0000 |
commit | 22144b96d1fba1235e3b67c9cba536c3963d76ec (patch) | |
tree | 14b4501ca609ee8ab0473cdd29145d126cadfcee /pym | |
parent | 62a4691a018fe49389cac7f8f63b3d4864d68e80 (diff) | |
download | portage-22144b96d1fba1235e3b67c9cba536c3963d76ec.tar.gz portage-22144b96d1fba1235e3b67c9cba536c3963d76ec.tar.bz2 portage-22144b96d1fba1235e3b67c9cba536c3963d76ec.zip |
Split install_mask and parts of dyn_preinst from ebuild.sh to misc-functions.sh and add the necessary support to doebuild.
svn path=/main/trunk/; revision=2832
Diffstat (limited to 'pym')
-rw-r--r-- | pym/portage.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py index 6468b0f87..08187a8c8 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -2749,7 +2749,21 @@ def doebuild(myebuild,mydo,myroot,mysettings,debug=0,listonly=0,fetchonly=0,clea logfile=None if mydo in ["help","clean","setup"]: return spawn(EBUILD_SH_BINARY+" "+mydo,mysettings,debug=debug,free=1,logfile=logfile) - elif mydo in ["prerm","postrm","preinst","postinst","config"]: + elif mydo == "preinst": + mysettings.load_infodir(pkg_dir) + if mysettings.has_key("EMERGE_FROM") and "binary" == mysettings["EMERGE_FROM"]: + mysettings["IMAGE"] = os.path.join(mysettings["PKG_TMPDIR"], mysettings["PF"], "bin") + else: + mysettings["IMAGE"] = mysettings["D"] + phase_retval = spawn(" ".join((EBUILD_SH_BINARY, mydo)), mysettings, debug=debug, free=1, logfile=logfile) + if phase_retval == os.EX_OK: + # 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) + del mysettings["IMAGE"] + return phase_retval + elif mydo in ["prerm","postrm","postinst","config"]: mysettings.load_infodir(pkg_dir) return spawn(EBUILD_SH_BINARY+" "+mydo,mysettings,debug=debug,free=1,logfile=logfile) |