summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-06-13 10:09:06 +0000
committerZac Medico <zmedico@gentoo.org>2007-06-13 10:09:06 +0000
commit69fbce664e8fbd9043e85c8680afae4d41a60923 (patch)
tree5d0d77600bae609a1cdc2deb903e27b929456b11
parent34b402317b6b4d4892ea2f7ac99b27a91afc1b2f (diff)
downloadportage-69fbce664e8fbd9043e85c8680afae4d41a60923.tar.gz
portage-69fbce664e8fbd9043e85c8680afae4d41a60923.tar.bz2
portage-69fbce664e8fbd9043e85c8680afae4d41a60923.zip
In dblink.treewalk(), handle the case where the current cpv is already installed but it has a different slot (multislot or unapplied slotmove).
svn path=/main/trunk/; revision=6833
-rw-r--r--pym/portage/dbapi/vartree.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index e234f00f1..31834a628 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -1562,6 +1562,11 @@ class dblink(object):
slot_matches = self.vartree.dbapi.match(
"%s:%s" % (self.mysplit[0], self.settings["SLOT"]))
+ if self.mycpv not in slot_matches and \
+ self.vartree.dbapi.cpv_exists(self.mycpv):
+ # handle multislot or unapplied slotmove
+ slot_matches.append(self.mycpv)
+
others_in_slot = []
for cur_cpv in slot_matches:
others_in_slot.append(dblink(self.cat, catsplit(cur_cpv)[1],