For bug #189219, use pkgcmp() to sort versions in selected/protected/omitted unmerge...
authorZac Medico <zmedico@gentoo.org>
Fri, 17 Aug 2007 18:17:50 +0000 (18:17 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 17 Aug 2007 18:17:50 +0000 (18:17 -0000)
svn path=/main/branches/2.1.2/; revision=7640

bin/emerge

index f9d38129788c213d3c5859a50512e492f346c8b3..179899046dfb8ca67092c0beece231559aeb8c47 100755 (executable)
@@ -4191,12 +4191,14 @@ def unmerge(settings, myopts, vartree, unmerge_action, unmerge_files,
                        if "--quiet" not in myopts:
                                portage.writemsg_stdout((mytype + ": ").rjust(14), noiselevel=-1)
                        if pkgmap[x][mytype]:
-                               for mypkg in pkgmap[x][mytype]:
-                                       mysplit=portage.catpkgsplit(mypkg)
-                                       if mysplit[3]=="r0":
-                                               myversion=mysplit[2]
+                               sorted_pkgs = [portage.catpkgsplit(mypkg)[1:] \
+                                       for mypkg in pkgmap[x][mytype]]
+                               sorted_pkgs.sort(portage.pkgcmp)
+                               for pn, ver, rev in sorted_pkgs:
+                                       if rev == "r0":
+                                               myversion = ver
                                        else:
-                                               myversion=mysplit[2]+"-"+mysplit[3]
+                                               myversion = ver + "-" + rev
                                        if mytype=="selected":
                                                portage.writemsg_stdout(
                                                        colorize("UNMERGE_WARN", myversion + " "), noiselevel=-1)