Fedora Classroom: R...
Clear all

Fedora Classroom: RPM Packaging 101

Member Admin
Joined: 2 years ago
Posts: 223
Topic starter  


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:

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.


  • 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)

Useful reading

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.


Topic Tags