THIS PAGE IS A DRAFT
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 build-functions.sh script.
Release Composing
Release composing is done via the run-pungi script.
Pungi
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.