GNU bug report logs - #42899
[PATCH 00/10] Dovecot improvements. Add support for pigeonhole.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Alexey Abramov <levenson@HIDDEN>; Keywords: patch; dated Mon, 17 Aug 2020 09:29:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:54:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:54:15 2020
Received: from localhost ([127.0.0.1]:52560 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4d-0006XZ-1F
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:54:15 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30832)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4M-0006Vd-ES
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:58 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 794AC9D072
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:11 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 8/8] services: dovecot: Add 'managesieve-sieve-capability'
 option.
Date: Tue,  8 Sep 2020 15:53:48 +0200
Message-Id: <20200908135348.18551-8-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define it.
* doc/guix.texi (Mail Services): Document it.
---
 doc/guix.texi         | 9 +++++++++
 gnu/services/mail.scm | 7 ++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 8c41a22652..d28e7c1b5f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17813,6 +17813,15 @@ this may differ depending on the authenticated user).
 Defaults to @samp{()}.
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-sieve-capability
+Report SIEVE capabilities by the ManageSieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 8b57b42dfe..91d7041636 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -359,7 +359,12 @@ setting.")
    (space-separated-string-list '())
    "Report NOTIFY capabilities by the ManageSieve service upon a client
 connection.  If left unassigned, these will be assigned dynamically
-according to what the Sieve interpreter supports by default."))
+according to what the Sieve interpreter supports by default.")
+  (managesieve-sieve-capability
+   (space-separated-string-list '())
+   "Report SIEVE capabilities by the ManageSieve service upon a client
++connection.  If left unassigned, these will be assigned dynamically
++according to what the Sieve interpreter supports by default."))
 
 
 (define (serialize-protocol-configuration field-name val)
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:54:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:54:15 2020
Received: from localhost ([127.0.0.1]:52558 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4c-0006XS-OG
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:54:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4L-0006VU-Rd
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:58 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id DAD7E9D04E
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:10 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 7/8] services: dovecot: Add 'managesieve-notify-capability'
 option.
Date: Tue,  8 Sep 2020 15:53:47 +0200
Message-Id: <20200908135348.18551-7-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* doc/guix.texi (Mail Services): Document it.
* gnu/services/mail.scm (protocol-configuration): Define it.
---
 doc/guix.texi         | 9 +++++++++
 gnu/services/mail.scm | 8 +++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index e5c1d9d2f2..8c41a22652 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17804,6 +17804,15 @@ Defaults to @samp{#f}.
 
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-notify-capabilities
+Report notify capabilities by the managesieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default (after login
+this may differ depending on the authenticated user).
+
+Defaults to @samp{()}.
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index ee710303e7..8b57b42dfe 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -354,7 +354,13 @@ address.  NOTE: The username is compared case-sensitively.")
    "Activate the commands of @code{IMAP METADATA} extension
 @uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a
 dictionary needs to be configured, via the @code{mail-attribute-dict}
-setting."))
+setting.")
+  (managesieve-notify-capability
+   (space-separated-string-list '())
+   "Report NOTIFY capabilities by the ManageSieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default."))
+
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:54:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:54:14 2020
Received: from localhost ([127.0.0.1]:52556 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4c-0006XL-FV
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:54:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30832)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4L-0006Vd-Ki
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:57 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 488279CFEC
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:10 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 6/8] services: dovecot: Add 'imap-metadata?' protocol
 configuration option.
Date: Tue,  8 Sep 2020 15:53:46 +0200
Message-Id: <20200908135348.18551-6-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define the option to be able
  to activate the IMAP METADATA commands over the imap protocol.
* doc/guix.texi (Mail Services): Document it.
---
 doc/guix.texi         | 11 +++++++++++
 gnu/services/mail.scm |  8 +++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 6d6912febf..e5c1d9d2f2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17793,6 +17793,17 @@ This is used by imap (for shared users) and lda.
 It defaults to @samp{"/var/run/dovecot/auth-userdb"}.
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} boolean imap-metadata?
+Activate the commands of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}.
+
+If activated, a dictionary needs to be configured, via the
+@code{mail-attribute-dict} setting.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index d8df5c82e4..ee710303e7 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -348,7 +348,13 @@ This is used by imap (for shared users) and lda.")
   (mail-max-userip-connections
    (non-negative-integer 10)
    "Maximum number of IMAP connections allowed for a user from each IP
-address.  NOTE: The username is compared case-sensitively."))
+address.  NOTE: The username is compared case-sensitively.")
+  (imap-metadata?
+   (boolean #f)
+   "Activate the commands of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a
+dictionary needs to be configured, via the @code{mail-attribute-dict}
+setting."))
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:54:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:54:14 2020
Received: from localhost ([127.0.0.1]:52554 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4c-0006XD-5S
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:54:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4L-0006VU-1Z
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:57 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id AA0389CF37
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:09 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 5/8] services: dovecot: Add 'mail-attribute-dict'
 configuration option.
Date: Tue,  8 Sep 2020 15:53:45 +0200
Message-Id: <20200908135348.18551-5-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): Define 'mail-attribute-dict'
  directive to support IMAP METADATA extension.:
* doc/guix.texi (Mail Services): Document it.
---
 doc/guix.texi         | 15 +++++++++++++++
 gnu/services/mail.scm | 11 +++++++++++
 2 files changed, 26 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 61b65db35b..6d6912febf 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18491,6 +18491,21 @@ could allow a user to delete others' mailboxes, or @code{ln -s
 @samp{""}.
 @end deftypevr
 
+@deftypevr {@code{dovecot-configuration} parameter} string mail-attribute-dict
+Activate the metadata storage of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}.  The goal of
+the METADATA extension is to provide a means for clients to set and
+retrieve 'annotations' or 'metadata' on an IMAP server.  The annotations
+can be associated with specific mailboxes or the server as a whole.  The
+server can choose to support only server annotations or both server and
+mailbox annotations.  For example, a general comment being added to a
+mailbox may have an entry name of '/comment' and a value of 'Really
+useful mailbox'
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
 @deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?
 Allow full file system access to clients.  There's no access checks
 other than what the operating system does for the active UID/GID.  It
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 6e166af2be..d8df5c82e4 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1130,6 +1130,17 @@ disabled.")
 @samp{mdbox-rotate-size}.  This setting currently works only in Linux
 with some file systems (ext4, xfs).")
 
+  (mail-attribute-dict
+   (string "")
+   "Activate the metadata storage of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}.  The goal of the
+METADATA extension is to provide a means for clients to set and retrieve
+'annotations' or 'metadata' on an IMAP server.  The annotations can be
+associated with specific mailboxes or the server as a whole.  The server can
+choose to support only server annotations or both server and mailbox
+annotations.  For example, a general comment being added to a mailbox may have
+an entry name of '/comment' and a value of 'Really useful mailbox'")
+
   (mail-attachment-dir
    (string "")
    "sdbox and mdbox support saving mail attachments to external files,
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:54:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:54:14 2020
Received: from localhost ([127.0.0.1]:52552 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4b-0006X6-S6
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:54:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30824)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4K-0006VF-EH
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:56 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 350249CF56
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:09 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 4/8] services: dovecot: Only serialize settings with
 non-empty values.
Date: Tue,  8 Sep 2020 15:53:44 +0200
Message-Id: <20200908135348.18551-4-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (serialize-space-separated-string-list): Protocols
might have custom settings, which are not supported by other protocols. To
prevent dovecot/services from crashing, serialize settings that hold non-empty
values only.
---
 gnu/services/mail.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index a3c48bdb99..6e166af2be 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -99,7 +99,9 @@
                   (and (string? x) (not (string-index x #\space))))
                 val)))
 (define (serialize-space-separated-string-list field-name val)
-  (serialize-field field-name (string-join val " ")))
+  (match val
+    (() #f)
+    (_ (serialize-field field-name (string-join val " ")))))
 
 (define (comma-separated-string-list? val)
   (and (list? val)
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:54:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:54:13 2020
Received: from localhost ([127.0.0.1]:52547 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4N-0006WB-3E
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:54:13 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30820)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4K-0006VE-1t
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:56 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id F0DB09CE9C
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:08 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 3/8] services: dovecot: Serialize global settings first.
Date: Tue,  8 Sep 2020 15:53:43 +0200
Message-Id: <20200908135348.18551-3-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning
messages, move serialization of protocol settings below the global one.
---
 gnu/services/mail.scm | 118 +++++++++++++++++++++---------------------
 1 file changed, 59 insertions(+), 59 deletions(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 2832303d88..a3c48bdb99 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -479,64 +479,6 @@ interfaces.  If you want to specify non-default ports or anything more
 complex, customize the address and port fields of the
 @samp{inet-listener} of the specific services you are interested in.")
 
-  (protocols
-   (protocol-configuration-list
-    (list (protocol-configuration
-           (name "imap"))))
-   "List of protocols we want to serve.  Available protocols include
-@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
-
-  (services
-   (service-configuration-list
-    (list
-     (service-configuration
-      (kind "imap-login")
-      (client-limit 0)
-      (process-limit 0)
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
-        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
-     (service-configuration
-      (kind "pop3-login")
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
-        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
-     (service-configuration
-      (kind "lmtp")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners
-       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
-     (service-configuration
-      (kind "imap")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "pop3")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "auth")
-      (service-count 0)
-      (client-limit 0)
-      (process-limit 1)
-      (listeners
-       (list (unix-listener-configuration (path "auth-userdb")))))
-     (service-configuration
-      (kind "auth-worker")
-      (client-limit 1)
-      (process-limit 0))
-     (service-configuration
-      (kind "dict")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners (list (unix-listener-configuration (path "dict")))))))
-   "List of services to enable.  Available services include @samp{imap},
-@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
-@samp{lmtp}.")
-
   (dict
    (dict-configuration (dict-configuration))
    "Dict configuration, as created by the @code{dict-configuration}
@@ -1434,7 +1376,65 @@ greyed out, instead of only later giving \"not selectable\" popup error.
 
   (imap-urlauth-host
    (string "")
-   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")  )
+   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")
+
+  (protocols
+   (protocol-configuration-list
+    (list (protocol-configuration
+           (name "imap"))))
+   "List of protocols we want to serve.  Available protocols include
+@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
+
+  (services
+   (service-configuration-list
+    (list
+     (service-configuration
+      (kind "imap-login")
+      (client-limit 0)
+      (process-limit 0)
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
+        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
+     (service-configuration
+      (kind "pop3-login")
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
+        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
+     (service-configuration
+      (kind "lmtp")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners
+       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
+     (service-configuration
+      (kind "imap")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "pop3")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "auth")
+      (service-count 0)
+      (client-limit 0)
+      (process-limit 1)
+      (listeners
+       (list (unix-listener-configuration (path "auth-userdb")))))
+     (service-configuration
+      (kind "auth-worker")
+      (client-limit 1)
+      (process-limit 0))
+     (service-configuration
+      (kind "dict")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners (list (unix-listener-configuration (path "dict")))))))
+   "List of services to enable.  Available services include @samp{imap},
+@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
+@samp{lmtp}."))
 
 (define-configuration opaque-dovecot-configuration
   (dovecot
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:53:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:53:59 2020
Received: from localhost ([127.0.0.1]:52545 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4M-0006Vx-LF
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:59 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:24263)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4J-0006VB-J3
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:56 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 757589CD28;
 Tue,  8 Sep 2020 13:23:08 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 1/8] gnu: dovecot: Set moduledir to global directory.
Date: Tue,  8 Sep 2020 15:53:41 +0200
Message-Id: <20200908135348.18551-1-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: Efraim Flashner <efraim@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

From: Efraim Flashner <efraim@HIDDEN>

* gnu/packages/mail.scm (dovecot)[arguments]: Add configure-flag to set
moduledir. Adjust custom 'install phase to override moduledir so it
successfully installs.
---
 gnu/packages/mail.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index beee68c67d..6068736508 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1460,7 +1460,8 @@ facilities for checking incoming mail.")
      `(#:configure-flags '("--sysconfdir=/etc"
                            "--localstatedir=/var"
                            "--with-sqlite"  ; not auto-detected
-                           "--with-lucene") ; not auto-detected
+                           "--with-lucene"  ; not auto-detected
+                           "--with-moduledir=/etc/dovecot/modules")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
@@ -1477,9 +1478,13 @@ facilities for checking incoming mail.")
                (("cat") (which "cat")))
              #t))
          (replace 'install
-           (lambda* (#:key make-flags #:allow-other-keys)
+           (lambda* (#:key outputs make-flags #:allow-other-keys)
+             ;; The .la files don't like having the moduledir moved.
+             (for-each delete-file (find-files "." "\\.la"))
              ;; Simple hack to avoid installing a trivial README in /etc.
              (apply invoke "make" "install" "sysconfdir=/tmp/bogus"
+                    (string-append "moduledir=" (assoc-ref outputs "out")
+                                   "/lib/dovecot")
                     make-flags))))))
     (home-page "https://www.dovecot.org")
     (synopsis "Secure POP3/IMAP server")
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:53:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:53:58 2020
Received: from localhost ([127.0.0.1]:52542 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe4M-0006Vq-7X
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:58 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:30816)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe4J-0006VD-Qz
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:53:56 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id B75B79CE31
 for <42899 <at> debbugs.gnu.org>; Tue,  8 Sep 2020 13:23:08 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v4 2/8] services: dovecot: Use modules via symlink to system
 profile.
Date: Tue,  8 Sep 2020 15:53:42 +0200
Message-Id: <20200908135348.18551-2-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200908135348.18551-1-levenson@HIDDEN>
References: <20200908135348.18551-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple
plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them.
* gnu/services/mail.scm (dovecot-configuration): Use the symlink.
---
 doc/guix.texi         |  9 +++++++--
 gnu/services/mail.scm | 13 ++++++++++---
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index f224e356bc..61b65db35b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18613,8 +18613,13 @@ Defaults to @samp{"/var/run/dovecot/auth-userdb"}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} file-name mail-plugin-dir
-Directory where to look up mail plugins.
-Defaults to @samp{"/usr/lib/dovecot"}.
+Directory where to look up mail plugins.  In Guix, dovecot plugins have
+all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be
+able to load all those modules by doveconf or services like sieve,
+@samp{mail-plugin-dir} is a symlink "/run/current-system/profile/lib/dovecot",
+which creates during the activation step.
+
+Defaults to @samp{"/etc/dovecot/modules"}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index cfcaf4601b..2832303d88 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1044,8 +1044,12 @@ directories are prefixed with the chroot directory, append \"/.\" to
 This is used by imap (for shared users) and lda.")
 
   (mail-plugin-dir
-   (file-name "/usr/lib/dovecot")
-   "Directory where to look up mail plugins.")
+   (file-name "/etc/dovecot/modules")
+   "Directory where to look up mail plugins.  In Guix, dovecot plugins have
+all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be able
+to load all those modules by doveconf or services like imap,
+@samp{mail-plugin-dir} is a symlink `/run/current-system/profile/lib/dovecot`,
+which creates during the activation step.")
 
   (mail-plugins
    (space-separated-string-list '())
@@ -1519,13 +1523,16 @@ greyed out, instead of only later giving \"not selectable\" popup error.
              (else
               (format (current-error-port)
                       "Failed to create public key at ~a.\n" public-key)))))
-        (let ((user (getpwnam "dovecot")))
+        (let ((user (getpwnam "dovecot"))
+              (moduledir "/etc/dovecot/modules"))
           (mkdir-p/perms "/var/run/dovecot" user #o755)
           (mkdir-p/perms "/var/lib/dovecot" user #o755)
           (mkdir-p/perms "/etc/dovecot" user #o755)
           (copy-file #$(plain-file "dovecot.conf" config-str)
                      "/etc/dovecot/dovecot.conf")
           (mkdir-p/perms "/etc/dovecot/private" user #o700)
+          (unless (file-exists? moduledir)
+            (symlink "/run/current-system/profile/lib/dovecot" moduledir))
           (create-self-signed-certificate-if-absent
            #:private-key "/etc/dovecot/private/default.pem"
            #:public-key "/etc/dovecot/default.pem"
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 8 Sep 2020 13:51:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 08 09:51:22 2020
Received: from localhost ([127.0.0.1]:52526 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kFe1p-0006RX-Pc
	for submit <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:51:22 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:15828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kFe1n-0006RO-QQ
 for 42899 <at> debbugs.gnu.org; Tue, 08 Sep 2020 09:51:20 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id E39C09CC4A;
 Tue,  8 Sep 2020 13:20:31 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: guix-devel@HIDDEN
Subject: [PATCH v4 0/8] Dovecot and pigeonhole improvements.
Date: Tue,  8 Sep 2020 15:51:06 +0200
Message-Id: <20200908135106.17731-1-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi Guix,

I have been a happy user of dovecot+pigeonhole for a few weeks now. I am adding @guix-devel to give these changes more attention. dovecot-pigeonhole is already merged, Thank you Tobias.

The next step is to provide some common location where dovecot services can find plugins and their settings. I created /etc/dovecot/modules directory, which is actually a link to "/run/current-system/profile/lib/dovecot" and it is creating during the activation time. By doing this we can make sure, that all dovecot services, those which come with dovecot, can find extensions like sieve/managesieve and their extra settings.

I am using mbsync for my email synchronization. And use the following snippet for my IMAPAccount/IMAPStore.

--8<---------------cut here---------------start------------->8---
IMAPAccount current-user
    Host localhost
    User aabramov
    Tunnel /run/current-system/profile/libexec/dovecot/imap

IMAPStore current-user
    Account current-user
--8<---------------cut here---------------end--------------->8---

I noticed that when I run imap this way, it reads dovecot configuration, and if some global (dovecot) settings are defined below the service ones, I get a lot of warning message that they won't affect those, and I should move them above in order to make them work. That is why I changed the order of serialization.

I also added some extra settings to the configuration, but those are not for all the services. If you don't apply any values to them, they are still serialized to every service, hence services are crashing with a fatal error. I added a change that will prevent it.

I have rebased my changes and provide v4 series of patches.

Please let me know what you think.

Alexey Abramov (7):
  services: dovecot: Use modules via symlink to system profile.
  services: dovecot: Serialize global settings first.
  services: dovecot: Only serialize settings with non-empty values.
  services: dovecot: Add 'mail-attribute-dict' configuration option.
  services: dovecot: Add 'imap-metadata?' protocol configuration option.
  services: dovecot: Add 'managesieve-notify-capability' option.
  services: dovecot: Add 'managesieve-sieve-capability' option.

Efraim Flashner (1):
  gnu: dovecot: Set moduledir to global directory.

 doc/guix.texi         |  53 +++++++++++++-
 gnu/packages/mail.scm |   9 ++-
 gnu/services/mail.scm | 165 ++++++++++++++++++++++++++----------------
 3 files changed, 159 insertions(+), 68 deletions(-)

--
Alexey




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:15 2020
Received: from localhost ([127.0.0.1]:43666 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfL-0007fW-Gb
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:15 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51971)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf7-0007dJ-IE
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:05 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 69C7D9CF81
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:14 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 4/9] services: dovecot: Serialize global settings first.
Date: Thu, 27 Aug 2020 17:17:38 +0200
Message-Id: <20200827151743.27712-4-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning
messages, move serialization of protocol settings below the global one.
---
 gnu/services/mail.scm | 118 +++++++++++++++++++++---------------------
 1 file changed, 59 insertions(+), 59 deletions(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 2832303d88..a3c48bdb99 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -479,64 +479,6 @@ interfaces.  If you want to specify non-default ports or anything more
 complex, customize the address and port fields of the
 @samp{inet-listener} of the specific services you are interested in.")
 
-  (protocols
-   (protocol-configuration-list
-    (list (protocol-configuration
-           (name "imap"))))
-   "List of protocols we want to serve.  Available protocols include
-@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
-
-  (services
-   (service-configuration-list
-    (list
-     (service-configuration
-      (kind "imap-login")
-      (client-limit 0)
-      (process-limit 0)
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
-        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
-     (service-configuration
-      (kind "pop3-login")
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
-        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
-     (service-configuration
-      (kind "lmtp")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners
-       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
-     (service-configuration
-      (kind "imap")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "pop3")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "auth")
-      (service-count 0)
-      (client-limit 0)
-      (process-limit 1)
-      (listeners
-       (list (unix-listener-configuration (path "auth-userdb")))))
-     (service-configuration
-      (kind "auth-worker")
-      (client-limit 1)
-      (process-limit 0))
-     (service-configuration
-      (kind "dict")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners (list (unix-listener-configuration (path "dict")))))))
-   "List of services to enable.  Available services include @samp{imap},
-@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
-@samp{lmtp}.")
-
   (dict
    (dict-configuration (dict-configuration))
    "Dict configuration, as created by the @code{dict-configuration}
@@ -1434,7 +1376,65 @@ greyed out, instead of only later giving \"not selectable\" popup error.
 
   (imap-urlauth-host
    (string "")
-   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")  )
+   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")
+
+  (protocols
+   (protocol-configuration-list
+    (list (protocol-configuration
+           (name "imap"))))
+   "List of protocols we want to serve.  Available protocols include
+@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
+
+  (services
+   (service-configuration-list
+    (list
+     (service-configuration
+      (kind "imap-login")
+      (client-limit 0)
+      (process-limit 0)
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
+        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
+     (service-configuration
+      (kind "pop3-login")
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
+        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
+     (service-configuration
+      (kind "lmtp")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners
+       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
+     (service-configuration
+      (kind "imap")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "pop3")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "auth")
+      (service-count 0)
+      (client-limit 0)
+      (process-limit 1)
+      (listeners
+       (list (unix-listener-configuration (path "auth-userdb")))))
+     (service-configuration
+      (kind "auth-worker")
+      (client-limit 1)
+      (process-limit 0))
+     (service-configuration
+      (kind "dict")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners (list (unix-listener-configuration (path "dict")))))))
+   "List of services to enable.  Available services include @samp{imap},
+@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
+@samp{lmtp}."))
 
 (define-configuration opaque-dovecot-configuration
   (dovecot
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:15 2020
Received: from localhost ([127.0.0.1]:43664 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfL-0007fO-93
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:15 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51975)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf8-0007dQ-4f
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:05 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 0814D9CF8E
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:14 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 5/9] services: dovecot: Only serialize settings with
 non-empty values.
Date: Thu, 27 Aug 2020 17:17:39 +0200
Message-Id: <20200827151743.27712-5-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (serialize-space-separated-string-list): Protocols
might have custom settings, which are not supported by other protocols. To
prevent dovecot/services from crashing, serialize settings that hold non-empty
values only.
---
 gnu/services/mail.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index a3c48bdb99..6e166af2be 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -99,7 +99,9 @@
                   (and (string? x) (not (string-index x #\space))))
                 val)))
 (define (serialize-space-separated-string-list field-name val)
-  (serialize-field field-name (string-join val " ")))
+  (match val
+    (() #f)
+    (_ (serialize-field field-name (string-join val " ")))))
 
 (define (comma-separated-string-list? val)
   (and (list? val)
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:15 2020
Received: from localhost ([127.0.0.1]:43662 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfK-0007fH-TV
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:15 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51987)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJfA-0007dw-P7
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:05 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id EDC379D028
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:16 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 8/9] services: dovecot: Add 'managesieve-notify-capability'
 option.
Date: Thu, 27 Aug 2020 17:17:42 +0200
Message-Id: <20200827151743.27712-8-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* doc/guix.texi (Mail Services): Document it.
* gnu/services/mail.scm (protocol-configuration): Define it.
---
 doc/guix.texi         | 9 +++++++++
 gnu/services/mail.scm | 8 +++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index f46854480b..acccef181f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17551,6 +17551,15 @@ Defaults to @samp{#f}.
 
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-notify-capabilities
+Report notify capabilities by the managesieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default (after login
+this may differ depending on the authenticated user).
+
+Defaults to @samp{()}.
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index ee710303e7..8b57b42dfe 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -354,7 +354,13 @@ address.  NOTE: The username is compared case-sensitively.")
    "Activate the commands of @code{IMAP METADATA} extension
 @uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a
 dictionary needs to be configured, via the @code{mail-attribute-dict}
-setting."))
+setting.")
+  (managesieve-notify-capability
+   (space-separated-string-list '())
+   "Report NOTIFY capabilities by the ManageSieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default."))
+
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:14 2020
Received: from localhost ([127.0.0.1]:43660 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfK-0007fA-I9
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51991)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf9-0007dy-Vi
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:04 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 3008A9D07E
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:17 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 9/9] services: dovecot: Add 'managesieve-sieve-capability'
 option.
Date: Thu, 27 Aug 2020 17:17:43 +0200
Message-Id: <20200827151743.27712-9-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define it.
* doc/guix.texi (Mail Services): Document it.
---
 doc/guix.texi         | 9 +++++++++
 gnu/services/mail.scm | 7 ++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index acccef181f..59377bb678 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17560,6 +17560,15 @@ this may differ depending on the authenticated user).
 Defaults to @samp{()}.
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-sieve-capability
+Report SIEVE capabilities by the ManageSieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 8b57b42dfe..91d7041636 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -359,7 +359,12 @@ setting.")
    (space-separated-string-list '())
    "Report NOTIFY capabilities by the ManageSieve service upon a client
 connection.  If left unassigned, these will be assigned dynamically
-according to what the Sieve interpreter supports by default."))
+according to what the Sieve interpreter supports by default.")
+  (managesieve-sieve-capability
+   (space-separated-string-list '())
+   "Report SIEVE capabilities by the ManageSieve service upon a client
++connection.  If left unassigned, these will be assigned dynamically
++according to what the Sieve interpreter supports by default."))
 
 
 (define (serialize-protocol-configuration field-name val)
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:14 2020
Received: from localhost ([127.0.0.1]:43658 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfK-0007f2-1V
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51979)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf9-0007dj-CP
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:04 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id B30B09CFCF
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:15 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 6/9] services: dovecot: Add 'mail-attribute-dict'
 configuration option.
Date: Thu, 27 Aug 2020 17:17:40 +0200
Message-Id: <20200827151743.27712-6-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): Define 'mail-attribute-dict'
  directive to support IMAP METADATA extension.:
* doc/guix.texi (Mail Services): Document it.
---
 doc/guix.texi         | 15 +++++++++++++++
 gnu/services/mail.scm | 11 +++++++++++
 2 files changed, 26 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index dfa83c409c..f2124560ae 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18238,6 +18238,21 @@ could allow a user to delete others' mailboxes, or @code{ln -s
 @samp{""}.
 @end deftypevr
 
+@deftypevr {@code{dovecot-configuration} parameter} string mail-attribute-dict
+Activate the metadata storage of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}.  The goal of
+the METADATA extension is to provide a means for clients to set and
+retrieve 'annotations' or 'metadata' on an IMAP server.  The annotations
+can be associated with specific mailboxes or the server as a whole.  The
+server can choose to support only server annotations or both server and
+mailbox annotations.  For example, a general comment being added to a
+mailbox may have an entry name of '/comment' and a value of 'Really
+useful mailbox'
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
 @deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?
 Allow full file system access to clients.  There's no access checks
 other than what the operating system does for the active UID/GID.  It
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 6e166af2be..d8df5c82e4 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1130,6 +1130,17 @@ disabled.")
 @samp{mdbox-rotate-size}.  This setting currently works only in Linux
 with some file systems (ext4, xfs).")
 
+  (mail-attribute-dict
+   (string "")
+   "Activate the metadata storage of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}.  The goal of the
+METADATA extension is to provide a means for clients to set and retrieve
+'annotations' or 'metadata' on an IMAP server.  The annotations can be
+associated with specific mailboxes or the server as a whole.  The server can
+choose to support only server annotations or both server and mailbox
+annotations.  For example, a general comment being added to a mailbox may have
+an entry name of '/comment' and a value of 'Really useful mailbox'")
+
   (mail-attachment-dir
    (string "")
    "sdbox and mdbox support saving mail attachments to external files,
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:14 2020
Received: from localhost ([127.0.0.1]:43656 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfJ-0007f0-Kb
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:14 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51983)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf9-0007dt-J1
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:04 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 822929CFE3
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:16 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 7/9] services: dovecot: Add 'imap-metadata?' protocol
 configuration option.
Date: Thu, 27 Aug 2020 17:17:41 +0200
Message-Id: <20200827151743.27712-7-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define the option to be able
  to activate the IMAP METADATA commands over the imap protocol.
* doc/guix.texi (Mail Services): Document it.
---
 doc/guix.texi         | 11 +++++++++++
 gnu/services/mail.scm |  8 +++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index f2124560ae..f46854480b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17540,6 +17540,17 @@ This is used by imap (for shared users) and lda.
 It defaults to @samp{"/var/run/dovecot/auth-userdb"}.
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} boolean imap-metadata?
+Activate the commands of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}.
+
+If activated, a dictionary needs to be configured, via the
+@code{mail-attribute-dict} setting.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index d8df5c82e4..ee710303e7 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -348,7 +348,13 @@ This is used by imap (for shared users) and lda.")
   (mail-max-userip-connections
    (non-negative-integer 10)
    "Maximum number of IMAP connections allowed for a user from each IP
-address.  NOTE: The username is compared case-sensitively."))
+address.  NOTE: The username is compared case-sensitively.")
+  (imap-metadata?
+   (boolean #f)
+   "Activate the commands of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a
+dictionary needs to be configured, via the @code{mail-attribute-dict}
+setting."))
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:08 2020
Received: from localhost ([127.0.0.1]:43654 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfE-0007ej-57
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:08 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:53039)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf6-0007dF-Uh
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:03 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 285369CD66;
 Thu, 27 Aug 2020 14:47:13 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 1/9] gnu: dovecot: Set moduledir to global directory.
Date: Thu, 27 Aug 2020 17:17:35 +0200
Message-Id: <20200827151743.27712-1-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: Efraim Flashner <efraim@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

From: Efraim Flashner <efraim@HIDDEN>

* gnu/packages/mail.scm (dovecot)[arguments]: Add configure-flag to set
moduledir. Adjust custom 'install phase to override moduledir so it
successfully installs.
---
 gnu/packages/mail.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 81dc5b8eec..c22dd27547 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1444,7 +1444,8 @@ facilities for checking incoming mail.")
      `(#:configure-flags '("--sysconfdir=/etc"
                            "--localstatedir=/var"
                            "--with-sqlite"  ; not auto-detected
-                           "--with-lucene") ; not auto-detected
+                           "--with-lucene"  ; not auto-detected
+                           "--with-moduledir=/etc/dovecot/modules")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
@@ -1461,9 +1462,13 @@ facilities for checking incoming mail.")
                (("cat") (which "cat")))
              #t))
          (replace 'install
-           (lambda* (#:key make-flags #:allow-other-keys)
+           (lambda* (#:key outputs make-flags #:allow-other-keys)
+             ;; The .la files don't like having the moduledir moved.
+             (for-each delete-file (find-files "." "\\.la"))
              ;; Simple hack to avoid installing a trivial README in /etc.
              (apply invoke "make" "install" "sysconfdir=/tmp/bogus"
+                    (string-append "moduledir=" (assoc-ref outputs "out")
+                                   "/lib/dovecot")
                     make-flags))))))
     (home-page "https://www.dovecot.org")
     (synopsis "Secure POP3/IMAP server")
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:08 2020
Received: from localhost ([127.0.0.1]:43652 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJfD-0007ec-QU
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:08 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:51967)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf6-0007dH-Ux
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:03 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id B3CAF9CF0D
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:13 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 3/9] gnu: dovecot-pigeonhole: Add new variable.
Date: Thu, 27 Aug 2020 17:17:37 +0200
Message-Id: <20200827151743.27712-3-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

---
 gnu/packages/mail.scm | 50 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c22dd27547..5470144d53 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1481,6 +1481,56 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
     (license (list license:lgpl2.1 license:expat
                    (license:non-copyleft "file://COPYING")))))
 
+(define-public dovecot-pigeonhole
+  (let ((dovecot-version (version-major+minor (package-version dovecot))))
+    (package
+      (name "dovecot-pigeonhole")
+      (version "0.5.11")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append "https://pigeonhole.dovecot.org/releases/"
+                             dovecot-version "/"
+                             "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
+         (sha256
+          (base32
+           "1w5mryv6izh1gv7davnl94rb0pvh5bxl2bydzbfla1b83x22m5qb"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("dovecot" ,dovecot)))
+      (arguments
+       `(#:configure-flags
+         (list "--with-dovecot-install-dirs=no"
+               (string-append "--with-dovecot="
+                              (assoc-ref %build-inputs "dovecot")
+                              "/lib/dovecot")
+               (string-append "--with-moduledir="
+                              (assoc-ref %outputs "out")
+                              "/lib/dovecot"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-file-names
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out")))
+                 (substitute* "src/managesieve/managesieve-settings.c"
+                   ((".executable = \"managesieve\"")
+                    (string-append ".executable = \"" out
+                                   "/libexec/dovecot/managesieve\"")))
+                 (substitute* "src/managesieve-login/managesieve-login-settings.c"
+                   ((".executable = \"managesieve-login\"")
+                    (string-append ".executable = \"" out
+                                   "/libexec/dovecot/managesieve-login\""))))
+               #t)))))
+      (home-page "https://pigeonhole.dovecot.org")
+      (synopsis "Mail filtering in Dovecot using the Sieve language")
+      (description
+       "@code{dovecot-pigonhole} adds support for the Sieve
+language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the
+@code{Dovecot} Secure IMAP Server.")
+      (license (list license:lgpl2.1
+                     (license:non-copyleft "file://COPYING")
+                     (license:non-copyleft "file://COPYING.LGPL"))))))
+
 (define-public dovecot-trees
   (package
     (name "dovecot-trees")
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 27 Aug 2020 15:18:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Aug 27 11:18:07 2020
Received: from localhost ([127.0.0.1]:43644 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBJf9-0007dx-EO
	for submit <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:07 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:50004)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kBJf6-0007dG-Ui
 for 42899 <at> debbugs.gnu.org; Thu, 27 Aug 2020 11:18:02 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 794A89CE5D
 for <42899 <at> debbugs.gnu.org>; Thu, 27 Aug 2020 14:47:13 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v3 2/9] services: dovecot: Use modules via symlink to system
 profile.
Date: Thu, 27 Aug 2020 17:17:36 +0200
Message-Id: <20200827151743.27712-2-levenson@HIDDEN>
X-Mailer: git-send-email 2.28.0
In-Reply-To: <20200827151743.27712-1-levenson@HIDDEN>
References: <20200827151743.27712-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple
plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them.
* gnu/services/mail.scm (dovecot-configuration): Use the symlink.
---
 doc/guix.texi         |  9 +++++++--
 gnu/services/mail.scm | 13 ++++++++++---
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 0b79a49814..dfa83c409c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18360,8 +18360,13 @@ Defaults to @samp{"/var/run/dovecot/auth-userdb"}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} file-name mail-plugin-dir
-Directory where to look up mail plugins.
-Defaults to @samp{"/usr/lib/dovecot"}.
+Directory where to look up mail plugins.  In Guix, dovecot plugins have
+all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be
+able to load all those modules by doveconf or services like sieve,
+@samp{mail-plugin-dir} is a symlink "/run/current-system/profile/lib/dovecot",
+which creates during the activation step.
+
+Defaults to @samp{"/etc/dovecot/modules"}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index cfcaf4601b..2832303d88 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1044,8 +1044,12 @@ directories are prefixed with the chroot directory, append \"/.\" to
 This is used by imap (for shared users) and lda.")
 
   (mail-plugin-dir
-   (file-name "/usr/lib/dovecot")
-   "Directory where to look up mail plugins.")
+   (file-name "/etc/dovecot/modules")
+   "Directory where to look up mail plugins.  In Guix, dovecot plugins have
+all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be able
+to load all those modules by doveconf or services like imap,
+@samp{mail-plugin-dir} is a symlink `/run/current-system/profile/lib/dovecot`,
+which creates during the activation step.")
 
   (mail-plugins
    (space-separated-string-list '())
@@ -1519,13 +1523,16 @@ greyed out, instead of only later giving \"not selectable\" popup error.
              (else
               (format (current-error-port)
                       "Failed to create public key at ~a.\n" public-key)))))
-        (let ((user (getpwnam "dovecot")))
+        (let ((user (getpwnam "dovecot"))
+              (moduledir "/etc/dovecot/modules"))
           (mkdir-p/perms "/var/run/dovecot" user #o755)
           (mkdir-p/perms "/var/lib/dovecot" user #o755)
           (mkdir-p/perms "/etc/dovecot" user #o755)
           (copy-file #$(plain-file "dovecot.conf" config-str)
                      "/etc/dovecot/dovecot.conf")
           (mkdir-p/perms "/etc/dovecot/private" user #o700)
+          (unless (file-exists? moduledir)
+            (symlink "/run/current-system/profile/lib/dovecot" moduledir))
           (create-self-signed-certificate-if-absent
            #:private-key "/etc/dovecot/private/default.pem"
            #:public-key "/etc/dovecot/default.pem"
-- 
2.28.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 26 Aug 2020 04:23:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 26 00:23:28 2020
Received: from localhost ([127.0.0.1]:37041 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kAmy7-00035t-Vx
	for submit <at> debbugs.gnu.org; Wed, 26 Aug 2020 00:23:28 -0400
Received: from tobias.gr ([80.241.217.52]:50796)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1kAmy6-00035l-Fw
 for 42899 <at> debbugs.gnu.org; Wed, 26 Aug 2020 00:23:27 -0400
Received: by tobias.gr (OpenSMTPD) with ESMTP id c0562d23;
 Wed, 26 Aug 2020 04:23:53 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to:cc
 :subject:references:in-reply-to:date:message-id:mime-version
 :content-type; s=2018; i=me@HIDDEN; bh=ZO4AWUoHpIhKnNaIyDUM3c
 Q4+bvqbe9o58Q6IGVEAbo=; b=jKDTsgdFTgWzwscvivzgtj77hF5I1jDTIjZ0KU
 ce8fFnKdowGOTNggRKYlfOCDR6ktANxXVWHADeARNscnPwtQ/eLjHJGhlvzixYXT
 JvUf/pC4ET0soS3fA20IHeEv6pMroAenArbnuU/ksRUtjaoaCbWcjOESnB2OMI4y
 0H3LZZyv1so7Cvyr4KdL+n7v2V3v8JFpJ9YhuWCJWE1N7h2oD8N3AAfEsxxyckLL
 oetXRf5cq34gMyC5C5aHO3In3UWWB1LQd1fLkra+9ydQeF7Ynz55mF3w0/BUAU9s
 gDWwIar9V5enk8sQWYYJN9L9+Dk9VMaqBjWGC7z1Rf8B9W6g==
Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id a2a10102
 (TLSv1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256:NO); 
 Wed, 26 Aug 2020 04:23:53 +0000 (UTC)
BIMI-Selector: v=BIMI1; s=default;
From: Tobias Geerinckx-Rice <me@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH 04/10] gnu: dovecot-pigeonhole: Add new
 variable.
References: <20200817093124.30611-1-levenson@HIDDEN>
 <20200817093124.30611-4-levenson@HIDDEN>
In-reply-to: <20200817093124.30611-4-levenson@HIDDEN>
Date: Wed, 26 Aug 2020 06:23:25 +0200
Message-ID: <878se2vxvm.fsf@nckx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org, guix-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

--=-=-=
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Alexey,

Alexey Abramov =E5=86=99=E9=81=93=EF=BC=9A
> Signed-off-by: Alexey Abramov <levenson@HIDDEN>

No need to sign of on your own patches.

> +(define-public dovecot-pigeonhole

I've applied these patches on my mail server and will enjoy=20
testing them.  Thanks!

Kind regards,

T G-R

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX0XjvQAKCRANsP+IT1Vt
eXADAQC2U4g+doyp5nYgmdjRR009+TI6z4NyHsS6sBtdTEgu8gEAszKUHlMLlj95
3iKYJhV8D1qbee/h6VuGFg7pLv4RRQ0=
=yB73
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 26 Aug 2020 04:23:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 26 00:23:34 2020
Received: from localhost ([127.0.0.1]:37045 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kAmyE-00036C-6h
	for submit <at> debbugs.gnu.org; Wed, 26 Aug 2020 00:23:34 -0400
Received: from lists.gnu.org ([209.51.188.17]:50784)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <me@HIDDEN>) id 1kAmyC-000364-3q
 for submit <at> debbugs.gnu.org; Wed, 26 Aug 2020 00:23:32 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:43056)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1kAmyB-0005Ip-UK
 for guix-patches@HIDDEN; Wed, 26 Aug 2020 00:23:31 -0400
Received: from tobias.gr ([2a02:c205:2020:6054::1]:40696)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <me@HIDDEN>) id 1kAmy9-0002oY-7Q
 for guix-patches@HIDDEN; Wed, 26 Aug 2020 00:23:31 -0400
Received: by tobias.gr (OpenSMTPD) with ESMTP id c0562d23;
 Wed, 26 Aug 2020 04:23:53 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=from:to:cc
 :subject:references:in-reply-to:date:message-id:mime-version
 :content-type; s=2018; i=me@HIDDEN; bh=ZO4AWUoHpIhKnNaIyDUM3c
 Q4+bvqbe9o58Q6IGVEAbo=; b=jKDTsgdFTgWzwscvivzgtj77hF5I1jDTIjZ0KU
 ce8fFnKdowGOTNggRKYlfOCDR6ktANxXVWHADeARNscnPwtQ/eLjHJGhlvzixYXT
 JvUf/pC4ET0soS3fA20IHeEv6pMroAenArbnuU/ksRUtjaoaCbWcjOESnB2OMI4y
 0H3LZZyv1so7Cvyr4KdL+n7v2V3v8JFpJ9YhuWCJWE1N7h2oD8N3AAfEsxxyckLL
 oetXRf5cq34gMyC5C5aHO3In3UWWB1LQd1fLkra+9ydQeF7Ynz55mF3w0/BUAU9s
 gDWwIar9V5enk8sQWYYJN9L9+Dk9VMaqBjWGC7z1Rf8B9W6g==
Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id a2a10102
 (TLSv1.2:ECDHE-ECDSA-AES256-GCM-SHA384:256:NO); 
 Wed, 26 Aug 2020 04:23:53 +0000 (UTC)
BIMI-Selector: v=BIMI1; s=default;
From: Tobias Geerinckx-Rice <me@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH 04/10] gnu: dovecot-pigeonhole: Add new
 variable.
References: <20200817093124.30611-1-levenson@HIDDEN>
 <20200817093124.30611-4-levenson@HIDDEN>
In-reply-to: <20200817093124.30611-4-levenson@HIDDEN>
Date: Wed, 26 Aug 2020 06:23:25 +0200
Message-ID: <878se2vxvm.fsf@nckx>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
Received-SPF: pass client-ip=2a02:c205:2020:6054::1; envelope-from=me@HIDDEN;
 helo=tobias.gr
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
Cc: 42899 <at> debbugs.gnu.org, guix-patches@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

--=-=-=
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Alexey,

Alexey Abramov =E5=86=99=E9=81=93=EF=BC=9A
> Signed-off-by: Alexey Abramov <levenson@HIDDEN>

No need to sign of on your own patches.

> +(define-public dovecot-pigeonhole

I've applied these patches on my mail server and will enjoy=20
testing them.  Thanks!

Kind regards,

T G-R

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX0XjvQAKCRANsP+IT1Vt
eXADAQC2U4g+doyp5nYgmdjRR009+TI6z4NyHsS6sBtdTEgu8gEAszKUHlMLlj95
3iKYJhV8D1qbee/h6VuGFg7pLv4RRQ0=
=yB73
-----END PGP SIGNATURE-----
--=-=-=--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 24 Aug 2020 10:47:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 24 06:47:20 2020
Received: from localhost ([127.0.0.1]:56207 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kAA0V-0007OU-QG
	for submit <at> debbugs.gnu.org; Mon, 24 Aug 2020 06:47:20 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:13089)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kAA0R-0007OJ-4f
 for 42899 <at> debbugs.gnu.org; Mon, 24 Aug 2020 06:47:18 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 0D2E49CC2E;
 Mon, 24 Aug 2020 10:16:22 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: Efraim Flashner <efraim@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 04/10] gnu: dovecot-pigeonhole: Add new
 variable.
References: <20200818120037.30722-1-levenson@HIDDEN>
 <20200818120037.30722-4-levenson@HIDDEN>
 <20200823211651.GB1392@E5400>
Date: Mon, 24 Aug 2020 12:47:08 +0200
In-Reply-To: <20200823211651.GB1392@E5400> (Efraim Flashner's message of "Mon, 
 24 Aug 2020 00:16:51 +0300")
Message-ID: <875z987237.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

Efraim Flashner <efraim@HIDDEN> writes:

> Make sure you run 'guix lint' on the package, some of the lines are too
> long.
>

[...]

>
> Is there a difference between dovecot-2.3-pigeonhole-0.5.11.tar.gz and
> dovecot-2.3.11-pigeonhole-0.5.11.tar.gz?

Hm, I didn't even know that you can download the latter one. I used the URL provided from the [1]

Anyways, I have downloaded both of them and did a check. Most of the differences relate to Makefile.in, however I also found that the ChangeLog file from "2.3" is newer then "2.3.11". The latter miss one change. Please see the diff I have attached. So I guess we should use dovecot-2.3-pigeonhole-0.5.11.tar.gz. 

>

[...]

>
> it doesn't looke like automake, autoconf, libtool or gettext are
> necessary here. Also, 'guix gc --references' show a reference to
> dovecot, so that should go in inputs.

It is indeed not required. I  removed native-imports completely and everithing builds OK. I also moved dovecot to inputs, checked 'guix gc --references', but it turned out that it shows dovecot anyways.

,----[ guix gc --references /gnu/store/c6lnlfqh0jxkrz1x8mk7gdpx15iffxqd-dovecot-pigeonhole-0.5.11/ ]
| /gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib
| /gnu/store/c6lnlfqh0jxkrz1x8mk7gdpx15iffxqd-dovecot-pigeonhole-0.5.11
| /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31
| /gnu/store/hcxpkksmbql6s4al8yy2myr25kh4cic0-openssl-1.1.1g
| /gnu/store/mhwawv2afb40xv96mdanr2qlqkj6wh8m-dovecot-2.3.11.3
`----

As I understood, it means that if someone have dovecot and dovecot-pigeonhole installed, and the decide to remove pigeonhole, dovecot will be GCed. Please correct me if am wrong. 

>

[...]

>
> If you change the lambda to (lambda* (#:key outputs #:allow-other-keys)
> then you can change the let to (let ((out (assoc-ref outputs "out")))
> and it fits better with the code formatting in the rest of Guix.

Done. 

>

[...]

>
> Some of these lines are too long. We try to wrap them at 80, and the
> linter complains once it hits 90. If you start a new line after 'out'
> then it should flow nicely.

Done. Yeah, I saw this, but decided that separating the last argument is not that pretty. 

>

[...]

>
> I would shorten this to 'Mail filtering in Dovecot using the Sieve
> language'

Done. I am fine with that. As a non native speaker I usually prefer not to touch these kind of things, until I am really sure it can be improved. =)

[...]

>
> It looked to me like it was just lgpl2.1

Sorry, I am not following. I removed the comment I left indeed. Do you mean I should remove

(license:non-copyleft "file://COPYING")

the part completely? The blob contains both COPYING and COPYING.LGPL so I just copied them both.

Footnotes:
[1]  https://pigeonhole.dovecot.org/download.html

-- 
Alexey


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment; filename=pigeonhole.2.3-to-2.3.11.diff

--- /home/levenson/Downloads/dovecot-2.3-pigeonhole-0.5.11/ChangeLog	2020-08-13 09:11:59.000000000 +0200
+++ /home/levenson/Downloads/dovecot-2.3.11-pigeonhole-0.5.11/ChangeLog	2020-08-12 14:21:42.000000000 +0200
@@ -1,11 +1,3 @@
-2020-08-13 07:45:38 +0300 Aki Tuomi <aki.tuomi@HIDDEN> (d71e0372)
-
-    configure: Fix version number
-
-    Broken by ebadd718b918a552fce65ccae6ebaff9d482eb16
-
-M	configure.ac
-
 2020-06-30 11:53:28 +0300 Aki Tuomi <aki.tuomi@HIDDEN> (6c69c917)

     NEWS: Add news for 0.5.11

--=-=-=--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 24 Aug 2020 10:01:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 24 06:01:50 2020
Received: from localhost ([127.0.0.1]:56132 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kA9IU-0006EU-Ja
	for submit <at> debbugs.gnu.org; Mon, 24 Aug 2020 06:01:50 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:24514)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1kA9IR-0006EJ-G1
 for 42899 <at> debbugs.gnu.org; Mon, 24 Aug 2020 06:01:48 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 30E029CC5E;
 Mon, 24 Aug 2020 09:30:58 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: Efraim Flashner <efraim@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 02/10] gnu: dovecot: Patch and provide a
 static path for module directory.
References: <20200818120037.30722-1-levenson@HIDDEN>
 <20200818120037.30722-2-levenson@HIDDEN>
 <20200819074132.GE10528@E5400> <87lfib2cnf.fsf@HIDDEN>
 <20200823204535.GA1392@E5400>
Date: Mon, 24 Aug 2020 12:01:37 +0200
In-Reply-To: <20200823204535.GA1392@E5400> (Efraim Flashner's message of "Sun, 
 23 Aug 2020 23:45:35 +0300")
Message-ID: <87blj07472.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Efraim Flashner <efraim@HIDDEN> writes:

> On Wed, Aug 19, 2020 at 11:44:20AM +0200, Alexey Abramov wrote:
>> Hi,
>> 
>> Efraim Flashner <efraim@HIDDEN> writes:
>> 
>> > How are all the XXX_MODULE_DIR variables set? Would it be possible to
>> > just set MODULE_DIR to /etc/dovecot/modules and leave the others as-is?
>> > They seem to just use a file/folder under MODULE_DIR.
>> 
>> They set during compilation time. If I pass it as a configuration option, dovecot will try to install libraries there which won't work.
>
> This was enough to jog my memory that we have a couple of packages (with
> services) that have configure flags for one directory and install to
> %outputs as expected. I came up with the attached patch to make that
> happen.

Thank you very much! I have just tested it, and as you might probably know everything works as expected. I will push your updated patch as soon as guys review the services part. 

-- 
Alexey




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 23 Aug 2020 21:23:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 23 17:23:47 2020
Received: from localhost ([127.0.0.1]:55229 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k9xSt-0001j6-8v
	for submit <at> debbugs.gnu.org; Sun, 23 Aug 2020 17:23:47 -0400
Received: from flashner.co.il ([178.62.234.194]:34452)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1k9xSr-0001is-73
 for 42899 <at> debbugs.gnu.org; Sun, 23 Aug 2020 17:23:45 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id CAB9840088;
 Sun, 23 Aug 2020 21:23:38 +0000 (UTC)
Date: Mon, 24 Aug 2020 00:23:04 +0300
From: Efraim Flashner <efraim@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH 00/10] Dovecot improvements. Add support for
 pigeonhole.
Message-ID: <20200823212304.GD1392@E5400>
References: <20200817092748.30057-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="5xSkJheCpeK0RUEJ"
Content-Disposition: inline
In-Reply-To: <20200817092748.30057-1-levenson@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--5xSkJheCpeK0RUEJ
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

There's some changes to dovecot and the dovecot service here. I don't
use the dovecot service so I don't really feel comfortable reviewing it
in depth.

I believe some of the others who use the dovecot service will be coming
by to test out those bits.


--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--5xSkJheCpeK0RUEJ
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl9C3jgACgkQQarn3Mo9
g1GZEw/+N0ck1HIQtICTDl4n1JLKMkoMUdl9x1CvjEvC3HpVIokDE+b5T7YyFyCf
7Qyu1REpMHW0HKBOktpYouAb01mNoIwIlHWw8DzKa6dOJqZYwnK29cAFn77mgn0t
FCGr71Pb7hFM1ZPfiBZb1M6kIhkg2wXWEk1qb74+tCBJnzsoOcLzoBlTOksjD5eF
q7auaaS6OzLhJ+KWbKaLbV0QPO2kb25rpA3N90l6IX9swetIAniNM5/boVolidIy
QV8r4PD0WMNeKSzDgvlkjmTrWEb9wIl8Gn29C25dj1NBajMVjOTp8CX7kt3dT9CV
JA5CzbAtYlwc85WzimczJjSbs/+bTWi7s4vEK8TvWA44LQHAvferB8T6L7Jqxxz1
5d+XpdyCF6OxX1wASyoU7SAaJA1ERizH+h8EFvxi12AYhr4FE4CgBEWbCrz0QQ3r
Nt0pc2fyT3UZDfvkcqPSluE8nIVsdfd/cgoHOFOS0/ejOA2pPsPxDcR/Wf71wW3G
8YXj+J2KNyJYi1nqajcV6Hx6oG2Z2tG9BDn27JJCJsBM70yMA+SaLifqe+W4xa+4
eLg2xN0fIT5vDx4fBD2SEmJ1iqmlin24HUuE0o2k7KPX3C3WP3nzRHAqjYTzQFP+
y+OH4zFc2uKJRK6ru76YWsZIu0buUfAwX3ixNzqQzkYJCTbNhEw=
=g0KK
-----END PGP SIGNATURE-----

--5xSkJheCpeK0RUEJ--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 23 Aug 2020 21:19:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 23 17:19:21 2020
Received: from localhost ([127.0.0.1]:55225 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k9xOa-0001cI-Kb
	for submit <at> debbugs.gnu.org; Sun, 23 Aug 2020 17:19:20 -0400
Received: from flashner.co.il ([178.62.234.194]:34432)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1k9xOZ-0001c6-KO
 for 42899 <at> debbugs.gnu.org; Sun, 23 Aug 2020 17:19:19 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id 53FC940088;
 Sun, 23 Aug 2020 21:19:13 +0000 (UTC)
Date: Mon, 24 Aug 2020 00:18:40 +0300
From: Efraim Flashner <efraim@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 01/10] gnu: dovecot: Add lucene library to
 support fts indexing.
Message-ID: <20200823211840.GC1392@E5400>
References: <20200817092748.30057-1-levenson@HIDDEN>
 <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="Km1U/tdNT/EmXiR1"
Content-Disposition: inline
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--Km1U/tdNT/EmXiR1
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

I've sorted the added libraries alphabetically and pushed this patch.

On Tue, Aug 18, 2020 at 02:00:29PM +0200, Alexey Abramov wrote:
> * gnu/packages/mail.scm (dovecot)[inputs]: Add ice4c and clucene librarie=
s.
> * gnu/packages/mail.scm (dovecot)[arguments]: Add --with-lucene configura=
tion switch.
>=20
> Signed-off-by: Alexey Abramov <levenson@HIDDEN>
> ---
>  gnu/packages/mail.scm | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>=20
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 6792b9b4a9..98e75fa90f 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -87,6 +87,7 @@
>    #:use-module (gnu packages guile-xyz)
>    #:use-module (gnu packages flex)
>    #:use-module (gnu packages haskell-xyz)
> +  #:use-module (gnu packages icu4c)
>    #:use-module (gnu packages kerberos)
>    #:use-module (gnu packages libcanberra)
>    #:use-module (gnu packages libevent)
> @@ -113,6 +114,7 @@
>    #:use-module (gnu packages python-web)
>    #:use-module (gnu packages python-xyz)
>    #:use-module (gnu packages readline)
> +  #:use-module (gnu packages rdf)
>    #:use-module (gnu packages ruby)
>    #:use-module (gnu packages search)
>    #:use-module (gnu packages serialization)
> @@ -1425,11 +1427,14 @@ facilities for checking incoming mail.")
>         ("lz4" ,lz4)
>         ("openssl" ,openssl)
>         ("sqlite" ,sqlite)
> -       ("zlib" ,zlib)))
> +       ("zlib" ,zlib)
> +       ("icu4c" ,icu4c)
> +       ("clucene" ,clucene)))
>      (arguments
>       `(#:configure-flags '("--sysconfdir=3D/etc"
>                             "--localstatedir=3D/var"
> -                           "--with-sqlite") ; not auto-detected
> +                           "--with-sqlite" ; not auto-detected
> +                           "--with-lucene")
>         #:phases
>         (modify-phases %standard-phases
>           (add-after 'unpack 'patch-file-names
> --=20
> 2.27.0
>=20
>=20
>=20
>=20

--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--Km1U/tdNT/EmXiR1
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl9C3TAACgkQQarn3Mo9
g1Ft2Q/+OicqChKqL7wfFIDQVRlqXa4lBOwTB9yrupIa7n3OKkj9eEeKCizsbyP2
3/EXvPclB4vP1ktnTCkk4hoBqxfOKbLI/pFyffsW+JxCegDrIW6VvMk/4XBQUncl
v16tGYeyJzoMnkaHBpbPSwhqMT0tc+poLj216b426PhkYPntON2YhCvBUyt/xaYP
8UXiNa4PYl/J+Cvu8ur9OrCfJGTUn4lT3JI+a1YSScQGIHD0l5LFfFlwElJo7XBO
YpARyq6I7Qvxi0b8OLQ2AAUAgqPPuV++anoAs4+XG5MPEza7kjYCl0FB/V2jGamg
mLDhdSUOj9GC37h3579huG1taBJGMxSHkR198khDXXogDpCe1igG/BiN7juXhrOi
hjtU6We/bMcyTU79X3mOOilePIQSHU8MCK7aeymg0HnVWhg+ape4qlHW+I/F/gsK
CNukZx6S9Wq8Y7l1FyH31Zsj4II/20vYBwBjfPQSlsfQJ+er4LLk38zT0BgHByIW
7vymxXYwUS/NIfrdEqSiAw1Rc14QOmnZ/0txeOFI3N4BRNRQzBJ1TCNGgTCJroIS
VZXIF/1vXtccZSClUpcbVxG2hgVvW0KQZnj0Q7LwmeGWRZf7blRNs3SnKu9O1ZdT
s7fxtx2BkDENBGxj2JzgeOoCCuTW4dwhRqsUDiVZJ5jD6I6QKcs=
=Xx5q
-----END PGP SIGNATURE-----

--Km1U/tdNT/EmXiR1--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 23 Aug 2020 21:17:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 23 17:17:48 2020
Received: from localhost ([127.0.0.1]:55213 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k9xMr-0001Yx-3X
	for submit <at> debbugs.gnu.org; Sun, 23 Aug 2020 17:17:48 -0400
Received: from flashner.co.il ([178.62.234.194]:34422)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1k9xMo-0001Yk-Tu
 for 42899 <at> debbugs.gnu.org; Sun, 23 Aug 2020 17:17:32 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id 88F0340088;
 Sun, 23 Aug 2020 21:17:24 +0000 (UTC)
Date: Mon, 24 Aug 2020 00:16:51 +0300
From: Efraim Flashner <efraim@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 04/10] gnu: dovecot-pigeonhole: Add new
 variable.
Message-ID: <20200823211651.GB1392@E5400>
References: <20200818120037.30722-1-levenson@HIDDEN>
 <20200818120037.30722-4-levenson@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="qjNfmADvan18RZcF"
Content-Disposition: inline
In-Reply-To: <20200818120037.30722-4-levenson@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--qjNfmADvan18RZcF
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Make sure you run 'guix lint' on the package, some of the lines are too
long.

On Tue, Aug 18, 2020 at 02:00:32PM +0200, Alexey Abramov wrote:
> Signed-off-by: Alexey Abramov <levenson@HIDDEN>
> ---
>  gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>=20
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 8e7d5b2fc1..25e9570958 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -1467,6 +1467,62 @@ It supports mbox/Maildir and its own dbox/mdbox fo=
rmats.")
>      (license (list license:lgpl2.1 license:expat
>                     (license:non-copyleft "file://COPYING")))))
> =20
> +(define-public dovecot-pigeonhole
> +  (let ((dovecot-version (version-major+minor (package-version dovecot))=
))
> +    (package
> +      (name "dovecot-pigeonhole")
> +      (version "0.5.11")
> +      (source
> +       (origin
> +         (method url-fetch)
> +         (uri (string-append "https://pigeonhole.dovecot.org/releases/"
> +                             dovecot-version "/"
> +                             "dovecot-" dovecot-version "-pigeonhole-" v=
ersion ".tar.gz"))

Is there a difference between dovecot-2.3-pigeonhole-0.5.11.tar.gz and
dovecot-2.3.11-pigeonhole-0.5.11.tar.gz?

> +         (sha256
> +          (base32
> +           "1w5mryv6izh1gv7davnl94rb0pvh5bxl2bydzbfla1b83x22m5qb"))))
> +      (build-system gnu-build-system)
> +      (native-inputs
> +       `(("automake" ,automake)
> +         ("autoconf" ,autoconf)
> +         ("libtool" ,libtool)
> +         ("pkg-config" ,pkg-config)
> +         ("gettext" ,gettext-minimal)
> +         ("dovecot" ,dovecot)))

it doesn't looke like automake, autoconf, libtool or gettext are
necessary here. Also, 'guix gc --references' show a reference to
dovecot, so that should go in inputs.

> +      (arguments
> +       `(#:configure-flags
> +         (list "--with-dovecot-install-dirs=3Dno"
> +               (string-append "--with-dovecot=3D"
> +                              (assoc-ref %build-inputs "dovecot")
> +                              "/lib/dovecot")
> +               (string-append "--with-moduledir=3D"
> +                              (assoc-ref %outputs "out")
> +                              "/lib/dovecot"))
> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'patch-file-names
> +             (lambda _

If you change the lambda to (lambda* (#:key outputs #:allow-other-keys)
then you can change the let to (let ((out (assoc-ref outputs "out")))
and it fits better with the code formatting in the rest of Guix.

> +               (let ((out (assoc-ref %outputs "out")))
> +                 (substitute* "src/managesieve/managesieve-settings.c"
> +                   ((".executable =3D \"managesieve\"")
> +                    (string-append ".executable =3D \"" out "/libexec/do=
vecot/managesieve\"")))
> +                 (substitute* "src/managesieve-login/managesieve-login-s=
ettings.c"
> +                   ((".executable =3D \"managesieve-login\"")
> +                    (string-append ".executable =3D \"" out "/libexec/do=
vecot/managesieve-login\""))))

Some of these lines are too long. We try to wrap them at 80, and the
linter complains once it hits 90. If you start a new line after 'out'
then it should flow nicely.

> +               #t)))))
> +      (home-page "https://pigeonhole.dovecot.org")
> +      (synopsis "Pigeonhole project provides mail filtering facilities u=
sing
> +the Sieve language")

I would shorten this to 'Mail filtering in Dovecot using the Sieve
language'

> +      (description
> +       "@code{dovecot-pigonhole} adds support for the Sieve
> +language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the
> +@code{Dovecot} Secure IMAP Server.")
> +      ;; Pigeonhole is open source and distributed under the same
> +      ;; license as Dovecot: LGPL v2.1
> +      (license (list license:lgpl2.1
> +                     (license:non-copyleft "file://COPYING")
> +                     (license:non-copyleft "file://COPYING.LGPL"))))))

It looked to me like it was just lgpl2.1

> +
>  (define-public dovecot-trees
>    (package
>      (name "dovecot-trees")
> --=20
> 2.27.0
>=20
>=20
>=20
>=20

--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--qjNfmADvan18RZcF
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl9C3MAACgkQQarn3Mo9
g1HTIQ/5AR6dCQOjGxe8vDPlpz76qSCVMCg+YEkIZEu1o722H3ofAzkcjmK6zT9E
+N24592XJCmqXE0Y8NKpMeap8TZtxTOOHOTQQ8bDAfsgM7BdblQNAFIHBFZFX+LM
KNGbBfyZTMFs968ZBCYxr4KJd3w9vlATj2/asG5UBbgIqHBEbY4GY636/9D5P8/h
Mj3MMLZiTDEdqNBSWgQH8cT7BOvfpOjamkHfaq7ZbpMEN4f0PQcemmnJVN7do4Fl
GHnjjTrnvnh+SubNCD4vMkytKjpIv2hQeT58QcKtPMyg8UpWnzFbFUg5tRoIX0yC
K5d6xy33NZ6u6q+DKN6CrRE2NjCqksbDRTWfVn8z4dawg30QnbX/vafQzG0rlawi
wOJS5LX7maaIGNqQEI808Luv2MuJyUuLdJq296HBXdJYKa/qbLeqmu+lNkh9+A1V
rjFo6J7cgM0o7yi64k6Nl2UY0pNk6i7i2rme+3p8yeqF/tSx/zZDolbTn3Bwst8Y
oQ7I71MDR69FH5ZrFEfj98yODfM2D4P5v+WAQ27qj9gARxhs4o4mPxdAmswJ1AIp
l1k4xS6Zpv+qwtczIhb2v68gdf3ygdj9KY3jBLZVyEvchCgry1od3ss4q1icu6hB
tP7gup+KlWVEmzR0Q1Iy0z5Ng7v4YtRvBi+ft3uK9MOmuqdHS5w=
=7ZJ5
-----END PGP SIGNATURE-----

--qjNfmADvan18RZcF--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 23 Aug 2020 20:46:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Aug 23 16:46:15 2020
Received: from localhost ([127.0.0.1]:55191 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k9wsZ-0000p4-K1
	for submit <at> debbugs.gnu.org; Sun, 23 Aug 2020 16:46:15 -0400
Received: from flashner.co.il ([178.62.234.194]:34356)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1k9wsY-0000oq-9g
 for 42899 <at> debbugs.gnu.org; Sun, 23 Aug 2020 16:46:15 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id AFBE740131;
 Sun, 23 Aug 2020 20:46:07 +0000 (UTC)
Date: Sun, 23 Aug 2020 23:45:35 +0300
From: Efraim Flashner <efraim@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 02/10] gnu: dovecot: Patch and provide a
 static path for module directory.
Message-ID: <20200823204535.GA1392@E5400>
References: <20200818120037.30722-1-levenson@HIDDEN>
 <20200818120037.30722-2-levenson@HIDDEN>
 <20200819074132.GE10528@E5400> <87lfib2cnf.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="yEPQxsgoJgBvi8ip"
Content-Disposition: inline
In-Reply-To: <87lfib2cnf.fsf@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--yEPQxsgoJgBvi8ip
Content-Type: multipart/mixed; boundary="dDRMvlgZJXvWKvBx"
Content-Disposition: inline


--dDRMvlgZJXvWKvBx
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 19, 2020 at 11:44:20AM +0200, Alexey Abramov wrote:
> Hi,
>=20
> Efraim Flashner <efraim@HIDDEN> writes:
>=20
> > How are all the XXX_MODULE_DIR variables set? Would it be possible to
> > just set MODULE_DIR to /etc/dovecot/modules and leave the others as-is?
> > They seem to just use a file/folder under MODULE_DIR.
>=20
> They set during compilation time. If I pass it as a configuration option,=
 dovecot will try to install libraries there which won't work.

This was enough to jog my memory that we have a couple of packages (with
services) that have configure flags for one directory and install to
%outputs as expected. I came up with the attached patch to make that
happen.

>=20
> For example:
>=20
> --8<---------------cut here---------------start------------->8---
> -*- mode: rg; default-directory: "~/factory/dovecot/" -*-
> rg started at Wed Aug 19 10:35:00
>=20
> /gnu/store/cxy9n8aic4c9zd0r372m6b6yzw3dhcyl-ripgrep-12.1.1/bin/rg --color=
 always --colors match:fg:red -n --type-add gn\:\*.gn --type-add gn\:\*.gni=
 --type-add gyp\:\*.gyp --type-add gyp\:\*.gypi --no-heading --type all -e =
AUTH_MODULE_DIR
>=20
> src/auth/Makefile.am:42:	-DAUTH_MODULE_DIR=3D\""$(auth_moduledir)"\" \
> src/auth/main.c:195:	modules =3D module_dir_load(AUTH_MODULE_DIR, NULL, &=
mod_set);
> src/auth/main.c:226:	modules =3D module_dir_load_missing(modules, AUTH_MO=
DULE_DIR, names,
> src/doveadm/doveadm-pw.c:40:	modules =3D module_dir_load_missing(modules,=
 AUTH_MODULE_DIR, NULL, &mod_set);
> src/doveadm/Makefile.am:28:	-DAUTH_MODULE_DIR=3D\""$(moduledir)/auth"\" \
>=20
> rg finished (5 matches found) at Wed Aug 19 10:35:00
> --8<---------------cut here---------------end--------------->8---
>=20
> --8<---------------cut here---------------start------------->8---
> -*- mode: rg; default-directory: "~/factory/dovecot/" -*-
> rg started at Wed Aug 19 11:33:25
>=20
> /gnu/store/cxy9n8aic4c9zd0r372m6b6yzw3dhcyl-ripgrep-12.1.1/bin/rg --color=
 always --colors match:fg:red -n --type-add gn\:\*.gn --type-add gn\:\*.gni=
 --type-add gyp\:\*.gyp --type-add gyp\:\*.gypi --no-heading --type all -e =
DOVEADM_MODULEDIR
>=20
> src/doveadm/doveadm-util.c:36:	modules =3D module_dir_load_missing(module=
s, DOVEADM_MODULEDIR,
> src/doveadm/doveadm-util.c:61:	dir =3D opendir(DOVEADM_MODULEDIR);
> src/doveadm/Makefile.am:29:	-DDOVEADM_MODULEDIR=3D\""$(doveadm_moduledir)=
"\" \
>=20
> rg finished (3 matches found) at Wed Aug 19 11:33:25
> --8<---------------cut here---------------end--------------->8---
>=20
> --
> Alexey

--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--dDRMvlgZJXvWKvBx
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment;
	filename="0001-gnu-dovecot-Set-moduledir-to-global-directory.patch"
Content-Transfer-Encoding: quoted-printable

=46rom e4dd3230739bca94896343d64c6756d346016296 Mon Sep 17 00:00:00 2001
=46rom: Efraim Flashner <efraim@HIDDEN>
Date: Sun, 23 Aug 2020 23:43:43 +0300
Subject: [PATCH] gnu: dovecot: Set moduledir to global directory.

* gnu/packages/mail.scm (dovecot)[arguments]: Add configure-flag to set
moduledir. Adjust custom 'install phase to override moduledir so it
successfully installs.
---
 gnu/packages/mail.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 01ba9dc057..d3d1bda1b6 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1442,7 +1442,8 @@ facilities for checking incoming mail.")
      `(#:configure-flags '("--sysconfdir=3D/etc"
                            "--localstatedir=3D/var"
                            "--with-sqlite"  ; not auto-detected
-                           "--with-lucene")
+                           "--with-lucene"
+                           "--with-moduledir=3D/etc/dovecot/modules")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
@@ -1459,9 +1460,13 @@ facilities for checking incoming mail.")
                (("cat") (which "cat")))
              #t))
          (replace 'install
-           (lambda* (#:key make-flags #:allow-other-keys)
+           (lambda* (#:key outputs make-flags #:allow-other-keys)
+             ;; The .la files don't like having the moduledir moved.
+             (for-each delete-file (find-files "." "\\.la"))
              ;; Simple hack to avoid installing a trivial README in /etc.
              (apply invoke "make" "install" "sysconfdir=3D/tmp/bogus"
+                    (string-append "moduledir=3D" (assoc-ref outputs "out")
+                                   "/lib/dovecot")
                     make-flags))))))
     (home-page "https://www.dovecot.org")
     (synopsis "Secure POP3/IMAP server")
--=20
2.28.0


--dDRMvlgZJXvWKvBx--

--yEPQxsgoJgBvi8ip
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl9C1W8ACgkQQarn3Mo9
g1FHQhAAi0yLjzfMF/yvwGKeYGVpQ8v794xuNW+L1V1GO7TMMBzUFLz+XsJbj81u
h6Yrpw6N24+YtEKtZkCFRwGiD0EjlWhRpZUrIFGznRJs+TphDEix/Zkf8v1slg71
YQmnRsKX3Y0Th3lXcYPqkLy6agVwTS1iucqdwd3orNObzbYeoE433P5K1P7PmsvO
hSHBcIJ7TX1zfxEg2FcV3Z6GRHxlT2OYjndBaaenmS01DkHXEOH3UrRQVMnJircu
EsxbgvF75IIf0DcvNpneNrC53uMcvddxB7Syavk+L64TbXgTPAr+gbW+e1QAajxu
89tXbAM9miH7YFdnJWBzubn8WeKWRqK79UWzebO3kQFjV1mmmYCyknoBLbfsmIn3
vxHkqUY3q6x9x3fRiOvxDA/Nf+9kI9s/YEyZ5GFyMRuxFuGwjZxxmTttU/pqkcJc
2HPpG5aU71OR5lM5qwdMvek+HfbR8qfHtQkkQDTTqDvvw7P4c92EmnPq3713dFze
I4n0RRBuZMT9R3ESW1MMbTbWNV55tL+8wRlJnZaFCsYaiC8vlxJnK03qDtIJp+vv
1XRGC9XHBL44kBjOKoaF1KRID+va0Ac+Zmssh9QQHqsuX+6xMLWK9bnqPlA2TANz
7O1ZkJUaAJIT7k8F8JeK0C1Ri1dcPmRpPbegYpnd/vq5LRTNUpw=
=dFDq
-----END PGP SIGNATURE-----

--yEPQxsgoJgBvi8ip--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 19 Aug 2020 09:44:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 19 05:44:30 2020
Received: from localhost ([127.0.0.1]:37893 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k8Kdy-0004yK-52
	for submit <at> debbugs.gnu.org; Wed, 19 Aug 2020 05:44:30 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:21164)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k8Kdu-0004y9-8U
 for 42899 <at> debbugs.gnu.org; Wed, 19 Aug 2020 05:44:28 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2B5B69CC53;
 Wed, 19 Aug 2020 09:13:38 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: Efraim Flashner <efraim@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 02/10] gnu: dovecot: Patch and provide a
 static path for module directory.
In-Reply-To: <20200819074132.GE10528@E5400> (Efraim Flashner's message of
 "Wed, 19 Aug 2020 10:41:32 +0300")
References: <20200818120037.30722-1-levenson@HIDDEN>
 <20200818120037.30722-2-levenson@HIDDEN>
 <20200819074132.GE10528@E5400>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Date: Wed, 19 Aug 2020 11:44:20 +0200
Message-ID: <87lfib2cnf.fsf@HIDDEN>
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

Efraim Flashner <efraim@HIDDEN> writes:

> How are all the XXX_MODULE_DIR variables set? Would it be possible to
> just set MODULE_DIR to /etc/dovecot/modules and leave the others as-is?
> They seem to just use a file/folder under MODULE_DIR.

They set during compilation time. If I pass it as a configuration option, dovecot will try to install libraries there which won't work.

For example:

--8<---------------cut here---------------start------------->8---
-*- mode: rg; default-directory: "~/factory/dovecot/" -*-
rg started at Wed Aug 19 10:35:00

/gnu/store/cxy9n8aic4c9zd0r372m6b6yzw3dhcyl-ripgrep-12.1.1/bin/rg --color always --colors match:fg:red -n --type-add gn\:\*.gn --type-add gn\:\*.gni --type-add gyp\:\*.gyp --type-add gyp\:\*.gypi --no-heading --type all -e AUTH_MODULE_DIR

src/auth/Makefile.am:42:	-DAUTH_MODULE_DIR=\""$(auth_moduledir)"\" \
src/auth/main.c:195:	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
src/auth/main.c:226:	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
src/doveadm/doveadm-pw.c:40:	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, NULL, &mod_set);
src/doveadm/Makefile.am:28:	-DAUTH_MODULE_DIR=\""$(moduledir)/auth"\" \

rg finished (5 matches found) at Wed Aug 19 10:35:00
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
-*- mode: rg; default-directory: "~/factory/dovecot/" -*-
rg started at Wed Aug 19 11:33:25

/gnu/store/cxy9n8aic4c9zd0r372m6b6yzw3dhcyl-ripgrep-12.1.1/bin/rg --color always --colors match:fg:red -n --type-add gn\:\*.gn --type-add gn\:\*.gni --type-add gyp\:\*.gyp --type-add gyp\:\*.gypi --no-heading --type all -e DOVEADM_MODULEDIR

src/doveadm/doveadm-util.c:36:	modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR,
src/doveadm/doveadm-util.c:61:	dir = opendir(DOVEADM_MODULEDIR);
src/doveadm/Makefile.am:29:	-DDOVEADM_MODULEDIR=\""$(doveadm_moduledir)"\" \

rg finished (3 matches found) at Wed Aug 19 11:33:25
--8<---------------cut here---------------end--------------->8---

--
Alexey




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 19 Aug 2020 07:42:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 19 03:42:20 2020
Received: from localhost ([127.0.0.1]:37693 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k8Ijg-0008Dh-Hx
	for submit <at> debbugs.gnu.org; Wed, 19 Aug 2020 03:42:20 -0400
Received: from flashner.co.il ([178.62.234.194]:44762)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1k8Ijb-0008DO-PO
 for 42899 <at> debbugs.gnu.org; Wed, 19 Aug 2020 03:42:15 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id 52C8240148;
 Wed, 19 Aug 2020 07:42:05 +0000 (UTC)
Date: Wed, 19 Aug 2020 10:41:32 +0300
From: Efraim Flashner <efraim@HIDDEN>
To: Alexey Abramov <levenson@HIDDEN>
Subject: Re: [bug#42899] [PATCH v2 02/10] gnu: dovecot: Patch and provide a
 static path for module directory.
Message-ID: <20200819074132.GE10528@E5400>
References: <20200818120037.30722-1-levenson@HIDDEN>
 <20200818120037.30722-2-levenson@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="IU5/I01NYhRvwH70"
Content-Disposition: inline
In-Reply-To: <20200818120037.30722-2-levenson@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 42899
Cc: 42899 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--IU5/I01NYhRvwH70
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

How are all the XXX_MODULE_DIR variables set? Would it be possible to
just set MODULE_DIR to /etc/dovecot/modules and leave the others as-is?
They seem to just use a file/folder under MODULE_DIR.

On Tue, Aug 18, 2020 at 02:00:30PM +0200, Alexey Abramov wrote:
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch: New f=
ile.
> * gnu/packages/mail.scm (dovecot)[source]: Use it.
>=20
> Signed-off-by: Alexey Abramov <levenson@HIDDEN>
> ---
>  gnu/local.mk                                  |   1 +
>  gnu/packages/mail.scm                         |   3 +-
>  ...ovecot-use-static-path-for-moduledir.patch | 146 ++++++++++++++++++
>  3 files changed, 149 insertions(+), 1 deletion(-)
>  create mode 100644 gnu/packages/patches/dovecot-use-static-path-for-modu=
ledir.patch
>=20
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 87bd7094bf..2817deb01f 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -900,6 +900,7 @@ dist_patch_DATA =3D						\
>    %D%/packages/patches/doc++-include-directives.patch		\
>    %D%/packages/patches/doc++-segfault-fix.patch			\
>    %D%/packages/patches/docker-fix-tests.patch			\
> +  %D%/packages/patches/dovecot-use-static-path-for-moduledir.patch	\
>    %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
>    %D%/packages/patches/doxygen-test.patch			\
>    %D%/packages/patches/doxygen-1.8.17-runtests.patch		\
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 98e75fa90f..8e7d5b2fc1 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -1411,7 +1411,8 @@ facilities for checking incoming mail.")
>                             (version-major+minor version) "/"
>                             "dovecot-" version ".tar.gz"))
>         (sha256
> -        (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk"))=
))
> +        (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk"))
> +       (patches (search-patches "dovecot-use-static-path-for-moduledir.p=
atch"))))
>      (build-system gnu-build-system)
>      (native-inputs
>       `(("pkg-config" ,pkg-config)))
> diff --git a/gnu/packages/patches/dovecot-use-static-path-for-moduledir.p=
atch b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch
> new file mode 100644
> index 0000000000..da9f4034f4
> --- /dev/null
> +++ b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch
> @@ -0,0 +1,146 @@
> +Subject: [PATCH] Use static path for moduledir.
> +
> +Patch was taken from NixOS repo. Make dovecot look for plugins in
> +/etc/dovecot/modules so we can symlink plugins from several packages
> +there.
> +
> +The rational behind the patch can be found here:
> +https://dovecot.org/pipermail/dovecot/2013-April/089931.html
> +
> +---
> + src/auth/main.c                         | 4 ++--
> + src/config/config-parser.c              | 2 +-
> + src/config/config-parser.h              | 2 +-
> + src/dict/main.c                         | 2 +-
> + src/doveadm/doveadm-util.c              | 4 ++--
> + src/lib-fs/fs-api.c                     | 2 +-
> + src/lib-ssl-iostream/iostream-ssl.c     | 4 ++--
> + src/lib-storage/mail-storage-settings.c | 2 +-
> + 9 files changed, 12 insertions(+), 12 deletions(-)
> +
> +diff --git a/src/auth/main.c b/src/auth/main.c
> +index 2dbf9e176..b1e778ab7 100644
> +--- a/src/auth/main.c
> ++++ b/src/auth/main.c
> +@@ -192,7 +192,7 @@ static void main_preinit(void)
> + 	mod_set.debug =3D global_auth_settings->debug;
> + 	mod_set.filter_callback =3D auth_module_filter;
> +
> +-	modules =3D module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
> ++	modules =3D module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_se=
t);
> + 	module_dir_init(modules);
> +
> + 	if (!worker)
> +@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
> + 	mod_set.debug =3D global_auth_settings->debug;
> + 	mod_set.ignore_missing =3D TRUE;
> +
> +-	modules =3D module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
> ++	modules =3D module_dir_load_missing(modules, "/etc/dovecot/modules/aut=
h", names,
> + 					  &mod_set);
> + 	module_dir_init(modules);
> + }
> +diff --git a/src/config/config-parser.c b/src/config/config-parser.c
> +index 6894123ea..07e9fecb4 100644
> +--- a/src/config/config-parser.c
> ++++ b/src/config/config-parser.c
> +@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
> +
> + 	i_zero(&mod_set);
> + 	mod_set.abi_version =3D DOVECOT_ABI_VERSION;
> +-	modules =3D module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
> ++	modules =3D module_dir_load("/etc/dovecot/modules/settings", NULL, &mo=
d_set);
> + 	module_dir_init(modules);
> +
> + 	i_array_init(&new_roots, 64);
> +diff --git a/src/config/config-parser.h b/src/config/config-parser.h
> +index e0a0a5bea..32bd76804 100644
> +--- a/src/config/config-parser.h
> ++++ b/src/config/config-parser.h
> +@@ -1,7 +1,7 @@
> + #ifndef CONFIG_PARSER_H
> + #define CONFIG_PARSER_H
> +
> +-#define CONFIG_MODULE_DIR MODULEDIR"/settings"
> ++#define CONFIG_MODULE_DIR "/etc/dovecot/modules/settings"
> +
> + #define IS_WHITE(c) ((c) =3D=3D ' ' || (c) =3D=3D '\t')
> +
> +diff --git a/src/dict/main.c b/src/dict/main.c
> +index 722ed025f..4ed12ae5e 100644
> +--- a/src/dict/main.c
> ++++ b/src/dict/main.c
> +@@ -104,7 +104,7 @@ static void main_init(void)
> + 	mod_set.abi_version =3D DOVECOT_ABI_VERSION;
> + 	mod_set.require_init_funcs =3D TRUE;
> +
> +-	modules =3D module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
> ++	modules =3D module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_se=
t);
> + 	module_dir_init(modules);
> +
> + 	/* Register only after loading modules. They may contain SQL drivers,
> +diff --git a/src/doveadm/doveadm-util.c b/src/doveadm/doveadm-util.c
> +index a65ef7f72..c19eba06c 100644
> +--- a/src/doveadm/doveadm-util.c
> ++++ b/src/doveadm/doveadm-util.c
> +@@ -33,7 +33,7 @@ void doveadm_load_modules(void)
> + 	mod_set.debug =3D doveadm_debug;
> + 	mod_set.ignore_dlopen_errors =3D TRUE;
> +
> +-	modules =3D module_dir_load_missing(modules, DOVEADM_MODULEDIR,
> ++	modules =3D module_dir_load_missing(modules, "/etc/dovecot/modules/dov=
eadm",
> + 					  NULL, &mod_set);
> + 	module_dir_init(modules);
> + }
> +@@ -58,7 +58,7 @@ bool doveadm_has_unloaded_plugin(const char *name)
> + 			return FALSE;
> + 	}
> +
> +-	dir =3D opendir(DOVEADM_MODULEDIR);
> ++	dir =3D opendir("/etc/dovecot/modules/doveadm");
> + 	if (dir =3D=3D NULL)
> + 		return FALSE;
> +
> +diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
> +index a939f612d..846cf86e6 100644
> +--- a/src/lib-fs/fs-api.c
> ++++ b/src/lib-fs/fs-api.c
> +@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *dri=
ver)
> + 	mod_set.abi_version =3D DOVECOT_ABI_VERSION;
> + 	mod_set.ignore_missing =3D TRUE;
> +
> +-	fs_modules =3D module_dir_load_missing(fs_modules, MODULE_DIR,
> ++	fs_modules =3D module_dir_load_missing(fs_modules, "/etc/dovecot/modul=
es",
> + 					     module_name, &mod_set);
> + 	module_dir_init(fs_modules);
> +
> +diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/=
iostream-ssl.c
> +index f62c80d37..900ab46c4 100644
> +--- a/src/lib-ssl-iostream/iostream-ssl.c
> ++++ b/src/lib-ssl-iostream/iostream-ssl.c
> +@@ -54,8 +54,8 @@ int ssl_module_load(const char **error_r)
> + 	mod_set.abi_version =3D DOVECOT_ABI_VERSION;
> + 	mod_set.setting_name =3D "<built-in lib-ssl-iostream lookup>";
> + 	mod_set.require_init_funcs =3D TRUE;
> +-	ssl_module =3D module_dir_load(MODULE_DIR, plugin_name, &mod_set);
> +-	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
> ++	ssl_module =3D module_dir_load("/etc/dovecot/modules", plugin_name, &m=
od_set);
> ++	if (module_dir_try_load_missing(&ssl_module, "/etc/dovecot/modules", p=
lugin_name,
> + 					&mod_set, error_r) < 0)
> + 		return -1;
> + 	module_dir_init(ssl_module);
> +diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/m=
ail-storage-settings.c
> +index b314b529c..705509456 100644
> +--- a/src/lib-storage/mail-storage-settings.c
> ++++ b/src/lib-storage/mail-storage-settings.c
> +@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_def=
ault_settings =3D {
> + 	.last_valid_gid =3D 0,
> +
> + 	.mail_plugins =3D "",
> +-	.mail_plugin_dir =3D MODULEDIR,
> ++	.mail_plugin_dir =3D "/etc/dovecot/modules",
> +
> + 	.mail_log_prefix =3D "%s(%u)<%{pid}><%{session}>: ",
> +
> +--
> +2.27.0
> --=20
> 2.27.0
>=20
>=20
>=20
>=20

--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--IU5/I01NYhRvwH70
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl8816kACgkQQarn3Mo9
g1G8gg//el7x8zTGlew7YpJsC3oUvk8+O94dlsdyNR9Px1QPjVgEUxPCSwLTwMt2
okQiQiTxtR60pw0RVHQS3YfBVDuDJqCvwfkjZzrt3/AthlG68rh99okEYs5Dh3kJ
SyO7gtNezxm/+nhmhB6f41PlZZF+hT/lR6v5QW745owQyumI7Rj/sp/0Mgy90+81
Wp+65qUoe3Rc/YcPWGOTBeBYTSPaswzK5pXWENiqxGQZ4U2sIHHViwMdVwsH6Jtr
BHNkkm4rQIz+8AqBUiSlHagrEeJrz6n6X9FOg+CnqfIgtrZulxJJyc1+6MoJLgNe
Phc4oa1AlkZyvUFO6zfovsWirI0QnjlHJjkivWZZfIi4yMaEHsoQuSmtajLYt/cD
4xT8F364ix9wEOtmKdYKY0MlGzOMGaos/lyygM/sDUPWbqNLm+ahEhK0fSuAJN5w
0zmOPtgnFUriJvEx69SZhLLhqEe3cgvgGHNggiQgcSxU6Hepzz9fTfx2cNjalpFK
q3+QBLcHjTaDHAOrDL7B7XLwyMM8zJDm7IjF1xJ7K+CxFO8zbYi8S5HOyEmBZu5J
uKI67CDgf6Ail4G6oL87O6i3RIikBStKHAIGt9u98yLBJQgCv8H5twMi0r2wf39y
yQi1LsUWUjVvfyt6zaRurufpi2idWCMaYCjz37ThM5ajsGJg2ig=
=y/Zt
-----END PGP SIGNATURE-----

--IU5/I01NYhRvwH70--




Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:56 2020
Received: from localhost ([127.0.0.1]:34392 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IO-0006GF-QL
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:56 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:58183)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IF-0006EM-RI
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:49 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 74FC99CC71
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 02/10] gnu: dovecot: Patch and provide a static path for
 module directory.
Date: Tue, 18 Aug 2020 14:00:30 +0200
Message-Id: <20200818120037.30722-2-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch: New file.
* gnu/packages/mail.scm (dovecot)[source]: Use it.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/local.mk                                  |   1 +
 gnu/packages/mail.scm                         |   3 +-
 ...ovecot-use-static-path-for-moduledir.patch | 146 ++++++++++++++++++
 3 files changed, 149 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 87bd7094bf..2817deb01f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -900,6 +900,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/doc++-include-directives.patch		\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/docker-fix-tests.patch			\
+  %D%/packages/patches/dovecot-use-static-path-for-moduledir.patch	\
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
   %D%/packages/patches/doxygen-test.patch			\
   %D%/packages/patches/doxygen-1.8.17-runtests.patch		\
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 98e75fa90f..8e7d5b2fc1 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1411,7 +1411,8 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            "dovecot-" version ".tar.gz"))
        (sha256
-        (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk"))))
+        (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk"))
+       (patches (search-patches "dovecot-use-static-path-for-moduledir.patch"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch
new file mode 100644
index 0000000000..da9f4034f4
--- /dev/null
+++ b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch
@@ -0,0 +1,146 @@
+Subject: [PATCH] Use static path for moduledir.
+
+Patch was taken from NixOS repo. Make dovecot look for plugins in
+/etc/dovecot/modules so we can symlink plugins from several packages
+there.
+
+The rational behind the patch can be found here:
+https://dovecot.org/pipermail/dovecot/2013-April/089931.html
+
+---
+ src/auth/main.c                         | 4 ++--
+ src/config/config-parser.c              | 2 +-
+ src/config/config-parser.h              | 2 +-
+ src/dict/main.c                         | 2 +-
+ src/doveadm/doveadm-util.c              | 4 ++--
+ src/lib-fs/fs-api.c                     | 2 +-
+ src/lib-ssl-iostream/iostream-ssl.c     | 4 ++--
+ src/lib-storage/mail-storage-settings.c | 2 +-
+ 9 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/src/auth/main.c b/src/auth/main.c
+index 2dbf9e176..b1e778ab7 100644
+--- a/src/auth/main.c
++++ b/src/auth/main.c
+@@ -192,7 +192,7 @@ static void main_preinit(void)
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.filter_callback = auth_module_filter;
+
+-	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
+ 	module_dir_init(modules);
+
+ 	if (!worker)
+@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.ignore_missing = TRUE;
+
+-	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
+ 					  &mod_set);
+ 	module_dir_init(modules);
+ }
+diff --git a/src/config/config-parser.c b/src/config/config-parser.c
+index 6894123ea..07e9fecb4 100644
+--- a/src/config/config-parser.c
++++ b/src/config/config-parser.c
+@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
+
+ 	i_zero(&mod_set);
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+-	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
+ 	module_dir_init(modules);
+
+ 	i_array_init(&new_roots, 64);
+diff --git a/src/config/config-parser.h b/src/config/config-parser.h
+index e0a0a5bea..32bd76804 100644
+--- a/src/config/config-parser.h
++++ b/src/config/config-parser.h
+@@ -1,7 +1,7 @@
+ #ifndef CONFIG_PARSER_H
+ #define CONFIG_PARSER_H
+
+-#define CONFIG_MODULE_DIR MODULEDIR"/settings"
++#define CONFIG_MODULE_DIR "/etc/dovecot/modules/settings"
+
+ #define IS_WHITE(c) ((c) == ' ' || (c) == '\t')
+
+diff --git a/src/dict/main.c b/src/dict/main.c
+index 722ed025f..4ed12ae5e 100644
+--- a/src/dict/main.c
++++ b/src/dict/main.c
+@@ -104,7 +104,7 @@ static void main_init(void)
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.require_init_funcs = TRUE;
+
+-	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
+ 	module_dir_init(modules);
+
+ 	/* Register only after loading modules. They may contain SQL drivers,
+diff --git a/src/doveadm/doveadm-util.c b/src/doveadm/doveadm-util.c
+index a65ef7f72..c19eba06c 100644
+--- a/src/doveadm/doveadm-util.c
++++ b/src/doveadm/doveadm-util.c
+@@ -33,7 +33,7 @@ void doveadm_load_modules(void)
+ 	mod_set.debug = doveadm_debug;
+ 	mod_set.ignore_dlopen_errors = TRUE;
+
+-	modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/doveadm",
+ 					  NULL, &mod_set);
+ 	module_dir_init(modules);
+ }
+@@ -58,7 +58,7 @@ bool doveadm_has_unloaded_plugin(const char *name)
+ 			return FALSE;
+ 	}
+
+-	dir = opendir(DOVEADM_MODULEDIR);
++	dir = opendir("/etc/dovecot/modules/doveadm");
+ 	if (dir == NULL)
+ 		return FALSE;
+
+diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
+index a939f612d..846cf86e6 100644
+--- a/src/lib-fs/fs-api.c
++++ b/src/lib-fs/fs-api.c
+@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver)
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.ignore_missing = TRUE;
+
+-	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
++	fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
+ 					     module_name, &mod_set);
+ 	module_dir_init(fs_modules);
+
+diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c
+index f62c80d37..900ab46c4 100644
+--- a/src/lib-ssl-iostream/iostream-ssl.c
++++ b/src/lib-ssl-iostream/iostream-ssl.c
+@@ -54,8 +54,8 @@ int ssl_module_load(const char **error_r)
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+ 	mod_set.require_init_funcs = TRUE;
+-	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
+-	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
++	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
++	if (module_dir_try_load_missing(&ssl_module, "/etc/dovecot/modules", plugin_name,
+ 					&mod_set, error_r) < 0)
+ 		return -1;
+ 	module_dir_init(ssl_module);
+diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
+index b314b529c..705509456 100644
+--- a/src/lib-storage/mail-storage-settings.c
++++ b/src/lib-storage/mail-storage-settings.c
+@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = {
+ 	.last_valid_gid = 0,
+
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
+
+--
+2.27.0
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:52 2020
Received: from localhost ([127.0.0.1]:34390 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IO-0006G8-GT
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:52 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36794)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80II-0006Ex-Kv
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:47 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 8368A9D010
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:59 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 09/10] services: dovecot: Add
 'managesieve-notify-capability' option.
Date: Tue, 18 Aug 2020 14:00:37 +0200
Message-Id: <20200818120037.30722-9-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* doc/guix.texi (Mail Services): Document it.
* gnu/services/mail.scm (protocol-configuration): Define it.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 doc/guix.texi         | 9 +++++++++
 gnu/services/mail.scm | 8 +++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 5c3e706390..10d4861c4e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17524,6 +17524,15 @@ Defaults to @samp{#f}.
 
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} space-separated-string-list managesieve-notify-capabilities
+Report notify capabilities by the managesieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default (after login
+this may differ depending on the authenticated user).
+
+Defaults to @samp{()}.
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index ee710303e7..8b57b42dfe 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -354,7 +354,13 @@ address.  NOTE: The username is compared case-sensitively.")
    "Activate the commands of @code{IMAP METADATA} extension
 @uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a
 dictionary needs to be configured, via the @code{mail-attribute-dict}
-setting."))
+setting.")
+  (managesieve-notify-capability
+   (space-separated-string-list '())
+   "Report NOTIFY capabilities by the ManageSieve service upon a client
+connection.  If left unassigned, these will be assigned dynamically
+according to what the Sieve interpreter supports by default."))
+
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:52 2020
Received: from localhost ([127.0.0.1]:34388 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IO-0006Fz-4e
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:52 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36787)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IH-0006Ed-EL
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 52A679CFA7
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:58 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 07/10] services: dovecot: Add 'mail-attribute-dict'
 configuration option.
Date: Tue, 18 Aug 2020 14:00:35 +0200
Message-Id: <20200818120037.30722-7-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): Define 'mail-attribute-dict'
  directive to support IMAP METADATA extension.:
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 doc/guix.texi         | 15 +++++++++++++++
 gnu/services/mail.scm | 11 +++++++++++
 2 files changed, 26 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 9f803fdbac..bbdbdf70e1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18211,6 +18211,21 @@ could allow a user to delete others' mailboxes, or @code{ln -s
 @samp{""}.
 @end deftypevr
 
+@deftypevr {@code{dovecot-configuration} parameter} string mail-attribute-dict
+Activate the metadata storage of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}.  The goal of
+the METADATA extension is to provide a means for clients to set and
+retrieve 'annotations' or 'metadata' on an IMAP server.  The annotations
+can be associated with specific mailboxes or the server as a whole.  The
+server can choose to support only server annotations or both server and
+mailbox annotations.  For example, a general comment being added to a
+mailbox may have an entry name of '/comment' and a value of 'Really
+useful mailbox'
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
 @deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?
 Allow full file system access to clients.  There's no access checks
 other than what the operating system does for the active UID/GID.  It
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 6e166af2be..d8df5c82e4 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1130,6 +1130,17 @@ disabled.")
 @samp{mdbox-rotate-size}.  This setting currently works only in Linux
 with some file systems (ext4, xfs).")
 
+  (mail-attribute-dict
+   (string "")
+   "Activate the metadata storage of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}.  The goal of the
+METADATA extension is to provide a means for clients to set and retrieve
+'annotations' or 'metadata' on an IMAP server.  The annotations can be
+associated with specific mailboxes or the server as a whole.  The server can
+choose to support only server annotations or both server and mailbox
+annotations.  For example, a general comment being added to a mailbox may have
+an entry name of '/comment' and a value of 'Really useful mailbox'")
+
   (mail-attachment-dir
    (string "")
    "sdbox and mdbox support saving mail attachments to external files,
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:52 2020
Received: from localhost ([127.0.0.1]:34386 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IN-0006Fr-Pd
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:52 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36783)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IH-0006EW-Ky
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id E515B9CFCF
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:58 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 08/10] services: dovecot: Add 'imap-metadata?' protocol
 configuration option.
Date: Tue, 18 Aug 2020 14:00:36 +0200
Message-Id: <20200818120037.30722-8-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define the option to be able
  to activate the IMAP METADATA commands over the imap protocol.
* doc/guix.texi (Mail Services): Document it.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 doc/guix.texi         | 11 +++++++++++
 gnu/services/mail.scm |  8 +++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index bbdbdf70e1..5c3e706390 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17513,6 +17513,17 @@ This is used by imap (for shared users) and lda.
 It defaults to @samp{"/var/run/dovecot/auth-userdb"}.
 @end deftypevr
 
+@deftypevr {@code{protocol-configuration} parameter} boolean imap-metadata?
+Activate the commands of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464,RFC@tie{}5464}.
+
+If activated, a dictionary needs to be configured, via the
+@code{mail-attribute-dict} setting.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
 @deftypevr {@code{protocol-configuration} parameter} space-separated-string-list mail-plugins
 Space separated list of plugins to load.
 @end deftypevr
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index d8df5c82e4..ee710303e7 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -348,7 +348,13 @@ This is used by imap (for shared users) and lda.")
   (mail-max-userip-connections
    (non-negative-integer 10)
    "Maximum number of IMAP connections allowed for a user from each IP
-address.  NOTE: The username is compared case-sensitively."))
+address.  NOTE: The username is compared case-sensitively.")
+  (imap-metadata?
+   (boolean #f)
+   "Activate the commands of @code{IMAP METADATA} extension
+@uref{https://tools.ietf.org/html/rfc5464, RFC@tie{}5464}. If activated, a
+dictionary needs to be configured, via the @code{mail-attribute-dict}
+setting."))
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:51 2020
Received: from localhost ([127.0.0.1]:34384 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IN-0006Fj-Fn
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:51 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36775)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IF-0006EO-RJ
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:45 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id EA08B9CEAB
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 04/10] gnu: dovecot-pigeonhole: Add new variable.
Date: Tue, 18 Aug 2020 14:00:32 +0200
Message-Id: <20200818120037.30722-4-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8e7d5b2fc1..25e9570958 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1467,6 +1467,62 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
     (license (list license:lgpl2.1 license:expat
                    (license:non-copyleft "file://COPYING")))))
 
+(define-public dovecot-pigeonhole
+  (let ((dovecot-version (version-major+minor (package-version dovecot))))
+    (package
+      (name "dovecot-pigeonhole")
+      (version "0.5.11")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append "https://pigeonhole.dovecot.org/releases/"
+                             dovecot-version "/"
+                             "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
+         (sha256
+          (base32
+           "1w5mryv6izh1gv7davnl94rb0pvh5bxl2bydzbfla1b83x22m5qb"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("libtool" ,libtool)
+         ("pkg-config" ,pkg-config)
+         ("gettext" ,gettext-minimal)
+         ("dovecot" ,dovecot)))
+      (arguments
+       `(#:configure-flags
+         (list "--with-dovecot-install-dirs=no"
+               (string-append "--with-dovecot="
+                              (assoc-ref %build-inputs "dovecot")
+                              "/lib/dovecot")
+               (string-append "--with-moduledir="
+                              (assoc-ref %outputs "out")
+                              "/lib/dovecot"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-file-names
+             (lambda _
+               (let ((out (assoc-ref %outputs "out")))
+                 (substitute* "src/managesieve/managesieve-settings.c"
+                   ((".executable = \"managesieve\"")
+                    (string-append ".executable = \"" out "/libexec/dovecot/managesieve\"")))
+                 (substitute* "src/managesieve-login/managesieve-login-settings.c"
+                   ((".executable = \"managesieve-login\"")
+                    (string-append ".executable = \"" out "/libexec/dovecot/managesieve-login\""))))
+               #t)))))
+      (home-page "https://pigeonhole.dovecot.org")
+      (synopsis "Pigeonhole project provides mail filtering facilities using
+the Sieve language")
+      (description
+       "@code{dovecot-pigonhole} adds support for the Sieve
+language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the
+@code{Dovecot} Secure IMAP Server.")
+      ;; Pigeonhole is open source and distributed under the same
+      ;; license as Dovecot: LGPL v2.1
+      (license (list license:lgpl2.1
+                     (license:non-copyleft "file://COPYING")
+                     (license:non-copyleft "file://COPYING.LGPL"))))))
+
 (define-public dovecot-trees
   (package
     (name "dovecot-trees")
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:51 2020
Received: from localhost ([127.0.0.1]:34382 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IN-0006Fc-85
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:51 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36783)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IG-0006EW-Ug
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:45 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id CCA4B9CF86
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:57 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 06/10] services: dovecot: Only serialize settings with
 non-empty values.
Date: Tue, 18 Aug 2020 14:00:34 +0200
Message-Id: <20200818120037.30722-6-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (serialize-space-separated-string-list): Protocols
might have custom settings, which are not supported by other protocols. To
prevent dovecot/services from crashing, serialize settings that hold non-empty
values only.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index a3c48bdb99..6e166af2be 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -99,7 +99,9 @@
                   (and (string? x) (not (string-index x #\space))))
                 val)))
 (define (serialize-space-separated-string-list field-name val)
-  (serialize-field field-name (string-join val " ")))
+  (match val
+    (() #f)
+    (_ (serialize-field field-name (string-join val " ")))))
 
 (define (comma-separated-string-list? val)
   (and (list? val)
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:51 2020
Received: from localhost ([127.0.0.1]:34380 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IM-0006Fa-R5
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:51 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36779)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IG-0006EQ-Bm
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:45 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 3A7779CF63
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:57 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 05/10] services: dovecot: Serialize global settings first.
Date: Tue, 18 Aug 2020 14:00:33 +0200
Message-Id: <20200818120037.30722-5-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning
messages, move serialization of protocol settings below the global one.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 118 +++++++++++++++++++++---------------------
 1 file changed, 59 insertions(+), 59 deletions(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 2832303d88..a3c48bdb99 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -479,64 +479,6 @@ interfaces.  If you want to specify non-default ports or anything more
 complex, customize the address and port fields of the
 @samp{inet-listener} of the specific services you are interested in.")
 
-  (protocols
-   (protocol-configuration-list
-    (list (protocol-configuration
-           (name "imap"))))
-   "List of protocols we want to serve.  Available protocols include
-@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
-
-  (services
-   (service-configuration-list
-    (list
-     (service-configuration
-      (kind "imap-login")
-      (client-limit 0)
-      (process-limit 0)
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
-        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
-     (service-configuration
-      (kind "pop3-login")
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
-        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
-     (service-configuration
-      (kind "lmtp")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners
-       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
-     (service-configuration
-      (kind "imap")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "pop3")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "auth")
-      (service-count 0)
-      (client-limit 0)
-      (process-limit 1)
-      (listeners
-       (list (unix-listener-configuration (path "auth-userdb")))))
-     (service-configuration
-      (kind "auth-worker")
-      (client-limit 1)
-      (process-limit 0))
-     (service-configuration
-      (kind "dict")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners (list (unix-listener-configuration (path "dict")))))))
-   "List of services to enable.  Available services include @samp{imap},
-@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
-@samp{lmtp}.")
-
   (dict
    (dict-configuration (dict-configuration))
    "Dict configuration, as created by the @code{dict-configuration}
@@ -1434,7 +1376,65 @@ greyed out, instead of only later giving \"not selectable\" popup error.
 
   (imap-urlauth-host
    (string "")
-   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")  )
+   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")
+
+  (protocols
+   (protocol-configuration-list
+    (list (protocol-configuration
+           (name "imap"))))
+   "List of protocols we want to serve.  Available protocols include
+@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
+
+  (services
+   (service-configuration-list
+    (list
+     (service-configuration
+      (kind "imap-login")
+      (client-limit 0)
+      (process-limit 0)
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
+        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
+     (service-configuration
+      (kind "pop3-login")
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
+        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
+     (service-configuration
+      (kind "lmtp")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners
+       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
+     (service-configuration
+      (kind "imap")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "pop3")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "auth")
+      (service-count 0)
+      (client-limit 0)
+      (process-limit 1)
+      (listeners
+       (list (unix-listener-configuration (path "auth-userdb")))))
+     (service-configuration
+      (kind "auth-worker")
+      (client-limit 1)
+      (process-limit 0))
+     (service-configuration
+      (kind "dict")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners (list (unix-listener-configuration (path "dict")))))))
+   "List of services to enable.  Available services include @samp{imap},
+@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
+@samp{lmtp}."))
 
 (define-configuration opaque-dovecot-configuration
   (dovecot
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:46 2020
Received: from localhost ([127.0.0.1]:34377 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80II-0006Ez-DE
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36771)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IF-0006EN-RI
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:44 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id B03629CE69
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 03/10] services: dovecot: Use modules via symlink to system
 profile.
Date: Tue, 18 Aug 2020 14:00:31 +0200
Message-Id: <20200818120037.30722-3-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200818120037.30722-1-levenson@HIDDEN>
References: <20200818120037.30722-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple
plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them.
* gnu/services/mail.scm (dovecot-configuration): Use the symlink.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 doc/guix.texi         |  9 +++++++--
 gnu/services/mail.scm | 13 ++++++++++---
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index e0c138533f..9f803fdbac 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18333,8 +18333,13 @@ Defaults to @samp{"/var/run/dovecot/auth-userdb"}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} file-name mail-plugin-dir
-Directory where to look up mail plugins.
-Defaults to @samp{"/usr/lib/dovecot"}.
+Directory where to look up mail plugins.  In Guix, dovecot plugins have
+all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be
+able to load all those modules by doveconf or services like sieve,
+@samp{mail-plugin-dir} is a symlink "/run/current-system/profile/lib/dovecot",
+which creates during the activation step.
+
+Defaults to @samp{"/etc/dovecot/modules"}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} space-separated-string-list mail-plugins
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index cfcaf4601b..2832303d88 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1044,8 +1044,12 @@ directories are prefixed with the chroot directory, append \"/.\" to
 This is used by imap (for shared users) and lda.")
 
   (mail-plugin-dir
-   (file-name "/usr/lib/dovecot")
-   "Directory where to look up mail plugins.")
+   (file-name "/etc/dovecot/modules")
+   "Directory where to look up mail plugins.  In Guix, dovecot plugins have
+all its modules under /gnu/store/xxx-plugin/(lib|libexec)/dovecot. To be able
+to load all those modules by doveconf or services like imap,
+@samp{mail-plugin-dir} is a symlink `/run/current-system/profile/lib/dovecot`,
+which creates during the activation step.")
 
   (mail-plugins
    (space-separated-string-list '())
@@ -1519,13 +1523,16 @@ greyed out, instead of only later giving \"not selectable\" popup error.
              (else
               (format (current-error-port)
                       "Failed to create public key at ~a.\n" public-key)))))
-        (let ((user (getpwnam "dovecot")))
+        (let ((user (getpwnam "dovecot"))
+              (moduledir "/etc/dovecot/modules"))
           (mkdir-p/perms "/var/run/dovecot" user #o755)
           (mkdir-p/perms "/var/lib/dovecot" user #o755)
           (mkdir-p/perms "/etc/dovecot" user #o755)
           (copy-file #$(plain-file "dovecot.conf" config-str)
                      "/etc/dovecot/dovecot.conf")
           (mkdir-p/perms "/etc/dovecot/private" user #o700)
+          (unless (file-exists? moduledir)
+            (symlink "/run/current-system/profile/lib/dovecot" moduledir))
           (create-self-signed-certificate-if-absent
            #:private-key "/etc/dovecot/private/default.pem"
            #:public-key "/etc/dovecot/default.pem"
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 18 Aug 2020 12:00:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Aug 18 08:00:46 2020
Received: from localhost ([127.0.0.1]:34374 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k80IH-0006Ev-SO
	for submit <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:46 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:18828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k80IF-0006EL-RJ
 for 42899 <at> debbugs.gnu.org; Tue, 18 Aug 2020 08:00:44 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 2B2C39CC5D
 for <42899 <at> debbugs.gnu.org>; Tue, 18 Aug 2020 11:29:56 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH v2 01/10] gnu: dovecot: Add lucene library to support fts
 indexing.
Date: Tue, 18 Aug 2020 14:00:29 +0200
Message-Id: <20200818120037.30722-1-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/packages/mail.scm (dovecot)[inputs]: Add ice4c and clucene libraries.
* gnu/packages/mail.scm (dovecot)[arguments]: Add --with-lucene configuration switch.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/packages/mail.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 6792b9b4a9..98e75fa90f 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -87,6 +87,7 @@
   #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages icu4c)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libevent)
@@ -113,6 +114,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages rdf)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages search)
   #:use-module (gnu packages serialization)
@@ -1425,11 +1427,14 @@ facilities for checking incoming mail.")
        ("lz4" ,lz4)
        ("openssl" ,openssl)
        ("sqlite" ,sqlite)
-       ("zlib" ,zlib)))
+       ("zlib" ,zlib)
+       ("icu4c" ,icu4c)
+       ("clucene" ,clucene)))
     (arguments
      `(#:configure-flags '("--sysconfdir=/etc"
                            "--localstatedir=/var"
-                           "--with-sqlite") ; not auto-detected
+                           "--with-sqlite" ; not auto-detected
+                           "--with-lucene")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:41 2020
Received: from localhost ([127.0.0.1]:59294 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUR-0003eG-QS
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:41 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:52987)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUJ-0003c8-Gp
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:35 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id C4F9E9CFA7
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:44 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 02/10] gnu: dovecot: Patch and provide a static path for
 module directory.
Date: Mon, 17 Aug 2020 11:31:16 +0200
Message-Id: <20200817093124.30611-2-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch: New file.
* gnu/packages/mail.scm (dovecot)[source]: Use it.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/local.mk                                  |   1 +
 gnu/packages/mail.scm                         |   3 +-
 ...ovecot-use-static-path-for-moduledir.patch | 146 ++++++++++++++++++
 3 files changed, 149 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 87bd7094bf..2817deb01f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -900,6 +900,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/doc++-include-directives.patch		\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/docker-fix-tests.patch			\
+  %D%/packages/patches/dovecot-use-static-path-for-moduledir.patch	\
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
   %D%/packages/patches/doxygen-test.patch			\
   %D%/packages/patches/doxygen-1.8.17-runtests.patch		\
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 98e75fa90f..8e7d5b2fc1 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1411,7 +1411,8 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            "dovecot-" version ".tar.gz"))
        (sha256
-        (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk"))))
+        (base32 "1p5gp8jbavcsaara5mfn5cbrnlxssajnchczbgmmfzr7228fmnfk"))
+       (patches (search-patches "dovecot-use-static-path-for-moduledir.patch"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch
new file mode 100644
index 0000000000..da9f4034f4
--- /dev/null
+++ b/gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch
@@ -0,0 +1,146 @@
+Subject: [PATCH] Use static path for moduledir.
+
+Patch was taken from NixOS repo. Make dovecot look for plugins in
+/etc/dovecot/modules so we can symlink plugins from several packages
+there.
+
+The rational behind the patch can be found here:
+https://dovecot.org/pipermail/dovecot/2013-April/089931.html
+
+---
+ src/auth/main.c                         | 4 ++--
+ src/config/config-parser.c              | 2 +-
+ src/config/config-parser.h              | 2 +-
+ src/dict/main.c                         | 2 +-
+ src/doveadm/doveadm-util.c              | 4 ++--
+ src/lib-fs/fs-api.c                     | 2 +-
+ src/lib-ssl-iostream/iostream-ssl.c     | 4 ++--
+ src/lib-storage/mail-storage-settings.c | 2 +-
+ 9 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/src/auth/main.c b/src/auth/main.c
+index 2dbf9e176..b1e778ab7 100644
+--- a/src/auth/main.c
++++ b/src/auth/main.c
+@@ -192,7 +192,7 @@ static void main_preinit(void)
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.filter_callback = auth_module_filter;
+
+-	modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
+ 	module_dir_init(modules);
+
+ 	if (!worker)
+@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
+ 	mod_set.debug = global_auth_settings->debug;
+ 	mod_set.ignore_missing = TRUE;
+
+-	modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
+ 					  &mod_set);
+ 	module_dir_init(modules);
+ }
+diff --git a/src/config/config-parser.c b/src/config/config-parser.c
+index 6894123ea..07e9fecb4 100644
+--- a/src/config/config-parser.c
++++ b/src/config/config-parser.c
+@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
+
+ 	i_zero(&mod_set);
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+-	modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
+ 	module_dir_init(modules);
+
+ 	i_array_init(&new_roots, 64);
+diff --git a/src/config/config-parser.h b/src/config/config-parser.h
+index e0a0a5bea..32bd76804 100644
+--- a/src/config/config-parser.h
++++ b/src/config/config-parser.h
+@@ -1,7 +1,7 @@
+ #ifndef CONFIG_PARSER_H
+ #define CONFIG_PARSER_H
+
+-#define CONFIG_MODULE_DIR MODULEDIR"/settings"
++#define CONFIG_MODULE_DIR "/etc/dovecot/modules/settings"
+
+ #define IS_WHITE(c) ((c) == ' ' || (c) == '\t')
+
+diff --git a/src/dict/main.c b/src/dict/main.c
+index 722ed025f..4ed12ae5e 100644
+--- a/src/dict/main.c
++++ b/src/dict/main.c
+@@ -104,7 +104,7 @@ static void main_init(void)
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.require_init_funcs = TRUE;
+
+-	modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
++	modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
+ 	module_dir_init(modules);
+
+ 	/* Register only after loading modules. They may contain SQL drivers,
+diff --git a/src/doveadm/doveadm-util.c b/src/doveadm/doveadm-util.c
+index a65ef7f72..c19eba06c 100644
+--- a/src/doveadm/doveadm-util.c
++++ b/src/doveadm/doveadm-util.c
+@@ -33,7 +33,7 @@ void doveadm_load_modules(void)
+ 	mod_set.debug = doveadm_debug;
+ 	mod_set.ignore_dlopen_errors = TRUE;
+
+-	modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR,
++	modules = module_dir_load_missing(modules, "/etc/dovecot/modules/doveadm",
+ 					  NULL, &mod_set);
+ 	module_dir_init(modules);
+ }
+@@ -58,7 +58,7 @@ bool doveadm_has_unloaded_plugin(const char *name)
+ 			return FALSE;
+ 	}
+
+-	dir = opendir(DOVEADM_MODULEDIR);
++	dir = opendir("/etc/dovecot/modules/doveadm");
+ 	if (dir == NULL)
+ 		return FALSE;
+
+diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
+index a939f612d..846cf86e6 100644
+--- a/src/lib-fs/fs-api.c
++++ b/src/lib-fs/fs-api.c
+@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver)
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.ignore_missing = TRUE;
+
+-	fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
++	fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
+ 					     module_name, &mod_set);
+ 	module_dir_init(fs_modules);
+
+diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c
+index f62c80d37..900ab46c4 100644
+--- a/src/lib-ssl-iostream/iostream-ssl.c
++++ b/src/lib-ssl-iostream/iostream-ssl.c
+@@ -54,8 +54,8 @@ int ssl_module_load(const char **error_r)
+ 	mod_set.abi_version = DOVECOT_ABI_VERSION;
+ 	mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
+ 	mod_set.require_init_funcs = TRUE;
+-	ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
+-	if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
++	ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
++	if (module_dir_try_load_missing(&ssl_module, "/etc/dovecot/modules", plugin_name,
+ 					&mod_set, error_r) < 0)
+ 		return -1;
+ 	module_dir_init(ssl_module);
+diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
+index b314b529c..705509456 100644
+--- a/src/lib-storage/mail-storage-settings.c
++++ b/src/lib-storage/mail-storage-settings.c
+@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = {
+ 	.last_valid_gid = 0,
+
+ 	.mail_plugins = "",
+-	.mail_plugin_dir = MODULEDIR,
++	.mail_plugin_dir = "/etc/dovecot/modules",
+
+ 	.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
+
+--
+2.27.0
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:39 2020
Received: from localhost ([127.0.0.1]:59292 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUR-0003e9-Hs
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:39 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44948)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUL-0003cf-9G
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:34 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 8CBA59D084
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:46 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 10/10] services: dovecot: Add 'managesieve-sieve-capability'
 option.
Date: Mon, 17 Aug 2020 11:31:24 +0200
Message-Id: <20200817093124.30611-10-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define it.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 4b208646b6..7024356842 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -357,6 +357,12 @@ address.  NOTE: The username is compared case-sensitively.")
    "Define NOTIFY capabilities reported by the ManageSieve
 service before authentication. If left unassigned, these will be assigned
 dynamically according to what the Sieve interpreter supports by default (after
+login this may differ depending on the authenticated user)")
+  (managesieve-sieve-capability
+   (space-separated-string-list '())
+   "Define SIEVE  capabilities reported by the ManageSieve
+service before authentication. If left unassigned, these will be assigned
+dynamically according to what the Sieve interpreter supports by default (after
 login this may differ depending on the authenticated user)"))
 
 (define (serialize-protocol-configuration field-name val)
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:39 2020
Received: from localhost ([127.0.0.1]:59290 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUR-0003e2-8r
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:39 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44944)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUL-0003cY-22
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:33 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 5544D9D05C
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:46 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 09/10] services: dovecot: Add 'managesieve-notify-capability'
 configuration.
Date: Mon, 17 Aug 2020 11:31:23 +0200
Message-Id: <20200817093124.30611-9-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define new option for
  protocol-configuration.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 27ba532338..4b208646b6 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -351,7 +351,13 @@ This is used by imap (for shared users) and lda.")
 address.  NOTE: The username is compared case-sensitively.")
   (imap-metadata?
    (boolean #f)
-   "Activate the commands of @code{IMAP METADATA} extension (RFC 5464)."))
+   "Activate the commands of @code{IMAP METADATA} extension (RFC 5464).")
+  (managesieve-notify-capability
+   (space-separated-string-list '())
+   "Define NOTIFY capabilities reported by the ManageSieve
+service before authentication. If left unassigned, these will be assigned
+dynamically according to what the Sieve interpreter supports by default (after
+login this may differ depending on the authenticated user)"))
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:39 2020
Received: from localhost ([127.0.0.1]:59288 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUR-0003dv-0S
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:39 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44936)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUK-0003cL-K7
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:33 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id E23C39D028
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:45 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 07/10] services: dovecot: Add 'mail-attribute-dict'
 configuration option.
Date: Mon, 17 Aug 2020 11:31:21 +0200
Message-Id: <20200817093124.30611-7-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): Define 'mail-attribute-dict'
  directive to support IMAP METADATA extension.:

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 1d5d322a53..f2b9774bfd 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1126,6 +1126,11 @@ disabled.")
 @samp{mdbox-rotate-size}.  This setting currently works only in Linux
 with some file systems (ext4, xfs).")
 
+  (mail-attribute-dict
+   (string "file:%h/dovecot-attributes")
+   "Activate the metadata storage of @code{IMAP METADATA} extension (RFC 5464), which allows
+per-mailbox, per-user data to be stored and accessed via IMAP commands.")
+
   (mail-attachment-dir
    (string "")
    "sdbox and mdbox support saving mail attachments to external files,
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:39 2020
Received: from localhost ([127.0.0.1]:59286 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUQ-0003dn-Of
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:38 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44940)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUK-0003cQ-Qu
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:33 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 1E9FA9D056
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:46 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 08/10] services: dovecot: Add 'imap-metadata?' protocol
 configuration option.
Date: Mon, 17 Aug 2020 11:31:22 +0200
Message-Id: <20200817093124.30611-8-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (protocol-configuration): Define the option to be able
  to activate the IMAP METADATA commands over the imap protocol.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index f2b9774bfd..27ba532338 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -348,7 +348,10 @@ This is used by imap (for shared users) and lda.")
   (mail-max-userip-connections
    (non-negative-integer 10)
    "Maximum number of IMAP connections allowed for a user from each IP
-address.  NOTE: The username is compared case-sensitively."))
+address.  NOTE: The username is compared case-sensitively.")
+  (imap-metadata?
+   (boolean #f)
+   "Activate the commands of @code{IMAP METADATA} extension (RFC 5464)."))
 
 (define (serialize-protocol-configuration field-name val)
   (format #t "protocol ~a {\n" (protocol-configuration-name val))
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:38 2020
Received: from localhost ([127.0.0.1]:59284 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUQ-0003dg-Gb
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:38 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44932)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUK-0003cJ-Dl
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:32 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id B18F99D016
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:45 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 06/10] services: dovecot: Only serialize settings with
 non-empty values.
Date: Mon, 17 Aug 2020 11:31:20 +0200
Message-Id: <20200817093124.30611-6-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (serialize-space-separated-string-list): Protocols
might have custom settings, which are not supported by other protocols. To
prevent dovecot/services from crashing, serialize settings that hold non-empty
values only.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 5959d878e7..1d5d322a53 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -99,7 +99,9 @@
                   (and (string? x) (not (string-index x #\space))))
                 val)))
 (define (serialize-space-separated-string-list field-name val)
-  (serialize-field field-name (string-join val " ")))
+  (match val
+    (() #f)
+    (_ (serialize-field field-name (string-join val " ")))))
 
 (define (comma-separated-string-list? val)
   (and (list? val)
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:38 2020
Received: from localhost ([127.0.0.1]:59282 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUQ-0003dZ-3d
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:38 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44928)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUK-0003cG-72
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:32 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 7AB019CFFB
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:45 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 05/10] services: dovecot: Serialize global settings first.
Date: Mon, 17 Aug 2020 11:31:19 +0200
Message-Id: <20200817093124.30611-5-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (dovecot-configuration): To avoid dovecot warning
messages, move serialization of protocol settings below the global one.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 118 +++++++++++++++++++++---------------------
 1 file changed, 59 insertions(+), 59 deletions(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index da17933d6b..5959d878e7 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -479,64 +479,6 @@ interfaces.  If you want to specify non-default ports or anything more
 complex, customize the address and port fields of the
 @samp{inet-listener} of the specific services you are interested in.")
 
-  (protocols
-   (protocol-configuration-list
-    (list (protocol-configuration
-           (name "imap"))))
-   "List of protocols we want to serve.  Available protocols include
-@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
-
-  (services
-   (service-configuration-list
-    (list
-     (service-configuration
-      (kind "imap-login")
-      (client-limit 0)
-      (process-limit 0)
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
-        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
-     (service-configuration
-      (kind "pop3-login")
-      (listeners
-       (list
-        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
-        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
-     (service-configuration
-      (kind "lmtp")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners
-       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
-     (service-configuration
-      (kind "imap")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "pop3")
-      (client-limit 1)
-      (process-limit 1024))
-     (service-configuration
-      (kind "auth")
-      (service-count 0)
-      (client-limit 0)
-      (process-limit 1)
-      (listeners
-       (list (unix-listener-configuration (path "auth-userdb")))))
-     (service-configuration
-      (kind "auth-worker")
-      (client-limit 1)
-      (process-limit 0))
-     (service-configuration
-      (kind "dict")
-      (client-limit 1)
-      (process-limit 0)
-      (listeners (list (unix-listener-configuration (path "dict")))))))
-   "List of services to enable.  Available services include @samp{imap},
-@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
-@samp{lmtp}.")
-
   (dict
    (dict-configuration (dict-configuration))
    "Dict configuration, as created by the @code{dict-configuration}
@@ -1430,7 +1372,65 @@ greyed out, instead of only later giving \"not selectable\" popup error.
 
   (imap-urlauth-host
    (string "")
-   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")  )
+   "Host allowed in URLAUTH URLs sent by client.  \"*\" allows all.")
+
+  (protocols
+   (protocol-configuration-list
+    (list (protocol-configuration
+           (name "imap"))))
+   "List of protocols we want to serve.  Available protocols include
+@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
+
+  (services
+   (service-configuration-list
+    (list
+     (service-configuration
+      (kind "imap-login")
+      (client-limit 0)
+      (process-limit 0)
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
+        (inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
+     (service-configuration
+      (kind "pop3-login")
+      (listeners
+       (list
+        (inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
+        (inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
+     (service-configuration
+      (kind "lmtp")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners
+       (list (unix-listener-configuration (path "lmtp") (mode "0666")))))
+     (service-configuration
+      (kind "imap")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "pop3")
+      (client-limit 1)
+      (process-limit 1024))
+     (service-configuration
+      (kind "auth")
+      (service-count 0)
+      (client-limit 0)
+      (process-limit 1)
+      (listeners
+       (list (unix-listener-configuration (path "auth-userdb")))))
+     (service-configuration
+      (kind "auth-worker")
+      (client-limit 1)
+      (process-limit 0))
+     (service-configuration
+      (kind "dict")
+      (client-limit 1)
+      (process-limit 0)
+      (listeners (list (unix-listener-configuration (path "dict")))))))
+   "List of services to enable.  Available services include @samp{imap},
+@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
+@samp{lmtp}."))
 
 (define-configuration opaque-dovecot-configuration
   (dovecot
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:38 2020
Received: from localhost ([127.0.0.1]:59280 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUP-0003dS-RD
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:38 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:44924)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUK-0003cA-0T
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:32 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 3F2519CFDD
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:45 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 04/10] gnu: dovecot-pigeonhole: Add new variable.
Date: Mon, 17 Aug 2020 11:31:18 +0200
Message-Id: <20200817093124.30611-4-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 8e7d5b2fc1..25e9570958 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1467,6 +1467,62 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
     (license (list license:lgpl2.1 license:expat
                    (license:non-copyleft "file://COPYING")))))
 
+(define-public dovecot-pigeonhole
+  (let ((dovecot-version (version-major+minor (package-version dovecot))))
+    (package
+      (name "dovecot-pigeonhole")
+      (version "0.5.11")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append "https://pigeonhole.dovecot.org/releases/"
+                             dovecot-version "/"
+                             "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
+         (sha256
+          (base32
+           "1w5mryv6izh1gv7davnl94rb0pvh5bxl2bydzbfla1b83x22m5qb"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("automake" ,automake)
+         ("autoconf" ,autoconf)
+         ("libtool" ,libtool)
+         ("pkg-config" ,pkg-config)
+         ("gettext" ,gettext-minimal)
+         ("dovecot" ,dovecot)))
+      (arguments
+       `(#:configure-flags
+         (list "--with-dovecot-install-dirs=no"
+               (string-append "--with-dovecot="
+                              (assoc-ref %build-inputs "dovecot")
+                              "/lib/dovecot")
+               (string-append "--with-moduledir="
+                              (assoc-ref %outputs "out")
+                              "/lib/dovecot"))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'patch-file-names
+             (lambda _
+               (let ((out (assoc-ref %outputs "out")))
+                 (substitute* "src/managesieve/managesieve-settings.c"
+                   ((".executable = \"managesieve\"")
+                    (string-append ".executable = \"" out "/libexec/dovecot/managesieve\"")))
+                 (substitute* "src/managesieve-login/managesieve-login-settings.c"
+                   ((".executable = \"managesieve-login\"")
+                    (string-append ".executable = \"" out "/libexec/dovecot/managesieve-login\""))))
+               #t)))))
+      (home-page "https://pigeonhole.dovecot.org")
+      (synopsis "Pigeonhole project provides mail filtering facilities using
+the Sieve language")
+      (description
+       "@code{dovecot-pigonhole} adds support for the Sieve
+language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the
+@code{Dovecot} Secure IMAP Server.")
+      ;; Pigeonhole is open source and distributed under the same
+      ;; license as Dovecot: LGPL v2.1
+      (license (list license:lgpl2.1
+                     (license:non-copyleft "file://COPYING")
+                     (license:non-copyleft "file://COPYING.LGPL"))))))
+
 (define-public dovecot-trees
   (package
     (name "dovecot-trees")
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:37 2020
Received: from localhost ([127.0.0.1]:59278 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUP-0003dO-EP
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:37 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:36371)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUJ-0003c9-OE
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:32 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 073C09CFDB
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:44 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 03/10] services: dovecot: Use modules via symlink to system
 profile.
Date: Mon, 17 Aug 2020 11:31:17 +0200
Message-Id: <20200817093124.30611-3-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20200817093124.30611-1-levenson@HIDDEN>
References: <20200817093124.30611-1-levenson@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/services/mail.scm (%dovecot-activation): Link the location with multiple
plugins (dovecot-pigeonhole, etc), to a place where dovecot can find them.
* gnu/services/mail.scm (dovecot-configuration): Use the symlink.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/services/mail.scm | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index cfcaf4601b..da17933d6b 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1044,7 +1044,7 @@ directories are prefixed with the chroot directory, append \"/.\" to
 This is used by imap (for shared users) and lda.")
 
   (mail-plugin-dir
-   (file-name "/usr/lib/dovecot")
+   (file-name "/etc/dovecot/modules")
    "Directory where to look up mail plugins.")
 
   (mail-plugins
@@ -1519,13 +1519,16 @@ greyed out, instead of only later giving \"not selectable\" popup error.
              (else
               (format (current-error-port)
                       "Failed to create public key at ~a.\n" public-key)))))
-        (let ((user (getpwnam "dovecot")))
+        (let ((user (getpwnam "dovecot"))
+              (moduledir "/etc/dovecot/modules"))
           (mkdir-p/perms "/var/run/dovecot" user #o755)
           (mkdir-p/perms "/var/lib/dovecot" user #o755)
           (mkdir-p/perms "/etc/dovecot" user #o755)
           (copy-file #$(plain-file "dovecot.conf" config-str)
                      "/etc/dovecot/dovecot.conf")
           (mkdir-p/perms "/etc/dovecot/private" user #o700)
+          (unless (file-exists? moduledir)
+            (symlink "/run/current-system/profile/lib/dovecot" moduledir))
           (create-self-signed-certificate-if-absent
            #:private-key "/etc/dovecot/private/default.pem"
            #:public-key "/etc/dovecot/default.pem"
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at 42899 <at> debbugs.gnu.org:


Received: (at 42899) by debbugs.gnu.org; 17 Aug 2020 09:31:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:31:33 2020
Received: from localhost ([127.0.0.1]:59271 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bUK-0003cR-HV
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:33 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:27868)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bUJ-0003c7-Ev
 for 42899 <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:31:31 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 8686D9CF66
 for <42899 <at> debbugs.gnu.org>; Mon, 17 Aug 2020 09:00:44 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: 42899 <at> debbugs.gnu.org
Subject: [PATCH 01/10] gnu: dovecot: Add lucene library to support fts
 indexing.
Date: Mon, 17 Aug 2020 11:31:15 +0200
Message-Id: <20200817093124.30611-1-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 42899
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

* gnu/packages/mail.scm (dovecot)[inputs]: Add ice4c and clucene libraries.
* gnu/packages/mail.scm (dovecot)[arguments]: Add --with-lucene configuration switch.

Signed-off-by: Alexey Abramov <levenson@HIDDEN>
---
 gnu/packages/mail.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 6792b9b4a9..98e75fa90f 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -87,6 +87,7 @@
   #:use-module (gnu packages guile-xyz)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages icu4c)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages libcanberra)
   #:use-module (gnu packages libevent)
@@ -113,6 +114,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages rdf)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages search)
   #:use-module (gnu packages serialization)
@@ -1425,11 +1427,14 @@ facilities for checking incoming mail.")
        ("lz4" ,lz4)
        ("openssl" ,openssl)
        ("sqlite" ,sqlite)
-       ("zlib" ,zlib)))
+       ("zlib" ,zlib)
+       ("icu4c" ,icu4c)
+       ("clucene" ,clucene)))
     (arguments
      `(#:configure-flags '("--sysconfdir=/etc"
                            "--localstatedir=/var"
-                           "--with-sqlite") ; not auto-detected
+                           "--with-sqlite" ; not auto-detected
+                           "--with-lucene")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-file-names
-- 
2.27.0





Information forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 17 Aug 2020 09:28:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 17 05:28:20 2020
Received: from localhost ([127.0.0.1]:59260 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k7bR9-0003Ve-LB
	for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:28:20 -0400
Received: from lists.gnu.org ([209.51.188.17]:43180)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <levenson@HIDDEN>) id 1k7bR3-0003VS-Ny
 for submit <at> debbugs.gnu.org; Mon, 17 Aug 2020 05:28:14 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:53692)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <levenson@HIDDEN>) id 1k7bR3-0008St-EP
 for guix-patches@HIDDEN; Mon, 17 Aug 2020 05:28:09 -0400
Received: from mx4.mail.mmer.org ([178.22.66.29]:10149)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <levenson@HIDDEN>) id 1k7bQw-00016k-6w
 for guix-patches@HIDDEN; Mon, 17 Aug 2020 05:28:09 -0400
Received: from delta (92-109-1-225.cable.dynamic.v4.ziggo.nl [92.109.1.225])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx4.mail.mmer.org (Postfix) with ESMTPSA id 4CD0F9CC48
 for <guix-patches@HIDDEN>; Mon, 17 Aug 2020 08:57:13 +0000 (UTC)
From: Alexey Abramov <levenson@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH 00/10] Dovecot improvements. Add support for pigeonhole.
Date: Mon, 17 Aug 2020 11:27:48 +0200
Message-Id: <20200817092748.30057-1-levenson@HIDDEN>
X-Mailer: git-send-email 2.27.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=178.22.66.29; envelope-from=levenson@HIDDEN;
 helo=mx4.mail.mmer.org
X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/17 03:51:11
X-ACL-Warn: Detected OS   = FreeBSD 9.x or newer [fuzzy]
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

Hi Guix,

I did some work on dovecot, and now can run it with sieve/managesieve
support. I followed the same aproach NixOS guys did. I patched moduledir in
the source code (/etc/dovecot/modules), and provide it as a symlink to current
system profiles lib/dovecot.

I also added fts plugin support for dovecot, added few more options for sieve
protocol configuration.

Alexey Abramov (10):
  gnu: dovecot: Add lucene library to support fts indexing.
  gnu: dovecot: Patch and provide a static path for module directory.
  services: dovecot: Use modules via symlink to system profile.
  gnu: dovecot-pigeonhole: Add new variable.
  services: dovecot: Serialize global settings first.
  services: dovecot: Only serialize settings with non-empty values.
  services: dovecot: Add 'mail-attribute-dict' configuration option.
  services: dovecot: Add 'imap-metadata?' protocol configuration option.
  services: dovecot: Add 'managesieve-notify-capability' configuration.
  services: dovecot: Add 'managesieve-sieve-capability' option.

 gnu/local.mk                                  |   1 +
 gnu/packages/mail.scm                         |  68 +++++++-
 ...ovecot-use-static-path-for-moduledir.patch | 146 +++++++++++++++++
 gnu/services/mail.scm                         | 151 ++++++++++--------
 4 files changed, 300 insertions(+), 66 deletions(-)
 create mode 100644 gnu/packages/patches/dovecot-use-static-path-for-moduledir.patch

--
2.27.0




Acknowledgement sent to Alexey Abramov <levenson@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#42899; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Tue, 8 Sep 2020 14:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.