xbps-triggers: new kernel-hooks trigger, simplify initramfs-tools.
This commit is contained in:
parent
b2c180073d
commit
9416d77890
|
@ -1,8 +1,6 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
#
|
#
|
||||||
# Runs update-initramfs(8) to create/update an initramfs for specified
|
# Runs update-initramfs(8) to update initramfs for all installed kernels.
|
||||||
# version (if the pkg that is triggering it) or for the currently
|
|
||||||
# installed kernel otherwise.
|
|
||||||
#
|
#
|
||||||
# Arguments: $ACTION = [run/targets]
|
# Arguments: $ACTION = [run/targets]
|
||||||
# $TARGET = [post-install/post-remove]
|
# $TARGET = [post-install/post-remove]
|
||||||
|
@ -39,22 +37,8 @@ run)
|
||||||
# Always use relative paths to create the initramfs!
|
# Always use relative paths to create the initramfs!
|
||||||
initramfs_args="-b ./boot"
|
initramfs_args="-b ./boot"
|
||||||
|
|
||||||
if [ "$PKGNAME" = "kernel" ]; then
|
# Update initramfs for all kernels
|
||||||
if [ "$TARGET" = "post-remove" ]; then
|
initramfs_args="$initramfs_args -u -t -k all"
|
||||||
# Remove the initramfs if removing.
|
|
||||||
initramfs_args="$initramfs_args -d -k ${VERSION}"
|
|
||||||
fi
|
|
||||||
if [ ! -f var/lib/initramfs-tools/${VERSION} ]; then
|
|
||||||
# Create new initramfs
|
|
||||||
initramfs_args="$initramfs_args -c -t -k ${VERSION}"
|
|
||||||
else
|
|
||||||
# Update existing initramfs
|
|
||||||
initramfs_args="$initramfs_args -B -u -t -k ${VERSION}"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# Update initramfs for all kernels
|
|
||||||
initramfs_args="$initramfs_args -B -u -t -k all"
|
|
||||||
fi
|
|
||||||
|
|
||||||
${update_initramfs} ${initramfs_args}
|
${update_initramfs} ${initramfs_args}
|
||||||
exit $?
|
exit $?
|
||||||
|
|
|
@ -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
|
|
@ -1,6 +1,6 @@
|
||||||
# Template file for 'xbps-triggers'
|
# Template file for 'xbps-triggers'
|
||||||
pkgname=xbps-triggers
|
pkgname=xbps-triggers
|
||||||
version=0.17
|
version=0.18
|
||||||
build_style=custom-install
|
build_style=custom-install
|
||||||
short_desc="XBPS triggers"
|
short_desc="XBPS triggers"
|
||||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
|
@ -15,14 +15,11 @@ bootstrap=yes
|
||||||
|
|
||||||
do_install()
|
do_install()
|
||||||
{
|
{
|
||||||
_triggersdir=${DESTDIR}/var/db/xbps/triggers
|
_triggersdir=var/db/xbps/triggers
|
||||||
|
|
||||||
install -d ${_triggersdir}
|
|
||||||
|
|
||||||
for f in ${FILESDIR}/*; do
|
for f in ${FILESDIR}/*; do
|
||||||
_trigger=$(basename $f)
|
_trigger=$(basename $f)
|
||||||
install -m750 ${FILESDIR}/${_trigger} \
|
vinstall ${FILESDIR}/${_trigger} 750 ${_triggersdir}
|
||||||
${_triggersdir}/${_trigger}
|
echo "# end" >> ${DESTDIR}/${_triggersdir}/${_trigger}
|
||||||
echo "# end" >> ${_triggersdir}/${_trigger}
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue