nzbget is absent from the artifactapi rpm-vendor-el9/rpm-vendor-el8
repodata, so `dnf install nzbget` fails on the media host. Its build.sh
requested the download asset using PACKAGE_RELEASE, which carries the
dist tag (e.g. 1.el9); upstream only publishes nzbget-<version>-1.x86_64.rpm,
so the fetch 404s and a 22-byte junk file gets published that createrepo
cannot index. The existing junk nzbget-26.1-1.el9 also makes the deploy
dedup probe return 200, blocking re-upload of a corrected 26.1.
- Point the build.sh source URL at the upstream release-1 asset name,
keeping the dist-tagged local output filename (mirrors code-server).
- Bump nzbget el8/el9 to 26.2 (current upstream stable) so the corrected
build produces a fresh filename that the deploy step will actually PUT.
Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
- Migrate from legacy shell-based build system to modern Python tooling
- Update all metadata.yaml files to new schema with per-distro builds
- Standardise build scripts with curl -L, envsubst, and error handling
- Convert nfpm.yaml templates to use environment variable substitution
- Update Dockerfile to accept all package metadata as build arguments
- Modernise Makefile to use new Python build tool commands
- Update CI workflow to use tools/build instead of make
Standardize download commands across all build scripts:
- HashiCorp packages: wget -O → curl -o
- VictoriaMetrics packages: wget -O → curl -o
- Other packages: wget -O → curl -o, wget → curl -O
- Update dependency lists to use curl instead of wget
This change provides consistency across all packages and uses a single download tool.
Standardize all RPM packages to use a consistent build pattern:
- Simple Dockerfiles that copy resources/ and call build.sh
- Move all build logic to resources/build.sh scripts
- Consolidate nfpm.yaml and scripts into resources/ directory
- Update base image to almalinux9-rpmbuilder for consistency
Changes:
- Refactored 37 packages total (simple + complex)
- HashiCorp tools: consul, vault, terraform, terragrunt, packer, nomad, nomad-autoscaler
- Development tools: g10k, etcd, nfpm, ruff, uv, unrar, nzbget, boilerplate
- VictoriaMetrics: vlutils, vmutils, victoria-logs
- Network tools: cni-plugins, consul-cni, unkin-ca-certificates
- Jellyfin suite: jellyfin-web, jellyfin-server, jellyfin-ffmpeg-bin
- System packages: puppet-initial, incus
This standardization improves maintainability and consistency across
the entire RPM build system while preserving all existing functionality.