From: Fabian Harfert <fhmgufs@web.de>
To: guix-devel@gnu.org
Subject: [Shepherd][PATCH] Rename 'deco' command to 'herd'.
Date: Sat, 16 Jan 2016 20:09:04 +0100 [thread overview]
Message-ID: <20160116200904.6562c582@alarmpi> (raw)
[-- Attachment #1: Type: text/plain, Size: 169 bytes --]
Hello!
Now I also changed the 'deco' command to 'herd'. I hope I made
everything right because I don't know much about Guile/Scheme (I think
that will change!).
Fabian
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Rename-deco-command-to-herd.patch --]
[-- Type: text/x-patch, Size: 23969 bytes --]
From 20019c64c84455aea2328be37837d83a8a3a001a Mon Sep 17 00:00:00 2001
From: Fabian Harfert <fhmgufs@web.de>
Date: Sat, 16 Jan 2016 20:08:18 +0100
Subject: [PATCH] Rename 'deco' command to 'herd'.
---
Makefile.am | 6 +-
deco.in | 7 --
herd.in | 7 ++
modules/deco.scm | 172 -------------------------------------------
modules/herd.scm | 172 +++++++++++++++++++++++++++++++++++++++++++
modules/shepherd.scm | 4 +-
modules/shepherd/comm.scm | 4 +-
modules/shepherd/service.scm | 2 +-
modules/shepherd/support.scm | 2 +-
tests/basic.sh | 34 ++++-----
tests/no-home.sh | 6 +-
tests/respawn.sh | 16 ++--
tests/sigint.sh | 4 +-
tests/status-sexp.sh | 8 +-
14 files changed, 222 insertions(+), 222 deletions(-)
delete mode 100644 deco.in
create mode 100644 herd.in
delete mode 100644 modules/deco.scm
create mode 100644 modules/herd.scm
diff --git a/Makefile.am b/Makefile.am
index 9bbc3e3..2323478 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -17,10 +17,10 @@
# along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
# The main programs.
-bin_SCRIPTS = shepherd deco
+bin_SCRIPTS = shepherd herd
sbin_SCRIPTS = halt reboot
templates = \
- shepherd.in deco.in halt.in reboot.in \
+ shepherd.in herd.in halt.in reboot.in \
modules/shepherd/config.scm.in \
modules/shepherd/system.scm.in
@@ -30,7 +30,7 @@ BUILT_SOURCES = modules/shepherd/config.scm
# The source files.
shepherddir = ${datadir}/shepherd
dist_shepherd_DATA = \
- modules/deco.scm \
+ modules/herd.scm \
modules/shepherd.scm \
modules/halt.scm \
modules/reboot.scm
diff --git a/deco.in b/deco.in
deleted file mode 100644
index cee4ebe..0000000
--- a/deco.in
+++ /dev/null
@@ -1,7 +0,0 @@
-#!%GUILE% --no-auto-compile
--*- scheme -*-
-!#
-
-(set! %load-path (cons "%modsrcdir%" %load-path))
-(set! %load-compiled-path (cons "%modbuilddir%" %load-compiled-path))
-(apply (@ (deco) main) (cdr (command-line)))
diff --git a/herd.in b/herd.in
new file mode 100644
index 0000000..bbf25e7
--- /dev/null
+++ b/herd.in
@@ -0,0 +1,7 @@
+#!%GUILE% --no-auto-compile
+-*- scheme -*-
+!#
+
+(set! %load-path (cons "%modsrcdir%" %load-path))
+(set! %load-compiled-path (cons "%modbuilddir%" %load-compiled-path))
+(apply (@ (herd) main) (cdr (command-line)))
diff --git a/modules/deco.scm b/modules/deco.scm
deleted file mode 100644
index f2298e1..0000000
--- a/modules/deco.scm
+++ /dev/null
@@ -1,172 +0,0 @@
-;; deco.scm -- The `DaEmon COntrol' program.
-;; Copyright (C) 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
-;; Copyright (C) 2002, 2003 Wolfgang Jährling <wolfgang@pro-linux.de>
-;;
-;; This file is part of the GNU Shepherd.
-;;
-;; The GNU Shepherd is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3 of the License, or (at
-;; your option) any later version.
-;;
-;; The GNU Shepherd is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (deco)
- #:use-module (shepherd config)
- #:use-module (shepherd support)
- #:use-module (shepherd args)
- #:use-module (shepherd comm)
- #:use-module (oop goops)
- #:use-module (ice-9 rdelim)
- #:use-module (ice-9 match)
- #:use-module (srfi srfi-1)
- #:export (program-name
- main))
-
-(define program-name "deco")
-
-\f
-(define (service-list-error services)
- (format (current-error-port)
- (l10n "~a: error: received an invalid service list:~%~s~%")
- program-name services))
-
-(define-syntax alist-let*
- (syntax-rules ()
- "Bind the given KEYs in EXP to the corresponding items in ALIST. ALIST
-is assumed to be a list of two-element tuples rather than a traditional list
-of pairs."
- ((_ alist (key ...) exp ...)
- (let ((key (and=> (assoc-ref alist 'key) car)) ...)
- exp ...))))
-
-(define service-canonical-name
- (match-lambda
- (('service ('version 0 _ ...) (provides (name0 _ ...)) _ ...)
- name0)))
-
-(define (display-status-summary services)
- "Display a summary of the status of all of SERVICES."
- (match services
- (('service-list ('version 0) services ...)
- (call-with-values
- (lambda ()
- (partition (match-lambda
- (('service ('version 0 _ ...) properties ...)
- (car (assoc-ref properties 'running))))
- services))
- (lambda (started stopped)
- (format #t (l10n "Started: ~a~%")
- (map service-canonical-name started))
- (format #t (l10n "Stopped: ~a~%")
- (map service-canonical-name stopped)))))
- (_
- (service-list-error services))))
-
-(define (display-detailed-status services)
- "Display the detailed status of SERVICES."
- (match services
- (('service-list ('version 0) services ...)
- (for-each display-service-status services))
- (_
- (service-list-error services))))
-
-(define (display-service-status service)
- "Display the status of SERVICE, an sexp."
- (match service
- (('service ('version 0 _ ...) properties ...)
- (alist-let* properties (provides requires running respawn? enabled?)
- (format #t (l10n "Status of ~a:~%") (first provides))
- (if running
- (begin
- (format #t (l10n " It is started.~%"))
- (format #t (l10n " Running value is ~s.~%") running))
- (format #t (l10n " It is stopped.~%")))
- (if enabled?
- (format #t (l10n " It is enabled.~%"))
- (format #t (l10n " It is disabled.~%")))
- (format #t (l10n " Provides ~a.~%") provides)
- (format #t (l10n " Requires ~a.~%") requires)
- ;; FIXME: We don't have that information.
- ;; (format #t (l10n " Conflicts with ~a." (conflicts-with obj)))
- (if respawn?
- (format #t (l10n " Will be respawned.~%"))
- (format #t (l10n " Will not be respawned.~%")))))))
-
-(define (run-command socket-file action service args)
- "Perform ACTION with ARGS on SERVICE, and display the result. Connect to
-the daemon via SOCKET-FILE."
- (with-system-error-handling
- (let ((sock (open-connection socket-file))
- (action* (if (and (eq? service 'dmd) (eq? action 'detailed-status))
- 'status
- action)))
- ;; Send the command.
- (write-command (dmd-command action* service #:arguments args)
- sock)
-
- ;; Receive output.
- (setvbuf sock _IOLBF)
-
- ;; Interpret the command's output when possible and format it in a
- ;; human-readable way.
- (match (list action service)
- (('status 'dmd)
- (display-status-summary (read sock)))
- (('detailed-status 'dmd)
- (display-detailed-status (read sock)))
- (('status _)
- (display-service-status (read sock)))
- (_
- ;; For other commands, we don't do any interpretation.
- (let loop ((line (read-line sock)))
- (unless (eof-object? line)
- (display line)
- (newline)
- (loop (read-line sock))))))
-
- (close-port sock))))
-
-\f
-;; Main program.
-(define (main . args)
- (false-if-exception (setlocale LC_ALL ""))
-
- (let ((socket-file default-socket-file)
- (command-args '()))
- (process-args program-name args
- "ACTION SERVICE [ARG...]"
- (string-append
- "Apply ACTION (start, stop, status, etc.) on SERVICE"
- " with the ARGs.")
- (lambda (arg)
- ;; Collect unknown args.
- (set! command-args (cons arg command-args)))
- (make <option>
- #:long "socket" #:short #\s
- #:takes-arg? #t #:optional-arg? #f #:arg-name "FILE"
- #:description "send commands to FILE"
- #:action (lambda (file)
- (set! socket-file file))))
-
- (match (reverse command-args)
- (((and action (or "status" "detailed-status"))) ;one argument
- (run-command socket-file (string->symbol action) 'dmd '()))
- ((action service args ...)
- (run-command socket-file
- (string->symbol action)
- (string->symbol service) args))
- (_
- (format (current-error-port)
- (l10n "Usage: deco ACTION [SERVICE [OPTIONS...]]~%"))
- (exit 1)))))
-
-;; Local Variables:
-;; eval: (put 'alist-let* 'scheme-indent-function 2)
-;; End:
diff --git a/modules/herd.scm b/modules/herd.scm
new file mode 100644
index 0000000..47934a6
--- /dev/null
+++ b/modules/herd.scm
@@ -0,0 +1,172 @@
+;; herd.scm -- The program to herd the Shepherd.
+;; Copyright (C) 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
+;; Copyright (C) 2002, 2003 Wolfgang Jährling <wolfgang@pro-linux.de>
+;;
+;; This file is part of the GNU Shepherd.
+;;
+;; The GNU Shepherd is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3 of the License, or (at
+;; your option) any later version.
+;;
+;; The GNU Shepherd is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (herd)
+ #:use-module (shepherd config)
+ #:use-module (shepherd support)
+ #:use-module (shepherd args)
+ #:use-module (shepherd comm)
+ #:use-module (oop goops)
+ #:use-module (ice-9 rdelim)
+ #:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
+ #:export (program-name
+ main))
+
+(define program-name "herd")
+
+\f
+(define (service-list-error services)
+ (format (current-error-port)
+ (l10n "~a: error: received an invalid service list:~%~s~%")
+ program-name services))
+
+(define-syntax alist-let*
+ (syntax-rules ()
+ "Bind the given KEYs in EXP to the corresponding items in ALIST. ALIST
+is assumed to be a list of two-element tuples rather than a traditional list
+of pairs."
+ ((_ alist (key ...) exp ...)
+ (let ((key (and=> (assoc-ref alist 'key) car)) ...)
+ exp ...))))
+
+(define service-canonical-name
+ (match-lambda
+ (('service ('version 0 _ ...) (provides (name0 _ ...)) _ ...)
+ name0)))
+
+(define (display-status-summary services)
+ "Display a summary of the status of all of SERVICES."
+ (match services
+ (('service-list ('version 0) services ...)
+ (call-with-values
+ (lambda ()
+ (partition (match-lambda
+ (('service ('version 0 _ ...) properties ...)
+ (car (assoc-ref properties 'running))))
+ services))
+ (lambda (started stopped)
+ (format #t (l10n "Started: ~a~%")
+ (map service-canonical-name started))
+ (format #t (l10n "Stopped: ~a~%")
+ (map service-canonical-name stopped)))))
+ (_
+ (service-list-error services))))
+
+(define (display-detailed-status services)
+ "Display the detailed status of SERVICES."
+ (match services
+ (('service-list ('version 0) services ...)
+ (for-each display-service-status services))
+ (_
+ (service-list-error services))))
+
+(define (display-service-status service)
+ "Display the status of SERVICE, an sexp."
+ (match service
+ (('service ('version 0 _ ...) properties ...)
+ (alist-let* properties (provides requires running respawn? enabled?)
+ (format #t (l10n "Status of ~a:~%") (first provides))
+ (if running
+ (begin
+ (format #t (l10n " It is started.~%"))
+ (format #t (l10n " Running value is ~s.~%") running))
+ (format #t (l10n " It is stopped.~%")))
+ (if enabled?
+ (format #t (l10n " It is enabled.~%"))
+ (format #t (l10n " It is disabled.~%")))
+ (format #t (l10n " Provides ~a.~%") provides)
+ (format #t (l10n " Requires ~a.~%") requires)
+ ;; FIXME: We don't have that information.
+ ;; (format #t (l10n " Conflicts with ~a." (conflicts-with obj)))
+ (if respawn?
+ (format #t (l10n " Will be respawned.~%"))
+ (format #t (l10n " Will not be respawned.~%")))))))
+
+(define (run-command socket-file action service args)
+ "Perform ACTION with ARGS on SERVICE, and display the result. Connect to
+the daemon via SOCKET-FILE."
+ (with-system-error-handling
+ (let ((sock (open-connection socket-file))
+ (action* (if (and (eq? service 'dmd) (eq? action 'detailed-status))
+ 'status
+ action)))
+ ;; Send the command.
+ (write-command (dmd-command action* service #:arguments args)
+ sock)
+
+ ;; Receive output.
+ (setvbuf sock _IOLBF)
+
+ ;; Interpret the command's output when possible and format it in a
+ ;; human-readable way.
+ (match (list action service)
+ (('status 'dmd)
+ (display-status-summary (read sock)))
+ (('detailed-status 'dmd)
+ (display-detailed-status (read sock)))
+ (('status _)
+ (display-service-status (read sock)))
+ (_
+ ;; For other commands, we don't do any interpretation.
+ (let loop ((line (read-line sock)))
+ (unless (eof-object? line)
+ (display line)
+ (newline)
+ (loop (read-line sock))))))
+
+ (close-port sock))))
+
+\f
+;; Main program.
+(define (main . args)
+ (false-if-exception (setlocale LC_ALL ""))
+
+ (let ((socket-file default-socket-file)
+ (command-args '()))
+ (process-args program-name args
+ "ACTION SERVICE [ARG...]"
+ (string-append
+ "Apply ACTION (start, stop, status, etc.) on SERVICE"
+ " with the ARGs.")
+ (lambda (arg)
+ ;; Collect unknown args.
+ (set! command-args (cons arg command-args)))
+ (make <option>
+ #:long "socket" #:short #\s
+ #:takes-arg? #t #:optional-arg? #f #:arg-name "FILE"
+ #:description "send commands to FILE"
+ #:action (lambda (file)
+ (set! socket-file file))))
+
+ (match (reverse command-args)
+ (((and action (or "status" "detailed-status"))) ;one argument
+ (run-command socket-file (string->symbol action) 'dmd '()))
+ ((action service args ...)
+ (run-command socket-file
+ (string->symbol action)
+ (string->symbol service) args))
+ (_
+ (format (current-error-port)
+ (l10n "Usage: herd ACTION [SERVICE [OPTIONS...]]~%"))
+ (exit 1)))))
+
+;; Local Variables:
+;; eval: (put 'alist-let* 'scheme-indent-function 2)
+;; End:
diff --git a/modules/shepherd.scm b/modules/shepherd.scm
index 290f691..a678d8c 100644
--- a/modules/shepherd.scm
+++ b/modules/shepherd.scm
@@ -225,7 +225,7 @@
(chdir dir)
;; We have to catch `quit' so that we can send the terminator
- ;; line to deco before we actually quit.
+ ;; line to herd before we actually quit.
(catch 'quit
(lambda ()
(case the-action
@@ -249,7 +249,7 @@
(define (process-textual-commands port)
"Process textual commands from PORT. 'Textual' means that they're as you
-would write them on the 'deco' command line."
+would write them on the 'herd' command line."
(let loop ((line (read-line port)))
(if (eof-object? line)
diff --git a/modules/shepherd/comm.scm b/modules/shepherd/comm.scm
index af854f0..8f87a11 100644
--- a/modules/shepherd/comm.scm
+++ b/modules/shepherd/comm.scm
@@ -116,7 +116,7 @@ return the socket."
(make-parameter #f))
;; We provide our own output mechanism, because we have certain
-;; special needs; most importantly, we want to send output to deco
+;; special needs; most importantly, we want to send output to herd
;; sometimes.
(define (make-dmd-output-port original-output-port)
(make-soft-port
@@ -129,7 +129,7 @@ return the socket."
;; A string for output.
(let ((buffer '())) ;; List of unwritten output strings.
(lambda (str)
- ;; When deco is connected, send it the output; otherwise, in the
+ ;; When herd is connected, send it the output; otherwise, in the
;; unlikely case nobody is listening, send to the standard output.
(if (%current-client-socket)
(catch-system-error
diff --git a/modules/shepherd/service.scm b/modules/shepherd/service.scm
index e7ead91..56ef9a0 100644
--- a/modules/shepherd/service.scm
+++ b/modules/shepherd/service.scm
@@ -1014,7 +1014,7 @@ file when persistence is enabled."
(make-actions
(status
"Return an s-expression showing information about all the services.
-Clients such as 'deco' can read it and format it in a human-readable way."
+Clients such as 'herd' can read it and format it in a human-readable way."
(lambda (running)
(local-output "~s~%"
`(service-list
diff --git a/modules/shepherd/support.scm b/modules/shepherd/support.scm
index dad7b2c..32b79e7 100644
--- a/modules/shepherd/support.scm
+++ b/modules/shepherd/support.scm
@@ -1,4 +1,4 @@
-;; support.scm -- Various support facilities, used by deco and dmd.
+;; support.scm -- Various support facilities, used by herd and dmd.
;; Copyright (C) 2014 A.Sassmannshausen <alex.sassmannshausen@gmail.com>
;; Copyright (C) 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;; Copyright (C) 2002, 2003 Wolfgang Jährling <wolfgang@pro-linux.de>
diff --git a/tests/basic.sh b/tests/basic.sh
index d91bb06..dfe5d18 100644
--- a/tests/basic.sh
+++ b/tests/basic.sh
@@ -18,7 +18,7 @@
# along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
shepherd --version
-deco --version
+herd --version
socket="t-socket-$$"
conf="t-conf-$$"
@@ -26,7 +26,7 @@ log="t-log-$$"
stamp="t-stamp-$$"
pid="t-pid-$$"
-deco="deco -s $socket"
+herd="herd -s $socket"
trap "rm -f $socket $conf $stamp $log $pid;
test -f $pid && kill \`cat $pid\` || true" EXIT
@@ -65,35 +65,35 @@ dmd_pid="`cat $pid`"
kill -0 $dmd_pid
test -S "$socket"
-pristine_status=`$deco status dmd` # Prep for 'reload' test.
+pristine_status=`$herd status dmd` # Prep for 'reload' test.
echo $pristine_status | grep -E '(Start.*dmd|Stop.*test)'
-$deco start test
+$herd start test
test -f "$stamp"
-$deco status test | grep started
+$herd status test | grep started
-$deco stop test
+$herd stop test
! test -f "$stamp"
-$deco status test | grep stopped
+$herd status test | grep stopped
-$deco start test-2
+$herd start test-2
-$deco status test-2 | grep started
+$herd status test-2 | grep started
# Unload one service, make sure the other it still around.
-$deco unload dmd test
-$deco status | grep "Stopped: (test-2)"
+$herd unload dmd test
+$herd status | grep "Stopped: (test-2)"
-$deco reload dmd "$conf"
-test "`$deco status`" == "$pristine_status"
+$herd reload dmd "$conf"
+test "`$herd status`" == "$pristine_status"
# Unload everything and make sure only 'dmd' is left.
-$deco unload dmd all
-$deco status | grep "Stopped: ()"
-$deco status | grep "Started: (dmd)"
+$herd unload dmd all
+$herd status | grep "Stopped: ()"
+$herd status | grep "Started: (dmd)"
-$deco stop dmd
+$herd stop dmd
! kill -0 $dmd_pid
test -f "$log"
diff --git a/tests/no-home.sh b/tests/no-home.sh
index 06a757e..3cf773a 100644
--- a/tests/no-home.sh
+++ b/tests/no-home.sh
@@ -30,7 +30,7 @@ fi
socket="t-socket-$$"
pid="t-pid-$$"
-deco="deco -s $socket"
+herd="herd -s $socket"
trap "rm -f $socket $pid;
test -f $pid && kill \`cat $pid\` || true" EXIT
@@ -43,8 +43,8 @@ dmd_pid="$!"
while ! test -f "$pid" ; do kill -0 "$dmd_pid" ; done
kill -0 `cat "$pid"`
-$deco status dmd
-$deco stop dmd
+$herd status dmd
+$herd stop dmd
if kill `cat "$pid"`
then
diff --git a/tests/respawn.sh b/tests/respawn.sh
index afffaf3..629e684 100644
--- a/tests/respawn.sh
+++ b/tests/respawn.sh
@@ -17,7 +17,7 @@
# along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
shepherd --version
-deco --version
+herd --version
socket="t-socket-$$"
conf="t-conf-$$"
@@ -27,7 +27,7 @@ service1_pid="t-service1-pid-$$"
service2_pid="t-service2-pid-$$"
pid="t-pid-$$"
-deco="deco -s $socket"
+herd="herd -s $socket"
trap "cat $log || true ;
rm -f $socket $conf $stamp $log $pid $service1_pid $service2_pid ;
@@ -91,9 +91,9 @@ dmd_pid="`cat $pid`"
kill -0 $dmd_pid
test -S "$socket"
-$deco status
-$deco status test1 | grep started
-$deco status test2 | grep started
+$herd status
+$herd status test1 | grep started
+$herd status test2 | grep started
# The services are started, but that does not mean that they have
# written their PID file yet, so use 'wait_for_file' rather than
@@ -116,10 +116,10 @@ assert_killed_service_is_respawned "$service2_pid"
# Make sure the respawnable service can be stopped.
pid="`cat "$service1_pid"`"
rm "$service1_pid"
-$deco stop test1
-$deco status test1 | grep stopped
+$herd stop test1
+$herd status test1 | grep stopped
! test -f "$service1_pid"
! kill -0 "$pid"
cat $service2_pid
-$deco stop dmd
+$herd stop dmd
diff --git a/tests/sigint.sh b/tests/sigint.sh
index ebf8f3d..1fe1a3f 100644
--- a/tests/sigint.sh
+++ b/tests/sigint.sh
@@ -17,14 +17,14 @@
# along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
shepherd --version
-deco --version
+herd --version
socket="t-socket-$$"
conf="t-conf-$$"
stamp="t-stamp-$$"
pid="t-pid-$$"
-deco="deco -s $socket"
+herd="herd -s $socket"
trap "rm -f $socket $conf $stamp $pid;
test -f $pid && kill \`cat $pid\` || true" EXIT
diff --git a/tests/status-sexp.sh b/tests/status-sexp.sh
index 17f086f..c3fcbba 100644
--- a/tests/status-sexp.sh
+++ b/tests/status-sexp.sh
@@ -17,14 +17,14 @@
# along with the GNU Shepherd. If not, see <http://www.gnu.org/licenses/>.
shepherd --version
-deco --version
+herd --version
socket="t-socket-$$"
conf="t-conf-$$"
log="t-log-$$"
pid="t-pid-$$"
-deco="deco -s $socket"
+herd="herd -s $socket"
trap "rm -f $socket $conf $stamp $log $pid;
test -f $pid && kill \`cat $pid\` || true" EXIT
@@ -92,7 +92,7 @@ dmd_service_sexp="
"
# Unload everything and make sure only 'dmd' is left.
-$deco unload dmd all
+$herd unload dmd all
"$GUILE" -c "
(use-modules (shepherd comm))
@@ -101,7 +101,7 @@ $deco unload dmd all
(equal? $fetch_status
'(service-list (version 0) $dmd_service_sexp)))"
-$deco stop dmd
+$herd stop dmd
! kill -0 $dmd_pid
test -f "$log"
--
2.7.0
reply other threads:[~2016-01-16 19:09 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160116200904.6562c582@alarmpi \
--to=fhmgufs@web.de \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.