From e63674eed9e59448118a5bd74e04578f4042fe01 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Sat, 20 Dec 2025 11:04:11 +0000 Subject: Add s6-rc-set-fix --- doc/index.html | 1 + doc/repodefs.html | 2 + doc/s6-rc-set-fix.html | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 doc/s6-rc-set-fix.html (limited to 'doc') diff --git a/doc/index.html b/doc/index.html index 25c47de..3b9d60c 100644 --- a/doc/index.html +++ b/doc/index.html @@ -139,6 +139,7 @@ the previous versions of s6-rc and the current one.
  • The s6-rc-set-copy program
  • The s6-rc-set-delete program
  • The s6-rc-set-change program
  • +
  • The s6-rc-set-fix program
  • The s6-rc-set-commit program
  • The s6-rc-set-install program
  • diff --git a/doc/repodefs.html b/doc/repodefs.html index c234ba0..bbd6811 100644 --- a/doc/repodefs.html +++ b/doc/repodefs.html @@ -286,6 +286,8 @@ or delete sets with s6-rc-set-delete. s6-rc-set-change.
  • They can check the list of services and their subs with s6-rc-set-status.
  • +
  • They can check for inconsistencies and fix them with +s6-rc-set-fix.
  • They commit the set with s6-rc-set-commit.
  • They install the set with s6-rc-set-install. This action potentially modifies the current state of the machine!
  • diff --git a/doc/s6-rc-set-fix.html b/doc/s6-rc-set-fix.html new file mode 100644 index 0000000..e8c0fb3 --- /dev/null +++ b/doc/s6-rc-set-fix.html @@ -0,0 +1,101 @@ + + + + + + s6-rc: the s6-rc-set-fix program + + + + + + +

    +s6-rc
    +Software
    +skarnet.org +

    + +

    The s6-rc-set-fix program

    + +

    + s6-rc-set-fix checks one or more sets of services for +dependency inconsistencies, and fixes them. +

    + +

    Interface

    + +
    +     s6-rc-set-fix [ -v verbosity ] [ -r repo ] [ -u | -d ] [ -E | -e ] [ -n ] [ sets... ]
    +
    + + + +

    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. +Dependency inconsistencies are warnings, so will be displayed at the default +level (but not at 0); more details can be obtained by increasing the verbosity.
    + +
    -r repo, --repository=repo
    +
    Use the repository in repo, which must exist. Default is +/var/lib/s6-rc/repository. +
    + +
    -u, --fix-up
    +
    When a dependency inconsistency is found, fix it by bringing in more +services into the starting bundle. If B depends on A, B is +active but A is only usable or even masked, fix +the situation by making A active. This means that more services +will be started at boot time than the set initially declared.
    + +
    -d, --fix-down
    +
    When a dependency inconsistency is found, fix it by bringing in fewer +services into the starting bundle. If B depends on A, B is +active but A is only usable or even masked, fix +the situation by making B usable (if A is usable) +or masked (if A is masked). This means that fewer services +will be started at boot time than the set initially declared. This is the default.
    + +
    -E, --no-force-essentials
    +
    If fixing a dependency inconsistency would imply moving a service down from the +always sub, or up to the always sub, when its service definition +directory does not declare it as essential, do not attempt fixing it and fail the operation. +This is the default. If such a situation occurs, it means that the set of services +provided in the stores is not consistent, and that +is what should be fixed.
    + +
    -e, --force-essentials
    +
    If fixing a dependency inconsistency would imply moving a service down from the +always sub, or up to the always sub, when its service definition +directory does not declare it as essential, do it, even though it goes against a +service definition in a store. This can help you keep a service set consistent +until the store is fixed.
    + +
    -n, --dry-run
    +
    Check for inconsistencies, but only print what would be needed to fix the set; +do not perform the fix.
    +
    + +

    Exit codes

    + +
    +
    0
    Success.
    +
    1
    A needed modification could not be made because the -e option was not given.
    +
    100
    Incorrect usage.
    +
    102
    Inconsistent repository.
    +
    111
    System call failed.
    +
    + + + -- cgit v1.3.1