xbps-triggers: use alternatives for kernel hooks

This commit is contained in:
Andrew J. Hesford 2022-09-14 11:51:09 -04:00 committed by Andrew J. Hesford
parent 2c8365d0cb
commit 24e4b2ff48
2 changed files with 16 additions and 31 deletions

View File

@ -37,36 +37,21 @@ case "$ACTION" in
;;
esac
# Read the configuration, if it exists
[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate
# Prefer the new alternatives-based initramfs hooks
HOOK="etc/kernel.d/post-install/20-initramfs"
if [ ! -x "${HOOK}" ]; then
# Otherwise, use legacy trigger behavior to find a preferred hook
[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate
HOOK="etc/kernel.d/post-install/20-${INITRAMFS_GENERATOR:-dracut}"
[ -x "${HOOK}" ] || exit 0
fi
# dracut explicitly sets umask 0077, other generators may not
umask 0077
case "${INITRAMFS_GENERATOR:-dracut}" in
dracut)
if command -v dracut >/dev/null 2>&1; then
echo "Regenerating initramfs with dracut"
dracut -f -q --regenerate-all
fi
;;
mkinitcpio)
if command -v mkinitcpio >dev/null 2>&1; then
echo "Regenerating initramfs with mkinitcpio"
# Regenerate images for every kernel version with modules
for kdir in usr/lib/modules/*; do
[ -d "${kdir}/kernel" ] || continue
kver="${kdir##*/}"
mkinitcpio -g "boot/initramfs-${kver}.img" -k "${kver}"
done
fi
;;
none)
;;
*)
echo "unrecognized INITRAMFS_GENERATOR for initramfs-regenerate hook"
exit 1
;;
esac
echo "Regenerating initramfs images using kernel hook ${HOOK##*/}"
# Regenerate images for every kernel version with modules
for kdir in usr/lib/modules/*; do
[ -d "${kdir}/kernel" ] || continue
kver="${kdir##*/}"
"${HOOK}" "${PKGNAME}" "${kver}"
done
exit 0

View File

@ -1,6 +1,6 @@
# Template file for 'xbps-triggers'
pkgname=xbps-triggers
version=0.123
version=0.124
revision=1
bootstrap=yes
short_desc="XBPS triggers for Void Linux"