#!/bin/sh # 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. set -e usage() { echo "Usage: $0 [--root=path] enable|disable|is-enabled <sysv script name>" >&2 exit 1 } # parse options eval set -- "$(getopt -o r: --long root: -- "$@")" while true; do case "$1" in -r|--root) ROOT="$2" shift 2 ;; --) shift ; break ;; *) usage ;; esac done NAME="$2" [ -n "$NAME" ] || usage case "$1" in enable) # call the command to enable SysV init script $NAME here # (consider optional $ROOT) echo "IMPLEMENT ME: enabling SysV init.d script $NAME" ;; disable) # call the command to disable SysV init script $NAME here # (consider optional $ROOT) echo "IMPLEMENT ME: disabling SysV init.d script $NAME" ;; is-enabled) # exit with 0 if $NAME is enabled, non-zero if it is disabled # (consider optional $ROOT) echo "IMPLEMENT ME: checking SysV init.d script $NAME" ;; *) usage ;; esac