Merged from trunk 9125:9128
authorFabian Groffen <grobian@gentoo.org>
Tue, 1 Jan 2008 21:55:01 +0000 (21:55 -0000)
committerFabian Groffen <grobian@gentoo.org>
Tue, 1 Jan 2008 21:55:01 +0000 (21:55 -0000)
   | 9126    | Fix config.setcpv() to properly call config.regenerate() in  |
   | zmedico | cases when USE needs to be regenerated due to FEATURES=test  |
   |         | to USE=test mapping.                                         |

   | 9128    | When searching for "test" in IUSE, account for IUSE          |
   | zmedico | defaults.                                                    |

svn path=/main/branches/prefix/; revision=9132

pym/portage/__init__.py

index ece610ee92a4a3a1185b8e7b22e182d848c0e48e..a91a5edf60f35434ccc7d554c52ad88cd92d4e8e 100644 (file)
@@ -1927,7 +1927,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 = \
+                                       bool(re.search(r'(^|\s)[-+]?test(\s|$)', iuse)) != \
+                                       ("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