diff options
author | Sebastian Wiesner | 2021-03-15 15:16:48 +0100 |
---|---|---|
committer | Sebastian Wiesner | 2021-03-15 15:16:48 +0100 |
commit | 6171bb55441a9ce3d8b57bca5bd1c7c40ddb2f9c (patch) | |
tree | 0d960caadb9805e1651f86b4c6f69c401b0ceb87 | |
download | aur-6171bb55441a9ce3d8b57bca5bd1c7c40ddb2f9c.tar.gz |
Rename to publish to AUR
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | 60-dracut-remove.hook | 10 | ||||
-rw-r--r-- | 90-dracut-install.hook | 13 | ||||
-rw-r--r-- | PKGBUILD | 31 | ||||
-rwxr-xr-x | dracut-install | 32 | ||||
-rwxr-xr-x | dracut-remove | 9 |
7 files changed, 122 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..7848d9e2d150 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,20 @@ +pkgbase = dracut-hook-uefi-systemd + pkgdesc = Install/remove hooks for dracut unified kernel images for systemd-boot + pkgver = 0.4.3 + pkgrel = 1 + url = https://dracut.wiki.kernel.org/index.php/Main_Page + arch = any + license = BSD + depends = dracut + conflicts = dracut-hook + source = dracut-install + source = dracut-remove + source = 90-dracut-install.hook + source = 60-dracut-remove.hook + sha256sums = e2412aa41712627869d67798a4acf586049d4dc2e921bd28637176f639e0d24d + sha256sums = 2be20c3d09c57fe9e453fd920aadf38677f6f6702fc0c6bd17f0f411c82575be + sha256sums = 492d51df1234b75a32e7dff63c86ee104a7d844a408070e1c4da5dc8ab53be6f + sha256sums = 054dac9f1d55029a922ff05c3064e54d25790c7a18d2b598edc58ef3d295cba1 + +pkgname = dracut-hook-uefi-systemd + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..6748987a3d9d --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +pkg +src +*.tar.gz +*.zip +*.tar.xz +*.patch +*.dat.bz2
\ No newline at end of file diff --git a/60-dracut-remove.hook b/60-dracut-remove.hook new file mode 100644 index 000000000000..80a9c1e4985e --- /dev/null +++ b/60-dracut-remove.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Remove +Target = usr/lib/modules/*/pkgbase + +[Action] +Description = Removing linux initcpios... +When = PreTransaction +Exec = /usr/share/libalpm/scripts/dracut-remove +NeedsTargets diff --git a/90-dracut-install.hook b/90-dracut-install.hook new file mode 100644 index 000000000000..d00ed2fdb4b5 --- /dev/null +++ b/90-dracut-install.hook @@ -0,0 +1,13 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/modules/*/pkgbase +Target = usr/lib/dracut/* +Target = usr/lib/systemd/systemd + +[Action] +Description = Updating linux initcpios... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/dracut-install +NeedsTargets diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..3f93ebfd4159 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,31 @@ +# Maintainer: Sebastian Wiesner <sebastian@swsnr.de> +# Maintainer: Franklyn Tackitt <franklyn@tackitt.net> +# Maintainer: Kevin Del Castillo <quebin31@gmail.com> + +pkgname=dracut-hook-uefi-systemd +pkgver=0.4.3 +pkgrel=1 +pkgdesc="Install/remove hooks for dracut unified kernel images for systemd-boot" +url=https://dracut.wiki.kernel.org/index.php/Main_Page +arch=('any') +license=('BSD') +depends=('dracut') +noextract=() +conflicts=(dracut-hook) +source=( + "dracut-install" + "dracut-remove" + "90-dracut-install.hook" + "60-dracut-remove.hook" +) +sha256sums=('e2412aa41712627869d67798a4acf586049d4dc2e921bd28637176f639e0d24d' + '2be20c3d09c57fe9e453fd920aadf38677f6f6702fc0c6bd17f0f411c82575be' + '492d51df1234b75a32e7dff63c86ee104a7d844a408070e1c4da5dc8ab53be6f' + '054dac9f1d55029a922ff05c3064e54d25790c7a18d2b598edc58ef3d295cba1') + +package() { + install -Dm644 "${srcdir}/90-dracut-install.hook" "${pkgdir}/usr/share/libalpm/hooks/90-dracut-install.hook" + install -Dm644 "${srcdir}/60-dracut-remove.hook" "${pkgdir}/usr/share/libalpm/hooks/60-dracut-remove.hook" + install -Dm755 "${srcdir}/dracut-install" "${pkgdir}/usr/share/libalpm/scripts/dracut-install" + install -Dm755 "${srcdir}/dracut-remove" "${pkgdir}/usr/share/libalpm/scripts/dracut-remove" +} diff --git a/dracut-install b/dracut-install new file mode 100755 index 000000000000..6f5e4e4c70e3 --- /dev/null +++ b/dracut-install @@ -0,0 +1,32 @@ +#!/bin/bash -e + +kernels=() +dracut_update=0 + +while read -r line; do + if [[ $line != 'usr/lib/modules/'+([^/])'/pkgbase' ]]; then + dracut_update=1 # Dracut files have been updated + continue + fi + + read -r pkgbase < "/${line}" + kernels+=("${pkgbase}") +done + +if (( dracut_update )); then + kernels=() + for file in /lib/modules/*/pkgbase; do + if read -r pkgbase &> /dev/null < "$file"; then + kernels+=("${pkgbase}") + fi + done +fi + +for kernel in "${kernels[@]}"; do + path="$(grep -lE "^${kernel}\$" /usr/lib/modules/*/pkgbase)" + version=$(basename "${path%/pkgbase}") + read -r pkgbase < "$path" + + echo ":: Building unified kernel image for $kernel-$version" + dracut -f --uefi --kver "${version}" +done diff --git a/dracut-remove b/dracut-remove new file mode 100755 index 000000000000..8944d1c040d0 --- /dev/null +++ b/dracut-remove @@ -0,0 +1,9 @@ +#!/bin/bash -e + +efi="$(bootctl -p)" +while read -r line; do + if [[ "$line" == 'usr/lib/modules/'+([^/])'/pkgbase' ]]; then + kver="$(basename "$(dirname "${line}")")" + rm -v "$efi/EFI/Linux/linux-${kver}-$(cat /etc/machine-id)"-*.efi + fi +done |