#!/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