Hi Folks,
We are going to announce soon a plan to upgrade cbs.centos.org and associated builders to be able to build standard C8 RPM packages, without interfering too much with SIGs ongoing work.
is this plan discussed on Mondays CBS meetings? I don't see it logged in https://www.centos.org/minutes/2019/September/
We didn't manage to have a meeting on Monday.
To conclude, we will send an update beginning of next week with more information, a schedule and a list of points that need to be sorted out with the community.
I'll try to give a summary of my investigation. I'll decouple two problems : the koji upgrade and having a working CentOS 8 target/buildroot in cbs.centos.org with CentOS 7 builders.
1/ koji upgrade
The first step is to upgrade our version of koji to match the version mbox uses. At the same time we move away from puppet to ansible (thanks Arrfab for all the work! [1] & [2]) and upgrade the base operating system from CentOS 6 to CentOS 7.
At the same time the builders (where mock runs) need to run specific version of certain tools for C8 buildroots :
distribution-gpg-keys.noarch 1.21-1.el7 kernel.x86_64 4.19.34-300.el7
mock.noarch 1.3.4-1.el7_build.rhel8 python-perf.x86_64 4.19.34-300.el7 python2-distro.noarch 1.0.3-1.el7.rhel8
* Status: Update works and db schema can be easily upgraded. We have few more test to validate that the previous mentioned RPM updates don't break anything for C6 & C7 targets. Next step is to announce a downtime and execute the upgrade plan.
2/ CentOS 8 buildroot
When 1/ is done we can create an C8 buildroot without enabling the Appstream repo.
Due to the nature of Appstream, and how koji uses mergerepo (--koji)/updaterepo/mock, more work is needed to get a working buildroot.
I don't fully understand the underlying issue so comments are very welcome to enlighten us !
One of the solution found by Fedora team is to split Appstream per repository and enable only the one needed in a specific buildroot [3].
We are evaluating the tools. And see if we can use koji external-repo or tag inheritance to achieve it (which is mbox solution [4])
However for a community build service, we don't know exactly what people will build and what Appstream packages will be needed in each buildroot (we have 290 targets at this time for C7). So we still need time and new ideas :-)
* Status: Investigating possible solutions.