ci(rpm): publish punktfunk-host RPM to the Gitea registry (Bazzite)
ci / web (push) Failing after 44s
ci / rust (push) Successful in 1m7s
apple / swift (push) Successful in 1m16s
ci / docs-site (push) Failing after 38s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 5s
deb / build-publish (push) Failing after 2m20s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 2m21s
docker / deploy-docs (push) Successful in 18s
rpm / build-publish (push) Successful in 3m57s
ci / web (push) Failing after 44s
ci / rust (push) Successful in 1m7s
apple / swift (push) Successful in 1m16s
ci / docs-site (push) Failing after 38s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 5s
deb / build-publish (push) Failing after 2m20s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 4s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 4s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 2m21s
docker / deploy-docs (push) Successful in 18s
rpm / build-publish (push) Successful in 3m57s
Mirrors the apt pipeline for Fedora Atomic / Bazzite. New `rpm` workflow builds the host RPM in a Fedora 43 builder image (ci/fedora-rpm.Dockerfile — matches Bazzite's libavcodec.so.61, with a self-contained 16-symbol libcuda link stub so no NVIDIA packages are needed in CI) and uploads to Gitea's public RPM registry (group "bazzite") on every main push (rolling 0.0.1-0.ciN.<sha>) and v* tag (clean X.Y.Z-1). Bazzite hosts then track it with `rpm-ostree upgrade`. - packaging/rpm/build-rpm.sh: git-archive tarball + rpmbuild (--nodeps, since the toolchain is rustup + dnf, not RPMs); copies to dist/, asserts no cuda/nvidia leak. - punktfunk.spec: overridable pf_version/pf_release for CI snapshots; exclude libcuda.so from auto-Requires (NVENC/EGL come from the driver, out of band) — same NVIDIA filter as the .deb; fix a bogus changelog weekday. - docker.yml builds+pushes the new fedora-rpm image; packaging README + rpm/README document the rpm-ostree install/update path (recommended option). Builder image seeded to the registry so rpm.yml's first run finds it. RPM build + clean-Requires verified locally in the image (libavcodec.so.61 / libavutil.so.59, no cuda). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,8 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
Name: punktfunk
|
||||
Version: 0.0.1
|
||||
Release: 1%{?dist}
|
||||
# Version/Release are overridable so CI can stamp a rolling snapshot: a main build passes
|
||||
# --define "pf_version 0.0.1" --define "pf_release 0.ci42.gdeadbee"
|
||||
# (Release starting "0." sorts BEFORE the eventual "1" release), a v* tag passes the clean
|
||||
# version with "pf_release 1". A plain `rpmbuild` (or COPR) with no defines builds 0.0.1-1.
|
||||
Version: %{?pf_version}%{!?pf_version:0.0.1}
|
||||
Release: %{?pf_release}%{!?pf_release:1}%{?dist}
|
||||
Summary: Low-latency desktop/game streaming host (Moonlight-compatible + punktfunk/1)
|
||||
|
||||
License: MIT OR Apache-2.0
|
||||
@@ -29,6 +33,12 @@ Source0: %{name}-%{version}.tar.gz
|
||||
# punktfunk-host is Linux-only and links system FFmpeg/PipeWire/Opus.
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
# The zerocopy FFI links the NVIDIA driver's libcuda.so.1; rpm's auto-dep generator would turn
|
||||
# that into a hard Requires on libcuda.so.1 (and we never want to pin the driver — NVENC/EGL come
|
||||
# from whatever NVIDIA stack the host runs, expressed below as the weak xorg-x11-drv-nvidia-cuda
|
||||
# Recommends). Drop it from the auto-Requires, mirroring the Debian package's NVIDIA filter.
|
||||
%global __requires_exclude ^libcuda\\.so.*$
|
||||
|
||||
# --- Build toolchain ---------------------------------------------------------
|
||||
BuildRequires: cargo
|
||||
BuildRequires: rust
|
||||
@@ -131,5 +141,5 @@ echo "then enable the host: systemctl --user enable --now punktfunk-host"
|
||||
echo "Config: cp %{_datadir}/%{name}/host.env.bazzite ~/.config/punktfunk/host.env"
|
||||
|
||||
%changelog
|
||||
* Tue Jun 10 2026 punktfunk <noreply@anthropic.com> - 0.0.1-1
|
||||
* Wed Jun 10 2026 punktfunk <noreply@anthropic.com> - 0.0.1-1
|
||||
- Initial RPM: punktfunk-host + udev rule + systemd user unit + headless helpers.
|
||||
|
||||
Reference in New Issue
Block a user