From b81db58cbce74fc30603fab02f5a11d75240c62f Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 5 Dec 2007 12:30:50 +0000 Subject: (perform_installation,toggle_nodes) explain in statusbar long operations --- Rpmdrake/gui.pm | 5 +++++ Rpmdrake/pkg.pm | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'Rpmdrake') diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm index 36d0b97a..51eb5d81 100644 --- a/Rpmdrake/gui.pm +++ b/Rpmdrake/gui.pm @@ -522,11 +522,13 @@ sub toggle_nodes { my @nodes_with_deps; + my $bar_id = statusbar_msg(N("Checking dependancies of package..."), 0); if (member($old_state, qw(to_remove installed))) { # remove pacckages if ($new_state) { my @remove; slow_func($widget, sub { @remove = closure_removal(@nodes) }); @nodes_with_deps = grep { !$pkgs->{$_}{selected} && !/^basesystem/ } @remove; + statusbar_msg_remove($bar_id); deps_msg(N("Some additional packages need to be removed"), formatAlaTeX(N("Because of their dependencies, the following package(s) also need to be\nremoved:")) . "\n\n", \@nodes, \@nodes_with_deps) or @nodes_with_deps = (); @@ -543,6 +545,7 @@ sub toggle_nodes { sub { @nodes_with_deps = grep { intersection(\@nodes, [ closure_removal($_) ]) } grep { $pkgs->{$_}{selected} && !member($_, @nodes) } keys %$pkgs }); push @nodes_with_deps, @nodes; + statusbar_msg_remove($bar_id); deps_msg(N("Some packages can't be removed"), N("Because of their dependencies, the following package(s) must be\nunselected now:\n\n"), \@nodes, \@nodes_with_deps) or @nodes_with_deps = (); @@ -573,6 +576,7 @@ sub toggle_nodes { }, ); @nodes_with_deps = map { urpm_name($_) } @requested; + statusbar_msg_remove($bar_id); if (!deps_msg(N("Additional packages needed"), formatAlaTeX(N("To satisfy dependencies, the following package(s) also need\nto be installed:\n\n")) . "\n\n", \@nodes, \@nodes_with_deps)) { @@ -610,6 +614,7 @@ sub toggle_nodes { sub { @unrequested = $urpm->disable_selected(open_rpm_db(), $urpm->{state}, map { $pkgs->{$_}{pkg} } @nodes) }); @nodes_with_deps = map { urpm_name($_) } @unrequested; + statusbar_msg_remove($bar_id); if (!deps_msg(N("Some packages need to be removed"), N("Because of their dependencies, the following package(s) must be\nunselected now:\n\n"), \@nodes, \@nodes_with_deps)) { diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index c0ea5bad..049f30ba 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -502,9 +502,11 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( my $rpm_lock = urpm::lock::rpm_db($urpm, 'exclusive'); my $state = $probe_only_for_updates ? { } : $urpm->{rpmdrake_state}; + my $bar_id = statusbar_msg(N("Checking validity of requested packages..."), 0); # select packages to install: $urpm->resolve_requested(open_rpm_db(), $state, { map { $_->id => undef } grep { $_->flag_selected } @{$urpm->{depslist}} }, callback_choices => \&Rpmdrake::gui::callback_choices); + statusbar_msg_remove($bar_id); my ($local_sources, $list) = urpm::get_pkgs::selected2list($urpm, $state->{selected}, @@ -689,18 +691,21 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( N("Unrecoverable error: no package found for installation, sorry.")); return; } + my $id = statusbar_msg(N("Inspecting configuration files..."), 0); my %pkg2rpmnew; foreach my $u (@rpms_upgrade) { $u =~ m|/([^/]+-[^-]+-[^-]+)\.[^\./]+\.rpm$| and $pkg2rpmnew{$1} = [ grep { m|^/etc| && (-r "$_.rpmnew" || -r "$_.rpmsave") } map { chomp_($_) } run_rpm("rpm -ql $1") ]; } + statusbar_msg_remove($id); dialog_rpmnew(N("The installation is finished; everything was installed correctly. Some configuration files were created as `.rpmnew' or `.rpmsave', you may now inspect some in order to take actions:"), %pkg2rpmnew) - and $statusbar_msg_id = statusbar_msg(N("All requested packages were installed successfully.")); + and statusbar_msg(N("All requested packages were installed successfully."), 1); + statusbar_msg(N("Looking for \"README\" files..."), 1); display_READMEs_if_needed($urpm, $w); }, already_installed_or_not_installable => sub { -- cgit v1.2.1