zoryn-task-rebuild(1)
| ZORYN-TASK-REBUILD(1) | Zoryn Manual | ZORYN-TASK-REBUILD(1) |
NAME
zoryn-task-rebuild - Rebuild dependent packages locally and add to task.
SYNOPSIS
zoryn task rebuild [OPTION]… TARGET
DESCRIPTION
Query RDB for packages that depend on packages from a task, then locally rebuild each dependent package using hasher. Successfully rebuilt packages are added to the same task as rebuild subtasks.
The workflow is:
- 1.
- Get list of dependent packages (from RDB or FAILED log)
- 2.
- Find src.rpm for each dependent package in srpms_path
- 3.
- Run hasher build locally
- 4.
- If build succeeds, add rebuild subtask to the task
Build logs are saved to log_dir (default: <tmpdir>/rebuild-logs/<task_id>/). Failed builds are saved as error-<pkg>.log and skipped on subsequent runs unless --force is used.
Configuration in ~/.zoryn:
[sources]
srpms_path = /path/to/srpms
[rebuild]
command = hsh -v --lazy-cleanup
log_dir = /path/to/logs # default: <tmpdir>/rebuild-logs
ARGUMENTS
- TARGET (required)
- Task ID or package name.
OPTIONS
- -a ARCH, --arch=ARCH
- Select builder by architecture ARCH. Multiple architectures can be specified comma-separated (e.g., x86_64,aarch64).
- --all-subtasks=BASEDIR
- Rebuild all packages from the task locally (not just dependencies). For each subtask: clone package to BASEDIR/package, checkout the tag from task, build locally with hasher. Does not add packages to task - only local verification builds.
- -B BRANCH, --build-branch=BRANCH
- Select builder by branch BRANCH. Multiple branches can be specified comma-separated. Note: this is the builder's branch, not the task's target repository.
- -b PATTERN, --builder=PATTERN
- Use builder PATTERN for build. Supports patterns: @all (all builders), @host:HOST (by host), @host:HOST[N-M] (host range), NAME[N-M] (name range), ^NAME (exclude). Comma-separated. See 'zoryn builder list' for available builders.
- -C DIR
- Change to directory DIR before running.
- -d, --debug
- Enable debug output.
- --deps-by-pkg=PKG
- Query dependencies by package name instead of task dependencies.
- --depth=N (absent=1)
- Dependency depth for RDB query (1-4).
- --dptype=TYPE (absent=binary)
- Dependency type for RDB query. One of: source, binary, both.
- -f, --force
- Force rebuild: retry failed packages, rebuild even if already in task.
- --fail-if-busy
- Exit immediately with error if builder is busy (default: wait for builder).
- --from-log
- Parse affected packages from FAILED log instead of querying RDB. Useful for FAILED tasks where the log shows exactly which packages need rebuilding.
- --no-edit-commit
- Do not open editor when committing (for automation).
- -p, --parallel
- Run builds in parallel when using multi-builder mode. Default can be set in ~/.zoryn [builders] parallel = on.
- -s, --sequential
- Run builds sequentially (overrides config default and --parallel).
- --skip=LIST
- Skip packages by name (comma-separated). Package names are filtered out of the dependency list in every mode (default / --deps-by-pkg / --from-log / --all-subtasks). Numeric entries match subtask IDs and only take effect in --all-subtasks mode; they are ignored (with a warning) in other modes. Example: --skip chromium,340,vtkaddon
- --skip-busy
- Skip busy builders without error.
- --skip-ftbfs
- Skip packages that are FTBFS on all target architectures on beehive. Packages FTBFS on only some architectures are still built (they may succeed on others). Takes priority over --force.
- --skip-gyle-done
- Skip subtasks already built on gyle for the target architecture. Only affects --all-subtasks mode.
- --top
- Show interactive TUI with real-time build status (htop-like). Requires multi-builder mode (-b @all or multiple --builder/--arch values).
- --up=BASEDIR
- Instead of rebuilding from repository, update packages from upstream. For each dependent package: clone if needed, fetch gears/sisyphus, run zoryn up. If already up-to-date, add as rebuild. If updated, build locally and add as subtask. Stops on any error.
COMMON OPTIONS
- --help[=FMT] (default=auto)
- Show this help in format FMT. The value FMT must be one of auto, pager, groff or plain. With auto, the format is pager or plain whenever the TERM env var is dumb or undefined.
- --version
- Show version information.
EXIT STATUS
zoryn task rebuild exits with:
- 0
- on success.
- 123
- on indiscriminate errors reported on standard error.
- 124
- on command line parsing errors.
- 125
- on unexpected internal errors (bugs).
EXAMPLES
Rebuild packages from FAILED log:
zoryn task rebuild 404809 --from-log
Rebuild deps of a TESTED task:
zoryn task rebuild 404809
Rebuild deps of specific package:
zoryn task rebuild 404809 --deps-by-pkg ocaml-foo
Include build-time dependencies (not just runtime):
zoryn task rebuild 404809 --dptype=both
Query second-level dependencies:
zoryn task rebuild 404809 --depth=2
Force retry of previously failed packages:
zoryn task rebuild 404809 --force
Update packages from upstream instead of rebuilding:
zoryn task rebuild 404809 --up ~/packages
Rebuild all task packages locally (verification build):
zoryn task rebuild 404809 --all-subtasks ~/packages
BUILDERS
You can specify a builder to use with --builder, --arch, or --build-branch options. Builders are configured in ~/.config/zoryn/builders.d/*.conf files.
Build on specific builder:
zoryn task rebuild 404809 --builder=arm-server
Build for specific architecture:
zoryn task rebuild 404809 --arch=aarch64
Build on all builders in parallel:
zoryn task rebuild 404809 -b @all --parallel
SEE ALSO
zoryn(1)
| Zoryn 0.46.0 |
