Use 'shepherd' instead of 'dmd' as init system.
* 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.master
parent
d312a8328d
commit
34044d551f
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;;
|
||||
|
@ -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)
|
||||
|
|
|
@ -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)))
|
||||
|
|
Reference in New Issue