Skip to content

gitGNU/gnu_shepherd

Repository files navigation

* 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.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 <bug-guix@gnu.org>, with "Shepherd" and the version
number in the Subject line.