calc_depclean: fix broken pkg hash keys
authorZac Medico <zmedico@gentoo.org>
Thu, 4 Nov 2010 19:49:29 +0000 (12:49 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 4 Nov 2010 19:49:29 +0000 (12:49 -0700)
This should fix bug 344179. These hash keys were broken by reposyntax
changes.

pym/_emerge/actions.py

index 955aa0f0eb9c05ab7d84980866db2828057cdec7..863e94386a7bda8535b92ff783da075a51414643 100644 (file)
@@ -1010,7 +1010,8 @@ def calc_depclean(settings, trees, ldpath_mtimes,
                                                if len(provider_dblinks) > 1:
                                                        for provider_dblink in provider_dblinks:
                                                                pkg_key = ("installed", myroot,
-                                                                       provider_dblink.mycpv, "nomerge")
+                                                                       provider_dblink.mycpv, "nomerge",
+                                                                       "installed")
                                                                if pkg_key not in clean_set:
                                                                        provider_pkgs.add(vardb.get(pkg_key))
 
@@ -1022,7 +1023,7 @@ def calc_depclean(settings, trees, ldpath_mtimes,
 
                                        for consumer_dblink in list(lib_consumers):
                                                if ("installed", myroot, consumer_dblink.mycpv,
-                                                       "nomerge") in clean_set:
+                                                       "nomerge", "installed") in clean_set:
                                                        lib_consumers.remove(consumer_dblink)
                                                        continue
 
@@ -1074,7 +1075,7 @@ def calc_depclean(settings, trees, ldpath_mtimes,
                        for pkg, consumers in consumer_map.items():
                                for consumer_dblink in set(chain(*consumers.values())):
                                        consumer_pkg = vardb.get(("installed", myroot,
-                                               consumer_dblink.mycpv, "nomerge"))
+                                               consumer_dblink.mycpv, "nomerge", "installed"))
                                        if not resolver._add_pkg(pkg,
                                                Dependency(parent=consumer_pkg,
                                                priority=UnmergeDepPriority(runtime=True),