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 19:30:15 +0000 (12:30 -0700)
pym/_emerge/Scheduler.py

index e4b6926c3a110150d824b42fdd2f5a812b39196d..8ee96eb7a0eeee14e0b4671051014731b1e9151c 100644 (file)
@@ -1797,7 +1797,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]