diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2004-11-27 22:06:32 +0000 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2004-11-27 22:06:32 +0000 |
commit | a07411c362d61d4946df903f8d95a6abe2247f92 (patch) | |
tree | 79b95d63b6a6a8a87c3565c2c23f9d27cd80fb8f /mail/dspam | |
parent | - Respect CFLAGS (diff) |
- Update to 3.2.2 snapshot 20041117.1515
PR: ports/74377
Submitted by: Ion-Mihai "IOnut" Tetcu <itetcu@people.tecnik93.com> (maintainer)
Notes
Notes:
svn path=/head/; revision=122626
Diffstat (limited to 'mail/dspam')
-rw-r--r-- | mail/dspam/Makefile | 575 | ||||
-rw-r--r-- | mail/dspam/distinfo | 4 | ||||
-rw-r--r-- | mail/dspam/files/310_to_320.my.sql | 6 | ||||
-rw-r--r-- | mail/dspam/files/310_to_320.pg.sql | 35 | ||||
-rw-r--r-- | mail/dspam/files/README.cgi | 56 | ||||
-rw-r--r-- | mail/dspam/files/UPDATING | 99 | ||||
-rw-r--r-- | mail/dspam/files/mysql.data | 5 | ||||
-rw-r--r-- | mail/dspam/files/patch-Makefile.in | 11 | ||||
-rw-r--r-- | mail/dspam/files/patch-configure | 12 | ||||
-rw-r--r-- | mail/dspam/files/pgsql.data | 5 | ||||
-rw-r--r-- | mail/dspam/pkg-descr | 2 | ||||
-rw-r--r-- | mail/dspam/pkg-install | 61 | ||||
-rw-r--r-- | mail/dspam/pkg-message | 106 | ||||
-rw-r--r-- | mail/dspam/pkg-plist | 64 |
14 files changed, 723 insertions, 318 deletions
diff --git a/mail/dspam/Makefile b/mail/dspam/Makefile index dffc9a2bfbb7..5e8c9a55f200 100644 --- a/mail/dspam/Makefile +++ b/mail/dspam/Makefile @@ -6,23 +6,29 @@ # PORTNAME= dspam -PORTVERSION= 3.0.0 +PORTVERSION= 3.2.2${SNAP_DATE} CATEGORIES= mail -MASTER_SITES= http://www.nuclearelephant.com/projects/dspam/sources/ +MASTER_SITES= http://people.tecnik93.com/~itetcu/FreeBSD/ports/dspam/sources/ +DISTFILES= dspam.3.2.2.cvs.stable.20041117.1515.tar.gz MAINTAINER= itetcu@people.tecnik93.com -COMMENT= A server-side bayesian spam filter - -## debug / log options -OPTIONS= NO_CONFLICTS "DO NOT conflict with dspam-2.x" off -OPTIONS+= DEBUG "Enable debug in DSPAM_HOME/dspam.debug" on -OPTIONS+= VERBOSE_DEBUG "Enable verbose debug" on -OPTIONS+= USER_LOGGING "Log mail in DSPAM_HOME/data/user/user.log" on -OPTIONS+= SYSTEM_LOGGING "Log some info DSPAM_HOME/system.log" on -OPTIONS+= SAT "Log spam source addresses to syslog" on +COMMENT= Bayesian spam filter - development version + +WRKSRC= ${WRKDIR}/dspam-cvs-stable${SNAP_DATE} + +SNAP_DATE= .20041117.1515 + +## debug / log / admin options +OPTIONS= DEBUG "Enable debugging logging" on +OPTIONS+= VERBOSE_DEBUG "Enable debug in LOGDIR/dspam.debug" off +#OPTIONS+= USER_LOGGING "Log mail in DSPAM_HOME/data/user/user.log" off +#OPTIONS+= SYSTEM_LOGGING "Log some info DSPAM_HOME/system.log" on +#OPTIONS+= SAT "Log spam source addresses to syslog" on +#OPTIONS+= PARSE_TO_HEADERS "Get user from To header on fp spam" off +OPTIONS+= PREF_EXT "Preferences in database not in files" off ## algorithm options -OPTIONS+= TRAD_BAYES "Enable traditional-bayesian" on -OPTIONS+= ALT_BAYES "Enable alternative-bayesian" on +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 @@ -31,117 +37,156 @@ OPTIONS+= NO_BIAS "No bias toward innocent mail" off OPTIONS+= WHITELIST "Automatic whitelisting of ham" off OPTIONS+= NEURAL_NET "Enable neural networking" off ## run-time configure options -OPTIONS+= HOMEDIR_DOT "Dot files in ~/USER not DSPAM_HOME" off -OPTIONS+= OPT_IN "Run only for users with .dspam" off +#OPTIONS+= HOMEDIR_DOT "Dot files in ~/USER not DSPAM_HOME" off +OPTIONS+= USER_HOMEDIR "Store user data in ~/.dspam" off +#OPTIONS+= OPT_IN "Run only for users with .dspam" off OPTIONS+= TRUSTED_USERS "Disable trusted user security" off ## mesage taging options -OPTIONS+= SPAM_SUBJ "Prepends SPAM to the Subject header" off -OPTIONS+= SIGNATURE_HEADERS "Put signatures IDs in the header" off -OPTIONS+= WEBMAIL "Only with mail stored server-side" off +#OPTIONS+= SPAM_SUBJ "Prepends SPAM to the Subject header" off +#OPTIONS+= SIGNATURE_HEADERS "Put signatures IDs ONLY in headers" off +#OPTIONS+= WEBMAIL "Only with mail stored server-side" off ## back-end -OPTIONS+= MYSQL "Use MySQL as back-end" off +OPTIONS+= MYSQL40 "Use MySQL 4.0.x as back-end" off +OPTIONS+= MYSQL41 "Use MySQL 4.1.x as back-end" off OPTIONS+= MYSQL_COMPRESS "Compress dspam <--> MySQL" off OPTIONS+= POSTGRESQL73 "Use PostgreSQL v.7.3 as back-end" off OPTIONS+= POSTGRESQL74 "Use PostgreSQL v.7.4 as back-end" off #OPTIONS+= PGSQL_INSTALLED "You have the client installed" on OPTIONS+= ORACLE "Use Oracle as back-end (BROKEN)" off +OPTIONS+= BDB4 "Use BDB4 as back-end (not recomanded)" off +OPTIONS+= SQLITE "Use SQLite as back-end" on 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 OPTIONS+= DOMAIN_SCALE "File structure for multiple domains" off -OPTIONS+= SIGNATURE_ATACH "Put server-side signature in mails" off +#OPTIONS+= SIGNATURE_ATACH "Put server-side signature in mails" off ## MTA and LDA -OPTIONS+= MAILDROP "Use Maildrop as local delivery agent" off -OPTIONS+= PROCMAIL "Use Procmail as local delivery agent" off +OPTIONS+= MAILDROP_LDA "Use Maildrop as local delivery agent" off +OPTIONS+= PROCMAIL_LDA "Use Procmail as local delivery agent" off +OPTIONS+= CYRUS21_LDA "Use Cyrus's 2.1 deliver as LDA" off +OPTIONS+= CYRUS22_LDA "Use Cyrus's 2.2 deliver as LDA" off OPTIONS+= SENDMAIL_LDA "Use Sendmail as local delivery agent" off + OPTIONS+= SENDMAIL "Play nice with sendmail server" off +OPTIONS+= POSTFIX_MBC "Dspam as mailbox_command in Postfix" off OPTIONS+= QMAIL "Play nice with Qmail mail server" off -OPTIONS+= BROKEN_ERR_CODES "99=spam, 0=not, other=error (qmailish)" off -OPTIONS+= BROKEN_MTA "Enable if MTA pases ^M to dspam" off +#OPTIONS+= BROKEN_ERR_CODES "99=spam, 0=not, other=error (qmailish)" off +#OPTIONS+= BROKEN_MTA "Enable if MTA pases ^M to dspam" off + OPTIONS+= CGI "Install CGI (pulls in apache)" off -USE_GNOME= pkgconfig -USE_INC_LIBTOOL_VER=13 +#USE_GNOME= pkgconfig lthack +#USE_INC_LIBTOOL_VER=13 +USE_LIBTOOL_VER=15 USE_REINPLACE= yes INSTALLS_SHLIB= yes GNU_CONFIGURE= yes CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib" CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} -SED_SCRIPT= -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ - -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \ - -e 's,%%LOCALBASE%%,${LOCALBASE},g' +PKGMESSAGE= ${WRKSRC}/README.FreeBSD + +CONFLICTS= dspam-2* dspam-3.0* -WITH_SIGNATURE_LIFE?= 28 +SIGNATURE_LIFE?= 15 +_VAR_DIR= /var +LOG_DIR?= ${_VAR_DIR}/log/dspam +DSPAM_HOME?= ${_VAR_DIR}/db/dspam +DSPAM_HOME_MODE?= 0660 .include <bsd.port.pre.mk> -.if !defined(WITH_NO_CONFLICTS) -CONFLICTS= dspam-2* +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} + +.if defined(DSPAM_HOME_OWNER) +CONFIGURE_ARGS+= --with-dspam-home-owner=${DSPAM_HOME_OWNER} +.endif +.if defined(DSPAM_HOME_GROUP) +CONFIGURE_ARGS+= --with-dspam-home-group=${DSPAM_HOME_GROUP} +.endif +.if defined(DSPAM_HOME_MODE) +CONFIGURE_ARGS+= --with-dspam-home-mode=${DSPAM_HOME_MODE} +.endif + +.if defined(DSPAM_OWNER) +CONFIGURE_ARGS+= --with-dspam-owner=${DSPAM_OWNER} +.endif +.if defined(DSPAM_GROUP) +CONFIGURE_ARGS+= --with-dspam-group=${DSPAM_HOME_GROUP} +.endif +.if defined(DSPAM_MODE) +CONFIGURE_ARGS+= --with-dspam-mode=${DSPAM_HOME_MODE} .endif -.if defined(WITHOUT_DEBUG) -CONFIGURE_ARGS+= --disable-debug -.else +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' + +.if defined(WITH_DEBUG) CONFIGURE_ARGS+= --enable-debug .endif -.if defined(WITHOUT_VERBOSE_DEBUG) -CONFIGURE_ARGS+= --disable-verbose-debug -.else +.if defined(WITH_VERBOSE_DEBUG) CONFIGURE_ARGS+= --enable-verbose-debug .endif -.if defined(WITHOUT_SYSTEM_LOGGING) -CONFIGURE_ARGS+= --disable-system-logging -.else -CONFIGURE_ARGS+= --enable-logging -.endif +# conf option +#.if defined(WITH_SYSTEM_LOGGING) +#CONFIGURE_ARGS+= --enable-logging +#.else +#CONFIGURE_ARGS+= --disable-system-logging +#.endif -.if defined(WITHOUT_USER_LOGGING) -CONFIGURE_ARGS+= --disable-user-logging -.else -CONFIGURE_ARGS+= --enable-user-logging -.endif +# conf option +#.if defined(WITH_USER_LOGGING) +#CONFIGURE_ARGS+= --enable-user-logging +#.else +#CONFIGURE_ARGS+= --disable-user-logging +#.endif -.if !defined(WITHOUT_SAT) -CONFIGURE_ARGS+= --enable-source-address-tracking +# conf +#.if defined(WITH_SAT) +#CONFIGURE_ARGS+= --enable-source-address-tracking +#.endif + +# conf +#.if defined(PARSE_TO_HEADERS) +#CONFIGURE_ARGS+= --enable-parse-to-headers +#.endif + +.if defined(PREF_EXT) +CONFIGURE_ARGS+= --enable-preferences-extension .endif -.if defined(WITHOUT_TRAD_BAYES) +.if !defined(WITH_GRAHAM_BAYES) CONFIGURE_ARGS+= --disable-traditional-bayesian -.else -CONFIGURE_ARGS+= --enable-traditional-bayesian .endif -.if defined(WITHOUT_ALT_BAYES) +.if !defined(WITH_BURTON_BAYES) CONFIGURE_ARGS+= --disable-alternative-bayesian -.else -CONFIGURE_ARGS+= --enable-alternative-bayesian .endif .if defined(WITH_RNB) CONFIGURE_ARGS+= --enable-robinson -.else -CONFIGURE_ARGS+= --disable-robinson .endif .if defined(WITH_CHI_SQUARE) CONFIGURE_ARGS+= --enable-robinson -.else -CONFIGURE_ARGS+= --disable-robinson .endif .if defined(WITH_RPV) CONFIGURE_ARGS+= --enable-robinson-pvalues -.else -CONFIGURE_ARGS+= --disable-robinson-pvalues .endif -.if defined(WITHOUT_TEST_COND) +.if !defined(WITH_TEST_COND) CONFIGURE_ARGS+= --disable-test-conditional -.else -CONFIGURE_ARGS+= --enable-test-conditional .endif .if defined(WITH_NO_BIAS) @@ -154,47 +199,73 @@ CONFIGURE_ARGS+= --enable-whitelist .if defined(WITH_NEURAL_NET) CONFIGURE_ARGS+= --enable-neural-networking -#NEED_M_P=. @${TRUE} .endif -.if defined(WITH_HOMEDIR_DOT) -CONFIGURE_ARGS+= --enable-homedir-dotfiles -.endif +#.if defined(WITH_HOMEDIR_DOT) +#CONFIGURE_ARGS+= --enable-homedir-dotfiles +#.endif -.if defined(WITH_OPT_IN) -CONFIGURE_ARGS+= --enable-opt-in +.if defined(WITH_USER_HOMEDIR) +CONFIGURE_ARGS+= --enable-homedir +## XXXXXXXX +# to check incompatibility with CGI and warn user +# to install setuid root .endif +# conf +#.if defined(WITH_OPT_IN) +#CONFIGURE_ARGS+= --enable-opt-in +#.endif + .if defined(WITH_TRUSTED_USERS) CONFIGURE_ARGS+= --disable-trusted-user-security .endif -.if defined(WITH_SPAM_SUBJ) -CONFIGURE_ARGS+= --enable-spam-subject -.endif +# conf +#.if defined(WITH_SPAM_SUBJ) +#CONFIGURE_ARGS+= --enable-spam-subject +#.endif -.if defined(WITH_SIGNATURE_HEADERS) -CONFIGURE_ARGS+= --enable-signature-headers -.endif +# .conf option +#.if defined(WITH_SIGNATURE_HEADERS) +#CONFIGURE_ARGS+= --enable-signature-headers +#SED_SCRIPT+= -e 's,%%SIGHDR%%,,g' +#.else +#SED_SCRIPT+= -e '/%%SIGHDR%%/D' +#.endif -.if defined(SIGNATURE_ATACH) -CONFIGURE_ARGS+= --enable-signature-attachments -.endif +# not supported anymore +#.if defined(SIGNATURE_ATACH) +#CONFIGURE_ARGS+= --enable-signature-attachments +#.endif -.if defined(WITH_WEBMAIL) -CONFIGURE_ARGS+= --enable-webmail +#.if defined(WITH_WEBMAIL) +#CONFIGURE_ARGS+= --enable-webmail +#.endif + +DBDRV_TOTAL_COUNT= ooooooo # 7 +DBDRV_COUNT= ${DBDRV_TOTAL_COUNT} + +.if defined(WITH_MYSQL40) +WANT_MYSQL_VER= 40 +#PKGNAMESUFFIX= -mysql40 +.elseif defined(WITH_MYSQL41) +WANT_MYSQL_VER= 41 +#PKGNAMESUFFIX= -mysql41 .endif -.if defined(WITH_MYSQL) -USE_MYSQL= yes +.if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) 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 @@ -209,8 +280,12 @@ CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv \ 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' +#PKGNAMESUFFIX= -pgsql73 +DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} .endif .if defined(WITH_POSTGRESQL74) @@ -222,29 +297,58 @@ CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv \ 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' +#PKGNAMESUFFIX= -pgsql74 +DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} .endif .if defined(WITH_ORACLE) -BUILD_DEPENDS+= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:${PORTSDIR}/databases/oracle7-client +BUILD_DEPENDS+= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:\ + ${PORTSDIR}/databases/oracle7-client CONFIGURE_ARGS+= --with-storage-driver=ora_drv \ --with-oracle-home= ${LOCALBASE}/oracle7 +#PKGNAMESUFFIX= -oracle +DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} .endif -.if defined(WITH_VIRT_USERS) -CONFIGURE_ARGS+= --enable-virtual-users -#NEED_M_P=. @${TRUE} -.endif - -.if !(defined(WITH_MYSQL) || defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74) || defined(WITH_ORACLE)) +.if defined(WITH_BDB) LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41 -CONFIGURE_ARGS+= --with-db4-includes=${LOCALBASE}/include/db41 +CONFIGURE_ARGS+= --with-storage-driver=libdb4_drv \ + --with-db4-includes=${LOCALBASE}/include/db41 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' +#PKGNAMESUFFIX= -bdb +DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} +.endif + +.if ${DBDRV_TOTAL_COUNT}==${DBDRV_COUNT} || defined(WITH_SQLITE) +# DBDRV_COUNT==!(defined(WITH_MYSQL) || defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74) || defined(WITH_ORACLE) || defined(WITH_BDB)) +WITH_SQLITE= on +LIB_DEPENDS+= sqlite.2:${PORTSDIR}/databases/sqlite2 +CONFIGURE_ARGS+= --with-storage-driver=sqlite_drv \ + --with-sqlite-includes=${LOCALBASE}/include \ + --with-sqlite-libraries=${LOCALBASE}/lib +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' +#PKGNAMESUFFIX= -sqlite2 +DBDRV_COUNT:= ${DBDRV_COUNT:S/o//} +.endif + +.if defined(WITH_VIRT_USERS) +CONFIGURE_ARGS+= --enable-virtual-users .endif .if defined(WITH_LONG_USERNAMES) @@ -257,116 +361,295 @@ CONFIGURE_ARGS+= --enable-large-scale CONFIGURE_ARGS+= --enable-domain-scale .endif -.if defined(WITH_MAILDROP) +# add one 'o' here for each new LDA +LDA_TOTAL_COUNT= oooooo #6 +LDA_COUNT= ${LDA_TOTAL_COUNT} + +.if defined(WITH_MAILDROP_LDA) RUN_DEPENDS+= maildrop:${PORTSDIR}/mail/maildrop -CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop $u' +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) +.if defined(WITH_PROCMAIL_LDA) RUN_DEPENDS+= procmail:${PORTSDIR}/mail/procmail -CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail $u' +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 .if defined(WITH_SENDMAIL_LDA) && exists(/usr/sbin/sendmail) CONFIGURE_ARGS+= --with-delivery-agent=/usr/sbin/sendmail +LDA_COUNT:= ${LDA_COUNT:S/o//} .else -.if defined(WITH_SENDMAIL_LDA) && exists(${LOCALBASE}/sbin/sendmail) +. if defined(WITH_SENDMAIL_LDA) && exists(${LOCALBASE}/sbin/sendmail) CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/sbin/sendmail' -.endif +CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/sbin/sendmail' +LDA_COUNT:= ${LDA_COUNT:S/o//} +. endif .endif -.if defined(WITH_SENDMAIL) -CONFIGURE_ARGS+= --with-dspam-mode=4511 +.if defined(WITH_CYRUS21_LDA) +RUN_DEPENDS+= ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd2 +#CONFIGURE_ARGS+=\ +#--with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver -e -r $${sender} -m $${extension} $${user} $$u' +CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver' +LDA_COUNT:= ${LDA_COUNT:S/o//} .endif -.if defined(WITH_QMAIL) -CONFIGURE_ARGS+= --with-dspam-mode=4511 +.if defined(WITH_CYRUS22_LDA) +RUN_DEPENDS+= ${LOCALBASE}/cyrus/bin/deliver:${PORTSDIR}/mail/cyrus-imapd22 +#CONFIGURE_ARGS+=\ +#--with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver -e -r $${sender} -m $${extension} $${user} $$u' +CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/cyrus/bin/deliver' +LDA_COUNT:= ${LDA_COUNT:S/o//} .endif -.if defined(WITH_BROKEN_ERR_CODES) -CONFIGURE_ARGS+= --enable-broken-return-codes +.if defined(WITH_SENDMAIL) +CONFIGURE_ARGS+= --with-dspam-mode=4511 .endif -.if defined(DSPAM_HOME) -CONFIGURE_ARGS+=--with-dspam-home=${DSPAM_HOME} +.if defined(WITH_POSTFIX_MBC) +CONFIGURE_ARGS+= --with-dspam-mode=4511 +SED_SCRIPT+= -e 's,%%POSTFIX_MBC%%,,g' .else -CONFIGURE_ARGS+=--with-dspam-home=${PREFIX}/etc/dspam +SED_SCRIPT+= -e '/%%POSTFIX_MBC%%/D' .endif -# --with-dspam-home=DIR Specify directory where per-user dictionaries -# --with-dspam-home-mode=MODE Set access mode for DSPAM_HOME -# --with-dspam-home-owner=OWNER Set owner for DSPAM_HOME -# --with-dspam-home-group=GROUP Set group for DSPAM_HOME - -# --with-dspam-mode=MODE Set access mode for dspam binary -# --with-dspam-owner=OWNER Set owner for dspam binary -# --with-dspam-group=GROUP Set group for dspam binary - -.if defined(WITH_BROKEN_MTA) -CONFIGURE_ARGS+= --enable-broken-mta +.if defined(WITH_QMAIL) +CONFIGURE_ARGS+= --with-dspam-mode=4511 .endif -.if defined(WITH_SIGNATURE_LIFE) -CONFIGURE_ARGS+= --with-signature-life=${WITH_SIGNATURE_LIFE} -.endif +# conf +#.if defined(WITH_BROKEN_ERR_CODES) +#CONFIGURE_ARGS+= --enable-broken-return-codes +#.endif +# conf +#.if defined(WITH_BROKEN_MTA) +#CONFIGURE_ARGS+= --enable-broken-mta +#.endif + +# conf option .if defined(QUARANTINE_AGENT) CONFIGURE_ARGS+= --with-quarantine-agent=${QUARANTINE_AGENT} .endif .if defined(WITH_CGI) -RUN_DEPENDS+= ${LOCALBASE}/etc/apache/httpd.conf:${PORTSDIR}/${APACHE_PORT} -.endif - -MAN1= dspam.1 dspam_clean.1 dspam_corpus.1 dspam_dump.1 dspam_merge.1 dspam_stats.1 - -DOCS= CHANGELOG README LICENSE RELEASE.NOTES - -pre-everything:: - @${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL +LIB_DEPENDS+= gd.4:${PORTSDIR}/graphics/gd +RUN_DEPENDS+= ${LOCALBASE}/sbin/apachectl:${PORTSDIR}/${APACHE_PORT} +RUN_DEPENDS+= ${SITE_PERL}/mach/GD.pm:${PORTSDIR}/graphics/p5-GD +RUN_DEPENDS+= ${SITE_PERL}/GD/Graph.pm:${PORTSDIR}/graphics/p5-GD-Graph +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 +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 +.else +PLIST_SUB+= CGI="@comment " +SED_SCRIPT+= -e '/%%CGI%%/D' +.endif + +MAN1= dspam.1 dspam_clean.1 dspam_corpus.1 dspam_dump.1 dspam_merge.1 \ + dspam_stats.1 +MAN3= libdspam.3 +MLINKS= libdspam.3 dspam_init.3 +MLINKS+= libdspam.3 dspam_create.3 +MLINKS+= libdspam.3 dspam_addattribute.3 +MLINKS+= libdspam.3 dspam_attach.3 +MLINKS+= libdspam.3 dspam_process.3 +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 + +pre-extract: +BAD_OPT= `${PKG_VERSION} -t ${_OPTIONS_READ} ${PKGNAME}` + +pre-patch: + @${ECHO_CMD} "" + @${ECHO_CMD} "******************************************************************" + @${ECHO_CMD} "Warning: If upgrading please proceed as stated in" + @${ECHO_CMD} "${FILESDIR}/UPDATING" + @${ECHO_CMD} "******************************************************************" + @${ECHO_CMD} "" + @${ECHO_CMD} "Define vars below before make-ing if you need:" + @${ECHO_CMD} "" + @${ECHO_CMD} "SIGNATURE_LIFE (default 15)" + @${ECHO_CMD} "DSPAM_OWNER (default: root)" + @${ECHO_CMD} "DSPAM_GROUP (default: mail)" + @${ECHO_CMD} "DSPAM_MODE" + @${ECHO_CMD} "DSPAM_HOME (default: ${_VAR_DIR}/dspam)" + @${ECHO_CMD} "DSPAM_HOME_OWNER" + @${ECHO_CMD} "DSPAM_HOME_GROUP" + @${ECHO_CMD} "DSPAM_HOME_MODE (default: 0660)" + @${ECHO_CMD} "LOG_DIR (default: ${_VAR_DIR}/log/dspam)" + @${ECHO_CMD} "QUARANTINE_AGENT (default: mail.local)" +. if defined(WITH_CGI) + @${ECHO_CMD} "Define CGI_PATH before make-ing if you need the CGI files" + @${ECHO_CMD} "installed in other place that this installation's default" + @${ECHO_CMD} "${PREFIX}/www/vhosts/dspam" +. endif +.for old_opt in MAILDROP PROCMAIL TRAD_BAYES ALT_BAYES WITH_SPAM_SUBJ \ + USER_LOGGING SYSTEM_LOGGING WEBMAIL OPT_IN SAT PARSE_TO_HEADERS \ + BROKEN_MTA BROKEN_ERR_CODES SIGNATURE_HEADERS SIGNATURE_ATACH \ + HOMEDIR_DOT SIGNATURE_LIFE +. if defined(WITH_${old_opt}) || defined(WITHOUT_${old_opt}) || ${BAD_OPT}=='<' +#. if defined(CUCU) + @${ECHO_CMD} "" + @${ECHO_CMD} "******************************************************************" + @${ECHO_CMD} "******************************************************************" + @${ECHO_CMD} "Either:" + @${ECHO_CMD} "an old option ${old_opt} or " + @${ECHO_CMD} "OPTIONS config-file ${_OPTIONS_READ} has been detected !!!" + @${ECHO_CMD} "Trying to prevent self-shooting this port's make ends here." + @${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} "******************************************************************" + @${ECHO_CMD} "******************************************************************" + @${ECHO_CMD} "" + @${FALSE} +. endif +.endfor post-patch: - @${REINPLACE_CMD} -e 's|%%LIBTOOLFLAGS%%|${LIBTOOLFLAGS}|g ; \ - s|-ldb-4.1|-ldb41|g' ${WRKSRC}/configure + ${REINPLACE_CMD} -e 's|%%PORTNAME%%|${PORTNAME}|; \ + s|%%PKGNAME%%|${PKGNAME}|; s|%%MAINTAINER%%|${MAINTAINER}|; \ + s|%%LIBTOOLFLAGS%%|${LIBTOOLFLAGS}|g; \ + 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 pre-configure: -.if defined(WITH_MAILDROP) && (defined(WITH_PROCMAIL) || defined(WITH_SENDMAIL_LDA)) + @${ECHO_CMD} +.if !( ${LDA_TOTAL_COUNT:S/o//}==${LDA_COUNT} || ${LDA_TOTAL_COUNT}==${LDA_COUNT} ) @${ECHO_CMD} "You can only use one local delivery agent at once." + @${ECHO_CMD} "See ${LOCALBASE}/etc/dspam.conf for how to chage it at run time." @${FALSE} .endif -.if defined(WITH_PROCMAIL) && (defined(WITH_MAILDROP) || defined(WITH_SENDMAIL_LDA)) - @${ECHO_CMD} "You can only use one local delivery agent at once." +.if ${DBDRV_TOTAL_COUNT:S/o//}!=${DBDRV_COUNT} + @${ECHO_CMD} + @${ECHO_CMD} "You can use one and only one database back-end at once." @${FALSE} .endif -.if defined(WITH_NEURAL_NET) && !(defined(WITH_MYSQL) || defined(WITH_POSTGRESQL)) +.if defined(WITH_NEURAL_NET) && !(defined(WITH_MYSQL) || defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74)) @${ECHO_CMD} "You need MySQL or POSTGRESQL to use neural networking." @${FALSE} .endif -.if defined(WITH_VIRT_USERS) && !(defined(WITH_MYSQL) || defined(WITH_POSTGRESQL) || defined(WITH_ORACLE)) +.if defined(WITH_VIRT_USERS) && !(defined(WITH_MYSQL) || \ + defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74) || defined(WITH_ORACLE)) @${ECHO_CMD} "You need MySQL, POSTGRESQL or ORACLE for virtual users." @${FALSE} .endif +.if defined(WITH_PREF_EXT) && !( defined(WITH_MYSQL) || \ + defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74) ) + @${ECHO_CMD} "You need MySQL or Postgres for preferences extension" + @${FALSE} +.endif +.if defined(WITH_USER_HOMEDIR) && defined(WITH_CGI) + @${ECHO_CMD} "USER_HOMEDIR and CGI are incopatible" + @${FALSE} +.endif post-install: -.if defined(WITH_MYSQL) +### to patch dspam.conf + ${REINPLACE_CMD} -e 's|/usr/bin/|${PREFIX}/bin/|g' ${WRKSRC}/dspam.conf + @${CP} ${WRKSRC}/dspam.conf ${WRKSRC}/dspam.conf.sample + cd ${WRKSRC}/ && \ + ${INSTALL_DATA} dspam.conf.sample ${PREFIX}/etc +# @${MKDIR} ${LOG_DIR} +# @${MKDIR} ${DSPAM_HOME} + +.if defined(WITH_MYSQL40) || defined(WITH_MYSQL41) @${MKDIR} ${EXAMPLESDIR}/mysql cd ${WRKSRC}/tools.mysql_drv && \ - ${INSTALL_DATA} README *.sql* ${EXAMPLESDIR}/mysql - ${INSTALL_DATA} ${FILESDIR}/mysql.data ${EXAMPLESDIR}/mysql - ${INSTALL_DATA} ${FILESDIR}/2x_to_3x_db.sql ${EXAMPLESDIR}/mysql + ${INSTALL_DATA} README 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 + @${INSTALL_DATA} ${FILESDIR}/2x_to_3x_db.sql ${EXAMPLESDIR}/mysql + @${INSTALL_DATA} ${FILESDIR}/310_to_320.my.sql ${EXAMPLESDIR}/mysql .endif .if defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74) - ${MKDIR} ${EXAMPLESDIR}/pgsql - cd ${WRKSRC}/tools.pgsql_drv && \ + @${MKDIR} ${EXAMPLESDIR}/pgsql + @cd ${WRKSRC}/tools.pgsql_drv && \ ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/pgsql - ${INSTALL_DATA} ${FILESDIR}/pgsql.data ${EXAMPLESDIR}/pgsql +# ${INSTALL_DATA} ${FILESDIR}/pgsql.data ${EXAMPLESDIR}/pgsql +.endif +.if defined(WITH_SQLITE) + @${MKDIR} ${EXAMPLESDIR}/sqlite + cd ${WRKSRC}/tools.sqlite_drv && \ + ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/sqlite .endif +.if defined(WITH_ORACLE) + @${MKDIR} ${EXAMPLESDIR}/oracle + cd ${WRKSRC}/tools.ora_drv && \ + ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/oracle +.endif + +.if defined(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}/cgi/${I} +. endfor + cd ${WRKSRC}/cgi && ${MV} configure.pl configure.pl.sample + cd ${WRKSRC}/cgi && ${MKDIR} ${CGI_PATH} && \ + ${INSTALL_SCRIPT} configure.pl.sample ${CGI_PATH}/ && \ + ${INSTALL_SCRIPT} *.cgi ${CGI_PATH} + cd ${WRKSRC}/cgi && \ + ${INSTALL_DATA} base.css dspam-logo-small.gif rgb.txt ${CGI_PATH}/ + cd ${WRKSRC}/cgi && \ + ${INSTALL_DATA} default.prefs ${CGI_PATH}/default.prefs.sample + cd ${WRKSRC}/cgi && \ + ${INSTALL_DATA} admins ${CGI_PATH}/admins.sample +# cd ${WRKSRC}/cgi && \ +# ${INSTALL_DATA} configure.pl.sample ${CGI_PATH}/configure.pl.sample + @${MKDIR} ${CGI_PATH}/templates && cd ${WRKSRC}/cgi/templates && \ + ${INSTALL_DATA} *.html ${CGI_PATH}/templates/ +.endif + + @${SED} ${SED_SCRIPT} ${.CURDIR}/pkg-message > ${WRKSRC}/README.FreeBSD .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${DOCSDIR} -.endif - @${SED} ${SED_SCRIPT} ${PKGMESSAGE} + cd ${FILESDIR} && ${INSTALL_DATA} UPDATING ${DOCSDIR} +.endif + + @${MKDIR} -m ${DSPAM_HOME_MODE} ${DSPAM_HOME} + @${CHOWN} ${DSPAM_HOME_OWNER}:${DSPAM_HOME_GROUP} ${DSPAM_HOME} +.for _file in firstrun.txt firstspam.txt quarantinefull.txt + if ! ${TEST} -e ${WRKSRC}/txt/${_file}.sample;\ + then\ + cd ${WRKSRC}/txt && \ + ${MV} ${_file} ${_file}.sample;\ + fi + cd ${WRKSRC}/txt && \ + ${INSTALL_DATA} ${_file}.sample ${DSPAM_HOME} +.endfor + + @${MKDIR} -m ${DSPAM_HOME_MODE} ${LOG_DIR} + + @${CAT} ${WRKSRC}/README.FreeBSD + @${ECHO_CMD} "If you haven't defined NOPORTDOCS you can review this" + @${ECHO_CMD} "message in ${DOCSDIR}/README.FreeBSD" + @${ECHO_CMD} .include <bsd.port.post.mk> diff --git a/mail/dspam/distinfo b/mail/dspam/distinfo index fa51ea3a0540..2f8d2ad84267 100644 --- a/mail/dspam/distinfo +++ b/mail/dspam/distinfo @@ -1,2 +1,2 @@ -MD5 (dspam-3.0.0.tar.gz) = f5b568e8fea50faaf4c1fcabee177934 -SIZE (dspam-3.0.0.tar.gz) = 575382 +MD5 (dspam.3.2.2.cvs.stable.20041117.1515.tar.gz) = 6185bbe2a7cfd069fc9107d7b4ea8534 +SIZE (dspam.3.2.2.cvs.stable.20041117.1515.tar.gz) = 620212 diff --git a/mail/dspam/files/310_to_320.my.sql b/mail/dspam/files/310_to_320.my.sql new file mode 100644 index 000000000000..7eb8148d52c3 --- /dev/null +++ b/mail/dspam/files/310_to_320.my.sql @@ -0,0 +1,6 @@ +/** dspam 3.1.0 to 3.2.0 mysql migration script */ +/** set myisam_sort_buffer_size to a high value to make this faster */ + +ALTER TABLE dspam_signature_data DROP COLUMN snr; +CREATE INDEX id_signature_data_02 ON dspam_signature_data(created_on); +DROP TABLE dspam_snr_data; diff --git a/mail/dspam/files/310_to_320.pg.sql b/mail/dspam/files/310_to_320.pg.sql new file mode 100644 index 000000000000..84093c43fd6c --- /dev/null +++ b/mail/dspam/files/310_to_320.pg.sql @@ -0,0 +1,35 @@ +/** dspam 3.1.0 to 3.2.0 pgsql migration script */ + +CREATE INDEX id_token_data_03 ON dspam_token_data(token); + +CREATE TABLE dspam_signature_data_tmp ( + uid smallint, + signature varchar(128), + data bytea, + length int, + created_on date, + UNIQUE (signature, uid) +); +INSERT INTO dspam_signature_data_tmp SELECT * FROM dspam_signature_data; +DROP TABLE dspam_signature_data; +ALTER TABLE dspam_signature_data_tmp RENAME TO dspam_signature_data; + +CREATE TABLE dspam_neural_decisions_tmp ( + uid smallint, + signature varchar(128), + data bytea, + length smallint, + length int, + created_on date, + UNIQUE (signature, uid) +); +INSERT INTO dspam_neural_decisions_tmp SELECT * FROM dspam_neural_decisions; +DROP TABLE dspam_neural_decisions; +ALTER TABLE dspam_neural_decisions_tmp RENAME TO dspam_neural_decisions; + +CREATE TABLE dspam_preferences ( + uid smallint, + preference varchar(128), + value varchar(128), + UNIQUE (preference, uid) +); diff --git a/mail/dspam/files/README.cgi b/mail/dspam/files/README.cgi deleted file mode 100644 index b30a5c731821..000000000000 --- a/mail/dspam/files/README.cgi +++ /dev/null @@ -1,56 +0,0 @@ -DSPAM CGI - - The CGI will need to function in the same group as the dspam agent. The - best way to do this is to create a separate virtualhost specifically for - the CGI and assign it to run in the MTA group. If you are using - procmail, additional configuration may also be necessary (see below). - Please note that Apache users running under suexec do NOT take on the - identity of the groups specified in /etc/group; e.g. you will need to - specifically assign the group in httpd.conf. - - NOTE: Because the DSPAM CGI is a script, DSPAM will not retain its - privileges when called. If you are running procmail, this will become - a problem as procmail requires root privileges to deliver. The easiest - hack around this is to create a procmail.dspam binary and make it - setuid root, then make it executable only by the mail group (or - whatever group DSPAM and the CGI run in). - - The DSPAM CGI has a minimal configuration inside the dspam.cgi file. You'll - want to check dspam.cgi and make sure all of the settings are correct. In - most cases, the only that will be necessary to change are the large-scale - or domain-scale flags. - - Once you've configured the CGI, there are two more things you'll want to do. - - 1. Edit templates/nav_performance.html - Change yourdomain to whatever your domain name is. - - 2. Make any changes to default.prefs. This will set the default preferences - for a user. The file should reflect your system wide defaults. An example - is provided in the cgi directory... - -trainingMode=TEFT -spamAction=quarantine -spamSubject=[SPAM] -enableBNR=on -enableWhitelist=on - - By default, the parameters specified on the commandline will be used. If, - however, a preference is found for the particular user those preferences - will override the commandline. As a result, you'll want to remove any - options from the CGI that you don't want users to set (possibly - training mode). - - If you plan on leaving DSPAM's logging function enabled, and would like to - produce pretty graphs for your users, the graph.cgi script requires the - following be installed on your machine: - - - GD Graphics Library (http://www.boutell.com/gd/) - - The following PERL modules: - (http://www.perl.com/CPAN/modules/by-module/GD/) - - . GD - . GD-Graph3d - . GDGraph - . GDTextUtil - diff --git a/mail/dspam/files/UPDATING b/mail/dspam/files/UPDATING new file mode 100644 index 000000000000..f47ae515ad83 --- /dev/null +++ b/mail/dspam/files/UPDATING @@ -0,0 +1,99 @@ +This file documents some of the problems you may encounter when +upgrading dspam port. I will try our best to minimize these disruptions, +but sometimes they are unavoidable. + +You should get into the habit of checking this file for changes each +time before attempting any port upgrade. + +This file concetrate on the FreeBSD / port specific changes and one should read +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.2.2.20041117.1515: +# + +- dspam configuration is now done via dspam.conf + +- please remove any OPTION + +- the following OPTIONS should be set now in dspam.conf +OPTION .conf name def. value +------------------------------------------------------------------------------- +DSPAM_HOME Home /var/dspam +WITH_*_LDA TrustedDeliveryAgent mail.local + UntrustedDeliveryAgent /usr/libexec/mail.local d %u +QUARANTINE_AGENT QuarantineAgent # + +WITH_SPAM_SUBJ Preference "spamAction=tag" # + Preference "spamSubject=SPAM" # +USER_LOGGING UserLog on +SYSTEM_LOGGING SystemLog on +WEBMAIL TrainPristine off +WITH_OPT_IN Opt out +SAT TrackSources spam ham # +PARSE_TO_HEADERS ParseToHeaders on +BROKEN_MTA Broken lineStripping # +BROKEN_ERR_CODES Broken returnCodes # +SIGNATURE_HEADERS Preference "signatureLocation= message" # headers + +- the following OPTIONS should does not exist anymore: +SIGNATURE_ATACH WITH_HOMEDIR_DOT + +- the following OPTIONS have their name changed to follow vedor names +TRAD_BAYES GRAHAM_BAYES +ALT_BAYES BURTON_BAYES +WITH_SIGNATURE_LIFE SIGNATURE_LIFE + +- new OPTIONS +OPTION port default +---------------------------------------------- +LOG_DIR /var/log/dspam +WITH_USER_HOMEDIR +DSPAM_HOME_OWNER +DSPAM_HOME_GROUP +DSPAM_HOME_MODE +DSPAM_MODE +DSPAM_OWNER +DSPAM_GROUP + +To upgrade you should: + +0. Read docs enclosed with teh dpsam distribution, beginnig with UPGRADING and +README + +1. Adjust your OPTIONs +( make rmconfig config in dspam port dir, command line, pkg_tools.conf ) + +2. make VARs....... +in dspam port dir with appropiate OPTIONS and VARs (see changes above) + +3. stop you MTA or deactivate dspam from it + +5. make VARs........ install + +4.a) If using MySQL 4.0.xx or PostgreSQL: +- back-up the database +- use the appropiate migration scripts from files dir of dspam port dir +( for MySQL you should use 2x_to_3x_db.sql then 310_to_320.my.sql) +(if using MySQL 4.1.x or 3.xx you're on your own for now; the same for +PostgreSQL, but take a look in the UPDATING and 310_to_320.pg.sql) + +5. Back-up and them move the files from the old DSPAM_HOME +(defaulted: /usr/loca/etc/dspam) to the new DSPAM_HOME (default /var/db/dspam) +or where ever you defined DSPAM_HOME in 2 above. + +6. Adjust you new dspam.conf according with your setup OPTIONS and VARs defined +on make / mak install step. + +7. Remove the old setup files (you have them in the back-up, right ?) + +8. Enable dspam in the MTA setup, but only locally or something and start testing. + +If something ain't working is one of: +- permissions problems (hint: with what UID +is dspam called from your MTA vs. DSPAM_HOME and DSPAM_LOG_DIR) +- something wrong in dspam.conf (hint: you didn't remove old config files +and they are still used ?) diff --git a/mail/dspam/files/mysql.data b/mail/dspam/files/mysql.data deleted file mode 100644 index 1a48d14863f8..000000000000 --- a/mail/dspam/files/mysql.data +++ /dev/null @@ -1,5 +0,0 @@ -/tmp/mysql.sock - -user -password -database diff --git a/mail/dspam/files/patch-Makefile.in b/mail/dspam/files/patch-Makefile.in new file mode 100644 index 000000000000..bffbd6d73240 --- /dev/null +++ b/mail/dspam/files/patch-Makefile.in @@ -0,0 +1,11 @@ +--- 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 \ diff --git a/mail/dspam/files/patch-configure b/mail/dspam/files/patch-configure deleted file mode 100644 index 7cb007066691..000000000000 --- a/mail/dspam/files/patch-configure +++ /dev/null @@ -1,12 +0,0 @@ ---- configure.orig Sat Jul 3 14:18:37 2004 -+++ configure Sat Jul 3 14:18:57 2004 -@@ -19272,7 +19272,8 @@ - - - # This can be used to rebuild libtool when needed --LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" -+LIBTOOL_DEPS="%%LIBTOOLFLAGS%% $ac_aux_dir/ltmain.sh" -+$ac_aux_dir/ltconfig $LIBTOOL_DEPS - - # Always use our own libtool. - LIBTOOL='$(SHELL) $(top_builddir)/libtool' diff --git a/mail/dspam/files/pgsql.data b/mail/dspam/files/pgsql.data deleted file mode 100644 index bb564dca581b..000000000000 --- a/mail/dspam/files/pgsql.data +++ /dev/null @@ -1,5 +0,0 @@ -/tmp - -username -password -dspam_database diff --git a/mail/dspam/pkg-descr b/mail/dspam/pkg-descr index 31a1b8569879..2dce6e735aa5 100644 --- a/mail/dspam/pkg-descr +++ b/mail/dspam/pkg-descr @@ -4,4 +4,4 @@ server-side agent for UNIX email servers and a developer's library for mail clients, other anti-spam tools, and similar projects requiring drop-in spam filtering. -WWW: http://www.nuclearelephant.com/projects/dspam/ +WWW: http://dspam.nuclearelephant.com diff --git a/mail/dspam/pkg-install b/mail/dspam/pkg-install deleted file mode 100644 index 8fc42a5f9027..000000000000 --- a/mail/dspam/pkg-install +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ - -PATH=/bin:/usr/sbin - -upgradewarning() { - echo " - - ======================================================================= - Note for upgraders from dspam 2.x: - - DSPAM v3.0 has moved many features out to the commandline. - - Other configure-time arguments have also been changed or removed. - - The stucture of the database (MySQL, Oracle) has changed; if you use - one of this the PKGMESSAGE will tell you what do do. - - While this port tries his best to help you with the upgrade, be sure - to read the section UPGRADING of 1.1 INSTALLATION - UPGRADING from - %%PORTDOCS%%/%%DOCSDIR%%/README. Because of the command line changes you - risk to have all you mails going to the bit bucket with NO WARNING. - - Do not continue to install this port without shutting down your MTA - and/or disableing dspam (if you are installing in the same place). - If you whant to test the new version, install with PREFIX != /usr/local - and choose WITH_NO_CONFLICT in the OPTIONS menu; otherwise if you have - dspam-2.x this port will refuse to install. - ======================================================================== -" - sleep 3 -} - -featurewarning() { - echo " - - Known issues: - - WITH_ORACLE does not configure. - - the new POP3 Proxy integration is not yet handled by this port - - due to the removal of postgress client port from the Ports Tree - if you choose WITH_POSTRESQL Postgresql 7.3 will be installed; if you - plan to use a server on another machine do: - 1. Hit Ctrl+C now. - 2. Go in databases/postgresql73 and make -DWITHOUT_SERVER install - 3. Come back here and make install - - the cgi part is really untested and requires more work - - some changes from rc2 are not merged yet. - - no supplimantary {platform|MTA|LDA,etc.} documentaion is in yet - - qmail dspam-filter (http://sourceforge.net/projects/dspam-filter/) - is not yet integrated. - " - sleep 8 -} - -case $2 in -PRE-INSTALL) - upgradewarning - featurewarning - ;; -UPGRADEWARNING) - upgradewarning - ;; -esac diff --git a/mail/dspam/pkg-message b/mail/dspam/pkg-message index 97706c8c6b14..702a6b43a1e3 100644 --- a/mail/dspam/pkg-message +++ b/mail/dspam/pkg-message @@ -1,34 +1,94 @@ --------------------------------------------------------------------- +------------------------------------------------------------------------------- - See the file %%DOCSDIR%%/README for advice about - how to configure DSPAM with your MTA. Examples are provided for - sendmail, postfix, exim and courier MTAs. - - Note that man entries have been added for all dspam binaries. + 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%%/README -%%MYSQL%% for instructions on how to configure MySQL -%%MYSQL%% for use with DSPAM. +%%MYSQL%% See %%EXAMPLESDIR%%/mysql/README +%%MYSQL%% for instructions on how to configure DSPAM - MySQL interaction. +%%MYSQL%% +%%MYSQL%% BACKUP FIRST !!! %%MYSQL%% -%%MYSQL%% %%EXAMPLESDIR%%/mysql.data -%%MYSQL%% contains an example configuration for use with MySQL. -%%MYSQL%% Edit and install as -%%MYSQL%% %%LOCALBASE%%/etc/dspam/mysql.data -%%MYSQL%% To modify an 2.x database use and use it with dspam 3.x use: +%%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%%/README +%%PGSQL%% See %%EXAMPLESDIR%%/pgsql/README %%PGSQL%% for instructions on how to configure PostrgreSQL %%PGSQL%% for use with DSPAM. -%%PGSQL%% [ To add a nice tutorial on this ] -%%PGSQL%% [ To add a nice turorial on converting a MySQL DB ] -%%PGSQL%% %%EXAMPLESDIR%%/pgsql.data -%%PGSQL%% contains an example configuration for use with PostgreSQL. -%%PGSQL%% Edit and install as -%%PGSQL%% %%LOCALBASE%%/etc/dspam/pgsql.data -%%PGSQL%% +%%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 +%%CGI%% %%CGI_PATH%%/default.prefs.sample +%%CGI%% to +%%CGI%% %%CGI_PATH%%/default.prefs +%%CGI%% and edit it to your needs. +%%CGI%% Copy +%%CGI%% %%CGI_PATH%%/configure.pl.sample +%%CGI%% to +%%CGI%% %%CGI_PATH%%/configure.pl +%%CGI%% and edit it to your needs. +%%CGI%% If you symlink this file in %%DSPAM_HOME%%/ +%%CGI%% an administrator can edit these options in the DSPAM Admin Suite. +%%CGI%% Define administrators by copying +%%CGI%% %%CGI_PATH%%/admins.sample +%%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. + + 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. +------------------------------------------------------------------------------ diff --git a/mail/dspam/pkg-plist b/mail/dspam/pkg-plist index b8fd20d82aa4..aa2b5e9bce62 100644 --- a/mail/dspam/pkg-plist +++ b/mail/dspam/pkg-plist @@ -1,5 +1,6 @@ bin/dspam bin/dspam_2sql +bin/dspam_admin bin/dspam_clean bin/dspam_corpus bin/dspam_crc @@ -7,7 +8,9 @@ bin/dspam_dump bin/dspam_genaliases bin/dspam_merge bin/dspam_stats +etc/dspam.conf.sample include/dspam/buffer.h +include/dspam/config.h include/dspam/decode.h include/dspam/error.h include/dspam/lht.h @@ -15,30 +18,77 @@ 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.5 +lib/libdspam.so.6 libdata/pkgconfig/dspam.pc %%PORTDOCS%%%%DOCSDIR%%/CHANGELOG %%PORTDOCS%%%%DOCSDIR%%/LICENSE %%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%%/UPDATING %%PORTDOCS%%@dirrm %%DOCSDIR%% -%%MYSQL%%%%EXAMPLESDIR%%/mysql/README %%MYSQL%%%%EXAMPLESDIR%%/mysql/2x_to_3x_db.sql -%%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql.data -%%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects.sql.space.optimized -%%MYSQL%%%%EXAMPLESDIR%%/mysql/mysql_objects.sql.speed.optimized +%%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 +%%MYSQL%%%%EXAMPLESDIR%%/mysql/neural.sql +%%MYSQL%%%%EXAMPLESDIR%%/mysql/purge-4.1.sql %%MYSQL%%%%EXAMPLESDIR%%/mysql/purge.sql %%MYSQL%%%%EXAMPLESDIR%%/mysql/virtual_users.sql %%MYSQL%%@dirrm %%EXAMPLESDIR%%/mysql %%MYSQL%%@dirrm %%EXAMPLESDIR%% %%PGSQL%%%%EXAMPLESDIR%%/pgsql/README -%%PGSQL%%%%EXAMPLESDIR%%/pgsql/pgsql.data %%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%% +%%CGI%%www/vhosts/dspam/admins.sample +%%CGI%%www/vhosts/dspam/admin.cgi +%%CGI%%www/vhosts/dspam/admingraph.cgi +%%CGI%%www/vhosts/dspam/base.css +%%CGI%%www/vhosts/dspam/configure.pl.sample +%%CGI%%www/vhosts/dspam/default.prefs.sample +%%CGI%%www/vhosts/dspam/dspam.cgi +%%CGI%%www/vhosts/dspam/graph.cgi +%%CGI%%www/vhosts/dspam/dspam-logo-small.gif +%%CGI%%www/vhosts/dspam/rgb.txt +%%CGI%%www/vhosts/dspam/templates/nav_admin_error.html +%%CGI%%www/vhosts/dspam/templates/nav_admin_preferences.html +%%CGI%%www/vhosts/dspam/templates/nav_admin_status.html +%%CGI%%www/vhosts/dspam/templates/nav_admin_user.html +%%CGI%%www/vhosts/dspam/templates/nav_alerts.html +%%CGI%%www/vhosts/dspam/templates/nav_analysis.html +%%CGI%%www/vhosts/dspam/templates/nav_error.html +%%CGI%%www/vhosts/dspam/templates/nav_history.html +%%CGI%%www/vhosts/dspam/templates/nav_performance.html +%%CGI%%www/vhosts/dspam/templates/nav_preferences.html +%%CGI%%www/vhosts/dspam/templates/nav_quarantine.html +%%CGI%%www/vhosts/dspam/templates/nav_viewmessage.html +%%CGI%%@dirrm www/vhosts/dspam/templates +%%CGI%%@dirrm www/vhosts/dspam +%%CGI%%@dirrm www/vhosts +%%CGI%%@unexec rmdir %D/www 2>/dev/null || true @dirrm include/dspam -@dirrm etc/dspam +@unexec rmdir %D/libdata/pkgconfig 2>/dev/null || true +@cwd %%DSPAM_HOME%% +firstrun.txt.sample +firstspam.txt.sample +quarantinefull.txt.sample +@cwd / +@dirrm %%DSPAM_HOME%% |