sources/tech/20210614 Fedora Classroom- RPM Packaging 101.md
4.5 KiB
Fedora Classroom: RPM Packaging 101
Fedora Classroom sessions return with a session on RPM packaging targeted at beginners.
About the session
RPMs are the smallest building blocks of the Fedora Linux system. This session will walk through the basics of building an RPM from source code. You will learn how to set up your Fedora system to build RPMs, how to write a spec file that adheres to the Fedora Packaging Guidelines, and how to use it to generate RPMs for distribution. The session will also provide a brief overview of the complete Fedora packaging pipeline.
While no prior knowledge of building RPMs or building software from its source code is required, some software development experience will be useful. The hope is to help users learn the skills required to build and maintain RPM packages, and to encourage them to contribute to Fedora by joining the package collection maintainers.
When and where
The classroom session will be organised on the BlueJeans video platform at 1200 UTC on June 17, 2021 and is expected to last an hour:
- BlueJeans event URL: https://bluejeans.com/473822117
- Fedora calendar entry (Click to see the event in your local time zone and add it to your calendar application).
Topics covered in the session
- The basics of a spec file.
- Source and binary RPMs and how they are built from the spec using rpmbuild.
- A brief introduction to mock and fedpkg.
- The life cycle of a Fedora package.
- How you can join the Fedora package collection maintainers.
Prerequisites
- A Fedora installation (Workstation or any lab/spin)
- The following software should be installed and configured:
- git
sudo dnf install git
* **fedora-packager
**
sudo dnf install fedora-packager
* **mock** (configured as per [these instructions][4])
Useful reading
- RPM packages explained
- How RPM packages are made: the spec file
- How RPM packages are made: the source RPM
About the instructor
Ankur Sinha has been maintaining packages in Fedora for more than a decade and is currently both a sponsor to the package maintainers group, and a proven packager. Ankur primarily focuses on maintaining neuroscience related software for the NeuroFedora Special Interest Group and contributes to other parts of the community wherever possible.
Fedora Classroom is a project aimed at spreading knowledge on Fedora related topics. If you would like to propose a session, feel free to open a ticket here with the tag classroom. If you are interested in taking a proposed session, please let us know and once you take it, you will be awarded the Sensei Badge too as a token of appreciation. Recordings from the previous sessions can be found here.
via: https://fedoramagazine.org/fedora-classroom-rpm-packaging-101/
作者:Ankur Sinha "FranciscoD" 选题:lujun9972 译者:译者ID 校对:校对者ID