summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-12-31 09:54:15 +0000
committerZac Medico <zmedico@gentoo.org>2007-12-31 09:54:15 +0000
commit61226d0851e4d6b3397d99aa9143a4be6456714d (patch)
treeaf556bcda583abe7a155ba862180678d97c16bf8
parent4ae7f766207f539d04b5293daab8e1a251831eb3 (diff)
downloadportage-61226d0851e4d6b3397d99aa9143a4be6456714d.tar.gz
portage-61226d0851e4d6b3397d99aa9143a4be6456714d.tar.bz2
portage-61226d0851e4d6b3397d99aa9143a4be6456714d.zip
Fix config.setcpv() to properly call config.regenerate() in cases
when USE needs to be regenerated due to FEATURES=test to USE=test mapping. svn path=/main/trunk/; revision=9126
-rw-r--r--pym/portage/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 64ae70948..c9db5e9fd 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1908,7 +1908,14 @@ class config(object):
self.configdict["pkg"]["USE"] = self.puse[:] # this gets appended to USE
if iuse != self.configdict["pkg"].get("IUSE",""):
self.configdict["pkg"]["IUSE"] = iuse
- if self._use_wildcards or self.get("EBUILD_PHASE"):
+ test_use_changed = False
+ if "test" in self.features:
+ test_use_changed = \
+ ("test" in iuse.split()) != \
+ ("test" in self.get("PORTAGE_USE","").split())
+ if self.get("EBUILD_PHASE") or \
+ self._use_wildcards or \
+ test_use_changed:
# Without this conditional, regenerate() would be called
# *every* time.
has_changed = True