supervision scripts, 2015-01

From: Avery Payne <>
Date: Tue, 03 Feb 2015 09:17:10 -0800

Lots of changes behind the scenes. Not as many new definitions,
although things will return to "normal" in the next month.

- - - - - - - -
+ New! Internal framework-neutral command grammar. Upon selecting a
given framework, all scripts automatically use the correct start and
check commands.

+ New! "Broken" daemon support. Daemons without proper "background"
support now have a warning written to the daemon's log, and the run
script aborts. If you want to continue with the daemon, remove the
./broken file from the definition and the script will launch. Typically
this is used for services that don't support foreground operation.

+ New! Optional framework-neutral peer-level dependency handling.All
dependencies will be included out-of-the-box. Dependencies are defined
as any external program required to be running before the daemon defined
can launch. It is recommended that it only be used when no dependency
manager is available older frameworks, and you desire automatic start-up
of dependent definitions. It is disabled by default, because it comes
with certain caveats, notably: (a) you cannot change definition names
and expect it to work, and (b) it provides a weak guarantee that
dependencies are running, so it is possible to have race conditions or
other failure states.

+ New! Dynamic run state directory creation. Definitions will now
create /var/run/{daemon-name} upon startup with the correct permissions.

+ New definitions: ypbind, autofs, rsyslog, mini-httpd, rpcbind,
shellinabox, slpd, gdomap, rarpd

+ Reworked definitions: forked-daapd, avahi-daemon, dbus, mpd, mouseemu,
ntpd, munin-node (broken)

+ Several tweaks to the README file, including a compatibility chart for
user-land tools.

In Progress:
- - - - - - - -
+ Merged all run templates that utilize /bin/sh into a single, master
template. This was done after much deliberation - why spend time
figuring out which one of a half-dozen different template scripts will
have the feature you need, when you could just link one script and get
on with life?

+ Use double indirection for ./run files to allow switching of template
environments, i.e. it makes it possible to switch between /bin/sh and
another arrangement. The ./run file in the definition will point to
../.run/run, which itself points to the actual template.

+ Look at supporting execline in parallel, although features like
script-based dependency management will stop working.

+ Revisit all fgetty/agetty/mingetty and re-code them to support ./env

+ Revisit all existing one-off scripts and see if they now qualify to be
used with a template instead, and re-write them if possible.

+ Examine nosh to see if it can be supported as well.

+ Final push for 0.1 release, which will include 10% of defined
definitions in Debian 7, all run templates stabilized, and all logging

To-Do / Experimental:
- - - - - - - -
+ Think about ways to incorporate perp, which uses a different format of
./run file.

... plus all of the To-Do stuff from last month

As always, suggestions, comments, and ideas are welcome.
Received on Tue Feb 03 2015 - 17:17:10 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC