2015-10-06 17:11:15 +02:00
|
|
|
#!/bin/sh
|
2016-10-26 16:59:15 +02:00
|
|
|
# This script is called by "systemctl enable/disable" when the given unit is a
|
|
|
|
# SysV init.d script. It needs to call the distribution's mechanism for
|
|
|
|
# enabling/disabling those, such as chkconfig, update-rc.d, or similar. This
|
|
|
|
# can optionally take a --root argument for enabling a SysV init script
|
|
|
|
# in a chroot or similar.
|
2015-10-06 17:11:15 +02:00
|
|
|
set -e
|
|
|
|
|
|
|
|
usage() {
|
2016-10-26 16:59:15 +02:00
|
|
|
echo "Usage: $0 [--root=path] enable|disable|is-enabled <sysv script name>" >&2
|
|
|
|
exit 1
|
2015-10-06 17:11:15 +02:00
|
|
|
}
|
2016-10-26 16:59:15 +02:00
|
|
|
|
|
|
|
# parse options
|
2015-10-06 17:11:15 +02:00
|
|
|
eval set -- "$(getopt -o r: --long root: -- "$@")"
|
|
|
|
while true; do
|
2016-10-26 16:59:15 +02:00
|
|
|
case "$1" in
|
|
|
|
-r|--root)
|
|
|
|
ROOT="$2"
|
|
|
|
shift 2 ;;
|
|
|
|
--) shift ; break ;;
|
|
|
|
*) usage ;;
|
|
|
|
esac
|
2015-10-06 17:11:15 +02:00
|
|
|
done
|
2016-10-26 16:59:15 +02:00
|
|
|
|
2015-10-06 17:11:15 +02:00
|
|
|
NAME="$2"
|
|
|
|
[ -n "$NAME" ] || usage
|
2016-10-26 16:59:15 +02:00
|
|
|
|
2015-10-06 17:11:15 +02:00
|
|
|
case "$1" in
|
2016-10-26 16:59:15 +02:00
|
|
|
enable)
|
|
|
|
chkconfig $ROOT --no-systemctl -s "$NAME" on
|
|
|
|
;;
|
|
|
|
disable)
|
|
|
|
chkconfig $ROOT --no-systemctl -s "$NAME" off
|
|
|
|
;;
|
|
|
|
is-enabled)
|
|
|
|
chkconfig $ROOT --no-systemctl -c "$NAME"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
usage ;;
|
2015-10-06 17:11:15 +02:00
|
|
|
esac
|