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