From e86b791681700788121e716c2fb4b1f13dcd9c54 Mon Sep 17 00:00:00 2001 From: jbtrystram Date: Tue, 3 Sep 2024 09:34:18 +0200 Subject: [PATCH] packaging: add a systemd unit to run every boot This enables bootloader updates automatically on boot. Note that the service is intentionally not enabled by default, it should be up to the distribution to add a systemd preset if auto-update for the bootloader is desired. Right now RAID setups are not supported but see [1] for an example in coreos. [1] https://github.com/coreos/fedora-coreos-config/pull/3042 --- contrib/packaging/bootupctl-update.service | 13 +++++++++++++ contrib/packaging/bootupd.spec | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 contrib/packaging/bootupctl-update.service diff --git a/contrib/packaging/bootupctl-update.service b/contrib/packaging/bootupctl-update.service new file mode 100644 index 00000000..71fda80f --- /dev/null +++ b/contrib/packaging/bootupctl-update.service @@ -0,0 +1,13 @@ +[Unit] +Description=Update Bootloader on boot +Documentation=https://github.com/coreos/bootupd +ConditionPathExists=/dev/disk/by-label/EFI-SYSTEM + +[Service] +Type=oneshot +ExecStart=/usr/bin/bootupctl update +RemainAfterExit=yes +MountFlags=slave + +[Install] +WantedBy=multi-user.target diff --git a/contrib/packaging/bootupd.spec b/contrib/packaging/bootupd.spec index ebe3c2d3..34241dbf 100644 --- a/contrib/packaging/bootupd.spec +++ b/contrib/packaging/bootupd.spec @@ -21,6 +21,7 @@ BuildRequires: cargo BuildRequires: git BuildRequires: openssl-devel BuildRequires: systemd-devel +BuildRequires: systemd-rpm-macros %description %{summary} @@ -31,6 +32,7 @@ BuildRequires: systemd-devel %{_bindir}/bootupctl %{_libexecdir}/bootupd %{_prefix}/lib/bootupd/grub2-static/ +%{_unitdir}/bootupctl-update.service %prep %autosetup -n %{crate}-%{version} -p1 -Sgit @@ -53,4 +55,4 @@ make install-grub-static DESTDIR=%{?buildroot} INSTALL="%{__install} -p" %changelog * Tue Oct 18 2022 Colin Walters - 0.2.8-3 -- Dummy changelog \ No newline at end of file +- Dummy changelog