void-packages/xbps-src/triggers/initramfs-tools
Juan RP 85cc462e1d Major infrastructure changes, part 2.
* Moved helpers, common and triggers dirs into xbps-src, where
  they belong.
* Renamed the templates dir to srcpkgs, it was so redundant before.
* Make it possible to add subpkgs with no restriction in names, for
  example udev now has a subpkgs called "libgudev". Previously
  subpkgs were named "${sourcepkg}-${pkgname}".
* xbps-src: changed to look for template files in current directory.
  That means that most arguments from the targets have been removed.
* xbps-src: added a reinstall target, to remove + install.
* xbps-src: do not overwrite binpkgs by default, skip them.

And more that I forgot because it's a mega-commit that I've been
working for some days already...

--HG--
extra : convert_revision : 0f466878584d1e6895d2a234f07ea1b2d1e61b3e
2009-11-22 08:31:44 +01:00

69 lines
1.2 KiB
Bash
Executable file

#!/bin/sh -e
#
# 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/post-remove]
# $3 = pkgname
# $4 = version
#
ACTION="$1"
TARGET="$2"
PKGNAME="$3"
VERSION="$4"
update_initramfs=usr/sbin/update-initramfs
case "$ACTION" in
targets)
echo "post-install post-remove"
;;
run)
[ ! -x ${update_initramfs} ] && exit 0
initramfs_args="update-initramfs"
if [ "$PKGNAME" = "kernel" ]; then
if [ "$TARGET" = "post-remove" ]; then
exit 0
fi
if [ ! -f var/lib/initramfs-tools/${VERSION} ]; then
# Create new initramfs
initramfs_args="-c -t -k ${VERSION}"
else
# Update existing initramfs
initramfs_args="-u -t -k ${VERSION}"
fi
else
# Update initramfs for all kernels
initramfs_args="-u -t -k all"
fi
if [ ! -e /proc/filesystems ]; then
mount -t proc proc /proc
proc_mounted=1
fi
if [ ! -e /sys/kernel/vmcoreinfo ]; then
mount -t sysfs sysfs /sys
sys_mounted=1
fi
${update_initramfs} ${initramfs_args}
if [ -n "$proc_mounted" ]; then
umount /proc
fi
if [ -n "$sys_mounted" ]; then
umount /sys
fi
;;
*)
exit 1
;;
esac
exit 0