From a731c7d79183644e1bd1566b3677db66a8ca1b4e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 28 Dec 2007 14:40:13 +0000 Subject: 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. svn path=/main/trunk/; revision=9064 --- bin/ebuild | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'bin/ebuild') diff --git a/bin/ebuild b/bin/ebuild index d5e09dd97..7aebd8a36 100755 --- a/bin/ebuild +++ b/bin/ebuild @@ -130,13 +130,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"]) -- cgit v1.2.3-1-g7c22