summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/__init__.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 05f188d87..cd3f7517a 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -3741,8 +3741,11 @@ def doebuild_environment(myebuild, mydo, myroot, mysettings, debug, use_cache, m
mysplit=mysettings["PATH"].split(":")
else:
mysplit=[]
- if PORTAGE_BIN_PATH not in mysplit:
- mysettings["PATH"]=PORTAGE_BIN_PATH+":"+mysettings["PATH"]
+ # Note: PORTAGE_BIN_PATH may differ from the global constant
+ # when portage is reinstalling itself.
+ portage_bin_path = mysettings["PORTAGE_BIN_PATH"]
+ if portage_bin_path not in mysplit:
+ mysettings["PATH"] = portage_bin_path + ":" + mysettings["PATH"]
# Sandbox needs cannonical paths.
mysettings["PORTAGE_TMPDIR"] = os.path.realpath(
@@ -4412,11 +4415,9 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
# mod_echo module might push the original message off of the
# top of the terminal and prevent the user from being able to
# see it.
- mysettings["EBUILD_PHASE"] = "unpack"
- cmd = "source '%s/isolated-functions.sh' ; " % PORTAGE_BIN_PATH
- cmd += "eerror \"Fetch failed for '%s'\"" % mycpv
- portage.process.spawn(["bash", "-c", cmd],
- env=mysettings.environ())
+ from portage.elog.messages import eerror
+ eerror("Fetch failed for '%s'" % mycpv,
+ phase="unpack", key=mycpv)
from portage.elog import elog_process
elog_process(mysettings.mycpv, mysettings)
return 1