diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
index 6686a81..d5296d7 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
@@ -28,5 +28,3 @@
 CFLAGS += "-D_GNU_SOURCE"
 
 EXTRA_OECONF = "--with-openssl=${RECIPE_SYSROOT}${prefix}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
index 3e77ac3..e7e03a4 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
@@ -36,11 +36,7 @@
 
 S = "${WORKDIR}/git"
 
-COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux'
-
-COMPATIBLE_HOST_arm = "null"
-COMPATIBLE_HOST_libc-musl_x86 = "null"
-COMPATIBLE_HOST_toolchain-clang_x86 = "null"
+COMPATIBLE_HOST ?= '(x86_64|powerpc64|aarch64).*-linux'
 
 PACKAGECONFIG ??= "tcmalloc"
 # gperftools compilation fails for arm below v7 because of missing support of
@@ -66,10 +62,6 @@
                  ${PACKAGECONFIG_CONFARGS} \
                  core"
 
-do_configure_prepend() {
-        # tests use hex floats, not supported in plain C++
-        sed -e 's|-std=c++11|-std=gnu++11|g' -i ${S}/SConstruct
-}
 scons_do_compile() {
         ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
         die "scons build execution failed."
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
deleted file mode 100644
index 5b68f19..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Some ARM cpus does not report the cache size or say it is -1
-
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866306
-
-Upstream-status: Pending
-
-Index: haveged-1.9.2/src/havegetune.c
-===================================================================
---- haveged-1.9.2.orig/src/havegetune.c
-+++ haveged-1.9.2/src/havegetune.c
-@@ -795,6 +795,9 @@ static int vfs_configInfoCache(
-          ctype = vfs_configFile(pAnchor, path, vfs_configType);
-          strcpy(path+plen, "size");
-          size  = vfs_configFile(pAnchor, path, vfs_configInt);
-+         if (size == -1) {
-+             size = ctype == 'I' ? GENERIC_ICACHE : GENERIC_DCACHE;
-+         }
-          cfg_cacheAdd(pAnchor, SRC_VFS_INDEX,  pArgs[1], level, ctype, size);
-          }
-      }
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
deleted file mode 100644
index 020ac2c..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b04eeea777df32364df74bd63fc5b7fb05d21c8d Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Tue, 27 Mar 2018 10:21:09 +0800
-Subject: [PATCH] init.d/Makefile.am: add missing dependency
-
-install-data-hook should depend on install-exec-hook, or the
-haveged.service might be installed incorrectly when build
-with -j option.
-
-Upstream-Status: Submitted [https://github.com/jirka-h/haveged/pull/13]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-Signed-off-by: Khem Raj raj.khem@gmail.com
----
- init.d/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/init.d/Makefile.am b/init.d/Makefile.am
-index 5940f78..07bcdf7 100644
---- a/init.d/Makefile.am
-+++ b/init.d/Makefile.am
-@@ -33,7 +33,7 @@ if ENABLE_SYSTEMD
- install-exec-hook:
- 	$(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service;
-
--install-data-hook:
-+install-data-hook: install-exec-hook
- if ENABLE_SYSTEMD_LOOKUP
- 	install -p -D -m644 haveged.service $(DESTDIR)`pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
- else
---
-2.11.0
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
rename to meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb
index d0e1a29..0189e19 100644
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb
@@ -5,11 +5,9 @@
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-# v1.9.4
-SRCREV = "faa40ff345af194d3253f5fb030403e3c9831c36"
+# v1.9.6
+SRCREV = "1470a82a7f79110c79beea1ca5f2d3b0fd1a4668"
 SRC_URI = "git://github.com/jirka-h/haveged.git \
-           file://haveged-init.d-Makefile.am-add-missing-dependency.patch \
-           file://fix-cpu-cache-size-detection.patch \
 "
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch
deleted file mode 100644
index e4bde80..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From c51c2c543f3c78b2a68acc61f786f903f2e0fec8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sun, 9 Sep 2018 07:28:09 -0400
-Subject: [PATCH] fix compile failure with libc musl
-
-The lack of random_r in musl:
-[snip]
-|main.c:1393:7: warning: implicit declaration of function 'random_r';
-did you mean 'random'? [-Wimplicit-function-declaration]
-|  rv = random_r(&rand_data, &val);
-|       ^~~~~~~~
-|       random
-|main.c:1408:30: error: invalid application of 'sizeof' to incomplete
-type 'struct random_data'
-|  memset(&rand_data, 0, sizeof(rand_data));
-[snip]
-
-s/random_r/random/, s/initstate_r/initstate/ and remove `static struct
-random_data rand_data'
-
-Here is the man of `random_r()':
-[snip]
-The random_r() function is like random(3), except that instead of using
-state information maintained in a global variable
-[snip]
-
-So use random without state information is OK.
-
-Upstream-Status: Submitted [sanlock-devel@lists.fedorahosted.org]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/main.c | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/src/main.c b/src/main.c
-index f60b4d3..602c400 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -84,7 +84,6 @@ static char command[COMMAND_MAX];
- static int cmd_argc;
- static char **cmd_argv;
- static struct thread_pool pool;
--static struct random_data rand_data;
- static char rand_state[32];
- static pthread_mutex_t rand_mutex = PTHREAD_MUTEX_INITIALIZER;
- static const char *run_dir = NULL;
-@@ -1386,16 +1385,15 @@ int get_rand(int a, int b);
- 
- int get_rand(int a, int b)
- {
--	int32_t val;
--	int rv;
-+	long int rv;
- 
- 	pthread_mutex_lock(&rand_mutex);
--	rv = random_r(&rand_data, &val);
-+	rv = random();
- 	pthread_mutex_unlock(&rand_mutex);
- 	if (rv < 0)
- 		return rv;
- 
--	return a + (int) (((float)(b - a + 1)) * val / (RAND_MAX+1.0));
-+	return a + (int) (((float)(b - a + 1)) * rv / (RAND_MAX+1.0));
- }
- 
- static void setup_host_name(void)
-@@ -1405,9 +1403,7 @@ static void setup_host_name(void)
- 	uuid_t uu;
- 
- 	memset(rand_state, 0, sizeof(rand_state));
--	memset(&rand_data, 0, sizeof(rand_data));
--
--	initstate_r(time(NULL), rand_state, sizeof(rand_state), &rand_data);
-+	initstate(time(NULL), rand_state, sizeof(rand_state));
- 
- 	/* use host name from command line */
- 
--- 
-2.8.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
index c51bccc..9f7ce9c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
@@ -11,10 +11,8 @@
 LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
 LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
 
-SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
-           file://0001-fix-compile-failure-with-libc-musl.patch \
-          "
-SRCREV = "90b2ffa77edd46bea007b7bb39bfd4d2db2ff7af"
+SRC_URI = "git://pagure.io/sanlock.git;protocol=http"
+SRCREV = "7afe0e66f5c7f24894896fad20ffa6f39733d80f"
 S = "${WORKDIR}/git"
 
 DEPENDS = "libaio util-linux"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
deleted file mode 100644
index 6d4bdc2..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 0acfb67f99fd8d6af323311fee8c08116295b148 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 18:21:19 -0700
-Subject: [PATCH 1/2] Use override consistently
-
-Make clang++ happy
-error: 'setApplicationTitle' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-over ride]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCApplication.h | 46 ++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/NCApplication.h b/src/NCApplication.h
-index e24c3eb..09e4708 100644
---- a/src/NCApplication.h
-+++ b/src/NCApplication.h
-@@ -60,7 +60,7 @@ public:
-      * Reimplemented from YApplication.
-      **/
-     virtual void setLanguage( const std::string & language,
--			      const std::string & encoding = std::string() );
-+			      const std::string & encoding = std::string() ) override;
- 
-     /**
-      * Open a directory selection box and prompt the user for an existing
-@@ -77,7 +77,7 @@ public:
-      * Implemented from YApplication.
-      **/
-     virtual std::string askForExistingDirectory( const std::string & startDir,
--					    const std::string & headline );
-+					    const std::string & headline ) override;
- 
-     /**
-      * Open a file selection box and prompt the user for an existing file.
-@@ -97,7 +97,7 @@ public:
-      **/
-     virtual std::string askForExistingFile( const std::string & startWith,
- 				       const std::string & filter,
--				       const std::string & headline );
-+				       const std::string & headline ) override;
- 
-     /**
-      * Open a file selection box and prompt the user for a file to save data
-@@ -119,28 +119,28 @@ public:
-      **/
-     virtual std::string askForSaveFileName( const std::string & startWith,
- 				       const std::string & filter,
--				       const std::string & headline );
-+				       const std::string & headline ) override;
- 
-     /**
-      * Beep.
-      *
-      * Reimplemented from YApplication.
-      **/
--    virtual void beep();
-+    virtual void beep() override;
- 
-     /**
-      * Redraw the screen.
-      *
-      * Reimplemented from YApplication.
-      **/
--    virtual void redrawScreen();
-+    virtual void redrawScreen() override;
- 
-     /**
-      * Initialize the (text) console keyboard.
-      *
-      * Reimplemented from YApplication.
-      **/
--    virtual void initConsoleKeyboard();
-+    virtual void initConsoleKeyboard() override;
- 
-     /**
-      * Set the (text) console font according to the current encoding etc.
-@@ -152,7 +152,7 @@ public:
- 				 const std::string & font,
- 				 const std::string & screen_map,
- 				 const std::string & unicode_map,
--				 const std::string & language );
-+				 const std::string & language ) override;
- 
-     /**
-      * Run a shell command (typically an interactive program using NCurses)
-@@ -165,7 +165,7 @@ public:
-      *
-      * Reimplemented from YApplication.
-      **/
--    virtual int runInTerminal( const std::string & command );
-+    virtual int runInTerminal( const std::string & command ) override;
- 
- 
-     /// @{
-@@ -183,33 +183,33 @@ public:
-     //
-     // All implemented from YApplication.
- 
--    virtual int	 displayWidth();
--    virtual int	 displayHeight();
--    virtual int	 displayDepth();
--    virtual long displayColors();
-+    virtual int	 displayWidth() override;
-+    virtual int	 displayHeight() override;
-+    virtual int	 displayDepth() override;
-+    virtual long displayColors() override;
- 
--    virtual int	 defaultWidth();
--    virtual int	 defaultHeight();
-+    virtual int	 defaultWidth() override;
-+    virtual int	 defaultHeight() override;
- 
--    virtual bool isTextMode()			{ return true; }
-+    virtual bool isTextMode() override			{ return true; }
- 
--    virtual bool hasImageSupport()		{ return false; }
-+    virtual bool hasImageSupport() override 		{ return false; }
- 
--    virtual bool hasIconSupport()		{ return false; }
-+    virtual bool hasIconSupport() override		{ return false; }
- 
--    virtual bool hasAnimationSupport()		{ return false; }
-+    virtual bool hasAnimationSupport()	override	{ return false; }
- 
--    virtual bool hasFullUtf8Support();
--    virtual bool richTextSupportsTable()	{ return false; }
-+    virtual bool hasFullUtf8Support() override;
-+    virtual bool richTextSupportsTable() override	{ return false; }
- 
--    virtual bool leftHandedMouse()		{ return false; }
-+    virtual bool leftHandedMouse() override		{ return false; }
-     
-     /**
-      * Set the application title
-      *
-      * Reimplemented from YApplication.
-      **/
--    virtual void setApplicationTitle(const std::string& title);
-+    virtual void setApplicationTitle(const std::string& title) override;
- };
- 
- 
--- 
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
deleted file mode 100644
index f65cbe6..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 162a0899f1dacd83007c4e82b9034f55610d8c20 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 19:01:51 -0700
-Subject: [PATCH 2/2] Define own resize in NCPad and fix param type of
- SetLabel()
-
-Explicitly override resize() to avoid conflicts from NCursesWindow
-definition since there is another resize definition as well
-
-Fixes
-src/NCPad.h:164:18: error: 'NCPad::resize' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-NCTablePad.h:132:18: error: 'NCTableTag::SetLabel' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCPad.h      | 1 +
- src/NCTablePad.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/NCPad.h b/src/NCPad.h
-index 328c4aa..d8fb324 100644
---- a/src/NCPad.h
-+++ b/src/NCPad.h
-@@ -162,6 +162,7 @@ public:
-     virtual void Destwin( NCursesWindow * dwin );
- 
-     virtual void resize( wsze nsze );
-+    virtual int resize( int lines, int columns ) { return NCursesWindow::resize(lines, columns );}
-     virtual void wRecoded();
-     virtual void setDirty() { dirty = true; }
- 
-diff --git a/src/NCTablePad.h b/src/NCTablePad.h
-index c450529..3756796 100644
---- a/src/NCTablePad.h
-+++ b/src/NCTablePad.h
-@@ -129,7 +129,7 @@ public:
- 
-     virtual ~NCTableTag() {}
- 
--    virtual void SetLabel( const NCstring & ) { /*NOOP*/; }
-+    virtual void SetLabel( const NClabel & ) { /*NOOP*/; }
- 
-     virtual void DrawAt( NCursesWindow & w, const wrect at,
- 			 NCTableStyle & tableStyle,
--- 
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
index 18ea2e8..dae5c34 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
@@ -5,15 +5,12 @@
 "
 
 SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
-           file://0001-Use-override-consistently.patch \
-           file://0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch \
            file://0003-Simplify-ncurses-finding-module.patch \
           "
 
 SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
 
-PV = "2.48.3+git${SRCPV}"
-SRCREV = "c941b32246e8b2952fce4fd5743f8e318222ab98"
+SRCREV = "d5b64b6291b6f292871ad5c6df25c4f6896f7d50"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
deleted file mode 100644
index dbe2417..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4eed37b1a61458fc8e5251f7cb7c6d64e8e9da8d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 17:48:09 -0700
-Subject: [PATCH] Use curly braces for MAKE variable
-
-Fixes errors with ninja
-| ninja: error: build.ninja:142: bad $-escape (literal $ must be written as $$)
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/137]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- buildtools/LibyuiCommon.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
-index cb93307..e6fbefd 100644
---- a/buildtools/LibyuiCommon.cmake
-+++ b/buildtools/LibyuiCommon.cmake
-@@ -122,8 +122,8 @@ MACRO( SET_BUILD_FLAGS )	# setup compiler-flags depending on CMAKE_BUILD_TYPE
-     ENABLE_TESTING()
-     # add a wrapper "tests" target, the builtin "test" cannot be extended :-(
-     ADD_CUSTOM_TARGET(tests
--      $(MAKE)
--      COMMAND $(MAKE) test
-+      ${MAKE}
-+      COMMAND ${MAKE} test
-     )
-   ENDIF ( ENABLE_TESTS OR ENABLE_CODE_COVERAGE)
- 
--- 
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
index d313fb0..d8a9219 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
@@ -7,12 +7,10 @@
 
 SRC_URI = "git://github.com/libyui/libyui.git \
            file://0001-Fix-build-with-clang.patch \
-           file://0001-Use-curly-braces-for-MAKE-variable.patch \
            file://0001-Use-relative-install-paths-for-CMake.patch \
            "
 
-PV = "3.3.3+git"
-SRCREV = "50672da835ec9d52766320a44a2677e08a24c99c"
+SRCREV = "8459235919f592b1bc099ecf9a947cb6344b6fa5"
 SRCREV_FORMAT = "default"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
rename to meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
index ac36a91..75c2bc0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
@@ -3,16 +3,16 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
 
-PV = "3.04.00+git${SRCPV}"
-SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"
+SRCREV = "590567f20dc044f6948a8e2c61afc714c360ad0e"
 SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
+
 S = "${WORKDIR}/git"
 
 inherit allarch
 
 do_install() {
     install -d ${D}${datadir}/tessdata
-    cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata
+    cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${D}${datadir}/tessdata
 }
 
 python populate_packages_prepend () {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_348.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_348.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb
index 2dd8322..137a165 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_348.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb
@@ -6,8 +6,8 @@
 
 SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
 
-SRC_URI[md5sum] = "05340ef6eabb96826953346c64b35225"
-SRC_URI[sha256sum] = "8b1f5121dbf3690de9d85a3b9329e3357021705dd7c21da192e47542769275be"
+SRC_URI[md5sum] = "194012229738f74bc44e7c0f5f6bf0c8"
+SRC_URI[sha256sum] = "39a6a3d3724f9a0a068f8cc353ab0c82831f0a43abb24470d933af299658475f"
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.6.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.6.bb
rename to meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb
index 770b99f..8098d09 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb
@@ -26,7 +26,7 @@
            file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
            file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
            "
-SRCREV = "4076ebea6626e3f0a20150602c6ffab999ea5c90"
+SRCREV = "5b0e3777ccbb571678791903e93446ccd0aba03a"
 
 SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
 SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
diff --git a/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb b/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb
index dca86f3..572143a 100644
--- a/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb
@@ -40,6 +40,18 @@
     oe_runmake DESTDIR=${D} install
 }
 
+do_install_append_class-nativesdk() {
+    install -d ${D}${datadir}
+    src_dir="${D}${target_datadir}"
+    mv $src_dir/* ${D}${datadir}
+    par_dir=`dirname $src_dir`
+    rmdir $src_dir $par_dir
+
+    install -d ${D}${sysconfdir}
+    mv ${D}/etc/* ${D}${sysconfdir}/
+    rmdir ${D}/etc
+}
+
 do_install_ptest () {
     cp -r ${S}/tests ${D}${PTEST_PATH}/
     sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh
diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch
new file mode 100644
index 0000000..61a7ac0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch
@@ -0,0 +1,32 @@
+From b84ee1fa41c53c43aa7ed1583c36af5cb7c77a0f Mon Sep 17 00:00:00 2001
+From: Christian Grothoff <christian@grothoff.org>
+Date: Fri, 2 Aug 2019 15:43:44 +0200
+Subject: trying to fix #5806
+
+Upstream-Status: Backport from 0.9.67 [https://git.gnunet.org/libmicrohttpd.git/commit/?id=b84ee1fa41c53c43aa7ed1583c36af5cb7c77a0f]
+
+---
+ src/microhttpd/daemon.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
+index bf01ba9b..a8fc98c6 100644
+--- a/src/microhttpd/daemon.c
++++ b/src/microhttpd/daemon.c
+@@ -2536,7 +2536,12 @@ internal_add_connection (struct MHD_Daemon *daemon,
+   else
+     {
+ #ifdef HTTPS_SUPPORT
+-      gnutls_init_flags_t flags;
++#if (GNUTLS_VERSION_NUMBER+0 >= 0x030500)
++      gnutls_init_flags_t
++#else
++      unsigned int
++#endif
++        flags;
+ 
+       flags = GNUTLS_SERVER;
+ #if (GNUTLS_VERSION_NUMBER+0 >= 0x030402)
+-- 
+cgit v1.2.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb
index 7d349b9..6b54170 100644
--- a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb
@@ -6,7 +6,9 @@
 
 DEPENDS = "file"
 
-SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz \
+    file://fix-build-with-older-gnutls.patch \
+"
 SRC_URI[md5sum] = "ce4050e75cc40d68506e2b403e1a76f9"
 SRC_URI[sha256sum] = "4e66d4db1574f4912fbd2690d10d227cc9cc56df6a10aa8f4fc2da75cea7ab1b"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch
new file mode 100644
index 0000000..34a1ea0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch
@@ -0,0 +1,29 @@
+From f828a89cc1e956d56498422ec158d284fc97de3f Mon Sep 17 00:00:00 2001
+From: OBATA Akio <obache@outlook.com>
+Date: Fri, 10 Aug 2018 18:38:18 +0900
+Subject: [PATCH] Fix to set libedit path from configure option properly
+
+Upstream-Status: Backport [https://github.com/uim/uim/pull/134]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 00d1b02..9c0a5ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1311,8 +1311,8 @@ if test "x$with_libedit" != xno; then
+   if test "x$with_libedit" = xyes; then
+     libedit_path=/usr
+   else
+-    with_libedit=yes
+     libedit_path="$with_libedit"
++    with_libedit=yes
+   fi
+ 
+   saved_CPPFLAGS=$CPPFLAGS
+-- 
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
deleted file mode 100644
index 510a8c8..0000000
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 08b5e51224ed95b1e76e99873b5f9f59840b0a74 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Fri, 21 Aug 2015 15:58:42 +0900
-Subject: [PATCH] fix bug for cross compile
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1317,8 +1317,8 @@ if test "x$with_libedit" != xno; then
- 
-   saved_CPPFLAGS=$CPPFLAGS
-   saved_LDFLAGS=$LDFLAGS
--  CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
--  LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
-+  CPPFLAGS="${CPPFLAGS}"
-+  LDFLAGS="${LDFLAGS}"
-   AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
-     [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
-       AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
index cc28e6e..8948ebf 100644
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
@@ -4,11 +4,11 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=ab2826b41ca0ff4030d38cc39791d1c8"
 SECTION = "inputmethods"
 
-SRC_URI = "https://github.com/uim/uim/releases/download/${PV}/uim-${PV}.tar.bz2"
-
+SRC_URI = "https://github.com/uim/uim/releases/download/${PV}/uim-${PV}.tar.bz2 \
+    file://0001-Fix-to-set-libedit-path-from-configure-option-proper.patch \
+"
 SRC_URI_append_class-target = "\
     file://uim-module-manager.patch \
-    file://0001-fix-bug-for-cross-compile.patch \
 "
 SRC_URI[md5sum] = "01c7bd5d0d4f3a9f6f5befe6f57a470b"
 SRC_URI[sha256sum] = "34599bbcc4e5ab87832370763e38be5100984a64237555e9234a1ea225a0fadc"
@@ -22,6 +22,9 @@
 
 LEAD_SONAME = "libuim.so.1"
 
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
 inherit distro_features_check autotools pkgconfig gettext qemu gtk-immodules-cache
 
 REQUIRED_DISTRO_FEATURES = "x11"
@@ -29,6 +32,7 @@
 GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
 
 EXTRA_OECONF += "--disable-emacs \
+    --with-libedit=${STAGING_EXECPREFIXDIR} \
     --without-scim \
     --without-m17nlib \
     --without-prime \
