#!/bin/sh
# SPDX-License-Identifier: MIT-0
#
# 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
}

unset ROOT

# 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
