diff options
author | ghen <ghen@pkgsrc.org> | 2010-11-09 15:23:11 +0000 |
---|---|---|
committer | ghen <ghen@pkgsrc.org> | 2010-11-09 15:23:11 +0000 |
commit | 3c5e70e685d5b8b680ba126f3ec06481c7738e60 (patch) | |
tree | 831e0a03c2f295cb8fba7ca08ea10ac763ff7616 /mail/dovecot2 | |
parent | 6cf8ae403258cdbda2298a58b094dc26f26ff398 (diff) | |
download | pkgsrc-3c5e70e685d5b8b680ba126f3ec06481c7738e60.tar.gz |
Merge ommitted stuff from mail/dovecot package, most importantly the
dovecot-sieve option (managesieve support is now included with sieve).
Create additional "dovenull" user for login processes. Add MESSAGE
with upgrade notes. Grab maintainership.
Major changes since 1.2:
* Dovecot uses two system users for internal purposes now by default:
dovenull and dovecot. You need to create the dovenull user or change
default_login_user setting.
* Global ACLs are now looked up using namespace prefixes. For example
if you previously had INBOX. namespace prefix and a global ACL for
"INBOX.Sent", it's now looked up from "INBOX.Sent" file instead of
"Sent" as before.
* Maildir: File permissions are no longer based on dovecot-shared file,
but the mailbox directory.
+ Redesigned master process. It's now more modular and there is less
code running as root.
+ Configuration supports now per-local/remote ip/network settings.
+ dsync utility does a two-way mailbox synchronization.
+ LMTP server and proxying.
+ Added mdbox (multi-dbox) mail storage backend.
+ doveadm utility can be used to do all kinds of administration
functions. Old dovecotpw and *view utilities now exist in its
subcommands.
+ imap and pop3 processes can now handle multiple connections.
+ IMAP: COMPRESS=DEFLATE is supported by imap_zlib plugin
+ director service helps NFS installations to redirect users always
to same server to avoid corruption
Diffstat (limited to 'mail/dovecot2')
-rw-r--r-- | mail/dovecot2/MESSAGE | 14 | ||||
-rw-r--r-- | mail/dovecot2/Makefile | 94 | ||||
-rw-r--r-- | mail/dovecot2/PLIST.sieve | 61 | ||||
-rw-r--r-- | mail/dovecot2/distinfo | 8 | ||||
-rw-r--r-- | mail/dovecot2/options.mk | 31 | ||||
-rw-r--r-- | mail/dovecot2/patches/patch-aa | 11 | ||||
-rw-r--r-- | mail/dovecot2/patches/patch-af | 13 |
7 files changed, 160 insertions, 72 deletions
diff --git a/mail/dovecot2/MESSAGE b/mail/dovecot2/MESSAGE new file mode 100644 index 00000000000..2fd9eabbb46 --- /dev/null +++ b/mail/dovecot2/MESSAGE @@ -0,0 +1,14 @@ +=========================================================================== +$NetBSD: MESSAGE,v 1.1 2010/11/09 15:23:11 ghen Exp $ + +The configuration for Dovecot 2.0 now lives in ${PKG_SYSCONFDIR}/dovecot/, +and is split in multiple files. + +When upgrading from Dovecot 1.2.x, you can either: +- convert your old config to a single, minimal new config file: + ${PREFIX}/bin/doveconf -n -c dovecot.conf > dovecot.conf.new +- start over, editing the templates in ${PKG_SYSCONFDIR}/dovecot/conf.d/ + +For more information, see http://wiki2.dovecot.org/Upgrading/2.0 + +=========================================================================== diff --git a/mail/dovecot2/Makefile b/mail/dovecot2/Makefile index b36fea77860..408ee1eaf7c 100644 --- a/mail/dovecot2/Makefile +++ b/mail/dovecot2/Makefile @@ -1,13 +1,17 @@ -# $NetBSD: Makefile,v 1.1.1.1 2010/11/05 12:00:39 adam Exp $ +# $NetBSD: Makefile,v 1.2 2010/11/09 15:23:11 ghen Exp $ -DISTNAME= dovecot-2.0.6 -CATEGORIES= mail -MASTER_SITES= http://www.dovecot.org/releases/2.0/ +DOVECOT_VERSION= 2.0 +DOVECOT_SUBVERSION= .6 +SIEVE_VERSION= 0.2.1 +DISTNAME= dovecot-${DOVECOT_VERSION}${DOVECOT_SUBVERSION} +CATEGORIES= mail +MASTER_SITES= http://www.dovecot.org/releases/${DOVECOT_VERSION}/ +DOVECOT_SIEVE_SITES= http://www.rename-it.nl/dovecot/${DOVECOT_VERSION}/ -MAINTAINER= pkgsrc-users@NetBSD.org -HOMEPAGE= http://www.dovecot.org/ -COMMENT= Secure IMAP and POP3 server -LICENSE= mit AND gnu-lgpl-v2.1 AND modified-bsd +MAINTAINER= ghen@NetBSD.org +HOMEPAGE= http://www.dovecot.org/ +COMMENT= Secure IMAP and POP3 server +LICENSE= mit AND gnu-lgpl-v2.1 AND modified-bsd PKG_INSTALLATION_TYPES= overwrite pkgviews PKG_DESTDIR_SUPPORT= user-destdir @@ -25,12 +29,16 @@ RCD_SCRIPTS= dovecot DOVECOT_USER?= dovecot DOVECOT_GROUP?= dovecot -PKG_GROUPS= ${DOVECOT_GROUP} -PKG_USERS= ${DOVECOT_USER}:${DOVECOT_GROUP} -PKG_GROUPS_VARS+= DOVECOT_GROUP -PKG_USERS_VARS= DOVECOT_USER +DOVENULL_USER?= dovenull +DOVENULL_GROUP?= dovenull +PKG_GROUPS= ${DOVECOT_GROUP} ${DOVENULL_GROUP} +PKG_USERS= ${DOVECOT_USER}:${DOVECOT_GROUP} \ + ${DOVENULL_USER}:${DOVENULL_GROUP} +PKG_GROUPS_VARS= DOVECOT_GROUP DOVENULL_GROUP +PKG_USERS_VARS= DOVECOT_USER DOVENULL_USER PKG_GECOS.${DOVECOT_USER}= Dovecot IMAP/POP3 user +PKG_GECOS.${DOVENULL_USER}= Dovecot login user SUBST_CLASSES+= ssldir SUBST_MESSAGE.ssldir= Fixing SSLDIR @@ -38,48 +46,46 @@ SUBST_FILES.ssldir= doc/example-config/conf.d/10-ssl.conf SUBST_STAGE.ssldir= pre-configure SUBST_SED.ssldir= -e 's,/etc/ssl,${SSLDIR},' -EGDIR= ${PREFIX}/share/examples/dovecot -CONFD= ${PKG_SYSCONFDIR}/dovecot/conf.d -MAKE_DIRS+= ${CONFD} -CONF_FILES+= ${EGDIR}/dovecot.conf ${PKG_SYSCONFDIR}/dovecot/dovecot.conf -CONF_FILES+= ${EGDIR}/dovecot-db.conf.ext ${PKG_SYSCONFDIR}/dovecot/dovecot-db.conf.ext -CONF_FILES+= ${EGDIR}/dovecot-dict-sql.conf.ext ${PKG_SYSCONFDIR}/dovecot/dovecot-dict-sql.conf.ext -CONF_FILES+= ${EGDIR}/dovecot-ldap.conf.ext ${PKG_SYSCONFDIR}/dovecot/dovecot-ldap.conf.ext -CONF_FILES+= ${EGDIR}/dovecot-sql.conf.ext ${PKG_SYSCONFDIR}/dovecot/dovecot-sql.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/10-auth.conf ${CONFD}/10-auth.conf -CONF_FILES+= ${EGDIR}/conf.d/10-director.conf ${CONFD}/10-director.conf -CONF_FILES+= ${EGDIR}/conf.d/10-logging.conf ${CONFD}/10-logging.conf -CONF_FILES+= ${EGDIR}/conf.d/10-mail.conf ${CONFD}/10-mail.conf -CONF_FILES+= ${EGDIR}/conf.d/10-master.conf ${CONFD}/10-master.conf -CONF_FILES+= ${EGDIR}/conf.d/10-ssl.conf ${CONFD}/10-ssl.conf -CONF_FILES+= ${EGDIR}/conf.d/15-lda.conf ${CONFD}/15-lda.conf -CONF_FILES+= ${EGDIR}/conf.d/20-imap.conf ${CONFD}/20-imap.conf -CONF_FILES+= ${EGDIR}/conf.d/20-lmtp.conf ${CONFD}/20-lmtp.conf -CONF_FILES+= ${EGDIR}/conf.d/20-pop3.conf ${CONFD}/20-pop3.conf -CONF_FILES+= ${EGDIR}/conf.d/90-acl.conf ${CONFD}/90-acl.conf -CONF_FILES+= ${EGDIR}/conf.d/90-plugin.conf ${CONFD}/90-plugin.conf -CONF_FILES+= ${EGDIR}/conf.d/90-quota.conf ${CONFD}/90-quota.conf -CONF_FILES+= ${EGDIR}/conf.d/auth-checkpassword.conf.ext ${CONFD}/auth-checkpassword.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-deny.conf.ext ${CONFD}/auth-deny.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-ldap.conf.ext ${CONFD}/auth-ldap.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-master.conf.ext ${CONFD}/auth-master.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-passwdfile.conf.ext ${CONFD}/auth-passwdfile.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-sql.conf.ext ${CONFD}/auth-sql.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-static.conf.ext ${CONFD}/auth-static.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-system.conf.ext ${CONFD}/auth-system.conf.ext -CONF_FILES+= ${EGDIR}/conf.d/auth-vpopmail.conf.ext ${CONFD}/auth-vpopmail.conf.ext +SUBST_CLASSES+= egdir +SUBST_MESSAGE.egdir= Fixing EGDIR +# sieve adds another file here (in options.mk) +SUBST_FILES.egdir= doc/example-config/Makefile.in +SUBST_FILES.egdir+= doc/example-config/conf.d/Makefile.in +SUBST_FILES.egdir+= src/config/Makefile.in +SUBST_STAGE.egdir= pre-configure +SUBST_SED.egdir= -e 's,^exampledir = .*/example-config,exampledir = $(PREFIX)/share/examples/dovecot,' + +EGDIR= ${PREFIX}/share/examples/dovecot + +CNFS_cmd= ${SED} -ne "s,^share/examples/dovecot/,,p" PLIST +CNFS= ${CNFS_cmd:sh} +CONF_FILES= ${EGDIR}/dovecot.conf ${PKG_SYSCONFDIR}/dovecot/dovecot-example.conf +.for file in ${CNFS} +CONF_FILES+= ${EGDIR}/${file:Q} ${PKG_SYSCONFDIR}/dovecot/${file:Q} +.endfor INSTALLATION_DIRS= libexec/dovecot sbin share/doc/dovecot INSTALLATION_DIRS+= share/examples/dovecot share/examples/dovecot/conf.d +OWN_DIRS= ${PKG_SYSCONFDIR}/dovecot/ +OWN_DIRS+= ${PKG_SYSCONFDIR}/dovecot/conf.d BUILD_DEFS+= VARBASE +.include "options.mk" + +post-build: +.if !empty(PKG_OPTIONS:Mdovecot-sieve) +# We need dovecot built in order to be able to configure sieve. + cd ${WRKSRC.sieve} \ + && env ${CONFIGURE_ENV} ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} ${CONFIGURE_ARGS.sieve} + cd ${WRKSRC.sieve} \ + && env ${MAKE_ENV} ${MAKE_PROGRAM} ${BUILD_MAKE_FLAGS} -f ${MAKE_FILE} ${BUILD_TARGET} +.endif + post-install: ${INSTALL_DATA} ${WRKSRC}/doc/dovecot-openssl.cnf ${DESTDIR}${EGDIR} ${INSTALL_SCRIPT} ${WRKSRC}/doc/mkcert.sh ${DESTDIR}${EGDIR} -.include "options.mk" - .include "../../archivers/bzip2/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/mail/dovecot2/PLIST.sieve b/mail/dovecot2/PLIST.sieve new file mode 100644 index 00000000000..fa4007aa55c --- /dev/null +++ b/mail/dovecot2/PLIST.sieve @@ -0,0 +1,61 @@ +@comment $NetBSD: PLIST.sieve,v 1.1 2010/11/09 15:23:11 ghen Exp $ +bin/sieve-dump +bin/sieve-test +bin/sievec +include/dovecot/sieve/pigeonhole-config.h +include/dovecot/sieve/rfc2822.h +include/dovecot/sieve/sieve-actions.h +include/dovecot/sieve/sieve-address-parts.h +include/dovecot/sieve/sieve-address.h +include/dovecot/sieve/sieve-ast.h +include/dovecot/sieve/sieve-binary-dumper.h +include/dovecot/sieve/sieve-binary-private.h +include/dovecot/sieve/sieve-binary.h +include/dovecot/sieve/sieve-code-dumper.h +include/dovecot/sieve/sieve-code.h +include/dovecot/sieve/sieve-commands.h +include/dovecot/sieve/sieve-common.h +include/dovecot/sieve/sieve-comparators.h +include/dovecot/sieve/sieve-config.h +include/dovecot/sieve/sieve-dump.h +include/dovecot/sieve/sieve-error-private.h +include/dovecot/sieve/sieve-error.h +include/dovecot/sieve/sieve-ext-enotify.h +include/dovecot/sieve/sieve-ext-environment.h +include/dovecot/sieve/sieve-ext-variables.h +include/dovecot/sieve/sieve-extensions.h +include/dovecot/sieve/sieve-generator.h +include/dovecot/sieve/sieve-interpreter.h +include/dovecot/sieve/sieve-lexer.h +include/dovecot/sieve/sieve-limits.h +include/dovecot/sieve/sieve-match-types.h +include/dovecot/sieve/sieve-match.h +include/dovecot/sieve/sieve-message.h +include/dovecot/sieve/sieve-objects.h +include/dovecot/sieve/sieve-parser.h +include/dovecot/sieve/sieve-plugins.h +include/dovecot/sieve/sieve-result.h +include/dovecot/sieve/sieve-runtime-trace.h +include/dovecot/sieve/sieve-runtime.h +include/dovecot/sieve/sieve-script-private.h +include/dovecot/sieve/sieve-script.h +include/dovecot/sieve/sieve-settings.h +include/dovecot/sieve/sieve-smtp.h +include/dovecot/sieve/sieve-stringlist.h +include/dovecot/sieve/sieve-types.h +include/dovecot/sieve/sieve-validator.h +include/dovecot/sieve/sieve.h +lib/dovecot/lib90_sieve_plugin.la +lib/dovecot/libdovecot-sieve.la +lib/dovecot/settings/libmanagesieve_login_settings.la +lib/dovecot/settings/libmanagesieve_settings.la +libexec/dovecot/managesieve +libexec/dovecot/managesieve-login +man/man1/sieve-dump.1 +man/man1/sieve-test.1 +man/man1/sievec.1 +man/man1/sieved.1 +man/man7/pigeonhole.7 +share/doc/dovecot/sieve/spamtest-virustest.txt +share/examples/dovecot/conf.d/20-managesieve.conf +share/examples/dovecot/conf.d/90-sieve.conf diff --git a/mail/dovecot2/distinfo b/mail/dovecot2/distinfo index b6dae8babf9..31b9a126dec 100644 --- a/mail/dovecot2/distinfo +++ b/mail/dovecot2/distinfo @@ -1,14 +1,16 @@ -$NetBSD: distinfo,v 1.1.1.1 2010/11/05 12:00:39 adam Exp $ +$NetBSD: distinfo,v 1.2 2010/11/09 15:23:11 ghen Exp $ +SHA1 (dovecot-2.0-pigeonhole-0.2.1.tar.gz) = ef06d157302576a9276c8f1181a3c5de018e2f36 +RMD160 (dovecot-2.0-pigeonhole-0.2.1.tar.gz) = a3cd58c13c3de33e6941c94633c580af4406ad85 +Size (dovecot-2.0-pigeonhole-0.2.1.tar.gz) = 1195090 bytes SHA1 (dovecot-2.0.6.tar.gz) = 70b4f58d00f6c5e6e0a129544119c88c13db62d5 RMD160 (dovecot-2.0.6.tar.gz) = a41f0b774f3f11a28587f6f9e6a134cc4dd958a6 Size (dovecot-2.0.6.tar.gz) = 3155389 bytes -SHA1 (patch-aa) = b7e2923ead1ad1eacd3b8b1a37111325794135d2 +SHA1 (patch-aa) = 3f85e3858f451413e07e73916e654cfe81188551 SHA1 (patch-ab) = 43361741cf68d1ad5d6e1073cfb9746acf497868 SHA1 (patch-ac) = dc5db4870b14bf2424f0c957f5cf7f1a289fefe6 SHA1 (patch-ad) = 5a11ece1ea86ec775d73bd2d305fb927f8669ba5 SHA1 (patch-ae) = 51d8cb998cc2ded8bfc767710e465b752c50e656 -SHA1 (patch-af) = 691cb36fcd5d71e1dea1812da5ed3e93a9ca029a SHA1 (patch-ag) = 1f78984359bb6fcf939c540b54d1dc56317931b4 SHA1 (patch-ah) = 2c2ed68bbc475398a0247e08673be5a5db08d3c4 SHA1 (patch-ai) = 7ceb18222b47b496099f6634ca4cb4c3edcbf943 diff --git a/mail/dovecot2/options.mk b/mail/dovecot2/options.mk index 1bb51d40a7f..81de7b15858 100644 --- a/mail/dovecot2/options.mk +++ b/mail/dovecot2/options.mk @@ -1,7 +1,8 @@ -# $NetBSD: options.mk,v 1.1.1.1 2010/11/05 12:00:39 adam Exp $ +# $NetBSD: options.mk,v 1.2 2010/11/09 15:23:11 ghen Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.dovecot -PKG_SUPPORTED_OPTIONS= gssapi kqueue ldap mysql pam pgsql sqlite +PKG_SUPPORTED_OPTIONS= dovecot-sieve gssapi +PKG_SUPPORTED_OPTIONS+= kqueue ldap mysql pam pgsql sqlite PKG_OPTIONS_OPTIONAL_GROUPS= ssl PKG_OPTIONS_GROUP.ssl= gnutls ssl PKG_SUGGESTED_OPTIONS= ssl @@ -90,3 +91,29 @@ CONFIGURE_ARGS+= --with-gssapi .else CONFIGURE_ARGS+= --without-gssapi .endif + +### +### Pigeonhole Sieve plugin +### +.if !empty(PKG_OPTIONS:Mdovecot-sieve) || make(distinfo) || make(makesum) +# We can't simply use CONFIGURE_DIRS+= and BUILD_DIRS+= +# because dovecot must be built before sieve can be configured/built. +# So use post-build in Makefile. Sigh. +# +# Default so we can use += below +DISTFILES= ${DEFAULT_DISTFILES} +PLIST_SRC= ${PLIST_SRC_DFLT:Q} +INSTALL_DIRS= ${WRKSRC} + +DISTFILES+= dovecot-${DOVECOT_VERSION}-pigeonhole-${SIEVE_VERSION}.tar.gz +SITES.dovecot-${DOVECOT_VERSION}-pigeonhole-${SIEVE_VERSION}.tar.gz=\ + ${DOVECOT_SIEVE_SITES} +WRKSRC.sieve= ${WRKDIR}/dovecot-${DOVECOT_VERSION}-pigeonhole-${SIEVE_VERSION} +CONFIGURE_ARGS.sieve= --with-dovecot=${WRKSRC} +CONFIGURE_ARGS.sieve+= --docdir=${PREFIX}/share/doc +INSTALL_DIRS+= ${WRKSRC.sieve} +SUBST_FILES.egdir+= ${WRKSRC.sieve}/doc/example-config/conf.d/Makefile.in +PLIST_SRC+= ${PKGDIR}/PLIST.sieve +CONF_FILES+= ${EGDIR}/conf.d/20-managesieve.conf ${PKG_SYSCONFDIR}/dovecot/conf.d/20-managesieve.conf +CONF_FILES+= ${EGDIR}/conf.d/90-sieve.conf ${PKG_SYSCONFDIR}/dovecot/conf.d/90-sieve.conf +.endif # dovecot-sieve diff --git a/mail/dovecot2/patches/patch-aa b/mail/dovecot2/patches/patch-aa index e10e99f7d3b..2a8efbd36bd 100644 --- a/mail/dovecot2/patches/patch-aa +++ b/mail/dovecot2/patches/patch-aa @@ -1,16 +1,7 @@ -$NetBSD: patch-aa,v 1.1.1.1 2010/11/05 12:00:39 adam Exp $ +$NetBSD: patch-aa,v 1.2 2010/11/09 15:23:11 ghen Exp $ --- doc/example-config/Makefile.in.orig 2010-10-21 17:37:01.000000000 +0000 +++ doc/example-config/Makefile.in -@@ -280,7 +280,7 @@ top_srcdir = @top_srcdir@ - SUBDIRS = conf.d - pkgsysconfdir = $(sysconfdir)/dovecot - nodist_pkgsysconf_DATA = README --exampledir = $(docdir)/example-config -+exampledir = $(datadir)/examples/dovecot - example_DATA = \ - dovecot.conf \ - dovecot-db.conf.ext \ @@ -623,8 +623,7 @@ info: info-recursive info-am: diff --git a/mail/dovecot2/patches/patch-af b/mail/dovecot2/patches/patch-af deleted file mode 100644 index 592c39cf740..00000000000 --- a/mail/dovecot2/patches/patch-af +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-af,v 1.1.1.1 2010/11/05 12:00:39 adam Exp $ - ---- doc/example-config/conf.d/Makefile.in.orig 2010-11-04 14:32:20.000000000 +0000 -+++ doc/example-config/conf.d/Makefile.in -@@ -237,7 +237,7 @@ top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - pkgsysconfdir = $(sysconfdir)/dovecot --exampledir = $(docdir)/example-config/conf.d -+exampledir = $(datadir)/examples/dovecot/conf.d - example_DATA = \ - auth-checkpassword.conf.ext \ - auth-deny.conf.ext \ |