Using zoryn without maintainer status¶
Yes — you can build ALT Linux packages with zoryn without a maintainer account. zoryn has no login of its own: every privileged operation is plain SSH to the gitery/gyle hosts, and the access gate lives entirely on the ALT side (your SSH key must be registered there and you must hold the package ACL). Nothing in zoryn checks maintainer status locally, so a large, useful part of the tool works with zero ALT credentials.
This page is for three kinds of user:
- Building for yourself or a private repo — you produce ALT RPMs for a personal or corporate repository and never intend to publish to Sisyphus.
- Aspiring maintainer / contributor — you prepare an update or a new package to hand off to a maintainer, or to learn the workflow before joining.
- Pre-publication testing — you locally reproduce a Sisyphus build to validate a patch or an update without girar access.
What works without maintainer status¶
Everything below runs on your own machine (or your own build hosts) and needs no ALT account:
| Task | Command | Why it needs no account |
|---|---|---|
| Update a package to a new upstream version | zoryn up | Local pipeline: fetch → merge → spec → changelog → build |
| Build a package in a local hasher | zoryn build | Runs hsh on a local tarball, no network |
| Build on your own remote host | zoryn build -b <name> | SSH to a machine you control — not girar/gyle |
| Package a new program | zoryn gen pypi2spec / gen opam2spec | Generates spec + .gear locally |
| Generate an upstream watch file | zoryn gen watch | Queries Repology (Debian/Gentoo/Arch), public data |
| Commit changes with the spec changelog | zoryn commit | Plain local git commit |
| Clone a package from Sisyphus | zoryn clone <pkg> | Public HTTPS read from git.altlinux.org |
| Check for a newer upstream version | zoryn check version | Public upstream data |
| Locate / validate a spec | zoryn spec, zoryn check spec | Local files |
So the whole per-package edit → build → verify loop is available offline.
What requires maintainer status¶
These operations go through ALT's official build server and are gated by an SSH key registered on gitery/gyle plus the package ACL:
| Task | Command | What it does |
|---|---|---|
| Push branch and tag to gitery | zoryn submit | git push over SSH to gitery.altlinux.org |
| Create / run a build task | zoryn task new / task run | ssh gyle task … on the build server |
| Publish to Sisyphus / a branch | zoryn task run --commit | Atomically commits built packages into the repo |
Without a registered key and the ACL, these commands fail — that is the only line a non-maintainer cannot cross.
What is an ALT Linux build task?
A build task (сборочное задание) is a unit of work on ALT's girar/gyle build server — not a local build. You create it with task new, attach subtasks with task add (one gear repo at a tag = one package), and the server builds every subtask together, in dependency order, across all architectures. task run builds; task run --commitatomically publishes the results into the target repository (Sisyphus or a branch). Tasks can depend on other tasks and be approved, aborted, copied or rebuilt. You can browse, search and track build tasks and their status online at packages.altlinux.org/tasks.
A local zoryn build runs the same hasher build on your own machine, but it is not a build task: no server, no publication, no ACL required. That is exactly the boundary a non-maintainer sits on — you can build everything locally; only creating a task and committing it into the repo needs an account.
Local workflows¶
Three common jobs, each ending in a local hasher build (never submit).
Update an existing ALT package¶
The maintainer's up → submit cycle, minus the submit:
# Clone the current package sources from Sisyphus (public, no account)
zoryn clone libfoo
cd libfoo
# Update to the new upstream version: fetch → merge → spec → changelog → build
zoryn up
# Build in a local hasher
zoryn build
# Record the change with the spec changelog
zoryn commit
Where a maintainer would run zoryn submit, you stop after a local build. The resulting RPMs and the updated .gear are yours to install, ship to a private repo, or hand to a maintainer.
Package a new program for ALT¶
Generate a spec from an upstream source, then build it:
# From a PyPI project — clones the upstream repo and writes .gear/<name>.spec
zoryn gen pypi2spec requests
cd requests
# (or from an opam package: `zoryn gen opam2spec dune --clone` to clone too,
# or run `zoryn gen opam2spec dune` inside an existing gear repo)
zoryn spec find # locate the generated spec, then edit it
zoryn build # build in a local hasher
zoryn commit
For a language zoryn has no generator for, write the spec by hand and jump straight to zoryn build. Add a zoryn gen watch file if you want to track future upstream releases.
Build an existing gear package¶
If you already have a gear repository, you only need one command:
A local build leaves the packages in the hasher's repo ({hasher_dir}/repo/{arch}/RPMS.hasher); a build on a remote builder downloads them into {git_root}/hasher_out/. Use zoryn build -B p11 to build against a stable branch, or -b <builder> to pick a specific hasher.
Building on your own machines¶
A remote builder in zoryn is just a host you SSH into to run hsh — it has nothing to do with girar/gyle and needs no ALT account, only SSH access to that machine. This lets a non-maintainer build for architectures your workstation does not have (ARM64, i586, RISC-V, e2k) and run several builds in parallel.
Adding builders, parallel local hashers and multi-architecture farms are covered in full in the Build farm guide — none of it requires maintainer status.
What this buys you¶
- Reproduce Sisyphus builds locally — the same
hshchroot the official server uses, so a package that builds for you builds there too. - Multi-architecture on your own hardware — validate ARM64 / i586 / RISC-V builds without any ALT infrastructure.
- The full
uppipeline with no privileges — automated merge, spec bump and changelog editing, not just a raw build. - CI and private repositories — script
zoryn buildin a pipeline to feed a personal or corporate ALT repository. - Learn before you join — practise the exact maintainer workflow so that, once you have an account,
submitandtaskare the only new pieces.
Prerequisites and caveats¶
Build machines — local and remote — must run ALT Linux: builds happen through hasher, an ALT tool that builds each package in its own chroot. See the hasher quick guide for setup.
A local hasher build needs hasher-priv set up on your machine (this needs root on that machine):
Your user must be in the hashman group, and /etc/hasher-priv/user.d/<user> must allow the mountpoints your build command uses. zoryn checks this before every build and tells you exactly what to add. Full prerequisites (including remote hosts) are in the Build farm guide.
Getting your result into ALT Linux¶
Once your local work is ready, there are three ways forward:
- Hand it to a maintainer. Give the package's current maintainer your
gearrepository (or a patch and the built RPMs) — they can review andsubmitit. No maintainer, or a brand-new package? File a request in ALT Bugzilla. - Join ALT Linux Team. To publish yourself, become an ALT Linux Team member and get the package ACL. Start at the Join guide.
- Then
submitopens up. With an SSH key ongitery/gyleand the ACL, the maintainer-only commands —zoryn submitandzoryn task— work exactly as documented, on top of the same local workflow you already know.