aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrpmdrake5
-rw-r--r--rpmdrake.spec4
2 files changed, 6 insertions, 3 deletions
diff --git a/rpmdrake b/rpmdrake
index 200a6cb1..59c40b52 100755
--- a/rpmdrake
+++ b/rpmdrake
@@ -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