clamav/rc.clamav

Fri, 07 Sep 2012 19:08:07 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 07 Sep 2012 19:08:07 +0200
changeset 667
9dacbd1d1aa2
parent 233
f5f6e93f3dc6
permissions
-rw-r--r--

Correct build configuration in Solaris subdir, correct english grammar,
remove irrelevant strip notice, introduce custom CFLAG logic, facilitate
use of Solaris Studio compiler with needed build configuration
adjustments, conditionally build 64 bit position independent code,
and accommodate tun(7) in newer Solaris releases by renaming driver
and module from conflicting 'tun' to 'vtun'. These changes include
some nonstandard 'I give up' logic causing out of tree builds by
manipulating the PATH, for example.

     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