CentOS Linux 7 (1708); based on RHEL 7.4 Source Code

Friday, 4, August 2017 Johnny Hughes Uncategorized 27 Comments

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.

What's Next

Continuous Release Repository

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.

Final Release and New Install Media, CentOS Linux 7 (1708)

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.

27 thoughts on "CentOS Linux 7 (1708); based on RHEL 7.4 Source Code"

  1. Taras says:

    Thanks for detailed explanation!

  2. QJ says:

    1st) Thanks for all the good work.
    2nd) No community distributing build system ?

    Maybe I am a little bit naive but :
    How many will happily crunch bits and bytes if you provide such a distributed system.

    1. Not sure what you mean .. building the distro is something that the project needs to control (have to build things in a specific order to get proper linking, etc).

      Although we have several community related SIGs where community members can get involved and use our CBS (https://cbs.centos.org/).

      But, even with the SIG content, the source code is shared (and people can help with modification of the code) .. but the actual binary RPMs are built on our machines. Security demands that we do it that way.

    2. Nikolay Simonov says:

      Not really a good idea. For security reasons. Imagine if anyone can build some part of the core system and make it distributed as an official package.

  3. cherian p.i. says:

    Do you Centos 7 developed for 32 bit or is Centos 7 for 64 bit only.

    1. Akemi Yagi says:

      The 32 bit x86 is released by the AltArch Special Interest Group. Detailed info can be found here:

      https://wiki.centos.org/SpecialInterestGroup/AltArch/i386

  4. dan says:

    just buy a couple of Ryzen Threadripper cpus, that will get you going!

  5. Nestor says:

    Great Job! Looking forward to it.

  6. WILL CentOS 7.4 RUN with LXQT on Raspberry Pi 3???

  7. Phil says:

    > 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.

    Any word on this? It's August 22 🙂

    1. Akemi Yagi says:

      The CR repo just released.

    2. For the Record .. there were a record number of missing build requirements (11) that had to be found (that is, things not released in the distro or to run things in the distro, but are required to build tings in the distro). Each of those have to be researched and an appropriate version of the missing BuildRequire package found from somewhere (usually EPEL or Fedora Archives).

      There were also an unprecedented number of re-based services (Gnome moved from 3.16 to 3.22, major re-base in openssl, etc.) The release notes have details on all the rebases .. but rebases with much newer shared library versions mean the exact compile order of packages with build requirements is critical and several initially compiled packages had to be recompiled later to get the proper library links. The good thing about rebases .. we get newer software. The bad thing, it takes longer to get the correct build order.

      1. bojleros says:

        Hi Johnny ,

        Do you use SPEC files to build the dependency list or is there anything more sophisticated ?

        Do you rebuild every package that has dependency for openssl ? It should have a lot of deps in fact. My questions are around binary compatibility. Usually we get occasional openssl update but i believe there was no openssl update that caused updating a half of packages that depends on openssl.

        I am not sure if you are a right person for this question but do you think we can get this issue fixed for Centos Atomic ?

        https://github.com/projectatomic/rpm-ostree/issues/784

        Kind Regards
        Bart

  8. antikythera says:

    As and when the Final Release is ready, for non-CR are point releases upgrades just done by yum via package updates?

    If not, how do I upgrade from a 7.3 based install without clean installing?

    1. Yes. If you are running any previous CentOS-7 release, a yum update from that version will bring you to the latest release.

      1. antikythera says:

        thanks for clarifying that Johnny, I wasn't 100% sure which is why I asked. I'm very happily using CentOS with MATE from EPEL as the DE for my main OS now. So many thanks to you and the other CentOS contributors/maintainers for an excellent rock solid OS.

  9. Olubodun Agbalaya says:

    Some updates are now Live on CR

  10. Luca says:

    Hi all,
    I'd like to know if the new 7.4 release will support the new Skylake-X cpus and the intel max 3 turbo feature.
    I'm thinking of building a new graphic workstation based on these new cpus under CentOS.

    Kind Regards,

    Luca

  11. Maechial says:

    HI Johnny,
    Great Job! when will the final version 7.4 release, it's great to see it

  12. Antonino M. Gennaro says:

    Oracle Linux 7.4 was released a full month ago, on Aug. 8, 2017.

    https://blogs.oracle.com/linux/oracle-linux-7-update-4-general-availability-v2

    What in the world is preventing CentOS from doing the same?

    For a final user RHEL or CentOS or Oracle Linux is more or less the same.

    If next Monday 7.4 will still not be available, rather than waiting Godot forever I will waste a couple of hours of my life downloading, making an USB stick and installing Oracle Linux on my workstations.

    Of course I have no idea to redo the same when CentOS will finally provide the world the honor to release it's own flavour of 7.4.

    I respect very much volunteer's time and efforts (I'm a volunteer too) but when you keep an assignment, then you have to live after your word.

    During Summer and in August too.

    1. Jason Bramwell says:

      The CR repo is there if you want it and you can have 7.4 now if you wish (I gave this a whirl a couple of weeks ago as i had some free time).

      I myself would rather wait a little bit longer (it's only going to be a matter of days/weeks) and have a more polished system than have the CentOS team rush in and have bugs that testing could have ironed out.

      Why did Oracle get there first? Well they probably have a little bit more money and staff resource to throw into the build of a new OS than the CentOS team since they sell support for their OS.

    2. Jason Bramwell says:

      Antonino, they must have been listening to you, 7.4 was just released.

  13. Neo Cui says:

    Hi Johny,

    I wonder when will the CentOS 1708 release be available to public? I think it has missed the 9/12 target date.

  14. Sean C says:

    Any timeline on the CentOS release? I've had at least 2 RedHat updates since the last CentOS update and our CentOS machines in production have been flagged several times via Tenable for various issues.

  15. Ken Green says:

    And now it seems like it's there. It's showing on the mirror site I use with a time stamp of "2017-09-13 03:33"

  16. Jalal says:

    Hi Johny,

    Thanks a lot for your hard works

  17. Roger says:

    So what verson of RH Linux is Centos 7.4.1708?

Leave a Reply to Nestor Cancel reply

Your email address will not be published. Required fields are marked *