From 4cdfc872d003b1e78aa25ffacee66f8f1b0d82c1 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 16 Jun 2018 13:43:10 +0100 Subject: exit status: Fix dgit to use Debian::Dgit::ExitStatus Signed-off-by: Ian Jackson --- dgit | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/dgit b/dgit index 49350ee..c3b66f1 100755 --- a/dgit +++ b/dgit @@ -18,6 +18,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +END { $? = $Debian::Dgit::ExitStatus::desired // -1; }; +use Debian::Dgit::ExitStatus; + use strict; use Debian::Dgit qw(:DEFAULT :playground); @@ -236,7 +239,7 @@ END { } }; -sub badcfg { print STDERR "$us: invalid configuration: @_\n"; exit 12; } +sub badcfg { print STDERR "$us: invalid configuration: @_\n"; finish 12; } sub forceable_fail ($$) { my ($forceoptsl, $msg) = @_; @@ -254,7 +257,7 @@ sub forceing ($) { sub no_such_package () { print STDERR "$us: package $package does not exist in suite $isuite\n"; - exit 4; + finish 4; } sub deliberately ($) { @@ -559,7 +562,7 @@ END sub badusage { print STDERR "$us: @_\n", $helpmsg or die $!; - exit 8; + finish 8; } sub nextarg { @@ -572,7 +575,7 @@ sub pre_help () { } sub cmd_help () { print $helpmsg or die $!; - exit 0; + finish 0; } our $td = $ENV{DGIT_TEST_DUMMY_DIR} || "DGIT_TEST_DUMMY_DIR-unset"; @@ -3508,7 +3511,7 @@ sub fork_for_multisuite ($) { sub { @end = (); fetch(); - exit 0; + finish 0; }); # xxx collecte the ref here @@ -4535,7 +4538,7 @@ sub cmd_fetch { parseopts(); fetchpullargs(); my $multi_fetched = fork_for_multisuite(sub { }); - exit 0 if $multi_fetched; + finish 0 if $multi_fetched; fetch(); } @@ -4744,7 +4747,7 @@ sub i_resp_complete { i_cleanup(); printdebug "all done\n"; - exit 0; + finish 0; } sub i_resp_file ($) { @@ -5575,7 +5578,7 @@ sub quilt_check_splitbrain_cache ($$) { if (!stat "$maindir_gitcommon/logs/refs/$splitbraincache") { $! == ENOENT or die $!; printdebug ">(no reflog)\n"; - exit 0; + finish 0; } exec @cmd; die $!; } @@ -5828,7 +5831,7 @@ sub quilt_fixup_editor () { } I2->error and die $!; close O or die $1; - exit 0; + finish 0; } sub maybe_apply_patches_dirtily () { @@ -6518,7 +6521,7 @@ sub cmd_setup_new_tree { sub cmd_version { print "dgit version $our_version\n" or die $!; - exit 0; + finish 0; } our (%valopts_long, %valopts_short); @@ -6870,7 +6873,7 @@ print STDERR "DAMP RUN - WILL MAKE LOCAL (UNSIGNED) CHANGES\n" if $dryrun_level == 1; if (!@ARGV) { print STDERR $helpmsg or die $!; - exit 8; + finish 8; } $cmd = $subcommand = shift @ARGV; $cmd =~ y/-/_/; @@ -6884,3 +6887,5 @@ git_slurp_config(); my $fn = ${*::}{"cmd_$cmd"}; $fn or badusage "unknown operation $cmd"; $fn->(); + +finish 0; -- cgit v1.2.3