ports/71486: new port mail/milter-spamc
Michael O. Boev
mike at tric.tomsk.gov.ru
Wed Sep 8 07:20:28 UTC 2004
>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 at 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 at 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 at 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 at exec if [ ! -f %D/etc/rc.d/milter-spamc.sh ] ; then cp %D/%F %B/milter-spamc.sh; fi
Xsbin/milter-spamc
X at exec install -d -o smmsp -g smmsp -m 755 /var/spool/milter-spamc
X at 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 at unexec echo
X at unexec echo "If permanently deleting this package, don't forget to delete"
X at unexec echo "the inclusion of milter-spamc.mc from /etc/mail/YOUR-CONF.mc"
X at unexec echo "and then to rebuild and reinstall the sendmail configuration file!"
X at unexec echo
X%%PORTDOCS%%@dirrm %%DOCSDIR%%/Img
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
X at cwd /
X at 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 at exec if [ ! -f %D/etc/mail/milter-spamc.mc ] ; then cp %D/%F %B/milter-spamc.mc; fi
X at exec chgrp smmsp %D/etc/mail/access.db %D/etc/mail/aliases.db
X at 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:
More information about the freebsd-ports-bugs
mailing list