all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf'.
@ 2015-10-18  6:44 宋文武
  2015-10-18 17:37 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: 宋文武 @ 2015-10-18  6:44 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 91 bytes --]

This patch is for the 'dbus-update' branch, I test with
%desktop-services, it seem works.


[-- Attachment #2: 0001-services-dbus-Build-etc-dbus-1-system-local.conf.patch --]
[-- Type: text/x-patch, Size: 4425 bytes --]

From 96e156d36444b197bb5d07d8d680ec4e85863f83 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
Date: Sun, 18 Oct 2015 14:18:52 +0800
Subject: [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf'.

* gnu/services/dbus.scm (dbus-etc-files): New procedure.
  (dbus-dmd-service): Remove the use of '--config-file'.
  (dbus-configuration-directory): Adjust accordingly.
  (dbus-root-service-type): Add extension of ETC-SERVICE-TYPE.
---
 gnu/services/dbus.scm | 45 +++++++++++++++++++++------------------------
 1 file changed, 21 insertions(+), 24 deletions(-)

diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index e4ecd96..1fa910a 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,9 +42,9 @@
   (services  dbus-configuration-services          ;list of <package>
              (default '())))
 
-(define (dbus-configuration-directory dbus services)
-  "Return a configuration directory for @var{dbus} that includes the
-@code{etc/dbus-1/system.d} directories of each package listed in
+(define (dbus-configuration-directory services)
+  "Return a directory contains the @code{system-local.conf} file for DBUS that
+includes the @code{etc/dbus-1/system.d} directories of each package listed in
 @var{services}."
   (define build
     #~(begin
@@ -65,13 +66,6 @@
                           services)))
 
         (mkdir #$output)
-        (copy-file (string-append #$dbus "/etc/dbus-1/system.conf")
-                   (string-append #$output "/system.conf"))
-
-        ;; The default 'system.conf' has an <includedir> clause for
-        ;; 'system.d', so create it.
-        (mkdir (string-append #$output "/system.d"))
-
         ;; 'system-local.conf' is automatically included by the default
         ;; 'system.conf', so this is where we stuff our own things.
         (call-with-output-file (string-append #$output "/system-local.conf")
@@ -81,6 +75,12 @@
 
   (computed-file "dbus-configuration" build))
 
+(define (dbus-etc-files config)
+  "Return a list of FILES for @var{etc-service-type} to build the
+@code{/etc/dbus-1} directory."
+  (list `("dbus-1" ,(dbus-configuration-directory
+                     (dbus-configuration-services config)))))
+
 (define %dbus-accounts
   ;; Accounts used by the system bus.
   (list (user-group (name "messagebus") (system? #t))
@@ -118,20 +118,15 @@
                     (execl prog)))
                 (waitpid pid)))))))
 
-(define dbus-dmd-service
-  (match-lambda
-    (($ <dbus-configuration> dbus services)
-     (let ((conf (dbus-configuration-directory dbus services)))
-       (list (dmd-service
-              (documentation "Run the D-Bus system daemon.")
-              (provision '(dbus-system))
-              (requirement '(user-processes))
-              (start #~(make-forkexec-constructor
-                        (list (string-append #$dbus "/bin/dbus-daemon")
-                              "--nofork"
-                              (string-append "--config-file=" #$conf
-                                             "/system.conf"))))
-              (stop #~(make-kill-destructor))))))))
+(define (dbus-dmd-service config)
+  (list (dmd-service
+         (documentation "Run the D-Bus system daemon.")
+         (provision '(dbus-system))
+         (requirement '(user-processes))
+         (start #~(make-forkexec-constructor
+                   (list (string-append #$dbus "/bin/dbus-daemon")
+                         "--nofork" "--system")))
+         (stop #~(make-kill-destructor)))))
 
 (define dbus-root-service-type
   (service-type (name 'dbus)
@@ -140,6 +135,8 @@
                                           dbus-dmd-service)
                        (service-extension activation-service-type
                                           dbus-activation)
+                       (service-extension etc-service-type
+                                          dbus-etc-files)
                        (service-extension account-service-type
                                           (const %dbus-accounts))))
 
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf'.
  2015-10-18  6:44 [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf' 宋文武
@ 2015-10-18 17:37 ` Ludovic Courtès
  2015-10-21 22:52   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2015-10-18 17:37 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

iyzsong@member.fsf.org (宋文武) skribis:

> From 96e156d36444b197bb5d07d8d680ec4e85863f83 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
> Date: Sun, 18 Oct 2015 14:18:52 +0800
> Subject: [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf'.
>
> * gnu/services/dbus.scm (dbus-etc-files): New procedure.
>   (dbus-dmd-service): Remove the use of '--config-file'.
>   (dbus-configuration-directory): Adjust accordingly.
>   (dbus-root-service-type): Add extension of ETC-SERVICE-TYPE.

Sure, please push to ‘dbus-update’!

I have a patch locally to fix bus activation.  I’ll push afterwards.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf'.
  2015-10-18 17:37 ` Ludovic Courtès
@ 2015-10-21 22:52   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2015-10-21 22:52 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) skribis:

> I have a patch locally to fix bus activation.  I’ll push afterwards.

I’ve finally done that.  And of course, I realized that we needed
another D-Bus patch to make it work…  So I added a ‘dbus/activation’
package that has the additional patch, and (gnu services dbus) defaults
to this particular variant.  Eventually, we’ll put that patch in the
real ‘dbus’ package.

Anyway, comments welcome!

I’ll be away for a couple of days; it’d be great if someone could take
care of merging ‘dbus-update’ in ‘master’ when it’s ready.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-21 22:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-18  6:44 [PATCH] services: dbus: Build '/etc/dbus-1/system-local.conf' 宋文武
2015-10-18 17:37 ` Ludovic Courtès
2015-10-21 22:52   ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.