32 lines
1.7 KiB
Diff
32 lines
1.7 KiB
Diff
|
MariaDB upstream uses an old version (8.0) of the FMT library, unlike Fedora which packs a current one (10.2)
|
||
|
https://src.fedoraproject.org/rpms/fmt
|
||
|
https://github.com/MariaDB/server/blob/10.11/cmake/libfmt.cmake#L18
|
||
|
|
||
|
There is a breaking change between the FMT library version 8 and 10.
|
||
|
Sergei Golubchik from MariaDB upstream noticed that and decided to not rebase to the newer version for now. In the same commit:
|
||
|
https://github.com/MariaDB/server/commit/b5c367cd88e37091ab5f8dab0396c01c97d037e2
|
||
|
He also fixed the CMake file controlling the FMT library.
|
||
|
It now correctly detects, whether the system version is able to compile a given code in an expected way.
|
||
|
|
||
|
The incompatibility between FMT library version has been reported both agains Fedora and FMT upstream
|
||
|
https://bugzilla.redhat.com/show_bug.cgi?id=2266807
|
||
|
The upstream created a patch and Fedora backported it
|
||
|
https://src.fedoraproject.org/rpms/fmt/c/7d6d6e2c33e845b3cbf3fcaf83f14dfeddfa8a70?branch=rawhide
|
||
|
but only in F40 and later.
|
||
|
|
||
|
To avoid potential issues on systems with FMT library between 8.0 and the one with the fix backported,
|
||
|
introduce a bundling mechanism for use on such distributions.
|
||
|
We pre-download the sources archive and supply the CMake with it, instead of the web URL.
|
||
|
|
||
|
--- mariadb-10.11.7/cmake/libfmt.cmake 2024-02-01 18:44:35.000000000 +0100
|
||
|
+++ mariadb-10.11.7/cmake/libfmt.cmake_patched 2024-06-06 23:27:10.770987424 +0200
|
||
|
@@ -15,7 +15,7 @@ MACRO(BUNDLE_LIBFMT)
|
||
|
ExternalProject_Add(
|
||
|
libfmt
|
||
|
PREFIX "${dir}"
|
||
|
- URL "https://github.com/fmtlib/fmt/archive/refs/tags/8.0.1.zip"
|
||
|
+ URL "file:///${dir}/8.0.1.zip"
|
||
|
URL_MD5 e77873199e897ca9f780479ad68e25b1
|
||
|
INSTALL_COMMAND ""
|
||
|
CONFIGURE_COMMAND ""
|