GNU bug report logs - #66935
[PATCH 0/4] Dovecot service refactor.

Previous Next

Package: guix-patches;

Reported by: Bruno Victal <mirai <at> makinata.eu>

Date: Sat, 4 Nov 2023 19:06:01 UTC

Severity: normal

Tags: patch

Full log


Message #14 received at 66935 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Victal <mirai <at> makinata.eu>
To: 66935 <at> debbugs.gnu.org
Cc: Bruno Victal <mirai <at> makinata.eu>
Subject: [PATCH 2/4] services: dovecot: Add 'reopen action.
Date: Sat,  4 Nov 2023 19:05:59 +0000
* gnu/services/mail.scm (dovecot-shepherd-service): Re-indent.
Add 'reopen action.

Change-Id: I333032ec6f8a451c22490e27910793410c63a6d6
---
 gnu/services/mail.scm | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index b865a67630..0f287ab93e 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019 Kristofer Buffington <kristoferbuffington <at> gmail.com>
 ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>
+;;; Copyright © 2023 Bruno Victal <mirai <at> makinata.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1575,14 +1576,28 @@ (define (dovecot-shepherd-service config)
   (let ((dovecot (if (opaque-dovecot-configuration? config)
                      (opaque-dovecot-configuration-dovecot config)
                      (dovecot-configuration-dovecot config))))
-    (list (shepherd-service
-           (documentation "Run the Dovecot POP3/IMAP mail server.")
-           (provision '(dovecot))
-           (requirement '(pam networking))
-           (start #~(make-forkexec-constructor
-                     (list #$(file-append dovecot "/sbin/dovecot")
-                           "-F")))
-           (stop #~(make-kill-destructor))))))
+    (list
+     (shepherd-service
+      (documentation "Run the Dovecot POP3/IMAP mail server.")
+      (provision '(dovecot))
+      (requirement '(pam networking))
+      (start #~(make-forkexec-constructor
+                (list #$(file-append dovecot "/sbin/dovecot")
+                      "-F")))
+      (stop #~(make-kill-destructor))
+      (actions
+       (list (shepherd-action
+              (name 'reopen)
+              (documentation "Re-open log files.")
+              (procedure
+               #~(lambda (pid)
+                   (if pid
+                       (begin
+                         (kill pid SIGUSR1)
+                         (format #t
+                                 "Issued SIGUSR1 to Service Dovecot (PID ~a)."
+                                 pid))
+                       (format #t "Service Dovecot is not running.")))))))))))
 
 (define %dovecot-pam-services
   (list (unix-pam-service "dovecot")))
-- 
2.41.0





This bug report was last modified 1 year and 221 days ago.

Previous Next


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