summaryrefslogtreecommitdiffstats
path: root/bin/ebuild
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-09-27 06:50:15 +0000
committerZac Medico <zmedico@gentoo.org>2007-09-27 06:50:15 +0000
commitb3231072469568bd4028b53526cd5d3a88b487e1 (patch)
treeff1f08f010882106be7ff2b1a56b96f45566f257 /bin/ebuild
parented719bfde96824a823b52f4ee8f8d0f1e42359a3 (diff)
downloadportage-b3231072469568bd4028b53526cd5d3a88b487e1.tar.gz
portage-b3231072469568bd4028b53526cd5d3a88b487e1.tar.bz2
portage-b3231072469568bd4028b53526cd5d3a88b487e1.zip
Display a short notification when an existing ${T}/environment
sourced since it is easy to ignore and ignorance of it often leads to mysterious problems and general confusion. This message should not show in cases where it is obviously irrelevant, FEATURES=noauto, or PORTAGE_QUIET=1. svn path=/main/trunk/; revision=7844
Diffstat (limited to 'bin/ebuild')
-rwxr-xr-xbin/ebuild19
1 files changed, 19 insertions, 0 deletions
diff --git a/bin/ebuild b/bin/ebuild
index 442dd4644..00c63a0ce 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -138,6 +138,25 @@ if "test" in pargs and "test" not in tmpsettings.features:
tmpsettings["FEATURES"] = " ".join(tmpsettings.features)
tmpsettings.backup_changes("FEATURES")
+build_dir_phases = set(["setup", "unpack", "compile",
+ "test", "install", "package", "rpm"])
+
+if "clean" not in pargs and \
+ "noauto" not in tmpsettings.features and \
+ tmpsettings.get("PORTAGE_QUIET") != "1" and \
+ build_dir_phases.intersection(pargs):
+ portage.doebuild_environment(ebuild, "setup", portage.root,
+ tmpsettings, debug, 1, portage.portdb)
+ env_filename = os.path.join(tmpsettings["T"], "environment")
+ if os.path.exists(env_filename):
+ msg = ("Existing ${T}/environment for '%s' will be sourced. " + \
+ "Run 'clean' to start with a fresh environment.") % \
+ (tmpsettings["PF"], )
+ from textwrap import wrap
+ msg = wrap(msg, 70)
+ for x in msg:
+ portage.writemsg(">>> %s\n" % x)
+
for arg in pargs:
try:
if arg == "digest" and force: