summaryrefslogtreecommitdiffstats
path: root/urpm/main_loop.pm
diff options
context:
space:
mode:
Diffstat (limited to 'urpm/main_loop.pm')
-rw-r--r--urpm/main_loop.pm12
1 files changed, 9 insertions, 3 deletions
diff --git a/urpm/main_loop.pm b/urpm/main_loop.pm
index 6491dab0..0b93be47 100644
--- a/urpm/main_loop.pm
+++ b/urpm/main_loop.pm
@@ -252,13 +252,19 @@ $callbacks->{completed} and $callbacks->{completed}->();
#- keep a track of error code.
my $exit_code = 0;
-if (values %error_sources) {
- $callbacks->{missing_files_summary} and $callbacks->{missing_files_summary}->(\%error_sources);
+if (my @missing = grep { $error_sources{$_} eq 'missing' } keys %error_sources) {
+ $callbacks->{missing_files_summary} and $callbacks->{missing_files_summary}->({ map { $_ => $_ } @missing });
#- Warning : the following message is parsed in urpm::parallel_*
print N("Installation failed, some files are missing:\n%s\nYou may want to update your urpmi database",
- join "\n", map { s|([^:]*://[^/:\@]*:)[^/:\@]*(\@.*)|$1xxxx$2|; " $_" } values %error_sources), "\n";
+ join "\n", map { " " . urpm::download::hide_password($_) } @missing), "\n";
$exit_code = 10;
}
+if (my @bad = grep { $error_sources{$_} eq 'bad' } keys %error_sources) {
+ $callbacks->{bad_rpms} and $callbacks->{bad_rpms}->(@bad);
+ print N("Installation failed, bad rpms:\n%s",
+ join "\n", map { " " . urpm::download::hide_password($_) } @bad), "\n";
+ $exit_code = 11;
+}
if ($nok) {
$callbacks->{trans_error_summary} and $callbacks->{trans_error_summary}->($nok, \@errors);
$nok > 1 and print P("%d installation transaction failed",