guix-commits
[Top][All Lists]
Advanced

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

[shepherd] 05/05: doc: Rename.


From: Ludovic Courtès
Subject: [shepherd] 05/05: doc: Rename.
Date: Mon, 11 Jan 2016 23:14:19 +0000

civodul pushed a commit to branch master
in repository shepherd.

commit 24d2936a950dd9e82a00e62249fa4abba6d624cb
Author: Ludovic Courtès <address@hidden>
Date:   Mon Jan 11 23:42:25 2016 +0100

    doc: Rename.
    
    * dmd.texi: Rename to...
    * shepherd.texi: ... this.  Change "dmd" to "the Shepherd", and
    "@command{dmd}" to "@command{shepherd}".
    * Makefile.am (info_TEXINFOS): Adjust accordingly.
---
 Makefile.am               |    2 +-
 dmd.texi => shepherd.texi |  227 +++++++++++++++++++++++----------------------
 2 files changed, 116 insertions(+), 113 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 68c98aa..3ab81b4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -55,7 +55,7 @@ CLEANFILES =                                          \
   $(bin_SCRIPTS) $(sbin_SCRIPTS)
 
 # Documentation.
-info_TEXINFOS = dmd.texi
+info_TEXINFOS = shepherd.texi
 SUBDIRS = examples utils
 
 # Things not automatically included in the distribution.
diff --git a/dmd.texi b/shepherd.texi
similarity index 88%
rename from dmd.texi
rename to shepherd.texi
index e958ab3..57fc0d3 100644
--- a/dmd.texi
+++ b/shepherd.texi
@@ -1,12 +1,12 @@
 \input texinfo @c -*- texinfo -*-
address@hidden dmd.texi -- The documentation in Texinfo format.
address@hidden shepherd.texi -- The documentation in Texinfo format.
 @documentencoding UTF-8
address@hidden dmd.info
address@hidden GNU dmd Manual
address@hidden shepherd.info
address@hidden The GNU Shepherd Manual
 
 @include version.texi
 @set OLD-YEARS 2002, 2003
address@hidden NEW-YEARS 2013
address@hidden NEW-YEARS 2013, 2016
 
 @copying
 Copyright @copyright{} @value{OLD-YEARS} Wolfgang J@"address@hidden
@@ -22,18 +22,18 @@ Documentation License''.
 
 @dircategory System software
 @direntry
-* dmd: (dmd).           The manual of the dmd service manager.
-* deco: (dmd)Invoking deco
-                        Controlling the dmd service manager.
-* reboot: (dmd)Invoking reboot
-                        Rebooting a dmd-controlled system.
-* halt: (dmd)Invoking halt
-                        Turning off a dmd-controlled system.
+* shepherd: (shepherd). The Shepherd service manager.
+* deco: (shepherd)Invoking deco
+                        Controlling the Shepherd service manager.
+* reboot: (shepherd)Invoking reboot
+                        Rebooting a Shepherd-controlled system.
+* halt: (shepherd)Invoking halt
+                        Turning off a Shepherd-controlled system.
 @end direntry
 
 @titlepage
address@hidden GNU dmd Manual
address@hidden For use with dmd @value{VERSION}
address@hidden The GNU Shepherd Manual
address@hidden For use with the GNU Shepherd @value{VERSION}
 @subtitle Last updated @value{UPDATED}
 
 @author Wolfgang J@"ahrling
@@ -49,19 +49,19 @@ Documentation License''.
 
 @ifnottex
 @node Top
address@hidden GNU dmd Manual
address@hidden The GNU Shepherd Manual
 
-This manual documents dmd version @value{VERSION}, a service manager for
-the GNU system.
+This manual documents the Shepherd version @value{VERSION}, a service
+manager for the GNU system.
 
 @menu
-* Introduction::      Introduction to the dmd service manager.
-* Jump Start::        How to do simple things with dmd.
-* deco and dmd::      User interface to service management.
+* 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.
 * Services::          Details on services.
 * Runlevels::         Details on runlevels.
-* Misc Facilities::   Generally useful things provided by dmd.
-* Internals::         Hacking dmd.
+* Misc Facilities::   Generally useful things provided by the Shepherd.
+* Internals::         Hacking shepherd.
 
 * GNU Free Documentation License::  The license of this manual.
 * Concept Index::
@@ -77,45 +77,47 @@ the GNU system.
 @chapter Introduction
 
 @cindex service manager
-This manual documents the @dfn{dmd} service manager.  It is used to
-start and stop system services (typically daemons) in a reliable
+This manual documents the Shepherd service manager.  The Shepherd looks
+after system services, typically @dfn{daemons}.
+It is used to start and stop them in a reliable
 fashion.  For instance it will dynamically determine and start any
 other services that our desired service depends upon.  As another
-example, dmd might detect conflicts between services.  In this
+example, the Shepherd might detect conflicts among services.  In this
 situation it would simply prevent the conflicting services from
 running concurrently.
 
-dmd is the @dfn{init system} of the GNU operating system---it is the
+The Shepherd is the @dfn{init system} of the GNU operating system---it is the
 first user process that gets started, typically with PID 1, and runs
 as @code{root}.  Normally the purpose of init systems is to manage all
-system-wide services, but dmd can also be a useful tool assisting
+system-wide services, but the Shepherd can also be a useful tool assisting
 unprivileged users in the management of their own daemons.
 
 Unfortunately all flexible software requires some time to master and
-dmd is no different.  But don't worry: this manual should allow you to
+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 dmd and should be all you need for everyday use
+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{dmd} programs, and their relationship, in
-more detail (@ref{deco and dmd}).  Subsequent chapters provide a full
-reference manual and plenty of examples, covering all of dmd's
address@hidden and @command{shepherd} programs, and their relationship, in
+more detail (@ref{deco 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 dmd itself.
+those souls brave enough to hack the Shepherd itself.
 
-The name dmd stands for @dfn{Daemon Managing Daemons} (or
address@hidden Daemon}?).
address@hidden dmd
+The Shepherd was formerly known as ``dmd'', which stands for @dfn{Daemon
+Managing Daemons} (or @dfn{Daemons-Managing Daemon}?).
 
 @cindex Guile
 @cindex Scheme
 @cindex GOOPS
 This program is written in @dfn{Guile}, an implementation of the
 Scheme programming language, using the @dfn{GOOPS} extension for
-object-orientation.  Guile is also dmd's configuration language
+object-orientation.  Guile is also the Shepherd's configuration language
 (@pxref{Top,,, guile, GNU Guile Reference Manual}).  We have tried to
-make dmd's basic features as accessible as possible---you should be
+make the Shepherd's basic features as accessible as possible---you should be
 able to use these even if you do not know how to program in Scheme.  A
 basic grasp of Guile and GOOPS is required only if you wish to make
-use of dmd's more advanced features.
+use of the Shepherd's more advanced features.
 
 @c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
@@ -123,7 +125,7 @@ use of dmd's more advanced features.
 @chapter Jump Start
 
 @cindex prefix
-This chapter gives a short overview of dmd.  It is enough if you just
+This chapter gives a short overview of the Shepherd.  It is enough if you just
 need the basic features of it.  As it is not assumed that readers are
 familiar with all the involved issues, a very experienced user might
 be annoyed by the often very detailed descriptions in this
@@ -131,31 +133,32 @@ introduction.  Those users are encouraged to just skip to 
the
 reference section.
 
 Note that all the full file names in the following text are based on
-the assumption that you have installed dmd with an empty prefix.  If
-your dmd installation for example resides in @code{/usr/local}
+the assumption that you have installed the Shepherd with an empty prefix.  If
+your the Shepherd installation for example resides in @code{/usr/local}
 instead, add this directory name in front of the absolute file names
 mentioned below.
 
 @cindex Configuration file
-When dmd gets started, it reads and evaluates a configuration file.  When it is
+When @command{shepherd} gets started, it reads and evaluates a configuration 
file.  When it is
 started with superuser priviledges, it tries to use
 @code{/etc/dmdconf.scm}, when started as normal user, it looks for a
 file called @code{.dmd.d/init.scm} in the user's home directory.  With the
 option @code{--config} (or, for short, @code{-c}), you can specify
-where to look instead.  So if you want to start dmd with an
+where to look instead.  So if you want to start @command{shepherd} with an
 alternative file, use one of the following commands:
 
 @example
-dmd --config=/etc/dmdconf.scm.old
-dmd -c /etc/dmdconf.scm.old
+shepherd --config=/etc/dmdconf.scm.old
+shepherd -c /etc/dmdconf.scm.old
 @end example
 
 @cindex Starting a service
-As its name suggests, dmd is just a daemon that (usually) runs in the
+As the final ``d'' suggests, @command{shepherd} is just
+a daemon that (usually) runs in the
 background, so you will not interact with it directly.  After it is
-started, dmd will listen on a socket special file, usually
+started, @command{shepherd} will listen on a socket special file, usually
 @code{/var/run/dmd/socket}, for further commands.  You use the tool
address@hidden to send these commands to dmd.  Usage of deco is simple and
address@hidden to send these commands to @command{shepherd}.  Usage of deco is 
simple and
 straightforward: To start a service called @code{apache}, you use:
 
 @example
@@ -230,7 +233,7 @@ called @code{smail}, as both are mailer-daemons.  If a 
service needs
 any mailer-daemon, no matter which one, it can just depend on
 @code{mailer-daemon}, and one of those who provide it gets started (if
 none is running yet) when resolving dependencies.  The nice thing is
-that, if trying to start one of them fails, dmd will go on and try to
+that, if trying to start one of them fails, @command{shepherd} will go on and 
try to
 start the next one, so you can also use virtual services for
 specifying @emph{fallbacks}.
 
@@ -255,7 +258,7 @@ all.)
 
 There are two actions which are special, because even if services
 can implement them on their own, a default implementation is provided
-by dmd (another reason why they are special is that the default
+by @command{shepherd} (another reason why they are special is that the default
 implementations can be called even when the service is not running;
 this inconsistency is just to make it more intuitive to get
 information about the status of a service, see below).
@@ -273,7 +276,7 @@ of the additional actions a service provides; obviously, it 
can also
 be called when the service is not running.  Services cannot provide
 their own implementation of @code{list-actions}.
 
-A special service is @code{dmd}, which is used for controlling dmd
+A special service is @code{dmd}, which is used for controlling the Shepherd
 itself.  It implements various actions.  For example, the
 @code{status} action displays which services are started and which
 ones are stopped, whereas @code{detailed-status} has the effect of
@@ -282,14 +285,14 @@ one after another.  The @code{load}
 action is unusual insofar as it shows a feature that is actually
 available to all services, but which we have not seen yet: It takes an
 additional argument.  You can use @code{load} to load arbitrary code
-into dmd at runtime, like this:
+into the Shepherd at runtime, like this:
 
 @example
 deco load dmd ~/additional-services.scm
 @end example
 
-This is enough now about the @code{deco} and @code{dmd} programs, we
-will now take a look at how to configure dmd.  In the configuration
+This is enough now about the @command{deco} 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.
 
@@ -303,7 +306,7 @@ Ok, to summarize:
 
 @itemize @bullet
 @item
-dmd is a daemon, deco the program that controls it.
address@hidden is a daemon, @command{deco} the program that controls it.
 @item
 You can start, stop, restart, enable and disable every service, as
 well as display its status.
@@ -317,52 +320,52 @@ You can display the status of a service, even if the 
service does not
 provide a specific implementation for this action.  The same is true
 for restarting.
 @item
-The @code{dmd} service is used to control dmd itself.
+The @code{dmd} service is used to control @command{shepherd} itself.
 @end itemize
 
 @c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
address@hidden deco and dmd
address@hidden deco and dmd
address@hidden deco and shepherd
address@hidden @command{deco} and @command{shepherd}
 
 @cindex deco
address@hidden dmd
address@hidden shepherd
 @cindex daemon
 @cindex daemon controller
 @cindex relative file names
 The daemon that runs in the background and is responsible for
-controlling the services is @dfn{dmd}, while the user interface tool
-is called @dfn{deco}, the @dfn{DaEmon address@hidden people
+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 dmd over a Unix Domain Socket.
+It will communicate with shepherd over a Unix Domain Socket.
 
-Thus, you start dmd once, and then always use deco whenever you want
+Thus, you start @command{shepherd} once, and then always use deco whenever you 
want
 to do something service-related.  Since deco passes its current
-working directory to dmd, you can pass relative file names without
-trouble.  Both dmd and deco understand the standard arguments
+working directory to @command{shepherd}, you can pass relative file names 
without
+trouble.  Both @command{shepherd} and deco understand the standard arguments
 @code{--help}, @code{--version} and @code{--usage}.
 
 
 @menu
-* Invoking dmd::                How to start the service damon.
+* Invoking shepherd::           How to start the service damon.
 * Invoking deco::               Controlling daemons.
-* Invoking reboot::             Rebooting a dmd-controlled system.
-* Invoking halt::               Turning off a dmd-controlled system.
+* Invoking reboot::             Rebooting a shepherd-controlled system.
+* Invoking halt::               Turning off a shepherd-controlled system.
 @end menu
 
 @c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
address@hidden Invoking dmd
address@hidden Invoking dmd
address@hidden Invoking shepherd
address@hidden Invoking @command{shepherd}
 
address@hidden dmd Invocation
address@hidden invoking dmd
-The @code{dmd} program has the following synopsis:
address@hidden @command{shepherd} Invocation
address@hidden invoking @command{shepherd}
+The @code{shepherd} program has the following synopsis:
 
 @example
-dmd address@hidden@dots{}]
+shepherd address@hidden@dots{}]
 @end example
 
 It accepts the following options:
@@ -373,7 +376,7 @@ It accepts the following options:
 Read and evaluate @var{file} as the configuration script on startup.
 
 @var{file} is evaluated in the context of a fresh module where bindings
-from the @code{(dmd service)} module and Guile's @code{(oop goops)} are
+from the @code{(shepherd service)} module and Guile's @code{(oop goops)} are
 available, in addition to the default set of Guile bindings.  In
 particular, this means that code in @var{file} may use
 @code{register-services}, the @code{<service>} class, and related tools
@@ -385,7 +388,7 @@ particular, this means that code in @var{file} may use
 @cindex insecure
 Do not check if the directory where the socket---our communication
 rendez-vous with @command{deco}---is located has permissions @code{700}.
-If this option is not specified, @command{dmd} will abort if the
+If this option is not specified, @command{shepherd} will abort if the
 permissions are not as expected.
 
 @item -l address@hidden
@@ -397,7 +400,7 @@ Log output into @var{file}, or if @var{file} is not given,
 otherwise.
 
 @item address@hidden
-When dmd is ready to accept connections, write its PID to @var{file} or
+When @command{shepherd} is ready to accept connections, write its PID to 
@var{file} or
 to the standard output if @var{file} is omitted.
 
 @item -p address@hidden
@@ -427,7 +430,7 @@ Synonym for @code{--silent}.
 
 @cindex deco
 The @command{deco} command is a generic client program to control a
-running instance of @command{dmd} (@pxref{Invoking dmd}).  It has the
+running instance of @command{shepherd} (@pxref{Invoking shepherd}).  It has the
 following synopsis:
 
 @example
@@ -448,8 +451,8 @@ that are available for every service are @code{start}, 
@code{stop},
 @code{doc}.
 
 If you pass a file name as an @var{arg}, it will be passed as-is to
-dmd, thus if it is not an absolute name, it is local to the current
-working directory of dmd, not to deco.
+the Shepherd, thus if it is not an absolute name, it is local to the current
+working directory of @command{shepherd}, not to deco.
 
 The @code{deco} command understands the following option:
 
@@ -469,7 +472,7 @@ not specified, @address@hidden/run/dmd/socket} is taken.
 
 @cindex deco
 The @command{reboot} command is a convenience client program to instruct
-dmd (when used as an init system) to stop all running services and
+the Shepherd (when used as an init system) to stop all running services and
 reboot the system.  It has the following synopsis:
 
 @example
@@ -495,7 +498,7 @@ not specified, @address@hidden/run/dmd/socket} is taken.
 
 @cindex deco
 The @command{halt} command is a convenience client program to instruct
-dmd (when used as an init system) to stop all running services and turn
+the Shepherd (when used as an init system) to stop all running services and 
turn
 off the system.  It has the following synopsis:
 
 @example
@@ -522,7 +525,7 @@ not specified, @address@hidden/run/dmd/socket} is taken.
 
 @cindex service
 @tindex <service>
-The @dfn{service} is obviously a very important concept of dmd.  On the
+The @dfn{service} is obviously a very important concept of the Shepherd.  On 
the
 Guile level, a service is represented as an instance of
 @code{<service>}, a GOOPS class (@pxref{GOOPS,,, guile, GNU Guile
 Reference Manual}).  When creating an instance of it, you can specify
@@ -530,7 +533,7 @@ the initial values of its slots, and you actually must do 
this for some
 of the slots.
 
 The @code{<service>} class and its associated procedures and methods are
-defined in the @code{(dmd service)} module.
+defined in the @code{(shepherd service)} module.
 
 @menu
 * Slots of services::            What a <service> object consists of.
@@ -539,7 +542,7 @@ defined in the @code{(dmd service)} module.
 * Service De- and Constructors:: Commonly used ways of starting and
                                    stopping services.
 * Service Examples::             Examples that show how services are used.
-* The dmd and unknown services:: Special services in dmd.
+* The dmd and unknown services:: Special services in the Shepherd.
 @end menu
 
 @c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ -591,7 +594,7 @@ It will also be passed as an argument to the procedure in 
the
 @vindex respawn? (slot of <service>)
 @cindex Respawning services
 @code{respawn?} specifies whether the service should be respawned by
-dmd.  If this slot has the value @code{#t}, then assume the
+the Shepherd.  If this slot has the value @code{#t}, then assume the
 @code{running} slot specifies a child process PID and restart the
 service if that process terminates.  Otherwise this slot is @code{#f},
 which is the default.  See also the @code{last-respawns} slot.
@@ -906,7 +909,7 @@ also specifies some more initial values for the slots:
 
 @cindex dmd service
 @cindex special services
-The service @code{dmd} is special, because it is used to control dmd
+The service @code{dmd} is special, because it is used to control the Shepherd
 itself.  It provides the following actions (in addition to
 @code{enable}, @code{disable} and @code{restart} which do not make
 sense here).
@@ -920,12 +923,12 @@ Displays detailed information about every registered 
service.
 
 @item load @var{file}
 Evaluate the Scheme code in @var{file} in a fresh module that uses the
address@hidden(oop goops)} and @code{(dmd services)} modules---as with the
address@hidden option of @command{dmd} (@pxref{Invoking dmd}).
address@hidden(oop goops)} and @code{(shepherd services)} modules---as with the
address@hidden option of @command{shepherd} (@pxref{Invoking shepherd}).
 
 @item unload @var{service-name}
 Attempt to remove the service identified by @var{service-name}.
address@hidden will first stop the service, if necessary, and then
address@hidden will first stop the service, if necessary, and then
 remove it from the list of registered services.  Any services
 depending upon @var{service-name} will be stopped as part of this
 process.
@@ -935,7 +938,7 @@ nothing.  If it exists, but is provided by several 
services, output a
 warning and do nothing.  This latter case might occur for instance with
 the fictional service @code{web-server}, which might be provided by both
 @code{apache} and @code{nginx}.  If @var{service-name} is the special
-string and @code{all}, attempt to remove all services except for dmd
+string and @code{all}, attempt to remove all services except for the Shepherd
 itself.
 
 @item reload @var{file-name}
@@ -995,7 +998,7 @@ This will be called when the runlevel should be entered.
 @chapter Misc Facilities
 
 This is a list of facilities which are available to code running
-inside of dmd and is considered generally useful, but is not directly
+inside of the Shepherd and is considered generally useful, but is not directly
 related to one of the other topic covered in this manual.
 
 @menu
@@ -1016,7 +1019,7 @@ message and throw an @code{assertion-failed} exception.
 @end deffn
 
 @deffn {procedure} caught-error key args
-Tell dmd that a @var{key} error with @var{args} has occured.  This is
+Tell the Shepherd that a @var{key} error with @var{args} has occured.  This is
 the simplest way to cause caught error result in uniformly formated
 warning messages.  The current implementation is not very good,
 though.
@@ -1029,7 +1032,7 @@ An alias for @code{call-with-current-continuation}.
 @deffn {procedure} call/ec proc
 A simplistic implementation of the nonstandard, but popular procedure
 @code{call-with-escape-continuation}, i.e. a @code{call/cc} for
-outgoing continuations only.  Note that the variant included in dmd is
+outgoing continuations only.  Note that the variant included in the Shepherd is
 not aware of @code{dynamic-wind} at all and does not yet support
 returning multiple values.
 @end deffn
@@ -1045,8 +1048,8 @@ but also doing nothing about it.
 @node Communication
 @section Communication
 
-The @code{(dmd comm)} module provides primitives that allow clients such
-as @command{deco} to connect to @command{dmd} and send it commands to
+The @code{(shepherd comm)} module provides primitives that allow clients such
+as @command{deco} to connect to @command{shepherd} and send it commands to
 control or change its behavior (@pxref{Slots of services, actions of
 services}).
 
@@ -1074,8 +1077,8 @@ Write @var{command} to @var{port}.
 Receive a command from @var{port} and return it.
 @end deffn
 
-In practice, communication with @command{dmd} takes place over a
-Unix-domain socket, as discussed earlier (@pxref{Invoking dmd}).
+In practice, communication with @command{shepherd} takes place over a
+Unix-domain socket, as discussed earlier (@pxref{Invoking shepherd}).
 Clients may open a connection with the procedure below.
 
 @deffn {procedure} open-connection address@hidden
@@ -1090,10 +1093,10 @@ The daemon writes output to be logged or passed to the
 currently-connected client using @code{local-output}:
 
 @deffn {procedure} local-output format-string . args
-This procedure should be used for all output operations in dmd.  It
+This procedure should be used for all output operations in the Shepherd.  It
 outputs the @var{args} according to the @var{format-string}, then
 inserts a newline.  It writes to whatever is the main output target of
-dmd, which might be multiple at the same time in future versions.
+the Shepherd, which might be multiple at the same time in future versions.
 @end deffn
 
 
@@ -1116,16 +1119,16 @@ utillity, so it can by used by everyone.
 @chapter Internals
 
 This chapter contains information about the design and the
-implementation details of dmd for people who want to hack dmd itself.
-If you want your work to get included in dmd, please contact me and
+implementation details of the Shepherd for people who want to hack it.
+If you want your work to get included in the Shepherd, please contact me and
 say what you intend to do so that I can give advice on how to do it
 and we can avoid duplicating work.  My development version is usually
 a bit ahead of what I release, as I only want to publish code that got
 some testing.
 
 @menu
-* Coding standards::    How to properly hack dmd.
-* Design decisions::    Why dmd is what it is.
+* Coding standards::    How to properly hack the Shepherd.
+* Design decisions::    Why the Shepherd is what it is.
 * Service Internals::   How services actually work.
 * Runlevel evolution::  Learning from past mistakes.
 @end menu
@@ -1147,7 +1150,7 @@ Formatting should be as in Guile and Guix, basically.
 The general idea of a service manager that uses dependencies, similar
 to those of a Makefile, came from the developers of the GNU Hurd, but
 as few people are satisfied with System V Init, many other people had
-the same idea independently.  Nevertheless, dmd was written with the
+the same idea independently.  Nevertheless, the Shepherd was written with the
 goal of becoming a replacement for System V Init on GNU/Hurd, which
 was one of the reasons for choosing the extension language of the GNU
 project, Guile, for implementation (another reason being that it makes
@@ -1159,7 +1162,7 @@ services.  System V Init makes this hard: While you can 
start and stop
 a service, @code{init} will not know about it, and use the runlevel
 configuration as its source of information, opening the door for
 inconsistencies (which fortunatly are not a practical problem
-usually).  In dmd, this was avoided by having a central entity that is
+usually).  In the Shepherd, this was avoided by having a central entity that is
 responsible for starting and stopping the services, which therefore
 knows which services are actually started (if not completely
 inproperly used, but that is a requirement which is impossible to
@@ -1177,8 +1180,8 @@ additional bonus of adding some more flexibility.  For 
example, it is
 easiely possible to grant password-protected control over certain
 services to unprivileged users, if desired.
 
-An essential aspect of the design of dmd (which was already mentioned
-above) is that dmd should always know exactly what is happening,
+An essential aspect of the design of the Shepherd (which was already mentioned
+above) is that it should always know exactly what is happening,
 i.e. which services are started and stopped.  The alternative would
 have been to not use a daemon, but to save the state on the file
 system, again opening the door for inconsistencies of all sorts.
@@ -1189,7 +1192,7 @@ not the service that is supposed to be respawned) would 
cause horrible
 confusion.  My understanding of ``The Right Thing'' is that this
 conceptionally limited strategy is exactly what we do not want.
 
-The way dependencies work in dmd took a while to mature, as it was not
+The way dependencies work in the Shepherd took a while to mature, as it was not
 easy to figure out what is appropriate.  I decided to not make it too
 sophisticated by trying to guess what the user might want just to
 theoretically fulfill the request we are processing.  If something
@@ -1264,14 +1267,14 @@ we won't start AA but directly go on to starting B).
 I hope you can agree that the latter solution after all is the best
 one, because we can be sure to not do something that the user does not
 want us to do.  Software should not run amok.  This explanation was
-very long, but I think it was necessary to justify why dmd uses a very
+very long, but I think it was necessary to justify why the Shepherd uses a very
 primitive algorithm to resolve dependencies, despite the fact that it
 could theoretically be a bit more clever in certain situations.
 
 One might argue that it is possible to ask the user if the planned
 actions are ok with her, and if the plan changes ask again, but
 especially given that services are supposed to usually work, I see few
-reasons to make the source code of dmd more complicated than
+reasons to make the source code of the Shepherd more complicated than
 necessary.  If you volunteer to write @emph{and} maintain a more
 clever strategy (and volunteer to explain it to everyone who wants to
 understand it), you are welcome to do so, of address@hidden
@@ -1312,7 +1315,7 @@ services should be started when we enter a runlevel and 
which ones
 should be stopped when leaving it.  But one could also specify for
 every service in which runlevels it should be running.
 
-In dmd, we do not want to limit ourselfes to a single runlevel style.
+In the Shepherd, we do not want to limit ourselfes to a single runlevel style.
 We allow for all possible strategies to be implemented, providing the
 most useful ones as defaults.  We also want to make it possible to
 combine the different styles arbitrariely.
@@ -1333,7 +1336,7 @@ Also, the runlevel implementation should be implemented 
completely on
 top of the service concept, i.e. the service part should not depend on
 the idea of runlevels or care about them at all.  Otherwise
 understanding the service part (which is the most essential aspect of
-dmd) would become harder than necessary.
+the Shepherd) would become harder than necessary.
 
 @c @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 



reply via email to

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