From Fedora Project Wiki


Fedora Release Tooling Overview

Fedora Release Engineering uses a number of tools that are loosely coupled with one another in order to ultimately create consumable media, images, and packages.

Most of this page is dedicated to documenting the scripts used to automate processes help in the Fedora releng git repository.

Below is an overview of some of the tooling and how it relates to one another:

Rawhide Nightly

Fedora Rawhide Nightly composes are done using the buildrawhide and buildbranched scripts which set the stage for the execution of the script.

Release Composing

Release composing is done via the run-pungi script.


Pungi is the tool used to compose Fedora releases. It requires being ran in a chroot of the package set that it is composing. This ensures that the correct userland tools are used to match up with the kernel that will be used to perform the installation. It uses a comps file + yum repos to gather packages for the compose. The Koji build system provides a way to run tasks within chroots on the various arches, as well as the ability to produce yum repos of packages from specific collections.