aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2004-11-27 22:06:32 +0000
committerPav Lucistnik <pav@FreeBSD.org>2004-11-27 22:06:32 +0000
commita07411c362d61d4946df903f8d95a6abe2247f92 (patch)
tree79b95d63b6a6a8a87c3565c2c23f9d27cd80fb8f
parentacda08ee44374b05e03c360624c37d7386073f82 (diff)
downloadports-a07411c362d61d4946df903f8d95a6abe2247f92.tar.gz
ports-a07411c362d61d4946df903f8d95a6abe2247f92.zip
- 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
-rw-r--r--mail/dspam/Makefile575
-rw-r--r--mail/dspam/distinfo4
-rw-r--r--mail/dspam/files/310_to_320.my.sql6
-rw-r--r--mail/dspam/files/310_to_320.pg.sql35
-rw-r--r--mail/dspam/files/README.cgi56
-rw-r--r--mail/dspam/files/UPDATING99
-rw-r--r--mail/dspam/files/mysql.data5
-rw-r--r--mail/dspam/files/patch-Makefile.in11
-rw-r--r--mail/dspam/files/patch-configure12
-rw-r--r--mail/dspam/files/pgsql.data5
-rw-r--r--mail/dspam/pkg-descr2
-rw-r--r--mail/dspam/pkg-install61
-rw-r--r--mail/dspam/pkg-message106
-rw-r--r--mail/dspam/pkg-plist64
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%%