A household move consumed most of January and February, so not much was 
accomplished until later in the month.  Un-boxing things tends to do that...
Done:
- - - - - - - -
+ New definitions: lighttpd, minissdpd, knockd, nscd.
+ Merged all run templates that utilize /bin/sh into a single, master 
template at sv/.run/run-sh.  That master script now supports run 
directories and chmod/chown.  Other requirements will be placed there as 
well.
+ Use double indirection for ./run files to allow switching of template 
environments is complete for run scripts and logging.
+ All fgetty/agetty/mingetty are now converted to the envdir format.
+ Service definition names can now be changed to support runit's SysV 
shim mode.  NOTE: this feature breaks compatibility with peer-dependency 
support if you don't update the ./needs directory after a rename of a 
service.
In Progress:
- - - - - - - -
+ Revise the documentation.  The README file will be split into separate 
sections and placed into the doc/ directory.
+ Add design notes to the documentation.  There are a LOT of assumptions 
that aren't spelled out and people are misunderstanding why I have such 
a quirky & bland set of scripts.  This would help to explain the thought 
process behind all of it; it will also allow some (hopefully 
constructive and positive) criticism about the design.
+ Figure out how to get finish scripts fit into the schema for switching 
between sh/execline/perp (see below for details on how perp fits in).  
I'm not sure how this will turn out.
+ Clean up untested definitions, as part of the push for the 0.1 
release.  Many of the definitions have met the minimum test requirements 
and I've not cleared out the "untested" marker.  The current criteria 
for being tested is (a) the service launches cleanly (b) the service 
does not complain beyond warnings in its logs (c) the service appears to 
function as intended.
+ Clean up all remaining one-off definitions, as part of the push for 
the 0.1 release.  A bit of work has already been done in this regard, 
but there are still some that need to be brought up to current standards.
+ Finish the logging schema, as part of the push for the 0.1 release.  
At this point I won't have a full "logging chain" but it will have all 
the required features.  This also means proper support for daemontools 
and s6.
+ ...and of course, enough new definitions to justify a 0.1 release.  
This means at least 122 *tested* entries in sv/ must be present, which 
is about 10% of the count of init.d scripts used by Debian 7.  There are 
currently 96 entries but many are for getties, so after deducting 18 
redundant entries that leaves 78 definitions, which means I need to make 
44 entries.  Worst case, I end up with a 0.1 release candidate.
Still To-Do / Experimental:
- - - - - - - -
+ Think about ways to incorporate perp, which uses a different format of 
./run file. With the recent switch to support /bin/sh vs execline, this 
is a real possibility now.   That means sv/.run/run-sh, 
sv/.run/run-execline, and now sv/.run/run-perp will become potential 
targets for sv/.run/run.  Madness, I tell you, madness!
+ Examine nosh.  This is going take a bit of time to digest...
+ Re-think/re-work the ./needs directory.  While nosh already has a 
similar concept, I want to be able to support Laurent's future efforts 
as well.
+ Prepare to re-license the project as BSD when I approach the 0.2 
release, or approximately 244 entries.  The entire point of the current 
MPL2.0 license was to make contributions "sticky" enough to the project 
until such point that it had some critical mass.  When I reach over 240+ 
definitions, the project should be able to accommodate the needs of a 
majority of people, so I won't have the same kind of need anymore, and 
can re-license the scripts to something much more permissive.
+ Once my project is BSD licensed, I might be able to merge / hybridize 
/ collaborate-on some of Toki's work (see below), completely supplanting 
the existing sv/.run/run-sh arrangement.  Or not.  Or, something...we'll 
just have to wait and see.
+ Support a modified version of usersv[1].  While scripted support for 
user-defined process management will still be present, it would be nice 
to see usersv expanded to support other frameworks, and not just runit 
alone.  This would give a passive (admin controlled) or active (user 
controlled) option.
[1] 
https://github.com/eichlan/usersv
P.S. Toki Clover has been blazing a path with his own take on 
supervision scripts for OpenRC.  While there aren't nearly as many 
definitions, the scripts are nearing completion, and I'm sure it won't 
take much to extract the daemon settings from my project and port them 
into his.  Well done Toki!
Received on Mon Mar 02 2015 - 04:12:35 UTC