mirror of
https://github.com/xHyroM/void-packages.git
synced 2024-11-14 10:58:05 +01:00
54 lines
1.1 KiB
Text
54 lines
1.1 KiB
Text
|
#!/bin/sh
|
||
|
#
|
||
|
# 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"
|
||
|
|
||
|
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
|
||
|
env ROOTDIR="." ${_file_} ${PKGNAME} ${kernel_hooks_version}
|
||
|
else
|
||
|
env ROOTDIR="." ${_file_} ${PKGNAME} ${VERSION}
|
||
|
fi
|
||
|
done
|
||
|
;;
|
||
|
*)
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|