koji
also: Fedora Build System, Red Hat Build System
Koji is the Red Hat build system used to compile, package, and manage RPM builds for Fedora, Red Hat Enterprise Linux (RHEL), and other RPM-based distributions.
Koji is a centralized build farm and repository system that automates the process of building RPM packages from source code. It distributes compilation jobs across multiple build machines (called builders) to parallelize builds and ensure consistency.
When a developer submits source code to Koji, it assigns the build task to available builders, manages dependencies, tracks build history, and stores the resulting binaries in a central repository. This prevents conflicts and ensures that all packages are built in a clean, reproducible environment.
For example, when Fedora releases a new version, Koji coordinates building thousands of packages across dozens of build servers, automatically handling rebuilds when dependencies change. Koji also tracks which builds were successful, failed, or superseded, maintaining a complete audit trail.
Users typically interact with Koji through the koji command-line client to query build status, download packages, or request new builds. Many distributions operate their own Koji instances: Fedora uses koji.fedoraproject.org, while RHEL uses internal Koji systems.