From 51e01392c1a02d06074868bd712dc8b26cde0571 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 17 Jun 2019 21:18:10 +0200 Subject: honor /etc/urpmi/prefer.vendor.list (mga#24309) aka reuse urpmi code so that the best choice is the first/default one (cherry picked from commit ce208c3c2a39966e38048eb66612ba87346d59d1) --- NEWS | 2 ++ Rpmdrake/gui.pm | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 5ebc77d2..a618f696 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- honor /etc/urpmi/prefer.vendor.list (mga#24309) + Version 6.27 - 7 July 2017, Thomas Backlund - update translations diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm index 7cf196f6..e686fc71 100644 --- a/Rpmdrake/gui.pm +++ b/Rpmdrake/gui.pm @@ -703,7 +703,9 @@ sub is_locale_available { } sub callback_choices { - my (undef, undef, undef, $choices) = @_; + my ($urpm, undef, undef, $choices) = @_; + my ($prefered, $other) = urpm::select::get_preferred($urpm, $choices, undef); + $choices = [ @$prefered, @$other ]; return $choices->[0] if $::rpmdrake_options{auto}; foreach my $pkg (@$choices) { foreach ($pkg->requires_nosense) { @@ -712,7 +714,6 @@ sub callback_choices { } } my $callback = sub { interactive_msg(N("More information on package..."), get_info($_[0]), scroll => 1) }; - $choices = [ sort { $a->name cmp $b->name } @$choices ]; my @choices = interactive_list_(N("Please choose"), (scalar(@$choices) == 1 ? N("The following package is needed:") : N("One of the following packages is needed:")), [ map { urpm_name($_) } @$choices ], $callback, nocancel => 1); -- cgit v1.2.1