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