modifications not yet upstream, possibly bad

Maxime Devos 69a9cc5be0 Allow passing file descriptors to started services. 3 years ago
build-aux a23b9ed88f build: Generate 'ChangeLog' upon 'make dist'. 11 years ago
doc 4c5176f5a7 doc: Add "Managing User Services". 4 years ago
etc 69a9cc5be0 Allow passing file descriptors to started services. 3 years ago
modules 69a9cc5be0 Allow passing file descriptors to started services. 3 years ago
po 1242e86141 nls: Update sv translation. 4 years ago
tests 69a9cc5be0 Allow passing file descriptors to started services. 3 years ago
.dir-locals.el ec3631115f system: Add 'with-blocked-signals'. 4 years ago
.gitignore 01a5f07a16 Augment '.gitignore'. 4 years ago
ANNOUNCE--0.5 e3c8c13993 dmd -0.5 announcment 12 years ago
ANNOUNCE--0.6 5148f8a87a dmd -0.6 announcment 12 years ago
ANNOUNCE--0.7 499ede01d5 dmd -0.7 announcment 12 years ago
AUTHORS 6a6364f9aa Update 'AUTHORS'. 9 years ago
COPYING 8479f87713 Upgrade to GPLv3+. 11 years ago
ChangeLog b93c26a9ee ChangeLog: Rename git repository. 9 years ago
ChangeLog-2003 f537c4c9ff Change Alfred's address. 11 years ago
Makefile.am 69a9cc5be0 Allow passing file descriptors to started services. 3 years ago
NEWS bedc77265d Update 'NEWS'. 4 years ago
QUESTIONS a11a045a02 dmd -0.5 12 years ago
README 766c4dccfa Update Guile dependency to 2.0.13 or later 6 years ago
THANKS f537c4c9ff Change Alfred's address. 11 years ago
configure.ac 69a9cc5be0 Allow passing file descriptors to started services. 3 years ago
halt.in 279d8939a1 Move commands to (shepherd scripts xyz). 9 years ago
herd.in 279d8939a1 Move commands to (shepherd scripts xyz). 9 years ago
reboot.in 279d8939a1 Move commands to (shepherd scripts xyz). 9 years ago
shepherd.in c958bf7a29 Rename 'dmd' command to 'shepherd'. 9 years ago

README

* An -*- outline -*- of the GNU Daemon Shepherd.

** What is the Shepherd?

The GNU Daemon Shepherd or GNU Shepherd is a service manager written in
Guile that looks after the herd of system services, providing a
replacement for the service-managing capabilities of SysV-init (or any
other init) with a dependency-based system with a convenient interface.
It is intended for use on GNU/Hurd, but it is supposed to work on every
POSIX-like system where Guile is available. In particular, it has been
tested on GNU/Linux.

In a previous life, the GNU Shepherd was known as GNU dmd, the
daemon-managing daemon.

** Requirements

This program requires Guile (the GNU Ubiquitous Intelligent Language
for Extension), version 2.0.13 or later (including 2.2.x). It uses
GOOPS, but as GOOPS is part of Guile, a normal Guile installation is
sufficient. It also uses readline, though it does not really depend
on it.

GNU Make is required to build the Shepherd.

** Getting started

Like all GNU packages, this program can be installed using familiar
incantations such as:

./configure --prefix=/some/where
make
make check
make install

Actually setting up the Shepherd currently requires some work. You
should read the Texinfo manual for details:

info -f shepherd.info

** More information

Detailed instructions on installing the GNU Shepherd are available in
the file `INSTALL'. A list of user-visible changes between releases can
be found in the file `NEWS'. Detailed information about changes on the
source code level are listed in `ChangeLog'. Open issues on which I
would like to receive comments are explained in the file `QUESTIONS'.

A list of people who can be considered maintainers of this software is
available in the file `AUTHORS'. A list of people who have been
helpful in improving the Shepherd can be found in `THANKS'.

This program can be distributed under the terms of the GNU General
Public License, version 3 or any later version, see the file `COPYING'
for details. The Texinfo manual can be distributed under the terms of
the GNU Free Documentation License, version 1.3 or any later version,
see the manual for details.

The GNU Shepherd home page is at:

http://www.gnu.org/software/shepherd/

The GNU Shepherd is developed jointly with the GNU Guix project. Both
are essential components in putting the pieces together to build the GNU
system. Join us now!

** Bugs and Limitations

There is no localization done yet. Code from the user configuration is
allowed to mess up with everything. Runlevels do not work yet. A few
bugs are already marked in the source code.

Send bug reports to , with "Shepherd" and the version
number in the Subject line.