Subject: [bug#75513] [PATCH] services: dns: Minor cleanup of unbound service.

From: [email-masked]
Date: Sun, 12 Jan 2025 11:39:14 +0100

From: Sören Tempel <[email-masked]>

In #68757, v3 instead of v4 of the patchset was committed by accident.
This patch revives the (minor) changes made in the v4.

* gnu/service/dns.scm: Remove exports of no longer existing names.
(unbound-service-type): Fix typo/capitalization (unbound -> Unbound).
(unbound-shepherd-service): Run after user processes.
(unbound-account-service): Determine shell based on shadow package.
---
 gnu/services/dns.scm | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index c74001fac29..9fd3bebd496 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -56,18 +56,11 @@ (define-module (gnu services dns)
             dnsmasq-configuration
 
             unbound-service-type
-            unbound-zone
-            unbound-server
             unbound-configuration
-            unbound-configuration?
-            unbound-configuration-server
-            unbound-configuration-remote-control
-            unbound-configuration-forward-zone
-            unbound-configuration-stub-zone
-            unbound-configuration-auth-zone
-            unbound-configuration-view
-            unbound-configuration-python
-            unbound-configuration-dynlib))
+            unbound-configuration
+            unbound-server
+            unbound-zone
+            unbound-remote))
 
 ;;;
 ;;; Knot DNS.
@@ -1065,7 +1058,9 @@ (define (unbound-shepherd-service config)
     (list (shepherd-service
             (documentation "Unbound daemon.")
             (provision '(unbound dns))
-            (requirement '(networking))
+            ;; unbound may be bound to a particular IP address, hence
+            ;; only start it after the networking service has started.
+            (requirement '(user-processes networking))
             (actions (list (shepherd-configuration-action config-file)))
             (start #~(make-forkexec-constructor
                        (list (string-append #$unbound "/sbin/unbound")
@@ -1080,11 +1075,11 @@ (define unbound-account-service
          (system? #t)
          (comment "Unbound daemon user")
          (home-directory "/var/empty")
-         (shell "/run/current-system/profile/sbin/nologin"))))
+         (shell (file-append shadow "/sbin/nologin")))))
 
 (define unbound-service-type
   (service-type (name 'unbound)
-                (description "Run the unbound DNS resolver.")
+                (description "Run the Unbound DNS resolver.")
                 (extensions
                   (list (service-extension account-service-type
                                            (const unbound-account-service))

base-commit: 5d6c8767f67885bc9b2c8f18ab1f667d0065346b