summaryrefslogtreecommitdiffstats
path: root/urpm
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2007-08-13 13:34:43 +0000
committerThierry Vignaud <tv@mandriva.org>2007-08-13 13:34:43 +0000
commit4eb1af0323b37deb833e27469f2708ce3fedb7c6 (patch)
treee9d23918fed861fd64e1df0170222b438105eba2 /urpm
parent050ca5e1af3580bdfd9a6f7e473fb6c03e249648 (diff)
downloadurpmi-4eb1af0323b37deb833e27469f2708ce3fedb7c6.tar
urpmi-4eb1af0323b37deb833e27469f2708ce3fedb7c6.tar.gz
urpmi-4eb1af0323b37deb833e27469f2708ce3fedb7c6.tar.bz2
urpmi-4eb1af0323b37deb833e27469f2708ce3fedb7c6.tar.xz
urpmi-4eb1af0323b37deb833e27469f2708ce3fedb7c6.zip
(translate_why_unselected_one) try harder to explain why we cannot
select a package (eg: because i586 package is already installed on x86_64)
Diffstat (limited to 'urpm')
-rw-r--r--urpm/select.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/urpm/select.pm b/urpm/select.pm
index cc96d9d5..e46d2c24 100644
--- a/urpm/select.pm
+++ b/urpm/select.pm
@@ -432,11 +432,14 @@ sub translate_why_unselected {
sub translate_why_unselected_one {
my ($urpm, $state, $fullname) = @_;
- my $rb = $state->{rejected}{$fullname}{backtrack};
+ my $obj = $state->{rejected}{$fullname};
+ my $rb = $obj->{backtrack};
my @froms = keys %{$rb->{closure} || {}};
my @unsatisfied = @{$rb->{unsatisfied} || []};
+ my @conflicts = keys(%$rb) ? () : keys %{$obj->{closure}};
my $s = join ", ", (
(map { N("due to missing %s", $_) } @froms),
+ (map { N("due to already installed %s", $_) } @conflicts),
(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