#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
    if [ -x /lib/init/init-d-script ]; then
	set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
    else
	set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /usr/lib/knot-resolver/init-d-script
    fi
fi
### BEGIN INIT INFO
# Provides:          kresd
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Knot Resolver
# Description:       Knot Resolver
### END INIT INFO

# Author: Ondřej Surý <ondrej@debian.org>

NAME=kresd
DESC="Knot Resolver"
DAEMON=/usr/sbin/kresd
START_ARGS="--background --make-pidfile"

do_tmpfiles() {
    local tmpfile type path mode user group age argument
    tmpfile=/usr/lib/tmpfiles.d/$1.conf
    if [ -r "$tmpfile" ]; then
	if [ -x /bin/systemd-tmpfiles ]; then
	    /bin/systemd-tmpfiles --create "$tmpfile"
	else
	    while read type path mode user group age argument; do
		case "$type" in
		    d)
			mkdir -p "$path";
			chmod "$mode" "$path";
			chown "$user:$group" "$path";
			;;
		    L)
			if [ ! -e "$path" ]; then ln -s "$argument" "$path"; fi
			;;
		    \#*)
			;;
		    *)
			log_warning_msg "tmpfile.d type '$type' is not supported yet"
			;;
		esac
	    done < "$tmpfile"
	fi
    else
	log_warning_msg "tmpfiles.d file '$1' doesn't exist or is not readable"
    fi
}

do_start_prepare() {
    do_tmpfiles knot-resolver
}
