From afc344377422040fc6dfa9a167972ceb4d776eb9 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 30 Mar 2008 21:54:51 +0000 Subject: When dblink.treewalk() queries for other packages in the same slot, filter out old-style virtual matches since they are not desired. svn path=/main/trunk/; revision=9637 --- pym/portage/dbapi/vartree.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 7970c0a4b..a47bbb6d9 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -21,7 +21,7 @@ from portage.versions import pkgsplit, catpkgsplit, catsplit, best, pkgcmp from portage import listdir, dep_expand, flatten, key_expand, \ doebuild_environment, doebuild, env_update, prepare_build_dirs, \ - abssymlink, movefile, _movefile, bsd_chflags + abssymlink, movefile, _movefile, bsd_chflags, cpv_getkey from portage.elog import elog_process from portage.elog.messages import ewarn @@ -1834,8 +1834,11 @@ class dblink(object): 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 -- cgit v1.2.3-1-g7c22