Improve build tools and update documentation - #42
Conversation
…sources Use dynamic targets based on the version to determine if the target needs to run. Static aliases are used to provide a consistent interface. The SRPM variable is lazily evaluated since it may change when the srpm target runs. Update clean target to remove the extracted source directory.
📝 WalkthroughWalkthroughThe PR refactors the Fedora COPR build workflow by centralizing version and artifact discovery in the Makefile, implementing dependency-driven targets (vendor-tarball, srpm, import), updating the vendor tarball generation script to exclude specific directories, and expanding documentation to describe the new build targets and configurable variables. ChangesCOPR Build System Refactoring
🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/makefile.md`:
- Around line 41-45: Update the `vendor-tarball` documentation to list the extra
tools required by the `generate-vendor-tarball.sh` script: explicitly mention
`cargo`, `rpmspec`, `tar`, `patch`, and `cargo-vendor-filterer` as prerequisites
for the `vendor-tarball` target and note that the target is skipped if the
tarball already exists; ensure this appears alongside the `vendor-tarball`
section and references `generate-vendor-tarball.sh` so users know why these
tools are needed.
In `@Makefile`:
- Around line 35-36: Wrap the shell variables in the import recipe with double
quotes to make the command robust: in the Makefile's import target change the
recipe so it cd's into "$(DIST_GIT_CHECKOUT)" and passes "$(SRPM)" to fedpkg
(references: the import target, DIST_GIT_CHECKOUT, and SRPM) so paths or names
with spaces/special chars are handled safely.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: cffd2bd9-9378-48a9-928b-a73d6f9101ed
📒 Files selected for processing (4)
MakefileREADME.mddocs/makefile.mdgenerate-vendor-tarball.sh
💤 Files with no reviewable changes (1)
- README.md
Add make targets to generate vendor tarball, create srpm, and import sources.
Use dynamic targets based on the version to determine if the target needs to run.
Static aliases are used to provide a consistent interface.
The SRPM variable is recursively expanded since it may change when the srpm target runs.
Running
make importwill build the vendor tarball, build the srpm, and then import it into the dist-git repo.There's still a bit of work to do with making sure the dist-git repo is in the correct state to import the srpm. The changes to the dist-git repo then need to be submitted in a PR. That isn't covered in these changes.
Summary by CodeRabbit
Documentation
Chores