aboutsummaryrefslogtreecommitdiffstats
path: root/mail/dspam/Makefile
diff options
context:
space:
mode:
authorpav <pav@FreeBSD.org>2004-07-04 19:58:16 +0800
committerpav <pav@FreeBSD.org>2004-07-04 19:58:16 +0800
commitd3b030cf91819c4470214993aaa9ea432470263b (patch)
tree62ba2c63e7dbea877fe9cd517a98b622f1ea78e4 /mail/dspam/Makefile
parentfbb80b694a4be7587fd88ea7fc15751e20ecfb28 (diff)
downloadfreebsd-ports-gnome-d3b030cf91819c4470214993aaa9ea432470263b.tar.gz
freebsd-ports-gnome-d3b030cf91819c4470214993aaa9ea432470263b.tar.zst
freebsd-ports-gnome-d3b030cf91819c4470214993aaa9ea432470263b.zip
- Update to 3.0.0
PR: ports/68625 Submitted by: Rob Evers <rob@debank.tv> (maintainer)
Diffstat (limited to 'mail/dspam/Makefile')
-rw-r--r--mail/dspam/Makefile328
1 files changed, 258 insertions, 70 deletions
diff --git a/mail/dspam/Makefile b/mail/dspam/Makefile
index 527d2ba98d13..7e5304992aea 100644
--- a/mail/dspam/Makefile
+++ b/mail/dspam/Makefile
@@ -6,32 +6,61 @@
#
PORTNAME= dspam
-PORTVERSION= 2.10.6
+PORTVERSION= 3.0.0
CATEGORIES= mail
MASTER_SITES= http://www.nuclearelephant.com/projects/dspam/sources/
MAINTAINER= rob@debank.tv
COMMENT= A server-side bayesian spam filter
-OPTIONS= MYSQL "Use MySQL and not db4 as database" off \
- MYSQL_COMPRESS "Compress dspam <--> MySQL" off \
- MAILDROP "Use Maildrop as local delivery agent" off \
- PROCMAIL "Use Procmail as local delivery agent" off \
- SENDMAIL_LDA "Use Sendmail as local delivery agent" off \
- SENDMAIL "Play nice with sendmail server" off \
- QMAIL "Play nice with Qmail mail server" off \
- ENABLE_SPAM_DELIVERY "Deliver messages marked as spam" off \
- SIGNATURE_HEADERS "Put signatures in the header" off \
- WHITELIST "Automatic whitelisting of ham" off \
- OPT_IN "Enable opt in" off \
- TRUSTED_USERS "Disable trusted user security" off \
- TUM "Enables TuM (Train until Mature)" off \
- ALT_BAYESIAN "Enable alternative-bayesian" on \
- NO_BIAS "Disable bias" off \
- VIRT_USERS "Enable virtual users (needs MYSQL)" off \
- SAT "Enable spam source address logging" off \
- VERBOSE_DEBUG "Enable verbose debug" off
-
+## 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
+## algorithm options
+OPTIONS+= TRAD_BAYES "Enable traditional-bayesian" on
+OPTIONS+= ALT_BAYES "Enable alternative-bayesian" on
+OPTIONS+= RNB "Use Robinson Naive Bayesian calculation" off
+OPTIONS+= CHI_SQUARE "Use Fisher-Robinson Inv Chi-Square" off
+OPTIONS+= RPV "Use Robinson technique combining p-values" off
+OPTIONS+= TEST_COND "More inoculous results rapidly, risk fps" on
+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+= 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
+## back-end
+OPTIONS+= MYSQL "Use MySQL 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+= 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
+## MTA and LDA
+OPTIONS+= MAILDROP "Use Maildrop as local delivery agent" off
+OPTIONS+= PROCMAIL "Use Procmail as local delivery agent" off
+OPTIONS+= SENDMAIL_LDA "Use Sendmail as local delivery agent" off
+OPTIONS+= SENDMAIL "Play nice with sendmail server" 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+= CGI "Install CGI (pulls in apache)" off
+
+USE_GNOME= pkgconfig
USE_LIBTOOL_VER=13
USE_REINPLACE= yes
INSTALLS_SHLIB= yes
@@ -47,6 +76,115 @@ WITH_SIGNATURE_LIFE?= 28
.include <bsd.port.pre.mk>
+.if !defined(WITH_NO_CONFLICTS)
+CONFLICTS= dspam-2*
+.endif
+
+.if defined(WITHOUT_DEBUG)
+CONFIGURE_ARGS+= --disable-debug
+.else
+CONFIGURE_ARGS+= --enable-debug
+.endif
+
+.if defined(WITHOUT_VERBOSE_DEBUG)
+CONFIGURE_ARGS+= --disable-verbose-debug
+.else
+CONFIGURE_ARGS+= --enable-verbose-debug
+.endif
+
+.if defined(WITHOUT_SYSTEM_LOGGING)
+CONFIGURE_ARGS+= --disable-system-logging
+.else
+CONFIGURE_ARGS+= --enable-logging
+.endif
+
+.if defined(WITH_USER_LOGGING)
+CONFIGURE_ARGS+= --disable-user-logging
+.else
+CONFIGURE_ARGS+= --enable-user-logging
+.endif
+
+.if !defined(WITHOUT_SAT)
+CONFIGURE_ARGS+= --enable-source-address-tracking
+.endif
+
+.if defined(WITHOUT_TRAD_BAYES)
+CONFIGURE_ARGS+= --disable-traditional-bayesian
+.else
+CONFIGURE_ARGS+= --enable-traditional-bayesian
+.endif
+
+.if defined(WITHOUT_ALT_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)
+CONFIGURE_ARGS+= --disable-test-conditional
+.else
+CONFIGURE_ARGS+= --enable-test-conditional
+.endif
+
+.if defined(WITH_NO_BIAS)
+CONFIGURE_ARGS+= --disable-bias
+.endif
+
+.if defined(WITH_WHITELIST)
+CONFIGURE_ARGS+= --enable-whitelist
+.endif
+
+.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_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
+
+.if defined(WITH_SIGNATURE_HEADERS)
+CONFIGURE_ARGS+= --enable-signature-headers
+.endif
+
+.if defined(SIGNATURE_ATACH)
+CONFIGURE_ARGS+= --enable-signature-attachments
+.endif
+
+.if defined(WITH_WEBMAIL)
+CONFIGURE_ARGS+= --enable-webmail
+.endif
+
.if defined(WITH_MYSQL)
USE_MYSQL= yes
CONFIGURE_ARGS+= --with-storage-driver=mysql_drv \
@@ -54,40 +192,86 @@ CONFIGURE_ARGS+= --with-storage-driver=mysql_drv \
--with-mysql-libraries=${LOCALBASE}/lib/mysql
PLIST_SUB+= DB4="@comment "
PLIST_SUB+= MYSQL=""
+PLIST_SUB+= PGSQL="@comment "
SED_SCRIPT+= -e 's,%%MYSQL%%,,g'
-.else
+SED_SCRIPT+= -e '/%%PGSQL%%/D'
+.if defined(WITH_MYSQL_COMPRESS)
+CONFIGURE_ARGS+= --enable-client-compression
+.endif
+.endif
+
+.if defined(WITH_POSTGRESQL73)
+LIB_DEPENDS+= pq.3:${PORTSDIR}/databases/postgresql73
+#BUILD_DEPENDS= ${LIB_DEPENDS}
+CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv \
+ --with-pgsql-includes=${LOCALBASE}/include \
+ --with-pgsql-libraries=${LOCALBASE}/lib
+PLIST_SUB+= DB4="@comment "
+PLIST_SUB+= MYSQL="@comment "
+PLIST_SUB+= PGSQL=""
+SED_SCRIPT+= -e '/%%MYSQL%%/D'
+SED_SCRIPT+= -e 's,%%PGSQL%%,,g'
+.endif
+
+.if defined(WITH_POSTGRESQL74)
+LIB_DEPENDS+= ecpg.4:${PORTSDIR}/databases/postgresql7
+#BUILD_DEPENDS= ${LIB_DEPENDS}
+CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv \
+ --with-pgsql-includes=${LOCALBASE}/include \
+ --with-pgsql-libraries=${LOCALBASE}/lib
+PLIST_SUB+= DB4="@comment "
+PLIST_SUB+= MYSQL="@comment "
+PLIST_SUB+= PGSQL=""
+SED_SCRIPT+= -e '/%%MYSQL%%/D'
+SED_SCRIPT+= -e 's,%%PGSQL%%,,g'
+.endif
+
+.if defined(WITH_ORACLE)
+BUILD_DEPENDS+= ${LOCALBASE}/oracle7/rdbms/lib/libnlsrtl3.a:${PORTSDIR}/databases/oracle7-client
+CONFIGURE_ARGS+= --with-storage-driver=ora_drv \
+ --with-oracle-home= ${LOCALBASE}/oracle7
+.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))
LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41
CONFIGURE_ARGS+= --with-db4-includes=${LOCALBASE}/include/db41
PLIST_SUB+= DB4=""
PLIST_SUB+= MYSQL="@comment "
+PLIST_SUB+= PGSQL="@comment "
SED_SCRIPT+= -e '/%%MYSQL%%/D'
+SED_SCRIPT+= -e '/%%PGSQL%%/D'
.endif
-.if defined(WITH_MYSQL_COMPRESS)
-CONFIGURE_ARGS+= --enable-client-compression
+.if defined(WITH_LONG_USERNAMES)
+CONFIGURE_ARGS+= --enable-long-usernames
.endif
-
-.if defined(DSPAM_USERDIR)
-CONFIGURE_ARGS+=--with-userdir=${DSPAM_USERDIR}
-.else
-CONFIGURE_ARGS+=--with-userdir=${PREFIX}/etc/dspam
+.if defined(WITH_LARGE_SCALE)
+CONFIGURE_ARGS+= --enable-large-scale
+.endif
+.if defined(WITH_DOMAIN_SCALE)
+CONFIGURE_ARGS+= --enable-domain-scale
.endif
.if defined(WITH_MAILDROP)
RUN_DEPENDS+= maildrop:${PORTSDIR}/mail/maildrop
-CONFIGURE_ARGS+= --with-local-delivery-agent='${LOCALBASE}/bin/maildrop $u'
+CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/maildrop $u'
.endif
.if defined(WITH_PROCMAIL)
RUN_DEPENDS+= procmail:${PORTSDIR}/mail/procmail
-CONFIGURE_ARGS+= --with-local-delivery-agent='${LOCALBASE}/bin/procmail $u'
+CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/bin/procmail $u'
.endif
.if defined(WITH_SENDMAIL_LDA) && exists(/usr/sbin/sendmail)
-CONFIGURE_ARGS+= --with-local-delivery-agent=/usr/sbin/sendmail
+CONFIGURE_ARGS+= --with-delivery-agent=/usr/sbin/sendmail
.else
.if defined(WITH_SENDMAIL_LDA) && exists(${LOCALBASE}/sbin/sendmail)
-CONFIGURE_ARGS+= --with-local-delivery-agent='${LOCALBASE}/sbin/sendmail'
+CONFIGURE_ARGS+= --with-delivery-agent='${LOCALBASE}/sbin/sendmail'
.endif
.endif
@@ -99,59 +283,53 @@ CONFIGURE_ARGS+= --with-dspam-mode=4511
CONFIGURE_ARGS+= --with-dspam-mode=4511
.endif
-.if defined(WITH_SIGNATURE_LIFE)
-CONFIGURE_ARGS+= --with-signature-life=${WITH_SIGNATURE_LIFE}
-.endif
-
-.if defined(WITH_ENABLE_SPAM_DELIVERY)
-CONFIGURE_ARGS+= --enable-spam-delivery
+.if defined(WITH_BROKEN_ERR_CODES)
+CONFIGURE_ARGS+= --enable-broken-return-codes
.endif
-.if defined(WITH_SIGNATURE_HEADERS)
-CONFIGURE_ARGS+= --enable-signature-headers
+.if defined(DSPAM_HOME)
+CONFIGURE_ARGS+=--with-dspam-home=${DSPAM_HOME}
+.else
+CONFIGURE_ARGS+=--with-dspam-home=${PREFIX}/etc/dspam
.endif
-.if defined(WITH_WHITELIST)
-CONFIGURE_ARGS+= --enable-whitelist
-.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
-.if defined(WITH_OPT_IN)
-CONFIGURE_ARGS+= --enable-opt-in
-.endif
+# --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_TRUSTED_USERS)
-CONFIGURE_ARGS+= --disable-trusted-user-security
+.if defined(WITH_BROKEN_MTA)
+CONFIGURE_ARGS+= --enable-broken-mta
.endif
-.if defined(WITH_TUM)
-CONFIGURE_ARGS+= --enable-tum
-.endif
-
-.if defined(WITH_ALT_BAYESIAN)
-CONFIGURE_ARGS+= --enable-alternative-bayesian
+.if defined(WITH_SIGNATURE_LIFE)
+CONFIGURE_ARGS+= --with-signature-life=${WITH_SIGNATURE_LIFE}
.endif
-.if defined(WITH_NO_BIAS)
-CONFIGURE_ARGS+= --disable-bias
+.if defined(QUARANTINE_AGENT)
+CONFIGURE_ARGS+= --with-quarantine-agent=${QUARANTINE_AGENT}
.endif
-.if defined(WITH_VIRT_USERS)
-CONFIGURE_ARGS+= --enable-virtual-users
+.if defined(WITH_CGI)
+RUN_DEPENDS+= ${LOCALBASE}/etc/apache/httpd.conf:${PORTSDIR}/${APACHE_PORT}
.endif
-.if defined(WITH_SAT)
-CONFIGURE_ARGS+= --enable-source-address-tracking
-.endif
+MAN1= dspam.1 dspam_clean.1 dspam_corpus.1 dspam_dump.1 dspam_merge.1 dspam_stats.1
-.if defined(WITH_VERBOSE_DEBUG)
-CONFIGURE_ARGS+= --enable-verbose-debug
-.endif
+DOCS= CHANGELOG README LICENSE RELEASE.NOTES
-DOCS= CHANGE README
+pre-everything::
+ @${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL
post-patch:
@${REINPLACE_CMD} -e 's|%%LIBTOOLFLAGS%%|${LIBTOOLFLAGS}|g ; \
s|-ldb-4.1|-ldb41|g' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|' \
+ ${WRKSRC}/Makefile.in
pre-configure:
.if defined(WITH_MAILDROP) && (defined(WITH_PROCMAIL) || defined(WITH_SENDMAIL_LDA))
@@ -162,17 +340,27 @@ pre-configure:
@${ECHO_CMD} "You can only use one local delivery agent at once."
@${FALSE}
.endif
-.if !defined(WITH_MYSQL) && (defined(WITH_MYSQL_COMPRESS) || defined(WITH_VIRT_USERS))
- @${ECHO_CMD} "You need MySQL support to use this feature."
+.if defined(WITH_NEURAL_NET) && !(defined(WITH_MYSQL) || defined(WITH_POSTGRESQL))
+ @${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))
+ @${ECHO_CMD} "You need MySQL, POSTGRESQL or ORACLE for virtual users."
@${FALSE}
.endif
post-install:
.if defined(WITH_MYSQL)
- @${MKDIR} ${EXAMPLESDIR}
+ @${MKDIR} ${EXAMPLESDIR}/mysql
cd ${WRKSRC}/tools.mysql_drv && \
- ${INSTALL_DATA} README *.sql* ${EXAMPLESDIR}
- ${INSTALL_DATA} ${FILESDIR}/mysql.data ${EXAMPLESDIR}
+ ${INSTALL_DATA} README *.sql* ${EXAMPLESDIR}/mysql
+ ${INSTALL_DATA} ${FILESDIR}/mysql.data ${EXAMPLESDIR}/mysql
+.endif
+.if defined(WITH_POSTGRESQL73) || defined(WITH_POSTGRESQL74)
+ ${MKDIR} ${EXAMPLESDIR}/pgsql
+ cd ${WRKSRC}/tools.pgsql_drv && \
+ ${INSTALL_DATA} README *.sql ${EXAMPLESDIR}/pgsql
+ ${INSTALL_DATA} ${FILESDIR}/pgsql.data ${EXAMPLESDIR}/pgsql
.endif
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}