1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

- Update to 3.4.5

PR:		ports/80442
Submitted by:	Ion-Mihai "IOnut" Tetcu <itetcu@people.tecnik93.com> (maintainer)
This commit is contained in:
Pav Lucistnik 2005-05-05 21:03:37 +00:00
parent 9b9a32f5f8
commit 0acdf4f50f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=134678
11 changed files with 338 additions and 247 deletions

View File

@ -1,26 +1,26 @@
# New ports collection makefile for: dspam
# Date created: 3 August 2003
# Whom: Dominic Marks <dom@wirespeed.org.uk>
# Date created: 3 August 2003
# Whom: Dominic Marks <dom@wirespeed.org.uk>
#
# $FreeBSD$
#
# Note to commiters: If don't commit a maintainer patch and as a result PKGNAME
# or user variables (WITH*) changes please and an entry in ${FILESDIR}/UPDATING and
# modify UPD_LINE_NO=(no_of_added_lines-1) in this Makefile
# or user variables (WITH*) changes please add an entry in ${FILESDIR}/UPDATING and
# modify _UPD_LINE_NO=(no_of_added_lines-1) in this Makefile
# else the port will be broken. Thanks.
PORTNAME= dspam
PORTVERSION= ${PORTVER_MAJ}${SNAP_DATE}
PORTREVISION= 0
CATEGORIES= mail
MASTER_SITES= http://people.tecnik93.com/~itetcu/FreeBSD/ports/dspam/sources/
MASTER_SITES= http://people.tecnik93.com/~itetcu/FreeBSD/ports/${PORTNAME}/sources/
MAINTAINER= itetcu@people.tecnik93.com
COMMENT= Bayesian spam filter - stable maintenance version
PORTVER_MAJ= 3.2.8
#SNAP_DATE= .20050302.1330
PORTVER_MAJ= 3.4.5
#SNAP_DATE= .20050417.0700
.ifdef(SNAP_DATE)
WRKSRC= ${WRKDIR}/dspam-cvs-stable${SNAP_DATE}
@ -39,14 +39,16 @@ FETCH_BEFORE_ARGS= -v -o ${DISTDIR}/${PORTNAME}-${PORTVERSION}.tar.gz
## debug / log / admin options
OPTIONS= DEBUG "Enable debugging logging" on
OPTIONS+= VERBOSE_DEBUG "Enable debug in LOGDIR/dspam.debug" off
OPTIONS+= BNR_DEBUG "Enable debug for BNR" off
OPTIONS+= PREF_EXT "Preferences in database not in files" off
OPTIONS+= DAEMON "Daemonize dspam" on
## algorithm options
OPTIONS+= GRAHAM_BAYES "Enable Graham (traditional) bayesian" on
OPTIONS+= BURTON_BAYES "Enable Burton (alternative) bayesian" on
OPTIONS+= RNB "Use Robinson Naive Bayesian calculation" off
OPTIONS+= CHI_SQUARE "Use Fisher-Robinson Inv Chi-Square" off
OPTIONS+= RPV "Use Robinson technique combining p-values" off
OPTIONS+= RPV "Use Robinson technique combining p-values" on
OPTIONS+= TEST_COND "More inoculous results rapidly, risk fps" on
OPTIONS+= NO_BIAS "No bias toward innocent mail" off
OPTIONS+= NEURAL_NET "Enable neural networking" off
@ -57,13 +59,14 @@ OPTIONS+= TRUSTED_USERS "Disable trusted user security" off
## back-end
OPTIONS+= MYSQL40 "Use MySQL 4.0.x as back-end" off
OPTIONS+= MYSQL41 "Use MySQL 4.1.x as back-end" off
OPTIONS+= MYSQL41 "Use MySQL 4.1.x as back-end" on
OPTIONS+= MYSQL50 "Use MySQL 5.0.x as back-end" off
OPTIONS+= MYSQL_COMPRESS "Compress dspam <--> MySQL" off
OPTIONS+= POSTGRESQL "Use PostgreSQL as back-end" off
#OPTIONS+= ORACLE "Use Oracle as back-end (BROKEN)" off
OPTIONS+= BDB4 "Use BDB4 as back-end (not recomanded)" off
OPTIONS+= SQLITE2 "Use SQLite v2.x as back-end" on
OPTIONS+= SQLITE2 "Use SQLite v2.x as back-end" off
OPTIONS+= SQLITE3 "Use SQLite v3.x as back-end" off
OPTIONS+= VIRT_USERS "Enable virtual users (needs SQL back-end)" off
OPTIONS+= LONG_USERNAMES "Usernames longer that OS supports" off
OPTIONS+= LARGE_SCALE "File structure for large scale" off
@ -95,11 +98,11 @@ CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CFLAGS+= -g -DDEBUG
.endif
PKGMESSAGE= ${WRKSRC}/README.FreeBSD
PKGMESSAGE= ${WRKSRC}/src/README.FreeBSD
UPD_LINE_NO= 6
_UPD_LINE_NO= 16
CONFLICTS= dspam-2* dspam-devel-[0-9]*
CONFLICTS= dspam-2* dspam-3*
SIGNATURE_LIFE?= 15
@ -117,12 +120,17 @@ DSPAM_HOME_MODE?= 0770
.include <bsd.port.pre.mk>
## Actually Thu Feb 10 17:38:05 EET 2005 works
#.if ${OSVERSION} >= 500036
#. if ${OSVERSION} < 503102
#IGNORE= Need newer pthread support, please upgrade your system
#. endif
#.endif
CONFIGURE_ARGS+= --with-logdir=${LOG_DIR}
PLIST_SUB+= LOG_DIR=${LOG_DIR}
CONFIGURE_ARGS+= --with-dspam-home=${DSPAM_HOME}
PLIST_SUB+= DSPAM_HOME=${DSPAM_HOME}
CONFIGURE_ARGS+= --with-dspam-home-owner=${DSPAM_HOME_OWNER}
CONFIGURE_ARGS+= --with-dspam-home-group=${DSPAM_HOME_GROUP}
CONFIGURE_ARGS+= --with-dspam-home-mode=${DSPAM_HOME_MODE}
@ -130,14 +138,16 @@ PLIST_SUB+= DSPAM_HOME=${DSPAM_HOME}
CONFIGURE_ARGS+= --with-dspam-owner=${DSPAM_OWNER}
CONFIGURE_ARGS+= --with-dspam-group=${DSPAM_GROUP}
# we set DSPAM_MODE at the end as some LDA want specific mode
# we set DSPAM_MODE at the end as some LDA whant specific mode
SED_SCRIPT= -e 's,%%DOCSDIR%%,${DOCSDIR},g' \
_SED_SCRIPT= -e 's,%%DOCSDIR%%,${DOCSDIR},g' \
-e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \
-e 's,%%LOCALBASE%%,${LOCALBASE},g' \
-e 's,%%PREFIX%%,${PREFIX},g' \
-e 's,%%PKGNAME%%,${PKGNAME},g' \
-e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g'
-e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g' \
-e 's,%%PORTNAME%%,${PORTNAME},g' \
-e 's,%%_VAR_DIR%%,${_VAR_DIR},g'
# -e 's,%%LOCALBASE%%,${LOCALBASE},g' \
# -e 's,%%PREFIX%%,${PREFIX},g' \
# -e 's,%%PKGNAME%%,${PKGNAME},g' \
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug
@ -147,10 +157,33 @@ CONFIGURE_ARGS+= --enable-debug
CONFIGURE_ARGS+= --enable-verbose-debug
.endif
.if defined(WITH_BNR_DEBUG)
CONFIGURE_ARGS+= --enable-bnr-debug
.endif
.if defined(WITH_PREF_EXT)
CONFIGURE_ARGS+= --enable-preferences-extension
.endif
####
# quick hack to build the package with daemon
.ifndef(WITHOUT_DAEMON)
WITH_DAEMON= on
.endif
.ifdef(WITH_DAEMON)
CONFIGURE_ARGS+= --enable-daemon
RC_DIR= ${PREFIX}/etc/rc.d
RC_SUFX= .sh
USE_RC_SUBR= yes
PLIST_FILES+= etc/rc.d/dspam${RC_SUFX}
_SED_SCRIPT+= -e 's,%%DAEMON%%,,g'
_SED_RC_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \
-e 's,%%DSPAM_HOME%%,${DSPAM_HOME},g'
.else
_SED_SCRIPT+= -e ',%%DAEMON%%,D'
.endif
.if !defined(WITH_GRAHAM_BAYES)
CONFIGURE_ARGS+= --disable-traditional-bayesian
.endif
@ -191,38 +224,9 @@ CONFIGURE_ARGS+= --enable-homedir
CONFIGURE_ARGS+= --disable-trusted-user-security
.endif
DBDRV_TOTAL_COUNT= ooooooo # 7
DBDRV_TOTAL_COUNT= ooooooooo # 8
DBDRV_COUNT= ${DBDRV_TOTAL_COUNT}
.ifdef(WITH_MYSQL40)
WANT_MYSQL_VER= 40
#PKGNAMESUFFIX= -mysql40
.elifdef(WITH_MYSQL41)
WANT_MYSQL_VER= 41
#PKGNAMESUFFIX= -mysql41
.elifdef(WITH_MYSQL50)
WANT_MYSQL_VER= 50
#PKGNAMESUFFIX= -mysql50
.endif
.if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) || defined(WITH_MYSQL50)
USE_MYSQL= yes
CONFIGURE_ARGS+= --with-storage-driver=mysql_drv \
--with-mysql-includes=${LOCALBASE}/include/mysql \
--with-mysql-libraries=${LOCALBASE}/lib/mysql
PLIST_SUB+= DB4="@comment "
PLIST_SUB+= MYSQL=""
PLIST_SUB+= PGSQL="@comment "
PLIST_SUB+= SQLITE="@comment "
SED_SCRIPT+= -e 's,%%MYSQL%%,,g'
SED_SCRIPT+= -e '/%%PGSQL%%/D'
SED_SCRIPT+= -e '/%%SQLITE%%/D'
DBDRV_COUNT:= ${DBDRV_COUNT:S/o//}
.if defined(WITH_MYSQL_COMPRESS)
CONFIGURE_ARGS+= --enable-client-compression
.endif
.endif
.if defined(WITH_POSTGRESQL)
USE_PGSQL= yes
CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv \
@ -232,15 +236,15 @@ PLIST_SUB+= DB4="@comment "
PLIST_SUB+= MYSQL="@comment "
PLIST_SUB+= PGSQL=""
PLIST_SUB+= SQLITE="@comment "
SED_SCRIPT+= -e '/%%MYSQL%%/D'
SED_SCRIPT+= -e 's,%%PGSQL%%,,g'
SED_SCRIPT+= -e '/%%SQLITE%%/D'
#_SED_SCRIPT+= -e '/%%MYSQL%%/D'
#_SED_SCRIPT+= -e 's,%%PGSQL%%,,g'
#_SED_SCRIPT+= -e '/%%SQLITE%%/D'
#PKGNAMESUFFIX= -pgsql
DBDRV_COUNT:= ${DBDRV_COUNT:S/o//}
.endif
.if defined(WITH_ORACLE)
BUILD_DEPENDS+= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:\
BUILD_DEPENDS= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:\
${PORTSDIR}/databases/oracle7-client
CONFIGURE_ARGS+= --with-storage-driver=ora_drv \
--with-oracle-home= ${LOCALBASE}/oracle7
@ -256,16 +260,24 @@ PLIST_SUB+= DB4=""
PLIST_SUB+= MYSQL="@comment "
PLIST_SUB+= PGSQL="@comment "
PLIST_SUB+= SQLITE="@comment "
SED_SCRIPT+= -e '/%%MYSQL%%/D'
SED_SCRIPT+= -e '/%%PGSQL%%/D'
SED_SCRIPT+= -e '/%%SQLITE%%/D'
#_SED_SCRIPT+= -e '/%%MYSQL%%/D'
#_SED_SCRIPT+= -e '/%%PGSQL%%/D'
#_SED_SCRIPT+= -e '/%%SQLITE%%/D'
#PKGNAMESUFFIX= -bdb
DBDRV_COUNT:= ${DBDRV_COUNT:S/o//}
.endif
.if ${DBDRV_TOTAL_COUNT}==${DBDRV_COUNT} || defined(WITH_SQLITE2)
WITH_SQLITE2= on
.if defined(WITH_SQLITE3)
HAVE_SQLITE= yes
LIB_DEPENDS+= sqlite.3:${PORTSDIR}/databases/sqlite3
.endif
.if defined(WITH_SQLITE2)
HAVE_SQLITE= yes
LIB_DEPENDS+= sqlite.2:${PORTSDIR}/databases/sqlite2
.endif
.if defined(HAVE_SQLITE)
CONFIGURE_ARGS+= --with-storage-driver=sqlite_drv \
--with-sqlite-includes=${LOCALBASE}/include \
--with-sqlite-libraries=${LOCALBASE}/lib
@ -273,13 +285,45 @@ PLIST_SUB+= DB4="@comment "
PLIST_SUB+= MYSQL="@comment "
PLIST_SUB+= PGSQL="@comment "
PLIST_SUB+= SQLITE=""
SED_SCRIPT+= -e '/%%MYSQL%%/D'
SED_SCRIPT+= -e '/%%PGSQL%%/D'
SED_SCRIPT+= -e 's,%%SQLITE%%,,g'
#_SED_SCRIPT+= -e '/%%MYSQL%%/D'
#_SED_SCRIPT+= -e '/%%PGSQL%%/D'
#_SED_SCRIPT+= -e 's,%%SQLITE%%,,g'
#PKGNAMESUFFIX= -sqlite2
DBDRV_COUNT:= ${DBDRV_COUNT:S/o//}
.endif
.ifdef(WITH_MYSQL40)
WANT_MYSQL_VER= 40
#PKGNAMESUFFIX= -mysql40
.elifdef(WITH_MYSQL41)
WANT_MYSQL_VER= 41
#PKGNAMESUFFIX= -mysql41
.elifdef(WITH_MYSQL50)
WANT_MYSQL_VER= 50
#PKGNAMESUFFIX= -mysql50
.endif
.if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) || defined(WITH_MYSQL50) || ${DBDRV_TOTAL_COUNT}==${DBDRV_COUNT}
USE_MYSQL= yes
CONFIGURE_ARGS+= --with-storage-driver=mysql_drv \
--with-mysql-includes=${LOCALBASE}/include/mysql \
--with-mysql-libraries=${LOCALBASE}/lib/mysql
PLIST_SUB+= DB4="@comment "
PLIST_SUB+= MYSQL=""
PLIST_SUB+= PGSQL="@comment "
PLIST_SUB+= SQLITE="@comment "
#_SED_SCRIPT+= -e 's,%%MYSQL%%,,g'
#_SED_SCRIPT+= -e '/%%PGSQL%%/D'
#_SED_SCRIPT+= -e '/%%SQLITE%%/D'
DBDRV_COUNT:= ${DBDRV_COUNT:S/o//}
. if defined(WITH_MYSQL_COMPRESS)
CONFIGURE_ARGS+= --enable-client-compression
. endif
_SED_RC_SCRIPT+= -e 's,%%MYSQL%%,mysql,g'
.else
_SED_RC_SCRIPT+= -e 's,%%MYSQL%%,,'
.endif
.if defined(WITH_VIRT_USERS)
CONFIGURE_ARGS+= --enable-virtual-users
.endif
@ -313,7 +357,7 @@ LDA_COUNT:= ${LDA_COUNT:S/o//}
.if defined(WITH_EXIM_LDA)
. if defined(WITH_MYSQL40) || (WITH_MYSQL41)
_EXIM_EXT= -mysql
. elseif defined(WITH_POSTGRESQL)
. elif defined(WITH_POSTGRESQL)
_EXIM_EXT= -postgresql
. endif
RUN_DEPENDS+= exim:${PORTSDIR}/mail/exim${_EXIM_EXT}
@ -323,13 +367,13 @@ LDA_COUNT:= ${LDA_COUNT:S/o//}
.if defined(WITH_MAILDROP_LDA)
RUN_DEPENDS+= maildrop:${PORTSDIR}/mail/maildrop
CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop -d $$u'
CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop'
LDA_COUNT:= ${LDA_COUNT:S/o//}
.endif
.if defined(WITH_PROCMAIL_LDA)
RUN_DEPENDS+= procmail:${PORTSDIR}/mail/procmail
CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail -d $$u'
CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail'
LDA_COUNT:= ${LDA_COUNT:S/o//}
.endif
@ -349,9 +393,9 @@ DSPAM_MODE= 4511
.if defined(WITH_POSTFIX_MBC)
DSPAM_MODE= 4511
SED_SCRIPT+= -e 's,%%POSTFIX_MBC%%,,g'
#_SED_SCRIPT+= -e 's,%%POSTFIX_MBC%%,,g'
.else
SED_SCRIPT+= -e '/%%POSTFIX_MBC%%/D'
#_SED_SCRIPT+= -e '/%%POSTFIX_MBC%%/D'
.endif
.if defined(WITH_QMAIL)
@ -374,13 +418,13 @@ CONFIGURE_ARGS+=--enable-user-logging
USE_PERL5_RUN= yes
PLIST_SUB+= CGI=""
CGI_PATH?= ${PREFIX}/www/vhosts/dspam
SED_SCRIPT+= -e 's,%%CGI%%,,g'
SED_SCRIPT+= -e 's,%%CGI_PATH%%,${CGI_PATH},g'
#SED_FILES= ${LS} ${WRKSRC}/cgi/*.pl
#SED_FILES+= ${LS} $PWRKSRC}/cgi/*.cgi
_SED_SCRIPT+= -e 's,%%CGI%%,,g'
_SED_SCRIPT+= -e 's,%%CGI_PATH%%,${CGI_PATH},g'
#SED_FILES= ${LS} ${WRKSRC}/cgi/*.pl
#SED_FILES+= ${LS} $PWRKSRC}/cgi/*.cgi
.else
PLIST_SUB+= CGI="@comment "
SED_SCRIPT+= -e '/%%CGI%%/D'
_SED_SCRIPT+= -e '/%%CGI%%/D'
.endif
MAN1= dspam.1 dspam_clean.1 dspam_corpus.1 dspam_dump.1 dspam_merge.1 \
@ -395,21 +439,22 @@ MLINKS+= libdspam.3 dspam_getsource.3
MLINKS+= libdspam.3 dspam_destroy.3
MLINKS+= libdspam.3 dspam_detach.3
DOCS= CHANGELOG LICENSE README README.FreeBSD README.courier README.exim \
README.pop3filter README.postfix README.qmail README.sendmail \
RELEASE.NOTES
_DOCS= CHANGELOG LICENSE README README.FreeBSD RELEASE.NOTES UPGRADING
_DOCSL= appliance.txt exim.txt ora_drv.txt pgsql_drv.txt postfix.txt \
sendmail.txt courier.txt mysql_drv.txt pop3filter.txt qmail.txt \
sqlite_drv.txt
.ifndef(MAINT)
pre-everything::
@${ECHO_CMD} ""
@${ECHO_CMD} "Last ${FILESDIR}/UPDATING entry:"
@${GREP} -B 1 -A ${UPD_LINE_NO} ${PKGNAME} ${FILESDIR}/UPDATING
@${GREP} -B 1 -A ${_UPD_LINE_NO} ${PKGNAME} ${FILESDIR}/UPDATING
@${ECHO_CMD} ""
@${ECHO_CMD} ""
.else # maintainer only
@sleep 5
.else # maintainer only
post-fetch:
. ifndef(STOP)
. include "/root/ports/upd"
#. include "/root/ports/upd"
. endif
.endif
@ -431,6 +476,7 @@ pre-extract:
@${ECHO_CMD} "installed in other place that this installation's default"
@${ECHO_CMD} "${PREFIX}/www/vhosts/dspam"
. endif
@${ECHO_CMD} "Define WITHOUT_DAEMON if not using OPTIONS and do not want daemon."
@${ECHO_CMD} ""
@sleep 5
@ -438,7 +484,7 @@ pre-extract:
USER_LOGGING SYSTEM_LOGGING WEBMAIL OPT_IN SAT PARSE_TO_HEADERS \
BROKEN_MTA BROKEN_ERR_CODES SIGNATURE_HEADERS SIGNATURE_ATACH \
HOMEDIR_DOT SIGNATURE_LIFE SQLITE QUARANTINE_AGENT WHITELIST \
POSTGRESQL73 POSTGRESQL74 ORACLE
POSTGRESQL73 POSTGRESQL74
. if defined(WITH_${old_opt}) || defined(WITHOUT_${old_opt})
@${ECHO_CMD} ""
@${ECHO_CMD} "******************************************************************"
@ -450,10 +496,7 @@ pre-extract:
@${ECHO_CMD} "You shold always read ${PORTSDIR}/UPDATING before installing/updating"
@${ECHO_CMD} "any port. Please remove/adjust your pkgtools.conf, environment and"
@${ECHO_CMD} "your make command-line and/or do 'make rmconfig' as appropiate."
@${ECHO_CMD} "But before read ${FILESDIR}/UPDATING"
@${ECHO_CMD} "as a lot of things have changed, notably the majority of"
@${ECHO_CMD} "compile-time options can/must now be set in"
@${ECHO_CMD} "${PREFIX}/etc/dspam.conf"
@${ECHO_CMD} "But before read ${FILESDIR}/UPDATING as a lot of things have changed."
@${ECHO_CMD} "******************************************************************"
@${ECHO_CMD} "******************************************************************"
@${ECHO_CMD} ""
@ -465,12 +508,18 @@ post-patch:
@${REINPLACE_CMD} -e 's|%%PORTNAME%%|${PORTNAME}|; \
s|%%PKGNAME%%|${PKGNAME}|; s|%%MAINTAINER%%|${MAINTAINER}|; \
s|%%LIBTOOLFLAGS%%|${LIBTOOLFLAGS}|g; \
s|-ldb-4.1|-ldb41|g;' ${WRKSRC}/configure
s|-ldb-4.1|-ldb41|g;' ${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|' \
${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' ${WRKSRC}/tools.mysql_drv/purge.sql
@${REINPLACE_CMD} -e 's|WHERE CURRENT_DATE - created_on > 14;|WHERE CURRENT_DATE - created_on > ${SIGNATURE_LIFE};|' ${WRKSRC}/tools.pgsql_drv/purge.sql
@${REINPLACE_CMD} -e 's|where SYSDATE-created_on > 14|where SYSDATE-created_on > ${SIGNATURE_LIFE};|' ${WRKSRC}/tools.ora_drv/purge.sql
@${REINPLACE_CMD} -e "s|where date('now')-date(created_on) > 14;|where date('now')-date(created_on) > ${SIGNATURE_LIFE};|" ${WRKSRC}/tools.sqlite_drv/purge.sql
@${REINPLACE_CMD} -e 's|where @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' ${WRKSRC}/src/tools.mysql_drv/purge.sql
@${REINPLACE_CMD} -e 's|WHERE CURRENT_DATE - created_on > 14;|WHERE CURRENT_DATE - created_on > ${SIGNATURE_LIFE};|' ${WRKSRC}/src/tools.pgsql_drv/purge.sql
@${REINPLACE_CMD} -e 's|where SYSDATE-created_on > 14|where SYSDATE-created_on > ${SIGNATURE_LIFE};|' ${WRKSRC}/src/tools.ora_drv/purge.sql
@${REINPLACE_CMD} -e "s|where date('now')-date(created_on) > 14;|where date('now')-date(created_on) > ${SIGNATURE_LIFE};|" ${WRKSRC}/src/tools.sqlite_drv/purge.sql
.if defined(WITH_DAEMON)
@${CP} ${FILESDIR}/dspam.rc ${WRKSRC}
@${REINPLACE_CMD} ${_SED_RC_SCRIPT} ${WRKSRC}/dspam.rc
.endif
pre-configure:
@${ECHO_CMD}
@ -498,23 +547,36 @@ pre-configure:
@${ECHO_CMD} "You need MySQL or Postgres for preferences extension"
@${FALSE}
.endif
.if defined(WITH_DAEMON) && !( defined(USE_MYSQL) || \
defined(WITH_POSTGRESQL) )
@${ECHO_CMD} "You need MySQL or Postgres for Daemon mode, because multithreading support is needed"
@${FALSE}
.endif
.if defined(WITH_USER_HOMEDIR) && defined(WITH_CGI)
@${ECHO_CMD} "USER_HOMEDIR and CGI are incopatible"
@${FALSE}
.endif
post-install:
${CP} ${WRKSRC}/dspam.conf ${WRKSRC}/dspam.conf.sample
cd ${WRKSRC}/ && \
${CP} ${WRKSRC}/src/dspam.conf ${WRKSRC}/src/dspam.conf.sample
cd ${WRKSRC}/src/ && \
${INSTALL} -o ${DSPAM_OWNER} -g ${DSPAM_GROUP} -m 0640 \
dspam.conf.sample ${PREFIX}/etc
# @${MKDIR} ${LOG_DIR}
# @${MKDIR} ${DSPAM_HOME}
dspam.conf.sample ${PREFIX}/etc
.if defined(WITH_DAEMON)
${INSTALL_SCRIPT} ${WRKSRC}/dspam.rc ${RC_DIR}/dspam${RC_SUFX}
.endif
########
# stupid hack until I figure out where/how to patch
@${MKDIR} ${PREFIX}/libdata/pkgconfig
@${MV} ${PREFIX}/lib/pkgconfig/dspam.pc ${PREFIX}/libdata/pkgconfig/dspam.pc
${TEST} `ls -1 ${PREFIX}/lib/pkgconfig | wc -l` -eq 0 && \
${RM} -R ${PREFIX}/lib/pkgconfig || true
.if defined(USE_MYSQL)
@${MKDIR} ${EXAMPLESDIR}/mysql
cd ${WRKSRC}/tools.mysql_drv && \
${INSTALL_DATA} README mysql_objects-space.sql \
cd ${WRKSRC}/src/tools.mysql_drv && \
${INSTALL_DATA} mysql_objects-space.sql \
mysql_objects-speed.sql purge.sql \
virtual_users.sql mysql_objects-4.1.sql \
purge-4.1.sql neural.sql ${EXAMPLESDIR}/mysql
@ -523,18 +585,18 @@ post-install:
.endif
.if defined(WITH_POSTGRESQL)
@${MKDIR} ${EXAMPLESDIR}/pgsql
@cd ${WRKSRC}/tools.pgsql_drv && \
${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/pgsql
@cd ${WRKSRC}/src/tools.pgsql_drv && \
${INSTALL_DATA} *.sql ${EXAMPLESDIR}/pgsql
.endif
.if defined(WITH_SQLITE2)
.if defined(HAVE_SQLITE)
@${MKDIR} ${EXAMPLESDIR}/sqlite
cd ${WRKSRC}/tools.sqlite_drv && \
${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/sqlite
cd ${WRKSRC}/src/tools.sqlite_drv && \
${INSTALL_DATA} *.sql ${EXAMPLESDIR}/sqlite
.endif
.if defined(WITH_ORACLE)
@${MKDIR} ${EXAMPLESDIR}/oracle
cd ${WRKSRC}/tools.ora_drv && \
${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/oracle
cd ${WRKSRC}/src/tools.ora_drv && \
${INSTALL_DATA} *.sql ${EXAMPLESDIR}/oracle
.endif
.if defined(WITH_CGI)
@ -555,11 +617,12 @@ post-install:
${INSTALL_DATA} *.html ${CGI_PATH}/templates/
.endif
@${SED} ${SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD
@${SED} ${_SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR}
cd ${FILESDIR} && ${INSTALL_DATA} UPDATING ${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${_DOCS} ${DOCSDIR}
cd ${WRKSRC}/doc && ${INSTALL_DATA} ${_DOCSL} ${DOCSDIR}
cd ${FILESDIR} && ${INSTALL_DATA} UPDATING ${DOCSDIR}/UPDATING
.endif
@${MKDIR} -m ${DSPAM_HOME_MODE} ${DSPAM_HOME}

View File

@ -1,2 +1,2 @@
MD5 (dspam-3.2.8.tar.gz) = e2cf80ef0a10ff8c123cb4fda5f2411d
SIZE (dspam-3.2.8.tar.gz) = 621195
MD5 (dspam-3.4.5.tar.gz) = fcb16a275e343baaa657eda045123e06
SIZE (dspam-3.4.5.tar.gz) = 698456

View File

@ -15,6 +15,23 @@ also the UPGRADING enclosed in the dspam distribution. You can see it by doing
in the port directory:
make extract; more `find . -type f -maxdepth 2 -name UPGRADING`
###########################################################################
# dspam-3.4.5
#
This is the post-3.4 devel branch. A lot of things have changed and your
existing dspam.conf won't probably work anymore. Please compare it with the
dspam.conf.sample located in the same etc/ directory.
Most notable addition is the SMTP delivery which together with "standard"
inbound LMTP make a very nice content and light (e.g. it's the fastest setup
I've had so far) filter.
Database structure is roughly the same but you may wish to check your
existing database structure with the *.sql corresponding to you database
driver from EXAMPLESDIR (Mysql 4.1.x is now default as it's _much_ faster).
Please read carefully distributed docs like README and UPGRADING.
#############################################################################
# dspam-3.2.8
#

41
mail/dspam/files/dspam.rc Normal file
View File

@ -0,0 +1,41 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: dspam
# REQUIRE: LOGIN NETWORKING SERVERS %%MYSQL%%
# BEFORE: mail
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf[.local] to enable dspam:
#
# dspam_enable="YES"
#
. /etc/rc.subr
name=dspam
rcvar=`set_rcvar`
command=%%PREFIX%%/bin/${name}
command_args="--daemon > /dev/null 2>&1 &"
pidfile=/var/run/${name}.pid
required_dirs=%%DSPAM_HOME%%
required_files=%%PREFIX%%/etc/${name}.conf
extra_commands=reload
reload()
{
kill -HUP `cat $pidfile`
}
# set defaults
dspam_enable=${dspam_enable:-"NO"}
#dspam_flags=${dspam_flags:-"--daemon &"}
load_rc_config $name
run_rc_command "$1"

View File

@ -1,11 +0,0 @@
--- Makefile.in.orig Thu Jun 24 18:32:38 2004
+++ Makefile.in Thu Jun 24 18:37:09 2004
@@ -242,7 +242,7 @@
man_MANS = dspam.1 dspam_stats.1 dspam_corpus.1 dspam_clean.1 dspam_dump.1 \
dspam_merge.1
-pkgconfigdir = $(libdir)/pkgconfig
+pkgconfigdir = $(prefix)/libdata/pkgconfig
pkgconfig_DATA = dspam.pc
EXTRA_DIST = autogen.sh RELEASE.NOTES CHANGELOG LICENSE example.c \
dspam-button.gif dspam.1 dspam_stats.1 dspam_corpus.1 dspam_clean.1 \

View File

@ -0,0 +1,23 @@
--- src/dspam.c.dist Sun Apr 10 15:49:29 2005
+++ src/dspam.c Sun Apr 10 15:52:48 2005
@@ -2733,8 +2733,9 @@
LOG (LOG_CRIT, ERROR_MEM_ALLOC);
}
- if (CTX->result == DSR_ISSPAM)
- {
+// FreeBSD port patch: put the user in all emails, extremely usefull for scripts
+// if (CTX->result == DSR_ISSPAM)
+// {
snprintf(data, sizeof(data), "X-DSPAM-User: %s", CTX->username);
head = _ds_create_header_field(data);
if (head != NULL)
@@ -2746,7 +2747,7 @@
}
else
LOG (LOG_CRIT, ERROR_MEM_ALLOC);
- }
+// } // end of FreeBSD port patch
if (!strcmp(_ds_pref_val(PTX, "showFactors"), "on")) {

View File

@ -1,29 +0,0 @@
--- dspam.conf.in.orig Thu Dec 30 19:18:14 2004
+++ dspam.conf.in Thu Dec 30 19:20:02 2004
@@ -34,7 +34,7 @@
# the user DSPAM is processing mail for. This configuration parameter is only
# necessary if you plan on allowing untrusted processing.
#
-#UntrustedDeliveryAgent "/usr/bin/procmail -d %u"
+#UntrustedDeliveryAgent "@delivery_agent@"
#
# Quarantine Agent: DSPAM's default behavior is to quarantine all mail it
@@ -42,7 +42,7 @@
# a quarantine agent which will be called with all messages DSPAM thinks is
# spam. Use %u to specify the user DSPAM is processing mail for.
#
-#QuarantineAgent "/usr/bin/procmail -d spam"
+#QuarantineAgent "@delivery_agent@"
#
# OnFail: What to do if local delivery or quarantine should fail. If set
@@ -169,7 +169,7 @@
# Storage driver settings: Specific to a particular storage driver. Uncomment
# the configuration specific to your installation, if applicable.
#
-#MySQLServer /var/lib/mysql/mysql.sock
+#MySQLServer /tmp/mysql.sock
#MySQLPort
#MySQLUser dspam
#MySQLPass changeme

View File

@ -0,0 +1,53 @@
--- src/dspam.conf.in.dist Fri Feb 25 23:08:31 2005
+++ src/dspam.conf.in Fri Feb 25 23:19:02 2005
@@ -35,6 +35,7 @@
# necessary if you plan on allowing untrusted processing.
#
#UntrustedDeliveryAgent "/usr/bin/procmail -d %u"
+#UntrustedDeliveryAgent "@delivery_agent@"
#
# LMTP Delivery: Alternatively, you may wish to use LMTP delivery to deliver
@@ -53,6 +54,7 @@
# spam. Use %u to specify the user DSPAM is processing mail for.
#
#QuarantineAgent "/usr/bin/procmail -d spam"
+#QuarantineAgent "@delivery_agent@"
#
# OnFail: What to do if local delivery or quarantine should fail. If set
@@ -179,7 +181,7 @@
# Storage driver settings: Specific to a particular storage driver. Uncomment
# the configuration specific to your installation, if applicable.
#
-#MySQLServer /var/lib/mysql/mysql.sock
+#MySQLServer /tmp/mysql.sock
#MySQLPort
#MySQLUser dspam
#MySQLPass changeme
@@ -385,6 +387,7 @@
# without processing. Value is in bytes.
#
#MaxMessageSize 4194304
+MaxMessageSize 307200
#
# Daemonized Server: If you are running DSPAM as a daemonized server using
@@ -396,6 +399,7 @@
#
#ServerPort 24
#ServerQueueSize 32
+# keep this is sync with /usr/local/etc/rc.d/dspam.rc script
#ServerPID /var/run/dspam.pid
#
@@ -422,7 +426,8 @@
# you are running the client and server on the same machine, as it eliminates
# much of the bandwidth overhead.
#
-#ServerDomainSocketPath "/tmp/dspam.sock"
+# keep this is sync with /usr/local/etc/rd.d/dspam.rc script
+#ServerDomainSocketPath "/var/run/dspam.sock"
#
# Client Mode: If you are running DSPAM in client/server mode, uncomment and

View File

@ -1,18 +0,0 @@
Index: tools/dspam_clean.c
===================================================================
RCS file: /usr/local/cvsroot/dspam-3.2/tools/dspam_clean.c,v
retrieving revision 1.5
diff -u -r1.5 dspam_clean.c
--- tools/dspam_clean.c 25 Oct 2004 22:57:56 -0000 1.5
+++ tools/dspam_clean.c 28 Jan 2005 19:58:49 -0000
@@ -188,7 +188,7 @@
nt_add(users, argv[i]);
}
- if (!do_probs && !do_sigs && !do_unused) {
+ if (help || !do_probs && !do_sigs && !do_unused) {
fprintf(stderr, "%s", CLEANSYNTAX);
_ds_destroy_attributes(agent_config);
nt_destroy(users);
L.

View File

@ -1,41 +1,13 @@
-------------------------------------------------------------------------------
Reporting problems, asking questions:
- FreeBSD specific port-related problems/questions/paches: maintainer
(and ports@ if you fell the need); send-pr only if you get no timely reply
- dspam specific questions: dspam/dspam-dev mailling list (maintainer cc'ed)
- dspam specific patches: dspam/dspam-dev mailling list (maintainer cc'ed if)
Please be sure to include in your email/pr relevant information such as:
uname -a, dspam --version, %%_VAR_DIR%%/db/ports/%%PORTNAME%%/options, MTA setup.
See the file %%DOCSDIR%%/README for advice about
how to configure DSPAM and
%%DOCSDIR%%/README.your_mta_name
for MTA or pop3 integration; examples for:
courier, exim, pop3filter, postfix, qmail and sendmail.
Keep in mind that while this port obeys our hier(7) this thing is not
reflected in distributed files because I lack the time for patching them.
%%MYSQL%%
%%MYSQL%% See %%EXAMPLESDIR%%/mysql/README
%%MYSQL%% for instructions on how to configure DSPAM - MySQL interaction.
%%MYSQL%%
%%MYSQL%% BACKUP FIRST !!!
%%MYSQL%%
%%MYSQL%% To modify a 2.x database use and use it with dspam 3.x use:
%%MYSQL%% %%EXAMPLESDIR%%/mysql/2x_to_3x_db.sql
%%MYSQL%% To modify a 3.1.0 *mysql4.0* use :
%%MYSQL%% %%EXAMPLESDIR%%/mysql/310_to_320.my.sql
%%MYSQL%%
%%PGSQL%%
%%PGSQL%% See %%EXAMPLESDIR%%/pgsql/README
%%PGSQL%% for instructions on how to configure PostrgreSQL
%%PGSQL%% for use with DSPAM.
%%PGSQL%%
%%SQLITE%%
%%SQLITE%% See %%EXAMPLESDIR%%/sqlite/README
%%SQLITE%% for suggestion on SQLite back-end. It should work out-of-the-box.
%%SQLITE%%
%%SQLITE%% You'll always want to run dspam_clean -p0 and
%%SQLITE%% sqlite %%DSPAM_HOME%%/data/user/user.sdb < vacuum
%%SQLITE%% after a corpusfeed.
%%SQLITE%% There are most likely 70%+ junk tokens that need to be removed.
%%SQLITE%% This will have a HUGE impact on the disk space your db uses.
%%SQLITE%%
%%CGI%%
%%CGI%% The CGI files had been installed in
%%CGI%% %%CGI_PATH%%
%%CGI%% Copy
@ -55,40 +27,13 @@
%%CGI%% to
%%CGI%% %%CGI_PATH%%/admins
%%CGI%% and edit the file to your needs.
%%CGI%% See %%DOCSDIR%%/README
%%CGI%% especially the CGI and Trusted Users sections for more info.
%%CGI%% If you have problems (after upgrading) check permissions.
%%DAEMON%%
%%DAEMON%% To enable the dspam deamon put dspam_enable="YES" in your
%%DAEMON%% /etc/rc.conf
See %%DOCSDIR%%/RELEASE.NOTES
for new things in this %%PKGNAME%% and
%%DOCSDIR%%/CHANGELOG
for the full list from 3.0.0 stable.
Preference extensions are NOT yet integrated in this port,
feel free to test and send patches.
***************************** WARNING: ***************************************
Almost everything regarding how dspam must be configured has changed.
If you are upgrading from 2.x or 3.x be sure to read
%%DOCSDIR%%/UPDATING
******************************************************************************
---- %%PKGNAME%% is considered to be a STABLE release. ---
Reporting problems, asking questions:
- small typos, etc. to the maintainer
- FreeBSD specific port-related problems/questions: ports@, maintainer cc'ed
- FreeBSD specific patches, doc enhancements: send-pr maintainer cc'ed
- dspam specific questions: dspam mailling list (maintainer cc'ed if you like)
- dspam specific patches: dspam/dspam-dev mailling list (maintainer cc'ed if you like)
Please be sure to include in your email/pr relevant information such as:
uname -a, dspam --version, /var/db/ports/dspam-devel/options, MTA setup.
If needed rebuild WITH_DEBUG and to turn on debugging see DebugOpt in dsapm.conf
Please send unified diff's (diff -u).
If you don't want to see in your maillog :
"query error: verbose debug INFO ONLY: see sql.errors for more details"
please recompile withOUT verbose debug; those who will report this "error" will
be sent to spen their night in a room with a cardassian, a klingonian and a romulan.
-- Thanks for making both our lives easier.
You'll find additional setup instructions under
%%DOCSDIR%%
and
%%EXAMPLESDIR%%
------------------------------------------------------------------------------

View File

@ -1,4 +1,5 @@
bin/dspam
bin/dspamc
bin/dspam_2sql
bin/dspam_admin
bin/dspam_clean
@ -6,20 +7,23 @@ bin/dspam_corpus
bin/dspam_crc
bin/dspam_dump
bin/dspam_genaliases
bin/dspam_logrotate
bin/dspam_merge
%%PGSQL%%bin/dspam_pg2int8
bin/dspam_stats
@unexec if cmp -s %D/etc/dspam.conf %D/etc/dspam.conf.sample; then rm -f %D/etc/dspam.conf; fi
etc/dspam.conf.sample
include/dspam/buffer.h
include/dspam/config.h
include/dspam/config_shared.h
include/dspam/decode.h
include/dspam/diction.h
include/dspam/error.h
include/dspam/lht.h
include/dspam/heap.h
include/dspam/libdspam.h
include/dspam/libdspam_objects.h
include/dspam/nodetree.h
include/dspam/storage_driver.h
include/dspam/tbt.h
lib/libdspam.a
lib/libdspam.so
lib/libdspam.so.6
@ -30,17 +34,22 @@ libdata/pkgconfig/dspam.pc
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/RELEASE.NOTES
%%PORTDOCS%%%%DOCSDIR%%/README.FreeBSD
%%PORTDOCS%%%%DOCSDIR%%/README.courier
%%PORTDOCS%%%%DOCSDIR%%/README.exim
%%PORTDOCS%%%%DOCSDIR%%/README.pop3filter
%%PORTDOCS%%%%DOCSDIR%%/README.postfix
%%PORTDOCS%%%%DOCSDIR%%/README.qmail
%%PORTDOCS%%%%DOCSDIR%%/README.sendmail
%%PORTDOCS%%%%DOCSDIR%%/appliance.txt
%%PORTDOCS%%%%DOCSDIR%%/courier.txt
%%PORTDOCS%%%%DOCSDIR%%/exim.txt
%%PORTDOCS%%%%DOCSDIR%%/mysql_drv.txt
%%PORTDOCS%%%%DOCSDIR%%/ora_drv.txt
%%PORTDOCS%%%%DOCSDIR%%/pgsql_drv.txt
%%PORTDOCS%%%%DOCSDIR%%/pop3filter.txt
%%PORTDOCS%%%%DOCSDIR%%/postfix.txt
%%PORTDOCS%%%%DOCSDIR%%/qmail.txt
%%PORTDOCS%%%%DOCSDIR%%/sendmail.txt
%%PORTDOCS%%%%DOCSDIR%%/sqlite_drv.txt
%%PORTDOCS%%%%DOCSDIR%%/UPDATING
%%PORTDOCS%%%%DOCSDIR%%/UPGRADING
%%PORTDOCS%%@dirrm %%DOCSDIR%%
%%MYSQL%%%%EXAMPLESDIR%%/mysql/2x_to_3x_db.sql
%%MYSQL%%%%EXAMPLESDIR%%/mysql/310_to_320.my.sql
%%MYSQL%%%%EXAMPLESDIR%%/mysql/README
%%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects-4.1.sql
%%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects-space.sql
%%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects-speed.sql
@ -50,13 +59,11 @@ libdata/pkgconfig/dspam.pc
%%MYSQL%%%%EXAMPLESDIR%%/mysql/virtual_users.sql
%%MYSQL%%@dirrm %%EXAMPLESDIR%%/mysql
%%MYSQL%%@dirrm %%EXAMPLESDIR%%
%%PGSQL%%%%EXAMPLESDIR%%/pgsql/README
%%PGSQL%%%%EXAMPLESDIR%%/pgsql/pgsql_objects.sql
%%PGSQL%%%%EXAMPLESDIR%%/pgsql/purge.sql
%%PGSQL%%%%EXAMPLESDIR%%/pgsql/virtual_users.sql
%%PGSQL%%@dirrm %%EXAMPLESDIR%%/pgsql
%%PGSQL%%@dirrm %%EXAMPLESDIR%%
%%SQLITE%%%%EXAMPLESDIR%%/sqlite/README
%%SQLITE%%%%EXAMPLESDIR%%/sqlite/purge.sql
%%SQLITE%%@dirrm %%EXAMPLESDIR%%/sqlite
%%SQLITE%%@dirrm %%EXAMPLESDIR%%