CBS is the community build system for CentOS Special Interest Group members.
The service allows to build package with Koji, the open source Fedora project, against CentOS 5, CentOS 6 and CentOS 7.
Details for leveraging and adapting existing tools to build RPMs from git repositories will be given.
The process uncovered challenges about both RPMs building and their final distribution, we will review them, along with solutions and what remains to be done.
Finally, the supporting infrastructure will be described and key choices highlighted.
In an agile world, building RPMs and distributing them in a clean and fast way is more and more important for all system administrators.
Providing users with a simple interface and an easy way to deploy test packages, validate their software functionality and finally distribute them is very important.
Koji is the software that builds RPM packages for the Fedora project. It uses Mock to create chroot environments to perform builds.
"Koji" installation and management will be detailed with a review of needed patches.
"fedpkg" is the command line software for Fedora developers. It interacts with dist-git, koji, rpmbuild, git.
"centpkg" provides CentOS specific configuration to interact with CBS Koji instance and git.centos.org.
Both tools are based on rpkg ; a python library (pyrpkg) and example runtime script to interact with git repos housing rpm spec files building through koji like build systems.
An additional challenge is to distribute in well organised repositories the resulting signed RPMs. The adopted process will be detailed,
An insight in the infrastructure needed for building, distributing and signing will be given.