summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-09-17 19:59:23 -0700
committerZac Medico <zmedico@gentoo.org>2012-09-17 19:59:23 -0700
commit1d9b8968460c4bdb44daeda3454ef0ef5035c398 (patch)
tree49f266dd59a7509eae43b18889c61d7a5c1c5a86 /pym
parent8bdba93c1a5d3b7500dec73a12fa9c40b43b9e2a (diff)
downloadportage-1d9b8968460c4bdb44daeda3454ef0ef5035c398.tar.gz
portage-1d9b8968460c4bdb44daeda3454ef0ef5035c398.tar.bz2
portage-1d9b8968460c4bdb44daeda3454ef0ef5035c398.zip
doebuild: update environment.bz2 for pre/postinstv2.2.0_alpha129
Also, remove unnecessary __dyn_preinst func.
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/package/ebuild/doebuild.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
index 89b605002..7200327e4 100644
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@ -904,8 +904,16 @@ def doebuild(myebuild, mydo, _unused=None, settings=None, debug=0, listonly=0,
# the sandbox -- and stop now.
if mydo in ("config", "help", "info", "postinst",
"preinst", "pretend", "postrm", "prerm"):
- return _spawn_phase(mydo, mysettings,
- fd_pipes=fd_pipes, logfile=logfile, returnpid=returnpid)
+ if mydo in ("preinst", "postinst"):
+ env_file = os.path.join(os.path.dirname(mysettings["EBUILD"]),
+ "environment.bz2")
+ if os.path.isfile(env_file):
+ mysettings["PORTAGE_UPDATE_ENV"] = env_file
+ try:
+ return _spawn_phase(mydo, mysettings,
+ fd_pipes=fd_pipes, logfile=logfile, returnpid=returnpid)
+ finally:
+ mysettings.pop("PORTAGE_UPDATE_ENV", None)
mycpv = "/".join((mysettings["CATEGORY"], mysettings["PF"]))