Command line

eb-staged-rebuild --help lists the subcommands. eb-staged-rebuild --version prints the version from eb_staged_rebuild.__version__ (0.4.1 in this tree). --help is accepted on the main parser and on every subcommand.

usage: eb-staged-rebuild [-h] [--version]
                         {probe,run,resume,rollback,gc,retire,status,resolve}
                         ...

Exit status 0 is success. Exit status 2 is a refusal, NeedsIntervention, another StagedRebuildError, or an OSError raised out of the command. A build that exits non-zero returns that status. A preparation program’s non-zero status is returned as-is. Exit status 75 means a required ledger event is still pending.

probe

Report bubblewrap, user namespaces, the user-namespace sandbox, RENAME_EXCHANGE, and EasyBuild.

eb-staged-rebuild probe [-h] [--path PATH] [--eb EB] [--json]

--path is the directory whose filesystem is probed (default .). --eb is the EasyBuild executable (default EB_STAGED_REBUILD_EB, or eb). --json prints one JSON object. The keys on the walk-through host were bwrap, easybuild, filesystem, flock, rename_exchange, user_namespaces, and userns_sandbox.

run

Build and exchange a staged tree.

eb-staged-rebuild run [-h] [--software SOFTWARE] [--modules MODULES]
                      [--state-root STATE_ROOT] [--eb EB]
                      [--backend {auto,bwrap,userns,installpath}]
                      [--grace-hours GRACE_HOURS] [--dry-run]
                      [--module NAME/VERSION] [--run-id RUN_ID]
                      [--lock-timeout LOCK_TIMEOUT] [--skip-live-check]
                      [--prepare PREPARE] [--ledger-config LEDGER_CONFIG]
                      ...

The easyconfig and its options follow --. --software and --modules default to EASYBUILD_INSTALLPATH_SOFTWARE and EASYBUILD_INSTALLPATH_MODULES. --state-root defaults to EB_STAGED_REBUILD_STATE_ROOT, or else <parent of software>/.eb-staged-rebuild. --backend is auto, bwrap, userns, or installpath. --grace-hours defaults to EB_STAGED_REBUILD_GRACE_HOURS, or else 144. --dry-run prints the decision and writes nothing. --module may be repeated. --run-id names the journal. --lock-timeout is seconds to wait for the lock; omit it and the wait has no deadline. --skip-live-check skips the before/after content record. --prepare is an absolute path. --ledger-config is the eb-stack JSON configuration.

resume

Continue one journal. A retire id is refused.

eb-staged-rebuild resume [-h] --state-root STATE_ROOT
                         [--lock-timeout LOCK_TIMEOUT] run_id

rollback

Exchange a published tree back, or put a retired module file back.

eb-staged-rebuild rollback [-h] --state-root STATE_ROOT
                           [--lock-timeout LOCK_TIMEOUT] run_id

gc

Remove hidden retired siblings after the grace period.

eb-staged-rebuild gc [-h] --state-root STATE_ROOT
                     [--grace-hours GRACE_HOURS] [--dry-run]
                     [--lock-timeout LOCK_TIMEOUT] [--include-failed]

--include-failed also removes the hidden sibling recorded for a failed run whose modules are still pending, once the grace period has passed.

retire

Move a module file out of the module tree after its package is published elsewhere.

eb-staged-rebuild retire [-h] --state-root STATE_ROOT --module-file MODULE_FILE
                         [--reason REASON] [--dry-run]
                         [--lock-timeout LOCK_TIMEOUT]

--lock-timeout defaults to 0.

status

Show run journals. A run id limits the listing to that journal.

eb-staged-rebuild status [-h] --state-root STATE_ROOT [run_id]

resolve

Print the install path a module file names. Exit status 1 when complete is false. Exit status 0 when kind is file and complete is true.

eb-staged-rebuild resolve [-h] module