diff options
author | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2006-02-01 14:03:52 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@mandriva.org> | 2006-02-01 14:03:52 +0000 |
commit | e2e7a6c666eb615770d59b1b7db900f9bd159a67 (patch) | |
tree | 2bdf87619866e6c40bc0b7ffbfc38028da13e678 | |
parent | cdbb4b72e860c6a5ead1e64b40f2f650d9be94fe (diff) | |
download | urpmi-e2e7a6c666eb615770d59b1b7db900f9bd159a67.tar urpmi-e2e7a6c666eb615770d59b1b7db900f9bd159a67.tar.gz urpmi-e2e7a6c666eb615770d59b1b7db900f9bd159a67.tar.bz2 urpmi-e2e7a6c666eb615770d59b1b7db900f9bd159a67.tar.xz urpmi-e2e7a6c666eb615770d59b1b7db900f9bd159a67.zip |
Attempt to fix a bug in translate_why_unselected on x86_64 where sometimes ids
were reported instead of human-readable dependencies.
-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}})) : @{[]}, ); |