Hi both!
Yes, RPM packaging is one of the more technical tasks in the community, and we have done tutorials in the past. https://fedoramagazine.org/fedora-classroom-rpm-packaging-101/
Recording here: https://youtu.be/woFtdIS6x0Q
As you'll see it's a tricky subject because while one can be taught how to make an rpm, it's not quite possible for a single tutorial to cover building software from source. There are far too many build systems that the software ecosystem uses (autotools, cmake, all the different ones Python, R, Rust, Java and so on use) and learning these is the bit that usually takes time. I tend to learn these "on-demand" when I want to package a software that uses them.
Here's how I generally suggest people go about it (skip stuff you already know):
Very high level explainers on the Fedora Magazine:
https://fedoramagazine.org/how-rpm-packages-are-made-the-source-rpm/
Then, one has to learn:
- how to make an rpm: just learning the rpm building tools
https://rpm-packaging-guide.github.io/
and then how to do it in the Fedora pipeline using the specific tools (fedpkg and so on): https://docs.fedoraproject.org/en-US/package-maintainers/New_Package_Process...
This includes learning the Fedora community package building pipeline, which includes the package review process to ensure that it follows the Fedora guidelines and meets our standards:
https://docs.fedoraproject.org/en-US/package-maintainers/Package_Review_Proc... https://docs.fedoraproject.org/en-US/packaging-guidelines/
There are a number of ways of getting sponsored to the packager group, so it's worth going through that to see how you want to learn the necessary skills: https://docs.fedoraproject.org/en-US/package-maintainers/How_to_Get_Sponsore...
(for example, you could start by co-maintaining a package---that's easier because you don't have to build the rpm from scratch, you just make tweaks to the existing packages and learn that way)
Really thanks for the huge quantity of resources and advices, now I have enough material I can start going deeper and deeper into the packaging process.