← Retour au blog
tech 25 July 2026

The Fedora 45 Sausage Factory: From Source Code to Artifacts

Discover how Fedora turns source code into ready-to-use artifacts by following each step of the process.

Article inspired by the original source
The Fedora 45 Sausage Factory ↗ supakeen.com

Introduction

The Fedora 45 sausage factory, as it's sometimes called, is a fascinating process that turns lines of code into downloadable and installable artifacts. Whether you're a developer, entrepreneur, or tech decision-maker, understanding this process will give you a greater appreciation of the enormous work behind the Linux distributions we use every day.

The Origin: dist-git

It all starts with a commit in a Git repository. Fedora stores the source definitions of each package in individual Git repositories at src.fedoraproject.org. Each repository contains an RPM spec file, any downstream patches, and a sources file pointing to upstream tarballs stored in a separate lookaside cache. Large binary files are kept out of Git for performance and size reasons.

Packagers interact with these repositories through fedpkg, a CLI interface that facilitates common operations: cloning repositories, uploading source tarballs, submitting builds, and creating updates. Most importantly, fedpkg build constructs a URL pointing at a specific commit in the Git repository and hands it off to Koji, the build system.

Building Packages: Koji

Koji, Fedora's build system, takes over once fedpkg build submits the Git URL. In service since Fedora 7, Koji follows a hub-and-spoke architecture. The hub is a passive XML-RPC server sitting in front of a PostgreSQL database. Builder daemons poll the hub for work, create a fresh Mock chroot environment for each build, run the build, and upload the results.

Every build starts from a clean room. This ensures results are reproducible, independent of previous installations on the builder. The organizational model is built around tags, a system that allows for effective categorization and management of builds.

Compositions and Deliverables

Once packages are built, they need to be assembled into ISO images, cloud images, containers, and OSTree deployments. Pungi is the tool used to compose these images. Pungi takes the built packages and assembles them into a coherent set ready for distribution. Fedora branches, like rawhide for development and f44 for Fedora 44, dictate the flow of these compositions.

Continuous Updates and Integration

Fedora is known for its fast update cycle. New features and updates are continuously integrated, requiring rigorous monitoring and management to maintain stability. Change proposals are reviewed and tested before integration, ensuring that each Fedora release is an improvement over the last.

Conclusion

Understanding how Fedora turns code into ready-to-use artifacts sheds light on the ingenuity and collective effort needed to maintain a thriving open-source ecosystem. Whether you're involved in software development or systems management, this knowledge will be invaluable. Let's discuss your project in 15 minutes.

References

  • [Fedora Project Documentation](https://docs.fedoraproject.org/)
  • [Koji Build System](https://koji.fedoraproject.org/)
  • [Fedora Packaging Guidelines](https://docs.fedoraproject.org/en-US/packaging-guidelines/)
Fedora Koji fedpkg Pungi open-source
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call