Merge remote-tracking branch 'origin/debian'
[hcoop/debian/courier-authlib.git] / debian / courier-authdaemon.init
dissimilarity index 85%
index 521624b..834dac7 100644 (file)
@@ -1,66 +1,51 @@
-#! /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 $?
+}