Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  3 Jun 2007 09:01:03 +0900 (JST)
From:      NIIMI Satoshi <sa2c@sa2c.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/113270: mail/p5-Mail-SpamAssassin: periodic script to update rules 
Message-ID:  <20070603000103.DA2F640EA@berkeley.l.sa2c.net>
Resent-Message-ID: <200706030010.l530A41P081229@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         113270
>Category:       ports
>Synopsis:       mail/p5-Mail-SpamAssassin: periodic script to update rules
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jun 03 00:10:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     NIIMI Satoshi
>Release:        FreeBSD 6.2-RELEASE-p5 i386
>Organization:
>Environment:
System: FreeBSD berkeley.l.sa2c.net 6.2-RELEASE-p5 FreeBSD 6.2-RELEASE-p5 #1: Thu May 24 05:05:36 JST 2007 root@berkeley.l.sa2c.net:/usr/obj/usr/src/sys/GENERIC i386


	
>Description:
This PR adds a daily periodic script to run "sa-update" to fetch updated
rules.  (disabled by default)

This PR also adds a reload command to rc script so that updated rules
are reloaded gracefully.

	
>How-To-Repeat:
	
>Fix:
Please note to run "cvs add files/350.sa-update.in" before commit.

	

--- sa.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/mail/p5-Mail-SpamAssassin/Makefile,v
retrieving revision 1.106
diff -u -r1.106 Makefile
--- Makefile	2 Jun 2007 07:09:46 -0000	1.106
+++ Makefile	2 Jun 2007 23:41:05 -0000
@@ -7,6 +7,7 @@
 
 PORTNAME=	Mail-SpamAssassin
 PORTVERSION=	3.2.0
+PORTREVISION=	1
 CATEGORIES=	mail perl5
 MASTER_SITES=	${MASTER_SITE_APACHE:S/$/:apache/} ${MASTER_SITE_PERL_CPAN:S/$/:cpan/}
 MASTER_SITE_SUBDIR=	spamassassin/source/:apache Mail/:cpan
@@ -47,6 +48,8 @@
 		SPF_QUERY "Add SPF query support" off \
 		RELAY_COUNTRY "Relay country support" off
 
+SUB_FILES=	350.sa-update
+
 .include <bsd.port.pre.mk>
 
 .if defined (WITH_SPAMC)
@@ -237,6 +240,9 @@
 	@[ -f ${PREFIX}/etc/mail/spamassassin/v320.pre ] || \
 		${CP} ${PREFIX}/etc/mail/spamassassin/v320.pre.sample \
 			${PREFIX}/etc/mail/spamassassin/v320.pre
+	@${MKDIR} ${PREFIX}/etc/periodic/daily
+	@${INSTALL_SCRIPT} ${WRKDIR}/350.sa-update \
+			${PREFIX}/etc/periodic/daily/350.sa-update
 
 .if !defined(NOPORTDOCS)
 	@${MKDIR} ${DOCSDIR} ${DOCSDIR}/sql ${DOCSDIR}/ldap
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/mail/p5-Mail-SpamAssassin/pkg-plist,v
retrieving revision 1.38
diff -u -r1.38 pkg-plist
--- pkg-plist	2 Jun 2007 07:09:46 -0000	1.38
+++ pkg-plist	2 Jun 2007 23:43:35 -0000
@@ -20,6 +20,7 @@
 @unexec if cmp -s %B/v320.pre.sample %B/v320.pre; then rm -f %B/v320.pre; fi
 etc/mail/spamassassin/v320.pre.sample
 @exec [ -f %B/v320.pre ] || cp %B/%f %B/v320.pre
+etc/periodic/daily/350.sa-update
 %%SITE_PERL%%/Mail/SpamAssassin.pm
 %%SITE_PERL%%/Mail/SpamAssassin/AICache.pm
 %%SITE_PERL%%/Mail/SpamAssassin/ArchiveIterator.pm
@@ -181,6 +182,8 @@
 @dirrm %%SITE_PERL%%/Mail/SpamAssassin/Bayes
 @dirrm %%SITE_PERL%%/Mail/SpamAssassin
 @dirrmtry %%SITE_PERL%%/Mail
+@dirrmtry etc/periodic/daily
+@dirrmtry etc/periodic
 @dirrmtry etc/mail/spamassassin
 @dirrmtry etc/mail
 @dirrmtry /var/run/spamd
Index: files/350.sa-update.in
===================================================================
RCS file: files/350.sa-update.in
diff -N files/350.sa-update.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/350.sa-update.in	2 Jun 2007 23:12:14 -0000
@@ -0,0 +1,31 @@
+#! /bin/sh
+#
+# $FreeBSD$
+#
+# Update SpamAssassin rules.
+
+# If there is a global system configuration file, suck it in.
+#
+if [ -r /etc/defaults/periodic.conf ]
+then
+    . /etc/defaults/periodic.conf
+    source_periodic_confs
+fi
+
+rc=0
+case "$daily_sa_update_enable" in
+    [Yy][Ee][Ss])
+	if [ ! -x %%PREFIX%%/bin/sa-update ]; then
+	    echo '$daily_sa_update_enable is set but sa-update does not exist'
+	    rc=2
+	else
+	    echo ''
+	    echo 'Updating SpamAssassin rules:'
+	    if %%PREFIX%%/bin/sa-update; then
+		%%PREFIX%%/etc/rc.d/sa-spamd reload || rc=1
+	    fi
+	fi
+	;;
+esac
+
+exit $rc
Index: files/sa-spamd.sh.in
===================================================================
RCS file: /home/ncvs/ports/mail/p5-Mail-SpamAssassin/files/sa-spamd.sh.in,v
retrieving revision 1.1
diff -u -r1.1 sa-spamd.sh.in
--- files/sa-spamd.sh.in	20 Mar 2006 13:03:33 -0000	1.1
+++ files/sa-spamd.sh.in	2 Jun 2007 22:27:35 -0000
@@ -31,6 +31,7 @@
 command=%%PREFIX%%/bin/spamd
 command_args="-d -r ${pidfile}"
 required_dirs=%%PREFIX%%/share/spamassassin
+extra_commands="reload"
 
 stop_postcmd=stop_postcmd
 
--- sa.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070603000103.DA2F640EA>