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