Remove the second source path definition from the CMake command
The '%cmake' RPM macro in Fedora actually expands to: | ... | /usr/bin/cmake \ | -S "." \ | -B "redhat-linux-build" \ | ... So in this case the source patch was specified twice. First in the macro with the '-S' option and second time outside of the macro, in the SPECfile, without the '-S' option. CMake upstream declares that: | This has never been officially documented or supported, | but older versions accidentally accepted multiple source paths | and used the last path specified. Update scripts to avoid | passing multiple source path arguments. https://cmake.org/cmake/help/v3.23/release/3.23.html#deprecated-and-removed-features This was discovered as CMake upstream implemented a change to the 3.23.0-rc2 release that changed this behavior and it broke many Fedora packages that used this double source path definition. See rhbz#2057738 to see how build behaved After the CMake upstream got aware of what problems it caused in Fedora, they opened a merge request to restore the behavior to the old one, but kept the warnings that that is an unsupported and problematic behavior: https://gitlab.kitware.com/cmake/cmake/-/issues/23334 --- As for today, this issue is still not yet fully resolved. - The CMake maintainers in Fedora haven't rebased the package to 3.23-1 release, so it is still broken - Affected packages in Fedora should find a way to stop using this unsupported behavior - The double '-S' argument passing should be marked as problematic too, in the exact same way https://gitlab.kitware.com/cmake/cmake/-/issues/23334#note_1159258 - A change to the %cmake Fedora RPM macro might be in play, so it won't force a source path https://gitlab.kitware.com/cmake/cmake/-/issues/23334#note_1159258 I opened a BZ #2079833 to track the progress of the solution by CMake maintainers
This commit is contained in:
parent
655a2f039f
commit
03890c75fc
@ -805,7 +805,7 @@ fi
|
|||||||
|
|
||||||
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
|
# The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX
|
||||||
# so we can't use %%{_datadir} and so forth here.
|
# so we can't use %%{_datadir} and so forth here.
|
||||||
%cmake . \
|
%cmake \
|
||||||
-DBUILD_CONFIG=mysql_release \
|
-DBUILD_CONFIG=mysql_release \
|
||||||
-DFEATURE_SET="community" \
|
-DFEATURE_SET="community" \
|
||||||
-DINSTALL_LAYOUT=RPM \
|
-DINSTALL_LAYOUT=RPM \
|
||||||
|
Loading…
Reference in New Issue
Block a user