#! /bin/sh /usr/share/dpatch/dpatch-run ## 20_spamass-milter-0.3.1-initscript.dpatch by Herbert Straub ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Add reject text feature and avoid problems on tmpfs /var/run systems @DPATCH@ --- spamass-milter-0.3.1/debian/spamass-milter.init.ORIG 2006-06-18 15:23:20.000000000 +0200 +++ spamass-milter-0.3.1/debian/spamass-milter.init 2006-06-18 15:23:35.000000000 +0200 @@ -25,6 +25,11 @@ # Contact: # Michael Brown +# This init script was modified on Sun, 18 Jun 2006 15:20:16 +0200 by +# Herbert Straub allow the specification of +# the reject text; moved the start-stop-daemon statement in do_start +# and do_stop +# # This init script was modified on Thu, 30 Jan 2003 02:06:04 -0500 by # Don Armstrong from contrib/spamass-milter to # allow force-reload and options specified in @@ -33,8 +38,8 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/spamass-milter -SOCKET=/var/run/sendmail/spamass.sock -PIDFILE=/var/run/spamass.pid +SOCKET=/var/run/spamass-milter/spamass.sock +PIDFILE=/var/run/spamass-milter/spamass.pid DESC="Sendmail milter plugin for SpamAssassin" DEFAULT=/etc/default/spamass-milter @@ -48,31 +53,54 @@ set -e +# Check, if Socket or Pidfile specified in OPTIONS +SOCKETSPEC=`echo $OPTIONS | perl -ne 'print "$1\n" if $_ =~ /-p\s+(\S+)\b/;'` +PIDFILESPEC=`echo $OPTIONS | perl -ne 'print "$1\n" if $_ =~ /-P\s+(\S+)\b/;'` +[ -n "$SOCKETSPEC" ] && SOCKET="$SOCKETSPEC" +[ -n "$PIDFILESPEC" ] && PIDFILE="$PIDFILESPEC" + +if [ -z "$REJECTTEXT" ]; then + REJECT_OPT="" + REJECT_TEXT="" +else + REJECT_OPT="-R" +fi + +if [ -z "$REJECTTEXT_INTERN" ]; then + REJECT_INTERN_OPT="" + REJECT_TEXT_INTERN="" +else + REJECT_INTERN_OPT="-S" +fi + +do_start () { + [ ! -d "`dirname $SOCKET`" ] && mkdir "`dirname $SOCKET`" + [ ! -d "`dirname $PIDFILE`" ] && mkdir "`dirname $PIDFILE`" + + start-stop-daemon --start -p $PIDFILE --exec $DAEMON -- -P $PIDFILE -f -p $SOCKET $OPTIONS $REJECT_OPT "$REJECTTEXT" $REJECT_INTERN_OPT "$REJECTTEXT_INTERN" +} + +do_stop () { + start-stop-daemon --stop -p $PIDFILE --signal 3 --exec $DAEMON + /bin/sleep 5s + /bin/rm -f $SOCKET +} + case "$1" in start) echo -n "Starting $DESC: " - - start-stop-daemon --start -p $PIDFILE --exec $DAEMON -- -P $PIDFILE -f -p $SOCKET $OPTIONS - + do_start echo "${DAEMON}" ;; stop) echo -n "Stopping $DESC: " - - start-stop-daemon --stop -p $PIDFILE --signal 3 --exec $DAEMON - /bin/sleep 5s - /bin/rm -f $SOCKET - + do_stop echo "${DAEMON}" ;; force-reload | restart) echo -n "Restarting $DESC: " - - start-stop-daemon --stop -p $PIDFILE --signal 3 --exec $DAEMON - /bin/sleep 5s - /bin/rm -f $SOCKET - start-stop-daemon --start -p $PIDFILE --exec $DAEMON -- -P $PIDFILE -f -p $SOCKET $OPTIONS - + do_stop + do_start echo "${DAEMON}" ;;