Merged from trunk 4961:4962
authorFabian Groffen <grobian@gentoo.org>
Mon, 6 Nov 2006 21:12:46 +0000 (21:12 -0000)
committerFabian Groffen <grobian@gentoo.org>
Mon, 6 Nov 2006 21:12:46 +0000 (21:12 -0000)
Simplify the new-style -> old-style virtuals bridge by doing it
implicitly for  all virtuals instead of explicit scanning for available
new-style virtuals.

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

bin/emerge
pym/portage.py

index 2125b3562b701f7d472ab49d9594ff7d06a798d4..4f6628e7f602481ffdc1d9f3888410320e27c218 100755 (executable)
@@ -725,12 +725,6 @@ class depgraph:
                for myroot in self.trees:
                        self.pkgsettings[myroot] = portage.config(
                                clone=trees[myroot]["vartree"].settings)
-                       mydbapis = []
-                       if "--usepkgonly" not in self.myopts:
-                               mydbapis.append(trees[myroot]["porttree"].dbapi)
-                       if "--usepkg" in self.myopts:
-                               mydbapis.append(trees[myroot]["bintree"].dbapi)
-                       self.pkgsettings[myroot].add_new_virtuals(mydbapis)
                self.useFlags = {}
                self.useFlags[self.target_root] = {}
                if self.target_root != "/":
index 9bc627b902ff70a289758ad315cba21779e3b5f3..e20e709e8f342926cfbd15d1fb89143baa4482a1 100644 (file)
@@ -849,7 +849,6 @@ class config:
                self.virtuals = {}
                self.virts_p = {}
                self.dirVirtuals = None
-               self._new_virtuals = {}
                self.v_count  = 0
 
                # Virtuals obtained from the vartree
@@ -915,7 +914,6 @@ class config:
                        self.prevmaskdict = copy.deepcopy(clone.prevmaskdict)
                        self.pprovideddict = copy.deepcopy(clone.pprovideddict)
                        self.dirVirtuals = copy.deepcopy(clone.dirVirtuals)
-                       self._new_virtuals = copy.deepcopy(clone._new_virtuals)
                        self.treeVirtuals = copy.deepcopy(clone.treeVirtuals)
                        self.features = copy.deepcopy(clone.features)
 
@@ -1870,21 +1868,13 @@ class config:
                                        ptVirtuals.setdefault(virt, [])
                                        ptVirtuals[virt].append(cp)
 
-               return stack_dictlist([ptVirtuals, self.treeVirtuals, self.dirVirtuals,
-                       self._new_virtuals])
-
-       def add_new_virtuals(self, mydbapis):
-               """Scan for new-style virtuals and bridge them into the old-style."""
-               new_virtuals = {}
-               for mydbapi in mydbapis:
-                       for cpv in mydbapi.cpv_all():
-                               if cpv.startswith("virtual/"):
-                                       cp = dep_getkey(cpv)
-                                       new_virtuals[cp] = [cp]
-               self._new_virtuals = new_virtuals
-               # Make sure dirVirtuals and treeVirtuals are initialized.
-               self.getvirtuals()
-               self.virtuals = self.__getvirtuals_compile()
+               virtuals = stack_dictlist([ptVirtuals, self.treeVirtuals,
+                       self.dirVirtuals])
+               # Bridge new-style virtuals into old-style.
+               for k, v in virtuals.iteritems():
+                       if k not in v:
+                               v.append(k)
+               return virtuals
 
        def __delitem__(self,mykey):
                self.modifying()