### this is sourced at the beginning of any initscript ### This file used for forward /etc/init.d/$sv to dinit service $sv ## If this file exist, We forward any initscript which has dinit service [ -e /run/lsb.sysvredirectdinit ] || forcesysv=1 ## Dinit services directories [ -d /etc/dinit.d ] && etc_dinit="/etc/dinit.d" [ -d /lib/dinit.d ] && lib_dinit="/lib/dinit.d" [ -d /usr/local/lib/dinit.d ] && local_lib_dinit="/usr/local/lib/dinit.d" # Get the service basename and action, like 40-systemd if [ -n "${__init_d_script_name:-}" ]; then service="$__init_d_script_name" action="$1" [ x"${2:-}" = 'x--force-sysv' ] && forcesysv=1 elif [ "${0##*/}" = "init-d-script" ] || [ "${0##*/}" = "${1:-}" ]; then service="$1" action="$2" [ x"${3:-}" = 'x--force-sysv' ] && forcesysv=1 else service="$0" action="${1:-}" [ x"${2:-}" = 'x--force-sysv' ] && forcesysv=1 fi service=${service##*/} service="${service%.sh}" for dinitsrv in ${etc_dinit:-} ${lib_dinit:-} ${local_lib_dinit:-}; do if [ -e "$dinitsrv"/"$service" ]; then has_dinit=1 break fi done if [ -z "${forcesysv:-}" ] && [ -n "${has_dinit:-}" ]; then # Forward case "$action" in start|stop|restart|reload|status) dinitctl "$action" "$service" || true exit 0 ;; force-stop|force-reload|force-restart) dinitctl --force "${action##*-}" "$service" || true exit 0 ;; *) echo "WARNING: $action not supported by dinitctl, giving up" exit 0 ;; esac fi