X-Git-Url: https://git.hcoop.net/hcoop/debian/courier-authlib.git/blobdiff_plain/01037b081eab5fb3f208489dc3e052ec3a2c8ba1..1420868b3e321353480efbb7eb35e1e8d9943223:/debian/courier-authdaemon.init diff --git a/debian/courier-authdaemon.init b/debian/courier-authdaemon.init dissimilarity index 85% index 521624b..834dac7 100644 --- a/debian/courier-authdaemon.init +++ b/debian/courier-authdaemon.init @@ -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ý + +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 $? +}