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: Done: - - - - - - - - + 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 author. + 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.
