When dblink.treewalk() queries for other packages in the same slot, filter
authorZac Medico <zmedico@gentoo.org>
Sun, 30 Mar 2008 22:08:31 +0000 (22:08 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 30 Mar 2008 22:08:31 +0000 (22:08 -0000)
out old-style virtual matches since they are not desired. (trunk r9637)

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

pym/portage.py

index be62d09f93c35a0d7e1802c7df5397d3d214f464..1b00a91fdc28e62e2e948044d802bfdc1ea80801 100644 (file)
@@ -8867,8 +8867,11 @@ class dblink:
                for v in self.vartree.dbapi.cp_list(self.mysplit[0]):
                        otherversions.append(v.split("/")[1])
 
-               slot_matches = self.vartree.dbapi.match(
-                       "%s:%s" % (self.mysplit[0], slot))
+               # filter any old-style virtual matches
+               slot_matches = [cpv for cpv in self.vartree.dbapi.match(
+                       "%s:%s" % (cpv_getkey(self.mycpv), slot)) \
+                       if cpv_getkey(cpv) == cpv_getkey(self.mycpv)]
+
                if self.mycpv not in slot_matches and \
                        self.vartree.dbapi.cpv_exists(self.mycpv):
                        # handle multislot or unapplied slotmove