From owner-freebsd-ports-bugs@FreeBSD.ORG Mon May 23 18:20:04 2005 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org 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 001C116A41F for ; Mon, 23 May 2005 18:20:03 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BBD043D58 for ; Mon, 23 May 2005 18:20:03 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j4NIK2br067277 for ; Mon, 23 May 2005 18:20:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j4NIK2wq067276; Mon, 23 May 2005 18:20:02 GMT (envelope-from gnats) Resent-Date: Mon, 23 May 2005 18:20:02 GMT Resent-Message-Id: <200505231820.j4NIK2wq067276@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, "Douglas K. Rand" Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 115FB16A41C for ; Mon, 23 May 2005 18:16:42 +0000 (GMT) (envelope-from rand@meridian-enviro.com) Received: from newman.meridian-enviro.com (newman.meridian-enviro.com [207.109.235.166]) by mx1.FreeBSD.org (Postfix) with ESMTP id B7B6F43D1F for ; Mon, 23 May 2005 18:16:41 +0000 (GMT) (envelope-from rand@meridian-enviro.com) Received: from delta.meridian-enviro.com (delta.meridian-enviro.com [10.10.10.43]) by newman.meridian-enviro.com (8.13.1/8.13.1) with ESMTP id j4NIGeTD010271; Mon, 23 May 2005 13:16:40 -0500 (CDT) (envelope-from rand@meridian-enviro.com) Received: (from rand@localhost) by delta.meridian-enviro.com (8.13.1/8.13.1/Submit) id j4NIGd8W059432; Mon, 23 May 2005 13:16:39 -0500 (CDT) (envelope-from rand) Message-Id: <200505231816.j4NIGd8W059432@delta.meridian-enviro.com> Date: Mon, 23 May 2005 13:16:39 -0500 (CDT) From: "Douglas K. Rand" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: mike@tric.tomsk.gov.ru Subject: ports/81415: Port for snert.com's milter-ahead. X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Douglas K. Rand" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2005 18:20:04 -0000 >Number: 81415 >Category: ports >Synopsis: Port for snert.com's milter-ahead. >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: Mon May 23 18:20:02 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Douglas K. Rand >Release: FreeBSD 4.11-RELEASE-p9 i386 >Organization: Meridian Environmental Technology, Inc. >Environment: System: FreeBSD delta.meridian-enviro.com 4.11-RELEASE-p9 FreeBSD 4.11-RELEASE-p9 #22: Fri May 13 13:15:51 CDT 2005 rand@delta.meridian-enviro.com:/usr/obj/usr/src/sys/DELTA i386 >Description: Here is a port for snert.com's milter-ahead mail filter for sendmail that usually runs on an exposed gateway and checks with an internal host that the recipient is able to recieve mail. Much of the port was stolen from Mike Boev's port for milter-spamc, since both are from the same author. Thanks Mike, that made producing the port *MUCH* easier. >How-To-Repeat: >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # Makefile # distinfo # files # pkg-descr # pkg-message # pkg-plist # files/milter-ahead.sh # files/patch-configure # files/patch-install.sh.in # files/patch-lib-configure # files/patch-milter-ahead.mc.in # echo x - Makefile sed 's/^X//' >Makefile << 'END-of-Makefile' X# New ports collection makefile for: milter-ahead X# Date created: 2005-05-03 X# Whom: Douglas K. Rand X# X# $FreeBSD$ X# X XPORTNAME= milter-ahead XPORTVERSION= 0.8 XCATEGORIES= mail XMASTER_SITES= http://www.snert.com/Software/download/ XDISTFILES= libsnert-1.40.tgz milter-ahead-${PORTVERSION}.tgz X XMAINTAINER= rand@meridian-enviro.com XCOMMENT= Milter for sendmail gateways to call-ahead before accepting mail X XRESTRICTED= No redistribution allowed X XUSE_REINPLACE= yes XGNU_CONFIGURE= yes X XWRKSRC= ${WRKDIR}/com/snert/src/milter-ahead XMAKEFILE= makefile X X.include X X.if ( ${OSVERSION} < 440000 ) XBUILD_DEPENDS= gxargs:${PORTSBASE}/misc/findutils X.endif X X.if !exists(/usr/lib/libmilter.a) && !exists(${LOCALBASE}/lib/libmilter.a) XIGNORE= requires Sendmail 8.12 X.endif X.if exists(${LOCALBASE}/lib/libmilter.a) XCFLAGS+= -I${LOCALBASE}/include XLDFLAGS+= -L${LOCALBASE}/lib X.endif XCFLAGS+= ${PTHREAD_CFLAGS} XLDFLAGS+= ${PTHREAD_LIBS} X XDOCS= CHANGES.TXT index.shtml style.css mailto.js \ X LICENSE.TXT X XCONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} XCONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" XCONFIGURE_ARGS+=--localstatedir=/var/spool X.if !defined(WITH_DEBUG) XCONFIGURE_ARGS+=--disable-debug X.endif X XUSE_RC_SUBR= yes XRC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR} NAME=milter_ahead X Xpost-extract: X ${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ X ${FILESDIR}/milter-ahead.sh > ${WRKSRC}/milter-ahead.sh.freebsd X Xpost-patch: X.if ( ${OSVERSION} < 440000 ) # please contact vs@ if in doubt X ${REINPLACE_CMD} 's/xargs -J{}/gxargs -i{}/' ${WRKSRC}/../lib/configure X.endif X ${REINPLACE_CMD} "s,-fvolatile,," ${WRKSRC}/configure X Xpre-configure: X @cd ${WRKSRC}/../lib && \ X ${SETENV} CC="${CC}" CXX="${CXX}" \ X CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ X INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \ X INSTALL_DATA="${INSTALL_DATA}" \ X INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ X INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ X ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} X @cd ${WRKSRC}/../lib && \ X ${SETENV} ${MAKE_ENV} ${MAKE} \ X ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET} X Xpost-install: X.if !defined(NOPORTDOCS) X @${MKDIR} ${DOCSDIR}/Img X cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR} X @cd ${WRKSRC}/Img && \ X ${INSTALL_DATA} *.gif *.png ${DOCSDIR}/Img X.endif X @${CAT} ${PKGMESSAGE} X X.include END-of-Makefile echo x - distinfo sed 's/^X//' >distinfo << 'END-of-distinfo' XMD5 (libsnert-1.40.tgz) = ee97d93f06304a87f54f1caf994cc91b XSIZE (libsnert-1.40.tgz) = 307456 XMD5 (milter-ahead-0.8.tgz) = e6de758799b826261faf31049321815e XSIZE (milter-ahead-0.8.tgz) = 76786 END-of-distinfo echo c - files mkdir -p files > /dev/null 2>&1 echo x - pkg-descr sed 's/^X//' >pkg-descr << 'END-of-pkg-descr' XThis Sendmail milter (mail filter) allows a gateway mail server to call-ahead Xto a relay or internal mail store before accepting mail for recipients of a Xmessage. Think of it as a lazy man's LDAP. It could also be used by fallback MX Xservers to verify recipients with the primary MX. This milter was derived from Xa similar facility found in milter-sender. X XWWW: http://www.milter.info/milter-ahead/ END-of-pkg-descr echo x - pkg-message sed 's/^X//' >pkg-message << 'END-of-pkg-message' X************************************************************************ X XIn order to run this port, please add the following line to X/etc/mail/YOUR-CONF.mc: X Xinclude(`milter-ahead.mc')dnl X XDon't forget to remake and reinstall the sendmail configuration file Xafter modifying YOUR-CONF.mc. X X************************************************************************ END-of-pkg-message echo x - pkg-plist sed 's/^X//' >pkg-plist << 'END-of-pkg-plist' X@unexec if [ -f %D/etc/rc.d/milter-ahead.sh ] && cmp -s %D/etc/rc.d/milter-ahead.sh %D/etc/rc.d/milter-ahead.sh.sample; then rm -f %D/etc/rc.d/milter-ahead.sh; fi Xetc/rc.d/milter-ahead.sh.sample X@exec if [ ! -f %D/etc/rc.d/milter-ahead.sh ] ; then cp %D/%F %B/milter-ahead.sh; fi Xsbin/milter-ahead X@exec install -d -o smmsp -g smmsp -m 755 /var/spool/milter-ahead X@unexec rm -rf /var/spool/milter-ahead 2>&1 >/dev/null || true X%%PORTDOCS%%%%DOCSDIR%%/CHANGES.TXT X%%PORTDOCS%%%%DOCSDIR%%/LICENSE.TXT X%%PORTDOCS%%%%DOCSDIR%%/index.shtml X%%PORTDOCS%%%%DOCSDIR%%/mailto.js X%%PORTDOCS%%%%DOCSDIR%%/Img/bg.gif X%%PORTDOCS%%%%DOCSDIR%%/Img/mrpixel.gif X%%PORTDOCS%%%%DOCSDIR%%/Img/sendmail-bat-left-142x38.png X%%PORTDOCS%%%%DOCSDIR%%/Img/sendmail-bat-right-142x38.png X%%PORTDOCS%%%%DOCSDIR%%/Img/sun.gif X%%PORTDOCS%%%%DOCSDIR%%/style.css X@unexec echo X@unexec echo "If permanently deleting this package, don't forget to delete" X@unexec echo "the inclusion of milter-ahead.mc from /etc/mail/YOUR-CONF.mc" X@unexec echo "and then to rebuild and reinstall the sendmail configuration file!" X@unexec echo X%%PORTDOCS%%@dirrm %%DOCSDIR%%/Img X%%PORTDOCS%%@dirrm %%DOCSDIR%% X@cwd / X@unexec if [ -f %D/etc/mail/milter-ahead.mc ] && cmp -s %D/etc/mail/milter-ahead.mc %D/etc/mail/milter-ahead.mc.sample; then rm -f %D/etc/mail/milter-ahead.mc; fi Xetc/mail/milter-ahead.mc.sample X@exec if [ ! -f %D/etc/mail/milter-ahead.mc ] ; then cp %D/%F %B/milter-ahead.mc; fi END-of-pkg-plist echo x - files/milter-ahead.sh sed 's/^X//' >files/milter-ahead.sh << 'END-of-files/milter-ahead.sh' X#!/bin/sh X# X# $FreeBSD$ X# X X# PROVIDE: %%NAME%% X# REQUIRE: syslogd X# BEFORE: sendmail X# KEYWORD: FreeBSD shutdown X X# X# Add the following lines to /etc/rc.conf to enable milter-ahead: X# X#%%NAME%%_enable="YES" X# X# See %%PREFIX%%/share/doc/milter-ahead/index.shtml for flags X# X X. %%RC_SUBR%% X Xname=%%NAME%% Xrcvar=`set_rcvar` X X# set defaults X%%NAME%%_enable=${%%NAME%%_enable:-"NO"} X%%NAME%%_chdir="/var/spool/milter-ahead" X%%NAME%%_pidfile=${%%NAME%%_pidfile:-"$%%NAME%%_chdir/pid"} X%%NAME%%_flags=${%%NAME%%_flags:-"-f /etc/mail/sendmail.cf unix:$%%NAME%%_chdir/socket"} X Xcommand=%%PREFIX%%/sbin/milter-ahead Xcommand_args="&" Xrequired_dirs="$%%NAME%%_chdir" X Xstart_precmd=start_precmd Xstart_precmd() X{ X if [ -s "$%%NAME%%_chdir/mutex" ]; then X ipcrm -s `cat $%%NAME%%_chdir/mutex` X fi X rm -f $%%NAME%%_chdir/{mutex,socket} $%%NAME%%_pidfile X} X Xload_rc_config $name Xrun_rc_command "$1" END-of-files/milter-ahead.sh echo x - files/patch-configure sed 's/^X//' >files/patch-configure << 'END-of-files/patch-configure' X--- configure.orig Tue May 3 17:28:48 2005 X+++ configure Tue May 3 17:29:17 2005 X@@ -1619,7 +1619,7 @@ X COMPILE='$(CC) $(CFLAGS) $(CC_O)$*$O -c $<' X X # Assume GCC. X- CFLAGS="$CFLAGS -pthread -Wall -fvolatile" X+ CFLAGS="$CFLAGS -Wall -fvolatile" X elif test "$OS" = 'SunOS'; then X # This used to be -I{}, but I've seen two different SunOS 5.8 X # systems in two different parts of the world with man pages END-of-files/patch-configure echo x - files/patch-install.sh.in sed 's/^X//' >files/patch-install.sh.in << 'END-of-files/patch-install.sh.in' X--- install.sh.in.orig Tue May 3 17:12:42 2005 X+++ install.sh.in Tue May 3 17:17:56 2005 X@@ -12,57 +12,16 @@ X STARTUP_EXT=".sh" X MAILDIR="/etc/mail" X X-if [ ! -d ${STATEDIR} ]; then X- mkdir -p ${STATEDIR} X-fi X-chown ${USER} ${STATEDIR} X-chgrp ${GROUP} ${STATEDIR} X+install -d -o $USER -g $USER -m 755 $STATEDIR X X RC="${STARTUP_DIR}/${MILTER}${STARTUP_EXT}" X-if [ ! -f $RC ]; then X- cp ${MILTER}.sh $RC X- chmod 540 $RC X+${BSD_INSTALL_SCRIPT} ${MILTER}.sh.freebsd $RC.sample X+[ ! -f $RC ] && cp $RC.sample $RC X X- case `uname -s` in X- Linux*) X- which chkconfig X- if test $? -eq 0; then X- chkconfig --add ${MILTER} X- else X- # Probably a stupid Debian system. X- cd ${STARTUP_DIR} X+${BSD_INSTALL_PROGRAM} ${MILTER} ${SBINDIR} X X- # Create relative links X- cd ../rc0.d X- ln -s ../init.d/${MILTER} K20${MILTER} X- cd ../rc1.d X- ln -s ../init.d/${MILTER} K20${MILTER} X- cd ../rc6.d X- ln -s ../init.d/${MILTER} K20${MILTER} X- X- # Assume S20sendmail or higher. X- cd ../rc2.d X- ln -s ../init.d/${MILTER} S18${MILTER} X- cd ../rc3.d X- ln -s ../init.d/${MILTER} S18${MILTER} X- cd ../rc4.d X- ln -s ../init.d/${MILTER} S18${MILTER} X- cd ../rc5.d X- ln -s ../init.d/${MILTER} S18${MILTER} X- fi X- ;; X- SunOS*) X- # Does SunOS have a chkconfig like tool? X- ln -s $RC /etc/rc2.d/S70${MILTER} X- ln -s $RC /etc/rcS.d/K30${MILTER} X- ;; X- esac X-fi X- X-cp -f ${MILTER} ${SBINDIR} X-chmod 550 ${SBINDIR}/${MILTER} X- X-cp -f ${MILTER}.mc ${MAILDIR}/${MILTER}.mc.sample X+${BSD_INSTALL_DATA} ${MILTER}.mc ${MAILDIR}/${MILTER}.mc.sample X+[ ! -f ${MAILDIR}/${MILTER}.mc ] && cp ${MAILDIR}/${MILTER}.mc.sample ${MAILDIR}/${MILTER}.mc X X echo '***************************************************************' X echo END-of-files/patch-install.sh.in echo x - files/patch-lib-configure sed 's/^X//' >files/patch-lib-configure << 'END-of-files/patch-lib-configure' X--- ../lib/configure.orig Tue May 3 17:24:59 2005 X+++ ../lib/configure Tue May 3 17:25:17 2005 X@@ -1628,7 +1628,6 @@ X X if test "$OS" = 'FreeBSD' -o "$OS" = 'OpenBSD' -o "$OS" = 'NetBSD'; then X # Assume GCC. X- CFLAGS="${CFLAGS} -D_THREAD_SAFE -pthread" X COMPILE='$(CC) $(CFLAGS) $(CC_O)$*$O -c $<' X ARCHIVE='ar rc $(LIB) {}' X XARGSI='xargs -J{}' END-of-files/patch-lib-configure echo x - files/patch-milter-ahead.mc.in sed 's/^X//' >files/patch-milter-ahead.mc.in << 'END-of-files/patch-milter-ahead.mc.in' X--- milter-ahead.mc.in.orig Tue May 3 17:26:19 2005 X+++ milter-ahead.mc.in Tue May 3 17:26:33 2005 X@@ -4,7 +4,7 @@ X dnl Example configuration to be added to sendmail.mc. X dnl X X-define(`_FFR_MILTER', `1')dnl X+dnl define(`_FFR_MILTER', `1')dnl X X dnl ------------------------------------------------------------------- X dnl Enable this for debug output from Sendmail. END-of-files/patch-milter-ahead.mc.in exit >Release-Note: >Audit-Trail: >Unformatted: