summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-07-28 04:13:47 +0000
committerZac Medico <zmedico@gentoo.org>2007-07-28 04:13:47 +0000
commite9885d4d54e315304ee648414703ecc70ae7f4e9 (patch)
treea8039f959358455d5f7d68468c432ce21ab37773
parentHandle 2 more cases where elog_process() needs to be called: (diff)
downloadportage-multirepo-e9885d4d54e315304ee648414703ecc70ae7f4e9.tar.gz
portage-multirepo-e9885d4d54e315304ee648414703ecc70ae7f4e9.tar.bz2
portage-multirepo-e9885d4d54e315304ee648414703ecc70ae7f4e9.zip
When the fetch phase fails inside doebuild(), create an eerror log since the 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. (trunk r7419)v2.1.3
svn path=/main/branches/2.1.2/; revision=7420
-rw-r--r--pym/portage.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index eaca567c..07717565 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -3770,10 +3770,12 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
return 1
# Build directory creation isn't required for any of these.
+ have_build_dirs = False
if mydo not in ("digest", "fetch", "help", "manifest"):
mystatus = prepare_build_dirs(myroot, mysettings, cleanup)
if mystatus:
return mystatus
+ have_build_dirs = True
# PORTAGE_LOG_FILE is set above by the prepare_build_dirs() call.
logfile = mysettings.get("PORTAGE_LOG_FILE", None)
if mydo == "unmerge":
@@ -3888,6 +3890,17 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
mydo not in ("digest", "manifest") and "noauto" not in features)
if need_distfiles and not fetch(
fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
+ if have_build_dirs:
+ # Create an elog message for this fetch failure since the
+ # 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_exec.spawn(["bash", "-c", cmd],
+ env=mysettings.environ())
+ elog_process(mysettings.mycpv, mysettings)
return 1
if mydo == "fetch" and listonly: