zoryn-up(1)
| ZORYN-UP(1) | Zoryn Manual | ZORYN-UP(1) |
NAME
zoryn-up - Update version from upstream.
SYNOPSIS
zoryn up [OPTION]…
DESCRIPTION
Automatic package update to new upstream version. Run this command from a gear repository directory.
The tool auto-detects the update scheme based on repository configuration:
- Git merge
- for packages with VCS tag in spec pointing to upstream git
- Tarball
- for packages using .gear/watch file
WORKFLOW
The command performs the following steps:
- 1.
- Find spec file and extract current version
- 2.
- Read upstream URL from VCS tag in spec
- 3.
- Add upstream remote and fetch tags
- 4.
- Apply version mapping from .gear/version-up (if present)
- 5.
- Find newer versions and select latest stable
- 6.
- Merge upstream tag (or download tarball with --tarball)
- 7.
- Run hooks from .gear/merge-up.d/
- 8.
- Update version in spec, reset release to alt1
- 9.
- Scan upstream changelog for CVEs (if configured)
- 10.
- Add changelog entry
- 11.
- Run hooks from .gear/up.d/
- 12.
- Update gear tags and run local build
PIPELINE
The update process is executed as a resumable pipeline. If a stage fails, you can fix the issue and use --continue to resume from the failed stage, or --abort to rollback.
OPTIONS
- -a ARCH, --arch=ARCH
- Select builder by architecture ARCH. Multiple architectures can be specified comma-separated (e.g., x86_64,aarch64). Examples: x86_64, aarch64, i586.
- --abort
- Abort interrupted pipeline and rollback changes.
- --allow-unrelated-histories
- Allow merging unrelated histories. Uses 'ours' strategy then restores files from upstream, preserving ALT-specific files (.gear/, spec, copy directives from .gear/rules).
- -B BRANCH, --branch=BRANCH
- Select builder by branch BRANCH. Multiple branches can be specified comma-separated (e.g., sisyphus,p11). Examples: sisyphus, p11.
- -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.
- --batch-pkgs=PKGS
- Build/submit only specified batch values (comma-separated). Values must exist in [batch] section of .gear/version-up.
- -C DIR
- Change to directory DIR before running.
- --continue
- Continue from the last failed stage.
- -d, --debug
- Enable debug output.
- -f, --force
- Force update even when no newer version exists. Useful for updating from prerelease (alpha, beta, rc) to stable release of the same version.
- --fail-if-busy
- Exit immediately with error if builder is busy (default: wait for builder).
- --from=STAGE
- Run pipeline starting from a specific stage. Stages: detect, fetch, find-version, merge, merge-hooks, spec, gear-tags, up-hooks, build, batch-build.
- --no-gpg-sign
- Make zoryn's automated commits with --no-gpg-sign, bypassing commit signing. Useful in environments without gnupg2, or where commit.gpgsign is enabled but no signing key is available. Does not affect your own commits made with zoryn commit.
- --no-python-auto-deps
- Disable automatic .gear/pyproject_deps.json update and rebuild retry when Python package dependencies change during build.
- --no-sandbox
- Disable sandbox for hook execution (equivalent to --sandbox=direct).
- -p, --parallel
- Run builds in parallel when using multi-builder mode. Default can be set in ~/.zoryn [builders] parallel = on.
- -r, --rebuild
- Use hsh-rebuild instead of hsh for building. Useful for rebuilding package in existing hasher environment without recreating chroot.
- --reset-to-gear
- Before updating, hard-reset the package to its published state in the ALT repository, discarding any local divergence, uncommitted changes, untracked files (ignored build artifacts are kept), or wrong checkout. Resets the branch planned for the update (the current branch if it is a known ALT branch, otherwise sisyphus) regardless of which branch is currently checked out, then ensures the gitery remote. Runs during the detect stage; ignored with --continue/--abort and with --stage/--from past 'detect'.
- --restart
- Discard saved state and start a fresh pipeline run.
- -s, --sequential
- Run builds sequentially (overrides config default and --parallel).
- --sandbox=RUNNER
- Sandbox runner for hook execution: hybrid (bwrap + hasher chroot, default), bwrap (bubblewrap with host paths), or direct (no sandbox). Hybrid mode uses hasher to prepare a chroot with package build dependencies, then runs scripts in bwrap for filesystem isolation.
- --skip-busy
- Skip busy builders without error.
- --skip-check[=LIST] (default=rpmbuild,all)
- Skip specified checks (comma-separated). Values: rpmbuild (skip %%check section via --rpmbuild-args), post-build tool names like sisyphus_check, all (skip all post-build checks). Without a value, skips everything.
- --stage=STAGE
- Run a single stage in isolation. Stages: detect, fetch, find-version, merge, merge-hooks, spec, gear-tags, up-hooks, build, batch-build.
- --switch-to-upstream-git
- Migrate this package from tarball scheme to upstream git scheme. Moves spec and altlinux files to .gear/, rewrites .gear/rules, then merges the upstream git history with --allow-unrelated-histories.
- -t, --tarball
- Force tarball workflow (ignore git merge detection).
- --tag=TAG
- Use specific upstream tag for merge (skip version detection).
- --top
- Show interactive TUI with real-time build status (htop-like). Requires multi-builder mode (-b @all or multiple --builder/--arch values).
- -V
- Show version information.
- -v, --verbose
- Show build output on screen (in addition to log file).
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 up 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
Update package in current directory:
zoryn up
Force tarball workflow (download instead of git merge):
zoryn up --tarball
Update package in another directory:
zoryn up -C ~/packages/nginx
Update to a specific upstream tag (skip version detection):
zoryn up --tag v1.5.0
Merge unrelated histories (for packages with imported pristine upstream):
zoryn up --allow-unrelated-histories --tag v2.0.0
Update from prerelease to stable release (e.g., 1.0-beta -> 1.0):
zoryn up --force
Discard local divergence and reset to the published repository state first:
zoryn up --reset-to-gear
Update and build on specific builder:
zoryn up --builder=arm-server
Update and build for specific architecture:
zoryn up --arch=aarch64
Update and build for multiple architectures:
zoryn up --arch=aarch64,x86_64
Update and build on all configured builders:
zoryn up -b @all
Update and build on all x86_64 builders in parallel:
zoryn up -b @all --arch=x86_64 --parallel
Update and build, skipping busy builders:
zoryn up -b @all --skip-busy
Update and rebuild in existing hasher environment (faster):
zoryn up --rebuild
Continue a failed pipeline from where it stopped:
zoryn up --continue
Abort an interrupted pipeline and rollback:
zoryn up --abort
Run a single stage in isolation:
zoryn up --stage=build
FILES
- .gear/version-up
- Version mapping and merge configuration
- .gear/merge-up.d/
- Hooks run after merge with upstream
- .gear/up.d/
- Hooks run after spec file update
SEE ALSO
zoryn-build(1), zoryn-check-version(1)
zoryn(1)
| Zoryn 0.46.0 |
