aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile4
-rw-r--r--src/org/euandre/queue.scm174
-rw-r--r--tests/internet/etc/dovecot2/dovecot2.conf.in (renamed from tests/internet/etc/dovecot/dovecot.conf.in)2
-rw-r--r--tests/internet/system.scm2
5 files changed, 92 insertions, 92 deletions
diff --git a/.gitignore b/.gitignore
index d6dbab8..3d0cb17 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,4 @@
/*.sentinel
/tests/internet/etc/postfix/main.cf
/tests/internet/etc/dkimproxyout.conf
-/tests/internet/etc/dovecot/dovecot.conf
+/tests/internet/etc/dovecot2/dovecot2.conf
diff --git a/Makefile b/Makefile
index 4689137..f9d939c 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,7 @@ N = `nproc`
test-config-files = \
tests/internet/etc/postfix/main.cf \
tests/internet/etc/dkimproxyout.conf \
- tests/internet/etc/dovecot/dovecot.conf \
+ tests/internet/etc/dovecot2/dovecot2.conf \
derived-assets = \
queue.scm.sentinel \
@@ -67,7 +67,7 @@ internet-files = \
$(local-files) \
/etc/sasl2/smtpd.conf \
/etc/dkimproxyout.conf \
- /etc/dovecot/dovecot.conf \
+ /etc/dovecot2/dovecot2.conf \
check-guix-static-local: local.scm.sentinel $(test-config-files)
for f in $(local-files); do \
diff --git a/src/org/euandre/queue.scm b/src/org/euandre/queue.scm
index e9f5d1d..783f813 100644
--- a/src/org/euandre/queue.scm
+++ b/src/org/euandre/queue.scm
@@ -126,37 +126,37 @@
internet-postfix-service-type
- <dovecot-configuration>
- dovecot-configuration
- make-dovecot-configuration
- dovecot-configuration?
-
- dovecot-configuration-package
- dovecot-configuration-mail-location
- dovecot-configuration-raw-file
- dovecot-configuration-extra-content
- dovecot-configuration-config-dirname
- dovecot-configuration-config-filename
- dovecot-configuration-user
- dovecot-configuration-group
- dovecot-configuration-supplementary-groups
- dovecot-configuration-auth-worker-group
- dovecot-configuration-untrusted-user
- dovecot-configuration-untrusted-group
- dovecot-configuration-untrusted-supplementary-groups
- dovecot-configuration-base-dir
- dovecot-configuration-state-dir
- dovecot-configuration-hostname
- dovecot-configuration-run-in-container?
- dovecot-configuration-container-name
- dovecot-configuration-container-namespaces
- dovecot-configuration-extra-mappings
-
- dovecot-etc-files
- dovecot-accounts
- dovecot-activation
- dovecot-shepherd-service
- dovecot-service-type))
+ <dovecot2-configuration>
+ dovecot2-configuration
+ make-dovecot2-configuration
+ dovecot2-configuration?
+
+ dovecot2-configuration-package
+ dovecot2-configuration-mail-location
+ dovecot2-configuration-raw-file
+ dovecot2-configuration-extra-content
+ dovecot2-configuration-config-dirname
+ dovecot2-configuration-config-filename
+ dovecot2-configuration-user
+ dovecot2-configuration-group
+ dovecot2-configuration-supplementary-groups
+ dovecot2-configuration-auth-worker-group
+ dovecot2-configuration-untrusted-user
+ dovecot2-configuration-untrusted-group
+ dovecot2-configuration-untrusted-supplementary-groups
+ dovecot2-configuration-base-dir
+ dovecot2-configuration-state-dir
+ dovecot2-configuration-hostname
+ dovecot2-configuration-run-in-container?
+ dovecot2-configuration-container-name
+ dovecot2-configuration-container-namespaces
+ dovecot2-configuration-extra-mappings
+
+ dovecot2-etc-files
+ dovecot2-accounts
+ dovecot2-activation
+ dovecot2-shepherd-service
+ dovecot2-service-type))
(use-package-modules
admin
check
@@ -1450,33 +1450,33 @@ correctly.")))
-(define-record-type* <dovecot-configuration>
- dovecot-configuration
- make-dovecot-configuration
- dovecot-configuration?
- (package dovecot-configuration-package (default dovecot))
- (mail-location dovecot-configuration-mail-location (default "/var/mail/"))
- (raw-file dovecot-configuration-raw-file (default #f))
- (extra-content dovecot-configuration-extra-content (default ""))
- (config-dirname dovecot-configuration-config-dirname (default "dovecot"))
- (config-filename dovecot-configuration-config-filename (default "dovecot.conf"))
- (user dovecot-configuration-user (default "dovecot"))
- (group dovecot-configuration-group (default "dovecot"))
- (supplementary-groups dovecot-configuration-supplementary-groups (default '()))
- (auth-worker-group dovecot-configuration-auth-worker-group (default "etc-shadow"))
- (untrusted-user dovecot-configuration-untrusted-user (default "dovenull"))
- (untrusted-group dovecot-configuration-untrusted-group (default "dovenull"))
- (untrusted-supplementary-groups dovecot-configuration-untrusted-supplementary-groups (default '()))
- (base-dir dovecot-configuration-base-dir (default "/var/run/dovecot"))
- (state-dir dovecot-configuration-state-dir (default "/var/lib/dovecot"))
- (hostname dovecot-configuration-hostname (default (gethostname)))
- (run-in-container? dovecot-configuration-run-in-container? (default #f))
- (container-name dovecot-configuration-container-name (default "dovecot"))
- (container-namespaces dovecot-configuration-container-namespaces (default (s1:fold delq container:%namespaces '(net))))
- (extra-mappings dovecot-configuration-extra-mappings (default '())))
-
-(define (generate-dovecot-config config)
- (match-record config <dovecot-configuration>
+(define-record-type* <dovecot2-configuration>
+ dovecot2-configuration
+ make-dovecot2-configuration
+ dovecot2-configuration?
+ (package dovecot2-configuration-package (default dovecot))
+ (mail-location dovecot2-configuration-mail-location (default "/var/mail/"))
+ (raw-file dovecot2-configuration-raw-file (default #f))
+ (extra-content dovecot2-configuration-extra-content (default ""))
+ (config-dirname dovecot2-configuration-config-dirname (default "dovecot2"))
+ (config-filename dovecot2-configuration-config-filename (default "dovecot2.conf"))
+ (user dovecot2-configuration-user (default "dovecot2"))
+ (group dovecot2-configuration-group (default "dovecot2"))
+ (supplementary-groups dovecot2-configuration-supplementary-groups (default '()))
+ (auth-worker-group dovecot2-configuration-auth-worker-group (default "etc-shadow"))
+ (untrusted-user dovecot2-configuration-untrusted-user (default "dovenull"))
+ (untrusted-group dovecot2-configuration-untrusted-group (default "dovenull"))
+ (untrusted-supplementary-groups dovecot2-configuration-untrusted-supplementary-groups (default '()))
+ (base-dir dovecot2-configuration-base-dir (default "/var/run/dovecot2"))
+ (state-dir dovecot2-configuration-state-dir (default "/var/lib/dovecot2"))
+ (hostname dovecot2-configuration-hostname (default (gethostname)))
+ (run-in-container? dovecot2-configuration-run-in-container? (default #f))
+ (container-name dovecot2-configuration-container-name (default "dovecot2"))
+ (container-namespaces dovecot2-configuration-container-namespaces (default (s1:fold delq container:%namespaces '(net))))
+ (extra-mappings dovecot2-configuration-extra-mappings (default '())))
+
+(define (generate-dovecot2-config config)
+ (match-record config <dovecot2-configuration>
(mail-location user group auth-worker-group untrusted-user
hostname base-dir state-dir extra-content)
(format #f
@@ -1548,18 +1548,18 @@ namespace inbox {
mail-location
extra-content)))
-(define (dovecot-etc-files config)
- (match-record config <dovecot-configuration>
+(define (dovecot2-etc-files config)
+ (match-record config <dovecot2-configuration>
(raw-file config-dirname config-filename)
`((,config-dirname
,(file-union
config-dirname
`((,config-filename ,(plain-file config-filename
(or raw-file
- (generate-dovecot-config config))))))))))
+ (generate-dovecot2-config config))))))))))
-(define (dovecot-accounts config)
- (match-record config <dovecot-configuration>
+(define (dovecot2-accounts config)
+ (match-record config <dovecot2-configuration>
( user group supplementary-groups
untrusted-user untrusted-group untrusted-supplementary-groups)
(list
@@ -1567,7 +1567,7 @@ namespace inbox {
(name user)
(group group)
(supplementary-groups supplementary-groups)
- (comment "Dovecot system user")
+ (comment "Dovecot2 system user")
(home-directory "/var/empty")
(create-home-directory? #f)
(shell
@@ -1577,7 +1577,7 @@ namespace inbox {
(name untrusted-user)
(group untrusted-group)
(supplementary-groups untrusted-supplementary-groups)
- (comment "Dovecot user for untrusted logins")
+ (comment "Dovecot2 user for untrusted logins")
(home-directory "/var/empty")
(create-home-directory? #f)
(shell
@@ -1590,15 +1590,15 @@ namespace inbox {
(name untrusted-group)
(system? #t)))))
-(define (dovecot-activation config)
- (match-record config <dovecot-configuration>
+(define (dovecot2-activation config)
+ (match-record config <dovecot2-configuration>
(base-dir state-dir)
#~(begin
(use-modules (guix build utils))
(let ((user (getpwnam "root"))
(dhparam.pem (string-append #$state-dir "/dhparam.pem")))
(format (current-error-port)
- "Creating Dovecot base_dir directory: \"~a\".~%" #$base-dir)
+ "Creating Dovecot2 base_dir directory: \"~a\".~%" #$base-dir)
(mkdir-p/perms #$base-dir user #o755)
(mkdir-p/perms #$state-dir user #o755)
(unless (file-exists? dhparam.pem)
@@ -1613,8 +1613,8 @@ namespace inbox {
(format (current-error-port)
"Failed to create dhparam.pem file: \"~a\".~%" dhparam.pem))))))))
-(define (dovecot-shepherd-service config)
- (match-record config <dovecot-configuration>
+(define (dovecot2-shepherd-service config)
+ (match-record config <dovecot2-configuration>
(package config-dirname config-filename
run-in-container? container-name container-namespaces extra-mappings)
(let* ((config-file (string-append "/etc/" config-dirname "/" config-filename))
@@ -1633,8 +1633,8 @@ namespace inbox {
extra-mappings)))))
(list
(shepherd-service
- (provision '(dovecot))
- (documentation "Run the Dovecot daemon.")
+ (provision '(dovecot2))
+ (documentation "Run the Dovecot2 daemon.")
(start #~(make-forkexec-constructor
(list #$cmd "-F" "-c" #$config-file)))
(stop #~(make-kill-destructor))
@@ -1648,7 +1648,7 @@ namespace inbox {
(format #t "~a~%" #$config-file))))
(shepherd-action
(name 'reload)
- (documentation "Re-read the configuration file without restarting the running dovecot daemon.")
+ (documentation "Re-read the configuration file without restarting the running dovecot2 daemon.")
(procedure
#~(lambda _
(invoke #$(file-append package "/bin/doveadm")
@@ -1656,32 +1656,32 @@ namespace inbox {
#$config-file
"reload")))))))))))
-(define dovecot-service-type
+(define dovecot2-service-type
(service-type
- (name 'dovecot)
+ (name 'dovecot2)
(extensions
(list
(service-extension etc-service-type
- dovecot-etc-files)
+ dovecot2-etc-files)
(service-extension account-service-type
- dovecot-accounts)
+ dovecot2-accounts)
(service-extension activation-service-type
- dovecot-activation)
+ dovecot2-activation)
(service-extension profile-service-type
- (compose list dovecot-configuration-package))
+ (compose list dovecot2-configuration-package))
(service-extension shepherd-root-service-type
- dovecot-shepherd-service)))
- (default-value (dovecot-configuration))
- (description "Run the Dovecot IMAP @code{dovecot} daemon.
+ dovecot2-shepherd-service)))
+ (default-value (dovecot2-configuration))
+ (description "Run the Dovecot2 IMAP @code{dovecot2} daemon.
-This is the top-level system service for Dovecot, using the UNIX password stored
+This is the top-level system service for Dovecot2, using the UNIX password stored
at @file{/etc/shadow} for authenticating IMAP connections.
It includes:
@itemize
-@item creating the configuration file at @file{/etc/dovecot/dovecot.conf} by
+@item creating the configuration file at @file{/etc/dovecot2/dovecot2.conf} by
default;
-@item the user and groups used by Dovecot both system and untrusted users;
+@item the user and groups used by Dovecot2 both system and untrusted users;
@item the activation script for creating the required directories and the
@file{dhparam.pem} file if it is missing;
@item the Shepherd service for starting, stopping and @emph{reloading} the
@@ -1694,9 +1694,9 @@ An extension to the log-rotation service isn't included: the default rottlog
configuration already includes @file{/var/log/maillog} in its routine, so it is
kept out.
-The defaults of @code{<dovecot-configuration>} provides sane default values for
+The defaults of @code{<dovecot2-configuration>} provides sane default values for
most things, such as group names, data and mail directories, etc. When used
-as-is, it creates a Dovecot server that and serve and authenticate IMAP
+as-is, it creates a Dovecot2 server that and serve and authenticate IMAP
connections correctly.")))
diff --git a/tests/internet/etc/dovecot/dovecot.conf.in b/tests/internet/etc/dovecot2/dovecot2.conf.in
index 6ac013d..03d9cc9 100644
--- a/tests/internet/etc/dovecot/dovecot.conf.in
+++ b/tests/internet/etc/dovecot2/dovecot2.conf.in
@@ -19,7 +19,7 @@ service auth-worker {
ssl = required
ssl_cert = </etc/letsencrypt/live/@HOSTNAME@/fullchain.pem
ssl_key = </etc/letsencrypt/live/@HOSTNAME@/privkey.pem
-ssl_dh = </var/lib/dovecot/dhparam.pem
+ssl_dh = </var/lib/dovecot2/dhparam.pem
base_dir = /var/run/dovecot
state_dir = /var/lib/dovecot
diff --git a/tests/internet/system.scm b/tests/internet/system.scm
index 192f500..ee02be2 100644
--- a/tests/internet/system.scm
+++ b/tests/internet/system.scm
@@ -54,7 +54,7 @@
(service q:shadow-group-service-type)
(service q:dkimproxyout-service-type)
(service q:cyrus-sasl-service-type)
- (service q:dovecot-service-type)
+ (service q:dovecot2-service-type)
(service q:internet-postfix-service-type)
(service mail-aliases-service-type '()))
pkg:base-services))