• Sources: The Fedora 45 Sausage Factory, HN 49046525
  • Summary: A walkthrough published for Fedora 45 follows one package through the distribution's build and release pipeline. Package sources live as individual git repositories on src.fedoraproject.org holding the RPM spec, downstream patches, and a pointer to upstream tarballs kept in a separate lookaside cache, with a migration from Pagure to Forgejo underway. fedpkg build hands Koji a URL naming a specific commit, and Koji builds in a fresh Mock chroot each time, organizing work through inheritable tags rather than directories. Bodhi gates updates for branched releases on karma and time in testing, 14 days for critical path packages against 7 for the rest, and promotes a build by moving it between Koji tags. Pungi then composes a release by first freezing the package set from a tag, so a build submitted mid-compose cannot enter it, and orchestrating lorax for the installer boot image, Kiwi for cloud and live images, Image Builder over osbuild's 176 sandboxed stages for ostree and bootc artifacts, and rpm-ostree compose tree for the atomic desktops. The author states the document is still changing because Fedora 45 has not been released and several proposals in flight would alter how boot.iso is produced.
  • Why it matters: The reproducibility properties described here, a build addressed by commit hash and a compose frozen against a tag, are the ones any internal release pipeline gets measured against, and distribution build systems are usually documented only for their own contributors.

send feedback on this story