mariadb11.8/mariadb-libfmt.patch
Pavol Sloboda b0d82771cf Stopped bundling the fmt library with the package as the fmt library we
have on fedora 43, 42 and 41 is compatible with mariadb at the moment,
therefore the mariadb-libfmt.patch is no longer needed as we can just
use the system fmt package. I have kept the infrastructure as it needs
to be used on rhel as rhel8 and rhel9 dont' have an fmt package and
rhel10s version is too old to be used with this version of mariadb.
2025-07-23 10:54:58 +02:00

37 lines
2.0 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.
This patch is not used at the moment as the current version of the fmt package available in f40-f43 is sufficient
therefore we are using it instead of the bundled fmt.
We are still keeping this patch in case it may be needed in the future and because it is needed in rhel
--- mariadb-11.8.2/cmake/libfmt.cmake 2025-05-21 16:08:31.000000000 +0200
+++ mariadb-11.8.2/cmake/libfmt.cmake_patched 2025-06-16 22:51:14.579292098 +0200
@@ -15,7 +15,7 @@ MACRO(BUNDLE_LIBFMT)
ExternalProject_Add(
libfmt
PREFIX "${dir}"
- URL "https://github.com/fmtlib/fmt/releases/download/11.1.4/fmt-11.1.4.zip"
+ URL file:///${dir}/fmt-11.1.4.zip
URL_MD5 ad6a56b15cddf4aad2a234e7cfc9e8c9
INSTALL_COMMAND ""
CONFIGURE_COMMAND ""