From 3ab0f02ec1b5bc55fd320df7982622387f3a42c2 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 14 Jun 2018 00:11:50 +0200 Subject: fix finding better pkg (mga#23037) alter commit ef5c24cccff5f374232276b3064813aba88ee888 so that sorting pkgs got a better one in first place, by: - comparing EVRs before name - comparing EVRs rather than synthesis ids --- URPM/Resolve.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'URPM/Resolve.pm') diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index 2a0b1c4..7b3b1e3 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -336,6 +336,7 @@ sub _find_required_package__sort { my ($best, @other) = sort { $a->[1] <=> $b->[1] #- we want the lowest (ie preferred arch) || $b->[2] <=> $a->[2] #- and the higher score + || $b->[0]->compare_pkg($a->[0]) #- then by EVR (for upgrade) || $a->[0]->fullname cmp $b->[0]->fullname; #- then by name } map { my $score = 0; @@ -359,7 +360,7 @@ sub _find_required_package__sort { if ($urpm->{media}) { @chosen_with_score = sort { $a->[2] != $b->[2] ? - $a->[0]->id <=> $b->[0]->id : + $b->[0]->compare_pkg($a->[0]) : $b->[1] <=> $a->[1] || $b->[0]->compare_pkg($a->[0]); } map { [ $_, _score_for_locales($urpm, $db, $_), pkg2media($urpm->{media}, $_) ] } @chosen; } else { -- cgit v1.2.1