summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--60-kernel-install-remove.hook24
-rw-r--r--90-kernel-install-add.hook24
-rw-r--r--PKGBUILD8
-rw-r--r--kernel-install.sh34
5 files changed, 45 insertions, 53 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e17b9eb4239c..deec118aca56 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = pacman-hook-kernel-install
pkgdesc = Pacman hooks for kernel-install.
- pkgver = 0.11.0
+ pkgver = 0.12.0
pkgrel = 1
url = https://man.archlinux.org/man/kernel-install.8
arch = any
@@ -10,8 +10,8 @@ pkgbase = pacman-hook-kernel-install
source = 90-kernel-install-add.hook
source = 60-kernel-install-remove.hook
source = kernel-install.sh
- sha256sums = 7544af3b61b8fc16e4374447a086707d6b3e23cf2d2cc9d4dbf1168d81e72523
- sha256sums = 7794b90baac33380a195d65017fcc51420ef141d2f95a5c94abe06b2999a787d
- sha256sums = 4e7e6134473aa47e2c130b095b6faa2c5d72b2fb4d0dff66f50d048da6c0ec2d
+ sha256sums = 1acd13999d9cb8fa2c46e040598f62636e8d3969622220eb4cf564f4a380ddd4
+ sha256sums = 23b046f9ef43d888691d425c95841317de6104dab31bcccf62fbc4f34317ff26
+ sha256sums = e79a3c74e0fdc3ab9d9f1967b38aa6ca7f10d189bc4975da661b0f20a75cfcc2
pkgname = pacman-hook-kernel-install
diff --git a/60-kernel-install-remove.hook b/60-kernel-install-remove.hook
index 2f8a29a47a23..52e45ef5039c 100644
--- a/60-kernel-install-remove.hook
+++ b/60-kernel-install-remove.hook
@@ -3,29 +3,23 @@ Type = Path
Operation = Upgrade
Operation = Remove
Target = usr/lib/modules/*/vmlinuz
+Target = usr/lib/modules/*/extramodules/*
[Trigger]
Type = Path
Operation = Install
Operation = Upgrade
Operation = Remove
-Target = usr/lib/kernel/install.*
-Target = etc/kernel/install.*
+Target = boot/*-ucode.img
+Target = usr/lib/initcpio/*
+Target = usr/lib/initcpio/*/*
+Target = usr/lib/dracut/*
+Target = usr/lib/dracut/*/*
+Target = usr/lib/dracut/*/*/*
+Target = usr/lib/kernel/*
+Target = usr/lib/kernel/*/*
Target = usr/src/*/dkms.conf
-[Trigger]
-Type = Package
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = systemd
-Target = amd-ucode
-Target = intel-ucode
-Target = plymouth
-Target = cryptsetup
-Target = dracut
-Target = mkinitcpio
-
[Action]
Description = Removing kernel and initrd from $BOOT... (kernel-install)
When = PostTransaction
diff --git a/90-kernel-install-add.hook b/90-kernel-install-add.hook
index b09fa18443d4..75f091e8b276 100644
--- a/90-kernel-install-add.hook
+++ b/90-kernel-install-add.hook
@@ -3,29 +3,23 @@ Type = Path
Operation = Install
Operation = Upgrade
Target = usr/lib/modules/*/vmlinuz
+Target = usr/lib/modules/*/extramodules/*
[Trigger]
Type = Path
Operation = Install
Operation = Upgrade
Operation = Remove
-Target = usr/lib/kernel/install.*
-Target = etc/kernel/install.*
+Target = boot/*-ucode.img
+Target = usr/lib/initcpio/*
+Target = usr/lib/initcpio/*/*
+Target = usr/lib/dracut/*
+Target = usr/lib/dracut/*/*
+Target = usr/lib/dracut/*/*/*
+Target = usr/lib/kernel/*
+Target = usr/lib/kernel/*/*
Target = usr/src/*/dkms.conf
-[Trigger]
-Type = Package
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = systemd
-Target = amd-ucode
-Target = intel-ucode
-Target = plymouth
-Target = cryptsetup
-Target = dracut
-Target = mkinitcpio
-
[Action]
Description = Installing kernel and initrd to $BOOT... (kernel-install)
When = PostTransaction
diff --git a/PKGBUILD b/PKGBUILD
index f0d6aa335446..000bf248d086 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Sebastian Wiesner <sebastian@swsnr.de>
pkgname=pacman-hook-kernel-install
-pkgver=0.11.0
+pkgver=0.12.0
pkgrel=1
pkgdesc="Pacman hooks for kernel-install."
url='https://man.archlinux.org/man/kernel-install.8'
@@ -23,6 +23,6 @@ package() {
}
# sums
-sha256sums=('7544af3b61b8fc16e4374447a086707d6b3e23cf2d2cc9d4dbf1168d81e72523'
- '7794b90baac33380a195d65017fcc51420ef141d2f95a5c94abe06b2999a787d'
- '4e7e6134473aa47e2c130b095b6faa2c5d72b2fb4d0dff66f50d048da6c0ec2d')
+sha256sums=('1acd13999d9cb8fa2c46e040598f62636e8d3969622220eb4cf564f4a380ddd4'
+ '23b046f9ef43d888691d425c95841317de6104dab31bcccf62fbc4f34317ff26'
+ 'e79a3c74e0fdc3ab9d9f1967b38aa6ca7f10d189bc4975da661b0f20a75cfcc2')
diff --git a/kernel-install.sh b/kernel-install.sh
index bf5bc3464bf4..de503f85c16d 100644
--- a/kernel-install.sh
+++ b/kernel-install.sh
@@ -3,32 +3,36 @@
set -euo pipefail
shopt -s inherit_errexit nullglob
-extract_kernel_version() {
- local heads
- heads="${1%/vmlinuz}"
- echo "${heads##*/}"
-}
+cd /
+
+all_kernels=0
+versions=()
-all_kernel_images=0
-kernel_images=()
+add_file() {
+ local kver="$1"
+ kver="${kver##usr/lib/modules/}"
+ kver="${kver%%/*}"
+ versions+=("$kver")
+}
while read -r path; do
case "$path" in
- usr/lib/modules/*/vmlinuz)
- kernel_images+=("/$path")
+ usr/lib/modules/*/vmlinuz | usr/lib/modules/*/extramodules/*)
+ add_file "$path"
;;
*)
- all_kernel_images=1
+ all_kernels=1
;;
esac
done
-((all_kernel_images)) && for file in /usr/lib/modules/*/vmlinuz; do
+((all_kernels)) && for file in usr/lib/modules/*/vmlinuz; do
pacman -Qqo "$file" 1>/dev/null 2>/dev/null &&
- kernel_images+=("$file")
+ add_file "$file"
done
-for kernel_image in "${kernel_images[@]}"; do
- echo +kernel-install "$@" "$(extract_kernel_version "$kernel_image")" "$kernel_image"
- kernel-install "$@" "$(extract_kernel_version "$kernel_image")" "$kernel_image" || true
+for kver in "${versions[@]}"; do
+ kimage="/usr/lib/modules/$kver/vmlinuz"
+ echo +kernel-install "$@" "$kver" "$kimage"
+ kernel-install "$@" "$kver" "$kimage" || true
done