From a85def0a578bc1b53b8af5e524a5ea9ce18f8403 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Thu, 10 Sep 2020 23:25:02 +0100 Subject: [PATCH] services: dovecot: Do not require dovecot to be globally installed. * gnu/services/mail.scm (%dovecot-activation): Unconditionally symlink /etc/dovecot/modules to the dovecot package's /lib dir instead of hardcoding /run/current-system/profile/lib. --- gnu/services/mail.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 291a2db8e1..47f686852a 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Kristofer Buffington +;;; Copyright © 2020 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -1476,7 +1477,10 @@ greyed out, instead of only later giving \"not selectable\" popup error. (with-output-to-string (lambda () (serialize-configuration config - dovecot-configuration-fields))))))) + dovecot-configuration-fields)))))) + (dovecot (if (opaque-dovecot-configuration? config) + (opaque-dovecot-configuration-dovecot config) + (dovecot-configuration-dovecot config)))) #~(begin (use-modules (guix build utils)) (define (mkdir-p/perms directory owner perms) @@ -1533,8 +1537,9 @@ greyed out, instead of only later giving \"not selectable\" popup error. (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)) + (if (file-exists? moduledir) + (delete-file moduledir)) + (symlink (string-append #$dovecot "/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