Scheduler: handle same cpv with different SLOT
authorZac Medico <zmedico@gentoo.org>
Thu, 6 Jan 2011 04:17:03 +0000 (20:17 -0800)
committerZac Medico <zmedico@gentoo.org>
Thu, 6 Jan 2011 04:17:03 +0000 (20:17 -0800)
pym/_emerge/Scheduler.py

index 312a7a30e20c8b49d7161a355a9f021daac4f468..eb70e80ddb6a6b7e08ac40acdf751ea3b8e1f11e 100644 (file)
@@ -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,