aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2007-12-05 12:30:50 +0000
committerThierry Vignaud <tv@mandriva.org>2007-12-05 12:30:50 +0000
commitb81db58cbce74fc30603fab02f5a11d75240c62f (patch)
treee403f89594525a85d270b3e75ae64c71de80179d
parent996dfe3d0204cadf78e4703011fef170b19e100f (diff)
downloadrpmdrake-b81db58cbce74fc30603fab02f5a11d75240c62f.tar
rpmdrake-b81db58cbce74fc30603fab02f5a11d75240c62f.tar.gz
rpmdrake-b81db58cbce74fc30603fab02f5a11d75240c62f.tar.bz2
rpmdrake-b81db58cbce74fc30603fab02f5a11d75240c62f.tar.xz
rpmdrake-b81db58cbce74fc30603fab02f5a11d75240c62f.zip
(perform_installation,toggle_nodes) explain in statusbar long operations
-rw-r--r--Rpmdrake/gui.pm5
-rw-r--r--Rpmdrake/pkg.pm7
2 files changed, 11 insertions, 1 deletions
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 {