guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 02/11] Use 'shepherd' instead of 'dmd' as init system.


From: Alex Kost
Subject: [PATCH 02/11] Use 'shepherd' instead of 'dmd' as init system.
Date: Thu, 28 Jan 2016 00:10:27 +0300

* gnu/services/dmd.scm (dmd-boot-gexp): Use binary from 'shepherd' package.
  (dmd-root-service-type): Use 'shepherd' package.
  (%default-modules): Use (shepherd service) module.
* gnu/services/base.scm (%root-file-system-dmd-service): Use
  'stop-logging' procedure to close shepherd log.
---
 gnu/services/base.scm |  9 +++------
 gnu/services/dmd.scm  | 10 +++++-----
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 0399c00..fbb29c1 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <address@hidden>
-;;; Copyright © 2015 Alex Kost <address@hidden>
+;;; Copyright © 2015, 2016 Alex Kost <address@hidden>
 ;;; Copyright © 2015 Mark H Weaver <address@hidden>
 ;;; Copyright © 2015 Sou Bunnbu <address@hidden>
 ;;;
@@ -160,12 +160,9 @@
              (call-with-blocked-asyncs
               (lambda ()
                 (let ((null (%make-void-port "w")))
-                  ;; Close 'dmd.log'.
+                  ;; Close 'shepherd.log'.
                   (display "closing log\n")
-                  ;; XXX: Ideally we'd use 'stop-logging', but that one
-                  ;; doesn't actually close the port as of dmd 0.1.
-                  (close-port (@@ (dmd comm) log-output-port))
-                  (set! (@@ (dmd comm) log-output-port) null)
+                  ((@ (shepherd comm) stop-logging))
 
                   ;; Redirect the default output ports..
                   (set-current-output-port null)
diff --git a/gnu/services/dmd.scm b/gnu/services/dmd.scm
index fb3d332..828d781 100644
--- a/gnu/services/dmd.scm
+++ b/gnu/services/dmd.scm
@@ -77,9 +77,9 @@
                     (false-if-exception (close-fdes fd))
                     (loop (+ 1 fd))))
 
-                ;; Start dmd.
-                (execl (string-append #$dmd "/bin/dmd")
-                       "dmd" "--config" #$dmd-conf)))))
+                ;; Start shepherd.
+                (execl (string-append #$shepherd "/bin/shepherd")
+                       "shepherd" "--config" #$dmd-conf)))))
 
 (define dmd-root-service-type
   (service-type
@@ -90,7 +90,7 @@
    (extend append)
    (extensions (list (service-extension boot-service-type dmd-boot-gexp)
                      (service-extension profile-service-type
-                                        (const (list dmd)))))))
+                                        (const (list shepherd)))))))
 
 (define %dmd-root-service
   ;; The root dmd service, aka. PID 1.  Its parameter is a list of
@@ -113,7 +113,7 @@ service that extends DMD-ROOT-SERVICE-TYPE and nothing 
else."
 
 (define %default-modules
   ;; Default set of modules visible in a service's file.
-  `((dmd service)
+  `((shepherd service)
     (oop goops)
     (guix build utils)
     (guix build syscalls)))
-- 
2.6.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]