b50c79e71c
The kernel hook scripts in /etc/kernel/postinst.d and /etc/kernel/prerm.d were executed by the new-kernel-pkg --rpmposttrans and --remove options. But with a BLS configuration the new-kernel-pkg script isn't executed and instead the kernel-install plugins are used. Add a kernel-install plugin that executes the hooks since packages like dkms and akmod make use of it. Resolves: rhbz#1696202 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
34 lines
675 B
Bash
Executable File
34 lines
675 B
Bash
Executable File
#!/usr/bin/bash
|
|
|
|
if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
COMMAND="$1"
|
|
KERNEL_VERSION="$2"
|
|
BOOT_DIR_ABS="$3"
|
|
|
|
# If $BOOT_DIR_ABS exists, some other boot loader is active.
|
|
[[ -d "$BOOT_DIR_ABS" ]] && exit 0
|
|
|
|
run_hooks()
|
|
{
|
|
local f
|
|
local files="$1"
|
|
for f in $files ; do
|
|
[ -x "$f" ] || continue
|
|
"$f" "$KERNEL_VERSION" "/boot/vmlinuz-$KERNEL_VERSION"
|
|
done
|
|
}
|
|
|
|
case "$COMMAND" in
|
|
add)
|
|
run_hooks "/etc/kernel/postinst.d/*[^~] /etc/kernel/postinst.d/$KERNEL_VERSION/*[^~]"
|
|
;;
|
|
remove)
|
|
run_hooks "/etc/kernel/prerm.d/*[^~] /etc/kernel/prerm.d/$KERNEL_VERSION/*[^~]"
|
|
;;
|
|
*)
|
|
exit 0
|
|
esac
|