Install missing ready-to-use OpenSMTPD-extras components:

- filter-monkey
- table-ldap
- tools-stats

Also install experimental components (corresponding groups labelled as "experimental"):

- filter bindings to lua, perl and python languages
- queue and scheduler bindings to perl and python languages

Submitted by:	myself
Reviewed by:	gahr, adamw, miwi
Approved by:	gahr, adamw, miwi (mentor, implicit)
Sponsored by:	milk and cookies
Differential Revision:	https://reviews.freebsd.org/D6084
This commit is contained in:
Dima Panov 2016-06-06 12:18:16 +00:00
parent 51453d4e17
commit d4233dc6f9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=416455
13 changed files with 278 additions and 32 deletions

View file

@ -300,9 +300,18 @@
SUBDIR += opensmtpd-extras-filter-clamav
SUBDIR += opensmtpd-extras-filter-dkim
SUBDIR += opensmtpd-extras-filter-dnsbl
SUBDIR += opensmtpd-extras-filter-lua
SUBDIR += opensmtpd-extras-filter-monkey
SUBDIR += opensmtpd-extras-filter-pause
SUBDIR += opensmtpd-extras-filter-perl
SUBDIR += opensmtpd-extras-filter-python
SUBDIR += opensmtpd-extras-filter-regex
SUBDIR += opensmtpd-extras-filter-spamassassin
SUBDIR += opensmtpd-extras-queue-python
SUBDIR += opensmtpd-extras-queue-ram
SUBDIR += opensmtpd-extras-scheduler-python
SUBDIR += opensmtpd-extras-scheduler-ram
SUBDIR += opensmtpd-extras-table-ldap
SUBDIR += opensmtpd-extras-table-mysql
SUBDIR += opensmtpd-extras-table-passwd
SUBDIR += opensmtpd-extras-table-postgresql
@ -310,6 +319,7 @@
SUBDIR += opensmtpd-extras-table-redis
SUBDIR += opensmtpd-extras-table-socketmap
SUBDIR += opensmtpd-extras-table-sqlite
SUBDIR += opensmtpd-extras-tool-stats
SUBDIR += openwebmail
SUBDIR += osbf-lua
SUBDIR += ovs

View file

@ -0,0 +1,19 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -filter-lua
PORTREVISION= 0
COMMENT= LUA-script filter support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/filter-lua
CONFIGURE_ARGS+= --with-filter-lua --with-lua-type=lua-${LUA_VER}
USES= lua pkgconfig
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,21 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -filter-monkey
PORTREVISION= 0
COMMENT= Arbitrary delay or reject filter for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
CONFIGURE_ARGS+= --with-filter-monkey
PLIST= ${.CURDIR}/pkg-plist
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/mail
${INSTALL_DATA} ${WRKSRC}/extras/wip/filters/filter-monkey/filter-monkey.conf \
${STAGEDIR}${PREFIX}/etc/mail/filter-monkey.conf.sample
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,4 @@
@sample etc/mail/filter-monkey.conf.sample
libexec/opensmtpd/filter-monkey
man/man5/filter-monkey.conf.5.gz
man/man8/filter-monkey.8.gz

View file

@ -0,0 +1,19 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -filter-perl
PORTREVISION= 0
COMMENT= Perl-script filter support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/filter-perl
CONFIGURE_ARGS+= --with-filter-perl --with-perl-type=${perl_VERSION}
USES= perl5
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,19 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -filter-python
PORTREVISION= 0
COMMENT= Python-script filter support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/filter-python
CONFIGURE_ARGS+= --with-filter-python --with-python-type=${PYTHON_VERSION}
USES= python pkgconfig
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,19 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -queue-python
PORTREVISION= 0
COMMENT= Python queue support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/queue-python
CONFIGURE_ARGS+= --with-queue-python --with-python-type=${PYTHON_VERSION}
USES= python pkgconfig
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,17 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -queue-ram
PORTREVISION= 0
COMMENT= RAM queue support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/queue-ram
CONFIGURE_ARGS+= --with-queue-ram
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,19 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -scheduler-python
PORTREVISION= 0
COMMENT= Python scheduler support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/scheduler-python
CONFIGURE_ARGS+= --with-scheduler-python --with-python-type=${PYTHON_VERSION}
USES= python pkgconfig
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,17 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -scheduler-ram
PORTREVISION= 0
COMMENT= RAM scheduler support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/scheduler-ram
CONFIGURE_ARGS+= --with-scheduler-ram
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,19 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -table-ldap
PORTREVISION= 0
COMMENT= LDAP table support for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= libexec/opensmtpd/table-ldap
CONFIGURE_ARGS+= --with-table-ldap
USE_OPENLDAP= client
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,18 @@
# Created by: fluffy
# $FreeBSD$
PKGNAMESUFFIX= -tool-stats
PORTREVISION= 0
COMMENT= Statistics tool for OpenSMTPD
MAINTAINER= fluffy@FreeBSD.org
PLIST_FILES= bin/tool-stats \
man/man8/tool-stats.8.gz
CONFIGURE_ARGS+= --with-tool-stats
MASTERDIR= ${.CURDIR}/../opensmtpd-extras
SLAVE_PORT= yes
.include "${MASTERDIR}/Makefile"

View file

@ -3,7 +3,7 @@
PORTNAME= opensmtpd-extras
PORTVERSION= 201605232202
PORTREVISION?= 1
PORTREVISION?= 2
CATEGORIES+= mail
MASTER_SITES= http://www.opensmtpd.org/archives/
@ -23,6 +23,8 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --sysconfdir="${PREFIX}/etc/mail"
NO_OPTIONS_SORT= yes
# NB: Please *DO NOT* add the following; they are NOT for end-users:
# filter-stub, filter-trace, filter-void
# queue-null, queue-stub
@ -41,50 +43,93 @@ OPENSMTP_DEVEL_BUILD_DEPENDS= smtpctl:${PORTSDIR}/mail/opensmtpd-devel
OPENSMTP_DEVEL_RUN_DEPENDS= smtpctl:${PORTSDIR}/mail/opensmtpd-devel
.if empty(SLAVE_PORT)
OPTIONS_GROUP= FILTER TABLE
OPTIONS_GROUP_FILTER= CLAMAV DKIM DNSBL PAUSE REGEX SPAMASSASSIN
OPTIONS_GROUP_TABLE= LDAP MYSQL PASSWD PGSQL PYTHON REDIS SMAP SQLITE
OPTIONS_DEFAULT= ${OPTIONS_GROUP_FILTER} ${OPTIONS_GROUP_TABLE}
OPTIONS_GROUP= TOOLS TABLE FILTER FILTER_EXP QUEUE SCHEDULER
OPTIONS_GROUP_FILTER= FILTER_CLAMAV FILTER_DKIM FILTER_DNSBL FILTER_MONKEY FILTER_PAUSE FILTER_REGEX FILTER_SPAMASSASSIN
OPTIONS_GROUP_FILTER_EXP= FILTER_LUA FILTER_PERL FILTER_PYTHON
OPTIONS_GROUP_QUEUE= QUEUE_PYTHON QUEUE_RAM
OPTIONS_GROUP_SCHEDULER= SCHEDULER_PYTHON SCHEDULER_RAM
OPTIONS_GROUP_TABLE= TABLE_LDAP TABLE_MYSQL TABLE_PASSWD TABLE_PGSQL TABLE_PYTHON TABLE_REDIS TABLE_SOCKETMAP TABLE_SQLITE
OPTIONS_GROUP_TOOLS= TOOL_STATS
OPTIONS_DEFAULT= ${OPTIONS_GROUP_FILTER} ${OPTIONS_GROUP_TABLE} ${OPTIONS_GROUP_TOOLS}
# Groups
FILTER_DESC= BASE FILTERS
FILTER_EXP_DESC= EXPERIMENTAL FILTERS
QUEUE_DESC= EXPERIMENTAL QUEUES
SCHEDULER_DESC= EXPERIMENTAL SCHEDULERS
TABLE_DESC= BASE TABLES
TOOLS_DESC= BASE TOOLS
# Filters
CLAMAV_DESC= Check messages with ClamAV
DKIM_DESC= Sign messages with DKIM
DNSBL_DESC= Check messages against DNSBLs
PAUSE_DESC= Pause incoming messages to reduce spam
SPAMASSASSIN_DESC= Check messages with SpamAssassin
# Tables
PASSWD_DESC= passwd(5) table support
SMAP_DESC= Socketmap protocol support
FILTER_CLAMAV_DESC= Check messages with ClamAV
FILTER_DKIM_DESC= Sign messages with DKIM
FILTER_DNSBL_DESC= Check incoming senders against DNSBLs
FILTER_LUA_DESC= Lua-filter interface
FILTER_MONKEY_DESC= Filter to arbitrary reject or delay mails
FILTER_PAUSE_DESC= Pause before SMTP greeting to reduce spam
FILTER_PERL_DESC= Perl-filter interface
FILTER_PYTHON_DESC= Python-filter interface
FILTER_REGEX_DESC= ${REGEX_DESC}
FILTER_SPAMASSASSIN_DESC= Check messages with SpamAssassin
PLIST_FILES= man/man3/filter_api.3.gz
INSTALL_DIR= ${LOCALBASE}/libexec/opensmtpd
# Queues
QUEUE_PYTHON_DESC= The queue-python
QUEUE_RAM_DESC= The queue-ram
# Schedulers
SCHEDULER_PYTHON_DESC= The scheduler-python
SCHEDULER_RAM_DESC= The scheduler-ram
# Tables
TABLE_LDAP_DESC= LDAP table support
TABLE_MYSQL_DESC= MySQL table support
TABLE_PASSWD_DESC= passwd(5) table support
TABLE_PGSQL_DESC= PgSQL table support
TABLE_PYTHON_DESC= Python table support
TABLE_REDIS_DESC= REDIS table support
TABLE_SOCKETMAP_DESC= Socketmap protocol support
TABLE_SQLITE_DESC= SQLite table support
# Tools
TOOL_STATS_DESC= Stats tool for OpenSMTPD
PLIST_FILES= man/man3/filter_api.3.gz
INSTALL_DIR= ${LOCALBASE}/libexec/opensmtpd
NO_ARCH= yes
#
# Filters
#
CLAMAV_RUN_DEPENDS= ${INSTALL_DIR}/filter-clamav:mail/opensmtpd-extras-filter-clamav
DKIM_RUN_DEPENDS= ${INSTALL_DIR}/filter-dkim-signer:mail/opensmtpd-extras-filter-dkim
DNSBL_RUN_DEPENDS= ${INSTALL_DIR}/filter-dnsbl:mail/opensmtpd-extras-filter-dnsbl
PAUSE_RUN_DEPENDS= ${INSTALL_DIR}/filter-pause:mail/opensmtpd-extras-filter-pause
REGEX_RUN_DEPENDS= ${INSTALL_DIR}/filter-regex:mail/opensmtpd-extras-filter-regex
SPAMASSASSIN_RUN_DEPENDS= ${INSTALL_DIR}/filter-spamassassin:mail/opensmtpd-extras-filter-spamassassin
FILTER_CLAMAV_RUN_DEPENDS= ${INSTALL_DIR}/filter-clamav:mail/opensmtpd-extras-filter-clamav
FILTER_DKIM_RUN_DEPENDS= ${INSTALL_DIR}/filter-dkim-signer:mail/opensmtpd-extras-filter-dkim
FILTER_DNSBL_RUN_DEPENDS= ${INSTALL_DIR}/filter-dnsbl:mail/opensmtpd-extras-filter-dnsbl
FILTER_LUA_RUN_DEPENDS= ${INSTALL_DIR}/filter-lua:mail/opensmtpd-extras-filter-lua
FILTER_MONKEY_RUN_DEPENDS= ${INSTALL_DIR}/filter-monkey:mail/opensmtpd-extras-filter-monkey
FILTER_PAUSE_RUN_DEPENDS= ${INSTALL_DIR}/filter-pause:mail/opensmtpd-extras-filter-pause
FILTER_PERL_RUN_DEPENDS= ${INSTALL_DIR}/filter-perl:mail/opensmtpd-extras-filter-perl
FILTER_PYTHON_RUN_DEPENDS= ${INSTALL_DIR}/filter-python:mail/opensmtpd-extras-filter-python
FILTER_REGEX_RUN_DEPENDS= ${INSTALL_DIR}/filter-regex:mail/opensmtpd-extras-filter-regex
FILTER_SPAMASSASSIN_RUN_DEPENDS= ${INSTALL_DIR}/filter-spamassassin:mail/opensmtpd-extras-filter-spamassassin
# Queues
QUEUE_PYTHON_RUN_DEPENDS= ${INSTALL_DIR}/queue-python:mail/opensmtpd-extras-queue-python
QUEUE_RAM_RUN_DEPENDS= ${INSTALL_DIR}/queue-ram:mail/opensmtpd-extras-queue-ram
# Schedulers
SCHEDULER_PYTHON_RUN_DEPENDS= ${INSTALL_DIR}/scheduler-python:mail/opensmtpd-extras-scheduler-python
SCHEDULER_RAM_RUN_DEPENDS= ${INSTALL_DIR}/scheduler-ram:mail/opensmtpd-extras-scheduler-ram
#
# Tables
#
MYSQL_RUN_DEPENDS= ${INSTALL_DIR}/table-mysql:mail/opensmtpd-extras-table-mysql
PASSWD_RUN_DEPENDS= ${INSTALL_DIR}/table-passwd:mail/opensmtpd-extras-table-passwd
PGSQL_RUN_DEPENDS= ${INSTALL_DIR}/table-postgres:mail/opensmtpd-extras-table-postgresql
PYTHON_RUN_DEPENDS= ${INSTALL_DIR}/table-python:mail/opensmtpd-extras-table-python
REDIS_RUN_DEPENDS= ${INSTALL_DIR}/table-redis:mail/opensmtpd-extras-table-redis
SMAP_RUN_DEPENDS= ${INSTALL_DIR}/table-socketmap:mail/opensmtpd-extras-table-socketmap
SQLITE_RUN_DEPENDS= ${INSTALL_DIR}/table-sqlite:mail/opensmtpd-extras-table-sqlite
TABLE_LDAP_RUN_DEPENDS= ${INSTALL_DIR}/table-ldap:mail/opensmtpd-extras-table-ldap
TABLE_MYSQL_RUN_DEPENDS= ${INSTALL_DIR}/table-mysql:mail/opensmtpd-extras-table-mysql
TABLE_PASSWD_RUN_DEPENDS= ${INSTALL_DIR}/table-passwd:mail/opensmtpd-extras-table-passwd
TABLE_PGSQL_RUN_DEPENDS= ${INSTALL_DIR}/table-postgres:mail/opensmtpd-extras-table-postgresql
TABLE_PYTHON_RUN_DEPENDS= ${INSTALL_DIR}/table-python:mail/opensmtpd-extras-table-python
TABLE_REDIS_RUN_DEPENDS= ${INSTALL_DIR}/table-redis:mail/opensmtpd-extras-table-redis
TABLE_SOCKETMAP_RUN_DEPENDS= ${INSTALL_DIR}/table-socketmap:mail/opensmtpd-extras-table-socketmap
TABLE_SQLITE_RUN_DEPENDS= ${INSTALL_DIR}/table-sqlite:mail/opensmtpd-extras-table-sqlite
# Tools
TOOL_STATS_RUN_DEPENDS= tool-stats:${PORTSDIR}/mail/opensmtpd-extras-tool-stats
.else
# Only install this for the opensmtpd-extras master port