diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
deleted file mode 100644
index e636adc..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 97914aeab52b4d0ea0ab9e5ff985a1c5cddb0fa1 Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.fr@gmail.com>
-Date: Mon, 16 Sep 2019 13:41:39 +0200
-Subject: [PATCH 06/10] IntelRDFPMathLib20U1: Check for __DEFINED_wchar_t
-
-This is defined by musl if wchar_t is already defined
-
-avoids errors like
-
-src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h:46:15: error: typedef redefinition with different types
-      ('int' vs 'unsigned int')
-typedef int   wchar_t;
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
----
- src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-index 56775bc..be96a85 100755
---- a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-+++ b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-@@ -43,7 +43,7 @@
- 
- #if 0 // MongoDB Modification -- just `#include <stddef.h>`
- // Fix system header issue on Sun solaris and define required type by ourselves
--#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__)
-+#if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED) && !defined(__QNX__) && !defined(__DEFINED_wchar_t)
- typedef int   wchar_t;
- #endif
- #else
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch
deleted file mode 100644
index 5337fcd..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ca004968b8d2149f72d4edcfe029489a8c5e10ca Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 23 Sep 2019 12:31:31 -0700
-Subject: [PATCH] Mark one of strerror_r implementation glibc specific
-
-glibc has two incompatible strerror_r definitions, one of them is
-specific to glibc, mark this one so
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/util/errno_util.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/mongo/util/errno_util.cpp b/src/mongo/util/errno_util.cpp
-index 564c0071ea..4f7e1d3a38 100644
---- a/src/mongo/util/errno_util.cpp
-+++ b/src/mongo/util/errno_util.cpp
-@@ -61,7 +61,7 @@ std::string errnoWithDescription(int errNumber) {
-     char buf[kBuflen];
-     char* msg{nullptr};
- 
--#if defined(__GNUC__) && defined(_GNU_SOURCE) && \
-+#if defined(__GNUC__) && defined(_GNU_SOURCE) && defined(__GLIBC__) && \
-     (!defined(__ANDROID_API__) || !(__ANDROID_API__ <= 22)) && !defined(EMSCRIPTEN)
-     msg = strerror_r(errNumber, buf, kBuflen);
- #elif defined(_WIN32)
--- 
-2.23.0
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
deleted file mode 100644
index 3d949c8..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8d035e84c2edb44461ef4df9cdef0a6dfce0a1d7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 24 Aug 2018 12:56:22 -0700
-Subject: [PATCH 07/10] Support deprecated resolver functions
-
-Needed for  musl libc
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/util/dns_query_posix-impl.h | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/mongo/util/dns_query_posix-impl.h b/src/mongo/util/dns_query_posix-impl.h
-index a5e3629..fb29d2d 100644
---- a/src/mongo/util/dns_query_posix-impl.h
-+++ b/src/mongo/util/dns_query_posix-impl.h
-@@ -54,6 +54,12 @@
- 
- #include <boost/noncopyable.hpp>
- 
-+#ifndef res_ninit
-+#define res_nclose(arg)
-+#define res_ninit(arg)    res_init()
-+#define res_nsearch(sta, nam, clas, typ, ans, alen)  res_search(nam, clas, typ, ans, alen)
-+#endif
-+
- namespace mongo {
- namespace dns {
- // The anonymous namespace is safe, in this header, as it is not really a header.  It is only used
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
deleted file mode 100644
index 1908846..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 1b2e24e14ee72e54e466be2512c78272f62d60b4 Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.fr@gmail.com>
-Date: Mon, 16 Sep 2019 13:21:44 +0200
-Subject: [PATCH 01/10] Tell scons to use build settings from environment
- variables
-
-Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
----
- SConstruct                | 8 ++++++--
- 1 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 7ebbcbc..e63cf15 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -608,6 +608,7 @@ def variable_arch_converter(val):
-         'amd64':  'x86_64',
-         'emt64':   'x86_64',
-         'x86':    'i386',
-+        'aarch64': 'arm64',
-     }
-     val = val.lower()
- 
-@@ -695,7 +696,8 @@ env_vars.Add(
- )
- 
- env_vars.Add('CC',
--    help='Select the C compiler to use')
-+    help='Select the C compiler to use',
-+    default=os.getenv('CC'))
- 
- env_vars.Add('CCFLAGS',
-     help='Sets flags for the C and C++ compiler',
-@@ -715,7 +717,8 @@ env_vars.Add('CPPPATH',
-     converter=variable_shlex_converter)
- 
- env_vars.Add('CXX',
--    help='Select the C++ compiler to use')
-+    help='Select the C++ compiler to use',
-+    default=os.getenv('CXX'))
- 
- env_vars.Add('CXXFLAGS',
-     help='Sets flags for the C++ compiler',
-@@ -1018,6 +1021,7 @@ envDict = dict(BUILD_ROOT=buildDir,
-                )
- 
- env = Environment(variables=env_vars, **envDict)
-+env.PrependENVPath('PATH', os.getenv('PATH'))
- del envDict
- 
- for var in ['CC', 'CXX']:
- 
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
deleted file mode 100644
index d98fa56..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From d701ceeb15662038435b80ba556a80c17f76d2dc Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.fr@gmail.com>
-Date: Mon, 16 Sep 2019 13:30:13 +0200
-Subject: [PATCH 03/10] Use __GLIBC__ to control use of gnu_get_libc_version
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
----
- src/mongo/util/processinfo_linux.cpp | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
-index cccb91c..45c4b7d 100644
---- a/src/mongo/util/processinfo_linux.cpp
-+++ b/src/mongo/util/processinfo_linux.cpp
-@@ -44,10 +44,10 @@
- #include <unistd.h>
- #ifdef __BIONIC__
- #include <android/api-level.h>
--#elif __UCLIBC__
--#include <features.h>
--#else
-+#elif defined(__GLIBC__) && !defined(__UCLIBC__)
- #include <gnu/libc-version.h>
-+#else
-+#include <features.h>
- #endif
- 
- #include <boost/filesystem.hpp>
-@@ -546,7 +546,7 @@ void ProcessInfo::SystemInfo::collectSystemInfo() {
-     std::stringstream ss;
-     ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__;
-     bExtra.append("libcVersion", ss.str());
--#else
-+#elif defined(__GLIBC__)
-     bExtra.append("libcVersion", gnu_get_libc_version());
- #endif
-     if (!verSig.empty())
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
deleted file mode 100644
index b9c6704..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 20fcbf2a05ee6542aba942f6006d149db70fb9ce Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 10:03:37 -0700
-Subject: [PATCH 02/10] Use long long instead of int64_t
-
-Fixes
-error: call to member function 'appendNumber' is ambiguous
-since this function expects long long as parameter and not int64_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/util/procparser.cpp | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp
-index c574a3f..5ea66b7 100644
---- a/src/mongo/util/procparser.cpp
-+++ b/src/mongo/util/procparser.cpp
-@@ -261,7 +261,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
- 
-                     StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
- 
--                    uint64_t value;
-+                    long long  value;
- 
-                     if (!parseNumberFromString(stringValue, &value).isOK()) {
-                         value = 0;
-@@ -273,7 +273,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
-             } else {
-                 StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
- 
--                uint64_t value;
-+                long long value;
- 
-                 if (!parseNumberFromString(stringValue, &value).isOK()) {
-                     value = 0;
-@@ -366,7 +366,7 @@ Status parseProcMemInfo(const std::vector<StringData>& keys,
- 
-             StringData stringValue((*partIt).begin(), (*partIt).end());
- 
--            uint64_t value;
-+            long long value;
- 
-             if (!parseNumberFromString(stringValue, &value).isOK()) {
-                 value = 0;
-@@ -522,7 +522,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
-                           StringData data,
-                           BSONObjBuilder* builder) {
-     bool foundKeys = false;
--    std::vector<uint64_t> stats;
-+    std::vector<long long> stats;
-     stats.reserve(kDiskFieldCount);
- 
-     using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
-@@ -597,7 +597,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
- 
-                 StringData stringValue((*partIt).begin(), (*partIt).end());
- 
--                uint64_t value;
-+                long long value;
- 
-                 if (!parseNumberFromString(stringValue, &value).isOK()) {
-                     value = 0;
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
deleted file mode 100644
index e726933..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 097e8a66930cfa28ac8bfa35f62d0a9ee3b74488 Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.fr@gmail.com>
-Date: Mon, 16 Sep 2019 13:46:52 +0200
-Subject: [PATCH 10/10] asio: Dont use experimental with clang
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
----
- src/third_party/asio-master/asio/include/asio/detail/string_view.hpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp b/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
-index f09cebc..fa307b5 100644
---- a/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
-+++ b/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
-@@ -33,8 +33,8 @@ namespace asio {
- using std::basic_string_view;
- using std::string_view;
- #elif defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
--using std::experimental::basic_string_view;
--using std::experimental::string_view;
-+using std::basic_string_view;
-+using std::string_view;
- #endif // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
- 
- } // namespace asio
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
deleted file mode 100644
index 869d284..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 73c6374ceb0c062e91210cc9ef3e0e9fa30ee514 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 12:42:30 -0700
-Subject: [PATCH 04/10] Add a definition for the macro __ELF_NATIVE_CLASS
-
-It depends on the native arch's word size.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/util/stacktrace_posix.cpp | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/mongo/util/stacktrace_posix.cpp b/src/mongo/util/stacktrace_posix.cpp
-index 1d7b3d7..f81e329 100644
---- a/src/mongo/util/stacktrace_posix.cpp
-+++ b/src/mongo/util/stacktrace_posix.cpp
-@@ -39,6 +39,15 @@
- #include <string>
- #include <sys/utsname.h>
- 
-+#if !defined(__GLIBC__)
-+#if defined __x86_64__ && !defined __ILP32__
-+# define __WORDSIZE    64
-+#else
-+# define __WORDSIZE    32
-+#endif
-+#define __ELF_NATIVE_CLASS __WORDSIZE
-+#endif
-+
- #include "mongo/base/init.h"
- #include "mongo/config.h"
- #include "mongo/db/jsobj.h"
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
deleted file mode 100644
index 59066b2..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ffe6045b190b735601cd209d3e7ac121604c5a4e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 24 Aug 2018 13:07:01 -0700
-Subject: [PATCH 08/10] Fix default stack size to 256K
-
-On musl default stack size is ~80K which is too low
-for mongodb
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/platform/stack_locator_pthread_getattr_np.cpp | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/src/mongo/platform/stack_locator_pthread_getattr_np.cpp b/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-index 4f3044c..68e47e3 100644
---- a/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-+++ b/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-@@ -36,6 +36,16 @@
- #include "mongo/util/assert_util.h"
- #include "mongo/util/scopeguard.h"
- 
-+__attribute__((constructor))
-+static void set_default_stack_size(void)
-+{
-+    pthread_attr_t attr;
-+    invariant(pthread_attr_init(&attr) == 0);
-+    invariant(pthread_attr_setstacksize(&attr, 256*1024) == 0);
-+    pthread_setattr_default_np(&attr);
-+    invariant(pthread_attr_destroy(&attr) == 0);
-+}
-+
- namespace mongo {
- 
- StackLocator::StackLocator() {
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
deleted file mode 100644
index 3a27aac..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: git/SConstruct
-===================================================================
---- git.orig/SConstruct
-+++ git/SConstruct
-@@ -884,6 +884,14 @@ env_vars.Add('WINDOWS_OPENSSL_BIN',
-     help='Sets the path to the openssl binaries for packaging',
-     default='c:/openssl/bin')
- 
-+env_vars.Add('PREFIX',
-+    help='installation prefix')
-+
-+env_vars.Add('prefix',
-+    help='installation prefix')
-+
-+
-+
- # -- Validate user provided options --
- 
- # A dummy environment that should *only* have the variables we have set. In practice it has
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
deleted file mode 100644
index 2cea9bc..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From cc95a8878fa581b164dee8fb1f07b05b9d919ef0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 13:13:15 -0700
-Subject: [PATCH 09/10] wiredtiger: Disable strtouq on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/third_party/wiredtiger/build_linux/wiredtiger_config.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-index 82e9994..0399a67 100644
---- a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-+++ b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-@@ -104,7 +104,7 @@
- #define HAVE_STRING_H 1
- 
- /* Define to 1 if you have the `strtouq' function. */
--#define HAVE_STRTOUQ 1
-+/* #undef HAVE_STRTOUQ 1 */
- 
- /* Define to 1 if you have the `sync_file_range' function. */
- /* #undef HAVE_SYNC_FILE_RANGE */
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
deleted file mode 100644
index 15bd7da..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From c9fc9e9a44b0fb764ce86a5e57f17d3c5bbfd8cd Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.fr@gmail.com>
-Date: Mon, 16 Sep 2019 13:37:10 +0200
-Subject: [PATCH 05/10] Add alises for arm64 which is same as aarch64
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
----
- SConstruct                                      | 1 +
- src/third_party/IntelRDFPMathLib20U1/SConscript | 2 +-
- src/third_party/wiredtiger/SConscript           | 2 +-
- 3 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index e63cf15..5593c78 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -1129,6 +1129,7 @@ elif endian == "big":
- processor_macros = {
-     'arm'        : { 'endian': 'little', 'defines': ('__arm__',) },
-     'aarch64'    : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
-+    'arm64'      : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
-     'i386'       : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
-     'ppc64le'    : { 'endian': 'little', 'defines': ('__powerpc64__',)},
-     's390x'      : { 'endian': 'big',    'defines': ('__s390x__',)},
-diff --git a/src/third_party/IntelRDFPMathLib20U1/SConscript b/src/third_party/IntelRDFPMathLib20U1/SConscript
-index f23c071..fb82cd6 100644
---- a/src/third_party/IntelRDFPMathLib20U1/SConscript
-+++ b/src/third_party/IntelRDFPMathLib20U1/SConscript
-@@ -308,7 +308,7 @@ if processor == 'i386' or processor == 'emscripten':
- elif processor == 'arm':
-     cpp_defines['IA32'] = '1'
-     cpp_defines['ia32'] = '1'
--elif processor == "aarch64":
-+elif processor == "aarch64" or processor == 'arm64':
-     cpp_defines['efi2'] = '1'
-     cpp_defines['EFI2'] = '1'
- # Using 64 bit little endian
-diff --git a/src/third_party/wiredtiger/SConscript b/src/third_party/wiredtiger/SConscript
-index cdd090b..97a1b3b 100644
---- a/src/third_party/wiredtiger/SConscript
-+++ b/src/third_party/wiredtiger/SConscript
-@@ -152,7 +152,7 @@ condition_map = {
-     'POSIX_HOST'   : not env.TargetOSIs('windows'),
-     'WINDOWS_HOST' : env.TargetOSIs('windows'),
- 
--    'ARM64_HOST'   : env['TARGET_ARCH'] == 'aarch64',
-+    'ARM64_HOST'   : env['TARGET_ARCH'] in ('aarch64', 'arm64'),
-     'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le',
-     'X86_HOST'     : env['TARGET_ARCH'] == 'x86_64',
-     'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x',
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
deleted file mode 100644
index cd8ccdc..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "mongodb"
-LICENSE = "SSPL-1 & Apache-2.0 & Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE-Community.txt;md5=3a865f27f11f43ecbe542d9ea387dcf1 \
-                    file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "openssl libpcap zlib boost curl python3 \
-           python3-setuptools-native \
-           python3-pyyaml-native python3-cheetah-native \
-           python3-psutil-native python3-regex-native \
-           "
-
-inherit scons dos2unix siteinfo python3native
-
-PV = "4.2.0+git${SRCPV}"
-#v4.2.0
-SRCREV = "18ce5c9f56a01f2c933a720d64707f3456f81c8b"
-SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.2 \
-           file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
-           file://0001-Use-long-long-instead-of-int64_t.patch \
-           file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
-           file://0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch \
-           file://arm64-support.patch \
-           file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
-           file://0001-Support-deprecated-resolver-functions.patch \
-           file://0003-Fix-unknown-prefix-env.patch \
-           "
-SRC_URI_append_libc-musl ="\
-           file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
-           file://0002-Fix-default-stack-size-to-256K.patch \
-           file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
-           "
-
-SRC_URI_append_toolchain-clang = "\
-           file://0001-asio-Dont-use-experimental-with-clang.patch \
-           "
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST ?= '(x86_64|powerpc64|aarch64).*-linux'
-
-PACKAGECONFIG ??= "tcmalloc system-pcre"
-# gperftools compilation fails for arm below v7 because of missing support of
-# dmb operation. So we use system-allocator instead of tcmalloc
-PACKAGECONFIG_remove_armv6 = "tcmalloc"
-PACKAGECONFIG_remove_libc-musl = "tcmalloc"
-
-PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
-PACKAGECONFIG[shell] = ",--js-engine=none,,"
-PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre,"
-
-EXTRA_OESCONS = "--prefix=${D}${prefix} \
-                 LIBPATH=${STAGING_LIBDIR} \
-                 LINKFLAGS='${LDFLAGS}' \
-                 CXXFLAGS='${CXXFLAGS}' \
-                 TARGET_ARCH=${TARGET_ARCH} \
-                 --ssl \
-                 --disable-warnings-as-errors \
-                 --use-system-zlib \
-                 --nostrip \
-                 --endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
-                 --wiredtiger=${@['off','on'][d.getVar('SITEINFO_BITS') != '32']} \
-                 ${PACKAGECONFIG_CONFARGS} \
-                 core"
-
-scons_do_compile() {
-        ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
-        die "scons build execution failed."
-}
-
-scons_do_install() {
-        ${STAGING_BINDIR_NATIVE}/scons install ${EXTRA_OESCONS}|| \
-        die "scons install execution failed."
-}
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.11.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 23de69d..95f5acb 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -21,8 +21,8 @@
            file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \
            file://0001-Fix-library-LZ4-lookup.patch \
           "
-SRC_URI[md5sum] = "d0de881ab8ead46928cafb7d558535c1"
-SRC_URI[sha256sum] = "4c076232b99433b09eb3c6d62f607192b3474d022703699b8f6aef4e79de3fb9"
+SRC_URI[md5sum] = "97d7c0f508c04a31c138fdb24e95dbc4"
+SRC_URI[sha256sum] = "fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -168,6 +168,10 @@
     if [ -f ${D}${datadir}/doc/README ]; then
         mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
     fi
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+        mv ${D}/lib/security ${D}/${libdir}
+        rmdir --ignore-fail-on-non-empty ${D}/lib
+    fi
 }
 
 PACKAGES = "${PN}-dbg ${PN} \
@@ -299,11 +303,14 @@
     ${sbindir}/ndbd \
     ${sbindir}/ndb_mgmd \
     ${libdir}/plugin/*.so \
+    ${libdir}/security/*.so \
+    ${libdir}/plugin/auth_pam_tool_dir/auth_pam_tool \
     ${datadir}/mysql/ \
     ${localstatedir}/mysql/ \
     ${sysconfdir}/init.d/mysqld \
     ${sysconfdir}/my.cnf \
     ${sysconfdir}/my.cnf.d/server.cnf \
+    ${sysconfdir}/security/user_map.conf \
     ${sysconfdir}/tmpfiles.d"
 
 DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
index 185b7b7..05b0cf8 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-arm-atomic.patch
@@ -1,6 +1,6 @@
-From ffaaf4d43ebf2ef6d0229a60f407c1f5a06e5c53 Mon Sep 17 00:00:00 2001
+From f447aca534d1a12809eeb146e8220d305cc3884d Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
-Date: Fri, 15 Mar 2019 01:46:05 -0700
+Date: Thu, 9 Apr 2020 14:07:19 +0800
 Subject: [PATCH] build_rocksdb.cmake: fix atomic support on arm
 
 Check to link with libatomic to enable C11 atomics support
@@ -10,14 +10,16 @@
 
 Upstream-Status: Pending
 
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 ---
  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 d7895b0..3bcd52a 100644
 --- a/storage/rocksdb/build_rocksdb.cmake
 +++ b/storage/rocksdb/build_rocksdb.cmake
-@@ -470,6 +470,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINA
+@@ -470,6 +470,9 @@ list(APPEND SOURCES ${CMAKE_CURRENT_BINARY_DIR}/build_version.cc)
  
  ADD_CONVENIENCE_LIBRARY(rocksdblib ${SOURCES})
  target_link_libraries(rocksdblib ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
@@ -25,5 +27,8 @@
 +  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")
+   set_target_properties(rocksdblib PROPERTIES COMPILE_FLAGS "-fPIC -fno-builtin-memcmp -Wno-error")
  endif()
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.11.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index f2faec1..4617da8 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -16,4 +16,9 @@
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
-inherit setuptools
+inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
+
+python() {
+    if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split():
+        raise bb.parse.SkipRecipe('Requires meta-python2 to be present.')
+}
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 91d0275..d35711c 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -37,7 +37,7 @@
 # LDFLAGS for shared libraries
 export LDFLAGS_SL = "${LDFLAGS}"
 
-inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd gettext cpan-base
+inherit autotools pkgconfig perlnative python3native useradd update-rc.d systemd gettext cpan-base
 
 CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR} -I${STAGING_INCDIR}/tcl8.6"
 
@@ -58,7 +58,7 @@
 PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl"
 PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
 PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
-PACKAGECONFIG[python] = "--with-python,--without-python,python,python"
+PACKAGECONFIG[python] = "--with-python,--without-python,python3,python3"
 PACKAGECONFIG[uuid] = "--with-uuid=e2fs,--without-uuid,util-linux,"
 PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native,"
 PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb
deleted file mode 100644
index 4868519..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=87da2b84884860b71f5f24ab37e7da78"
-
-SRC_URI += "\
-   file://not-check-libperl.patch \
-   file://0001-Add-support-for-RISC-V.patch \
-   file://0001-Improve-reproducibility.patch \
-"
-
-SRC_URI[md5sum] = "2ee1bd4ec5f49363a3f456f07e599b41"
-SRC_URI[sha256sum] = "a09bf3abbaf6763980d0f8acbb943b7629a8b20073de18d867aecdb7988483ed"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.2.bb
new file mode 100644
index 0000000..0613e50
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_12.2.bb
@@ -0,0 +1,12 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fc4ce21960f0c561460d750bc270d11f"
+
+SRC_URI += "\
+   file://not-check-libperl.patch \
+   file://0001-Add-support-for-RISC-V.patch \
+   file://0001-Improve-reproducibility.patch \
+"
+
+SRC_URI[md5sum] = "a88ceea8ecf2741307f663e4539b58b7"
+SRC_URI[sha256sum] = "ad1dcc4c4fc500786b745635a9e1eba950195ce20b8913f50345bb7d5369b5de"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch
deleted file mode 100644
index ac87d0c..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-Fix-build-breakage-from-lock_guard-error-6161.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From b626703de7ece507f360507e49d3ecb448b12e07 Mon Sep 17 00:00:00 2001
-From: Maysam Yabandeh <myabandeh@fb.com>
-Date: Thu, 12 Dec 2019 13:48:50 -0800
-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
----
- util/channel.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/util/channel.h b/util/channel.h
-index 0225482c0..a8a47680a 100644
---- a/util/channel.h
-+++ b/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_;
- };
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
new file mode 100644
index 0000000..9bfb1f3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
@@ -0,0 +1,115 @@
+From ba0a0e54d9544babbd3963891f4e3200dd5583f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Mar 2020 15:10:37 -0700
+Subject: [PATCH] cmake: Add check for atomic support
+
+Detect if libatomic should be linked in or compiler and platform can
+provide the needed atomic instrinsics, this helps build on certain
+platforms like mips or clang/i386
+
+Fixes
+
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_exchange_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_or_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_compare_exchange_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_sub_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_load_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_store_8'
+| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_add_8'
+
+Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/6555]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt                  |  6 +++
+ cmake/modules/CheckAtomic.cmake | 69 +++++++++++++++++++++++++++++++++
+ 2 files changed, 75 insertions(+)
+ create mode 100644 cmake/modules/CheckAtomic.cmake
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -780,7 +780,13 @@ if(WIN32)
+   set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
+   set(LIBS ${ROCKSDB_STATIC_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
+ else()
++  # check if linking against libatomic is necessary
++  include(CheckAtomic)
++
+   set(SYSTEM_LIBS ${CMAKE_THREAD_LIBS_INIT})
++  if(HAVE_CXX_ATOMIC_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
++    set(SYSTEM_LIBS ${SYSTEM_LIBS} atomic)
++  endif()
+   set(LIBS ${ROCKSDB_SHARED_LIB} ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
+ 
+   add_library(${ROCKSDB_SHARED_LIB} SHARED ${SOURCES})
+--- /dev/null
++++ b/cmake/modules/CheckAtomic.cmake
+@@ -0,0 +1,69 @@
++# Checks if atomic operations are supported natively or if linking against
++# libatomic is needed.
++
++# Check inspired by LLVMs cmake/modules/CheckAtomic.cmake
++
++INCLUDE(CheckCXXSourceCompiles)
++INCLUDE(CheckLibraryExists)
++
++function(check_working_cxx_atomics varname)
++  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
++  CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++std::atomic<int> x;
++int main() {
++  return x;
++}
++" ${varname})
++  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++endfunction(check_working_cxx_atomics)
++
++function(check_working_cxx_atomics64 varname)
++  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
++  set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}")
++  CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++#include <cstdint>
++std::atomic<uint64_t> x (0);
++std::atomic<double> y (0);
++int main() {
++  uint64_t i = x.load(std::memory_order_relaxed);
++  return int(y);
++}
++" ${varname})
++  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
++endfunction(check_working_cxx_atomics64)
++
++# Check if atomics work without libatomic
++check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
++
++if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
++  check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
++  if( HAVE_LIBATOMIC )
++    list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
++    check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
++    if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
++      message(FATAL_ERROR "Host compiler must support std::atomic!")
++    endif()
++  else()
++    message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
++  endif()
++endif()
++
++# Check if 64bit atomics work without libatomic
++check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++
++if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
++  check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64)
++  if(HAVE_CXX_LIBATOMICS64)
++    list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
++    check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB)
++    if (NOT HAVE_CXX_ATOMICS64_WITH_LIB)
++      message(FATAL_ERROR "Host compiler must support std::atomic!")
++    endif()
++  else()
++    message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
++  endif()
++endif()
++
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
index 713d5bb..b9038df 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
@@ -6,13 +6,13 @@
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
 
-SRCREV = "4cfbd87afd08a16df28436fb990ef6b154ee6114"
-SRCBRANCH = "6.5.fb"
-PV = "6.5.2"
+SRCREV = "551a110918493a19d11243f53408b97485de1411"
+SRCBRANCH = "6.6.fb"
+PV = "6.6.4"
 
 SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
-           file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \
            file://0001-db-write_thread.cc-Initialize-state.patch \
+           file://0001-cmake-Add-check-for-atomic-support.patch \
           "
 
 S = "${WORKDIR}/git"
@@ -39,3 +39,5 @@
     # fix for qa check buildpaths
     sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
 }
+
+LDFLAGS_append_riscv64 = " -pthread"
