From 0e18a0cea962a187cffcca248b1685924742afd4 Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Mon, 26 Feb 2024 17:04:29 +0800 Subject: mariadb: Upgrade to 10.11.7 As the change [1] introduced in 10.11.7, there comes below configure failure: | -- Performing Test HAVE_SYSTEM_LIBFMT | CMake Error: try_run() invoked in cross-compiling mode, please set the following cache variables appropriately: | HAVE_SYSTEM_LIBFMT_EXITCODE (advanced) | For details see /build/tmp-glibc/work/core2-64-wrs-linux/mariadb/10.11.7/build/TryRunResults.cmake | -- Performing Test HAVE_SYSTEM_LIBFMT - Failed [snip] Considering [1] is mainly used to test fmt 10.0.0 failure and we use libfmt 10.2.1 now, so define "-DHAVE_SYSTEM_LIBFMT_EXITCODE=0" as workaround [2] to fix the above configure error. Remove the problematic assert lines to fix the below build failure on 32bit arm as the next 10.11 release will bring the assert back in a way that works on 32-bit arm [3]. In file included from TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_test.c:38: TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_fw.c:1438:3: error: 'compile_time_assert' declared as an array with a negative size 1438 | compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [1] https://github.com/MariaDB/server/commit/b5c367cd88e37091ab5f8dab0396c01c97d037e2 [2] https://jira.mariadb.org/browse/MDEV-30694 [3] https://jira.mariadb.org/browse/MDEV-33429 Signed-off-by: Mingli Yu Signed-off-by: Khem Raj --- .../recipes-dbs/mysql/mariadb-native_10.11.6.bb | 23 -------- .../recipes-dbs/mysql/mariadb-native_10.11.7.bb | 23 ++++++++ meta-oe/recipes-dbs/mysql/mariadb.inc | 4 +- ...0001-Remove-the-compile_time_assert-lines.patch | 43 +++++++++++++++ meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb | 63 ---------------------- meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb | 63 ++++++++++++++++++++++ 6 files changed, 132 insertions(+), 87 deletions(-) delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb (limited to 'meta-oe/recipes-dbs/mysql') 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 deleted file mode 100644 index 578357b480..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.6.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.7.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.bb new file mode 100644 index 0000000000..578357b480 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.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 25dc15b466..9e6d490cbe 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -23,9 +23,10 @@ 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://0001-Remove-the-compile_time_assert-lines.patch \ " SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch" -SRC_URI[sha256sum] = "1c0163463e98d71f4780741611a40981eee2bc44d392601ca49bbf948d04dd67" +SRC_URI[sha256sum] = "5239a245ed90517e96396605cd01ccd8f73cd7442d1b3076b6ffe258110e5157" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" @@ -96,6 +97,7 @@ EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \ -DMYSQL_DATADIR:PATH=/var/mysql \ -DCAT_EXECUTABLE=`which cat` \ -DSTACK_DIRECTION=1 \ + -DHAVE_SYSTEM_LIBFMT_EXITCODE=0 \ -DCMAKE_AR:FILEPATH=${AR}" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch new file mode 100644 index 0000000000..9a6e28297b --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch @@ -0,0 +1,43 @@ +From cc5f1d0759b367265a1a000287e2ec15c31eb518 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Mon, 26 Feb 2024 14:56:02 +0800 +Subject: [PATCH] Remove the compile_time_assert lines + +Remove the problematic compile_time_assert lines to fix the below build +failure on 32-bit arm. + In file included from TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_test.c:38: + TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_fw.c:1438:3: error: 'compile_time_assert' declared as an array with a negative size + 1438 | compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Inappropriate [Upstream will bring the asset back + in a new way [1]] +[1] https://jira.mariadb.org/browse/MDEV-33429 + +Signed-off-by: Mingli Yu +--- + tests/mysql_client_fw.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c +index c9e64678..5c0c7ce2 100644 +--- a/tests/mysql_client_fw.c ++++ b/tests/mysql_client_fw.c +@@ -1430,14 +1430,6 @@ int main(int argc, char **argv) + tests_to_run[i]= NULL; + } + +-#ifdef _WIN32 +- /* must be the same in C/C and embedded, 1208 on 64bit, 968 on 32bit */ +- compile_time_assert(sizeof(MYSQL) == 60*sizeof(void*)+728); +-#else +- /* must be the same in C/C and embedded, 1272 on 64bit, 964 on 32bit */ +- compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656); +-#endif +- + if (mysql_server_init(embedded_server_arg_count, + embedded_server_args, + (char**) embedded_server_groups)) +-- +2.25.1 + diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb deleted file mode 100644 index b1d1355e2b..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.6.bb +++ /dev/null @@ -1,63 +0,0 @@ -require mariadb.inc - -inherit ptest -inherit useradd - -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" - -USERADD_PACKAGES = "${PN}-setupdb" -USERADD_PARAM:${PN}-setupdb = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql" -GROUPADD_PARAM:${PN}-setupdb = "--system mysql" - -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.7.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb new file mode 100644 index 0000000000..b1d1355e2b --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb @@ -0,0 +1,63 @@ +require mariadb.inc + +inherit ptest +inherit useradd + +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" + +USERADD_PACKAGES = "${PN}-setupdb" +USERADD_PARAM:${PN}-setupdb = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql" +GROUPADD_PARAM:${PN}-setupdb = "--system mysql" + +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 v1.2.3-54-g00ecf