Bug 1858941

Summary: Please upgrade CMake to 3.17+ and include newly updated macros from Fedora
Product: Red Hat Enterprise Linux 8 Reporter: Neal Gompa <ngompa13>
Component: cmakeAssignee: Tom Stellard <tstellar>
Status: CLOSED DUPLICATE QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: CentOS StreamCC: bstinson, carl, denis.arnaud_fedora, jwboyer, redhat-bugzilla, robert.scheck, tschelle, vikpatil
Target Milestone: rcKeywords: FutureFeature, Rebase
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-21 09:26:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1858983, 1958316    

Description Neal Gompa 2020-07-20 20:03:19 UTC
Description of problem:
Please upgrade the regular CMake package to at least CMake 3.17.x. CMake has maintained excellent backwards compatibility since starting their new behavior policy in CMake 3.0, and upgrading the regular CMake package would improve the usability of this for downstream consumers.

There is a document that talks about CMake policy behavior[1], and the cmake-policies(7) man page[2] describes all of the policies CMake offers.

Virtually all CMake scripts set a cmake_minimum_required[3] value, which implicitly sets the cmake_policy[1] value that configures CMake's behavior.

This mechanism is what ensures CMake remains compatible as it is upgraded, and this has been more strongly enforced since CMake 3.0.

It would be extremely helpful now if the CMake package is upgraded, especially because the functionality that the new Fedora macros introduced with Fedora 33[4] and backported to Fedora 31 and 32[5] requires at least CMake 3.15. I've also introduced this to the cmake3 package for EPEL 7 as well[6].

I'm still trying to figure out some kind of hack to do this with CMake 3.11, and that'll likely exist for a short while (but probably not as nice as what we have for Fedora), but I'd like to eliminate it with RHEL 8.3's release.


[1]: https://cmake.org/cmake/help/latest/command/cmake_policy.html
[2]: https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html
[3]: https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html
[4]: https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds
[5]: https://src.fedoraproject.org/rpms/cmake/commits/f32
[6]: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-a911888c3e

Comment 1 Tilmann Scheller 2020-07-24 15:16:20 UTC
Thanks Neal for filing this bug, as mentioned in bug 1845910 we're planning to rebase system CMake in RHEL 8.4 (not a firm commitment at this stage). We'll revisit this bug when RHEL 8.4 planning starts. For RHEL 8.3 we're unfortunately too far in the development cycle to rebase system CMake at this point.

Comment 2 Neal Gompa 2020-07-24 16:40:56 UTC
(In reply to Tilmann Scheller from comment #1)
> Thanks Neal for filing this bug, as mentioned in bug 1845910 we're planning
> to rebase system CMake in RHEL 8.4 (not a firm commitment at this stage).
> We'll revisit this bug when RHEL 8.4 planning starts. For RHEL 8.3 we're
> unfortunately too far in the development cycle to rebase system CMake at
> this point.

Why is it too late for RHEL 8.3? The release for RHEL 8.3 won't be until this October, if I did my math correctly. And this particular change does not necessitate rebuilding anything else in RHEL to support this.

I don't know how I could have possibly been able to file this earlier, as the Change in Fedora that makes my request necessary was only approved a few weeks ago.

And as you were already planning on providing CMake 3.17 for RHEL 8.3 as a module, I am unsure of why it would be harder or worse in some way to provide it in RHEL 8.3 in the base OS now.

Please reconsider and bring it into RHEL 8.3.

Comment 3 Josh Boyer 2020-07-24 16:57:27 UTC
(In reply to Neal Gompa from comment #2)
> (In reply to Tilmann Scheller from comment #1)
> > Thanks Neal for filing this bug, as mentioned in bug 1845910 we're planning
> > to rebase system CMake in RHEL 8.4 (not a firm commitment at this stage).
> > We'll revisit this bug when RHEL 8.4 planning starts. For RHEL 8.3 we're
> > unfortunately too far in the development cycle to rebase system CMake at
> > this point.
> 
> Why is it too late for RHEL 8.3? The release for RHEL 8.3 won't be until
> this October, if I did my math correctly. And this particular change does
> not necessitate rebuilding anything else in RHEL to support this.

Answering that question requires sharing information about internal process that isn't appropriate in a public forum.  While this may be unsatisfying, it is the truth.

You can, for the sake of moving on here, simply blame me.  I said no. :)

> I don't know how I could have possibly been able to file this earlier, as
> the Change in Fedora that makes my request necessary was only approved a few
> weeks ago.

The fault here does not lie with you.  Nobody expected you to file anything earlier.

> And as you were already planning on providing CMake 3.17 for RHEL 8.3 as a
> module, I am unsure of why it would be harder or worse in some way to
> provide it in RHEL 8.3 in the base OS now.
> 
> Please reconsider and bring it into RHEL 8.3.

That will not happen at this point.  I appreciate the feedback and I further appreciate the desire to iterate quickly here.  We are still trying to figure out how best to incorporate feedback from Stream in a way that is satisfying to all.  Please keep it coming!

Comment 4 Robert Scheck 2020-08-02 19:33:07 UTC
Cross-filed case 02717908 at the Red Hat customer portal, given we treat RHEL 8.4 as too late.

Comment 10 Tilmann Scheller 2020-09-21 09:26:33 UTC
We're rebasing CMake in RHEL 8.4, see bug 1816874. I'm closing this bug.

*** This bug has been marked as a duplicate of bug 1816874 ***