mariadb: upgrade to 10.5.4

* Remove one backported patch
* Remove SRC_URI[md5sum]
* Rebase two patches to fix fuzz warnings
* Add curl depends to fix below error:
  | ./mariadb-10.5.4/storage/maria/libmarias3/libmarias3/marias3.h:26:10: fatal error: curl/curl.h: No such file or directory

* update the pam_user_map.so install logic as below commit introduced in this new
  mariadb version
  236aed3f5f0 MDEV-21656: Wrong directory for pam_user_map.so JIRA:https://jira.mariadb.org/browse/MDEV-17292

* Backport a patch to fix the undefined reference to `crc32c_arm64' on arm64

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Mingli Yu
2020-07-28 01:36:03 -07:00
committed by Khem Raj
parent 4a1e05154f
commit 8fa0a3ace6
7 changed files with 97 additions and 61 deletions
+8 -5
View File
@@ -18,11 +18,10 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz
file://c11_atomics.patch \ file://c11_atomics.patch \
file://clang_version_header_conflict.patch \ file://clang_version_header_conflict.patch \
file://fix-arm-atomic.patch \ file://fix-arm-atomic.patch \
file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \
file://0001-Fix-library-LZ4-lookup.patch \ file://0001-Fix-library-LZ4-lookup.patch \
file://0001-MDEV-23137-RocksDB-undefined-reference-to-crc32c_arm.patch \
" "
SRC_URI[md5sum] = "97d7c0f508c04a31c138fdb24e95dbc4" SRC_URI[sha256sum] = "26db2becc9cec37e99a4e73390bd2eaa74568e21f9cf110359f4f68b37154c72"
SRC_URI[sha256sum] = "fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
@@ -169,8 +168,12 @@ do_install() {
mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/ mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
fi fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
mv ${D}/lib/security ${D}/${libdir} pam_so=$(find ${D} -name pam_user_map.so)
rmdir --ignore-fail-on-non-empty ${D}/lib if [ x"${pam_so}" != x ]; then
pam_dir=$(dirname ${pam_so})
mv ${pam_dir} ${D}/${libdir}
rmdir --ignore-fail-on-non-empty ${pam_dir%security}
fi
fi fi
} }
@@ -1,32 +0,0 @@
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<T> buffer_;
bool eof_;
};
@@ -0,0 +1,48 @@
From d88ea260882ca414e940cd6af225617f00503f71 Mon Sep 17 00:00:00 2001
From: Krunal Bauskar <krunalbauskar@gmail.com>
Date: Mon, 27 Jul 2020 18:38:10 +0800
Subject: [PATCH] MDEV-23137: RocksDB: undefined reference to crc32c_arm64
RocksDB fails to build on arm64: undefined reference to
`crc32c_arm64(unsigned int, unsigned char const*, unsigned int)'
MariaDB uses storage/rocksdb/build_rocksdb.cmake to compile RocksDB.
Said cmake missed adding crc32c_arm64 compilation target so if
machine native architecture supported crc32 then complier would enable
usage of function defined in crc32c_arm64 causing the listed error.
Added crc32c_arm64 complition target.
closes #1642
Upstream-Status: Backport
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
storage/rocksdb/build_rocksdb.cmake | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake
index 3f3dca7e990..7d2252c5f77 100644
--- a/storage/rocksdb/build_rocksdb.cmake
+++ b/storage/rocksdb/build_rocksdb.cmake
@@ -442,6 +442,16 @@ else()
util/crc32c_ppc.c
util/crc32c_ppc_asm.S)
endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
+ # aarch
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
+ CHECK_CXX_COMPILER_FLAG("-march=armv8-a+crc+crypto" HAS_ARMV8_CRC)
+ if(HAS_ARMV8_CRC)
+ message(STATUS " HAS_ARMV8_CRC yes")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a+crc+crypto -Wno-unused-function")
+ list(APPEND ROCKSDB_SOURCES
+ util/crc32c_arm64.cc)
+ endif(HAS_ARMV8_CRC)
+ endif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
endif()
SET(SOURCES)
FOREACH(s ${ROCKSDB_SOURCES})
--
2.17.1
@@ -1,7 +1,7 @@
Author: Vicențiu Ciorbaru <vicentiu@mariadb.org> From 976468458d53d8bb71acf48ddfc852a60557acb9 Mon Sep 17 00:00:00 2001
Date: Fri Dec 21 19:14:04 2018 +0200 From: =?UTF-8?q?Vicen=C8=9Biu=20Ciorbaru?= <vicentiu@mariadb.org>
Date: Thu, 23 Jul 2020 00:02:21 -0700
Link with libatomic to enable C11 atomics support Subject: [PATCH] Link with libatomic to enable C11 atomics support
Some architectures (mips) require libatomic to support proper Some architectures (mips) require libatomic to support proper
atomic operations. Check first if support is available without atomic operations. Check first if support is available without
@@ -9,10 +9,18 @@ Date: Fri Dec 21 19:14:04 2018 +0200
Upstream-Status: Pending Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
configure.cmake | 20 +++++++++++++++++++-
mysys/CMakeLists.txt | 4 ++++
sql/CMakeLists.txt | 4 ++++
3 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/configure.cmake b/configure.cmake
index a355214..6ee595f 100644
--- a/configure.cmake --- a/configure.cmake
+++ b/configure.cmake +++ b/configure.cmake
@@ -926,7 +926,25 @@ int main() @@ -865,7 +865,25 @@ int main()
long long int *ptr= &var; long long int *ptr= &var;
return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
}" }"
@@ -39,10 +47,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
IF(WITH_VALGRIND) IF(WITH_VALGRIND)
SET(HAVE_valgrind 1) SET(HAVE_valgrind 1)
diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
index 3d8a20e..42f1441 100644
--- a/mysys/CMakeLists.txt --- a/mysys/CMakeLists.txt
+++ b/mysys/CMakeLists.txt +++ b/mysys/CMakeLists.txt
@@ -78,6 +78,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings @@ -129,6 +129,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}
${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY}) ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO})
DTRACE_INSTRUMENT(mysys) DTRACE_INSTRUMENT(mysys)
+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC) +IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
@@ -52,9 +62,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
IF(HAVE_BFD_H) IF(HAVE_BFD_H)
TARGET_LINK_LIBRARIES(mysys bfd) TARGET_LINK_LIBRARIES(mysys bfd)
ENDIF(HAVE_BFD_H) ENDIF(HAVE_BFD_H)
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
index 616017b..53575f6 100644
--- a/sql/CMakeLists.txt --- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt
@@ -178,6 +178,10 @@ ELSE() @@ -219,6 +219,10 @@ ELSE()
SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL}) SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
ENDIF() ENDIF()
@@ -62,6 +74,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
+ TARGET_LINK_LIBRARIES(sql atomic) + TARGET_LINK_LIBRARIES(sql atomic)
+ENDIF() +ENDIF()
+ +
IF(MSVC)
IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS) SET(libs_to_export_symbols sql mysys dbug strings)
# Create shared library of already compiled object
--
2.17.1
@@ -1,6 +1,6 @@
From 796464015bffe6e0beca9e1c355b223512803c3e Mon Sep 17 00:00:00 2001 From cfce1491827e5a581878b5e166bf4d30e6d90e07 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com> From: Mingli Yu <mingli.yu@windriver.com>
Date: Wed, 27 Feb 2019 23:01:00 -0800 Date: Thu, 23 Jul 2020 00:08:16 -0700
Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
Fix the below do_compile issue in cross-compiling env. Fix the below do_compile issue in cross-compiling env.
@@ -10,18 +10,17 @@ Fix the below do_compile issue in cross-compiling env.
Upstream-Status: Inappropriate [oe build specific] Upstream-Status: Inappropriate [oe build specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
--- ---
sql/CMakeLists.txt | 30 ++++++++++++++++++++---------- sql/CMakeLists.txt | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-) 1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
index c6910f46..bf51f4cb 100644 index 0dc3caa..616017b 100644
--- a/sql/CMakeLists.txt --- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt
@@ -50,11 +50,16 @@ ${WSREP_INCLUDES} @@ -52,11 +52,16 @@ ${CMAKE_BINARY_DIR}/sql
${CMAKE_SOURCE_DIR}/tpool
)
-ADD_CUSTOM_COMMAND( -ADD_CUSTOM_COMMAND(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
@@ -39,9 +38,9 @@ index c6910f46..bf51f4cb 100644
+ COMMAND gen_lex_token > lex_token.h) + COMMAND gen_lex_token > lex_token.h)
+ENDIF() +ENDIF()
ADD_DEFINITIONS(-DMYSQL_SERVER -DHAVE_EVENT_SCHEDULER) ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc_ora.yy
@@ -370,11 +375,16 @@ IF(NOT CMAKE_CROSSCOMPILING) @@ -345,11 +350,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc) ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
ENDIF() ENDIF()
@@ -61,5 +60,8 @@ index c6910f46..bf51f4cb 100644
+ COMMAND gen_lex_hash > lex_hash.h) + COMMAND gen_lex_hash > lex_hash.h)
+ENDIF() +ENDIF()
MYSQL_ADD_EXECUTABLE(mysql_tzinfo_to_sql tztime.cc COMPONENT Server) MYSQL_ADD_EXECUTABLE(mariadb-tzinfo-to-sql tztime.cc COMPONENT Server)
SET_TARGET_PROPERTIES(mysql_tzinfo_to_sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL") SET_TARGET_PROPERTIES(mariadb-tzinfo-to-sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
--
2.17.1
@@ -2,7 +2,7 @@ require mariadb.inc
EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2" DEPENDS += "mariadb-native bison-native curl openssl ncurses zlib libaio libedit libevent libxml2"
PROVIDES += "mysql5 libmysqlclient" PROVIDES += "mysql5 libmysqlclient"