From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Sep 9 17:50:15 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 73B0916A4BF for ; Tue, 9 Sep 2003 17:50:15 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4AC243FF5 for ; Tue, 9 Sep 2003 17:50:11 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h8A0oBUp009521 for ; Tue, 9 Sep 2003 17:50:11 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h8A0oBs1009520; Tue, 9 Sep 2003 17:50:11 -0700 (PDT) Resent-Date: Tue, 9 Sep 2003 17:50:11 -0700 (PDT) Resent-Message-Id: <200309100050.h8A0oBs1009520@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Scot W. Hetzel" Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 271D616A4BF for ; Tue, 9 Sep 2003 17:43:18 -0700 (PDT) Received: from mail.westbend.net (ns1.westbend.net [216.47.253.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id F15D443F75 for ; Tue, 9 Sep 2003 17:43:16 -0700 (PDT) (envelope-from admin@WBIw009.westbend.net) Received: from WBIw009.westbend.net (wbiw009 [216.47.253.29]) by mail.westbend.net (8.12.9/8.12.9) with ESMTP id h8A0hD2a034660 for ; Tue, 9 Sep 2003 19:43:13 -0500 (CDT) (envelope-from admin@WBIw009.westbend.net) Received: from WBIw009.westbend.net (localhost [127.0.0.1]) by WBIw009.westbend.net (8.12.9/8.12.9) with ESMTP id h8A0hCnr071116 for ; Tue, 9 Sep 2003 19:43:13 -0500 (CDT) (envelope-from admin@WBIw009.westbend.net) Received: (from root@localhost) by WBIw009.westbend.net (8.12.9/8.12.9/Submit) id h8A0hBql071115; Tue, 9 Sep 2003 19:43:11 -0500 (CDT) Message-Id: <200309100043.h8A0hBql071115@WBIw009.westbend.net> Date: Tue, 9 Sep 2003 19:43:11 -0500 (CDT) From: "Scot W. Hetzel" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/56658: Convert security/amavisd startup scripts to use rc.subr X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: "Scot W. Hetzel" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Sep 2003 00:50:15 -0000 >Number: 56658 >Category: ports >Synopsis: Convert security/amavisd startup scripts to use rc.subr >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: Tue Sep 09 17:50:11 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Scot W. Hetzel >Release: FreeBSD 4.9-PRERELEASE i386 >Organization: West Bend Internet >Environment: System: FreeBSD WBIw009.westbend.net 4.9-PRERELEASE FreeBSD 4.9-PRERELEASE #8: Mon Sep 1 11:51:34 CDT 2003 root@WBIw009.westbend.net:/usr/obj/usr/src/4x/sys/GENERIC-SMP i386 >Description: Convert security/amavisd startup scripts to use sysutils/rc_subr. Add PTHREADS_LIBS and PTHREADS_CFLAGS to CONFIGURE_ENV, fixes the build of amavis-milter to work on -CURRENT. Since, -pthreads was removed. NOTE: The configuration of amavisd with milter support (-DWITH_MILTER) will fail, if either the libsmutil.a (<8.12) or libsm.a (8.12+) is not installed in /usr/lib. To fix this problem change INTERNALLIB to NOPIC in /usr/src/lib/libsm/Makefile, then make obj && make && make install. >How-To-Repeat: >Fix: Changed Files: Makefile pkg-plist files/amavisd-milter.sh files/amavisd.sh Removed Files: pkg-plist.milter Index: Makefile =================================================================== RCS file: /home/ncvs/ports/security/amavisd/Makefile,v retrieving revision 1.11 diff -u -r1.11 Makefile --- Makefile 6 Sep 2003 15:59:09 -0000 1.11 +++ Makefile 9 Sep 2003 23:54:44 -0000 @@ -7,6 +7,7 @@ PORTNAME= amavisd PORTVERSION= 0.1 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= security MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} @@ -39,6 +40,9 @@ AMAVISGROUP?= vscan AMAVISUSER?= vscan +MILTER_SCRIPT= +MILTER= "@comment -- no milter script --" +SBIN_AMAVIS= amavis SMTPPORT?= 10025 STARTSCRIPT= amavisd.sh WARNADMIN?= yes @@ -65,22 +69,52 @@ .elif defined(WITH_MILTER) CONFIGURE_ARGS+= --enable-milter MTA?= milter -PLIST= ${PKGDIR}/pkg-plist.milter -STARTSCRIPT= amavisd-milter.sh +MILTER_SCRIPT= amavisd-milter +MILTER= +SBIN_AMAVIS= amavis-milter .else CONFIGURE_ARGS+= --enable-sendmail MTA?= sendmail .endif +.include + +.if ${OSVERSION} >= 500038 +RC_SUBR?= ${DESTDIR}/etc/rc.subr +RC_DIR= ${DESTDIR}/etc/rc.d +RC_SUFX= +.else +USE_RC_SUBR= yes +RC_DIR= ${PREFIX}/etc/rc.d +RC_SUFX= .sh +.endif + +CONFIGURE_ENV+= PTHREAD_LIBS=${PTHREAD_LIBS} \ + PTHREAD_CFLAGS=${PTHREAD_CFLAGS} + +RC_SCRIPTS_SUB= AMAVISUSER=${AMAVISUSER} \ + PREFIX=${PREFIX} \ + PERL=${PERL} \ + RC_SUBR=${RC_SUBR} + +PLIST_SUB+= SBIN_AMAVIS=${SBIN_AMAVIS} \ + MILTER=${MILTER} \ + RC_SUFX=${RC_SUFX} \ + RC_DIR=${RC_DIR} + post-patch: - @${SED} 's,%%AMAVISUSER%%,${AMAVISUSER},g' ${FILESDIR}/${STARTSCRIPT} > ${WRKSRC}/${STARTSCRIPT} +.for script in amavisd ${MILTER_SCRIPT} + @${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${FILESDIR}/${script}.sh > ${WRKSRC}/${script}.sh +.endfor @${PERL} -pi.orig -e 's|/etc/amavisd.conf|${PREFIX}/etc/amavisd.conf|g' ${WRKSRC}/configure ${WRKSRC}/amavis/amavisd.in ${WRKSRC}/amavis/Makefile.in pre-install: @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${AMAVISUSER} ${AMAVISGROUP} post-install: - ${INSTALL_SCRIPT} ${WRKSRC}/${STARTSCRIPT} ${PREFIX}/etc/rc.d +.for script in amavisd ${MILTER_SCRIPT} + ${INSTALL_SCRIPT} ${WRKSRC}/${script}.sh ${RC_DIR}/${script}${RC_SUFX} +.endfor .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} .for FILE in FAQ INSTALL README README.exim README.milter README.postfix README.qmail README.scanners README.sendmail doc/amavis.html doc/amavis.m4 doc/amavis.png doc/amavis.txt @@ -91,4 +125,4 @@ @${ECHO} "===============================================================================" .endif -.include +.include Index: pkg-plist =================================================================== RCS file: /home/ncvs/ports/security/amavisd/pkg-plist,v retrieving revision 1.3 diff -u -r1.3 pkg-plist --- pkg-plist 6 Sep 2003 15:59:09 -0000 1.3 +++ pkg-plist 9 Sep 2003 17:07:17 -0000 @@ -13,6 +13,8 @@ %%PORTDOCS%%%%DOCSDIR%%/amavis.txt %%PORTDOCS%%@dirrm %%DOCSDIR%% etc/amavisd.conf -etc/rc.d/amavisd.sh -sbin/amavis +sbin/%%SBIN_AMAVIS%% sbin/amavisd +@cwd %%RC_DIR%% +%%MILTER%%amavisd-milter%%RC_SUFX%% +amavisd%%RC_SUFX%% Index: files/amavisd-milter.sh =================================================================== RCS file: /home/ncvs/ports/security/amavisd/files/amavisd-milter.sh,v retrieving revision 1.2 diff -u -r1.2 amavisd-milter.sh --- files/amavisd-milter.sh 24 May 2002 03:58:28 -0000 1.2 +++ files/amavisd-milter.sh 9 Sep 2003 20:23:16 -0000 @@ -1,31 +1,57 @@ #!/bin/sh +# +# $FreeBSD$ +# -if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then - echo "$0: Cannot determine the PREFIX" >&2 - exit 1 -fi - -case "$1" in -start) - ( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1 - AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }') - AMAVIS_MILTER=$(/bin/ps -xU %%AMAVISUSER%% | grep amavis-milter | awk '{ print $1 }') - ( /bin/test "$AMAVISD" || /bin/test "$AMAVIS_MILTER" ) && \ - su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD $AMAVIS_MILTER" > /dev/null - rm -rf /var/amavis/amavis*.sock - su - %%AMAVISUSER%% -c "${PREFIX}/sbin/amavis-milter -D -p /var/amavis/amavis-milter.sock" > /dev/null - su - %%AMAVISUSER%% -c ${PREFIX}/sbin/amavisd > /dev/null 2>&1 && echo -n ' amavisd-milter' - ;; -stop) - ( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1 - AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }') - AMAVIS_MILTER=$(/bin/ps -xU %%AMAVISUSER%% | grep amavis-milter | awk '{ print $1 }') - ( /bin/test "$AMAVISD" || /bin/test "$AMAVIS_MILTER" ) && \ - su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD $AMAVIS_MILTER" > /dev/null && echo -n ' amavisd-milter' - ;; -*) - echo "Usage: `basename $0` {start|stop}" >&2 - ;; -esac +# PROVIDE: amavisd-milter +# BEFORE: amavisd mail +# KEYWORD: FreeBSD shutdown -exit 0 +prefix=%%PREFIX%% + +# Define these amavisd_milter_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +amavisd_milter_enable=no +amavisd_milter_flags="-D" +amavisd_milter_user=%%AMAVISUSER%% +#amavisd_milter_socket="inet:9999@127.0.0.1" +amavisd_milter_socket="local:/var/amavis/amavis-milter.sock" + +. %%RC_SUBR%% + +name="amavisd_milter" +rcvar=`set_rcvar` +start_precmd="amavisd_precmd" +stop_postcmd="remove_socket" +command=${prefix}/sbin/amavis-milter + +# Remove the AMaViSd Milter Socket +remove_socket() +{ + case ${amavisd_milter_socket} in + unix:*|local:*) + socket=`echo ${amavisd_milter_socket} | /usr/bin/cut -d: -f2` + if [ -S ${socket} ]; then + rm -f ${socket} + fi + ;; + /*) + if [ -S ${amavisd_milter_socket} ]; then + rm -f ${amavisd_milter_socket} + fi + ;; + esac +} + +amavisd_precmd() +{ + rc_flags="${rc_flags} -p ${amavisd_milter_socket}" + + remove_socket +} + +load_rc_config $name +run_rc_command "$1" Index: files/amavisd.sh =================================================================== RCS file: /home/ncvs/ports/security/amavisd/files/amavisd.sh,v retrieving revision 1.3 diff -u -r1.3 amavisd.sh --- files/amavisd.sh 24 May 2002 03:58:28 -0000 1.3 +++ files/amavisd.sh 9 Sep 2003 15:46:10 -0000 @@ -1,28 +1,41 @@ #!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: amavisd +# BEFORE: mail +# KEYWORD: FreeBSD shutdown -if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then - echo "$0: Cannot determine the PREFIX" >&2 - exit 1 -fi - -case "$1" in -start) - ( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1 - AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }') - ( /bin/test "$AMAVISD" ) && \ - su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD" > /dev/null - rm -rf /var/amavis/amavis*.sock - su - %%AMAVISUSER%% -c ${PREFIX}/sbin/amavisd > /dev/null 2>&1 && echo -n ' amavisd' - ;; -stop) - ( [ -x ${PREFIX}/sbin/amavisd ] || [ -x ${PREFIX}/sbin/amavis-milter ] ) || exit 1 - AMAVISD=$(/bin/ps -xU %%AMAVISUSER%% | grep amavisd | awk '{ print $1 }') - ( /bin/test "$AMAVISD") && \ - su - %%AMAVISUSER%% -c "/bin/kill $AMAVISD" > /dev/null && echo -n ' amavisd' - ;; -*) - echo "Usage: `basename $0` {start|stop}" >&2 - ;; -esac +prefix=%%PREFIX%% -exit 0 +# Define these amavisd_milter_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +amavisd_enable=no +amavisd_flags="" +amavisd_user=%%AMAVISUSER%% + +. %%RC_SUBR%% + +name="amavisd" +rcvar=`set_rcvar` +start_precmd="remove_socket" +stop_postcmd="remove_socket" +command=${prefix}/sbin/amavisd +command_arg="> /dev/null 2>&1" +command_interpreter="%%PERL%%" +pidfile="/var/amavis/amavisd.pid" + +# Remove the AMaViSd Socket +remove_socket() +{ + if [ -S /var/amavis/amavisd.sock ]; then + rm -f /var/amavis/amavisd.sock + fi +} + +load_rc_config $name +run_rc_command "$1" >Release-Note: >Audit-Trail: >Unformatted: