aboutsummaryrefslogtreecommitdiffstats
s6-frontend: the s6 repository command

The s6 command
s6-frontend
Software
skarnet.org

The s6 repository command

s6 repository groups actions that target the repository of s6-rcsource definition directories for services managed by the repo commands. The repository is hosted in the configured repodir.

This set of commands is not intended for day-to-day use since they involve serious actions on the repository which is supposed to be stable. Rather, they are likely to be a part of automated procedures written by the distribution and triggered by specific events like package installation or updates.

Interface

     s6 repository subcommand [ subcommand_options... ] [ args... ]
  • s6 repo and s6 r are accepted as aliases for s6 repository.

Subcommands

help

s6 repository help prints a short help message summarizing the options and usage of the s6 repository command. It is not as detailed as this page.

init

Interface

     s6 repository init [ -f ] [ -U ]
  • s6 repository init creates the repository at the configured location.
  • It links all the stores defined in the configured store list.
  • It syncs the repository with the stores, importing all the services and making its reference database.
  • It creates a service set named current, which will be the working set for all s6 set commands.

Options

-f, --force
If the repository already exists, overwrite it with a new one. This is a dangerous option and should only be used as a last resort if the repository seems hopelessly broken.
-U, --update-stores
Do not recreate the repository from scratch, instead update the list of stores. This commands needs to be run when the storelist variable has changed.

list

Interface

     s6 repository list
  • s6 repository list lists all the sets in the repository, printing their names on stdout, one per line. current is the default working set and always exists.
  • No options are defined.

check

Interface

     s6 repository check [ -F ] [ -d | -u ] [ -E | -e ]
  • s6 repository check checks all the sets in the repository for inconsistencies, printing anything it finds to stdout.

Options

-F, --fix
Also attempt to fix the inconsistencies.
-E, --no-force-essential
If fixing a set involves changing a service flagged as essential to a prescription that is not always, or a service not flagged as essential to the always prescription, print an error message and exit. This is the default.
-e, --force-essential
If fixing a set involves changing a service flagged as essential to a prescription that is not always, or a service not flagged as essential to the always prescription, perform the change and continue. This is normally not necessary with a list of stores providing consistent services.
-d, --down
Fix sets by disabling or masking services. If service A depends on service B and B is masked or disabled, change A to be masked or disabled as well. This is the default.
-u, --up
Fix sets by enabling or unmasking services. If service A depends on service B and A is unmasked or enabled, change B to be unmasked or enabled as well.

sync

Interface

     s6 repository sync
  • s6 repository sync synchronizes the repository's view of services with the contents of the stores.
  • This command must be run every time the stores change, typically when the package manager of the distribution adds or removes a package that defines a service. Ideally it should be added to a hook defined by the package manager.