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