This repository packages upstream CLI tools for COPR.
Each package lives in its own subdirectory under packages/ and is built in its own canonical COPR project. An umbrella COPR named ai is maintained separately and only enables those canonical package repos via runtime dependencies, so it does not rebuild the same RPMs.
| Package | Status |
|---|---|
gogcli |
![]() |
wacli |
![]() |
codex |
![]() |
opencode |
![]() |
ollama |
![]() |
claude-code |
![]() |
gogcli: source-built from upstream git tags with vendored Go moduleswacli: source-built from upstream git tags with vendored Go modules, with CGO enabled and the upstreamsqlite_fts5build tagcodex: repackaged from upstream Linux release binaries forx86_64andaarch64, with a runtime dependency onripgrepopencode: repackaged from upstream Linux release binaries forx86_64andaarch64ollama: repackaged from upstream Linux release bundles forx86_64andaarch64claude-code: repackaged from the@anthropic-ai/claude-codenpm tarball forx86_64andaarch64, with a Node.js runtime wrapper for the upstreamclaudecommandai: umbrella COPR project that enables the canonical package COPRs together
packages/<name>/: per-package spec and.copr/Makefilepackages.json: package list used by the updater workflowpyproject.tomlanduv.lock: pinned Python tooling for the GitHub workflowscripts/make_srpm.sh: clones an upstream git tag, vendors Go modules, and emits an SRPMscripts/make_binary_release_srpm.sh: downloads release artifacts and emits an SRPMscripts/make_npm_srpm.sh: downloads an npm package tarball and emits an SRPMscripts/ensure_copr.py: creates or updates the COPR project and package source definition.github/workflows/update-copr.yml: daily upstream check, rebuild on pushes tomain, plus optional manual rebuild
Add these repository variables:
COPR_OWNER: COPR owner, for exampleyournameor@your-groupCOPR_URL(optional): defaults tohttps://copr.fedorainfracloud.org
Add these repository secrets:
COPR_LOGINCOPR_USERNAMECOPR_TOKEN
The workflow runs daily at 00:15 UTC, on pushes to main, and can also be started manually. Use the manual run with force_build=true for the first bootstrap build or to rebuild the currently packaged version.
- Checks the latest upstream
v*tag fromhttps://github.com/steipete/gogcli.git. - Checks the latest upstream
v*tag fromhttps://github.com/steipete/wacli.git. - Checks the latest upstream
rust-v*tag fromhttps://github.com/openai/codex.git. - Checks the latest upstream
v*tag fromhttps://github.com/anomalyco/opencode.git. - Checks the latest upstream
v*tag fromhttps://github.com/ollama/ollama.git. - Checks the latest npm
latestdist-tag for@anthropic-ai/claude-code. - Uses
uvto install the pinned Python toolchain and workflow dependencies fromuv.lock. - Checks all tracked upstream sources concurrently, updates any package spec whose upstream version changed, and pushes that commit back to this repository.
- Ensures each canonical package COPR project exists, enables all currently available COPR chroots for that package's configured architectures except excluded distros, and turns on
follow-fedora-branching. - Ensures every package source points at this repository and uses the
make_srpmmethod from its package subdirectory. - Ensures the umbrella COPR project
aiexists and carries runtime dependencies on the canonical package COPRs. - Starts COPR builds only for canonical package projects whose versions changed, or for all canonical package projects when the manual workflow is run with
force_build=true.
- The COPR project chroots are synced from the live
copr-cli list-chrootsoutput, filtered to chroots whose architecture appears inpackages.json, then filtered again by excluded distro IDs or distro prefixes from the globalchroot_exclude_distroslist. - All tracked packages currently target
aarch64andx86_64, excludingalma-kitten+epel-10-*,almalinux-kitten-10-*,centos-stream+epel-next-8-*,centos-stream-8,custom-*,epel-7,mageia-*,openeuler-*,rhel-7, andrhel-8. gogcliuses vendored Go modules.wacliuses vendored Go modules and follows the upstream CGOsqlite_fts5build configuration so the local message index keeps FTS5 enabled.codexuses the upstream Linux musl release artifacts and depends on the Fedoraripgreppackage instead of bundlingrg.opencodeuses the upstream Linux release artifacts and packages thex86_64baseline build so one RPM works on a wider range of Fedora systems.ollamauses the upstream Linux release bundles and does not package the separate ROCm or JetPack add-on archives.claude-codeuses the upstream npm tarball and installs the upstreamclaudecommand name.claude-codeis proprietary software distributed under Anthropic's legal terms rather than an open-source license; review those terms before publishing it in a public COPR.- The umbrella
aiCOPR does not rebuild packages; it only points users at the canonical per-package repos throughcopr://...runtime dependencies.





