xbps-triggers: new kernel-hooks trigger, simplify initramfs-tools.
This commit is contained in:
parent
b2c180073d
commit
9416d77890
3 changed files with 62 additions and 26 deletions
55
srcpkgs/xbps-triggers/files/kernel-hooks
Executable file
55
srcpkgs/xbps-triggers/files/kernel-hooks
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/bin/sh -e
|
||||
#
|
||||
# Run scripts found in /etc/kernel.d/ directories.
|
||||
#
|
||||
# Arguments: $ACTION = [run/targets]
|
||||
# $TARGET = [post-install/post-remove]
|
||||
# $PKGNAME
|
||||
# $VERSION
|
||||
# $UPDATE = [yes/no]
|
||||
#
|
||||
ACTION="$1"
|
||||
TARGET="$2"
|
||||
PKGNAME="$3"
|
||||
VERSION="$4"
|
||||
UPDATE="$5"
|
||||
|
||||
export PATH="$PATH:/usr/local/bin"
|
||||
|
||||
RUN_TARGETS="pre-install post-install pre-remove post-remove"
|
||||
|
||||
case "$ACTION" in
|
||||
targets)
|
||||
echo "${RUN_TARGETS}"
|
||||
;;
|
||||
run)
|
||||
# Ignore pre-remove when updating a package.
|
||||
if [ "${TARGET}" = "pre-remove" ]; then
|
||||
[ "${UPDATE}" = "yes" ] && exit 0
|
||||
fi
|
||||
|
||||
# Create required dirs when necessary.
|
||||
for _dir_ in ${RUN_TARGETS}; do
|
||||
[ ! -d etc/kernel.d/${_dir_} ] && mkdir -p etc/kernel.d/${_dir_}
|
||||
done
|
||||
|
||||
# Execute kernel hooks for the specified target.
|
||||
for _file_ in /etc/kernel.d/${TARGET}/*; do
|
||||
[ ! -x "${_file_}" ] && continue
|
||||
echo "Executing ${TARGET} kernel hook: $(basename ${_file_}) ..."
|
||||
|
||||
# A package may export "kernel_hooks_version" as a hint
|
||||
# to pass this version to the hooks.
|
||||
if [ -n "${kernel_hooks_version}" ]; then
|
||||
${_file_} ${PKGNAME} ${kernel_hooks_version}
|
||||
else
|
||||
${_file_} ${PKGNAME} ${VERSION}
|
||||
fi
|
||||
done
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
Loading…
Add table
Add a link
Reference in a new issue