build: Compress the RPM payload with zstd (#8047)

This commit is contained in:
Ayaz Salikhov
2026-08-19 15:05:04 +00:00
committed by GitHub
parent f370289733
commit da57183e0c
3 changed files with 6 additions and 8 deletions

View File

@@ -384,4 +384,5 @@ words:
- xrplf
- xxhash
- xxhasher
- zstdio
- CGNAT

View File

@@ -238,14 +238,9 @@ what catches a binary still linked against the Nix store's ELF loader (see
3. Runs `rpmbuild -bb`, passing the normalized package metadata version as the
`pkg_version` RPM macro and `PKG_RELEASE` as the `pkg_release` RPM macro.
The spec uses manual `install` commands to place files, disables `dwz`, and
writes uncompressed RPM payloads while generating debuginfo packages.
generates debuginfo packages.
4. Output: `rpmbuild/RPMS/x86_64/xrpld-*.rpm`
The uncompressed RPM payload setting is intentionally unconditional for
generated RPMs. It trades larger RPM artifacts for much shorter package
build/validation time, which keeps RPM package validation in the same rough time
class as Debian package validation.
RPM upgrades intentionally do not restart a running `xrpld` service. The spec
uses `%systemd_postun`, matching Debian's `dh_installsystemd
--no-stop-on-upgrade` behavior; operators pick up the new binary on the next

View File

@@ -19,8 +19,10 @@ BuildRequires: systemd-rpm-macros
%undefine _debugsource_packages
%debug_package
# Intentionally trade larger RPM artifacts for faster package validation.
%global _binary_payload w.ufdio
# Level 3 rather than the el9 default of 19: it shrinks the multi-gigabyte
# debuginfo package roughly fourfold in about a second, where 19 would spend
# minutes on it.
%global _binary_payload w3.zstdio
%global _find_debuginfo_dwz_opts %{nil}
%build_mtime_policy clamp_to_source_date_epoch