discardBlocker: fix bug in slot match code
authorZac Medico <zmedico@gentoo.org>
Thu, 26 May 2011 12:22:18 +0000 (05:22 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 26 May 2011 12:22:18 +0000 (05:22 -0700)
pym/_emerge/BlockerDB.py

index dc0f9134e4b838686cf44d49135142d282606ec1..4819749e5e6514bcca628d0a52dffad397b19e3c 100644 (file)
@@ -117,7 +117,8 @@ class BlockerDB(object):
                """Discard a package from the list of potential blockers.
                This will match any package(s) with identical cpv or cp:slot."""
                for cpv_match in self._fake_vartree.dbapi.match_pkgs("=%s" % (pkg.cpv,)):
-                       self._fake_vartree.cpv_discard(cpv_match)
+                       if cpv_match.cp == pkg.cp:
+                               self._fake_vartree.cpv_discard(cpv_match)
                for slot_match in self._fake_vartree.dbapi.match_pkgs(pkg.slot_atom):
                        if slot_match.cp == pkg.cp:
-                               self._fake_vartree.cpv_discard(pkg)
+                               self._fake_vartree.cpv_discard(slot_match)