summaryrefslogtreecommitdiff
path: root/src/kernel-install
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-05-26 20:56:12 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-05-26 21:46:58 +0200
commit5aa285b437d14c809649beaa2b47341b0de4a67d (patch)
tree21be0ee09ff7fb91b5a5426dab90c142b7bd9989 /src/kernel-install
parent97e7d4945dbf8140b89a92212bcfb8c80c01dd47 (diff)
downloadsystemd-5aa285b437d14c809649beaa2b47341b0de4a67d.tar.gz
kernel-install: if a plugin fails, return error immediately
Since the first version in 81516adcb71a47837544340f72eb8ee810274119, kernel-install would "gather" a return value by summing the exit codes of the plugins… This makes no sense, because those are not additive values. Let's just break off immediately. We now implement cleanup via trap, so if we break, we should leave no garbage behind.
Diffstat (limited to 'src/kernel-install')
-rwxr-xr-xsrc/kernel-install/kernel-install.in4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/kernel-install/kernel-install.in b/src/kernel-install/kernel-install.in
index 5f88ac2490..9296bfcd8e 100755
--- a/src/kernel-install/kernel-install.in
+++ b/src/kernel-install/kernel-install.in
@@ -336,7 +336,7 @@ case "$COMMAND" in
err=$?
[ $err -eq $skip_remaining ] && break
- ret=$(( ret + err ))
+ [ $err -ne 0 ] && exit $err
done
;;
@@ -346,7 +346,7 @@ case "$COMMAND" in
"$f" remove "$KERNEL_VERSION" "$ENTRY_DIR_ABS"
err=$?
[ $err -eq $skip_remaining ] && break
- ret=$(( ret + err ))
+ [ $err -ne 0 ] && exit $err
done
if [ "$MAKE_ENTRY_DIR_ABS" -eq 0 ]; then