diff options
author | Sergey Shatunov | 2023-02-14 01:10:10 +0800 |
---|---|---|
committer | Sergey Shatunov | 2023-02-14 01:10:10 +0800 |
commit | ffdd8eb62b94aebb49fe824533e6a8283db6f949 (patch) | |
tree | 1b614572b8089a35becac0a38cab33900e12293f | |
parent | d92e148c127ed7c44e5fe7b1b2313fd8afc782d5 (diff) | |
download | aur-dracut-uefi-hook.tar.gz |
Ensure ESP is mounted before upgrade
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | 10-dracut-uefi-pre-install.hook | 16 | ||||
-rw-r--r-- | PKGBUILD | 14 | ||||
-rwxr-xr-x[-rw-r--r--] | dracut-uefi-install | 0 | ||||
-rwxr-xr-x | dracut-uefi-pre-install | 7 | ||||
-rwxr-xr-x[-rw-r--r--] | dracut-uefi-remove | 0 |
6 files changed, 38 insertions, 5 deletions
@@ -1,6 +1,6 @@ pkgbase = dracut-uefi-hook pkgdesc = Install/update/removal hooks for dracut unifed uefi image generation - pkgver = 6 + pkgver = 7 pkgrel = 1 url = https://aur.archlinux.org/packages/dracut-uefi-hook/ arch = any @@ -12,13 +12,17 @@ pkgbase = dracut-uefi-hook provides = dracut-hook conflicts = dracut-hook-uefi backup = etc/dracut-uefi-hook.conf + source = 10-dracut-uefi-pre-install.hook source = 90-dracut-uefi-install.hook source = 60-dracut-uefi-remove.hook + source = dracut-uefi-pre-install source = dracut-uefi-install source = dracut-uefi-remove source = dracut-uefi-hook.conf + sha256sums = 757c1df6fae821ce9efb3fcc6f710951486042d9b1d993eccdfd9cf6cb491bf3 sha256sums = 7c6aae6a733582fd16852e949565493bb6af1a555ab755f1bf86b136df74244c sha256sums = e2a04362ed1b0d462a33444921c5e15e4a82ed34f9848b4fbad554e51fd10207 + sha256sums = 0d22ae4428965a65b2d392d8b71486ad591c81f760c929ce15e7f2c908afe875 sha256sums = eaafe8afd0727b24861d4f98702294d9ab8c0658f5d62c24aa3858b4b7e892dd sha256sums = 8af469ab5647cd15c9370b4c44af422df99887105aca30531c0d4c7b92889f9d sha256sums = 86a65fe822bff87a51e7fece85159a62a77a8f71f015d6400f6693d44dba9464 diff --git a/10-dracut-uefi-pre-install.hook b/10-dracut-uefi-pre-install.hook new file mode 100644 index 000000000000..7e6f75e0a4c3 --- /dev/null +++ b/10-dracut-uefi-pre-install.hook @@ -0,0 +1,16 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/modules/*/pkgbase +Target = usr/lib/dracut/* +Target = usr/lib/systemd/systemd +Target = usr/lib/systemd/boot/efi/*.efi.stub +Target = usr/share/libalpm/hooks/90-dracut-uefi-install.hook +Target = usr/share/libalpm/scripts/dracut-uefi-install +Target = usr/src/*/dkms.conf + +[Action] +Description = Ensure ESP is mounted... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/dracut-uefi-pre-install @@ -1,20 +1,24 @@ # Maintainer: Sergey Shatunov <me@prok.pw> pkgname=dracut-uefi-hook -pkgver=6 +pkgver=7 pkgrel=1 pkgdesc="Install/update/removal hooks for dracut unifed uefi image generation" url="https://aur.archlinux.org/packages/dracut-uefi-hook/" arch=(any) license=('MIT') depends=(dracut systemd binutils util-linux) -source=('90-dracut-uefi-install.hook' +source=('10-dracut-uefi-pre-install.hook' + '90-dracut-uefi-install.hook' '60-dracut-uefi-remove.hook' + 'dracut-uefi-pre-install' 'dracut-uefi-install' 'dracut-uefi-remove' 'dracut-uefi-hook.conf') -sha256sums=('7c6aae6a733582fd16852e949565493bb6af1a555ab755f1bf86b136df74244c' +sha256sums=('757c1df6fae821ce9efb3fcc6f710951486042d9b1d993eccdfd9cf6cb491bf3' + '7c6aae6a733582fd16852e949565493bb6af1a555ab755f1bf86b136df74244c' 'e2a04362ed1b0d462a33444921c5e15e4a82ed34f9848b4fbad554e51fd10207' + '0d22ae4428965a65b2d392d8b71486ad591c81f760c929ce15e7f2c908afe875' 'eaafe8afd0727b24861d4f98702294d9ab8c0658f5d62c24aa3858b4b7e892dd' '8af469ab5647cd15c9370b4c44af422df99887105aca30531c0d4c7b92889f9d' '86a65fe822bff87a51e7fece85159a62a77a8f71f015d6400f6693d44dba9464') @@ -23,9 +27,11 @@ provides=(dracut-hook) conflicts=(dracut-hook-uefi) package() { - install -Dm644 "${srcdir}/90-dracut-uefi-install.hook" "${pkgdir}/usr/share/libalpm/hooks/90-dracut-uefi-install.hook" + install -Dm644 "${srcdir}/10-dracut-uefi-pre-install.hook" "${pkgdir}/usr/share/libalpm/hooks/10-dracut-uefi-pre-install.hook" install -Dm644 "${srcdir}/60-dracut-uefi-remove.hook" "${pkgdir}/usr/share/libalpm/hooks/60-dracut-uefi-remove.hook" + install -Dm644 "${srcdir}/90-dracut-uefi-install.hook" "${pkgdir}/usr/share/libalpm/hooks/90-dracut-uefi-install.hook" install -Dm755 "${srcdir}/dracut-uefi-install" "${pkgdir}/usr/share/libalpm/scripts/dracut-uefi-install" install -Dm755 "${srcdir}/dracut-uefi-remove" "${pkgdir}/usr/share/libalpm/scripts/dracut-uefi-remove" + install -Dm755 "${srcdir}/dracut-uefi-pre-install" "${pkgdir}/usr/share/libalpm/scripts/dracut-uefi-pre-install" install -Dm644 "${srcdir}/dracut-uefi-hook.conf" "${pkgdir}/etc/dracut-uefi-hook.conf" } diff --git a/dracut-uefi-install b/dracut-uefi-install index f1f2429e1983..f1f2429e1983 100644..100755 --- a/dracut-uefi-install +++ b/dracut-uefi-install diff --git a/dracut-uefi-pre-install b/dracut-uefi-pre-install new file mode 100755 index 000000000000..d097b839b868 --- /dev/null +++ b/dracut-uefi-pre-install @@ -0,0 +1,7 @@ +#!/bin/bash -e + +ESP_PATH=$(bootctl --print-esp-path) + +# Trigger some IO on ESP path to be sure it's mounted by autofs if it's the case +# Otherwise upgrading systemd may cause ESP partition not mounted at the time dracut attempt to write new image +stat "$ESP_PATH" >/dev/null diff --git a/dracut-uefi-remove b/dracut-uefi-remove index def8722bb0e6..def8722bb0e6 100644..100755 --- a/dracut-uefi-remove +++ b/dracut-uefi-remove |