[bug#75533,v2] services: dns: Minor cleanup of unbound service.

Message ID bbd4d4f5365519bc359457e97bc8261335e7707d.1736748763.git.soeren@soeren-tempel.net
State New
Headers
Series [bug#75533,v2] services: dns: Minor cleanup of unbound service. |

Commit Message

Sören Tempel Jan. 13, 2025, 6:12 a.m. UTC
  From: Sören Tempel <soeren@soeren-tempel.net>

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 at typo (unbound -> Unbound).
(unbound-shepherd-service): Run after user processes.
(unbound-account-service): Determine shell based on shadow package.
---
 gnu/services/dns.scm | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)


base-commit: 4fef7b26941940515533b4b463b505b28567afe6
  

Comments

Sören Tempel Jan. 13, 2025, 6:18 p.m. UTC | #1
Somehow, Guix QA still uses an old base commit
(af0d981c0ade9662eeffe7f4f7dbb018e15a87e9) that pre-dates
the addition of the Unbound service, hence QA is failing
as the patch doesn't apply.
  
Ludovic Courtès Jan. 16, 2025, 8:09 a.m. UTC | #2
soeren@soeren-tempel.net skribis:

> From: Sören Tempel <soeren@soeren-tempel.net>
>
> 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 at typo (unbound -> Unbound).
> (unbound-shepherd-service): Run after user processes.
> (unbound-account-service): Determine shell based on shadow package.

Applied, thanks.

And apologies for picking the wrong version in the first place!

Ludo’.
  

Patch

diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index c74001fac29..dcfb90235c1 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -56,18 +56,14 @@  (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-server
+            unbound-server?
+            unbound-zone
+            unbound-zone?
+            unbound-remote
+            unbound-remote?))
 
 ;;;
 ;;; Knot DNS.
@@ -1065,7 +1061,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 +1078,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))