runit-scripts gone, supervision-scripts progress

From: Avery Payne <>
Date: Fri, 2 Jan 2015 03:55:34 -0800

Happy belated New Year!

As discussed elsewhere, the runit-scripts repository has been removed. A
link has been left that redirects to the supervision-scripts project. The
new project should be a 100% compatible replacement.

I did not achieve my personal goal of a 0.1 release by January 1. I feel
badly about this, but it has been a hectic holiday for my family. Current,
the project is short about 50 definitions needed for the release, which
would put it at 10% coverage, or about ~120 definitions. Here's what
little has been done so far:

- - - - - - - -
+ getty support is via a template, and supports 3 different types

+ socklog is now via a template for its three different modes

+ user-controlled services are now via a template, in pure shell script for
all three frameworks (although it's not fully tested)

+ Incorporate pgrphack, envdir, and setuidgid regardless of framework used

+ system-wide environment PATH in .env

+ Migrate environment variables off of the ./options shell file and onto
envdir for service-specific settings

+ Retired run-simple completely in favor of run-envdir, making it possible
to have non-shell ./run launchers

+ Removed the dependency of the directory name matching the program

+ Service definition directories can now be named arbitrarily vs. the
actual name of the daemon, meaning it may be possible to support runit's
SysV shim mode again!

In Progress:
- - - - - - - -
+ hunt down the last vestiges of any runit-specific scripting, and replace
it with generic framework scripting for all three frameworks

+ hunt down ./run scripts in the wild, gather them, and give the authors
attribution. Goal: accelerate development

+ Re-organize the definition creation sequence around Debian's pop-con
data, with the most common services being written first. Goal: increase
the project's usefulness by making common things accessible

+ Experimental service dependencies in 100% shell script. Goal: No
compiling required upon install!

+ Experimental one-shot definitions that don't need a pause(1) or a
signal. Goal: No PIDs or sleep(y) programs

+ Reach that 0.1 release!!!

To-Do / Experimental:
- - - - - - - -
+ The ./finish concept needs development and refinement.

+ Need to incorporate some kind of alerting or reporting mechanism into
./finish, so that the sysadmin receives notifications

+ service definition names may be changed in the future to better support
SysV shimming, but this is not a definite plan, and may be cancelled.

+ replace the user-controlled service template with an active program that
seeks out service directories and starts them up as needed; there is a
Github project to this effect, but I have not been able to contact the

+ Look at re-writing the project in execline(!), although several features
may stop working

+ Refine logging to support all three frameworks. Currently it assumes
that (service)/log/run is sane, when in fact it's just a pointer to
something else.

+ Refine the logging mechanism closer to Laurent's "logging chain" concept,
if possible for all three

+ Not everything needs per-service logging. At the moment, all service
definitions receive this, regardless if it is needed or not. This "blanket
logging" ensures nothing is lost but it's inefficient. I plan on
backtracking through in the future and cleaning this up as part of the
logging re-structure.
Received on Fri Jan 02 2015 - 11:55:34 UTC

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