[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#42899] [PATCH v3 2/9] services: dovecot: Use modules via symlink to
From: |
Alexey Abramov |
Subject: |
[bug#42899] [PATCH v3 2/9] services: dovecot: Use modules via symlink to system profile. |
Date: |
Thu, 27 Aug 2020 17:17:36 +0200 |
* 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
- [bug#42899] [PATCH v2 02/10] gnu: dovecot: Patch and provide a static path for module directory., (continued)
[bug#42899] [PATCH v2 01/10] gnu: dovecot: Add lucene library to support fts indexing., Efraim Flashner, 2020/08/23
[bug#42899] [PATCH 00/10] Dovecot improvements. Add support for pigeonhole., Efraim Flashner, 2020/08/23
[bug#42899] [PATCH v3 1/9] gnu: dovecot: Set moduledir to global directory., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 3/9] gnu: dovecot-pigeonhole: Add new variable., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 7/9] services: dovecot: Add 'imap-metadata?' protocol configuration option., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 2/9] services: dovecot: Use modules via symlink to system profile.,
Alexey Abramov <=
- [bug#42899] [PATCH v3 9/9] services: dovecot: Add 'managesieve-sieve-capability' option., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 5/9] services: dovecot: Only serialize settings with non-empty values., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 6/9] services: dovecot: Add 'mail-attribute-dict' configuration option., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 4/9] services: dovecot: Serialize global settings first., Alexey Abramov, 2020/08/27
- [bug#42899] [PATCH v3 8/9] services: dovecot: Add 'managesieve-notify-capability' option., Alexey Abramov, 2020/08/27