clamav/rc.clamav

Mon, 17 Sep 2012 19:10:10 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 17 Sep 2012 19:10:10 +0200
changeset 689
9fe04d4d4e5a
parent 233
f5f6e93f3dc6
permissions
-rw-r--r--

Update to new version of vendor software although Oracle fails to deliver.
More specifically, newer db(3) patch revisions exist but Oracle has
removed them from the canonical download server URI for Berkely DB.

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

mercurial