S6-RC-BUNDLE(8)

NAME
s6-rc-bundle - add or delete bundles from a compiled service database without having to recompile it from source

SYNOPSIS
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...

DESCRIPTION
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.

s6-rc-bundle 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(8). 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.

  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 execline-block(7) s.

    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.

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 STATUS

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.

SEE ALSO
s6-rc-faq(7), s6-rc-overview(7), s6-rc-why(7), s6-rc(8), s6-rc-compile(8), s6-rc-db(8), s6-rc-dryrun(8), s6-rc-fdholder-filler(8), s6-rc-format-upgrade(8), s6-rc-init(8), s6-rc-oneshot-run(8), s6-rc-update(8)

This man page is ported from the authoritative documentation at: https://skarnet.org/software/s6-rc/s6-rc-bundle.html

AUTHORS
Laurent Bercot Alexis <flexibeast@gmail.com> (man page port)