This one time, at band camp, Raja R Harinath said: > Hi, > > I fixed this locally by changing the 'start_daemon' line in > /etc/init.d/clamav-freshclam (pseudo-patch, sorry I didn't save the > original before editing ;-): > > - start_daemon $DAEMON -p $PIDFILE -d --quiet > + start_daemon -p $PIDFILE $DAEMON -p $PIDFILE -d --quiet > > The first '-p' is to tell start_daemon where the PIDFILE is, and the > second is to freshclam to tell it where to put the darn thing. For > some reason, the getopt in start_daemon() is confused by the -p that > comes _after_ a non-option.
I messed with this for a couple of hours last night, and it turns out it's a complicated mess. The lsb init functions weren't parsing getopt options correctly, and after banging my head against it for a while, my friend finally realized it was because it was starting at the wrong point in the argument list because of a previous getopt call. So this means the right fix is twofold. Change the freshclam init script like so: - start_daemon $DAEMON -p $PIDFILE -d --quiet + start_daemon $DAEMON -- -p $PIDFILE -d --quiet and change lsb/init-functions like so: --- init-functions 2006-08-07 19:15:46.000000000 +0100 +++ /lib/lsb/init-functions 2006-08-09 00:28:10.000000000 +0100 @@ -33,6 +33,7 @@ nice=0 pidfile=/dev/null + OPTIND=1 while getopts fn:p: opt ; do case "$opt" in f) force=1;; @@ -42,10 +43,11 @@ done shift $(($OPTIND - 1)) - [ "$1" = '--' ] && shift exec="$1"; shift + [ "$1" = '--' ] && shift + if [ $force = 1 ]; then /sbin/start-stop-daemon --start --nicelevel $nice --quiet --startas $exec --pidfile /dev/null --oknodo -- "$@" elif [ $pidfile ]; then Either myself or my friend who helped debug the lsb problem last night are going to send the patch to lsb (there's more to it - some other functions are affected as well). I have the fixes for clamav committed locally, but since the fixes depend on lsb being patched as well, I am going to hold off on uploading for the moment. Thanks for the report and the debugging. -- ----------------------------------------------------------------- | ,''`. Stephen Gran | | : :' : [EMAIL PROTECTED] | | `. `' Debian user, admin, and developer | | `- http://www.debian.org | -----------------------------------------------------------------
signature.asc
Description: Digital signature