This is a special script language built purely for managing groups of
processes (runsets), with inetd/crond capability.  Supporting tools are
provided so it may be used as an `init' daemon. 

It's fairly stable (but remember kids, NO WARRANTIES!).  However, some
expected features are not implemented, and the documentation (including
this file) is in an atrocius state. :-)

The program uses `autoconf' because I used `automake'. However, it is not 
really portable at the moment. (Presently it includes linux-specific 
support for filesystem and swapspace mounting. Also, the `init' program 
is totally Linux-specific and needs at least Linux 2.0 and GNU libc 2.0.) 

It *requires* GNU C. It relies heavily upon nested functions to minimize
memory allocation hassles. 

You should probably avoid "make install" and install manually, since you 
will probably want to place some of the programs on the root partition, 
and automake doesn't know about setuid code. `request' (only) should be 
setuid root.

One other note: `init', `runset' and `switch' all use the LOG_CRON 
logging channel.  This felt appropriate since runset replaces crond, as 
well as inetd and init.

--

A warning: do not use the `openutmp' action on a system using utmpd (a
system that allows libc5 and glibc programs to share utmp.).  `openutmp'
creates and sets permissions on the UTMP file, and this can not be done in
a way compatible with utmpd.  All you lose is startup/shutdown WTMP
records.

---- Michael Deutschmann <michael@talamasca.ocis.net>
