485a777f79
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
59 lines
1.2 KiB
Bash
Executable File
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
|