s6-rc
Software
skarnet.org
 The s6-rc-bundle program 
 s6-rc-bundle is a tool to add or delete bundles from a compiled
service database without having to recompile it from source.
 It is an offline tool, i.e. you can run it on any
compiled service database without actually having a live set
of services managed by s6-rc. However, if you do have a live
set, you can still run s6-rc-bundle on the current database (and
it is the default); it won't interfere with your normal service
operation.
 Interface 
     s6-rc-bundle help
     s6-rc-bundle [ -f ] [ -l live ] [ -c compiled ] [ -b ] add bundlename contents...
     s6-rc-bundle [ -f ] [ -l live ] [ -c compiled ] [ -b ] delete bundlenames...
     s6-rc-bundle [ -f ] [ -l live ] [ -c compiled ] [ -b ] multiple args...
 -  s6-rc-bundle expects to find a compiled service database
in compiled; by default it uses the service database
used by the live state in live. 
-  Depending on the arguments, it adds a bundle definition to this database, or
deletes a bundle definition from it, or performs multiple additions/deletions. 
 Options 
 -  -c compiled : operate on a
compiled service database in compiled instead of
the current live one. 
-  -l live : assume the live
state is in live. This option is ignored if the
-c option has been given. Default is
/run/s6-rc. The default can be changed at package
compilation time, by giving the --livedir=live
option to ./configure. 
-  -f : force. s6-rc-bundle will not complain
when given a nonexisting name to delete (it will do nothing), or
when given an existing name to add (it will replace the definition).
By default, s6-rc-bundle will complain and exit when asked to delete a
nonexistent name or to add an existing name. 
-  -b : blocking lock. If the database is currently
being used by another program, s6-rc-bundle will wait until that
other program has released its lock on the database, then proceed.
By default, s6-rc-bundle fails with an error message if the database
is currently in use. 
 Exit codes 
 -  0: success 
-  1: identifier already exists in service database 
-  3: identifier not found in service database 
-  4: invalid or corrupted service database 
-  5: wrong identifier type for the given command 
-  100: wrong usage 
-  111: system call failed 
 Subcommands 
 s6-rc-bundle help 
 Prints a help message on stdout.
 s6-rc-bundle add bundlename contents... 
 Adds a bundle named bundlename to the database, representing
the services listed in contents. The arguments in contents...
are resolved before the database is modified by the
s6-rc-bundle invocation.
 s6-rc-bundle delete bundlenames... 
 Deletes bundles listed in bundlenames....
 s6-rc-bundle multiple args... 
 Performs multiple bundle deletions and additions. This subcommand is best
used in an execline
script, because it uses
blocks.
args... is composed of:
 -  One block listing bundle names that will be
deleted from the database. 
-  Zero or more addition definitions, each of them composed of:
 
  -  One argument that is the name of the bundle to add 
-  One block listing the services contained in the
new bundle. The names in the block are resolved before any addition
or deletion is made to the database.