mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
packaging: Check for nonzero $? for command failure
In a few perl scripts (that happen to be for macOS), we check whether '$? >> 8' is zero to see whether a command failed. But the value of '$? >> 8' is just the exit code of the process. If it instead, for example, was killed by a signal, there is no exit code, and '$? >> 8' may not be accurate (the terminating signal is in '$? & 127'). We should check if $? is nonzero at all to see if an error happened. To avoid any possible issues, update all of our checks for command failure to check if $? is nonzero, instead of '$? >> 8'. In notarize.pl, print out the whole status in addition to the exit code, just to be clear in case the command somehow terminates from a signal. Change-Id: I07ed145fae45d0bdc77c1249cf4d89bd5ba5cc56 Reviewed-on: https://gerrit.openafs.org/15980 Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Cheyenne Wills <cwills@sinenomine.net> Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net> Tested-by: Andrew Deason <adeason@sinenomine.net> Reviewed-by: Andrew Deason <adeason@sinenomine.net>
This commit is contained in:
parent
e316a38ba9
commit
9ef6aac17a
@ -76,8 +76,7 @@ sub main
|
||||
if ($do_nothing == 0) {
|
||||
my @rmcmd = ('osascript', '-e', "do shell script \"/bin/rm -f @rmfiles; /bin/rmdir @rmdirs; /bin/rm -rf @rmpkg\" with administrator privileges");
|
||||
system @rmcmd;
|
||||
my $retcode = $? >> 8;
|
||||
if ($retcode != 0) {
|
||||
if ($? != 0) {
|
||||
print_warning ("Warning: There may have been a problem uninstalling\n");
|
||||
}
|
||||
}
|
||||
|
@ -82,8 +82,7 @@ sub main {
|
||||
"echo @rmpkg | xargs -n 1 /usr/sbin/pkgutil --forget\" " .
|
||||
"with administrator privileges' | tr '\\r' '\\n'";
|
||||
system $rmcmd;
|
||||
my $retcode = $? >> 8;
|
||||
if ($retcode != 0) {
|
||||
if ($? != 0) {
|
||||
print_warning ("Warning: There may have been a problem uninstalling\n");
|
||||
}
|
||||
}
|
||||
|
@ -63,10 +63,9 @@ sub check_prerequisites {
|
||||
|
||||
# Check if the given keychain-profile exists
|
||||
my $output = qx(xcrun notarytool history --keychain-profile "$profile" 2>&1);
|
||||
my $exitcode = $? >> 8;
|
||||
|
||||
if ($exitcode) {
|
||||
print(STDERR "error: $exitcode\n");
|
||||
if ($? != 0) {
|
||||
my $exitcode = $? >> 8;
|
||||
print(STDERR "error: exit code $exitcode (status $?)\n");
|
||||
print(STDERR $output);
|
||||
exit(1);
|
||||
}
|
||||
@ -86,10 +85,9 @@ sub process_package {
|
||||
# returns after submitting and processing the package, or times out if it
|
||||
# takes longer than 5 minutes
|
||||
my $output = qx(xcrun notarytool submit "$package" --keychain-profile "$profile" --wait --timeout 5m 2>&1);
|
||||
my $exitcode = $? >> 8;
|
||||
|
||||
if ($exitcode) {
|
||||
print(STDERR "error: $exitcode\n");
|
||||
if ($? != 0) {
|
||||
my $exitcode = $? >> 8;
|
||||
print(STDERR "error: exit code $exitcode (status $?)\n");
|
||||
print(STDERR $output);
|
||||
exit(1);
|
||||
}
|
||||
@ -120,10 +118,10 @@ sub notarize_package {
|
||||
print(STDOUT "notarize.pl: notarizing package...\n");
|
||||
|
||||
my $output = qx(xcrun stapler staple -v "$package" 2>&1);
|
||||
my $exitcode = $? >> 8;
|
||||
|
||||
if ($exitcode) {
|
||||
if ($? != 0) {
|
||||
my $exitcode = $? >> 8;
|
||||
print(STDERR "error: package could not be notarized (uuid: $uuid)\n");
|
||||
print(STDERR "error: exit code $exitcode (status $?)\n");
|
||||
print(STDERR $output);
|
||||
exit(1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user