vp-build/triggers/initramfs-tools
Juan RP 485a777f79 xbps-base-files: fixes for the initramfs-tools trigger.
Only mount /proc and /sys if they aren't mounted already,
use /lib/rc/bin/mouninfo from OpenRC. Bump revision.

--HG--
extra : convert_revision : 18f901f72548eaef1e040984cc72aa11ce6ea76c
2009-05-05 05:28:24 +02:00

59 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
#
# Runs update-initramfs(8) to create/update an initramfs for specified
# version (if the pkg that is triggering it) or for the currently
# installed kernel otherwise.
#
# Arguments: $1 = action [run/targets]
# $2 = target [post-install]
# $3 = pkgname
# $4 = version
#
trigger="initramfs-tools"
case "$1" in
targets)
echo "post-install"
;;
run)
[ ! -x usr/sbin/update-initramfs ] && exit 0
[ ! -x lib/rc/bin/mountinfo ] && exit 0
[ "$2" != "post-install" ] && exit 1
echo "Running $trigger trigger..."
initramfs_cmd="update-initramfs"
if [ "$3" = "kernel" -a ! -f ./var/lib/initramfs-tools/$4 ]; then
initramfs_cmd="$initramfs_cmd -c -k $4"
elif [ "$3" != "kernel" -o ! -f ./var/lib/initramfs-tools/$4 ]; then
initramfs_cmd="$initramfs_cmd -c -k $(xbps-pkgdb version kernel)"
else
initramfs_cmd="$initramfs_cmd -u -k $4"
fi
if ! /lib/rc/bin/mountinfo -q /proc; then
mount -t proc proc /proc
proc_mounted=1
fi
if ! /lib/rc/bin/mountinfo -q /sys; then
mount -t sysfs sysfs /sys
sys_mounted=1
fi
${initramfs_cmd}
if [ -n "$proc_mounted" ]; then
umount /proc
fi
if [ -n "$sys_mounted" ]; then
umount /sys
fi
;;
*)
exit 1
;;
esac
exit 0