Fix references to PORTAGE_BIN_PATH in doebuild() to use the config
authorZac Medico <zmedico@gentoo.org>
Wed, 28 Nov 2007 22:57:31 +0000 (22:57 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 28 Nov 2007 22:57:31 +0000 (22:57 -0000)
setting since it may be a temp directory when portage is reinstalling
itself.

svn path=/main/trunk/; revision=8733

pym/portage/__init__.py

index 05f188d87d122a8fba493829e5642c0078ced93d..cd3f7517a99a02b4d54cc6acf309169a7d4a4295 100644 (file)
@@ -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