From 81072061635a20789a4f084f94cea699a47c8580 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 28 Dec 2019 12:42:27 -0800 Subject: mariadb: Upgrade to 10.4.11 Backport a rocksdb patch to fix clang error Refresh existing patches as needed Switch SRC_URI to downloads.mariadb.org since archive.mariadb.org is too slow if no mirrors are used Signed-off-by: Khem Raj --- .../recipes-dbs/mysql/mariadb-native_10.3.18.bb | 20 -------------- .../recipes-dbs/mysql/mariadb-native_10.4.11.bb | 20 ++++++++++++++ meta-oe/recipes-dbs/mysql/mariadb.inc | 7 +++-- ...build-breakage-from-lock_guard-error-6161.patch | 32 ++++++++++++++++++++++ .../recipes-dbs/mysql/mariadb/fix-arm-atomic.patch | 9 ++---- meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb | 27 ------------------ meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb | 27 ++++++++++++++++++ 7 files changed, 85 insertions(+), 57 deletions(-) delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb create mode 100644 meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb deleted file mode 100644 index e1a038dfa3..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb-native_10.3.18.bb +++ /dev/null @@ -1,20 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-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}/ -} - diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb new file mode 100644 index 0000000000..e1a038dfa3 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb @@ -0,0 +1,20 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-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}/ +} + diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc index ec5ac11ef0..1c1b8a0a87 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -4,7 +4,7 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311" -SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ +SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz \ file://my.cnf \ file://mysqld.service \ file://install_db.service \ @@ -18,9 +18,10 @@ SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://c11_atomics.patch \ file://clang_version_header_conflict.patch \ file://fix-arm-atomic.patch \ + file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \ " -SRC_URI[md5sum] = "b3524c0825c3a1c255496daea38304a0" -SRC_URI[sha256sum] = "69456ca85bf9d96c6d28b4ade2a9f6787d79a602e27ef941f9ba4e0b55dddedc" +SRC_URI[md5sum] = "d0de881ab8ead46928cafb7d558535c1" +SRC_URI[sha256sum] = "4c076232b99433b09eb3c6d62f607192b3474d022703699b8f6aef4e79de3fb9" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch new file mode 100644 index 0000000000..87c70617a1 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch @@ -0,0 +1,32 @@ +Subject: [PATCH] Fix build breakage from lock_guard error (#6161) + +Summary: +This change fixes a source issue that caused compile time error which +breaks build for many fbcode services in that setup. The size() member +function of channel is a const member, so member variables accessed +within it are implicitly const as well. This caused error when clang +fails to resolve to a constructor that takes std::mutex because the +suitable constructor got rejected due to loss of constness for its +argument. The fix is to add mutable modifier to the lock_ member of +channel. + +Pull Request resolved: https://github.com/facebook/rocksdb/pull/6161 + +Differential Revision: D18967685 + +Pulled By: maysamyabandeh + +Upstream-Status: Backport + +fbshipit-source-id:698b6a5153c3c92eeacb842c467aa28cc350d432 +--- a/storage/rocksdb/rocksdb/util/channel.h ++++ b/storage/rocksdb/rocksdb/util/channel.h +@@ -60,7 +60,7 @@ class channel { + + private: + std::condition_variable cv_; +- std::mutex lock_; ++ mutable std::mutex lock_; + std::queue buffer_; + bool eof_; + }; diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch index 34d31148b4..185b7b77ff 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch +++ b/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch @@ -15,11 +15,9 @@ Signed-off-by: Mingli Yu storage/rocksdb/build_rocksdb.cmake | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake -index c36c761..2b539ff 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake -@@ -424,6 +424,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc) +@@ -470,6 +470,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINA ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES}) target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS}) @@ -27,8 +25,5 @@ index c36c761..2b539ff 100644 + TARGET_LINK_LIBRARIES(rocksdblib atomic) +ENDIF() IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -frtti") + set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp") endif() --- -2.17.1 - diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb deleted file mode 100644 index c0b53379d9..0000000000 --- a/meta-oe/recipes-dbs/mysql/mariadb_10.3.18.bb +++ /dev/null @@ -1,27 +0,0 @@ -require mariadb.inc - -EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" - -DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2" - -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.4.11.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb new file mode 100644 index 0000000000..c0b53379d9 --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb @@ -0,0 +1,27 @@ +require mariadb.inc + +EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" + +DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2" + +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 v1.2.3-54-g00ecf