From 5aa5a10d9bfce29570d4765cf646da8762efc418 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 17 Feb 2012 17:22:46 +0000 Subject: (sort_packages_biarch) better packages sorting (x86_64 first) --- NEWS | 2 ++ Rpmdrake/pkg.pm | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index cb81d2c1..f10a1847 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- even better packages sorting in searches (x86_64 first) + Version 5.28 - 15 January 2012, Thierry Vignaud - fix french translation (mga#1523) diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index ff37d59d..98470f6a 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -66,8 +66,11 @@ use ugtk2 qw(:all); our $priority_up_alread_warned; sub sort_packages_biarch { - my ($x64, $other) = partition { !/86$/ } @_; - (sort { uc($a) cmp uc($b) } @$x64), sort { uc($a) cmp uc($b) } @$other; + sort { + my ($na, $aa) = $a =~ /^(.*-[^-]+-[^-]+)\.([^.-]+)$/; + my ($nb, $ab) = $b =~ /^(.*-[^-]+-[^-]+)\.([^.-]+)$/; + $na cmp $nb || ($ab =~ /64$/) <=> ($aa =~ /64$/); + } @_; } sub sort_packages_monoarch { -- cgit v1.2.1