Browse Source

allow updating in three different intervals as its the case in the uvscan package, too

Ralf S. Engelschall 21 years ago
parent
commit
a0f36a2acc
3 changed files with 74 additions and 38 deletions
  1. 22 5
      clamav/rc.clamav
  2. 51 32
      sav/rc.sav
  3. 1 1
      sav/sav.spec

+ 22 - 5
clamav/rc.clamav

@@ -5,6 +5,7 @@
 
 %config
     clamav_enable="$openpkg_rc_def"
+    clamav_update="daily"
     clamav_log_prolog="true"
     clamav_log_epilog="true"
     clamav_log_numfiles="10"
@@ -45,17 +46,33 @@
     sleep 2
     rc clamav start
 
-%daily -u @l_rusr@
+%hourly -u @l_rusr@
     rcService clamav enable yes || exit 0
+    if [ ".$clamav_update" = .hourly ]; then
+        @l_prefix@/bin/freshclam
+    fi
 
-    #   update virus database
-    @l_prefix@/bin/freshclam
-
-    #   rotate logfiles
+%daily -u @l_rusr@
+    rcService clamav enable yes || exit 0
+    if [ ".$clamav_update" = .hourly ]; then
+        @l_prefix@/bin/freshclam
+    fi
     shtool rotate -f \
         -n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
         -z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
         -P "${clamav_log_prolog}" \
         -E "${clamav_log_epilog} && rc clamav restart" \
         @l_prefix@/var/clamav/clamd.log
+    shtool rotate -f \
+        -n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
+        -z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
+        -P "${clamav_log_prolog}" \
+        -E "${clamav_log_epilog} && rc clamav restart" \
+        @l_prefix@/var/clamav/freshclam.log
+
+%weekly -u @l_rusr@
+    rcService clamav enable yes || exit 0
+    if [ ".$clamav_update" = .hourly ]; then
+        @l_prefix@/bin/freshclam
+    fi
 

+ 51 - 32
sav/rc.sav

@@ -6,39 +6,58 @@
 %config
     sav_enable="$openpkg_rc_def"
     sav_ides="http://downloads.sophos.com/downloads/ide/"
+    sav_update="daily"
+
+%common
+    sav_update () {
+        #   determine information
+        sav_datadir="@l_prefix@/var/sav/data"
+        sav_version=`@l_prefix@/bin/sweep -v |\
+                     sed -n -e 's;^Product version[^0-9]*\([0-9]\)\.\([0-9.]*\).*$;\1\2;p'`
+        sav_zipfile="${sav_version}_ides.zip"
+        sav_tmpdir="${sav_version}_ides"
+
+        #   download and unpack latest IDEs
+        umask 077
+        cd ${sav_datadir} || exit 1
+        rm -f ${sav_zipfile} >/dev/null 2>&1 || true
+        @l_prefix@/bin/curl -s -o ${sav_zipfile} ${sav_ides}/${sav_zipfile} || exit 1
+        rm -rf ${sav_tmpdir} >/dev/null 2>&1 || true
+        mkdir ${sav_tmpdir}
+        ( cd ${sav_tmpdir} && @l_prefix@/bin/unzip -jo ../${sav_zipfile} ) || exit 1
+
+        #   remove deprecated IDEs which are not part of the latest IDE pack
+        shopt -s nullglob
+        for ide in *.ide; do
+            if [ ! -f ${sav_tmpdir}/$ide ]; then
+                rm -f $ide
+            fi
+        done
+
+        #   update IDE repository by installing IDE files
+        @l_prefix@/lib/openpkg/shtool install -m 644 -o @l_musr@ -g @l_mgrp@ \
+            ${sav_tmpdir}/*.ide .
+
+        #   cleanup
+        rm -f  ${sav_zipfile} >/dev/null 2>&1 || true
+        rm -rf ${sav_tmpdir}  >/dev/null 2>&1 || true
+    }
+
+%hourly -u @l_musr@
+    rcService sav enable yes || exit 0
+    if [ ".$sav_update" = .hourly ]; then
+        sav_update || exit $?
+    fi
 
-%hourly -u @l_susr@
+%daily -u @l_musr@
     rcService sav enable yes || exit 0
+    if [ ".$sav_update" = .daily ]; then
+        sav_update || exit $?
+    fi
 
-    #   determine information
-    sav_datadir="@l_prefix@/var/sav/data"
-    sav_version=`@l_prefix@/bin/sweep -v |\
-                 sed -n -e 's;^Product version[^0-9]*\([0-9]\)\.\([0-9.]*\).*$;\1\2;p'`
-    sav_zipfile="${sav_version}_ides.zip"
-    sav_tmpdir="${sav_version}_ides"
-
-    #   download and unpack latest IDEs
-    umask 077
-    cd ${sav_datadir} || exit 1
-    rm -f ${sav_zipfile} >/dev/null 2>&1 || true
-    @l_prefix@/bin/curl -s -o ${sav_zipfile} ${sav_ides}/${sav_zipfile} || exit 1
-    rm -rf ${sav_tmpdir} >/dev/null 2>&1 || true
-    mkdir ${sav_tmpdir}
-    ( cd ${sav_tmpdir} && @l_prefix@/bin/unzip -jo ../${sav_zipfile} ) || exit 1
-
-    #   remove deprecated IDEs which are not part of the latest IDE pack
-    shopt -s nullglob
-    for ide in *.ide; do
-        if [ ! -f ${sav_tmpdir}/$ide ]; then
-            rm -f $ide
-        fi
-    done
-
-    #   update IDE repository by installing IDE files
-    @l_prefix@/lib/openpkg/shtool install -m 644 -o @l_musr@ -g @l_mgrp@ \
-        ${sav_tmpdir}/*.ide .
-
-    #   cleanup
-    rm -f  ${sav_zipfile} >/dev/null 2>&1 || true
-    rm -rf ${sav_tmpdir}  >/dev/null 2>&1 || true
+%weekly -u @l_musr@
+    rcService sav enable yes || exit 0
+    if [ ".$sav_update" = .weekly ]; then
+        sav_update || exit $?
+    fi
 

+ 1 - 1
sav/sav.spec

@@ -39,7 +39,7 @@ Class:        EVAL
 Group:        System
 License:      Commercial/Free-Trial
 Version:      %{V_engine}.%{V_ides_maj}%{V_ides_min}
-Release:      20040426
+Release:      20040523
 
 #   list of sources
 Source0:      http://downloads.sophos.com/dp/full/freebsd.elf.tar.Z