freebsd-ports/mail/dovecot2/Makefile
Adam Weinberger 990c270907 Update dovecot2 to 2.2.19, and bump PORTREVISION on antispam-plugin
and pigeonhole.

Changes:

* pop3_deleted_flag has been broken since v2.2.10. Using it would
  cause buffer overflows, which could be exploitable. However, this
  bug would have become visible quite soon after users had deleted
  some POP3 mails, because the pop3 processes would have started
  crashing all the time even in normal use.
* "doveadm director flush" command has a changed meaning now:
  It safely moves users to their wanted backends, instead of simply
  forgetting the mapping entirely and leaving the existing connections
  untouched. Use -F parameter to get the original unsafe behavior.

+ Added imap-hibernate processes (see imap_hibernate_timeout setting).
  IDLEing IMAP connections can be hibernated, which saves memory.
+ Optimized tracking mailboxes' vsizes (= sum of all messages' sizes).
  If mailbox_list_index=yes, it's also stored in there. This makes it
  very efficient to look up vsizes for all mailboxes.
+ Added a quota "count" backend, which uses the mailbox vsizes to get
  the current quota usage. It requires using the new quota_vsizes=yes
  setting, which tracks the messages' "virtual sizes" rather than
  "physical sizes". Their distiction is minor and mostly irrelevant
  nowadays (if mail sizes should be counted with LF or CRLF newlines).
+ "doveadm director up/down" commands added. The monitoring script
  should be using these commands instead of changing the vhost count.
  This allows admin to manually disable a server by changing the vhost
  count to 0 without the monitoring script changing it back.
+ Added support for HAProxy protocol: http://wiki2.dovecot.org/HAProxy
+ Added push-notification plugin framework, which can be used to
  easily implement push notifications to various backends. Implemented
  "ox" backend for notifying Open-Xchange via HTTP/json.
+ imap_logout_format supports more variables now, e.g. number of
  deleted messages.
+ pop3: Added pop3_delete_type setting (related to pop3_deleted_flag).
+ plugin { fts_enforced=yes } setting now fails body searches unless
  it can be done via the full text search engine.
+ Added %{passdb:*} and %{userdb:*} variables to various places
+ auth: Added ":protected" suffix for passdb and userdb fields. If
  used, the field doesn't overwrite an existing field.
+ IMAP/POP3 proxy: If a backend server dies, avoid client reconnection
  spikes by slowly disconnecting clients over time. This is enabled by
  setting login_proxy_max_disconnect_delay=secs passdb extra field.
+ imap: Added new read-only METADATA entries: /private/specialuse,
  /shared/comment, /shared/admin
+ imap: If client disconnects in the middle of a command, log how long
  the command had been running.
- mdbox: Rebuilding could have caused message's reference count to
  overflow the 16bit number in some situations, causing problems when
  trying to expunge the duplicates.
- Various search fixes (fts, solr, tika, lib-charset, indexer)
- Various virtual plugin fixes
- Various fixes and optimizations to dsync, imapc and pop3-migration
- imap: Various RFC compliancy and crash fixes to NOTIFY
2015-10-02 22:44:19 +00:00

163 lines
4.9 KiB
Makefile

# Created by: Nagy, Attila <bra@fsn.hu>
# $FreeBSD$
######################################################################
# Anytime PORTVERSION changes please bump PORTREVISION of #
# mail/dovecot2-pigeonhole and also mail/dovecot2-antispam-plugin. #
# Please see ports/135311 and ports/146029 for an explanation. #
# #
# Please be careful when updating this port as changes to this port #
# can break mail/dovecot2-pigeonhole. In order to ensure the least #
# amount of breakage possible please consult the maintainer of that #
# port before updating this one. #
######################################################################
PORTNAME= dovecot
PORTVERSION= 2.2.19
CATEGORIES= mail ipv6
MASTER_SITES= http://www.dovecot.org/releases/${PORTVERSION:R}/
PKGNAMESUFFIX= 2
MAINTAINER= adamw@FreeBSD.org
COMMENT= Secure, fast and powerful IMAP and POP3 server
LICENSE= LGPL21 MIT
LICENSE_COMB= dual
CONFLICTS= dovecot-1.[0-9]*
USES= cpe iconv libtool
USE_RC_SUBR= dovecot
USE_OPENSSL= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --localstatedir=/var \
--with-statedir=/var/db/dovecot \
--without-shadow \
--with-docs
USE_LDCONFIG= ${PREFIX}/lib/dovecot
INSTALL_TARGET= install-strip
USERS= dovecot dovenull
GROUPS= ${USERS}
OPTIONS_DEFINE= GC KQUEUE LIBWRAP LZ4 SSL VPOPMAIL DOCS EXAMPLES
OPTIONS_DEFAULT=KQUEUE SSL GSSAPI_NONE
OPTIONS_SUB= yes
OPTIONS_GROUP= DB FTS
OPTIONS_GROUP_DB= CDB LDAP MYSQL PGSQL SQLITE
OPTIONS_GROUP_FTS= ICU LUCENE SOLR TEXTCAT
OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_NONE GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT
GC_DESC= Garbage collection with boehm-gc
KQUEUE_DESC= kqueue(2) support
LZ4_DESC= LZ4 compression support
VPOPMAIL_DESC= vpopmail support
DB_DESC= Database support
CDB_DESC= CDB database support
FTS_DESC= Full text search plugins
ICU_DESC= Use libicu for FTS unicode normalization
LUCENE_DESC= CLucene FTS support
SOLR_DESC= Solr FTS support
TEXTCAT_DESC= Libtextcat FTS support
GSSAPI_NONE_DESC= Build without GSSAPI support
GSSAPI_BASE_DESC= Use GSSAPI from base
GSSAPI_HEIMDAL_DESC= Use Heimdal GSSAPI from security/heimdal
GSSAPI_MIT_DESC= Use MIT GSSAPI from security/krb5
CDB_CONFIGURE_WITH= cdb
CDB_LIB_DEPENDS= libcdb.so:${PORTSDIR}/databases/tinycdb
GC_CONFIGURE_WITH= gc
GC_LIB_DEPENDS= libgc.so:${PORTSDIR}/devel/boehm-gc
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi
GSSAPI_BASE_USES= gssapi
GSSAPI_BASE_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_MIT_CONFIGURE_ON= --with-gssapi ${GSSAPI_CONFIGURE_ARGS}
ICU_CONFIGURE_WITH= icu
ICU_LIB_DEPENDS= libicui18n.so:${PORTSDIR}/devel/icu
ICU_USES= pkgconfig
KQUEUE_CONFIGURE_OFF= --with-ioloop=poll --with-notify=none
KQUEUE_CONFIGURE_ON= --with-ioloop=kqueue --with-notify=kqueue
LDAP_USE= OPENLDAP=yes
LDAP_CONFIGURE_WITH= ldap
LIBWRAP_CONFIGURE_WITH= libwrap
LUCENE_CONFIGURE_WITH= lucene
LUCENE_LIB_DEPENDS= libclucene-core.so:${PORTSDIR}/textproc/clucene
LZ4_LIB_DEPENDS= liblz4.so:${PORTSDIR}/archivers/liblz4
MYSQL_USE= MYSQL=yes
MYSQL_CONFIGURE_WITH= mysql
PGSQL_USES= pgsql
PGSQL_CONFIGURE_WITH= pgsql
SOLR_CONFIGURE_WITH= solr
SOLR_BUILD_DEPENDS= curl:${PORTSDIR}/ftp/curl
SOLR_LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2
SQLITE_USE= SQLITE=3
SQLITE_CONFIGURE_WITH= sqlite
SSL_CONFIGURE_WITH= ssl=openssl
TEXTCAT_CONFIGURE_WITH= textcat
TEXTCAT_LIB_DEPENDS= libtextcat.so:${PORTSDIR}/textproc/libtextcat
VPOPMAIL_BUILD_DEPENDS= ${LOCALBASE}/vpopmail/bin/vchkpw:${PORTSDIR}/mail/vpopmail
VPOPMAIL_CONFIGURE_WITH=vpopmail
DOCS= AUTHORS COPYING COPYING.LGPL COPYING.MIT INSTALL NEWS TODO README
PORTDOCS= *
PORTEXAMPLES= *
# Default requirement for dovecot rc script
_REQUIRE= LOGIN
LDAP_VARS= _REQUIRE+=slapd
MYSQL_VARS= _REQUIRE+=mysql
PGSQL_VARS= _REQUIRE+=postgresql
.include <bsd.port.options.mk>
SUB_LIST+= REQUIRE="${_REQUIRE}"
SUB_FILES+= pkg-message
CPPFLAGS+= -I${LOCALBASE}/include -I${OPENSSLINC}
LDFLAGS+= -L${LOCALBASE}/lib -I${OPENSSLLIB}
post-patch:
@${REINPLACE_CMD} -e 's,/etc/dovecot,${PREFIX}/etc/dovecot,g; \
s,sysconfdir=/etc,sysconfdir=${PREFIX}/etc,g' \
${WRKSRC}/doc/example-config/*.conf ${WRKSRC}/doc/example-config/conf.d/*
@${REINPLACE_CMD} -e '/^LIBS =/s/$$/ @LTLIBICONV@/' \
${WRKSRC}/src/lib-mail/Makefile.in
# Install the sample config files into ETCDIR/example-config/
@${REINPLACE_CMD} -e '/^exampledir =/s|\$$(docdir)|${ETCDIR}|' \
${WRKSRC}/doc/example-config/Makefile.in \
${WRKSRC}/doc/example-config/conf.d/Makefile.in
post-install:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}${DOCSDIR}
${MV} ${STAGEDIR}${DOCSDIR}/dovecot-openssl.cnf ${STAGEDIR}${EXAMPLESDIR}
${MV} ${STAGEDIR}${DOCSDIR}/mkcert.sh ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR})
.include <bsd.port.mk>