Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix directory overrides in the Linux RPM helper without changing the package spec or release workflow.
RPM_TOPDIRandDIFFZ_DISTvalues no longer get an extra checkout prefix in RPM macros.Reproduction
Baseline: Diffz 0.4.0 source at
7b68d0b6959607ff094745f8ab28a123ef2de2a8; local checks ran on Linux x86_64.With an existing staged tree, invoke the helper with an absolute
RPM_TOPDIR, or an absoluteDIFFZ_DISTand the default build directory. The helper copies the payload to the chosen directory but previously passed$PWD/$top/SOURCESto rpmbuild. Expected: the declared RPM source directory is the directory containing the copied payload.A separate relative build directory also left a new output directory uncreated. The old
find -exec cp ... \\;ignored copy failures and could print a success message without a collected package.Validation
python3 -B scripts/tests/test_smoke_linux_rpm.py -v: 33 passed (23 existing checks and ten new regressions).These fixtures execute the actual Bash helper with real temporary filesystem operations and a recording rpmbuild shim. The shim emits a synthetic marker, not an RPM. They cover defaults, relative/absolute overrides, shell argument boundaries, stage preservation, missing staging, packager failure and collection failure.
Remaining qualification
scripts/check.sh coreandscripts/check.sh nativeboth stopped at the Cargo preflight with exit 127. Cargo/Rust, rpmbuild, ShellCheck and actionlint are unavailable locally. No tools were installed.Real Fedora RPM creation and clean-runtime installation, Rust tests/Clippy/audit, macOS checks and hosted CI remain unrun at submission. The unchanged spec's native handling of paths with spaces is not qualified by the shell/shim tests. This remains a draft pending the existing CI and Fedora packaging gates.
No application source, RPM dependency declarations, workflow permissions, release configuration or cache policy changed.