diff options
author | Francois Pons <fpons@mandriva.com> | 2003-01-10 16:35:31 +0000 |
---|---|---|
committer | Francois Pons <fpons@mandriva.com> | 2003-01-10 16:35:31 +0000 |
commit | 77bc34a182f5994e8fdb3da66ce8216afa3af4e2 (patch) | |
tree | 43200454557ca87bf1970fb0393d45e4250ff48c /urpmi | |
parent | 2c1f28cda9eb146bfabc7b679be7ca7f11e53b83 (diff) | |
download | urpmi-77bc34a182f5994e8fdb3da66ce8216afa3af4e2.tar urpmi-77bc34a182f5994e8fdb3da66ce8216afa3af4e2.tar.gz urpmi-77bc34a182f5994e8fdb3da66ce8216afa3af4e2.tar.bz2 urpmi-77bc34a182f5994e8fdb3da66ce8216afa3af4e2.tar.xz urpmi-77bc34a182f5994e8fdb3da66ce8216afa3af4e2.zip |
4.2-5mdk
Diffstat (limited to 'urpmi')
-rwxr-xr-x | urpmi | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -386,7 +386,32 @@ if (%{$state->{ask_unselect} || {}}) { } if (%{$state->{ask_remove} || {}}) { unless ($auto) { - my $list = join "\n", sort { $a cmp $b } keys %{$state->{ask_remove}}; + my $list = join "\n", map { my ($from) = keys %{$state->{ask_remove}{$_}{closure}}; + my ($whyk) = keys %{$state->{ask_remove}{$_}{closure}{$from}}; + my ($whyv) = $state->{ask_remove}{$_}{closure}{$from}{$whyk}; + my $frompkg = $urpm->{depslist}[$from]; + my $s; + for ($whyk) { + /old_requested/ and + $s .= _("in order to install %s", $frompkg ? $frompkg->fullname : $from); + /unsatisfied/ and do { + foreach (@$whyv) { + $s and $s .= ', '; + if (/([^\[\s]*)(?:\[\*\])?(?:\[|\s+)([^\]]*)\]?$/) { + $s .= _("due to unsatisfied %s", "$1 $2"); + } else { + $s .= _("due to missing %s", $_); + } + } + }; + /conflicts/ and + $s .= _("due to conflicts with %s", $whyv); + /unrequested/ and + $s .= _("unrequested"); + } + #- now insert the reason if available. + $_ . ($s ? " ($s)" : ''); + } sort { $a cmp $b } keys %{$state->{ask_remove}}; my $msg = _("The following packages have to be removed for others to be upgraded:\n%s\ndo you agree ?", $list); if ($X) { my $ok = _("Ok"); |