diff options
author | J Pipkin <j@dawnrazor.net> | 2013-01-12 07:14:20 -0600 |
---|---|---|
committer | J Pipkin <j@dawnrazor.net> | 2013-01-12 07:14:20 -0600 |
commit | 32abf3c7e9183cfe79019c748e588496722f7426 (patch) | |
tree | 7d9cd861e15595abebdda688fb6066e82febba62 /sboupgrade | |
parent | b2a26f795d32e398bfc3dbfc13882419bd3ba929 (diff) | |
parent | f177c4e5c4311e696373c77e593df452c7602d13 (diff) | |
download | sbotools2-32abf3c7e9183cfe79019c748e588496722f7426.tar.xz |
Merge branch 'exit_ask', fixes #41, fixes #37
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; +} |