diff options
-rwxr-xr-x | rpmdrake | 5 | ||||
-rw-r--r-- | rpmdrake.spec | 4 |
2 files changed, 6 insertions, 3 deletions
@@ -418,6 +418,7 @@ sub run_treeview_dialog { }; my $closure_removal = sub { my @to_remove; + $urpm->{state} = {}; foreach (@_) { $urpm->resolve_rejected(db(), $urpm->{state}, $pkgs->{$_}{pkg}, removed => 1); foreach (keys %{$urpm->{state}{rejected}}) { @@ -528,7 +529,6 @@ or you already installed all of them.")); } }; if ($MODE eq 'remove') { - $urpm->{state} = {}; if ($new_state) { my @remove; slow_func($tree->window, sub { @remove = $closure_removal->(@nodes) }); @@ -547,7 +547,8 @@ or you already installed all of them.")); } else { slow_func($tree->window, sub { @nodes_with_deps = grep { intersection(\@nodes, [ $closure_removal->($_) ]) } - grep { $pkgs->{$_}{selected} } keys %$pkgs }); + grep { $pkgs->{$_}{selected} && !member($_, @nodes) } keys %$pkgs }); + push @nodes_with_deps, @nodes; $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 = (); diff --git a/rpmdrake.spec b/rpmdrake.spec index d77c5f9d..82513899 100644 --- a/rpmdrake.spec +++ b/rpmdrake.spec @@ -117,10 +117,12 @@ rm -rf $RPM_BUILD_ROOT %{_sbindir}/park-rpmdrake %changelog -* Wed Feb 11 2004 Guillaume Cottenceau <gc@mandrakesoft.com> 2.1.2-3mdk +* Thu Feb 12 2004 Guillaume Cottenceau <gc@mandrakesoft.com> 2.1.2-3mdk - some #7472-alike progressbar sizing fixes - menu: specify that gurpmi.addmedia handles application/x-urpmi-media - fix #7425: center-always or center-on-parent popup windows +- fix #7675: rpmdrake-remove wrongly thought an unrelated package was + needed to remove another one * Wed Jan 21 2004 Guillaume Cottenceau <gc@mandrakesoft.com> 2.1.2-2mdk - remove unneeded stuff from grpmi/po/*.po |