summaryrefslogtreecommitdiff
path: root/mail/dovecot2
diff options
context:
space:
mode:
authorghen <ghen@pkgsrc.org>2010-11-09 15:23:11 +0000
committerghen <ghen@pkgsrc.org>2010-11-09 15:23:11 +0000
commitf74ce133525d7c9d4eaf2e1872302ddff017acb0 (patch)
tree831e0a03c2f295cb8fba7ca08ea10ac763ff7616 /mail/dovecot2
parent859daf2650c2ec3463bab50c3a5d99bb715aa89f (diff)
downloadpkgsrc-f74ce133525d7c9d4eaf2e1872302ddff017acb0.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/MESSAGE14
-rw-r--r--mail/dovecot2/Makefile94
-rw-r--r--mail/dovecot2/PLIST.sieve61
-rw-r--r--mail/dovecot2/distinfo8
-rw-r--r--mail/dovecot2/options.mk31
-rw-r--r--mail/dovecot2/patches/patch-aa11
-rw-r--r--mail/dovecot2/patches/patch-af13
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 \