diff options
Diffstat (limited to 'perl-install/install/pkgs.pm')
-rw-r--r-- | perl-install/install/pkgs.pm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm index cf35328d4..b01ae5165 100644 --- a/perl-install/install/pkgs.pm +++ b/perl-install/install/pkgs.pm @@ -371,6 +371,19 @@ sub unselectAllPackages { _resolve_requested_and_check($packages, $packages->{state}, \%keep_selected); } + +my (@errors, $push_errors); +sub start_pushing_error() { + $push_errors = 1; +} + +sub popup_errors() { + if (@errors) { + $::o->ask_warn(undef, N("An error occurred:") . "\n\n" . join("\n", @errors)); + } + undef $push_errors; +} + sub empty_packages { my ($o_keep_unrequested_dependencies) = @_; my $packages = urpm->new; @@ -389,6 +402,10 @@ sub empty_packages { }; $packages->{error} = sub { log::l("urpmi error: $_[0]"); + if ($push_errors) { + push @errors, @_; + return; + } $::o->ask_warn(undef, N("An error occurred:") . "\n\n" . $_[0]); }; $packages->{root} = $::prefix; |