[bug#78330] services: dnsmasq: Install dbus config.

Message ID 87b29cc0362cf515bcdb6e13d59505f71c762fdf.1746776080.git.sarg@sarg.org.ru
State New
Headers
Series [bug#78330] services: dnsmasq: Install dbus config. |

Commit Message

Sergey Trofimov May 9, 2025, 7:36 a.m. UTC
  While DBUS service is enabled in dnsmasq, it does not work without installing
a config file to the system.

* gnu/packages/dns.scm (dnsmasq): Install dbus config.
* gnu/services/dns.scm (dnsmasq): Extend dbus-root-service-type.

Change-Id: I5187f65e1f2892eb10fb95e6f51955559f64dbef
---
 gnu/packages/dns.scm | 8 +++++++-
 gnu/services/dns.scm | 3 +++
 2 files changed, 10 insertions(+), 1 deletion(-)


base-commit: 2e1ead7c8b449b58d571d8f16c1586b675c13ab4
  

Patch

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 3d780019a0..af25ef7370 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -310,7 +310,13 @@  (define-public dnsmasq
      (list dbus))
     (arguments
      `(#:phases
-       (modify-phases %standard-phases (delete 'configure))
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'install 'install-dbus
+           (lambda _
+             (install-file "dbus/dnsmasq.conf"
+                           (string-append %output "/etc/dbus-1/system.d")))))
+
        #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
                           (string-append "CC=" ,(cc-for-target))
                           (string-append "PKG_CONFIG=" ,(pkg-config-for-target))
diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index 05291eb65d..1c9c8fcfe4 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -23,6 +23,7 @@ 
 (define-module (gnu services dns)
   #:use-module (gnu services)
   #:use-module (gnu services configuration)
+  #:use-module (gnu services dbus)
   #:use-module (gnu services shepherd)
   #:use-module (gnu system shadow)
   #:use-module (gnu packages admin)
@@ -909,6 +910,8 @@  (define dnsmasq-service-type
    (extensions
     (list (service-extension shepherd-root-service-type
                              (compose list dnsmasq-shepherd-service))
+          (service-extension dbus-root-service-type
+                             (compose list dnsmasq-configuration-package))
           (service-extension activation-service-type
                              dnsmasq-activation)))
    (default-value (dnsmasq-configuration))