clamav/rc.clamav

Tue, 28 Aug 2012 18:36:35 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 28 Aug 2012 18:36:35 +0200
changeset 579
6b18bb69901e
parent 233
f5f6e93f3dc6
permissions
-rw-r--r--

Correct the paths of patched scripts, refine password generation,
mitigate fdatasync(2) detection problems, correct dependencies, remove
outdated autoconf components, correct conf file paths and attributes,
complete and correct log file rotation handing, and note warnings
useful for diagnosing builds.

     1 #!@l_prefix@/bin/openpkg rc
     2 ##
     3 ##  rc.clamav -- Run-Commands
     4 ##
     6 %config
     7     clamav_enable="$openpkg_rc_def"
     8     clamav_daemons="clamd clamav-milter"
     9     clamav_clamd_flags=""
    10     clamav_clamav_milter_flags=""
    11     clamav_update="daily"
    12     clamav_log_prolog="true"
    13     clamav_log_epilog="true"
    14     clamav_log_numfiles="10"
    15     clamav_log_minsize="1M"
    16     clamav_log_complevel="9"
    18 %common
    19     clamav_cfgfile="@l_prefix@/etc/clamav/clamd.conf"
    20     clamav_milter_cfgfile="@l_prefix@/etc/clamav/clamav-milter.conf"
    21     clamav_pidfile_clamd="@l_prefix@/var/clamav/clamd.pid"
    22     clamav_pidfile_clamav_milter="@l_prefix@/var/clamav/clamav-milter.pid"
    23     clamav_signal () {
    24         [ -f $clamav_pidfile_clamd ] \
    25             && kill -$1 `cat $clamav_pidfile_clamd`
    26         local rc_clamav_clamd=$?
    27         [ -f $clamav_pidfile_clamav_milter ] \
    28             && kill -$1 `cat $clamav_pidfile_clamav_milter`
    29         local rc_clamav_clamav_milter=$?
    30         [    $rc_clamav_clamd         -eq 0 \
    31           -o $rc_clamav_clamav_milter -eq 0 ]
    32     }
    34 %status -u @l_rusr@ -o
    35     clamav_usable="unknown"
    36     clamav_active="no"
    37     rcService clamav enable yes && \
    38         clamav_signal 0 && clamav_active="yes"
    39     echo "clamav_enable=\"$clamav_enable\""
    40     echo "clamav_usable=\"$clamav_usable\""
    41     echo "clamav_active=\"$clamav_active\""
    43 %start -u @l_rusr@
    44     rcService clamav enable yes || exit 0
    45     rcService clamav active yes && exit 0
    46     for daemon in $clamav_daemons; do
    47         if [ ".$daemon" = ".clamd" ]; then
    48             @l_prefix@/sbin/clamd \
    49                 --config-file=$clamav_cfgfile \
    50                 $clamav_clamd_flags
    51         elif [ ".$daemon" = ".clamav-milter" -a -x @l_prefix@/sbin/clamav-milter ]; then
    52             ( umask 002
    53               @l_prefix@/sbin/clamav-milter \
    54                   --config-file=$clamav_milter_cfgfile \
    55                   $clamav_clamav_milter_flags
    56              ) || exit $?
    57         fi
    58     done
    60 %stop -u @l_rusr@
    61     rcService clamav enable yes || exit 0
    62     rcService clamav active no && exit 0
    63     clamav_signal TERM
    64     rm -f $clamav_pidfile_clamd 2>/dev/null || true
    65     rm -f $clamav_pidfile_clamav_milter 2>/dev/null || true
    67 %restart -u @l_rusr@
    68     rcService clamav enable yes || exit 0
    69     rcService clamav active no && exit 0
    70     rc clamav stop
    71     sleep 2
    72     rc clamav start
    74 %quarterly -u @l_rusr@
    75     rcService clamav enable yes || exit 0
    76     if [ ".$clamav_update" = .quarterly ]; then
    77         @l_prefix@/bin/freshclam
    78         if [ $? -ge 10 ]; then exit $?; fi
    79     fi
    81 %hourly -u @l_rusr@
    82     rcService clamav enable yes || exit 0
    83     if [ ".$clamav_update" = .hourly ]; then
    84         @l_prefix@/bin/freshclam
    85         if [ $? -ge 10 ]; then exit $?; fi
    86     fi
    88 %daily -u @l_rusr@
    89     rcService clamav enable yes || exit 0
    90     if [ ".$clamav_update" = .daily ]; then
    91         @l_prefix@/bin/freshclam
    92         if [ $? -ge 10 ]; then exit $?; fi
    93     fi
    94     logfiles=""
    95     for daemon in freshclam $clamav_daemons; do
    96         logfiles="$logfiles @l_prefix@/var/clamav/$daemon.log"
    97     done
    98     shtool rotate -f \
    99         -n $clamav_log_numfiles -s $clamav_log_minsize -d \
   100         -z $clamav_log_complevel -o @l_rusr@ -g @l_rgrp@ -m 644 \
   101         -P "$clamav_log_prolog" \
   102         -E "$clamav_log_epilog; rc clamav restart" \
   103         $logfiles
   105 %weekly -u @l_rusr@
   106     rcService clamav enable yes || exit 0
   107     if [ ".$clamav_update" = .weekly ]; then
   108         @l_prefix@/bin/freshclam
   109         if [ $? -ge 10 ]; then exit $?; fi
   110     fi

mercurial