Bug 1861329 - Provide override for the %cmake macro in EPEL8 compatible with the new %cmake macro in Fedora
Summary: Provide override for the %cmake macro in EPEL8 compatible with the new %cmake...
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: epel-rpm-macros
Version: epel8
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Kevin Fenzi
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2020-07-28 10:08 UTC by Mattias Ellert
Modified: 2020-07-30 18:13 UTC (History)
4 users (show)

Fixed In Version: epel-rpm-macros-8-15
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-07-30 18:13:22 UTC
Type: Feature Request

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1858941 unspecified CLOSED Please upgrade CMake to 3.17+ and include newly updated macros from Fedora 2020-10-14 00:28:05 UTC
Red Hat Bugzilla 1858983 unspecified NEW cmake: Sync Fedora macros for optional support for out-of-source builds 2020-10-15 16:15:09 UTC

Description Mattias Ellert 2020-07-28 10:08:32 UTC
Description of problem:

In Fedora 33 the %cmake macro changed to use out-of-source builds by default.

The new macro is backported to Fedora 31 and 32, where the new behaviour is not the default in order not introduce breakage in released Fedora. But it can be used there by adding

%undefine __cmake_in_source_build

to the specfile.

The new macro has also been backported to the %cmake3 macro in the cmake3 package in EPEL 7, where the new behaviour is also not the default but can be activated by undefining __cmake3_in_source_build.

Which leaves EPEL 8 as a special case where the new macro can not be used.

While cmake3 in EPEL 7 is an EPEL package that can be adapted to the new macro in EPEL, cmake in EPEL 8 is a RHEL package. So unless redhat can be persuaded to updated the package in RHEL to provide the new functionality, the %cmake macro must be overridden in EPEL 8 if the new functionality should be provided.

Note that the cmake version if RHEL 8 (3.11.4) does not support the -S and -B flags, so the macro must be reimplemented to not use these in EPEL 8.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Add %undefine __cmake_in_source_build to an EPEL 8 specfile
2. Build the package expecting the behaviour of the new %cmake makro
3. See it fail

Additional info:


Comment 1 Mattias Ellert 2020-07-29 12:30:27 UTC
See PR:

Comment 2 Fedora Update System 2020-07-29 22:59:19 UTC
FEDORA-EPEL-2020-996d6678c8 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-996d6678c8

Comment 3 Fedora Update System 2020-07-30 18:13:22 UTC
FEDORA-EPEL-2020-996d6678c8 has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.