summaryrefslogtreecommitdiff
path: root/mail/dspam/options.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mail/dspam/options.mk')
-rw-r--r--mail/dspam/options.mk190
1 files changed, 190 insertions, 0 deletions
diff --git a/mail/dspam/options.mk b/mail/dspam/options.mk
new file mode 100644
index 00000000000..384386abc0a
--- /dev/null
+++ b/mail/dspam/options.mk
@@ -0,0 +1,190 @@
+# $NetBSD: options.mk,v 1.1 2004/08/06 21:24:13 jlam Exp $
+
+# Global and legacy options
+.if defined(DSPAM_HOMEDIR_DOTFILES) || defined(DSPAM_USE_WEBMAIL) || \
+ defined(DSPAM_SIGNATURE_ATTACHMENTS) || \
+ defined(DSPAM_SIGNATURE_HEADERS) || defined(DSPAM_LARGESCALE) || \
+ defined(DSPAM_VIRTUAL_USERS) || defined(DSPAM_CGI_GRAPHS) || \
+ defined(DSPAM_CLIENT_COMPRESSION)
+. if !defined(PKG_OPTIONS.dspam)
+. if defined(DSPAM_HOMEDIR_DOTFILES) && \
+ !empty(DSPAM_HOMEDIR_DOTFILES:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= dotfiles
+. endif
+. if defined(DSPAM_USE_WEBMAIL) && !empty(DSPAM_USE_WEBMAIL:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= webmail
+. endif
+. if defined(DSPAM_SIGNATURE_ATTACHMENTS) && \
+ !empty(DSPAM_SIGNATURE_ATTACHMENTS:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= sig-attachment
+. endif
+. if defined(DSPAM_SIGNATURE_HEADERS) && \
+ !empty(DSPAM_SIGNATURE_HEADERS:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= sig-headers
+. endif
+. if defined(DSPAM_LARGESCALE) && !empty(DSPAM_LARGESCALE:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= largescale
+. endif
+. if defined(DSPAM_VIRTUAL_USERS) && \
+ !empty(DSPAM_VIRTUAL_USERS:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= virtualusers
+. endif
+. if defined(DSPAM_CGI_GRAPHS) && !empty(DSPAM_CGI_GRAPHS:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= graphs
+. endif
+. if defined(DSPAM_CLIENT_COMPRESSION) && \
+ !empty(DSPAM_CLIENT_COMPRESSION:M[Yy][Ee][Ss])
+PKG_OPTIONS.dspam+= compress
+. endif
+. endif
+.endif
+.if defined(DSPAM_DELIVERY_AGENT) && !empty(DSPAM_DELIVERY_AGENT:Mcustom)
+DSPAM_DELIVERY_AGENT:= ${DSPAM_DELIVERY_AGENT_ARGS}
+.endif
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.dspam
+PKG_SUPPORTED_OPTIONS= compress dotfiles graphs largescale \
+ sig-attachment sig-headers virtualusers webmail
+.include "../../mk/bsd.options.mk"
+
+###
+### DSPAM_DELIVERY_AGENT is the tool called to to deliver messages.
+### It can either be "procmail", "maildrop" or the path to a
+### command (and arguments) used for local mail delivery. Set this
+### to the path to the sendmail binary to reinject mail back into
+### the MTA instead of doing local delivery.
+### Possible: procmail, maildrop or custom (e.g, /usr/sbin/sendmail)
+### Default: procmail
+###
+DSPAM_DELIVERY_AGENT?= procmail
+BUILD_DEFS+= DSPAM_DELIVERY_AGENT
+.if !empty(DSPAM_DELIVERY_AGENT:Mprocmail)
+BUILD_DEPENDS+= procmail-[0-9]*:../../mail/procmail
+CONFIGURE_ARGS+= --with-delivery-agent="${LOCALBASE}/bin/procmail"
+.elif !empty(DSPAM_DELIVERY_AGENT:Mmaildrop)
+BUILD_DEPENDS+= maildrop-[0-9]*:../../mail/maildrop
+CONFIGURE_ARGS+= --with-delivery-agent="${LOCALBASE}/bin/maildrop"
+.elif !empty(DSPAM_DELIVERY_AGENT)
+CONFIGURE_ARGS+= --with-delivery-agent=${DSPAM_DELIVERY_AGENT:Q}
+.else
+PKG_FAIL_REASON+= "${PKGBASE}: unknown delivery agent \`${DSPAM_DELIVERY_AGENT}'"
+.endif
+
+###
+### This is the backend database used to store the DSPAM signatures as
+### well as other state information. The recommended storage driver is
+### "mysql", even for small installations.
+### Possible: mysql, pgsql, bdb
+### Default: bdb
+###
+DSPAM_STORAGE_DRIVER?= bdb
+BUILD_DEFS+= DSPAM_STORAGE_DRIVER
+MYSQL_PLIST_SUBST= MYSQL="@comment "
+PGSQL_PLIST_SUBST= PGSQL="@comment "
+.if empty(DSPAM_STORAGE_DRIVER:Mmysql)
+PKG_OPTIONS:= ${PKG_OPTIONS:Ncompress}
+.endif
+.if empty(DSPAM_STORAGE_DRIVER:Mmysql) && empty(DSPAM_STORAGE_DRIVER:Mpgsql)
+PKG_OPTIONS:= ${PKG_OPTIONS:Nvirtualusers}
+.endif
+.if !empty(DSPAM_STORAGE_DRIVER:Mmysql)
+. if !empty(PKG_OPTIONS:Mcompress)
+CONFIGURE_ARGS+= --enable-client-compression
+. endif
+. include "../../databases/mysql4-client/buildlink3.mk"
+CONFIGURE_ARGS+= --with-storage-driver=mysql_drv
+CONFIGURE_ARGS+= \
+ --with-mysql-includes=${BUILDLINK_PREFIX.mysql-client}/include/mysql \
+ --with-mysql-libraries=${BUILDLINK_PREFIX.mysql-client}/lib
+MYSQL_PLIST_SUBST= MYSQL=""
+.elif !empty(DSPAM_STORAGE_DRIVER:Mpgsql)
+. include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-storage-driver=pgsql_drv
+CONFIGURE_ARGS+= \
+ --with-pgsql-includes=${PGSQL_PREFIX}/include/postgresql \
+ --with-pgsql-libraries=${PGSQL_PREFIX}/lib
+PGSQL_PLIST_SUBST= PGSQL=""
+.elif !empty(DSPAM_STORAGE_DRIVER:Mbdb)
+BDB_ACCEPTED= db4 db3
+. include "../../mk/bdb.buildlink3.mk"
+CONFIGURE_ARGS+= --with-storage-driver=lib${BDB_TYPE}_drv
+.else
+PKG_FAIL_REASON+= "${PKGBASE}: unknown storage driver \`${DSPAM_STORAGE_DRIVER}\'"
+.endif
+PLIST_SUBST+= ${MYSQL_PLIST_SUBST}
+PLIST_SUBST+= ${PGSQL_PLIST_SUBST}
+
+###
+### Use of home directory dot file for opt-in/opt-out
+###
+.if !empty(PKG_OPTIONS:Mdotfiles)
+CONFIGURE_ARGS+= --enable-homedir-dotfiles
+.endif
+
+###
+### This option will cause DSPAM to cease all writing of signatures
+### and DSPAM headers to the message, and deliver the message in as
+### pristine format as possible. DO NOT use this switch unless the
+### original message can be presented for retraining with the ORIGINAL
+### HEADERS and NO MODIFICATIONS.
+###
+.if !empty(PKG_OPTIONS:Mwebmail)
+CONFIGURE_ARGS+= --enable-webmail
+.endif
+
+###
+### Store DSPAM signatures as an attachment to the mail. This option
+### doesn't work correctly with mail clients, e.g. elm, that quote an
+### embedded, forwarded message; it should only be used on networks
+### where all clients can properly understand an embedded multipart
+### message, e.g. Outlook, Evolution, etc., and forward the attachment
+### as an attachment instead of quoted text.
+###
+.if !empty(PKG_OPTIONS:Msig-attachment)
+CONFIGURE_ARGS+= --enable-signature-attachments
+.endif
+
+###
+### Store DSPAM signatures in the message header of the mail.
+###
+.if !empty(PKG_OPTIONS:Msig-headers)
+CONFIGURE_ARGS+= --enable-signature-headers
+.endif
+
+###
+### Switch for large-scale implementation. User data will be stored as
+### $DSPAM_HOME/data/u/s/user instead of $DSPAM_HOME/data/user
+###
+.if !empty(PKG_OPTIONS:Mlargescale)
+CONFIGURE_ARGS+= --enable-large-scale
+SUBST_STAGE.large= pre-configure
+SUBST_FILES.large= cgi/dspam.cgi cgi/admin.cgi
+SUBST_SED.large= \
+ -e "s|CONFIG{'LARGE_SCALE'}.*=.*0|CONFIG{'LARGE_SCALE'} = 1|"
+SUBST_MESSAGE.large= "Enabling large-scale options in DSPAM."
+.endif
+
+###
+### Tells DSPAM to create virtual user ids. Use this if your users are
+### not system users.
+###
+.if !empty(PKG_OPTIONS:Mvirtualusers)
+CONFIGURE_ARGS+= --enable-virtual-users
+.endif
+
+###
+### Enable DSPAM's graph.cgi to produce graphs of spam statistics.
+###
+.if !empty(PKG_OPTIONS:Mgraphs)
+DEPENDS+= p5-GDGraph3d-[0-9]*:../../graphics/p5-GDGraph3d
+.endif
+
+###
+### These are the flags used when invoking ps(1) to list all processes.
+###
+BUILD_DEFS+= DSPAM_PSFLAGS
+.if ${OPSYS} == "Linux"
+DSPAM_PSFLAGS?= -deaf
+.else
+DSPAM_PSFLAGS?= aux
+.endif