1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00

Update to 3.6.1

Add TRAIN_SCRIPT in OPTIONS
Use USE_DBD and USE_SQLITE
Add SHA256

PR:		88688
Submitted by:	"Ion-Mihai "IOnut" Tetcu" <itetcu@people.tecnik93.com> (maintainer)
This commit is contained in:
Marcus Alves Grando 2005-11-11 12:24:37 +00:00
parent 54cb5b41b9
commit 07a08f5dae
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=147914
6 changed files with 108 additions and 21 deletions

View File

@ -12,14 +12,13 @@
PORTNAME= dspam-devel
PORTVERSION= ${PORTVER_MAJ}${SNAP_DATE}
PORTREVISION= 0
CATEGORIES= mail
MASTER_SITES= http://people.tecnik93.com/~itetcu/FreeBSD/ports/${PORTNAME}/sources/
MAINTAINER= itetcu@people.tecnik93.com
COMMENT= Bayesian spam filter - development version
PORTVER_MAJ= 3.6.0
PORTVER_MAJ= 3.6.1
#SNAP_DATE= .20051016.2141
.ifdef(SNAP_DATE)
@ -87,6 +86,7 @@ OPTIONS+= POSTFIX_MBC "Dspam as mailbox_command in Postfix" off
OPTIONS+= QMAIL "Play nice with Qmail mail server" off
OPTIONS+= CGI "Install CGI (pulls in apache)" off
OPTIONS+= TRAIN_SCRIPT "Install trainning script (needs perl)" off
USE_LIBTOOL_VER=15
USE_REINPLACE= yes
@ -106,7 +106,7 @@ STRIP=
PKGMESSAGE= ${WRKSRC}/src/README.FreeBSD
_UPD_LINE_NO= 16
_UPD_LINE_NO= 23
CONFLICTS= dspam-[0-9]*
@ -227,7 +227,8 @@ _DBDRV:= ${_DBDRV:S/pgsql_drv,//}
.endif
.if defined(WITH_BDB4)
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
# change me when we have BDB_VERSOIN in bsd.databases.mk
USE_BDB= 41
CONFIGURE_ARGS+= --with-db4-includes=${LOCALBASE}/include/db41
PLIST_SUB+= DB4=""
#PKGNAMESUFFIX= -bdb41
@ -238,22 +239,20 @@ PLIST_SUB+= DB4="@comment "
.endif
.if defined(WITH_SQLITE3)
HAVE_SQLITE= yes
LIB_DEPENDS+= sqlite3.8:${PORTSDIR}/databases/sqlite3
USE_SQLITE= 3
_DBDRV_COUNT:= ${_DBDRV_COUNT}o
.else
_DBDRV:= ${_DBDRV:S/sqlite3_drv,//}
.endif
.if defined(WITH_SQLITE2)
HAVE_SQLITE= yes
LIB_DEPENDS+= sqlite.2:${PORTSDIR}/databases/sqlite2
USE_SQLITE= 2
_DBDRV_COUNT:= ${_DBDRV_COUNT}o
.else
_DBDRV:= ${_DBDRV:S/sqlite_drv,//}
.endif
.if defined(HAVE_SQLITE)
.if defined(USE_SQLITE)
CONFIGURE_ARGS+= --with-sqlite-includes=${LOCALBASE}/include \
--with-sqlite-libraries=${LOCALBASE}/lib
PLIST_SUB+= SQLITE=""
@ -402,7 +401,7 @@ RUN_DEPENDS+= ${SITE_PERL}/GD/Graph3d.pm:${PORTSDIR}/graphics/p5-GD-Graph3d
RUN_DEPENDS+= ${SITE_PERL}/GD/Text.pm:${PORTSDIR}/graphics/p5-GD-TextUtil
CONFIGURE_ARGS+=--enable-logging
CONFIGURE_ARGS+=--enable-user-logging
USE_PERL5_RUN= yes
USE_PERL5= yes
PLIST_SUB+= CGI=""
CGI_PATH?= ${PREFIX}/www/vhosts/dspam
_SED_SCRIPT+= -e 's/%%CGI%%//g'
@ -414,6 +413,13 @@ PLIST_SUB+= CGI="@comment "
_SED_SCRIPT+= -e '/%%CGI%%/D'
.endif
.ifdef(WITH_TRAIN_SCRIPT)
USE_PERL5= yes
PLIST_SUB+= TRAIN_SCRIPT=""
.else
PLIST_SUB+= TRAIN_SCRIPT="@comment "
.endif
MAN1= dspam.1 dspam_clean.1 dspam_corpus.1 dspam_dump.1 dspam_merge.1 \
dspam_stats.1
MAN3= libdspam.3
@ -463,7 +469,6 @@ 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
@ -501,11 +506,22 @@ post-patch:
@${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}/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-2.sql
@${REINPLACE_CMD} -e "s|where julianday('now')-julianday(created_on) > 14;|where julianday('now')-julianday(created_on) > ${SIGNATURE_LIFE};|" ${WRKSRC}/src/tools.sqlite_drv/purge-3.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 @a-14 > to_days(created_on);|where @a-${SIGNATURE_LIFE} > to_days(created_on);|' \
${WRKSRC}/src/tools.mysql_drv/purge-4.1.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-2.sql
@${REINPLACE_CMD} -e "s|where julianday('now')-julianday(created_on) > 14;|where julianday('now')-julianday(created_on) > ${SIGNATURE_LIFE};|" \
${WRKSRC}/src/tools.sqlite_drv/purge-3.sql
.ifdef(WITH_TRAIN_SCRIPT)
@${REINPLACE_CMD} -e "s^%%PERL%%^${PERL}^; s^%%DSPAM_PATH%%^${PREFIX}/bin^" ${WRKSRC}/scripts/train.pl
.endif
pre-configure:
@${ECHO_CMD}
@ -544,7 +560,7 @@ pre-configure:
@${FALSE}
.endif
.if defined(WITH_LDAP) && !( defined(USE_MYSQL) || \
defined(WITH_POSTGRESQL) || defined(HAVE_SQLITE) )
defined(WITH_POSTGRESQL) || defined(USE_SQLITE) )
@${ECHO_CMD} "You need MySQL, Postgres or SQLITE for LDAP."
@${FALSE}
.endif
@ -588,7 +604,7 @@ post-install:
@cd ${WRKSRC}/src/tools.pgsql_drv && \
${INSTALL_DATA} *.sql ${EXAMPLESDIR}/pgsql
.endif
.ifdef(HAVE_SQLITE)
.ifdef(USE_SQLITE)
@${MKDIR} ${EXAMPLESDIR}/sqlite
cd ${WRKSRC}/src/tools.sqlite_drv && \
${INSTALL_DATA} *.sql ${EXAMPLESDIR}/sqlite
@ -601,7 +617,7 @@ post-install:
.ifdef(WITH_CGI)
. for I in admin.cgi admingraph.cgi configure.pl dspam.cgi graph.cgi
@${SED} -i '' -e "s,/usr/bin/perl,${PERL},g" ${WRKSRC}/webui/cgi-bin/${I}
@${REINPLACE_CMD} -e "s,/usr/bin/perl,${PERL},g" ${WRKSRC}/webui/cgi-bin/${I}
. endfor
cd ${WRKSRC}/webui/cgi-bin && ${MV} configure.pl configure.pl.sample
cd ${WRKSRC}/webui/cgi-bin && ${MKDIR} ${CGI_PATH} && \
@ -618,6 +634,11 @@ post-install:
${INSTALL_DATA} *.html ${CGI_PATH}/templates/
.endif
.ifdef(WITH_TRAIN_SCRIPT)
cd ${WRKSRC}/scripts && \
${INSTALL_SCRIPT} train.pl ${PREFIX}/bin/dspam_train
.endif
@${SED} ${_SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD
.if !defined(NOPORTDOCS)

View File

@ -1,2 +1,3 @@
MD5 (dspam-devel-3.6.0.tar.gz) = d9ee63a8cf67ea933d711b00851ce916
SIZE (dspam-devel-3.6.0.tar.gz) = 732042
MD5 (dspam-devel-3.6.1.tar.gz) = 615807289462859f6e2cd12e3f490a49
SHA256 (dspam-devel-3.6.1.tar.gz) = a07f5c4d327cad924175a31607ba1e7986fbe1896247256e051461622ee3375d
SIZE (dspam-devel-3.6.1.tar.gz) = 739401

View File

@ -12,6 +12,29 @@ 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-devel-3.6.1
#
!!! WARNING: Both dspam 3.6.0 and 3.6.1 have a memory leak !!!
Watch the size and res (top -o size or top -o res) of dspam process and
restart it (/usr/local/etc/rc.d/dspam-devel.sh restart) when it gets to big.
BUGFIX: ParseToHeaders can segfault on malformatted To header
BUGFIX: TrackSources does not correctly parse messages with QMail Received
headers
BUGFIX: Missing check for existing strcasestr
BUGFIX: X-DSPAM-Reclassified heading appears blank
BUGFIX: Plused-Detail support does not work with domains
BUGFIX: Hash databases are not 8-byte aligned (do not work with 64-bit systems)
use cssconvert to convert your hash file
BUGFIX: Certain daemon-mode operations append a trailing period
BUGFIX: DataSource 'document' option causes improper processing
BUGFIX: Segfaults occur on malformed Content-Type header
BUGFIX: History appears blank in dspam.cgi
- WITH_TRAIN_SCRIPT for an example training script dspam_train
###########################################################################
# dspam-devel-3.6.0

View File

@ -0,0 +1,17 @@
--- scripts/train.pl.dist Tue Nov 8 14:34:38 2005
+++ scripts/train.pl Tue Nov 8 14:36:06 2005
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!%%PERL%%
# train.pl
# This tool trains a corpus of messages (a directory containing a nonspam and
@@ -14,7 +14,7 @@
use vars qw { $USER $PATH $REPORTING_WINDOW $CORPUS $TRAINING_MODE };
$REPORTING_WINDOW = 250; # How often to summarize
-$PATH = "/usr/local/dspam/bin"; # Path to dspam binaries
+$PATH = "%%DSPAM_PATH%%"; # Path to dspam binaries
$TRAINING_MODE = "teft"; # Training mode
### DO NOT CONFIGURE BELOW THIS LINE ###

View File

@ -0,0 +1,23 @@
--- src/libdspam.c 2 Nov 2005 19:39:28 -0000 1.142
+++ src/libdspam.c 8 Nov 2005 15:26:44 -0000 1.143
@@ -672,6 +672,8 @@
current_heading = (ds_header_t) node_nt->ptr;
if (!strcmp (current_heading->heading, "Received"))
{
+ char *data, *ptr, *tok;
+
// detect and skip "Received: (qmail..." lines
if (!strncmp(current_heading->data, "(qmail", 6))
{
@@ -680,9 +682,8 @@
continue;
}
- char *data = strdup (current_heading->data);
- char *ptr = strstr (data, "from");
- char *tok;
+ data = strdup (current_heading->data);
+ ptr = strstr (data, "from");
if (ptr != NULL)
{

View File

@ -1,6 +1,7 @@
%%HASH%%bin/cssstat
%%HASH%%bin/csscompress
%%HASH%%bin/cssclean
%%HASH%%bin/cssconvert
bin/dspam
bin/dspamc
bin/dspam_2sql
@ -14,6 +15,7 @@ bin/dspam_logrotate
bin/dspam_merge
%%PGSQL%%bin/dspam_pg2int8
bin/dspam_stats
%%TRAIN_SCRIPT%%bin/dspam_train
@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