Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Sep 2004 14:13:38 +0700 (NOVST)
From:      "Michael O. Boev" <mike@tric.tomsk.gov.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/71486: new port mail/milter-spamc
Message-ID:  <200409080713.i887DcC6006520@isrv.tric.ru>
Resent-Message-ID: <200409080720.i887KR2L051125@freefall.freebsd.org>

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

>Number:         71486
>Category:       ports
>Synopsis:       new port mail/milter-spamc
>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:   Wed Sep 08 07:20:27 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Michael O. Boev
>Release:        FreeBSD 4.10-RELEASE i386
>Organization:
Tomsk Regional Information Center
>Environment:
System: FreeBSD isrv.tric.ru 4.10-RELEASE FreeBSD 4.10-RELEASE #3: Fri May 28 14:45:40 NOVST 2004 root@isrv.tric.ru:/usr/obj/usr/src/sys/ISRV i386


>Description:
	Here is a new port, mail/milter-spamc. It is a fast and powerful
	milter interface to SpamAssassin's spamd, written entirely in C.
	Together with milter-sender (already in the ports tree), they can
	provide a very decent and flexible anti-spam defence.
		    
	See http://www.milter.info/milter-spamc/ for more information.
	
	The very port is based on its cousin, mail/milter-sender
>How-To-Repeat:

>Fix:
	Attached to the bottom is the port skeleton. Please, also update
	LEGAL: 

--- milter-spamc.port begins here ---
# 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:
#
#	milter-spamc
#	milter-spamc/files
#	milter-spamc/files/patch-aa
#	milter-spamc/files/patch-ab
#	milter-spamc/files/patch-ac
#	milter-spamc/files/patch-ad
#	milter-spamc/files/patch-ae
#	milter-spamc/files/milter-spamc.sh
#	milter-spamc/Makefile
#	milter-spamc/distinfo
#	milter-spamc/pkg-descr
#	milter-spamc/pkg-message
#	milter-spamc/pkg-plist
#
echo c - milter-spamc
mkdir -p milter-spamc > /dev/null 2>&1
echo c - milter-spamc/files
mkdir -p milter-spamc/files > /dev/null 2>&1
echo x - milter-spamc/files/patch-aa
sed 's/^X//' >milter-spamc/files/patch-aa << 'END-of-milter-spamc/files/patch-aa'
X--- configure.orig	Fri Jun 11 20:37:06 2004
X+++ configure	Wed Jun 16 13:43:31 2004
X@@ -1617,6 +1617,6 @@
X 	COMPILE='$(CC) $(CFLAGS) $(CC_O)$*$O -c $<'
X 
X-	CFLAGS="$CFLAGS -pthread -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-milter-spamc/files/patch-aa
echo x - milter-spamc/files/patch-ab
sed 's/^X//' >milter-spamc/files/patch-ab << 'END-of-milter-spamc/files/patch-ab'
X--- install.sh.in.orig	Fri May 21 15:12:40 2004
X+++ install.sh.in	Sun Sep  5 23:02:30 2004
X@@ -12,60 +12,19 @@
X STARTUP_EXT="@STARTUP_EXT@"
X MAILDIR="@with_sendmail@"
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+${BSD_INSTALL_DATA} ${MILTER}.mc ${MAILDIR}/${MILTER}.mc.sample
X+[ ! -f ${MAILDIR}/${MILTER}.mc ] && cp ${MAILDIR}/${MILTER}.mc.sample ${MAILDIR}/${MILTER}.mc
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-
X-chmod g+r ${MAILDIR} ${MAILDIR}/access.* ${MAILDIR}/aliases.*
X-chgrp ${GROUP} ${MAILDIR} ${MAILDIR}/access.* ${MAILDIR}/aliases.*
X+chgrp ${GROUP} ${MAILDIR}/access.db ${MAILDIR}/aliases.db
X+chmod g+r ${MAILDIR}/access.db ${MAILDIR}/aliases.db
X 
X echo '***************************************************************'
X echo
END-of-milter-spamc/files/patch-ab
echo x - milter-spamc/files/patch-ac
sed 's/^X//' >milter-spamc/files/patch-ac << 'END-of-milter-spamc/files/patch-ac'
X--- milter-spamc.c.orig	Sun Sep  5 23:36:27 2004
X+++ milter-spamc.c	Sun Sep  5 23:35:47 2004
X@@ -717,7 +717,7 @@
X 		return smfNullWorkspaceError("filterBody");
X 
X 	if (smfLogDetail & SMF_LOG_TRACE)
X-		syslog(LOG_DEBUG, TAG_FORMAT "filterBody(%lx, '%.20s...', %lu) maxBytes=%ld bytesSent=%lu", TAG_ARGS, (long) ctx, chunk, size, maxBytes, data->bytesSent);
X+		syslog(LOG_DEBUG, TAG_FORMAT "filterBody(%lx, '%.20s...', %lu) maxBytes=%ld bytesSent=%lu", TAG_ARGS, (long) ctx, chunk, (unsigned long)size, maxBytes, (unsigned long)data->bytesSent);
X 
X 	if (data->work.skipMessage)
X 		goto error0;
END-of-milter-spamc/files/patch-ac
echo x - milter-spamc/files/patch-ad
sed 's/^X//' >milter-spamc/files/patch-ad << 'END-of-milter-spamc/files/patch-ad'
X--- ../lib/configure.orig	Wed Jun 16 13:56:11 2004
X+++ ../lib/configure	Wed Jun 16 13:56:19 2004
X@@ -1621,7 +1621,6 @@
X 
X 	if test "$OS" = 'FreeBSD'; 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-milter-spamc/files/patch-ad
echo x - milter-spamc/files/patch-ae
sed 's/^X//' >milter-spamc/files/patch-ae << 'END-of-milter-spamc/files/patch-ae'
X--- milter-spamc.mc.in.orig	Wed Jun 16 13:58:58 2004
X+++ milter-spamc.mc.in	Wed Jun 16 13:59:24 2004
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-milter-spamc/files/patch-ae
echo x - milter-spamc/files/milter-spamc.sh
sed 's/^X//' >milter-spamc/files/milter-spamc.sh << 'END-of-milter-spamc/files/milter-spamc.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-spamc:
X#
X#%%NAME%%_enable="YES"
X#
X# See %%PREFIX%%/share/doc/milter-spamc/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-spamc"
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-spamc
Xrequired_dirs="$%%NAME%%_chdir"
X
Xstart_cmd=start_cmd
Xstart_cmd()
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    cd $%%NAME%%_chdir && $command $%%NAME%%_flags >/dev/null &
X}
X
Xload_rc_config $name
Xrun_rc_command "$1"
END-of-milter-spamc/files/milter-spamc.sh
echo x - milter-spamc/Makefile
sed 's/^X//' >milter-spamc/Makefile << 'END-of-milter-spamc/Makefile'
X# New ports collection makefile for:    milter-spamc
X# Date created:                         5 Sep 2004
X# Whom:                                 Mike Boev
X#
X# $FreeBSD$
X#
X
XPORTNAME=	milter-spamc
XPORTVERSION=	0.25
XCATEGORIES=	mail
XMASTER_SITES=	http://www.snert.com/Software/download/
XDISTFILES=	libsnert-1.40.tgz milter-spamc-${PORTVERSION}.tgz
X
XMAINTAINER=	mike@tric.tomsk.gov.ru
XCOMMENT=	Yet Another Sendmail-SpamAssassin Interface Milter
X
XRESTRICTED=	No redistribution allowed
X
XUSE_REINPLACE=	yes
XGNU_CONFIGURE=	yes
X
XWRKSRC=		${WRKDIR}/com/snert/src/milter-spamc
XMAKEFILE=	makefile
X
X.include <bsd.port.pre.mk>
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+=--with-db --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_spamc
X
Xpost-extract:
X	${SED}	${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
X		${FILESDIR}/milter-spamc.sh > ${WRKSRC}/milter-spamc.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 <bsd.port.post.mk>
END-of-milter-spamc/Makefile
echo x - milter-spamc/distinfo
sed 's/^X//' >milter-spamc/distinfo << 'END-of-milter-spamc/distinfo'
XMD5 (libsnert-1.40.tgz) = ee97d93f06304a87f54f1caf994cc91b
XSIZE (libsnert-1.40.tgz) = 307456
XMD5 (milter-spamc-0.25.tgz) = fd37f931c8e580a12a350eecafc6903c
XSIZE (milter-spamc-0.25.tgz) = 193312
END-of-milter-spamc/distinfo
echo x - milter-spamc/pkg-descr
sed 's/^X//' >milter-spamc/pkg-descr << 'END-of-milter-spamc/pkg-descr'
XSpamAssassin is a well established free open-source mail classification tool, 
Xhowever it has no means by which to interface with Sendmail. 
Xmilter-spamc provides such an interface between Sendmail and SpamAssassin. 
X
XWWW: http://www.milter.info/milter-spamc/
X
END-of-milter-spamc/pkg-descr
echo x - milter-spamc/pkg-message
sed 's/^X//' >milter-spamc/pkg-message << 'END-of-milter-spamc/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-spamc.mc')dnl
X
XDon't forget to remake and reinstall the sendmail configuration file
Xafter modifying YOUR-CONF.mc.
X
X************************************************************************
END-of-milter-spamc/pkg-message
echo x - milter-spamc/pkg-plist
sed 's/^X//' >milter-spamc/pkg-plist << 'END-of-milter-spamc/pkg-plist'
X@unexec if [ -f %D/etc/rc.d/milter-spamc.sh ] && cmp -s %D/etc/rc.d/milter-spamc.sh %D/etc/rc.d/milter-spamc.sh.sample; then rm -f %D/etc/rc.d/milter-spamc.sh; fi
Xetc/rc.d/milter-spamc.sh.sample
X@exec if [ ! -f %D/etc/rc.d/milter-spamc.sh ] ; then cp %D/%F %B/milter-spamc.sh; fi
Xsbin/milter-spamc
X@exec install -d -o smmsp -g smmsp -m 755 /var/spool/milter-spamc
X@unexec rm -rf /var/spool/milter-spamc 2>&1 >/dev/null || true
X%%PORTDOCS%%%%DOCSDIR%%/CHANGES.TXT
X%%PORTDOCS%%%%DOCSDIR%%/Img/bg.gif
X%%PORTDOCS%%%%DOCSDIR%%/Img/dilbert2003071742312.gif
X%%PORTDOCS%%%%DOCSDIR%%/Img/dilbert2003228690821.gif
X%%PORTDOCS%%%%DOCSDIR%%/Img/dilbert20040429.gif
X%%PORTDOCS%%%%DOCSDIR%%/Img/mrpixel.gif
X%%PORTDOCS%%%%DOCSDIR%%/Img/overview.png
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%%/LICENSE.TXT
X%%PORTDOCS%%%%DOCSDIR%%/index.shtml
X%%PORTDOCS%%%%DOCSDIR%%/mailto.js
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-spamc.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-spamc.mc ] && cmp -s %D/etc/mail/milter-spamc.mc %D/etc/mail/milter-spamc.mc.sample; then rm -f %D/etc/mail/milter-spamc.mc; fi
Xetc/mail/milter-spamc.mc.sample
X@exec if [ ! -f %D/etc/mail/milter-spamc.mc ] ; then cp %D/%F %B/milter-spamc.mc; fi
X@exec chgrp smmsp %D/etc/mail/access.db %D/etc/mail/aliases.db
X@exec chmod g+r %D/etc/mail/access.db %D/etc/mail/aliases.db
END-of-milter-spamc/pkg-plist
exit
--- milter-spamc.port ends here ---

--- LEGAL.patch begins here ---
--- LEGAL.orig	Tue Sep  7 20:01:05 2004
+++ LEGAL	Tue Sep  7 20:01:32 2004
@@ -370,6 +370,8 @@
 mikachan-ttfonts/ver*.*	ports/japanese/mikachan-ttfonts	Do not sell distfile
 milter-sender-*		ports/mail/milter-sender Non-commercial distribution
 						of the original files only
+milter-spamc-*		ports/mail/milter-spamc Non-commercial distribution
+						of the original files only
 mindfocus-*		ports/games/mindfocus	contains commercial
 						character data
 mindterm-*		ports/security/mindterm-binary	Do not sell for profit.
--- LEGAL.patch ends here ---

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



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