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 esac
# Read the configuration, if it exists # Prefer the new alternatives-based initramfs hooks
[ -f etc/default/initramfs-regenerate ] && . etc/default/initramfs-regenerate 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 echo "Regenerating initramfs images using kernel hook ${HOOK##*/}"
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
# 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 exit 0

View file

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