From e81e007c155c4caeee24b4fb4025f6ba803ecd0f Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 7 Mar 2008 17:23:04 +0000 Subject: (get_pkgs) basically revert r238520 on 2008-03-04 b/c pixel want to keep urpm::select::resolve_dependencies() simple and split it into smaller bits (reverting "(get_pkgs) use more modern urpm::select::resolve_dependencies() API instead of partially open-coding it, thus enabling further improvements") --- Rpmdrake/pkg.pm | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index 20dbe0f0..ebb6fba1 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -408,29 +408,22 @@ sub get_pkgs { my $requested = {}; my $state = {}; + $urpm->request_packages_to_upgrade( + $db, + $state, + $requested, + ); # list of updates (including those matching /etc/urpmi/skip.list): - my @requested; + my @requested = sort map { urpm_name($_) } @{$urpm->{depslist}}[keys %$requested]; # list of pure updates (w/o those matching /etc/urpmi/skip.list but with their deps): my @requested_strict; - - #- return value is true if program should be restarted (in order to take care of important - #- packages being upgraded (urpmi, perl-URPM, rpm, glibc, ...). - $restart_itself = urpm::select::resolve_dependencies( - $urpm, $state, $requested, - callback_choices => \&Rpmdrake::gui::callback_choices, - priority_upgrade => $urpm->{options}{'priority-upgrade'}, - auto_select => 1, - only_request_packages_to_upgrade => !$probe_only_for_updates, - upgrade_callback => sub { - @requested = sort map { urpm_name($_) } @{$urpm->{depslist}}[keys %$requested]; - }, - if_($probe_only_for_updates, - resolve_req_callback => sub { @requested_strict = sort map { urpm_name($_) } @_ } - ), - ); - + @requested_strict = $probe_only_for_updates ? + sort map { + urpm_name($_); + } $urpm->resolve_requested($db, $state, $requested, callback_choices => \&Rpmdrake::gui::callback_choices) + : (); # list updates including skiped ones + their deps in MandrivaUpdate: @requested = uniq(@requested, @requested_strict) if $probe_only_for_updates; -- cgit v1.2.1