There are times in which you want to rapidly set up a development and debugging environment for an open source project; without bothering with all the specifics, dependencies, build systems, installation, deployment scripts and so on. I found the Fedora RPM tools quite useful in this regard.
The idea is to leverage on leverage on the RPM tools, capable of instantly building thousands of projects from source code, but keeping intermediate artifacts as a development environment.
Personally, I’ve used this strategy to work on the Linux kernel, NSS, Kerberos, SPICE and QEMU projects. Please note that setting up an environment of this kind is not the best way to choose if you intend to contribute code upstream. The reason is that RPM source code will not reflect the latest source code revision -against which your patch needs to be generated- and may include non-upstream code.
This is how I structured the guide*:
- Introduction to open source projects
- Introduction to the RPM format
- Building projects with RPM tooling
- Use case: building the Linux kernel
(*) For an introductory-level audience.
Update (2018-04-28): Slides in Spanish.