diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-03-30 21:54:51 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-03-30 21:54:51 +0000 |
commit | afc344377422040fc6dfa9a167972ceb4d776eb9 (patch) | |
tree | 131cfc30ac2359475e73ab1102c9626c30230083 | |
parent | 906410be8ebb31fc185cd1c7d49bd5244fe5434e (diff) | |
download | portage-afc344377422040fc6dfa9a167972ceb4d776eb9.tar.gz portage-afc344377422040fc6dfa9a167972ceb4d776eb9.tar.bz2 portage-afc344377422040fc6dfa9a167972ceb4d776eb9.zip |
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
-rw-r--r-- | pym/portage/dbapi/vartree.py | 9 |
1 files 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 |