From 34044d551f84cd5cd2568145f4ad3eaf690154ba Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 27 Jan 2016 18:22:23 +0300 Subject: 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. --- 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 0399c0049d..fbb29c1ee2 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 -;;; Copyright © 2015 Alex Kost +;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu ;;; @@ -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 fb3d3326f8..828d781e4a 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))) -- cgit v1.2.3