From 3e958fabe9aba50eed664e99e98af8a0f957f511 Mon Sep 17 00:00:00 2001 From: Yogita Urade Date: Wed, 14 May 2025 10:40:23 +0530 Subject: mariadb: upgrade 11.4.5 -> 11.4.6 This upgrade includes fix for CVE-2023-52971 Changelog: https://mariadb.com/kb/en/mariadb-11-4-6-changelog/ refresh 0001-Add-missing-includes-cstdint-and-cstdio.patch Droped 3871.patch and mm_malloc.patch as these are available in 11.4.6 Signed-off-by: Yogita Urade Signed-off-by: Khem Raj --- meta-oe/recipes-dbs/mysql/mariadb-native_11.4.5.bb | 23 -------- meta-oe/recipes-dbs/mysql/mariadb-native_11.4.6.bb | 23 ++++++++ meta-oe/recipes-dbs/mysql/mariadb.inc | 4 +- ...1-Add-missing-includes-cstdint-and-cstdio.patch | 40 ++++++-------- meta-oe/recipes-dbs/mysql/mariadb/3871.patch | 29 ---------- meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch | 23 -------- meta-oe/recipes-dbs/mysql/mariadb_11.4.5.bb | 63 ---------------------- meta-oe/recipes-dbs/mysql/mariadb_11.4.6.bb | 63 ++++++++++++++++++++++ 8 files changed, 102 insertions(+), 166 deletions(-) delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_11.4.5.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_11.4.6.bb delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/3871.patch delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb_11.4.5.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb_11.4.6.bb diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.5.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.5.bb deleted file mode 100644 index 578357b480..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.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_11.4.6.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.6.bb new file mode 100644 index 0000000000..578357b480 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb-native_11.4.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 3a39d036f7..13e55ebacd 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -17,17 +17,15 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \ file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \ file://ssize_t.patch \ - file://mm_malloc.patch \ file://sys_futex.patch \ file://cross-compiling.patch \ 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-Ensure-compatibility-with-ARMv9-by-updating-.arch-di.patch \ - file://3871.patch \ file://riscv32.patch \ " -SRC_URI[sha256sum] = "ff6595f8c482f9921e39b97fa1122377a69f0dcbd92553c6b9032cbf0e9b5354" +SRC_URI[sha256sum] = "1b26c0bb2d025dbfac3b9852d2b7eafda56a171b67ac2e27831ec0414fb7df07" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/tags" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch index 08e73424d1..bc1b992919 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch +++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch @@ -11,27 +11,14 @@ Upstream-Status: Pending Signed-off-by: Khem Raj Signed-off-by: Mingli Yu --- - .../rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h | 1 + - storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h | 1 + - .../rocksdb/rocksdb/table/block_based/data_block_hash_index.h | 1 + - storage/rocksdb/rocksdb/util/slice.cc | 1 + - storage/rocksdb/rocksdb/util/string_util.h | 1 + - 5 files changed, 5 insertions(+) + storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h | 1 + + .../rocksdb/rocksdb/table/block_based/data_block_hash_index.h | 1 + + storage/rocksdb/rocksdb/util/slice.cc | 2 +- + storage/rocksdb/rocksdb/util/string_util.h | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) -diff --git a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h -index 963c1d8e..73487edd 100644 ---- a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h -+++ b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h -@@ -5,6 +5,7 @@ - - #pragma once - -+#include - #include "rocksdb/rocksdb_namespace.h" - - struct CompactionIterationStats { diff --git a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h -index c7f93b4c..3c2ab805 100644 +index 7fb9d489..f7b4e6f0 100644 --- a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +++ b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h @@ -8,6 +8,7 @@ @@ -55,19 +42,20 @@ index f356395f..32152217 100644 #include diff --git a/storage/rocksdb/rocksdb/util/slice.cc b/storage/rocksdb/rocksdb/util/slice.cc -index 6db11cc9..c26b6a21 100644 +index 3c3656de..b18d7f5d 100644 --- a/storage/rocksdb/rocksdb/util/slice.cc +++ b/storage/rocksdb/rocksdb/util/slice.cc -@@ -8,6 +8,7 @@ - // found in the LICENSE file. See the AUTHORS file for names of contributors. +@@ -12,7 +12,7 @@ + #include #include +- +#include + #include "rocksdb/convenience.h" #include "rocksdb/slice_transform.h" - #include "rocksdb/slice.h" - #include "util/string_util.h" + #include "rocksdb/utilities/object_registry.h" diff --git a/storage/rocksdb/rocksdb/util/string_util.h b/storage/rocksdb/rocksdb/util/string_util.h -index a761be66..064d059f 100644 +index 7794dbb0..b480177e 100644 --- a/storage/rocksdb/rocksdb/util/string_util.h +++ b/storage/rocksdb/rocksdb/util/string_util.h @@ -6,6 +6,7 @@ @@ -78,3 +66,5 @@ index a761be66..064d059f 100644 #include #include #include +-- +2.40.0 diff --git a/meta-oe/recipes-dbs/mysql/mariadb/3871.patch b/meta-oe/recipes-dbs/mysql/mariadb/3871.patch deleted file mode 100644 index 4bbca2d706..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb/3871.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d6923ac0adc11a0364acd421316116190eedb508 Mon Sep 17 00:00:00 2001 -From: Brad Smith -Date: Fri, 7 Mar 2025 02:04:01 -0500 -Subject: [PATCH] Fix building with Clang and GCC on RISC-V - -Clang does not have the builtin __builtin_riscv_pause(). - -Upstream-Status: Backport [https://github.com/MariaDB/server/pull/3871] -Signed-off-by: Khem Raj ---- - include/my_cpu.h | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - ---- a/include/my_cpu.h -+++ b/include/my_cpu.h -@@ -97,7 +97,12 @@ static inline void MY_RELAX_CPU(void) - /* Changed from __ppc_get_timebase for musl and clang compatibility */ - __builtin_ppc_get_timebase(); - #elif defined __GNUC__ && defined __riscv -- __builtin_riscv_pause(); -+ /* The GCC-only __builtin_riscv_pause() or the pause instruction is -+ encoded like a fence instruction with special parameters. On RISC-V -+ implementations that do not support arch=+zihintpause this -+ instruction could be interpreted as a more expensive memory fence; -+ it should not be an illegal instruction. */ -+ __asm__ volatile(".long 0x0100000f" ::: "memory"); - #elif defined __GNUC__ - /* Mainly, prevent the compiler from optimizing away delay loops */ - __asm__ __volatile__ ("":::"memory"); diff --git a/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch b/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch deleted file mode 100644 index a590a3fa36..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 76e4c3e8d001eaaabd0fb34c136b81b82830c420 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 15 Jun 2021 22:48:07 -0700 -Subject: [PATCH] mariadb: Fix build with clang/musl - -Upstream-Status: Pending ---- - storage/rocksdb/rocksdb/port/jemalloc_helper.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/storage/rocksdb/rocksdb/port/jemalloc_helper.h b/storage/rocksdb/rocksdb/port/jemalloc_helper.h -index f6f72f8c..b9657cf3 100644 ---- a/storage/rocksdb/rocksdb/port/jemalloc_helper.h -+++ b/storage/rocksdb/rocksdb/port/jemalloc_helper.h -@@ -5,7 +5,7 @@ - - #pragma once - --#if defined(__clang__) -+#if defined(__clang__) && defined(__GLIBC__) - // glibc's `posix_memalign()` declaration specifies `throw()` while clang's - // declaration does not. There is a hack in clang to make its re-declaration - // compatible with glibc's if they are declared consecutively. That hack breaks diff --git a/meta-oe/recipes-dbs/mysql/mariadb_11.4.5.bb b/meta-oe/recipes-dbs/mysql/mariadb_11.4.5.bb deleted file mode 100644 index b1d1355e2b..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb_11.4.5.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_11.4.6.bb b/meta-oe/recipes-dbs/mysql/mariadb_11.4.6.bb new file mode 100644 index 0000000000..b1d1355e2b --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb_11.4.6.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