summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-06-13 10:09:43 +0000
committerZac Medico <zmedico@gentoo.org>2007-06-13 10:09:43 +0000
commit99a2eab755150bc2427b644b786b15daeccd6cb5 (patch)
tree4878bc8df4bdc69b5dfb4a5ef14913f7d5699466
parent2367854700d02a3c202ea086b334db7a2c4134a4 (diff)
downloadportage-99a2eab755150bc2427b644b786b15daeccd6cb5.tar.gz
portage-99a2eab755150bc2427b644b786b15daeccd6cb5.tar.bz2
portage-99a2eab755150bc2427b644b786b15daeccd6cb5.zip
In dblink.treewalk(), handle the case where the current cpv is already installed but it has a different slot (multislot or unapplied slotmove). (trunk r6833)
svn path=/main/branches/2.1.2/; revision=6834
-rw-r--r--pym/portage.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 4a35a7aa3..ecb760b2c 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -7417,6 +7417,11 @@ class dblink:
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],