This repo packages Anthropic's official Claude Code CLI as:
- a Fedora RPM (
claude-code.spec), and - a container image built from that RPM (
Containerfile), published toghcr.io/akdev1l/claude-code.
It does not contain Claude Code's source — it downloads the official
pre-built claude binary for the target architecture and wraps it in
standard Fedora packaging.
claude-code.spec— RPM spec. Declares the current version and pulls the matching pre-built binary fromdownloads.claude.aiforx86_64oraarch64, then installs it to/usr/bin/claude. No compilation happens; the binary is installed as-is (debug package / stripping disabled).Containerfile— multi-stage build: stage one usesfedpkgto build the RPM from the spec insidefedora-minimal, stage two installs that RPM into a freshfedora-minimalimage.ENTRYPOINTruns/usr/bin/claude.build.sh— builds the container image locally withpodman build, tagging itclaude-code:latestandclaude-code:<version>(version read from the spec file). RespectsFEDORA_RELEASE(default44).claude— wrapper shell script topodman runthe built image, mounting~/.config/claude(as/root/.claudeand/root/.claude.json) and the current directory (as/project) into the container, so Claude Code's config/auth persists across runs and operates on the local project.ci/claude.metadata.sh— standalone helper (not used by the RPM/container build) that queriesdownloads.claude.aifor the latest Claude Code version, manifest, and per-architecture checksums, and prints them as JSON.ci/claude.versionbump.sh— runsclaude.metadata.shand, if a newer version is available, updatesVersion:inclaude-code.spec, the checksums inSOURCES, and adds a%changelogentry (using the spec's existingReleasenumber — bumpingReleaseitself is a manual, spec-revision-only step).SOURCES— recorded SHA256 checksums of the downloaded per-arch binaries..github/workflows/build.yml— CI: on push tof44orrawhide, builds the image viabuild.shand pusheslatest,<version>, and a date tag to GHCR.
Build the image:
./build.shRun Claude Code from the built image against the current directory:
./claude./ci/claude.versionbump.shThis fetches the latest metadata, and — if it's newer than the version
currently in claude-code.spec — updates Version:, SOURCES, and the
%changelog. Then rebuild with ./build.sh.