From 963b7fc8463a3457c53809dcf56bb82f9fb4f411 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 13 Feb 2020 12:03:36 +0100 Subject: [PATCH] Bug 17532: Make koha-shell propagate the error code Context: I am trying to make koha-misc4dev stop when something wrong happens. Basically we do not want the process to continue of the DB has not been populated correctly. It will make the errors easier to catch. The issue: Say a script that will return an error (die in perl for an easy example), koha-shell will not return the 255 error code, but 0 instead. The caller cannot know something wrong happened The solution is to propagate the error and make koha-shell return the same error code as the command it executed An example: === t.pl === die('something wrong'); % perl t.pl;echo $? something wrong at t.pl line 1. 255 % sudo koha-shell kohadev -p -c 'perl xxx.pl' ; echo $? something wrong at xxx.pl line 1. 0 --- debian/scripts/koha-shell | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/scripts/koha-shell b/debian/scripts/koha-shell index 926c04df63..199453ab29 100755 --- a/debian/scripts/koha-shell +++ b/debian/scripts/koha-shell @@ -63,6 +63,8 @@ elsif ( $? & 127 ) { ( $? & 127 ), ( $? & 128 ) ? 'with' : 'without'; } +exit $? >> 8; + sub show_help { my ( $err, $msg ) = @_; -- 2.11.0