diff options
author | Thierry Vignaud <thierry.vignaud@gmail.com> | 2018-06-14 00:11:50 +0200 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2018-06-14 00:13:35 +0200 |
commit | 3ab0f02ec1b5bc55fd320df7982622387f3a42c2 (patch) | |
tree | dd4bef7021295d734f86c4c682be3f4886626e29 /URPM/Resolve.pm | |
parent | 960d5d8cadfb39ddb5bb9a7cd361a1a165e9aad0 (diff) | |
download | perl-URPM-3ab0f02ec1b5bc55fd320df7982622387f3a42c2.tar perl-URPM-3ab0f02ec1b5bc55fd320df7982622387f3a42c2.tar.gz perl-URPM-3ab0f02ec1b5bc55fd320df7982622387f3a42c2.tar.bz2 perl-URPM-3ab0f02ec1b5bc55fd320df7982622387f3a42c2.tar.xz perl-URPM-3ab0f02ec1b5bc55fd320df7982622387f3a42c2.zip |
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
Diffstat (limited to 'URPM/Resolve.pm')
-rw-r--r-- | URPM/Resolve.pm | 3 |
1 files changed, 2 insertions, 1 deletions
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 { |