Ignore packages in system/world that are satisfied by packages in package.provided.
authorJason Stubbs <jstubbs@gentoo.org>
Thu, 29 Sep 2005 16:42:30 +0000 (16:42 -0000)
committerJason Stubbs <jstubbs@gentoo.org>
Thu, 29 Sep 2005 16:42:30 +0000 (16:42 -0000)
svn path=/main/branches/2.0/; revision=2060

bin/emerge

index a99b3add2e21a5d124502d53af13eeb3d2a01e1b..7db55c06bca3092a225e03fe4edcf2f2b2a907ba 100755 (executable)
@@ -861,6 +861,16 @@ def getlist(mode):
                                continue
                        myline=myline[1:]
                mynewlines.append(myline.strip())
+
+       # Remove everything that is package.provided from our list
+       for atom in mynewlines[:]:
+               for expanded_atom in portage.flatten(portage.dep_virtual([atom], portage.settings)):
+                       mykey = portage.dep_getkey(expanded_atom)
+                       if portage.settings.pprovideddict.has_key(mykey) and \
+                               portage.match_from_list(expanded_atom, portage.settings.pprovideddict[mykey]):
+                                       mynewlines.remove(atom)
+                                       break
+
        return mynewlines
 
 def genericdict(mylist):