Since the release of Red Hat Enterprise Linux 8 (on 07-May) we've been looking

into the tools that we use to build CentOS Linux. We've chosen to use the Koji

buildsystem for RPMs, paired with the Module Build Service for modules, delivered through a distribution called Mbox.

Mbox allows us to run the Koji Hub (the central job orchestrator), and the Module Build Service in an instance of OKD that we maintain specifically for our buildsystem work. We have 2 instances of mbox; one for the primary architectures (x86_64, ppc64le, and aarch64), and one for the secondary architecture (armhfp). OKD lets us run those instances on the same hardware but in separate namespaces. The builder machines are separate from the OKD cluster, and connect back to the individual buildsystems that they're assigned to.

As usual, you can find the sources for the RPMs and Modules that make up CentOS 8 at https://git.centos.org

Also as usual, we don't forecast dates on when CentOS 8 will release for General Availability, but we will release it as soon as it's ready.

You can follow live updates here: https://wiki.centos.org/About/Building_8

Some Statistics so Far:

Total non-modular Packages: 2542

Packages Built: 2523

Updates to Build: 25

Failed Packages: 17

Total number of Module/Streams: 61

Modules Built: 14

Failed Modules: 0

Secure boot shim status: Done

Challenges

If you've been following progress closely, you may have noticed that the buildsystems seemed quiet over the past week or so. We were almost through the entire non-modular build cycle when we noticed some modules were required for building the next batch of non-modular packages. We focused, then, on building some of the necessary modules but found some of their dependencies were not pushed to git.centos.org. That problem has since been resolved, and we expect to resume module builds (and unblock the rest of the 17 failed packages) sometime this week.

What's Next?

Once the builds are complete, we are also investigating a consolidated approach to composing the repositories and other artifacts (like cloud images) that make up CentOS 8. See the centos-devel mailing list for discussion on the structure of these artifacts.

We still need to do the following things:

Finish all of the component builds

Sign all of the built RPMs

Send a compose to the QA group for testing

Finalize the repo structure on the mirrors

Compose CentOS 8

Stay tuned for a followup blog post with another update and Frequently Asked Questions