Scheduler: pkg_to_replace beware old-style virt
authorZac Medico <zmedico@gentoo.org>
Sat, 26 Mar 2011 17:10:24 +0000 (10:10 -0700)
committerZac Medico <zmedico@gentoo.org>
Sat, 26 Mar 2011 17:10:24 +0000 (10:10 -0700)
pym/_emerge/Scheduler.py

index 7d34d706a58c409c41277f58f2f757b4be02b024..06eeed5b108a9c3c170fc16a0b3d4f224d8db1b9 100644 (file)
@@ -1799,7 +1799,8 @@ class Scheduler(PollScheduler):
                pkg_to_replace = None
                if pkg.operation != "uninstall":
                        vardb = pkg.root_config.trees["vartree"].dbapi
-                       previous_cpv = vardb.match(pkg.slot_atom)
+                       previous_cpv = [x for x in vardb.match(pkg.slot_atom) \
+                               if portage.cpv_getkey(x) == pkg.cp]
                        if not previous_cpv and vardb.cpv_exists(pkg.cpv):
                                # same cpv, different SLOT
                                previous_cpv = [pkg.cpv]