#488652 daemontools-run: documentation fails to say what it is and what it is good for

#488652#5
Date:
2008-06-30 12:40:28 UTC
From:
To:
Could you please add some basic introductory explanations to the man
pages (or e'en readme) for update-service and friends  (svscan, svc,
svscanboot)?

What for example is a "system-wide service supervision" as per the top
para of the man page for update-service, and why should I want one?
What good does it do?  In fact, WHAT does it do?

(out of a vast experience in unix spanning at least 30 years, I would
guess that this is a service that keeps other daemons running when they
are supposed to be running, and stops them running when they are
supposed not to be running - I used to name such scripts "fixdaemons"
and run them every five minutes; but that's just my guess).

And why doesn't it install itself by taking all existing services under
its wing (including itself)? And what could be a "service directory"?

All in all, this has many signs of not yet having been explained to your
mother. Please at least describe what it is :) .. then we may be able to
decide if it does what you want it to, and make suggestions as to how
it best could go about it.

Peter

#488652#10
Date:
2025-05-04 09:28:20 UTC
From:
To:
Hi Peter,

Le Mon, Jun 30, 2008 at 02:40:28PM +0200, Peter T. Breuer a écrit :
<snip>

Thanks for your bugreport; after 17 years it's still useful :)

I guess information about what the package does and why one would want to
install it primary belongs in the packages' (extended) description: that's
where users likely encounter it first.

We currently have:

Package: daemontools-run
Version: 1:0.76-14
Description: daemontools service supervision
 Starts svscanboot from inittab, and provides the directory /etc/service/
 for services to be supervised by daemontools.

Package: daemontools
Version: 1:0.76-14
Description: collection of tools for managing UNIX services
 supervise monitors a service. It starts the service and restarts the
 service if it dies. Setting up a new service is easy: all supervise
 needs is a directory with a run script that runs the service.
 .
 multilog saves error messages to one or more logs. It optionally timestamps
 each line and, for each log, includes or excludes lines matching specified
 patterns. It automatically rotates logs to limit the amount of disk space
 used. If the disk fills up, it pauses and tries again, without losing any
 data.

I guess it at least should mention the fact that systemd and SysV init
(and runit) offer comparable functionality.

We could use the runit descriptions for inspiration:

Package: runit
Version: 2.2.0-3
Description: system-wide service supervision
 runit is a collection of tools to provide system-wide service supervision
 and to manage services.  Contrary to sysv init, it not only cares about
 starting and stopping services, but also supervises the service daemons
 while they are running.  Amongst other things, it provides a reliable
 interface to send signals to service daemons without the need for pid-files,
 and a log facility with automatic log file rotation and disk space limits.
 .
 runit service supervision can run under sysv init, systemd or replace the init
 system completely. Complete init replacement is provided by 'runit-init'
 package. Users that want to take advantage of runit supervision under systemd
 or sysv init can directly install the 'runit-run' package.


Package: runit-run
Description: service supervision (systemd and sysv integration)
[...]
 This package provides service file to start runit supervision via systemd
 and an entry in /etc/inittab that respawns the supervision tree for sysv
 users.


Package: runit-init
Description: system-wide service supervision (as init system)
[...]
 .
 This package provides /sbin/init as a symlink to runit-init so that the system
 will automatically boot with runit; it also provides compatibility symlinks
 (shutdown, halt, reboot, poweroff) that are expected by desktop environments
 and other system tools.
 To install this package the user need to first remove the `init' metapackage,
 for more details see #1005881 or visit
https://salsa.debian.org/runit-team/runit-wiki/-/wikis/home


I *might* have time to come up with some text improvements soonish.

Bye,

Joost