diff --git a/pacman-hook-kernel-install/.SRCINFO b/pacman-hook-kernel-install/.SRCINFO index 2fa7240..1a2f15b 100644 --- a/pacman-hook-kernel-install/.SRCINFO +++ b/pacman-hook-kernel-install/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = pacman-hook-kernel-install pkgdesc = Pacman hooks for kernel-install. pkgver = 0.16.0 - pkgrel = 1 + pkgrel = 2 url = https://man.archlinux.org/man/kernel-install.8 arch = any license = GPL @@ -10,8 +10,8 @@ pkgbase = pacman-hook-kernel-install source = 90-kernel-install-add.hook source = 40-kernel-install-remove.hook source = kernel-install.sh - sha256sums = e4c08f21a599e299f16df5be6c47436be459786ad471ccd4f5cd55bda5e90f81 - sha256sums = 37c0ef6d0a38f526645234de6f35bcd6bab5496412c1a151cb3162f89cebdff8 - sha256sums = 0ace09a2fe4a4d49bb1767545740297cd03c803ce52bb48b2d72913b6013d49f + sha256sums = a6486c200c21c8b60b3340c0611cdbf16ca2deee6e39f219e20e6987ff983ad4 + sha256sums = a0751e7973b1e8e282192258c544202988ed3a505420d5850861524e89b33eb5 + sha256sums = 91a2ba19a3dcef3f99fd846d3b92c0fdf769eca4e10d1e2eb657e5696bfe6944 pkgname = pacman-hook-kernel-install diff --git a/pacman-hook-kernel-install/40-kernel-install-remove.hook b/pacman-hook-kernel-install/40-kernel-install-remove.hook index 4fb81d8..f72407d 100644 --- a/pacman-hook-kernel-install/40-kernel-install-remove.hook +++ b/pacman-hook-kernel-install/40-kernel-install-remove.hook @@ -1,29 +1,10 @@ [Trigger] Type = Path -Operation = Upgrade Operation = Remove Target = usr/lib/modules/*/vmlinuz -[Trigger] -Type = Path -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/lib/initcpio/* -Target = usr/lib/initcpio/*/* -Target = usr/lib/firmware/* -Target = usr/lib/modules/*/extramodules/* -Target = usr/src/*/dkms.conf -Target = usr/lib/booster/* -Target = usr/lib/dracut/* -Target = usr/lib/dracut/*/* -Target = usr/lib/dracut/*/*/* -Target = usr/lib/kernel/* -Target = usr/lib/kernel/*/* -Target = boot/*-ucode.img - [Action] Description = Removing kernel and initrd using kernel-install... -When = PostTransaction +When = PreTransaction Exec = /usr/share/libalpm/scripts/kernel-install remove NeedsTargets diff --git a/pacman-hook-kernel-install/90-kernel-install-add.hook b/pacman-hook-kernel-install/90-kernel-install-add.hook index bc480da..e4e5cbb 100644 --- a/pacman-hook-kernel-install/90-kernel-install-add.hook +++ b/pacman-hook-kernel-install/90-kernel-install-add.hook @@ -10,16 +10,12 @@ Operation = Install Operation = Upgrade Operation = Remove Target = usr/lib/initcpio/* -Target = usr/lib/initcpio/*/* Target = usr/lib/firmware/* -Target = usr/lib/modules/*/extramodules/* +Target = usr/lib/modules/*/extramodules/ Target = usr/src/*/dkms.conf Target = usr/lib/booster/* Target = usr/lib/dracut/* -Target = usr/lib/dracut/*/* -Target = usr/lib/dracut/*/*/* Target = usr/lib/kernel/* -Target = usr/lib/kernel/*/* Target = boot/*-ucode.img [Action] diff --git a/pacman-hook-kernel-install/PKGBUILD b/pacman-hook-kernel-install/PKGBUILD index 81c82cc..594c545 100644 --- a/pacman-hook-kernel-install/PKGBUILD +++ b/pacman-hook-kernel-install/PKGBUILD @@ -4,7 +4,7 @@ pkgname=pacman-hook-kernel-install pkgver=0.16.0 -pkgrel=1 +pkgrel=2 pkgdesc="Pacman hooks for kernel-install." url='https://man.archlinux.org/man/kernel-install.8' arch=('any') @@ -23,6 +23,6 @@ package() { } # sums -sha256sums=('e4c08f21a599e299f16df5be6c47436be459786ad471ccd4f5cd55bda5e90f81' - '37c0ef6d0a38f526645234de6f35bcd6bab5496412c1a151cb3162f89cebdff8' - '0ace09a2fe4a4d49bb1767545740297cd03c803ce52bb48b2d72913b6013d49f') +sha256sums=('a6486c200c21c8b60b3340c0611cdbf16ca2deee6e39f219e20e6987ff983ad4' + 'a0751e7973b1e8e282192258c544202988ed3a505420d5850861524e89b33eb5' + '91a2ba19a3dcef3f99fd846d3b92c0fdf769eca4e10d1e2eb657e5696bfe6944') diff --git a/pacman-hook-kernel-install/kernel-install.sh b/pacman-hook-kernel-install/kernel-install.sh index e1f3cf8..91409a1 100644 --- a/pacman-hook-kernel-install/kernel-install.sh +++ b/pacman-hook-kernel-install/kernel-install.sh @@ -22,16 +22,17 @@ while read -r path; do ;; *) all_kernels=1 + break; ;; esac done -((all_kernels)) && for file in usr/lib/modules/*/vmlinuz; do - pacman -Qqo "$file" 1>/dev/null 2>/dev/null && - add_file "$file" -done - -for kver in "${!versions[@]}"; do +if ((all_kernels)); then + kernel-install add-all +else + for kver in "${!versions[@]}"; do kimage="/usr/lib/modules/$kver/vmlinuz" + [[ ! -e "$kimage" ]] && continue kernel-install "$@" "$kver" "$kimage" || true -done + done +fi