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/rpm-packages-explained/
-
https://fedoramagazine.org/how-rpm-packages-are-made-the-source-rpm/
-
https://fedoramagazine.org/how-rpm-packages-are-made-the-spec-file/
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_Proc...
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_P...
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_Spons...
(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)
--
Thanks,
Regards,
Ankur Sinha "FranciscoD" (He / Him / His) |
https://fedoraproject.org/wiki/User:Ankursinha
Time zone: Europe/London