diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 6 | ||||
-rwxr-xr-x | dracut-install | 25 | ||||
-rwxr-xr-x | dracut-remove | 2 |
4 files changed, 21 insertions, 18 deletions
@@ -1,6 +1,6 @@ pkgbase = dracut-hook pkgdesc = Install/remove hooks for dracut - pkgver = 0.5 + pkgver = 0.5.1 pkgrel = 1 url = https://dracut.wiki.kernel.org/index.php/Main_Page arch = any @@ -10,8 +10,8 @@ pkgbase = dracut-hook source = dracut-remove source = 90-dracut-install.hook source = 60-dracut-remove.hook - sha256sums = d33766c96859372ab72187b198e9cadf3ec5d95b30076d573d8f918f664a701c - sha256sums = 6230afb921dbf532b57f5f933fa38658a22c5262bdaf1951a6b431ea3dfeee84 + sha256sums = dd20e4dffadb510dbc00ea005a1bed3874c5d6026532240a841edad1aef4ec69 + sha256sums = b4f42374e4c8f05c0adc7acf3679b14b91f4eab6ac3b81e9de49314a65947ed8 sha256sums = de09e8e65837b189aec0a8c9a067143880faff14467a5573949f772f39c053b3 sha256sums = e79f8e9572c5d1af6052104eac7ff956754f7a191b52b16adf12b65a38e9b4ed @@ -3,7 +3,7 @@ # Contributor: Kevin Del Castillo <quebin31@gmail.com> pkgname=dracut-hook -pkgver=0.5 +pkgver=0.5.1 pkgrel=1 pkgdesc="Install/remove hooks for dracut" url=https://dracut.wiki.kernel.org/index.php/Main_Page @@ -16,8 +16,8 @@ source=( "90-dracut-install.hook" "60-dracut-remove.hook" ) -sha256sums=('d33766c96859372ab72187b198e9cadf3ec5d95b30076d573d8f918f664a701c' - '6230afb921dbf532b57f5f933fa38658a22c5262bdaf1951a6b431ea3dfeee84' +sha256sums=('dd20e4dffadb510dbc00ea005a1bed3874c5d6026532240a841edad1aef4ec69' + 'b4f42374e4c8f05c0adc7acf3679b14b91f4eab6ac3b81e9de49314a65947ed8' 'de09e8e65837b189aec0a8c9a067143880faff14467a5573949f772f39c053b3' 'e79f8e9572c5d1af6052104eac7ff956754f7a191b52b16adf12b65a38e9b4ed') diff --git a/dracut-install b/dracut-install index dc2ab57ded10..681461a02bbd 100755 --- a/dracut-install +++ b/dracut-install @@ -4,31 +4,34 @@ all=0 lines=() while read -r line; do - if [[ $line != */vmlinuz ]]; then + if [[ "${line}" != */vmlinuz ]]; then # triggers when it's a change to dracut files all=1 continue fi - pkgbase="$(<${line%/vmlinuz}/pkgbase)" - install -Dm644 "${line}" "/boot/vmlinuz-${pkgbase}" + lines+=("${line%/vmlinuz}") - lines+=(${line}) + pkgbase="$(<"${lines[-1]}/pkgbase")" + install -Dm644 "${line}" "/boot/vmlinuz-${pkgbase}" done if (( all )); then - lines=(/usr/lib/modules/*/vmlinuz) + lines=(/usr/lib/modules/*) fi for line in "${lines[@]}"; do - folder="${line%/vmlinuz}" + if ! pacman -Qqo "${line}/pkgbase" &> /dev/null; then + # if pkgbase does not belong to any package then skip this kernel + continue + fi - pkgbase="$(<${folder}/pkgbase)" - kver="${folder##*/}" + pkgbase="$(<"${line}/pkgbase")" + kver="${line##*/}" - echo ":: Building initramfs for $pkgbase ($kver)" - dracut --force --hostonly "/boot/initramfs-${pkgbase}.img" "${kver}" + echo ":: Building initramfs for ${pkgbase} (${kver})" + dracut --force --hostonly --no-hostonly-cmdline "/boot/initramfs-${pkgbase}.img" "${kver}" - echo ":: Building fallback initramfs for $pkgbase ($kver)" + echo ":: Building fallback initramfs for ${pkgbase} (${kver})" dracut --force --no-hostonly "/boot/initramfs-${pkgbase}-fallback.img" "${kver}" done diff --git a/dracut-remove b/dracut-remove index 6b1a4bd4997e..be3180b05891 100755 --- a/dracut-remove +++ b/dracut-remove @@ -1,7 +1,7 @@ #!/bin/bash -e while read -r line; do - if [[ $line == */pkgbase ]]; then + if [[ "${line}" == */pkgbase ]]; then read -r pkgbase < "/${line}" rm -f "/boot/vmlinuz-${pkgbase}" "/boot/initramfs-${pkgbase}.img" "/boot/initramfs-${pkgbase}-fallback.img" fi |