ports/66851: ports/mail/spamass-milter -- Upgrade to use RC_SUBR

Jeremy Chadwick freebsd at jdc.parodius.com
Wed May 19 00:31:11 UTC 2004


>Number:         66851
>Category:       ports
>Synopsis:       ports/mail/spamass-milter -- Upgrade to use RC_SUBR
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue May 18 17:30:20 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Jeremy Chadwick
>Release:        FreeBSD 4.10-PRERELEASE i386
>Organization:
Parodius Networking
>Environment:
System: FreeBSD pentarou.parodius.com 4.10-PRERELEASE FreeBSD 4.10-PRERELEASE #0: Wed May 5 03:33:17 PDT 2004 root at pentarou.parodius.com:/usr/obj/usr/src/sys/PENTAROU i386
>Description:
	A simple change to make ports/mail/spamass-milter rely on RC_SUBR.  I've
	also updated files/activation.txt to reflect the fact that spamd now
	uses RC_SUBR too, so no need for the cp/chmod stuff.
	
	Also, the PID stuff that was in PORTREVISION=1 seemed to be, well, quite
	broken.  The PID file would never have the correct ID, for obvious reasons.
	
	Port committer should note the following:
	
	* files/spamass-milter.sh.dist has been removed
	* files/spamass-milter.sh needs a FreeBSD CVS ID (note tag at top of file)
	* Should make sure /usr/ports/UPDATING gets updated with info about how
	  we now use spamass_milter_enable rc.conf(5) tweaks.
	
	Maintainer has been CC'd.
>How-To-Repeat:
	Not applicable.
>Fix:
	See attached patch.

diff -ruN spamass-milter.orig/Makefile spamass-milter/Makefile
--- spamass-milter.orig/Makefile	Wed Mar 17 06:17:12 2004
+++ spamass-milter/Makefile	Tue May 18 12:52:55 2004
@@ -7,7 +7,7 @@
 
 PORTNAME=	spamass-milter
 PORTVERSION=	0.2.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	mail
 MASTER_SITES=	${MASTER_SITE_SAVANNAH}
 MASTER_SITE_SUBDIR=	spamass-milt
@@ -59,17 +59,20 @@
 USE_AUTOCONF_VER= 253
 USE_AUTOMAKE_VER= 15
 
+USE_RC_SUBR=	yes
+RC_SCRIPTS_SUB=	PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
+
 MAN1=		spamass-milter.1
 
 post-patch:
-.for f in spamass-milter.sh.dist activation.txt
-	${SED} -e 's|/usr/local|${PREFIX}|g' \
-		${FILESDIR}/${f} > ${WRKDIR}/${f}
-.endfor
+	@${SED} -e 's|/usr/local|${PREFIX}|g' \
+		${FILESDIR}/activation.txt > ${WRKDIR}/activation.txt
+	@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
+		${FILESDIR}/spamass-milter.sh > ${WRKDIR}/spamass-milter.sh
+
 
 post-install:
-	${INSTALL_DATA} ${WRKDIR}/spamass-milter.sh.dist \
-		${PREFIX}/etc/rc.d/spamass-milter.sh.dist
+	@${INSTALL_SCRIPT} ${WRKDIR}/spamass-milter.sh ${PREFIX}/etc/rc.d/spamass-milter.sh
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
 	${INSTALL_DATA} ${WRKDIR}/activation.txt ${DOCSDIR}/activation.txt
diff -ruN spamass-milter.orig/files/activation.txt spamass-milter/files/activation.txt
--- spamass-milter.orig/files/activation.txt	Wed Jan  8 10:13:50 2003
+++ spamass-milter/files/activation.txt	Tue May 18 12:46:37 2004
@@ -6,16 +6,10 @@
 
 2. If you didn't activate spamd (the SpamAssassin daemon), do so now:
 
-	cd /usr/local/etc/rc.d
-	cp -p spamd.sh-dist spamd.sh
-	chmod 755 spamd.sh
 	/usr/local/etc/rc.d/spamd.sh start
 
 3. Activate spamass-milter:
 
-	cd /usr/local/etc/rc.d
-	cp -p spamass-milter.sh.dist spamass-milter.sh
-	chmod 755 spamass-milter.sh
 	/usr/local/etc/rc.d/spamass-milter.sh start
 
 4. Backup your sendmail.cf (in /etc/mail).
diff -ruN spamass-milter.orig/files/spamass-milter.sh spamass-milter/files/spamass-milter.sh
--- spamass-milter.orig/files/spamass-milter.sh	Wed Dec 31 16:00:00 1969
+++ spamass-milter/files/spamass-milter.sh	Tue May 18 12:48:25 2004
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# <<<Add FreeBSD CVS ID here!>>>
+#
+
+# PROVIDE: spamass-milter
+# REQUIRE: LOGIN
+# BEFORE: mail
+# KEYWORD: FreeBSD shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable spamass-milter:
+#
+#spamass_milter_enable="YES"
+#
+# See spamass-milter(8) for flags.
+#
+
+. %%RC_SUBR%%
+
+name=spamass_milter
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/sbin/spamass-milter
+required_dirs=%%PREFIX%%/share/spamassassin
+
+# set defaults
+
+spamass_milter_enable=${spamass_milter_enable:-"NO"}
+spamass_milter_socket=${spamass_milter_socket:-"/var/run/spamass-milter.sock"}
+spamass_milter_flags=${spamass_milter_flags:-"-f -p ${spamass_milter_socket}"}
+
+start_postcmd=start_postcmd
+stop_postcmd=stop_postcmd
+
+start_postcmd()
+{
+  sleep 1
+  kill -HUP `head -1 /var/run/sendmail.pid`
+}
+
+stop_postcmd()
+{
+  rm -f ${spamass_milter_socket}
+  sleep 1
+  kill -HUP `head -1 /var/run/sendmail.pid`
+}
+
+load_rc_config ${name}
+run_rc_command "$1"
diff -ruN spamass-milter.orig/files/spamass-milter.sh.dist spamass-milter/files/spamass-milter.sh.dist
--- spamass-milter.orig/files/spamass-milter.sh.dist	Mon Sep  9 23:09:15 2002
+++ spamass-milter/files/spamass-milter.sh.dist	Wed Dec 31 16:00:00 1969
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-DAEMON=/usr/local/sbin/spamass-milter
-SOCKET=/var/run/spamass-milter.sock
-PIDFILE=/var/run/spamass-milter.pid
-
-case "$1" in
-start)
-	if [ -f "${DAEMON}" -a -x "${DAEMON}" ]
-	then
-		"${DAEMON}" -p "${SOCKET}" -f &
-		echo $! > "${PIDFILE}"
-		sleep 1
-		kill -HUP `head -1 /var/run/sendmail.pid`
-		echo -n ' spamass-milter'
-	fi
-;;
-stop)
-	if [ -f "${PIDFILE}" ]
-	then
-		read -r pid junk < "${PIDFILE}"
-		kill ${pid}
-		rm -f "${SOCKET}" "${PIDFILE}"
-		sleep 1
-		kill -HUP `head -1 /var/run/sendmail.pid`
-		echo -n ' spamass-milter'
-	fi
-;;
-esac
diff -ruN spamass-milter.orig/pkg-plist spamass-milter/pkg-plist
--- spamass-milter.orig/pkg-plist	Wed Jun 26 11:54:01 2002
+++ spamass-milter/pkg-plist	Tue May 18 12:43:41 2004
@@ -1,4 +1,4 @@
 sbin/spamass-milter
-etc/rc.d/spamass-milter.sh.dist
+etc/rc.d/spamass-milter.sh
 %%PORTDOCS%%share/doc/spamass-milter/activation.txt
 %%PORTDOCS%%@dirrm share/doc/spamass-milter

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



More information about the freebsd-ports-bugs mailing list