kernel install hooks #3

Open
cybik wants to merge 1 commits from cybik/booster:main into main
3 changed files with 11 additions and 0 deletions
Showing only changes of commit 000b0dbf19 - Show all commits

View File

@ -13,5 +13,7 @@ install:
install -Dp -m755 ./init/init "$(DESTDIR)/usr/lib/booster/init" install -Dp -m755 ./init/init "$(DESTDIR)/usr/lib/booster/init"
install -Dp -m755 ./update-initramfs "$(DESTDIR)/usr/lib/booster/update-initramfs" install -Dp -m755 ./update-initramfs "$(DESTDIR)/usr/lib/booster/update-initramfs"
install -Dp -m755 ./packaging/pikaos/regenerate_uki "$(DESTDIR)/usr/sbin/regenerate_uki" install -Dp -m755 ./packaging/pikaos/regenerate_uki "$(DESTDIR)/usr/sbin/regenerate_uki"
install -Dp -m755 ./packaging/pikaos/regenerate_uki-prerm "$(DESTDIR)/etc/kernel/prerm.d/regenerate_uki"
install -Dp -m755 ./packaging/pikaos/regenerate_uki-postinst "$(DESTDIR)/etc/kernel/postinst.d/zzz-regenerate_uki"

These gonna run even when someone doesn't care about generating a uki?

These gonna run even when someone doesn't care about generating a uki?
Outdated
Review

Yes, but they're gonna fail through. I adjusted the scripts so that if the person does not have the required packages and executables (jq, sbctl) are not present, then the whole thing just falls through silently.

Yes, but they're gonna fail through. I adjusted the scripts so that if the person does *not* have the required packages and executables (jq, sbctl) are *not* present, then the whole thing just falls through silently.
Outdated
Review

And one small bit to add.

The postinst script has a line specifically dealing with this:

[ "$( ${SBCTL_COMMAND} status --json | ${JQ_COMMAND} .installed )" == "true" ] || { exit 0; }

In short, even if sbctl is installed, unless sbctl reports itself as installed, the scripts don't do anything. If, however, sbctl reports itself as installed, the scripts will assume the user will want to leverage auto-UKIfication as well as automatic secureboot UKI signing.

And one small bit to add. The `postinst` script has a line *specifically* dealing with this: ``` [ "$( ${SBCTL_COMMAND} status --json | ${JQ_COMMAND} .installed )" == "true" ] || { exit 0; } ``` In short, even if `sbctl` is installed, unless sbctl reports itself as ***installed***, the scripts don't do anything. ***If***, however, `sbctl` reports itself as installed, the scripts **will** assume the user will want to leverage auto-UKIfication as well as automatic secureboot UKI signing.
install -Dp -m755 ./packaging/pikaos/regenerate_uki-pkexec "$(DESTDIR)/usr/bin/regenerate_uki" install -Dp -m755 ./packaging/pikaos/regenerate_uki-pkexec "$(DESTDIR)/usr/bin/regenerate_uki"
install -Dp -m755 ./booster.yml "$(DESTDIR)/etc/booster.yaml" install -Dp -m755 ./booster.yml "$(DESTDIR)/etc/booster.yaml"

8
debian/changelog vendored
View File

@ -1,3 +1,11 @@
booster (0.11.7.ferreogit-101pika1) pika; urgency=medium
* Kernel autoscripts for UKI regeneration
* Adjustments making the process fail silently
* Move optional dependencies to recommends
-- cybik <root@cybik.moe> Sat, 21 Sep 2024 15:11:00 -0700
booster (0.11.6.ferreogit-101pika1) pika; urgency=medium booster (0.11.6.ferreogit-101pika1) pika; urgency=medium
* UKI fixes * UKI fixes

1
debian/control vendored
View File

@ -10,6 +10,7 @@ Rules-Requires-Root: no
Package: booster Package: booster
Architecture: linux-any Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends}, libdevmapper-dev, libdevmapper-event1.02.1, libdevmapper1.02.1, busybox, console-data, lvm2, pciutils Depends: ${misc:Depends}, ${shlibs:Depends}, libdevmapper-dev, libdevmapper-event1.02.1, libdevmapper1.02.1, busybox, console-data, lvm2, pciutils
Recommends: jq, systemd-ukify, systemd-boot-efi
Replaces: booster-temp Replaces: booster-temp
Conflicts: booster-temp Conflicts: booster-temp
Description: booster initramfs generation Description: booster initramfs generation