s6-rc
Software
skarnet.org

The s6-rc-set-change program

s6-rc-set-change modifies a set by changing the rx of some services.

Interface

     s6-rc-set-change [ -v verbosity ] [ -r repo ] [ -E | -e ] [ -n ] [ -f ] [ -I | -i ] [ -P | -p ] set newrx services...

Options

-v verbosity, --verbosity=verbosity
Be more or less verbose. The default is 1, which means that error messages and warnings will be written to stderr. 0 means that only error messages will be written, and 2 or more adds informational messages.
-r repo, --repository=repo
Use the repository in repo, which must exist. Default is /var/lib/s6-rc/repository.
-E, --no-force-essential
If a service needs to be moved to/from the always rx, fail and report an error. This is the default. Services marked as always are normally defined in the stores with flag-essential, and inconsistencies between essential services should be resolved in the stores.
-e, --force-essential
Move services to/from the always rx if they need to be. This option should only be used temporarily until the store inconsistency is fixed. Be aware that moving a service from always to usable or masked may result in an unbootable set.
-n, --dry-run
Check whether the command would succeed, print warning or error messages if appropriate, but do not perform the actual modifications.
-I, --no-fail-on-dependencies
Do not fail if a dependency is found. Depending on the -P or -p flag, either print a warning message and proceed to make an inconsistent set, or pull the dependency into the change. This is the default.
-i, --fail-on-dependencies
If a dependency is found that would create an inconsistent set if the change was applied, print an error message and exit 1.
-P, --no-pull-dependencies
If a dependency is found that would create an inconsistent set if the change was applied, print a warning message (if verbosity is not 0) listing the services that also need to change prescriptions; then apply the change anyway. This is the default.
-p, --pull-dependencies
If a dependency is found that would create an inconsistent set, automatically extend the change to the dependencies as well so the set remain consistent. Print an informational message (if verbosity is 2 or more) listing the services that are being pulled into the change, then apply the change.

Exit codes

0
Success.
1
The -I option was given and dependencies prevented services... from being changed to newrx.
3
A service in services... was not found in the reference database.
4
Invalid or corrupted reference database.
100
Incorrect usage.
102
Inconsistent repository.
111
System call failed.

Notes