[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.94.dfsg.2-1-466-ga4903a4

Michael Tautschnig mt at debian.org
Wed Mar 25 14:10:04 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 2d2914f4930626f7e0f7be3d99f7d31e3b96f211
Author: Michael Tautschnig <mt at debian.org>
Date:   Wed Mar 25 12:44:47 2009 +0100

    Adapted clamav-milter's init script
    
    - Made it as similar as possible to clamav-daemon's init script for easier
      maintainance
    - Doesn't use /etc/default/clamav-milter anymore
    
    Signed-off-by: Michael Tautschnig <mt at debian.org>

diff --git a/debian/clamav-milter.init.in b/debian/clamav-milter.init.in
index cbfbcd2..37a47d7 100644
--- a/debian/clamav-milter.init.in
+++ b/debian/clamav-milter.init.in
@@ -11,117 +11,91 @@
 # Description:       Clam AntiVirus milter interface
 ### END INIT INFO
 
-# edit /etc/default/clamav-milter for options
-
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 DAEMON=/usr/sbin/clamav-milter
+NAME=clamav-milter
 DESC="Sendmail milter plugin for ClamAV"
-BASENAME=clamav-milter
-CLAMAVCONF=/etc/clamav/clamd.conf
-DEFAULT=/etc/default/clamav-milter
-OPTIONS="-dq"
+CLAMAVMILTERCONF=/etc/clamav/clamav-milter.conf
 SUPERVISOR=/usr/bin/daemon
+SUPERVISORNAME=daemon
 SUPERVISORPIDFILE="/var/run/clamav/daemon-clamav-milter.pid"
-SUPERVISORARGS="-F $SUPERVISORPIDFILE --name=$BASENAME --respawn"
+SUPERVISORARGS="--name=$NAME --respawn $DAEMON -F $SUPERVISORPIDFILE"
 
 [ -x "$DAEMON" ] || exit 0
-[ -r "$CLAMAVCONF" ] || exit 0
-[ -r "$DEFAULT" ] && . $DEFAULT
-[ -z "$PIDFILE" ] && PIDFILE=/var/run/clamav/clamav-milter.pid
-[ -z "$SOCKET" ] && SOCKET=local:/var/run/clamav/clamav-milter.ctl
-
 . /lib/lsb/init-functions
 
+if [ ! -f "$CLAMAVMILTERCONF" ]; then
+  log_failure_msg "There is no configuration file for clamav-milter."
+  log_failure_msg "Please either dpkg-reconfigure $DESC, or copy the example from"
+  log_failure_msg "/usr/share/doc/clamav-milter/examples/ to $CLAMAVMILTERCONF and run"
+  log_failure_msg "'/etc/init.d/clamav-milter start'"
+  exit 1;
+fi
+
 #COMMON-FUNCTIONS#
 
-slurp_config "$CLAMAVCONF"
+slurp_config "$CLAMAVMILTERCONF"
 
-case "$SOCKET" in
-  /*)
-  SOCKET_PATH="$SOCKET"
-  SOCKET="local:$SOCKET"
-  ;;
-  *)
-  SOCKET_PATH=`echo $SOCKET | sed -e s/local\://`
-  # If the socket is type inet: we don't care - we can't rm -f that later :)
-  ;;
-esac
+if [ -n "$Example" ]; then
+  log_failure_msg "$DESC is not configured."
+  log_failure_msg "Please edit $CLAMAVMILTERCONF and run '/etc/init.d/clamav-milter start'"
+  exit 0
+fi
 
 if is_true "$Foreground"; then
   if [ ! -x "$SUPERVISOR" ] ; then
-     log_failure_msg "Foreground specified, but $SUPERVISOR not found"
+     log_failure_msg "Foreground specified, but $SUPERVISORNAME not found"
      exit 0
   else
      RUN_SUPERVISED=1
-     SUPERVISOR_EXEC="$DAEMON $OPTIONS --pidfile $PIDFILE $SOCKET"
   fi
 fi
 
-if [ -z "$RUN_SUPERVISED" ] ; then
-  if [ -f "$PIDFILE" ]; then
-    PID=`pidofproc -p $PIDFILE $DAEMON`
-    RUNNING=$?
-  else
-    PID=`pidofproc $DAEMON`
-    RUNNING=$?
-  fi
+[ -n "$User" ] || User=clamav
+
+make_dir $(dirname "$SUPERVISORPIDFILE")
+
+THEPIDFILE="`grep ^PidFile $CLAMAVMILTERCONF | awk '{print $2}'`"
+[ -n "$THEPIDFILE" ] || THEPIDFILE='/var/run/clamav/clamav-milter.pid'
+
+if [ -f "$THEPIDFILE" ]; then
+  CLAMDPID=`pidofproc -p $THEPIDFILE $DAEMON`
+  RUNNING=$?
 else
-  [ -e "$SUPERVISORPIDFILE" ] && PID=`sed 's/[^0-9]//g' $SUPERVISORPIDFILE`
+  CLAMDPID=`pidofproc $DAEMON`
+  RUNNING=$?
 fi
 
-[ "$PID" = '1' ] && unset PID
-[ -n "$User" ] || User=clamav
-[ -n "$DataBaseDirectory" ] || DataBaseDirectory=/var/run/clamav
+if [ -z "$RUN_SUPERVISED" ]; then
+  PID="$CLAMDPID"
+else
+  [ -e "$SUPERVISORPIDFILE" ] && PID=`cat $SUPERVISORPIDFILE`
+fi
 
-make_dir "$DataBaseDirectory"
-make_dir $(dirname "$SOCKET_PATH")
+[ "$PID" = '1' ] && unset PID
 
 case "$1" in
   start)
   OPTIND=1
-  if [ -n "$PID" ]; then
-    PID=`echo $PID | sed 's/[^0-9]//g'`
-    if kill -0 $PID; then
-      log_failure_msg "$DAEMON already running"
-      exit 1
-    fi
-  fi
   if [ -z "$RUN_SUPERVISED" ] ; then
-    log_daemon_msg "Starting $DESC" "$BASENAME"
-    su "$User" -p -s /bin/sh -c ". /lib/lsb/init-functions && start_daemon $DAEMON $OPTIONS --pidfile $PIDFILE $SOCKET" > /dev/null
+    log_daemon_msg "Starting $DESC" "$NAME "
+    su "$User" -p -s /bin/sh -c ". /lib/lsb/init-functions && start_daemon -p $THEPIDFILE $DAEMON"
     ret=$?
-  else
-    log_daemon_msg "Starting $DESC" "$BASENAME (supervised)"
-    $SUPERVISOR $SUPERVISORARGS -X "$SUPERVISOR_EXEC"
+  else 
+    log_daemon_msg "Starting $DESC" "$NAME (supervised) "
+    $SUPERVISOR $SUPERVISORARGS
     ret=$?
   fi
-  if [ $ret = 0 ] && [ "$USE_POSTFIX" = 'yes' ] && [ "${SOCKET_PATH#inet}" = "${SOCKET_PATH}" ]; then
-    cnt=0
-    until [ -e "$SOCKET_PATH" ] ; do
-      cnt=`expr "$cnt" + 1`
-      if [ "$cnt" -gt 15 ]; then
-        break
-      fi
-      sleep 2
-    done
-    if [ -e "$SOCKET_PATH" ]; then
-      chmod g+w $SOCKET_PATH
-      chgrp postfix $SOCKET_PATH
-    else
-      log_warning_msg "Socket not created.  Investigate"
-    fi
-  fi
   log_end_msg $ret
   ;;
   stop)
+  log_daemon_msg "Stopping $DESC" "$NAME"
   OPTIND=1
-  log_daemon_msg "Stopping $DESC" "$BASENAME"
   if [ -n "$PID" ]; then
-    PID=`echo $PID | sed 's/[^0-9]//g'`
-    kill -15 -"$PID" 2>/dev/null || true
+    kill -15 -"$PID"
     ret=$?
-    sleep 2
-    if kill -0 "$PID" 2>/dev/null; then 
+    sleep 1
+    if kill -0 "$PID" 2>/dev/null; then
       ret=$?
       log_progress_msg "Waiting . "
       cnt=0
@@ -130,7 +104,6 @@ case "$1" in
         cnt=`expr "$cnt" + 1`
         if [ "$cnt" -gt 15 ]; then
           kill -9 -"$PID"
-          ret=$?
           break
         fi
         sleep 2
@@ -139,7 +112,7 @@ case "$1" in
     fi
   else
     if [ -z "$RUN_SUPERVISED" ] ; then
-      killproc -p $PIDFILE $DAEMON
+      killproc -p $THEPIDFILE
       ret=$?
     else
       killproc -p $SUPERVISORPIDFILE
@@ -151,18 +124,15 @@ case "$1" in
   else
     log_end_msg $?
   fi
-  [ -e "$SOCKET_PATH" ] && rm -f $SOCKET_PATH
-  [ -e "$PIDFILE" ] && rm -f $PIDFILE
-  ;;
-  force-reload | restart)
-  $0 stop
-  sleep 2
-  $0 start
   ;;
   status)
   status_of_proc "$DAEMON" "$NAME"
   exit $?
   ;;
+  restart|force-reload)
+  $0 stop
+  $0 start
+  ;;
   *)
   log_failure_msg "Usage: $0 {start|stop|restart|force-reload|status}" >&2
   exit 1

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list