If a package is in the world set but it's not installed, go ahead and install it...
authorZac Medico <zmedico@gentoo.org>
Wed, 20 Jun 2007 05:18:47 +0000 (05:18 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 20 Jun 2007 05:18:47 +0000 (05:18 -0000)
svn path=/main/branches/2.1.2/; revision=6884

bin/emerge

index cec8977f2be2bd824dba705ba0df065633760d79..27a48ee2cd11a117c62437745f5dade68a0b2f00 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):
-                                       world_problems = True
-                               else:
-                                       sysdict[x]=worlddict[x]
-
-                       mylist = sysdict.keys()
+                                       continue
+                               elif not vardb.match(x):
+                                       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:
+                                               world_problems = True
+                                               continue
+                               mylist.append(x)
 
                newlist = []
                for atom in mylist: