summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-03-09 04:15:19 +0000
committerZac Medico <zmedico@gentoo.org>2006-03-09 04:15:19 +0000
commit22144b96d1fba1235e3b67c9cba536c3963d76ec (patch)
tree14b4501ca609ee8ab0473cdd29145d126cadfcee /pym
parent62a4691a018fe49389cac7f8f63b3d4864d68e80 (diff)
downloadportage-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.py16
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)