A hands-on guide to RPM packaging for Fedora/RHEL systems.
- Basic Linux command-line knowledge
- Ability to search documentation
- Fedora-based system (or RHEL/CentOS)
Each directory contains a self-contained example focusing on a specific aspect of RPM packaging:
00-start- Setup and basic terminology01-basics- Your first RPM spec file02-dependencies- Handling BuildRequires and Requires03-patching-from-pr- Applying patches from upstream PRs04-patching-custom- Creating custom patches05-subpackages- Splitting into -devel, -examples, -doc06-unbundling- Using system libraries instead of bundled07-rust- Packaging Rust applications with system crates
Work through directories in order. Each contains:
- README.md with explanation
- Example spec files
- Source files (where applicable)
- Expected outputs or solutions
See XX-todo/ for ideas on additional sections to add.
Feel free to suggest improvements or additional topics.
AIA HAb SeNc Hin R claude-4.5-sonnet v1.0