summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-03-30 21:54:51 +0000
committerZac Medico <zmedico@gentoo.org>2008-03-30 21:54:51 +0000
commitafc344377422040fc6dfa9a167972ceb4d776eb9 (patch)
tree131cfc30ac2359475e73ab1102c9626c30230083
parent906410be8ebb31fc185cd1c7d49bd5244fe5434e (diff)
downloadportage-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.py9
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