From c49030f98ef8e674e21cc2dff0409baf2ac87ed5 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 13 Sep 2006 09:55:17 +0000 Subject: (perform_installation) move confirmation dialog from $do_action and ask confirmation for packages to be installed too (#25451, #25548) --- rpmdrake | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/rpmdrake b/rpmdrake index aee4b307..c75a596e 100755 --- a/rpmdrake +++ b/rpmdrake @@ -1164,21 +1164,6 @@ dangerous and should be considered with care. Do you really want to install all the selected packages?"), yesno => 1) or return; } - if ($MODE ne 'remove') { - @{$urpm->{ask_remove}} = sort $urpm->removed_packages($urpm->{state}); - if (@{$urpm->{ask_remove}}) { - my $r = join "\n", $urpm->translate_why_removed($urpm->{state}, @{$urpm->{ask_remove}}); - interactive_msg_(N("Some packages need to be removed"), -N("The following packages have to be removed for others to be upgraded: - -%s - -Is it ok to continue?", - $r), - scroll => 1, - yesno => 1) or return; - } - } if (!$callback_action->($urpm, $pkgs)) { $pkgs_provider->({ skip_updating_mu => 1 }, $rmodes{$options->{tree_mode}}); $reset_search->(); @@ -1732,6 +1717,24 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( unlink $_; } + # FIXME: $_ is trashed: + my @pkgs = map { my $c = $_->fullname; $c } sort(grep { $_->flag_selected } @{$urpm->{depslist}});#{ $a->name cmp $b->name } @{$urpm->{depslist}}[keys %{$state->{selected}}]; + @{$urpm->{ask_remove}} = sort $urpm->removed_packages($urpm->{state}); + my $r = join "\n", $urpm->translate_why_removed($urpm->{state}, @{$urpm->{ask_remove}}); + my $to_install = N("To satisfy dependencies, the following %d packages are going to be installed:\n", int(@pkgs)) . + formatlistpkg(map { s!.*/!!; $_ } @pkgs); + interactive_msg_(N("Some packages need to be removed"), + ($r ? N("The following packages have to be removed for others to be upgraded: + +%s + +Is it ok to continue?", $r . "\n\n" . $to_install) : $to_install), + scroll => 1, + yesno => 1) or do { + $w->{rwindow}->set_sensitive(1); + return; + }; + gurpm::init(1 ? N("Please wait") : N("Package installation..."), N("Initializing..."), transient => $w->{real_window}); my $distant_progress; my $canceled; -- cgit v1.2.1