diff options
Diffstat (limited to 'sboupgrade')
-rwxr-xr-x | sboupgrade | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -192,7 +192,11 @@ unless ($force) { my (@temp_queue, %commands, %options); FIRST: for my $sbo (@$upgrade_queue) { unless ($non_int) { - my ($cmds, $opts) = user_prompt($sbo, $locations{$sbo}); + my ($cmds, $opts, $exit) = user_prompt($sbo, $locations{$sbo}); + if ($exit) { + warn "Unable to open README for $sbo.\n"; + exit $exit; + } if ($cmds) { next FIRST if $cmds eq 'N'; } @@ -213,7 +217,7 @@ unless ($non_int) { exit 0 unless <STDIN> =~ /^[Yy\n]/; } -my $failures = process_sbos( +my ($failures, $exit) = process_sbos( TODO => $upgrade_queue, CMDS => \%commands, OPTS => \%options, @@ -222,7 +226,12 @@ my $failures = process_sbos( NOINSTALL => $no_install, NOCLEAN => $noclean, DISTCLEAN => $distclean, + NON_INT => $non_int, ); print_failures($failures); -exit keys %$failures > 0 ? 1 : 0; +if ($exit) { + exit $exit; +} else { + exit 0; +} |