summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-10-22 00:42:33 +0200
committerLudovic Courtès <ludo@gnu.org>2015-10-22 00:44:18 +0200
commit26909789d06b1e006ff45980aac59d3faa31436e (patch)
tree8618b44ebcda3a82eef9a9fd3761760b13ab8192
parentcde0402169cd93497084664c8d8d399808a1ea82 (diff)
downloadguix-26909789d06b1e006ff45980aac59d3faa31436e.tar.gz
services: Rely on D-Bus activation for colord, geoclue, and polkit.
* gnu/services/desktop.scm (colord-dmd-service): Remove.
  (colord-service-type): Adjust accordingly.
  (geoclue-dmd-service): Remove.
  (geoclue-service-type): Adjust accordingly.
  (polkit-dmd-service): Remove.
  (polkit-service-type): Adjust accordingly.
-rw-r--r--gnu/services/desktop.scm50
1 files changed, 3 insertions, 47 deletions
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 69edc6d9bb..87d3eaa1b0 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -245,17 +245,6 @@ levels, with the given configuration settings.  It implements the
          (home-directory "/var/empty")
          (shell #~(string-append #$shadow "/sbin/nologin")))))
 
-(define (colord-dmd-service colord)
-  "Return a dmd service for COLORD."
-  ;; TODO: Remove when D-Bus activation works.
-  (list (dmd-service
-         (documentation "Run the colord color management service.")
-         (provision '(colord-daemon))
-         (requirement '(dbus-system udev))
-         (start #~(make-forkexec-constructor
-                   (list (string-append #$colord "/libexec/colord"))))
-         (stop #~(make-kill-destructor)))))
-
 (define colord-service-type
   (service-type (name 'colord)
                 (extensions
@@ -263,8 +252,6 @@ levels, with the given configuration settings.  It implements the
                                           (const %colord-accounts))
                        (service-extension activation-service-type
                                           (const %colord-activation))
-                       (service-extension dmd-root-service-type
-                                          colord-dmd-service)
 
                        ;; Colord is a D-Bus service that dbus-daemon can
                        ;; activate.
@@ -343,23 +330,6 @@ users are allowed."
                               "GEOCLUE_CONFIG_FILE"
                               (geoclue-configuration-file config))))
 
-(define (geoclue-dmd-service config)
-  "Return a GeoClue dmd service for CONFIG."
-  ;; TODO: Remove when D-Bus activation works.
-  (let ((geoclue (geoclue-configuration-geoclue config))
-        (config  (geoclue-configuration-file config)))
-    (list (dmd-service
-           (documentation "Run the GeoClue location service.")
-           (provision '(geoclue-daemon))
-           (requirement '(dbus-system))
-
-           (start #~(make-forkexec-constructor
-                     (list (string-append #$geoclue "/libexec/geoclue"))
-                     #:user "geoclue"
-                     #:environment-variables
-                     (list (string-append "GEOCLUE_CONFIG_FILE=" #$config))))
-           (stop #~(make-kill-destructor))))))
-
 (define %geoclue-accounts
   (list (user-group (name "geoclue") (system? #t))
         (user-account
@@ -375,8 +345,6 @@ users are allowed."
                 (extensions
                  (list (service-extension dbus-root-service-type
                                           geoclue-dbus-service)
-                       (service-extension dmd-root-service-type
-                                          geoclue-dmd-service)
                        (service-extension account-service-type
                                           (const %geoclue-accounts))))))
 
@@ -426,18 +394,6 @@ site} for more information."
 (define %polkit-pam-services
   (list (unix-pam-service "polkitd")))
 
-(define (polkit-dmd-service polkit)
-  "Return the <dmd-service> for POLKIT."
-  ;; TODO: Remove when D-Bus activation works.
-  (list (dmd-service
-         (documentation "Run the polkit privilege management service.")
-         (provision '(polkit-daemon))
-         (requirement '(dbus-system))
-
-         (start #~(make-forkexec-constructor
-                   (list (string-append #$polkit "/lib/polkit-1/polkitd"))))
-         (stop #~(make-kill-destructor)))))
-
 (define polkit-service-type
   ;; TODO: Make it extensible so it can collect policy files from other
   ;; services.
@@ -448,9 +404,7 @@ site} for more information."
                        (service-extension pam-root-service-type
                                           (const %polkit-pam-services))
                        (service-extension dbus-root-service-type
-                                          list)
-                       (service-extension dmd-root-service-type
-                                          polkit-dmd-service)))))
+                                          list)))))
 
 (define* (polkit-service #:key (polkit polkit))
   "Return a service that runs the @command{polkit} privilege management
@@ -601,6 +555,8 @@ the system if the user is logged in locally."
 
 (define (elogind-dmd-service config)
   "Return a dmd service for elogind, using @var{config}."
+  ;; TODO: We could probably rely on service activation but the '.service'
+  ;; file currently contains an erroneous 'Exec' line.
   (let ((config-file (elogind-configuration-file config))
         (elogind     (elogind-package config)))
     (list (dmd-service