diff options
-rw-r--r-- | urpm/orphans.pm | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/urpm/orphans.pm b/urpm/orphans.pm index db631bc3..2750317c 100644 --- a/urpm/orphans.pm +++ b/urpm/orphans.pm @@ -87,14 +87,17 @@ sub _selected_unrequested { } #- side-effects: none sub _renamed_unrequested { - my ($urpm, $rejected, $current_unrequested) = @_; + my ($urpm, $rejected) = @_; my @obsoleted = grep { $rejected->{$_}{obsoleted} } keys %$rejected or return; + # we have to read the list to know if the old package was marked "unrequested" + my $current = unrequested_list($urpm); + my %l; foreach my $fn (@obsoleted) { my ($n) = $fn =~ $fullname2name_re; - $current_unrequested->{$n} or next; + $current->{$n} or next; my ($new_fn) = keys %{$rejected->{$fn}{closure}}; my ($new_n) = $new_fn =~ $fullname2name_re; @@ -106,12 +109,9 @@ sub _renamed_unrequested { } sub _new_unrequested { my ($urpm, $state) = @_; - - my $current_unrequested = unrequested_list($urpm); - ( _selected_unrequested($urpm, $state->{selected}), - _renamed_unrequested($urpm, $state->{rejected}, $current_unrequested), + _renamed_unrequested($urpm, $state->{rejected}), ); } #- side-effects: <root>/var/lib/rpm/installed-through-deps.list |