summaryrefslogtreecommitdiffstats
path: root/urpm
diff options
context:
space:
mode:
Diffstat (limited to 'urpm')
-rw-r--r--urpm/orphans.pm12
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