Fix visibility checks so that binary packages aren't masked just because there is...
authorZac Medico <zmedico@gentoo.org>
Sun, 22 Oct 2006 02:56:51 +0000 (02:56 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 22 Oct 2006 02:56:51 +0000 (02:56 -0000)
svn path=/main/trunk/; revision=4788

bin/emerge

index 7acc3500ba8661b399b35f50b209468f8efbbcfa..86a26b7f24c3b610f96d754e5844b977d010179b 100755 (executable)
@@ -967,7 +967,9 @@ class depgraph:
                pkgsettings = self.pkgsettings[myroot]
                arg_atoms = []
                def visible(mylist):
-                       return portdb.gvisible(portdb.visible(mylist))
+                       matches = portdb.gvisible(portdb.visible(mylist))
+                       return [x for x in mylist \
+                               if x in matches or not portdb.cpv_exists(x)]
                for x in myfiles:
                        ext = os.path.splitext(x)[1]
                        if ext==".tbz2":
@@ -1569,7 +1571,9 @@ class depgraph:
                portdb = self.trees[self.target_root]["porttree"].dbapi
                bindb = self.trees[self.target_root]["bintree"].dbapi
                def visible(mylist):
-                       return portdb.gvisible(portdb.visible(mylist))
+                       matches = portdb.gvisible(portdb.visible(mylist))
+                       return [x for x in mylist \
+                               if x in matches or not portdb.cpv_exists(x)]
                world_problems = False
                if mode=="system":
                        mylist = getlist(self.settings, "system")