If a package is in the world set but it's not installed, go ahead and install it...
authorZac Medico <zmedico@gentoo.org>
Mon, 30 Jul 2007 04:29:11 +0000 (04:29 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 30 Jul 2007 04:29:11 +0000 (04:29 -0000)
svn path=/main/branches/2.1.2.9/; revision=7469

bin/emerge

index d7d36cf57405c48124f44ca3878f62917a00f979..8e43bb822a03d9a1bd0c2e7828e2d13c9f0eb740 100755 (executable)
@@ -2177,18 +2177,28 @@ class depgraph:
                else:
                        #world mode
                        worldlist = getlist(self.settings, "world")
-                       sysdict = genericdict(getlist(self.settings, "system"))
+                       mylist = getlist(self.settings, "system")
                        worlddict=genericdict(worldlist)
 
                        for x in worlddict.keys():
                                if not portage.isvalidatom(x):
                                        world_problems = True
-                               elif not self.trees[self.target_root]["vartree"].dbapi.match(x):
+                                       continue
+                               elif not vardb.match(x):
                                        world_problems = True
-                               else:
-                                       sysdict[x]=worlddict[x]
-
-                       mylist = sysdict.keys()
+                                       available = False
+                                       if "--usepkgonly" not in self.myopts and \
+                                               portdb.match(x):
+                                               available = True
+                                       elif "--usepkg" in self.myopts:
+                                               mymatches = bindb.match(x)
+                                               if "--usepkgonly" not in self.myopts:
+                                                       mymatches = visible(mymatches)
+                                               if mymatches:
+                                                       available = True
+                                       if not available:
+                                               continue
+                               mylist.append(x)
 
                newlist = []
                for atom in mylist: