Your message dated Tue, 16 Mar 2010 21:41:25 +0100
with message-id <[email protected]>
and subject line Unneeded, apparently
has caused the Debian Bug report #486833,
regarding spamassassin: Please extend cronjob to support multiple/alternate 
daemons
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
486833: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=486833
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: spamassassin
Version: 3.2.4-1
Severity: wishlist
Tags: patch

The attached patch extends cronjob to support multiple/alternate daemons.

Kind regards,

 - Jonas


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.25-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=da_DK.UTF-8, LC_CTYPE=da_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages spamassassin depends on:
pn  libarchive-tar-perl           <none>     (no description available)
ii  libdigest-sha1-perl           2.11-2+b1  NIST SHA-1 message digest algorith
ii  libhtml-parser-perl           3.56-1+b1  A collection of modules that parse
ii  libnet-dns-perl               0.63-1+b1  Perform DNS queries from a Perl sc
pn  libsocket6-perl               <none>     (no description available)
ii  libsys-hostname-long-perl     1.4-2      Figure out the long (fully-qualifi
ii  libwww-perl                   5.812-1    WWW client/server library for Perl
ii  perl                          5.10.0-10  Larry Wall's Practical Extraction 
ii  perl-modules [libio-zlib-perl 5.10.0-10  Core Perl modules

Versions of packages spamassassin recommends:
ii  gcc                           4:4.3.0-8  The GNU C compiler
ii  gnupg                         1.4.9-2    GNU privacy guard - a free PGP rep
ii  libc6-dev                     2.7-12     GNU C Library: Development Librari
pn  libmail-spf-perl              <none>     (no description available)
pn  libsys-syslog-perl            <none>     (no description available)
ii  make                          3.81-5     The GNU version of the "make" util
pn  re2c                          <none>     (no description available)
pn  spamc                         <none>     (no description available)
diff -u spamassassin-3.2.4/debian/spamassassin.default 
spamassassin-3.2.4/debian/spamassassin.default
--- spamassassin-3.2.4/debian/spamassassin.default
+++ spamassassin-3.2.4/debian/spamassassin.default
@@ -5,6 +5,7 @@
 # There may be security risks.
 
 # Change to one to enable spamd
+# (CRON_* and SA_UPDATE_* options below is unaffected by this setting)
 ENABLED=0
 
 # Options
@@ -31,0 +33,32 @@
+
+# Cronjob bayes token expiry
+# Set to anything but 0 to enable the cron job to automatically expire
+# old bayes tokens with the nightly cronjob
+# Dependent daemons will be fully stopped during the bayes token expiry
+# You should also disable bayes_auto_expire in /etc/spamassassin/local.cf
+CRON_BAYES_EXPIRE=0
+
+# switch (using su) to and invoke sa-update for each of these users
+# If undefined, sa-update is invoked for root
+#SA_UPDATE_USERS="amavis"
+
+# Daemons
+# Set to list of SysV daemons to be reloaded after a ruleset update.
+# If CRON_BAYES_EXPIRE enabled the daemons are instead stopped as listed
+# here and started again in reverse order
+CRON_DAEMONS="spamassassin"
+#CRON_DAEMONS="exim4 amavis"
+
+# sa-update options
+# Options passed to sa-update in cronjob
+SA_UPDATE_OPTIONS=""
+#SA_UPDATE_OPTIONS="--gpgkey D1C035168C1EBC08464946DA258CDB3ABDE9DC10 
--channel saupdates.openprotect.com --channel updates.spamassassin.org"
+
+# sa-compile options
+# Options passed to sa-compile in cronjob
+SA_COMPILE_OPTIONS=""
+
+# sa-compile options
+# Options passed to sa-compile in cronjob
+SA_LEARN_OPTIONS=""
+#SA_LEARN_OPTIONS="--force-expire"
diff -u spamassassin-3.2.4/debian/spamassassin.cron.daily 
spamassassin-3.2.4/debian/spamassassin.cron.daily
--- spamassassin-3.2.4/debian/spamassassin.cron.daily
+++ spamassassin-3.2.4/debian/spamassassin.cron.daily
@@ -9,11 +9,16 @@
 set -e
 
 CRON=0
+CRON_BAYES_EXPIRE=0
+CRON_DAEMONS="spamassassin"
+SA_UPDATE_USERS=""
+SA_UPDATE_OPTIONS=""
+SA_COMPILE_OPTIONS=""
+SA_LEARN_OPTIONS="--force-expire"
 
 test -f /etc/default/spamassassin && . /etc/default/spamassassin
 
 test -x /usr/bin/sa-update || exit 0
-test -x /etc/init.d/spamassassin || exit 0
 
 if [ "$CRON" = "0" ] ; then
     exit 0
@@ -29,15 +34,46 @@
 
-# Update
-sa-update || exit 0
+# Update, and catch errorlevel
+( set +e; sa-update $SA_UPDATE_OPTIONS ); sa_update_error=$?
+
+# Stop here if no update and no other tasks
+[ $sa_update_error -gt 0 ] && [ "$CRON_BAYES_EXPIRE" = "0" ] && exit 0
 
 # Compile, if rules have previously been compiled, and it's possible
-if [ -x /usr/bin/re2c -a -x /usr/bin/sa-compile -a -d 
/var/lib/spamassassin/compiled ]; then
-    sa-compile > /dev/null 2>&1
+if [ $sa_update_error -eq 0 ] && [ -x /usr/bin/re2c ] && [ -x 
/usr/bin/sa-compile ] && [ -d /var/lib/spamassassin/compiled ]; then
+    sa-compile $SA_COMPILE_OPTIONS > /dev/null 2>&1
 fi
 
-# Reload
-if which invoke-rc.d >/dev/null 2>&1; then
-    invoke-rc.d spamassassin reload > /dev/null 2>&1
+
+invoke_rc_d_silent() {
+    daemon="$1"
+    action="$2"
+    if which invoke-rc.d >/dev/null 2>&1; then
+       invoke-rc.d $daemon $action > /dev/null 2>&1
+    else
+       /etc/init.d/$daemon $action > /dev/null 2>&1
+    fi
+}
+
+if [ "$CRON_BAYES_EXPIRE" = "0" ]; then
+    # Reload spamassassin-dependent daemons
+    for daemon in $CRON_DAEMONS; do
+       invoke_rc_d_silent $daemon reload
+    done
 else
-    /etc/init.d/spamassassin reload > /dev/null 2>&1
+    # Expire old Bayes tokens and restart spamassassin-dependent daemons
+    daemons_stopped=""
+    for daemon in $CRON_DAEMONS; do
+       invoke_rc_d_silent $daemon stop
+       daemons_stopped="$daemon $daemons_stopped"
+    done
+    if [ -n "$SA_UPDATE_USERS" ]; then
+       for user in $SA_UPDATE_USERS; do
+           su -s /bin/sh -c "sa-learn $SA_LEARN_OPTIONS" $user > /dev/null 2>&1
+       done
+    else
+       sa-learn $SA_LEARN_OPTIONS > /dev/null 2>&1
+    fi
+    for daemon in $daemons_stopped; do
+       invoke_rc_d_silent $daemon start
+    done
 fi

--- End Message ---
--- Begin Message ---
No need any longer for this wishlist item, apparently.

Quite annoying with absolute silence from package maintainers. :-(


 - Jonas

--
* Jonas Smedegaard - idealist & Internet-arkitekt
* Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to