Fix config.setcpv() to properly call config.regenerate() in cases
authorZac Medico <zmedico@gentoo.org>
Mon, 31 Dec 2007 09:54:35 +0000 (09:54 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 31 Dec 2007 09:54:35 +0000 (09:54 -0000)
when USE needs to be regenerated due to FEATURES=test to USE=test
mapping. (trunk r9126)

svn path=/main/branches/2.1.2/; revision=9127

pym/portage.py

index 4df9b64b2dea92afb30ac4a69921d7632cd701c2..a90ae56f5396ca252185136e656c09e9b454617d 100644 (file)
@@ -1938,7 +1938,14 @@ class config:
                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