Red Hat released Red Hat Enterprise Linux 7.4 on August 1st, 2017 (Info). In the CentOS world, we call this type of release a 'Point Release', meaning that the major version of a distribution (in this case Red Hat Enterprise Linux 7) is getting a new point in time update set (in this case '.4'). In this specific case, there were about 700 Source packages that were updated. On this release date, the CentOS Project team began building a point release of CentOS Linux 7, CentOS Linux 7 (1708), with this new source code from Red Hat. Here is how we do it.
When there is a new release of RHEL 7 source code, the public release of this source code happens on the CentOS git server (git.centos.org). We then use a published set of tools (tools) to build Source RPMs (info) from the released git source code and immediately start building the updated version of CentOS Linux. We use a program called mock to build Binary RPM packages from the SRPMs.
At the time of this article (5:00am CDT on August 4th, 2017), we have completed building 574 of the approximately 700 SRPMs needed for our point release. Note that this is the largest number of packages in an EL7 point release so far.
Once we complete the building of the 700 SRPMs in the point release, they will start our QA process. Once the packages have gone through enough of the QA process to ensure they are built correctly, do the normal things, and link against the proper libraries (tutorial; linking), the first set of updates that we will we release will be from our Continuous Release repository. These binary packages will be the same packages that we will use in the next full tree and they will be available as updates in the current CR repo in the current release. If you have opted into CR repo (explained in the above link), then after we populate and announce the release of those packages, then a normal 'yum update' will upgrade you to the new packages.
Normally the only packages that we don't release into the CR repo are the new centos-release package and the new anaconda package, and any packages associated specifically with them. Anaconda is the installer used to create the new ISOs for install and the centos-release package has information on the new full release. These packages, excluded from CR, will be in the new installer tree and on the new install media of the full release.
Historically, the CR repo is released between 7 and 14 days after Red Hat source code release, so we would expect CR availability between the 8th and 15th of August, 2017 for this release.
After the CR Repo release, the CentOS team and the QA team will continue QA testing and we will create a compilation of the newly built and released CR packages and packages still relevant from the last release into a new repository for CentOS Linux 7 (1708). Once we have a new repo, we will create and test install media. The repository and install media will then be made available on mirror.centos.org. It will be in a directory labeled 7.4.1708.
Historically, the final release becomes available 3 to 6 weeks after the release of the source code by Red Hat. So, we would expect our full release to happen sometime between August 22nd and September 12th, 2017.
As I mentioned earlier, this is the largest point release yet in terms of number of packages released in the EL7 cycle to date, so it may take a few days longer for each above cycle. Also for building this set of packages we also need something new .. the Developer Tool Set (version 6) compiler .. for some packages. This should not be a major issue as the Software Collections Special Interest Group (SCL SIG) has a working version of that tool set already released. A big think you to that SIG, as they have saved me a huge amount of work and time for this release.