67 lines
1.4 KiB
Plaintext
67 lines
1.4 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# Enable and disable systemd services.
|
||
|
#
|
||
|
# Arguments: $ACTION = [run/targets]
|
||
|
# $TARGET = [post-install/pre-remove]
|
||
|
# $PKGNAME
|
||
|
# $VERSION
|
||
|
# $UPDATE = [yes/no]
|
||
|
#
|
||
|
ACTION="$1"
|
||
|
TARGET="$2"
|
||
|
PKGNAME="$3"
|
||
|
VERSION="$4"
|
||
|
UPDATE="$5"
|
||
|
|
||
|
export PATH="$PATH:/usr/local/bin"
|
||
|
|
||
|
case "$ACTION" in
|
||
|
targets)
|
||
|
echo "post-install pre-remove"
|
||
|
;;
|
||
|
run)
|
||
|
[ ! -x bin/systemctl ] && exit 0
|
||
|
[ -z "${systemd_services}" ] && exit 1
|
||
|
|
||
|
if [ -e sys/fs/cgroups/systemd ]; then
|
||
|
systemd_booted=yes
|
||
|
fi
|
||
|
|
||
|
if [ "$TARGET" = "pre-remove" ]; then
|
||
|
if [ "$UPDATE" = "no" ]; then
|
||
|
# package is being removed.
|
||
|
# disable and stop the units.
|
||
|
systemctl --no-reload disable ${systemd_services} >/dev/null 2>&1 || :
|
||
|
systemctl stop ${systemd_services} >/dev/null 2>&1 || :
|
||
|
fi
|
||
|
elif [ "$TARGET" = "post-install" ]; then
|
||
|
if [ "$UPDATE" = "no" ]; then
|
||
|
# package is being installed.
|
||
|
# enable (but don't start) the units by default.
|
||
|
systemctl enable ${systemd_services} >/dev/null 2>&1 || :
|
||
|
if [ "$systemd_booted" ]; then
|
||
|
# reload systemd if running.
|
||
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
||
|
fi
|
||
|
else
|
||
|
# package is being updated.
|
||
|
if [ "$system_booted" ]; then
|
||
|
# reload systemd if running.
|
||
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
||
|
fi
|
||
|
# try restarting package services.
|
||
|
systemctl try-restart ${systemd_services} >/dev/null 2>&1 || :
|
||
|
fi
|
||
|
else
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
;;
|
||
|
*)
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|