Mon, 17 Sep 2012 19:10:10 +0200
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 |