[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[shepherd] 02/07: Rename 'deco' command to 'herd'.
From: |
Ludovic Courtès |
Subject: |
[shepherd] 02/07: Rename 'deco' command to 'herd'. |
Date: |
Sun, 17 Jan 2016 14:15:29 +0000 |
civodul pushed a commit to branch master
in repository shepherd.
commit 4fbbf75ca8b895c3e8f4f098543df6d0ced23752
Author: Fabian Harfert <address@hidden>
Date: Sat Jan 16 20:08:18 2016 +0100
Rename 'deco' command to 'herd'.
* deco.in: Rename to...
* herd.in: ... this.
* modules/deco.scm: Rename to...
* modules/herd.scm: ... this.
* modules/shepherd.scm, modules/shepherd/comm.scm,
modules/shepherd/service.scm, modules/shepherd/support.scm,
tests/basic.sh, tests/no-home.sh, tests/respawn.sh,
tests/sigint.sh, tests/status-sexp.sh: Adjust accordingly.
* Makefile.am (bin_SCRIPTS, template, dist_shepherd_DATA): Adjust
accordingly.
* shepherd.texi: Change 'deco' to 'herd'.
(Invoking herd): Rename to...
(Invoking deco): ... this.
(deco and shepherd): Rename to...
(herd and shepherd): ... this. Explain the name 'herd' and mention
'deco' in a footnote.
Co-authored-by: Ludovic Courtès <address@hidden>
---
.gitignore | 2 +-
Makefile.am | 6 +-
deco.in => herd.in | 2 +-
modules/{deco.scm => herd.scm} | 8 ++--
modules/shepherd.scm | 4 +-
modules/shepherd/comm.scm | 4 +-
modules/shepherd/service.scm | 2 +-
modules/shepherd/support.scm | 2 +-
shepherd.texi | 97 +++++++++++++++++++++-------------------
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, 100 insertions(+), 95 deletions(-)
diff --git a/.gitignore b/.gitignore
index 0b281f8..c9da5c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,7 @@
/config.log
/config.scm
/config.status
-/deco
+/herd
/dmd
/examples/Makefile
/utils/Makefile
diff --git a/Makefile.am b/Makefile.am
index 16fd160..fa05468 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/herd.in
similarity index 78%
rename from deco.in
rename to herd.in
index cee4ebe..bbf25e7 100644
--- a/deco.in
+++ b/herd.in
@@ -4,4 +4,4 @@
(set! %load-path (cons "%modsrcdir%" %load-path))
(set! %load-compiled-path (cons "%modbuilddir%" %load-compiled-path))
-(apply (@ (deco) main) (cdr (command-line)))
+(apply (@ (herd) main) (cdr (command-line)))
diff --git a/modules/deco.scm b/modules/herd.scm
similarity index 97%
rename from modules/deco.scm
rename to modules/herd.scm
index f2298e1..47934a6 100644
--- a/modules/deco.scm
+++ b/modules/herd.scm
@@ -1,4 +1,4 @@
-;; deco.scm -- The `DaEmon COntrol' program.
+;; herd.scm -- The program to herd the Shepherd.
;; Copyright (C) 2013, 2014, 2016 Ludovic Courtès <address@hidden>
;; Copyright (C) 2002, 2003 Wolfgang Jährling <address@hidden>
;;
@@ -17,7 +17,7 @@
;; 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)
+(define-module (herd)
#:use-module (shepherd config)
#:use-module (shepherd support)
#:use-module (shepherd args)
@@ -29,7 +29,7 @@
#:export (program-name
main))
-(define program-name "deco")
+(define program-name "herd")
(define (service-list-error services)
@@ -164,7 +164,7 @@ the daemon via SOCKET-FILE."
(string->symbol service) args))
(_
(format (current-error-port)
- (l10n "Usage: deco ACTION [SERVICE [OPTIONS...]]~%"))
+ (l10n "Usage: herd ACTION [SERVICE [OPTIONS...]]~%"))
(exit 1)))))
;; Local Variables:
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 <address@hidden>
;; Copyright (C) 2013, 2014, 2016 Ludovic Courtès <address@hidden>
;; Copyright (C) 2002, 2003 Wolfgang Jährling <address@hidden>
diff --git a/shepherd.texi b/shepherd.texi
index 71796c3..6cca61c 100644
--- a/shepherd.texi
+++ b/shepherd.texi
@@ -23,7 +23,7 @@ Documentation License''.
@dircategory System software
@direntry
* shepherd: (shepherd). The Shepherd service manager.
-* deco: (shepherd)Invoking deco
+* herd: (shepherd)Invoking herd
Controlling the Shepherd service manager.
* reboot: (shepherd)Invoking reboot
Rebooting a Shepherd-controlled system.
@@ -57,7 +57,7 @@ manager for the GNU system.
@menu
* Introduction:: Introduction to the Shepherd service manager.
* Jump Start:: How to do simple things with the Shepherd.
-* deco and shepherd:: User interface to service management.
+* herd and shepherd:: User interface to service management.
* Services:: Details on services.
* Runlevels:: Details on runlevels.
* Misc Facilities:: Generally useful things provided by the Shepherd.
@@ -97,8 +97,8 @@ the Shepherd is no different. But don't worry: this manual
should allow you to
get started quickly. Its first chapter is designed as a practical
introduction to the Shepherd and should be all you need for everyday use
(@pxref{Jump Start}). In chapter two we will describe the
address@hidden and @command{shepherd} programs, and their relationship, in
-more detail (@ref{deco and shepherd}). Subsequent chapters provide a full
address@hidden and @command{shepherd} programs, and their relationship, in
+more detail (@ref{herd and shepherd}). Subsequent chapters provide a full
reference manual and plenty of examples, covering all of Shepherd's
capabilities. Finally, the last chapter provides information for
those souls brave enough to hack the Shepherd itself.
@@ -158,11 +158,11 @@ a daemon that (usually) runs in the
background, so you will not interact with it directly. After it is
started, @command{shepherd} will listen on a socket special file, usually
@code{/var/run/shepherd/socket}, for further commands. You use the tool
address@hidden to send these commands to @command{shepherd}. Usage of deco is
simple and
address@hidden to send these commands to @command{shepherd}. Usage of herd is
simple and
straightforward: To start a service called @code{apache}, you use:
@example
-deco start apache
+herd start apache
@end example
@cindex Status (of services)
@@ -175,14 +175,14 @@ will automatically be started as well. The current
status of all the
services defined in the configuration file can be queried like this:
@example
-deco status
+herd status
@end example
@noindent
Or, to get additional details about each service, run:
@example
-deco detailed-status
+herd detailed-status
@end example
@noindent
@@ -191,7 +191,7 @@ services as started. If you just want to know the status
of the
@code{apache} service, run:
@example
-deco status apache
+herd status apache
@end example
@cindex Stopping a service
@@ -203,7 +203,7 @@ as it cannot work without the network being up. To
actually stop a
service, you use the following, probably not very surprising, command:
@example
-deco stop networking
+herd stop networking
@end example
There are two more actions you can perform on every service: The
@@ -217,8 +217,8 @@ caused it from being respawned too fast, you can start it
again with
the commands:
@example
-deco enable foo
-deco start foo
+herd enable foo
+herd start foo
@end example
@cindex virtual services
@@ -243,7 +243,7 @@ reload its modules, therefore the action
@code{reload-modules} might
be available:
@example
-deco reload-modules apache
+herd reload-modules apache
@end example
The service-specific actions can only be used when the service is
@@ -288,10 +288,10 @@ additional argument. You can use @code{load} to load
arbitrary code
into the Shepherd at runtime, like this:
@example
-deco load dmd ~/additional-services.scm
+herd load dmd ~/additional-services.scm
@end example
-This is enough now about the @command{deco} and @command{shepherd} programs, we
+This is enough now about the @command{herd} and @command{shepherd} programs, we
will now take a look at how to configure the Shepherd. In the configuration
file, we need mainly the definition of services. We can also do
various other things there, like starting a few services already.
@@ -306,7 +306,7 @@ Ok, to summarize:
@itemize @bullet
@item
address@hidden is a daemon, @command{deco} the program that controls it.
address@hidden is a daemon, @command{herd} the program that controls it.
@item
You can start, stop, restart, enable and disable every service, as
well as display its status.
@@ -325,32 +325,37 @@ The @code{dmd} service is used to control
@command{shepherd} itself.
@c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
address@hidden deco and shepherd
address@hidden @command{deco} and @command{shepherd}
address@hidden herd and shepherd
address@hidden @command{herd} and @command{shepherd}
address@hidden deco
address@hidden herd
@cindex shepherd
@cindex daemon
@cindex daemon controller
@cindex relative file names
address@hidden herding, of daemons
The daemon that runs in the background and is responsible for
-controlling the services is @command{shepherd}, while the user interface tool
-is called @command{deco}, the @dfn{DaEmon address@hidden people
-might argue that it actually is short for ``decoration'', indicating
-that it is useless. :-)}. To perform an action, like stopping a
-service or calling an action of a service, you use the deco program.
-It will communicate with shepherd over a Unix Domain Socket.
-
-Thus, you start @command{shepherd} once, and then always use deco whenever you
want
-to do something service-related. Since deco passes its current
+controlling the services is @command{shepherd}, while the user interface
+tool is called @command{herd}: it's the command that allows you to
+actually @emph{herd} your address@hidden
address@hidden deco, daemon controller
+In the past, when the
address@hidden was known as address@hidden, the @command{herd} command
+was called @code{deco}, for @dfn{DaEmon COntroller}.}. To perform an
+action, like stopping a service or calling an action of a service, you
+use the herd program. It will communicate with shepherd over a Unix
+Domain Socket.
+
+Thus, you start @command{shepherd} once, and then always use herd whenever you
want
+to do something service-related. Since herd passes its current
working directory to @command{shepherd}, you can pass relative file names
without
-trouble. Both @command{shepherd} and deco understand the standard arguments
+trouble. Both @command{shepherd} and herd understand the standard arguments
@code{--help}, @code{--version} and @code{--usage}.
@menu
* Invoking shepherd:: How to start the service damon.
-* Invoking deco:: Controlling daemons.
+* Invoking herd:: Controlling daemons.
* Invoking reboot:: Rebooting a shepherd-controlled system.
* Invoking halt:: Turning off a shepherd-controlled system.
@end menu
@@ -387,7 +392,7 @@ particular, this means that code in @var{file} may use
@cindex security
@cindex insecure
Do not check if the directory where the socket---our communication
-rendez-vous with @command{deco}---is located has permissions @code{700}.
+rendez-vous with @command{herd}---is located has permissions @code{700}.
If this option is not specified, @command{shepherd} will abort if the
permissions are not as expected.
@@ -415,8 +420,8 @@ this option is not specified,
@address@hidden/run/shepherd/socket} is
taken.
If @code{-} is specified as file name, commands will be read from
-standard input, one per line, as would be passed on a @command{deco}
-command line (@pxref{Invoking deco}).
+standard input, one per line, as would be passed on a @command{herd}
+command line (@pxref{Invoking herd}).
@item --quiet
Synonym for @code{--silent}.
@@ -425,23 +430,23 @@ Synonym for @code{--silent}.
@c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
address@hidden Invoking deco
address@hidden Invoking deco
address@hidden Invoking herd
address@hidden Invoking herd
address@hidden deco
-The @command{deco} command is a generic client program to control a
address@hidden herd
+The @command{herd} command is a generic client program to control a
running instance of @command{shepherd} (@pxref{Invoking shepherd}). It has the
following synopsis:
@example
-deco address@hidden@dots{}] @var{action} address@hidden address@hidden@dots{}]]
+herd address@hidden@dots{}] @var{action} address@hidden address@hidden@dots{}]]
@end example
It causes the @var{action} of the @var{service} to be invoked. When
@var{service} is omitted and @var{action} is @code{status} or
@code{detailed-status}, the @code{dmd} service is address@hidden
shorthand does not work for other actions such as @code{stop}, because
-inadvertently typing @code{deco stop} would stop all the services, which
+inadvertently typing @code{herd stop} would stop all the services, which
could be pretty annoying.} (@pxref{The dmd and unknown services}, for
more information on the @code{dmd} service.)
@@ -452,9 +457,9 @@ that are available for every service are @code{start},
@code{stop},
If you pass a file name as an @var{arg}, it will be passed as-is to
the Shepherd, thus if it is not an absolute name, it is local to the current
-working directory of @command{shepherd}, not to deco.
+working directory of @command{shepherd}, not to herd.
-The @code{deco} command understands the following option:
+The @code{herd} command understands the following option:
@table @samp
@@ -470,7 +475,7 @@ not specified, @address@hidden/run/shepherd/socket} is
taken.
@node Invoking reboot
@section Invoking reboot
address@hidden deco
address@hidden herd
The @command{reboot} command is a convenience client program to instruct
the Shepherd (when used as an init system) to stop all running services and
reboot the system. It has the following synopsis:
@@ -479,7 +484,7 @@ reboot the system. It has the following synopsis:
reboot address@hidden@dots{}]
@end example
-It is equivalent to running @command{deco stop dmd}. The @code{reboot}
+It is equivalent to running @command{herd stop dmd}. The @code{reboot}
command understands the following option:
@table @samp
@@ -496,7 +501,7 @@ not specified, @address@hidden/run/shepherd/socket} is
taken.
@node Invoking halt
@section Invoking halt
address@hidden deco
address@hidden herd
The @command{halt} command is a convenience client program to instruct
the Shepherd (when used as an init system) to stop all running services and
turn
off the system. It has the following synopsis:
@@ -505,7 +510,7 @@ off the system. It has the following synopsis:
halt address@hidden@dots{}]
@end example
-It is equivalent to running @command{deco power-off dmd}. As usual, the
+It is equivalent to running @command{herd power-off dmd}. As usual, the
@code{halt} command understands the following option:
@table @samp
@@ -1049,7 +1054,7 @@ but also doing nothing about it.
@section Communication
The @code{(shepherd comm)} module provides primitives that allow clients such
-as @command{deco} to connect to @command{shepherd} and send it commands to
+as @command{herd} to connect to @command{shepherd} and send it commands to
control or change its behavior (@pxref{Slots of services, actions of
services}).
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"
- [shepherd] branch master updated (4fb3a18 -> f158e63), Ludovic Courtès, 2016/01/17
- [shepherd] 01/07: build: Add missing backslash in AM_TESTS_ENVIRONMENT., Ludovic Courtès, 2016/01/17
- [shepherd] 05/07: maint: Fix version checking for Guile., Ludovic Courtès, 2016/01/17
- [shepherd] 03/07: build: Improve display for silent rules., Ludovic Courtès, 2016/01/17
- [shepherd] 04/07: maint: Update .gitignore., Ludovic Courtès, 2016/01/17
- [shepherd] 06/07: maint: Add .dir-locals.el., Ludovic Courtès, 2016/01/17
- [shepherd] 07/07: support: Add a keyword argument '#:secure?' to verify-dir., Ludovic Courtès, 2016/01/17
- [shepherd] 02/07: Rename 'deco' command to 'herd'.,
Ludovic Courtès <=