Fix broken unsatisfied deps handling that triggers false positives in
authorZac Medico <zmedico@gentoo.org>
Sun, 30 Mar 2008 23:51:26 +0000 (23:51 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 30 Mar 2008 23:51:26 +0000 (23:51 -0000)
a case like virtual/pager which is both a new-style and old-style
virtual.

svn path=/main/branches/2.1.2/; revision=9642

bin/emerge

index 73d5f3830219982a0820e5be0746b3a5c3d2f42e..0550fa585fb16fe7a319013e13350db5687040c3 100755 (executable)
@@ -1768,11 +1768,6 @@ class depgraph:
                        #  - multi-slot atoms listed in the world file
                        #    to prevent depclean from removing them
 
-                       if arg and "selective" not in self.myparams:
-                               self._unsatisfied_deps_for_display.append(
-                                       ((pkg.root, arg), {"myparent":myparent}))
-                               return 0
-
                        if not visible(pkgsettings, pkg.cpv, pkg.metadata,
                                built=pkg.built, installed=pkg.installed):
                                self._masked_installed.append((pkg, pkgsettings))
@@ -2084,6 +2079,12 @@ class depgraph:
                                        self._unsatisfied_deps_for_display.append(
                                                ((myroot, myatom), {"myparent":None}))
                                        return False, myfavorites
+
+                               if pkg.installed and "selective" not in self.myparams:
+                                       self._unsatisfied_deps_for_display.append(
+                                               ((myroot, myatom), {"myparent":None}))
+                                       return 0, myfavorites
+
                                try:
                                        self.mysd = self.create(pkg, None)
                                except portage_exception.MissingSignature, e: