When displaying reverse dependencies in verbose --depclean/--prune output,
authorZac Medico <zmedico@gentoo.org>
Mon, 23 Feb 2009 06:51:10 +0000 (06:51 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 23 Feb 2009 06:51:10 +0000 (06:51 -0000)
sort the parent packages by cpv.

svn path=/main/trunk/; revision=12691

pym/_emerge/__init__.py

index 3b20718b1005f8f97f3de786d65eb317fe99449f..f92a4eb615a6111c7f504bd2b54a6f248a852090 100644 (file)
@@ -13629,13 +13629,22 @@ def action_depclean(settings, trees, ldpath_mtimes,
                msg.append("\n")
                portage.writemsg_stdout("".join(msg), noiselevel=-1)
 
+       def cmp_pkg_cpv(pkg1, pkg2):
+               """Sort Package instances by cpv."""
+               if pkg1.cpv > pkg2.cpv:
+                       return 1
+               elif pkg1.cpv == pkg2.cpv:
+                       return 0
+               else:
+                       return -1
+
        def create_cleanlist():
                pkgs_to_remove = []
 
                if action == "depclean":
                        if args_set:
 
-                               for pkg in vardb:
+                               for pkg in sorted(vardb, key=cmp_sort_key(cmp_pkg_cpv)):
                                        arg_atom = None
                                        try:
                                                arg_atom = args_set.findAtomForPackage(pkg)
@@ -13650,7 +13659,7 @@ def action_depclean(settings, trees, ldpath_mtimes,
                                                        show_parents(pkg)
 
                        else:
-                               for pkg in vardb:
+                               for pkg in sorted(vardb, key=cmp_sort_key(cmp_pkg_cpv)):
                                        if pkg not in graph:
                                                pkgs_to_remove.append(pkg)
                                        elif "--verbose" in myopts: