summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-01-05 20:17:03 -0800
committerZac Medico <zmedico@gentoo.org>2011-01-05 20:17:03 -0800
commit5a418fda4c53ef634cb08cff6bd1a3b24cf0b918 (patch)
tree3c869d398885f98118835210c502c05f415e7083 /pym/_emerge
parent0414c2c1318f615e22939aba914b81379ff366a1 (diff)
downloadportage-5a418fda4c53ef634cb08cff6bd1a3b24cf0b918.tar.gz
portage-5a418fda4c53ef634cb08cff6bd1a3b24cf0b918.tar.bz2
portage-5a418fda4c53ef634cb08cff6bd1a3b24cf0b918.zip
Scheduler: handle same cpv with different SLOT
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/Scheduler.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 312a7a30e..eb70e80dd 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -1747,6 +1747,9 @@ class Scheduler(PollScheduler):
if pkg.operation != "uninstall":
vardb = pkg.root_config.trees["vartree"].dbapi
previous_cpv = vardb.match(pkg.slot_atom)
+ if not previous_cpv and vardb.cpv_exists(pkg.cpv):
+ # same cpv, different SLOT
+ previous_cpv = [pkg.cpv]
if previous_cpv:
previous_cpv = previous_cpv.pop()
pkg_to_replace = self._pkg(previous_cpv,