diff options
-rw-r--r-- | urpm.pm | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -3211,14 +3211,20 @@ sub unselected_packages { sub uniq { my %l; $l{$_} = 1 foreach @_; grep { delete $l{$_} } @_ } sub translate_why_unselected { - my (undef, $state, @l) = @_; + my ($urpm, $state, @l) = @_; - map { my $rb = $state->{rejected}{$_}{backtrack}; + map { + my $rb = $state->{rejected}{$_}{backtrack}; my @froms = keys %{$rb->{closure} || {}}; my @unsatisfied = @{$rb->{unsatisfied} || []}; my $s = join ", ", ( (map { N("due to missing %s", $_) } @froms), - (map { N("due to unsatisfied %s", $_) } uniq @unsatisfied), + (map { N("due to unsatisfied %s", $_) } uniq map { + #- XXX in theory we shouldn't need this, dependencies (and not ids) should + #- already be present in @unsatisfied. But with biarch packages this is + #- not always the case. + /\D/ ? $_ : scalar($urpm->{depslist}[$_]->fullname) + } @unsatisfied), $rb->{promote} && !$rb->{keep} ? N("trying to promote %s", join(", ", @{$rb->{promote}})) : @{[]}, $rb->{keep} ? N("in order to keep %s", join(", ", @{$rb->{keep}})) : @{[]}, ); |