-#! /bin/sh -e
-#
-### BEGIN INIT INFO
-# Provides: courier-authdaemon
-# Required-Start: $remote_fs $syslog
-# Required-Stop: $remote_fs $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-### END INIT INFO
-
-prefix="/usr"
-exec_prefix=${prefix}
-sysconfdir="/etc/courier"
-sbindir="${exec_prefix}/sbin"
-daemonscript="${sbindir}/authdaemond"
-rundir_courier="/var/run/courier"
-rundir="/var/run/courier/authdaemon"
-pidfile="${rundir}/pid"
-
-. /lib/lsb/init-functions
-
-# Check for a leftover init script
-if [ ! -x $daemonscript ]; then
- exit 0
-fi
-
-case "$1" in
-start)
- # Start daemon.
- cd /
- log_daemon_msg "Starting Courier authentication services" "authdaemond"
- if [ ! -d "$rundir_courier" ]; then
- mkdir -m 0775 $rundir_courier
- chown daemon:daemon $rundir_courier
- # set file context for SELinux (#668564)
- [ -x /sbin/restorecon ] && /sbin/restorecon $rundir_courier
- fi
- if [ ! -d "$rundir" ]; then
- mkdir -m 0750 $rundir
- chown daemon:daemon $rundir
- # set file context for SELinux (#668564)
- [ -x /sbin/restorecon ] && /sbin/restorecon $rundir
- fi
- $daemonscript start
- log_end_msg 0
- ;;
-stop)
- # Stop daemon.
- cd /
- log_daemon_msg "Stopping Courier authentication services" "authdaemond"
- $daemonscript stop
- log_end_msg 0
- ;;
-restart|force-reload)
- $0 stop
- $0 start
- ;;
-status)
- status_of_proc -p "$pidfile" "" "authdaemond" && exit 0 || exit $?
- ;;
-*)
- echo "Usage: $0 {start|stop|restart|force-reload|status}" >&2
- exit 2
- ;;
-esac
-exit 0
+#!/bin/sh
+# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
+if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
+ set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
+fi
+### BEGIN INIT INFO
+# Provides: courier-authdaemon
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+### END INIT INFO
+
+# Author: Ondřej Surý <ondrej@debian.org>
+
+DAEMON="/usr/sbin/authdaemond"
+DESC="Courier authentication services"
+PIDFILE="/run/courier/pid"
+
+do_start_prepare() {
+ do_tmpfiles courier-authdaemon
+}
+
+do_tmpfiles() {
+ local type path mode user group
+
+ TMPFILES=/usr/lib/tmpfiles.d/$1.conf
+
+ if [ -r "$TMPFILES" ]; then
+ while read type path mode user group age argument; do
+ if [ "$type" = "d" ]; then
+ mkdir -p "$path"
+ chmod "$mode" "$path"
+ chown "$user:$group" "$path"
+ [ -x /sbin/restorecon ] && /sbin/restorecon $path
+ fi
+ done < "$TMPFILES"
+ fi
+}
+
+do_start_cmd_override() {
+ $DAEMON start
+}
+
+do_stop_cmd_override() {
+ $DAEMON stop
+}
+
+do_status_override() {
+ status_of_proc "/usr/lib/courier/courier-authlib/authdaemond" "$NAME" && return 0 || return $?
+}