summaryrefslogtreecommitdiffstats
path: root/bin/ebuild
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-28 16:42:14 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-28 16:42:14 +0000
commit5a217ecdc46ad1d2318c2b4ddcad7fef4a028022 (patch)
tree259ee7346cd56452205debdfa08db6bbb4af5fc1 /bin/ebuild
parent2f51b3bf3752c5774fc7a8bcd564eef3a3cb7c70 (diff)
downloadportage-5a217ecdc46ad1d2318c2b4ddcad7fef4a028022.tar.gz
portage-5a217ecdc46ad1d2318c2b4ddcad7fef4a028022.tar.bz2
portage-5a217ecdc46ad1d2318c2b4ddcad7fef4a028022.zip
Fixes for logic related to FEATURES=test to USE=test mapping:
* Add EBUILD_FORCE_TEST to the environment whitelist and filter it from the saved environment in save_ebuild_env(). * Tweak logic inside the ebuild command and config.regenerate() so that EBUILD_FORCE_TEST works even in odd cases like when USE=test is masked. * Only make FEATURES=test map to USE=test when "test" is actually in IUSE. * Remove USE=test from the set of implicit IUSE so that useq() calls in ebuild.sh properly generate a QA Notice when "test" is missing from IUSE. (trunk r9063:9065) svn path=/main/branches/2.1.2/; revision=9076
Diffstat (limited to 'bin/ebuild')
-rwxr-xr-xbin/ebuild14
1 files changed, 9 insertions, 5 deletions
diff --git a/bin/ebuild b/bin/ebuild
index a44fcad39..d4a3a6667 100755
--- a/bin/ebuild
+++ b/bin/ebuild
@@ -131,13 +131,17 @@ def discard_digests(myebuild, mysettings, mydbapi):
portage._doebuild_manifest_exempt_depend -= 1
tmpsettings = portage.config(clone=portage.settings)
-if "test" in pargs and "test" not in tmpsettings.features:
- print "Forcing test."
+if "test" in pargs:
+ # This variable is a signal to config.regenerate() to
+ # indicate that the test phase should be enabled regardless
+ # of problems such as masked "test" USE flag.
tmpsettings["EBUILD_FORCE_TEST"] = "1"
tmpsettings.backup_changes("EBUILD_FORCE_TEST")
- tmpsettings.features.append("test")
- tmpsettings["FEATURES"] = " ".join(tmpsettings.features)
- tmpsettings.backup_changes("FEATURES")
+ if "test" not in tmpsettings.features:
+ tmpsettings.features.append("test")
+ tmpsettings.features.sort()
+ tmpsettings["FEATURES"] = " ".join(tmpsettings.features)
+ tmpsettings.backup_changes("FEATURES")
build_dir_phases = set(["setup", "unpack", "compile",
"test", "install", "package", "rpm"])