Skip to content

Commit

Permalink
91-sbctl.install: Unconditionally remove file from database
Browse files Browse the repository at this point in the history
This partially undoes 5106d1e, but
avoids that problem by ignoring non-zero exit statuses from
`sbctl remove-file`. That commit stopped the script from failing when
uninstalling a kernel where the UKI wasn't in sbctl's database. However,
it causes the UKI to never be removed from the database if UKI removal
is done by a script that runs before `91-sbctl.install`.

This is the case with systemd-ukify's `60-ukify.install` and systemd's
`90-uki-copy.install`. By the time that `91-sbctl.install` runs during
kernel removal, `90-uki-copy.install` will have already deleted the UKI.

Signed-off-by: Andrew Gunnerson <[email protected]>
  • Loading branch information
chenxiaolong committed Jul 31, 2024
1 parent 48a3109 commit 884d848
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions contrib/kernel-install/91-sbctl.install
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,8 @@ add)
sbctl sign "$IMAGE_FILE" 1>/dev/null
;;
remove)
if [ -e "$IMAGE_FILE" ]; then
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] &&
printf 'sbctl: Removing kernel %s from signing database\n' "$IMAGE_FILE"
sbctl remove-file "$IMAGE_FILE" 1>/dev/null
fi
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] &&
printf 'sbctl: Removing kernel %s from signing database\n' "$IMAGE_FILE"
sbctl remove-file "$IMAGE_FILE" 1>/dev/null || :
;;
esac

0 comments on commit 884d848

Please sign in to comment.