From 702cf1dc114d7c65cde4fe1d3f19a3314fccb7ff Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Thu, 14 Dec 2023 18:13:49 +0800 Subject: mariadb: Upgrade to 10.11.6 Remove one patch as the logic is included in the new version [1] [2]. Upgrade mariadb to 10.11.6 [3]. [1] https://github.com/MariaDB/server/commit/f4cec369a392c8a6056207012992ad4a5639965a [2] https://github.com/MariaDB/server/commit/cd5808eb8da13c5626d4bdeb452cef6ada29cb1d [3] https://mariadb.com/kb/en/mariadb-10-11-6-release-notes/ Signed-off-by: Mingli Yu Signed-off-by: Khem Raj --- .../recipes-dbs/mysql/mariadb-native_10.11.5.bb | 23 -------- .../recipes-dbs/mysql/mariadb-native_10.11.6.bb | 23 ++++++++ meta-oe/recipes-dbs/mysql/mariadb.inc | 3 +- .../mysql/mariadb/libfmt_make_fmt.patch | 68 ---------------------- meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb | 57 ------------------ meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb | 57 ++++++++++++++++++ 6 files changed, 81 insertions(+), 150 deletions(-) delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb deleted file mode 100644 index 578357b480..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb +++ /dev/null @@ -1,23 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native \ -gnutls-native fmt-native \ -" - -RDEPENDS:${PN} = "" -PACKAGES = "" -EXTRA_OEMAKE = "" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${bindir} - install -m 0755 sql/gen_lex_hash ${D}${bindir}/ - install -m 0755 sql/gen_lex_token ${D}${bindir}/ - install -m 0755 extra/comp_err ${D}${bindir}/ - install -m 0755 scripts/comp_sql ${D}${bindir}/ - install -m 0755 strings/uca-dump ${D}${bindir}/ -} - diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb new file mode 100644 index 0000000000..578357b480 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb @@ -0,0 +1,23 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native \ +gnutls-native fmt-native \ +" + +RDEPENDS:${PN} = "" +PACKAGES = "" +EXTRA_OEMAKE = "" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${bindir} + install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 sql/gen_lex_token ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ + install -m 0755 strings/uca-dump ${D}${bindir}/ +} + diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc index d64d5b0e42..7e6ef42bc3 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -23,10 +23,9 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \ file://lfs64.patch \ file://0001-Add-missing-includes-cstdint-and-cstdio.patch \ - file://libfmt_make_fmt.patch \ " SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" -SRC_URI[sha256sum] = "4c9484048d4d0c71dd076ab33fc2a9ce8510bdf762886de0d63fe52496f3dbbb" +SRC_URI[sha256sum] = "1c0163463e98d71f4780741611a40981eee2bc44d392601ca49bbf948d04dd67" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch b/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch deleted file mode 100644 index 4d5f4a611b..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch +++ /dev/null @@ -1,68 +0,0 @@ -Make make_arg work with libfmt 10.1+ - -This ensures that compiler can find the correct template to use -Fixes - -mariadb-10.11.5/sql/item_strfunc.cc:1429:22: error: no matching functi -on for call to 'make_arg' -| 1429 | vargs[carg-1]= fmt::detail::make_arg(args[carg]->val_int()); -| | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1588:20: note: candidate functio -n [with Context = fmt::basic_format_context, T = long long] not viable: expects an lvalue for 1st argument -| 1588 | FMT_CONSTEXPR auto make_arg(T& val) -> basic_format_arg { -| | ^ ~~~~~~ -| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1559:31: note: candidate templat -e ignored: invalid explicitly-specified argument for template parameter 'PACKED' -| 1559 | FMT_CONSTEXPR FMT_INLINE auto make_arg(T& [ 46%] Building C object mysys/CMakeFiles/mysys.dir/my_likely.c.o -| val) -> value { -| | ^ -| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1596:27: note: candidate templat -e ignored: invalid explicitly-specified argument for template parameter 'PACKED' -| 1596 | FMT_CONSTEXPR inline auto make_arg(T& val) -> basic_format_arg { -| | ^ - -Upstream-Status: Pending -Signed-off-by: Khem Raj - ---- a/cmake/libfmt.cmake -+++ b/cmake/libfmt.cmake -@@ -33,8 +33,9 @@ MACRO (CHECK_LIBFMT) - #include - #include - int main() { -+ int val = 42; - fmt::format_args::format_arg arg= -- fmt::detail::make_arg(42); -+ fmt::detail::make_arg(val); - std::cout << fmt::vformat(\"The answer is {}.\", - fmt::format_args(&arg, 1)); - }" HAVE_SYSTEM_LIBFMT) ---- a/sql/item_strfunc.cc -+++ b/sql/item_strfunc.cc -@@ -1426,14 +1426,22 @@ String *Item_func_sformat::val_str(Strin - switch (args[carg]->result_type()) - { - case INT_RESULT: -- vargs[carg-1]= fmt::detail::make_arg(args[carg]->val_int()); -+ int intval; -+ intval = args[carg]->val_int(); -+ vargs[carg-1]= fmt::detail::make_arg(intval); - break; - case DECIMAL_RESULT: // TODO - case REAL_RESULT: -+ float fval; -+ int val; - if (args[carg]->field_type() == MYSQL_TYPE_FLOAT) -- vargs[carg-1]= fmt::detail::make_arg((float)args[carg]->val_real()); -- else -- vargs[carg-1]= fmt::detail::make_arg(args[carg]->val_real()); -+ { -+ fval = (float)args[carg]->val_real(); -+ vargs[carg-1]= fmt::detail::make_arg(fval); -+ } else { -+ val = args[carg]->val_real(); -+ vargs[carg-1]= fmt::detail::make_arg(val); -+ } - break; - case STRING_RESULT: - if (!(parg= args[carg]->val_str(&val_arg[carg-1]))) diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb deleted file mode 100644 index a4498fa44e..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb +++ /dev/null @@ -1,57 +0,0 @@ -require mariadb.inc - -inherit ptest -SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)}" -DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}" -RDEPENDS:${PN}-ptest += "cmake sed perl-module-test-more" - -do_install_ptest () { - rsync -a ${B}/unittest ${B}/dbug ${D}${PTEST_PATH} \ - --exclude CMakeFiles \ - --exclude cmake_install.cmake \ - --exclude Makefile \ - --exclude=*.a \ - --exclude=*.h \ - --exclude=*.o \ - --exclude=*.so \ - --exclude=*.d \ - --exclude=*.txt - install -m 0755 -d ${D}${PTEST_PATH}/storage - rsync -a ${B}/storage/maria ${B}/storage/perfschema ${B}/storage/innobase ${D}${PTEST_PATH}/storage \ - --exclude CMakeFiles \ - --exclude cmake_install.cmake \ - --exclude Makefile \ - --exclude=*.a \ - --exclude=*.h \ - --exclude=*.o \ - --exclude=*.so \ - --exclude=*.d \ - --exclude=*.txt - cp -r ${B}/CTestTestfile.cmake ${D}${PTEST_PATH} - sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` -} - -DEPENDS += "mariadb-native bison-native boost libpcre2 curl ncurses \ - zlib libaio libedit libevent libxml2 gnutls fmt lzo zstd" - -PROVIDES += "mysql5 libmysqlclient" - -RPROVIDES:${PN} += "mysql5" -RREPLACES:${PN} += "mysql5" -RCONFLICTS:${PN} += "mysql5" - -RPROVIDES:${PN}-dbg += "mysql5-dbg" -RREPLACES:${PN}-dbg += "mysql5-dbg" -RCONFLICTS:${PN}-dbg += "mysql5-dbg" - -RPROVIDES:${PN}-leftovers += "mysql5-leftovers" -RREPLACES:${PN}-leftovers += "mysql5-leftovers" -RCONFLICTS:${PN}-leftovers += "mysql5-leftovers" - -RPROVIDES:${PN}-client += "mysql5-client" -RREPLACES:${PN}-client += "mysql5-client" -RCONFLICTS:${PN}-client += "mysql5-client" - -RPROVIDES:${PN}-server += "mysql5-server" -RREPLACES:${PN}-server += "mysql5-server" -RCONFLICTS:${PN}-server += "mysql5-server" diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb new file mode 100644 index 0000000000..a4498fa44e --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb @@ -0,0 +1,57 @@ +require mariadb.inc + +inherit ptest +SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)}" +DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}" +RDEPENDS:${PN}-ptest += "cmake sed perl-module-test-more" + +do_install_ptest () { + rsync -a ${B}/unittest ${B}/dbug ${D}${PTEST_PATH} \ + --exclude CMakeFiles \ + --exclude cmake_install.cmake \ + --exclude Makefile \ + --exclude=*.a \ + --exclude=*.h \ + --exclude=*.o \ + --exclude=*.so \ + --exclude=*.d \ + --exclude=*.txt + install -m 0755 -d ${D}${PTEST_PATH}/storage + rsync -a ${B}/storage/maria ${B}/storage/perfschema ${B}/storage/innobase ${D}${PTEST_PATH}/storage \ + --exclude CMakeFiles \ + --exclude cmake_install.cmake \ + --exclude Makefile \ + --exclude=*.a \ + --exclude=*.h \ + --exclude=*.o \ + --exclude=*.so \ + --exclude=*.d \ + --exclude=*.txt + cp -r ${B}/CTestTestfile.cmake ${D}${PTEST_PATH} + sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` +} + +DEPENDS += "mariadb-native bison-native boost libpcre2 curl ncurses \ + zlib libaio libedit libevent libxml2 gnutls fmt lzo zstd" + +PROVIDES += "mysql5 libmysqlclient" + +RPROVIDES:${PN} += "mysql5" +RREPLACES:${PN} += "mysql5" +RCONFLICTS:${PN} += "mysql5" + +RPROVIDES:${PN}-dbg += "mysql5-dbg" +RREPLACES:${PN}-dbg += "mysql5-dbg" +RCONFLICTS:${PN}-dbg += "mysql5-dbg" + +RPROVIDES:${PN}-leftovers += "mysql5-leftovers" +RREPLACES:${PN}-leftovers += "mysql5-leftovers" +RCONFLICTS:${PN}-leftovers += "mysql5-leftovers" + +RPROVIDES:${PN}-client += "mysql5-client" +RREPLACES:${PN}-client += "mysql5-client" +RCONFLICTS:${PN}-client += "mysql5-client" + +RPROVIDES:${PN}-server += "mysql5-server" +RREPLACES:${PN}-server += "mysql5-server" +RCONFLICTS:${PN}-server += "mysql5-server" -- cgit 1.2.3-korg