diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-include-needed-c-header.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-include-needed-c-header.patch
new file mode 100644
index 0000000..581c239
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-include-needed-c-header.patch
@@ -0,0 +1,29 @@
+From 383b1dda4800c2514cb31446cd7478692d7d26cf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 3 Mar 2021 12:43:16 -0800
+Subject: [PATCH] include needed c++ header
+
+Fixes
+plan_stats.h:214:10: error: 'optional' in namespace 'std' does not name a template type
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/db/exec/plan_stats.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/mongo/db/exec/plan_stats.h b/src/mongo/db/exec/plan_stats.h
+index ea75f673b8..0cc9b4636d 100644
+--- a/src/mongo/db/exec/plan_stats.h
++++ b/src/mongo/db/exec/plan_stats.h
+@@ -31,6 +31,7 @@
+ 
+ #include <cstdint>
+ #include <cstdlib>
++#include <optional>
+ #include <string>
+ #include <vector>
+ 
+-- 
+2.30.1
+
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
index a153498..d0c4eba 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -27,6 +27,7 @@
            file://1296.patch \
            file://0001-Fix-compilation-with-fno-common.patch \
            file://0001-stacktrace-Define-ARCH_BITS-for-x86.patch \
+           file://0001-include-needed-c-header.patch \
            "
 SRC_URI_append_libc-musl ="\
            file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch
new file mode 100644
index 0000000..a20873c
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch
@@ -0,0 +1,111 @@
+# HG changeset patch
+# User Lars T Hansen <lhansen@mozilla.com>
+# Date 1538489772 -7200
+# Node ID bb430eaf5521aa8ab233a45b585ff9e5dfecf4c9
+# Parent  e87d7028568e721e8d297ce62f9622e74d29bb37
+Bug 1495731 - remove JS_VOLATILE_ARM, it is no longer relevant.  r=waldo
+
+JS_VOLATILE_ARM was a workaround for a gcc 4.7 bug on B2G where it
+would generate unaligned word accesses that should have been
+individual byte accesses.  We now require at least gcc 6.1 (and ARM
+systems support unaligned accesses).
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://hg.mozilla.org/integration/mozilla-inbound/rev/bb430eaf5521]
+
+--- a/js/src/vm/TypedArrayObject-inl.h
++++ b/js/src/vm/TypedArrayObject-inl.h
+@@ -259,68 +259,61 @@ class ElementSpecific {
+       return true;
+     }
+ 
+-      // Inhibit unaligned accesses on ARM (bug 1097253, a compiler bug).
+-#if defined(__arm__) && defined(__GNUC__) && !defined(__clang__)
+-#define JS_VOLATILE_ARM volatile
+-#else
+-#define JS_VOLATILE_ARM
+-#endif
+-
+     SharedMem<void*> data = Ops::extract(source);
+     switch (source->type()) {
+       case Scalar::Int8: {
+-        SharedMem<JS_VOLATILE_ARM int8_t*> src =
+-            data.cast<JS_VOLATILE_ARM int8_t*>();
++        SharedMem<int8_t*> src =
++            data.cast<int8_t*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Uint8:
+       case Scalar::Uint8Clamped: {
+-        SharedMem<JS_VOLATILE_ARM uint8_t*> src =
+-            data.cast<JS_VOLATILE_ARM uint8_t*>();
++        SharedMem<uint8_t*> src =
++            data.cast<uint8_t*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Int16: {
+-        SharedMem<JS_VOLATILE_ARM int16_t*> src =
+-            data.cast<JS_VOLATILE_ARM int16_t*>();
++        SharedMem<int16_t*> src =
++            data.cast<int16_t*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Uint16: {
+-        SharedMem<JS_VOLATILE_ARM uint16_t*> src =
+-            data.cast<JS_VOLATILE_ARM uint16_t*>();
++        SharedMem<uint16_t*> src =
++            data.cast<uint16_t*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Int32: {
+-        SharedMem<JS_VOLATILE_ARM int32_t*> src =
+-            data.cast<JS_VOLATILE_ARM int32_t*>();
++        SharedMem<int32_t*> src =
++            data.cast<int32_t*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Uint32: {
+-        SharedMem<JS_VOLATILE_ARM uint32_t*> src =
+-            data.cast<JS_VOLATILE_ARM uint32_t*>();
++        SharedMem<uint32_t*> src =
++            data.cast<uint32_t*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Float32: {
+-        SharedMem<JS_VOLATILE_ARM float*> src =
+-            data.cast<JS_VOLATILE_ARM float*>();
++        SharedMem<float*> src =
++            data.cast<float*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+       }
+       case Scalar::Float64: {
+-        SharedMem<JS_VOLATILE_ARM double*> src =
+-            data.cast<JS_VOLATILE_ARM double*>();
++        SharedMem<double*> src =
++            data.cast<double*>();
+         for (uint32_t i = 0; i < count; ++i)
+           Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
+         break;
+@@ -329,8 +322,6 @@ class ElementSpecific {
+         MOZ_CRASH("setFromTypedArray with a typed array with bogus type");
+     }
+ 
+-#undef JS_VOLATILE_ARM
+-
+     return true;
+   }
+ 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
index 614cdf6..7367c30 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
@@ -18,6 +18,7 @@
     file://0011-To-fix-build-error-on-arm32BE.patch \
     file://0012-JS_PUBLIC_API.patch \
     file://0013-riscv-Disable-atomic-operations.patch \
+    file://0014-remove-JS_VOLATIME_ARM.patch \
 "
 SRC_URI_append_libc-musl = " \
     file://musl/0001-support-musl.patch \
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch
new file mode 100644
index 0000000..d49dac5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch
@@ -0,0 +1,30 @@
+From 9bf2b363c5173c03adecf366f116415dbc559017 Mon Sep 17 00:00:00 2001
+From: Yanfei Xu <yanfei.xu@windriver.com>
+Date: Tue, 23 Feb 2021 10:54:26 +0800
+Subject: [PATCH 1/2] doc: Fix typos in lat_unix_connect manual page
+
+Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
+---
+ doc/lat_unix_connect.8 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/doc/lat_unix_connect.8 b/doc/lat_unix_connect.8
+index b42e9a4..5ab1a51 100644
+--- a/doc/lat_unix_connect.8
++++ b/doc/lat_unix_connect.8
+@@ -25,9 +25,9 @@ is a client/server program that measures interprocess
+ connection latencies.   The benchmark times the creation and connection of
+ an AF_UNIX socket to a local server.  
+ .LP
+-.B lat_connect
+-has three forms of usage: as a server (-s), as a client (lat_connect),
+-and as a shutdown (lat_connect -S).
++.B lat_unix_connect
++has three forms of usage: as a server (-s), as a client (lat_unix_connect),
++and as a shutdown (lat_unix_connect -S).
+ .SH OUTPUT
+ The reported time is in microseconds per connection.
+ Output format is like so
+-- 
+2.27.0
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 21e81ec..e9d1067 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -29,6 +29,7 @@
            file://0001-lmbench-Point-webpage-lm-to-target-directory.patch \
            file://0001-doc-Fix-typos-in-manual-pages.patch \
            file://0001-lat_fifo-Fix-cleanup-sequence.patch \
+           file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \
            "
 SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
 SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
@@ -73,6 +74,7 @@
             -C src install
     mv ${D}${bindir}/line ${D}${bindir}/lm_line
     install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
+    install -m 0755 ${S}/bin/${TARGET_SYS}/cache ${D}${bindir}/
     sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
            -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
            ${D}${bindir}/lmbench-run
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.3.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb
index 89d4549..a024428 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.3.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb
@@ -5,7 +5,7 @@
                     file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
                     "
 
-SRCREV = "88fe56696b19ffff3e16be1d46d062e835879740"
+SRCREV = "95cfb8f6d8985e2fb8ba51c4887dd70aa7551a03"
 
 SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch
deleted file mode 100644
index ab55b48..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9389f472bc724abb6c6a8db696efb132215783cc Mon Sep 17 00:00:00 2001
-From: Andrew Zaborowski <andrew.zaborowski@intel.com>
-Date: Thu, 24 Dec 2020 00:22:15 +0100
-Subject: [PATCH] crypto: Update l_pkcs5_pbkdf2 call after rename
-
----
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=9ef3d51f8724c9b9f9fd4d4fffcc730f4bb1c806]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
- src/crypto.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/crypto.c b/src/crypto.c
-index f5f8e24d..563f17ce 100644
---- a/src/crypto.c
-+++ b/src/crypto.c
-@@ -552,8 +552,9 @@ int crypto_psk_from_passphrase(const char *passphrase,
- 	if (ssid_len == 0 || ssid_len > 32)
- 		return -ERANGE;
- 
--	result = l_pkcs5_pbkdf2(L_CHECKSUM_SHA1, passphrase, ssid, ssid_len,
--				4096, psk, sizeof(psk));
-+	result = l_cert_pkcs5_pbkdf2(L_CHECKSUM_SHA1, passphrase,
-+					ssid, ssid_len, 4096,
-+					psk, sizeof(psk));
- 	if (!result)
- 		return -ENOKEY;
- 
--- 
-2.30.0
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.11.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.11.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb
index 2205b72..ccdc65a 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.11.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb
@@ -6,9 +6,8 @@
 DEPENDS = "ell"
 
 SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git \
-           file://0001-crypto-Update-l_pkcs5_pbkdf2-call-after-rename.patch \
           "
-SRCREV = "355c2df97e1adfdaee4a67c1705bd76202384687"
+SRCREV = "bde3e0f6e3364e9c884b6b93a944d8138345b8e5"
 S = "${WORKDIR}/git"
 
 inherit autotools manpages pkgconfig python3native systemd
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb
index 5c19e65..e9e35b1 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb
@@ -4,12 +4,11 @@
 LICENSE = "BSD-0-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
 
-SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.bz2 \
+SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
            file://0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch \
            file://dont.call.git.rev-parse.on.parent.dir.patch"
 
-SRC_URI[md5sum] = "b957713a6cfbcd8ac0e94420aeddcf1a"
-SRC_URI[sha256sum] = "3e160cca504a53679f2b3254f31c53a4fb38a021bc50fed8eb57a436d33dfa07"
+SRC_URI[sha256sum] = "dffc631c611520478b8a286f57c67a35e8cb5802d376c6ca13b057365432389c"
 
 do_compile() {
     oe_runmake
@@ -24,4 +23,3 @@
 ALTERNATIVE_${PN} = "rfkill"
 ALTERNATIVE_PRIORITY = "60"
 ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.0.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb
index 6293d12..87b5b15 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "5e407d684d0aa0919ddd15af368f890c5940cddd6034b7efc363823f38f6ff0c"
+SRC_URI[sha256sum] = "f5be52033a690bd0dd711209a64ebaec024ee4542b1357350aad8489dc2bf720"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index ba85596..94830e2 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -961,7 +961,7 @@
 # nlohmann-json exprtk liblightmodbus p8platform gnome-doc-utils-stub
 # glm ttf-mplus xbitmaps ceres-solver cli11 fftw gnulib libeigen ade
 # spdlog span-lite uthash websocketpp catch2 properties-cpp cpp-netlib
-# cereal
+
 # rsyslog conflicts with syslog-ng so its not included here
 
 EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch b/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch
index 3cb2090..6e87b9d 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch
@@ -18,3 +18,14 @@
  )
 +
 +replace github.com/pkg/term => github.com/kraj/term v0.0.0-20210111231523-7c42fcb0e627
+--- a/go.sum
++++ b/go.sum
+@@ -215,6 +215,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dA
+ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
++github.com/kraj/term v0.0.0-20210111231523-7c42fcb0e627 h1:3/XXm86KqrOZEJvEmFlzl3NTFA99n5Pd/cSXl60LmuA=
++github.com/kraj/term v0.0.0-20210111231523-7c42fcb0e627/go.mod h1:BYR4E+NOQrH+NhXE71KuBNmyR1lQ+yDvP+O3IIHO5bM=
+ github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
+ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+ github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
index 865ad32..0dc6ece 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
@@ -9,8 +9,6 @@
  src/include/storage/s_lock.h | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
 
-diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
-index 3fe29ce..7cd578f 100644
 --- a/src/include/storage/s_lock.h
 +++ b/src/include/storage/s_lock.h
 @@ -316,11 +316,12 @@ tas(volatile slock_t *lock)
@@ -36,6 +34,3 @@
  
  
  /* S/390 and S/390x Linux (32- and 64-bit zSeries) */
--- 
-2.9.3
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
index 60b7910..e9bc624 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
@@ -22,11 +22,9 @@
  src/common/Makefile | 3 ---
  1 file changed, 3 deletions(-)
 
-diff --git a/src/common/Makefile b/src/common/Makefile
-index 16619e4..665eaa1 100644
 --- a/src/common/Makefile
 +++ b/src/common/Makefile
-@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global
+@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.glo
  # don't include subdirectory-path-dependent -I and -L switches
  STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
  STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
@@ -36,6 +34,3 @@
  override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
  override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
  override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
index c54a886..970d750 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
@@ -12,13 +12,11 @@
  configure.in | 4 ----
  1 file changed, 4 deletions(-)
 
-diff --git a/configure.in b/configure.in
-index 8d4e9ac..75203c2 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
+@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch un
  
- AC_INIT([PostgreSQL], [13.1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [13.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
  
 -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 -Untested combinations of 'autoconf' and PostgreSQL versions are not
@@ -27,6 +25,3 @@
  AC_COPYRIGHT([Copyright (c) 1996-2020, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
index 22b62d9..ba2ee29 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
@@ -19,11 +19,9 @@
  configure.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/configure.in b/configure.in
-index b98b9bb..8584677 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -2211,7 +2211,7 @@ Use --without-tcl to disable building PL/Tcl.])
+@@ -2206,7 +2206,7 @@ Use --without-tcl to disable building PL
  fi
  
  # check for <perl.h>
@@ -32,6 +30,3 @@
    ac_save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="$CPPFLAGS $perl_includespec"
    AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb
deleted file mode 100644
index f2a29a5..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-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 \
-   file://0001-configure.in-bypass-autoconf-2.69-version-check.patch \
-"
-
-SRC_URI[sha256sum] = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb
new file mode 100644
index 0000000..ca8a6c7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb
@@ -0,0 +1,12 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=255f15687738db8068fbe9b938c90217"
+
+SRC_URI += "\
+   file://not-check-libperl.patch \
+   file://0001-Add-support-for-RISC-V.patch \
+   file://0001-Improve-reproducibility.patch \
+   file://0001-configure.in-bypass-autoconf-2.69-version-check.patch \
+"
+
+SRC_URI[sha256sum] = "5fd7fcd08db86f5b2aed28fcfaf9ae0aca8e9428561ac547764c2a2b0f41adfc"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
rename to meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
index 117a16b..acef05b 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
@@ -6,9 +6,8 @@
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
 
-SRCREV = "f3e33549c151f30ac4eb7c22356c6d0331f37652"
-SRCBRANCH = "6.12.fb"
-PV = "6.12.7"
+SRCREV = "abd4b1ff1504ae2a7ed6e60bc9c9797b880c33a5"
+SRCBRANCH = "6.15.fb"
 
 SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
            file://0001-cmake-Add-check-for-atomic-support.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index cc7bf01..9557c93 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -17,8 +17,6 @@
 
 S = "${WORKDIR}/git"
 
-DEPENDS_append_libc-musl = " libexecinfo "
-
 ASNEEDED_class-native = ""
 ASNEEDED_class-nativesdk = ""
 
@@ -26,6 +24,7 @@
 
 EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
                  -DBUILD_TESTING=OFF    \
+                 -DCMAKE_CXX_STANDARD=14 \
                 "
 
 BBCLASSEXTEND = "native nativesdk"
@@ -33,28 +32,3 @@
 
 FILES_${PN} = "${libdir}/libabsl_*.so ${libdir}/cmake"
 FILES_${PN}-dev = "${includedir}"
-
-python () {
-    arch = d.getVar("TARGET_ARCH")
-
-    if arch == "aarch64":
-        tunes = d.getVar("TUNE_FEATURES")
-        if not tunes:
-            raise bb.parse.SkipRecipe("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
-            return
-        pkgn = d.getVar("PN")
-        pkgv = d.getVar("PV")
-        if "crypto" not in tunes:
-            raise bb.parse.SkipRecipe("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
-
-    if arch == "x86_64":
-        tunes = d.getVar("TUNE_FEATURES")
-        if not tunes:
-           raise bb.parse.SkipRecipe("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
-           return
-        pkgn = d.getVar("PN")
-        pkgv = d.getVar("PV")
-        if "corei7" not in tunes:
-            raise bb.parse.SkipRecipe("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
-
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index ae14639..d93a7f7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause"
 LIC_FILES_CHKSUM = " \
     file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
-    file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
+    file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \
     file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=cb641bc04cda31daea161b1bc15da69f \
     file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
 "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
index 6d4635b..107a4a8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
@@ -4,9 +4,9 @@
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
 
-SRC_URI = "git://github.com/CPPAlliance/url.git"
+SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop"
 
-SRCREV = "a56ae0df6d3078319755fbaa67822b4fa7fd352b"
+SRCREV = "2c867fbe284ae532f1329b87a86ad3f8cd382867"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal/0001-add-license-files-for-components-of-cereal.patch b/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal/0001-add-license-files-for-components-of-cereal.patch
deleted file mode 100644
index 0000ab9..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal/0001-add-license-files-for-components-of-cereal.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 481b2aa46b3f54d9bee059d9da68263edece2bb3 Mon Sep 17 00:00:00 2001
-From: Adam Miartus <adam.miartus@softhows.eu>
-Date: Mon, 1 Feb 2021 16:15:01 +0100
-Subject: [PATCH] add license files for components of cereal
-
-Signed-off-by: Adam Miartus <adam.miartus@softhows.eu>
----
- include/cereal/external/LICENSE               | 21 ++++++++++++++
- include/cereal/external/rapidjson/LICENSE     | 13 +++++++++
- .../external/rapidjson/msinttypes/LICENSE     | 29 +++++++++++++++++++
- 3 files changed, 63 insertions(+)
- create mode 100644 include/cereal/external/LICENSE
- create mode 100644 include/cereal/external/rapidjson/LICENSE
- create mode 100644 include/cereal/external/rapidjson/msinttypes/LICENSE
-
-diff --git a/include/cereal/external/LICENSE b/include/cereal/external/LICENSE
-new file mode 100644
-index 00000000..66300b68
---- /dev/null
-+++ b/include/cereal/external/LICENSE
-@@ -0,0 +1,21 @@
-+Copyright (C) 2004-2008 René Nyffenegger
-+
-+This source code is provided 'as-is', without any express or implied
-+warranty. In no event will the author be held liable for any damages
-+arising from the use of this software.
-+
-+Permission is granted to anyone to use this software for any purpose,
-+including commercial applications, and to alter it and redistribute it
-+freely, subject to the following restrictions:
-+
-+1. The origin of this source code must not be misrepresented; you must not
-+  claim that you wrote the original source code. If you use this source code
-+  in a product, an acknowledgment in the product documentation would be
-+  appreciated but is not required.
-+
-+2. Altered source versions must be plainly marked as such, and must not be
-+  misrepresented as being the original source code.
-+
-+3. This notice may not be removed or altered from any source distribution.
-+
-+René Nyffenegger rene.nyffenegger@adp-gmbh.ch
-diff --git a/include/cereal/external/rapidjson/LICENSE b/include/cereal/external/rapidjson/LICENSE
-new file mode 100644
-index 00000000..4546f15a
---- /dev/null
-+++ b/include/cereal/external/rapidjson/LICENSE
-@@ -0,0 +1,13 @@
-+Tencent is pleased to support the open source community by making RapidJSON available.
-+
-+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
-+
-+Licensed under the MIT License (the "License"); you may not use this file except
-+in compliance with the License. You may obtain a copy of the License at
-+
-+http://opensource.org/licenses/MIT
-+
-+Unless required by applicable law or agreed to in writing, software distributed 
-+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
-+CONDITIONS OF ANY KIND, either express or implied. See the License for the 
-+specific language governing permissions and limitations under the License.
-diff --git a/include/cereal/external/rapidjson/msinttypes/LICENSE b/include/cereal/external/rapidjson/msinttypes/LICENSE
-new file mode 100644
-index 00000000..e3d96f8f
---- /dev/null
-+++ b/include/cereal/external/rapidjson/msinttypes/LICENSE
-@@ -0,0 +1,29 @@
-+ISO C9x  compliant stdint.h for Microsoft Visual Studio
-+Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 
-+
-+ Copyright (c) 2006-2013 Alexander Chemeris
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+
-+  1. Redistributions of source code must retain the above copyright notice,
-+     this list of conditions and the following disclaimer.
-+
-+  2. Redistributions in binary form must reproduce the above copyright
-+     notice, this list of conditions and the following disclaimer in the
-+     documentation and/or other materials provided with the distribution.
-+
-+  3. Neither the name of the product nor the names of its contributors may
-+     be used to endorse or promote products derived from this software
-+     without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-+EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
-+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal_1.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal_1.3.0.bb
deleted file mode 100644
index a4b7f34..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/cereal/cereal_1.3.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "cereal is a header-only C++11 serialization library"
-HOMEPAGE = "https://uscilab.github.io/cereal"
-LICENSE = "BSD & MIT & BSL-1.0"
-LIC_FILES_CHKSUM = "\
-    file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23 \
-    file://include/cereal/external/rapidxml/license.txt;md5=d63ab70ba21ca0544b03284958324301 \
-    file://include/cereal/external/LICENSE;md5=b07578c9df99c0b8b45eb041efd4a645 \
-    file://include/cereal/external/rapidjson/LICENSE;md5=e7abb663111d4ac17cf00323698aff08 \
-    file://include/cereal/external/rapidjson/msinttypes/LICENSE;md5=dffce65b98c773976de2e338bd130f46 \
-"
-
-inherit cmake pkgconfig
-
-RDEPENDS_${PN}-dev = ""
-
-SRC_URI = " \
-    git://github.com/USCiLab/cereal.git;protocol=https \
-    file://0001-add-license-files-for-components-of-cereal.patch \
-"
-
-SRCREV = "02eace19a99ce3cd564ca4e379753d69af08c2c8"
-
-EXTRA_OECMAKE += "\
-    -DCEREAL_INSTALL=TRUE \
-    -DJUST_INSTALL_CEREAL=TRUE \
-"
-
-S = "${WORKDIR}/git"
-
-PROVIDES += "${PN}-dev"
-
-FILES_${PN}-dev = " \
-    ${includedir} \
-    ${libdir} \
-    ${datadir}/cmake \
-"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
deleted file mode 100644
index 6cad533..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001
-From: Alexey Firago <alexey_firago@mentor.com>
-Date: Fri, 20 Oct 2017 00:04:19 +0300
-Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during cross-compiling or native build
-
-Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-Signed-off-by: Hiram Lew <lew@avast.com>
-Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com>
----
- CMakeLists.txt                    | 9 ++++++++-
- templates/CMakeLists.txt.template | 9 ++++++++-
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -193,6 +193,13 @@ function(protobuf_generate_grpc_cpp)
-     return()
-   endif()
- 
-+  #if cross-compiling or nativesdk, find host plugin
-+  if(CMAKE_CROSSCOMPILING)
-+      find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
-+  else()
-+      set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
-+  endif()
-+
-   set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
-   foreach(FIL ${ARGN})
-     get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
---- a/templates/CMakeLists.txt.template
-+++ b/templates/CMakeLists.txt.template
-@@ -233,6 +233,13 @@
-       return()
-     endif()
- 
-+    #if cross-compiling or nativesdk, find host plugin
-+    if(CMAKE_CROSSCOMPILING)
-+        find_program(gRPC_CPP_PLUGIN grpc_cpp_plugin)
-+    else()
-+        set(gRPC_CPP_PLUGIN $<TARGET_FILE:grpc_cpp_plugin>)
-+    endif()
-+
-     set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
-     foreach(FIL <%text>${ARGN}</%text>)
-       get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
deleted file mode 100644
index e517355..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 2279e30be5796e9b185545543ea54fe68633cbdd Mon Sep 17 00:00:00 2001
-From: Alexey Firago <alexey_firago@mentor.com>
-Date: Mon, 30 Oct 2017 23:24:49 +0300
-Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux
-
-* Set libs versions as in Makefile
-
-Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-
----
- CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 59 insertions(+)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME   "${PACKAGE_NAME}-$
- set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
- project(${PACKAGE_NAME} C CXX)
- 
-+set (CORE_VERSION_MAJOR "6")
-+set (CORE_VERSION "6.0.0")
-+
-+set (CPP_VERSION_MAJOR "1")
-+set (CPP_VERSION "${PACKAGE_VERSION}")
-+
-+set (CSHARP_VERSION_MAJOR "1")
-+set (CSHARP_VERSION "${PACKAGE_VERSION}")
-+
- set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
- set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
- set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
-@@ -777,6 +786,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET address_sorting PROPERTY VERSION ${CORE_VERSION})
-+  set_property(TARGET address_sorting PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(address_sorting
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -903,6 +916,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET gpr PROPERTY VERSION ${CORE_VERSION})
-+  set_property(TARGET gpr PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(gpr
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -1367,6 +1384,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc PROPERTY VERSION ${CORE_VERSION})
-+  set_property(TARGET grpc PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -1782,6 +1803,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc_cronet PROPERTY VERSION ${CORE_VERSION})
-+  set_property(TARGET grpc_cronet PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc_cronet
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -2869,6 +2894,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc_unsecure PROPERTY VERSION ${CORE_VERSION})
-+  set_property(TARGET grpc_unsecure PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc_unsecure
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -3206,6 +3235,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc++ PROPERTY VERSION ${CPP_VERSION})
-+  set_property(TARGET grpc++ PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc++
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -3589,6 +3622,11 @@ protobuf_generate_grpc_cpp(
-   src/proto/grpc/status/status.proto
- )
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc++_error_details PROPERTY VERSION ${CPP_VERSION})
-+  set_property(TARGET grpc++_error_details PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
-+
- target_include_directories(grpc++_error_details
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -3727,6 +3765,11 @@ protobuf_generate_grpc_cpp(
-   src/proto/grpc/reflection/v1alpha/reflection.proto
- )
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc++_reflection PROPERTY VERSION ${CPP_VERSION})
-+  set_property(TARGET grpc++_reflection PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
-+
- target_include_directories(grpc++_reflection
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -3816,6 +3859,10 @@ target_link_libraries(grpc++_test_config
-   ${_gRPC_GFLAGS_LIBRARIES}
- )
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
-+  set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
- 
- endif (gRPC_BUILD_TESTS)
- if (gRPC_BUILD_TESTS)
-@@ -4307,6 +4354,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc++_unsecure PROPERTY VERSION ${CPP_VERSION})
-+  set_property(TARGET grpc++_unsecure PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc++_unsecure
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -4745,6 +4796,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc_plugin_support PROPERTY VERSION ${CORE_VERSION})
-+  set_property(TARGET grpc_plugin_support PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc_plugin_support
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -4813,6 +4868,11 @@ protobuf_generate_grpc_cpp(
-   src/proto/grpc/channelz/channelz.proto
- )
- 
-+if(_gRPC_PLATFORM_LINUX)
-+	set_property(TARGET grpcpp_channelz PROPERTY VERSION ${CPP_VERSION})
-+  set_property(TARGET grpcpp_channelz PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
-+
- target_include_directories(grpcpp_channelz
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -5367,6 +5427,10 @@ if(WIN32 AND MSVC)
-   endif()
- endif()
- 
-+if(_gRPC_PLATFORM_LINUX)
-+  set_property(TARGET grpc_csharp_ext PROPERTY VERSION ${CSHARP_VERSION})
-+  set_property(TARGET grpc_csharp_ext PROPERTY SOVERSION ${CSHARP_VERSION_MAJOR})
-+endif()
- 
- target_include_directories(grpc_csharp_ext
-   PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
similarity index 66%
rename from meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
index c25ce36..358ec80 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.24.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
@@ -6,22 +6,15 @@
 LICENSE = "Apache-2"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2"
+DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2"
 DEPENDS_append_class-target = " googletest grpc-native "
 DEPENDS_append_class-nativesdk = " grpc-native "
 
 S = "${WORKDIR}/git"
-SRCREV_grpc = "2de2e8dd8921e1f7d043e01faf7fe8a291fbb072"
-SRCREV_upb = "9effcbcb27f0a665f9f345030188c0b291e32482"
-BRANCH = "v1.24.x"
+SRCREV_grpc = "3b7f86e3516746c5f0db1947e0d65e94159bcb12"
+BRANCH = "v1.36.x"
 SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
-           git://github.com/protocolbuffers/upb;name=upb;destsuffix=git/third_party/upb \
-           file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
            "
-SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch \
-                               "
-SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
-
 # Fixes build with older compilers 4.8 especially on ubuntu 14.04
 CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
 
@@ -32,7 +25,8 @@
     -DgRPC_ZLIB_PROVIDER=package \
     -DgRPC_SSL_PROVIDER=package \
     -DgRPC_PROTOBUF_PROVIDER=package \
-    -DgRPC_GFLAGS_PROVIDER=package \
+    -DgRPC_ABSL_PROVIDER=package \
+    -DgRPC_RE2_PROVIDER=package \
     -DgRPC_INSTALL=ON \
     -DCMAKE_CROSSCOMPILING=ON \
     -DBUILD_SHARED_LIBS=ON \
@@ -40,6 +34,20 @@
     -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
     "
 
+PACKAGECONFIG ??= "cpp"
+PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
+PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
+PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
+PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF"
+PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
+PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
+PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
+PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite"
+
+do_configure_prepend() {
+    sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
+}
+
 do_configure_prepend_mipsarch() {
     sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
 }
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
index f123b3f..a29c8ce 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
@@ -1,8 +1,7 @@
 From 528009f5ca0685c95ef27f6c8957160499c0576a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 10 May 2013 10:42:45 -0700
-Subject: [PATCH] Do not strip automatically, this leaves the stripping
- busines to OE
+Subject: [PATCH] Do not strip automatically, this leaves the stripping busines to OE
 
 Upstream-Status: Inappropriate [OE-Specific]
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
index 6573efc..7538352 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_git.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Just-In-Time Compiler for Lua"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d739bb9250a55c124a545b588fd76771"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=abe9020de9c00909317d02d5c803810e"
 HOMEPAGE = "http://luajit.org"
 
 SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \
@@ -8,9 +8,9 @@
            file://clang.patch \
            "
 
-# Set PV to a version tag and date associated with SRCREV if it is later.
-PV = "2.1.0~beta3-200809"
-SRCREV = "94d4abcca966df2cc423e821bcacd04898f73117"
+# Set PV to a version tag and date (YYMMDD) associated with SRCREV if it is later.
+PV = "2.1.0~beta3-210112"
+SRCREV = "ec6edc5c39c25e4eb3fca51b753f9995e97215da"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
deleted file mode 100644
index 51b313c..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.2.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Message Passing Interface (MPI) implementation"
-HOMEPAGE = "http://www.mpich.org/"
-SECTION = "devel"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2106f0435056f3dd9349747a766e5816"
-
-SRC_URI = " \
-    http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "f414cfa77099cd1fa1a5ae4e22db508a"
-SRC_URI[sha256sum] = "0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc"
-
-RDEPENDS_${PN} += "bash perl libxml2"
-S = "${WORKDIR}/${BP}"
-
-EXTRA_OECONF = "--enable-debuginfo \
-    --enable-fast \
-    --enable-shared  \
-    --with-pm=gforker  \
-    --disable-rpath \
-    --disable-f77 \
-    --disable-fc \
-    --disable-fortran \
-    --disable-cxx \
-    BASH_SHELL='${USRBINPATH}/env bash' \
-    PERL='${USRBINPATH}/env perl' \
-"
-
-inherit autotools-brokensep gettext
-
-do_configure_prepend() {
-    for d in confdb test/mpi/confdb src/openpa/confdb src/pm/hydra/confdb src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb src/mpl/confdb src/mpi/romio/confdb;  do
-        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
-        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
-    done
-
-    autoreconf --verbose --install --force -I . -I confdb/ -I maint/
-    oe_runconf
-    exit
-}
-
-do_install_append() {
-    sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
-    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb
new file mode 100644
index 0000000..77e080c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Message Passing Interface (MPI) implementation"
+HOMEPAGE = "http://www.mpich.org/"
+SECTION = "devel"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163"
+
+SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
+SRC_URI[sha256sum] = "8836939804ef6d492bcee7d54abafd6477d2beca247157d92688654d13779727"
+
+RDEPENDS_${PN} += "bash perl libxml2"
+
+EXTRA_OECONF = "--enable-debuginfo \
+    --enable-fast \
+    --enable-shared  \
+    --with-pm=gforker  \
+    --disable-rpath \
+    --disable-f77 \
+    --disable-fc \
+    --disable-fortran \
+    --disable-cxx \
+    BASH_SHELL='${USRBINPATH}/env bash' \
+    PERL='${USRBINPATH}/env perl' \
+    --with-device=ch3:nemesis \
+    --with-rdmacm=no \
+    --disable-numa \
+"
+
+PACKAGECONFIG += " \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+"
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
+
+inherit autotools gettext pkgconfig
+
+do_configure() {
+    for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \
+        src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \
+        modules/yaksa/m4 modules/json-c modules/ucx test/mpi/dtpools/confdb \
+        src/mpl/confdb src/mpi/romio/confdb;  do
+        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
+        install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
+    done
+#    cd ${S}
+#    autoupdate
+#    autoreconf --verbose --install --force
+#    cd ${B}
+    oe_runconf
+}
+
+do_install_append() {
+    sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
+    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
index 0673a32..6acc36b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
@@ -26,7 +26,7 @@
 SRC_URI_append_class-target = " \
            file://0002-Using-native-binaries.patch \
            "
-SRC_URI[sha256sum] = "e00eee325d705b2bfa9929b7d061eb2315402d7e8548945eac9870bf84321853"
+SRC_URI[sha256sum] = "961ad600f0706c396390ebc7767fb01d5e3792a5022dc2e7774796756eec6d3c"
 
 S = "${WORKDIR}/node-v${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb
index 25b8137..f8a8755 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb
@@ -205,7 +205,7 @@
 
 MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
 
-PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
 
 RDEPENDS_${PN} += "libgcc"
 RDEPENDS_${PN}-pear = "${PN}"
@@ -221,6 +221,7 @@
                     ${libexecdir}/apache2/modules/.debug"
 FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
 FILES_${PN}-cli = "${bindir}/php"
+FILES_${PN}-phpdbg = "${bindir}/phpdbg"
 FILES_${PN}-phar = "${bindir}/phar*"
 FILES_${PN}-cgi = "${bindir}/php-cgi"
 FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-m4-pthread-update.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-m4-pthread-update.patch
deleted file mode 100644
index 7e4aa10..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-fix-m4-pthread-update.patch
+++ /dev/null
@@ -1,731 +0,0 @@
-From 8cfb4284b4e8b2893bd30e9c764d45f288e71efb Mon Sep 17 00:00:00 2001
-From: Adam Cozzette <acozzette@google.com>
-Date: Fri, 20 Nov 2020 16:36:56 -0800
-Subject: [PATCH] Updated ax_pthread.m4 to its most recent upstream version
-
-This should fix #8059.
-
-Upstream-Status: Backport [471317f03adc09a0436670c31d58264b3bef6561]
-Signed-off-by: Adrian Herrera <adrian.herrera@arm.com>
-Expected version: v4.0.0+
----
- m4/ax_pthread.m4 | 614 ++++++++++++++++++++++++-----------------------
- 1 file changed, 318 insertions(+), 296 deletions(-)
-
-diff --git a/m4/ax_pthread.m4 b/m4/ax_pthread.m4
-index d218d1af73..1598d077ff 100644
---- a/m4/ax_pthread.m4
-+++ b/m4/ax_pthread.m4
-@@ -1,5 +1,5 @@
- # ===========================================================================
--#        http://www.gnu.org/software/autoconf-archive/ax_pthread.html
-+#        https://www.gnu.org/software/autoconf-archive/ax_pthread.html
- # ===========================================================================
- #
- # SYNOPSIS
-@@ -55,6 +55,7 @@
- #
- #   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
- #   Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
-+#   Copyright (c) 2019 Marc Stevens <marc.stevens@cwi.nl>
- #
- #   This program is free software: you can redistribute it and/or modify it
- #   under the terms of the GNU General Public License as published by the
-@@ -67,7 +68,7 @@
- #   Public License for more details.
- #
- #   You should have received a copy of the GNU General Public License along
--#   with this program. If not, see <http://www.gnu.org/licenses/>.
-+#   with this program. If not, see <https://www.gnu.org/licenses/>.
- #
- #   As a special exception, the respective Autoconf Macro's copyright owner
- #   gives unlimited permission to copy, distribute and modify the configure
-@@ -82,7 +83,7 @@
- #   modified version of the Autoconf Macro, you may extend this special
- #   exception to the GPL to apply to your modified version as well.
- 
--#serial 22
-+#serial 27
- 
- AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
- AC_DEFUN([AX_PTHREAD], [
-@@ -100,22 +101,22 @@ ax_pthread_ok=no
- # etcetera environment variables, and if threads linking works using
- # them:
- if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
--	ax_pthread_save_CC="$CC"
--	ax_pthread_save_CFLAGS="$CFLAGS"
--	ax_pthread_save_LIBS="$LIBS"
--	AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
--	CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
--	LIBS="$PTHREAD_LIBS $LIBS"
--	AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
--	AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
--	AC_MSG_RESULT([$ax_pthread_ok])
--	if test "x$ax_pthread_ok" = "xno"; then
--		PTHREAD_LIBS=""
--		PTHREAD_CFLAGS=""
--	fi
--	CC="$ax_pthread_save_CC"
--	CFLAGS="$ax_pthread_save_CFLAGS"
--	LIBS="$ax_pthread_save_LIBS"
-+        ax_pthread_save_CC="$CC"
-+        ax_pthread_save_CFLAGS="$CFLAGS"
-+        ax_pthread_save_LIBS="$LIBS"
-+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
-+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+        LIBS="$PTHREAD_LIBS $LIBS"
-+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
-+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
-+        AC_MSG_RESULT([$ax_pthread_ok])
-+        if test "x$ax_pthread_ok" = "xno"; then
-+                PTHREAD_LIBS=""
-+                PTHREAD_CFLAGS=""
-+        fi
-+        CC="$ax_pthread_save_CC"
-+        CFLAGS="$ax_pthread_save_CFLAGS"
-+        LIBS="$ax_pthread_save_LIBS"
- fi
- 
- # We must check for the threads library under a number of different
-@@ -123,10 +124,12 @@ fi
- # (e.g. DEC) have both -lpthread and -lpthreads, where one of the
- # libraries is broken (non-POSIX).
- 
--# Create a list of thread flags to try.  Items starting with a "-" are
--# C compiler flags, and other items are library names, except for "none"
--# which indicates that we try without any flags at all, and "pthread-config"
--# which is a program returning the flags for the Pth emulation library.
-+# Create a list of thread flags to try. Items with a "," contain both
-+# C compiler flags (before ",") and linker flags (after ","). Other items
-+# starting with a "-" are C compiler flags, and remaining items are
-+# library names, except for "none" which indicates that we try without
-+# any flags at all, and "pthread-config" which is a program returning
-+# the flags for the Pth emulation library.
- 
- ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
- 
-@@ -152,319 +155,338 @@ ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --
- 
- case $host_os in
- 
--	freebsd*)
-+        freebsd*)
- 
--	# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
--	# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
- 
--	ax_pthread_flags="-kthread lthread $ax_pthread_flags"
--	;;
-+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
-+        ;;
- 
--	hpux*)
-+        hpux*)
- 
--	# From the cc(1) man page: "[-mt] Sets various -D flags to enable
--	# multi-threading and also sets -lpthread."
-+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
-+        # multi-threading and also sets -lpthread."
- 
--	ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
--	;;
-+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
-+        ;;
- 
--	openedition*)
-+        openedition*)
- 
--	# IBM z/OS requires a feature-test macro to be defined in order to
--	# enable POSIX threads at all, so give the user a hint if this is
--	# not set. (We don't define these ourselves, as they can affect
--	# other portions of the system API in unpredictable ways.)
-+        # IBM z/OS requires a feature-test macro to be defined in order to
-+        # enable POSIX threads at all, so give the user a hint if this is
-+        # not set. (We don't define these ourselves, as they can affect
-+        # other portions of the system API in unpredictable ways.)
- 
--	AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
--	    [
--#	     if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
--	     AX_PTHREAD_ZOS_MISSING
--#	     endif
--	    ],
--	    [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
--	;;
-+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
-+            [
-+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
-+             AX_PTHREAD_ZOS_MISSING
-+#            endif
-+            ],
-+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
-+        ;;
- 
--	solaris*)
-+        solaris*)
- 
--	# On Solaris (at least, for some versions), libc contains stubbed
--	# (non-functional) versions of the pthreads routines, so link-based
--	# tests will erroneously succeed. (N.B.: The stubs are missing
--	# pthread_cleanup_push, or rather a function called by this macro,
--	# so we could check for that, but who knows whether they'll stub
--	# that too in a future libc.)  So we'll check first for the
--	# standard Solaris way of linking pthreads (-mt -lpthread).
-+        # On Solaris (at least, for some versions), libc contains stubbed
-+        # (non-functional) versions of the pthreads routines, so link-based
-+        # tests will erroneously succeed. (N.B.: The stubs are missing
-+        # pthread_cleanup_push, or rather a function called by this macro,
-+        # so we could check for that, but who knows whether they'll stub
-+        # that too in a future libc.)  So we'll check first for the
-+        # standard Solaris way of linking pthreads (-mt -lpthread).
- 
--	ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
--	;;
-+        ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags"
-+        ;;
- esac
- 
-+# Are we compiling with Clang?
-+
-+AC_CACHE_CHECK([whether $CC is Clang],
-+    [ax_cv_PTHREAD_CLANG],
-+    [ax_cv_PTHREAD_CLANG=no
-+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
-+     if test "x$GCC" = "xyes"; then
-+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
-+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
-+#            if defined(__clang__) && defined(__llvm__)
-+             AX_PTHREAD_CC_IS_CLANG
-+#            endif
-+            ],
-+            [ax_cv_PTHREAD_CLANG=yes])
-+     fi
-+    ])
-+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
-+
-+
- # GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
- 
-+# Note that for GCC and Clang -pthread generally implies -lpthread,
-+# except when -nostdlib is passed.
-+# This is problematic using libtool to build C++ shared libraries with pthread:
-+# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460
-+# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333
-+# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555
-+# To solve this, first try -pthread together with -lpthread for GCC
-+
- AS_IF([test "x$GCC" = "xyes"],
--      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
-+      [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"])
-+
-+# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first
-+
-+AS_IF([test "x$ax_pthread_clang" = "xyes"],
-+      [ax_pthread_flags="-pthread,-lpthread -pthread"])
-+
- 
- # The presence of a feature test macro requesting re-entrant function
- # definitions is, on some systems, a strong hint that pthreads support is
- # correctly enabled
- 
- case $host_os in
--	darwin* | hpux* | linux* | osf* | solaris*)
--	ax_pthread_check_macro="_REENTRANT"
--	;;
-+        darwin* | hpux* | linux* | osf* | solaris*)
-+        ax_pthread_check_macro="_REENTRANT"
-+        ;;
- 
--	aix* | freebsd*)
--	ax_pthread_check_macro="_THREAD_SAFE"
--	;;
-+        aix*)
-+        ax_pthread_check_macro="_THREAD_SAFE"
-+        ;;
- 
--	*)
--	ax_pthread_check_macro="--"
--	;;
-+        *)
-+        ax_pthread_check_macro="--"
-+        ;;
- esac
- AS_IF([test "x$ax_pthread_check_macro" = "x--"],
-       [ax_pthread_check_cond=0],
-       [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
- 
--# Are we compiling with Clang?
- 
--AC_CACHE_CHECK([whether $CC is Clang],
--    [ax_cv_PTHREAD_CLANG],
--    [ax_cv_PTHREAD_CLANG=no
--     # Note that Autoconf sets GCC=yes for Clang as well as GCC
--     if test "x$GCC" = "xyes"; then
--	AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
--	    [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
--#	     if defined(__clang__) && defined(__llvm__)
--	     AX_PTHREAD_CC_IS_CLANG
--#	     endif
--	    ],
--	    [ax_cv_PTHREAD_CLANG=yes])
--     fi
--    ])
--ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
-+if test "x$ax_pthread_ok" = "xno"; then
-+for ax_pthread_try_flag in $ax_pthread_flags; do
-+
-+        case $ax_pthread_try_flag in
-+                none)
-+                AC_MSG_CHECKING([whether pthreads work without any flags])
-+                ;;
-+
-+                *,*)
-+                PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"`
-+                PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"`
-+                AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"])
-+                ;;
-+
-+                -*)
-+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
-+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
-+                ;;
-+
-+                pthread-config)
-+                AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
-+                PTHREAD_CFLAGS="`pthread-config --cflags`"
-+                PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
-+                ;;
-+
-+                *)
-+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
-+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
-+                ;;
-+        esac
-+
-+        ax_pthread_save_CFLAGS="$CFLAGS"
-+        ax_pthread_save_LIBS="$LIBS"
-+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+        LIBS="$PTHREAD_LIBS $LIBS"
-+
-+        # Check for various functions.  We must include pthread.h,
-+        # since some functions may be macros.  (On the Sequent, we
-+        # need a special flag -Kthread to make this header compile.)
-+        # We check for pthread_join because it is in -lpthread on IRIX
-+        # while pthread_create is in libc.  We check for pthread_attr_init
-+        # due to DEC craziness with -lpthreads.  We check for
-+        # pthread_cleanup_push because it is one of the few pthread
-+        # functions on Solaris that doesn't have a non-functional libc stub.
-+        # We try pthread_create on general principles.
-+
-+        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
-+#                       if $ax_pthread_check_cond
-+#                        error "$ax_pthread_check_macro must be defined"
-+#                       endif
-+                        static void *some_global = NULL;
-+                        static void routine(void *a)
-+                          {
-+                             /* To avoid any unused-parameter or
-+                                unused-but-set-parameter warning.  */
-+                             some_global = a;
-+                          }
-+                        static void *start_routine(void *a) { return a; }],
-+                       [pthread_t th; pthread_attr_t attr;
-+                        pthread_create(&th, 0, start_routine, 0);
-+                        pthread_join(th, 0);
-+                        pthread_attr_init(&attr);
-+                        pthread_cleanup_push(routine, 0);
-+                        pthread_cleanup_pop(0) /* ; */])],
-+            [ax_pthread_ok=yes],
-+            [])
-+
-+        CFLAGS="$ax_pthread_save_CFLAGS"
-+        LIBS="$ax_pthread_save_LIBS"
-+
-+        AC_MSG_RESULT([$ax_pthread_ok])
-+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
-+
-+        PTHREAD_LIBS=""
-+        PTHREAD_CFLAGS=""
-+done
-+fi
- 
--ax_pthread_clang_warning=no
- 
- # Clang needs special handling, because older versions handle the -pthread
- # option in a rather... idiosyncratic way
- 
- if test "x$ax_pthread_clang" = "xyes"; then
- 
--	# Clang takes -pthread; it has never supported any other flag
--
--	# (Note 1: This will need to be revisited if a system that Clang
--	# supports has POSIX threads in a separate library.  This tends not
--	# to be the way of modern systems, but it's conceivable.)
--
--	# (Note 2: On some systems, notably Darwin, -pthread is not needed
--	# to get POSIX threads support; the API is always present and
--	# active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
--	# -pthread does define _REENTRANT, and while the Darwin headers
--	# ignore this macro, third-party headers might not.)
--
--	PTHREAD_CFLAGS="-pthread"
--	PTHREAD_LIBS=
--
--	ax_pthread_ok=yes
--
--	# However, older versions of Clang make a point of warning the user
--	# that, in an invocation where only linking and no compilation is
--	# taking place, the -pthread option has no effect ("argument unused
--	# during compilation").  They expect -pthread to be passed in only
--	# when source code is being compiled.
--	#
--	# Problem is, this is at odds with the way Automake and most other
--	# C build frameworks function, which is that the same flags used in
--	# compilation (CFLAGS) are also used in linking.  Many systems
--	# supported by AX_PTHREAD require exactly this for POSIX threads
--	# support, and in fact it is often not straightforward to specify a
--	# flag that is used only in the compilation phase and not in
--	# linking.  Such a scenario is extremely rare in practice.
--	#
--	# Even though use of the -pthread flag in linking would only print
--	# a warning, this can be a nuisance for well-run software projects
--	# that build with -Werror.  So if the active version of Clang has
--	# this misfeature, we search for an option to squash it.
--
--	AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
--	    [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
--	    [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
--	     # Create an alternate version of $ac_link that compiles and
--	     # links in two steps (.c -> .o, .o -> exe) instead of one
--	     # (.c -> exe), because the warning occurs only in the second
--	     # step
--	     ax_pthread_save_ac_link="$ac_link"
--	     ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
--	     ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
--	     ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
--	     ax_pthread_save_CFLAGS="$CFLAGS"
--	     for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
--		AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
--		CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
--		ac_link="$ax_pthread_save_ac_link"
--		AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
--		    [ac_link="$ax_pthread_2step_ac_link"
--		     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
--			 [break])
--		    ])
--	     done
--	     ac_link="$ax_pthread_save_ac_link"
--	     CFLAGS="$ax_pthread_save_CFLAGS"
--	     AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
--	     ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
--	    ])
--
--	case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
--		no | unknown) ;;
--		*) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
--	esac
-+        # Clang takes -pthread; it has never supported any other flag
-+
-+        # (Note 1: This will need to be revisited if a system that Clang
-+        # supports has POSIX threads in a separate library.  This tends not
-+        # to be the way of modern systems, but it's conceivable.)
-+
-+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
-+        # to get POSIX threads support; the API is always present and
-+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
-+        # -pthread does define _REENTRANT, and while the Darwin headers
-+        # ignore this macro, third-party headers might not.)
-+
-+        # However, older versions of Clang make a point of warning the user
-+        # that, in an invocation where only linking and no compilation is
-+        # taking place, the -pthread option has no effect ("argument unused
-+        # during compilation").  They expect -pthread to be passed in only
-+        # when source code is being compiled.
-+        #
-+        # Problem is, this is at odds with the way Automake and most other
-+        # C build frameworks function, which is that the same flags used in
-+        # compilation (CFLAGS) are also used in linking.  Many systems
-+        # supported by AX_PTHREAD require exactly this for POSIX threads
-+        # support, and in fact it is often not straightforward to specify a
-+        # flag that is used only in the compilation phase and not in
-+        # linking.  Such a scenario is extremely rare in practice.
-+        #
-+        # Even though use of the -pthread flag in linking would only print
-+        # a warning, this can be a nuisance for well-run software projects
-+        # that build with -Werror.  So if the active version of Clang has
-+        # this misfeature, we search for an option to squash it.
-+
-+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
-+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
-+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
-+             # Create an alternate version of $ac_link that compiles and
-+             # links in two steps (.c -> .o, .o -> exe) instead of one
-+             # (.c -> exe), because the warning occurs only in the second
-+             # step
-+             ax_pthread_save_ac_link="$ac_link"
-+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
-+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
-+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
-+             ax_pthread_save_CFLAGS="$CFLAGS"
-+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
-+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
-+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
-+                ac_link="$ax_pthread_save_ac_link"
-+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-+                    [ac_link="$ax_pthread_2step_ac_link"
-+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
-+                         [break])
-+                    ])
-+             done
-+             ac_link="$ax_pthread_save_ac_link"
-+             CFLAGS="$ax_pthread_save_CFLAGS"
-+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
-+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
-+            ])
-+
-+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
-+                no | unknown) ;;
-+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
-+        esac
- 
- fi # $ax_pthread_clang = yes
- 
--if test "x$ax_pthread_ok" = "xno"; then
--for ax_pthread_try_flag in $ax_pthread_flags; do
- 
--	case $ax_pthread_try_flag in
--		none)
--		AC_MSG_CHECKING([whether pthreads work without any flags])
--		;;
--
--		-mt,pthread)
--		AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
--		PTHREAD_CFLAGS="-mt"
--		PTHREAD_LIBS="-lpthread"
--		;;
--
--		-*)
--		AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
--		PTHREAD_CFLAGS="$ax_pthread_try_flag"
--		;;
--
--		pthread-config)
--		AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
--		AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
--		PTHREAD_CFLAGS="`pthread-config --cflags`"
--		PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
--		;;
--
--		*)
--		AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
--		PTHREAD_LIBS="-l$ax_pthread_try_flag"
--		;;
--	esac
--
--	ax_pthread_save_CFLAGS="$CFLAGS"
--	ax_pthread_save_LIBS="$LIBS"
--	CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
--	LIBS="$PTHREAD_LIBS $LIBS"
--
--	# Check for various functions.  We must include pthread.h,
--	# since some functions may be macros.  (On the Sequent, we
--	# need a special flag -Kthread to make this header compile.)
--	# We check for pthread_join because it is in -lpthread on IRIX
--	# while pthread_create is in libc.  We check for pthread_attr_init
--	# due to DEC craziness with -lpthreads.  We check for
--	# pthread_cleanup_push because it is one of the few pthread
--	# functions on Solaris that doesn't have a non-functional libc stub.
--	# We try pthread_create on general principles.
--
--	AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
--#			if $ax_pthread_check_cond
--#			 error "$ax_pthread_check_macro must be defined"
--#			endif
--			static void routine(void *a) { a = 0; }
--			static void *start_routine(void *a) { return a; }],
--		       [pthread_t th; pthread_attr_t attr;
--			pthread_create(&th, 0, start_routine, 0);
--			pthread_join(th, 0);
--			pthread_attr_init(&attr);
--			pthread_cleanup_push(routine, 0);
--			pthread_cleanup_pop(0) /* ; */])],
--	    [ax_pthread_ok=yes],
--	    [])
--
--	CFLAGS="$ax_pthread_save_CFLAGS"
--	LIBS="$ax_pthread_save_LIBS"
--
--	AC_MSG_RESULT([$ax_pthread_ok])
--	AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
--
--	PTHREAD_LIBS=""
--	PTHREAD_CFLAGS=""
--done
--fi
- 
- # Various other checks:
- if test "x$ax_pthread_ok" = "xyes"; then
--	ax_pthread_save_CFLAGS="$CFLAGS"
--	ax_pthread_save_LIBS="$LIBS"
--	CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
--	LIBS="$PTHREAD_LIBS $LIBS"
--
--	# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
--	AC_CACHE_CHECK([for joinable pthread attribute],
--	    [ax_cv_PTHREAD_JOINABLE_ATTR],
--	    [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
--	     for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
--		 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
--						 [int attr = $ax_pthread_attr; return attr /* ; */])],
--				[ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
--				[])
--	     done
--	    ])
--	AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
--	       test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
--	       test "x$ax_pthread_joinable_attr_defined" != "xyes"],
--	      [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
--				  [$ax_cv_PTHREAD_JOINABLE_ATTR],
--				  [Define to necessary symbol if this constant
--				   uses a non-standard name on your system.])
--	       ax_pthread_joinable_attr_defined=yes
--	      ])
--
--	AC_CACHE_CHECK([whether more special flags are required for pthreads],
--	    [ax_cv_PTHREAD_SPECIAL_FLAGS],
--	    [ax_cv_PTHREAD_SPECIAL_FLAGS=no
--	     case $host_os in
--	     solaris*)
--	     ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
--	     ;;
--	     esac
--	    ])
--	AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
--	       test "x$ax_pthread_special_flags_added" != "xyes"],
--	      [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
--	       ax_pthread_special_flags_added=yes])
--
--	AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
--	    [ax_cv_PTHREAD_PRIO_INHERIT],
--	    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
--					     [[int i = PTHREAD_PRIO_INHERIT;]])],
--			    [ax_cv_PTHREAD_PRIO_INHERIT=yes],
--			    [ax_cv_PTHREAD_PRIO_INHERIT=no])
--	    ])
--	AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
--	       test "x$ax_pthread_prio_inherit_defined" != "xyes"],
--	      [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
--	       ax_pthread_prio_inherit_defined=yes
--	      ])
--
--	CFLAGS="$ax_pthread_save_CFLAGS"
--	LIBS="$ax_pthread_save_LIBS"
--
--	# More AIX lossage: compile with *_r variant
--	if test "x$GCC" != "xyes"; then
--	    case $host_os in
--		aix*)
--		AS_CASE(["x/$CC"],
--		    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
--		    [#handle absolute path differently from PATH based program lookup
--		     AS_CASE(["x$CC"],
--			 [x/*],
--			 [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
--			 [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
--		;;
--	    esac
--	fi
-+        ax_pthread_save_CFLAGS="$CFLAGS"
-+        ax_pthread_save_LIBS="$LIBS"
-+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-+        LIBS="$PTHREAD_LIBS $LIBS"
-+
-+        # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-+        AC_CACHE_CHECK([for joinable pthread attribute],
-+            [ax_cv_PTHREAD_JOINABLE_ATTR],
-+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
-+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
-+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
-+                                [])
-+             done
-+            ])
-+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
-+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
-+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
-+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
-+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
-+                                  [Define to necessary symbol if this constant
-+                                   uses a non-standard name on your system.])
-+               ax_pthread_joinable_attr_defined=yes
-+              ])
-+
-+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
-+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
-+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
-+             case $host_os in
-+             solaris*)
-+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
-+             ;;
-+             esac
-+            ])
-+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
-+               test "x$ax_pthread_special_flags_added" != "xyes"],
-+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
-+               ax_pthread_special_flags_added=yes])
-+
-+        AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-+            [ax_cv_PTHREAD_PRIO_INHERIT],
-+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-+                                             [[int i = PTHREAD_PRIO_INHERIT;
-+                                               return i;]])],
-+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
-+            ])
-+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
-+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
-+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
-+               ax_pthread_prio_inherit_defined=yes
-+              ])
-+
-+        CFLAGS="$ax_pthread_save_CFLAGS"
-+        LIBS="$ax_pthread_save_LIBS"
-+
-+        # More AIX lossage: compile with *_r variant
-+        if test "x$GCC" != "xyes"; then
-+            case $host_os in
-+                aix*)
-+                AS_CASE(["x/$CC"],
-+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-+                    [#handle absolute path differently from PATH based program lookup
-+                     AS_CASE(["x$CC"],
-+                         [x/*],
-+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
-+                ;;
-+            esac
-+        fi
- fi
- 
- test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
-@@ -475,11 +497,11 @@ AC_SUBST([PTHREAD_CC])
- 
- # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
- if test "x$ax_pthread_ok" = "xyes"; then
--	ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
--	:
-+        ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
-+        :
- else
--	ax_pthread_ok=no
--	$2
-+        ax_pthread_ok=no
-+        $2
- fi
- AC_LANG_POP
- ])dnl AX_PTHREAD
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.14.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.14.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb
index 00f1e99..0392f93 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb
@@ -10,14 +10,13 @@
 DEPENDS = "zlib"
 DEPENDS_append_class-target = " protobuf-native"
 
-SRCREV = "2514f0bd7da7e2af1bed4c5d1b84f031c4d12c10"
+SRCREV = "d7e943b8d2bc444a8c770644e73d090b486f8b37"
 
 SRC_URI = "git://github.com/protocolbuffers/protobuf.git \
            file://run-ptest \
            file://0001-protobuf-fix-configure-error.patch \
            file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
            file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
-           file://0001-fix-m4-pthread-update.patch \
 "
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb b/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
index 68beec6..3933355 100644
--- a/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
@@ -1,6 +1,6 @@
 SUMMARY = "inputattach configuration file"
 LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
 SRC_URI = "file://inputattach.conf"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch
new file mode 100644
index 0000000..ef26c47
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch
@@ -0,0 +1,34 @@
+From fda0713ce3e07786757a057abe7ebf2146d33780 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Mar 2021 18:31:45 -0800
+Subject: [PATCH] cxxopts: Add limits header
+
+needed for numeric_limits
+
+Upstream-Status: Submitted [https://github.com/apache/nifi-minifi-cpp/pull/1021]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ thirdparty/cxxopts/include/cxxopts.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/thirdparty/cxxopts/include/cxxopts.hpp
++++ b/thirdparty/cxxopts/include/cxxopts.hpp
+@@ -29,6 +29,7 @@ THE SOFTWARE.
+ #include <cctype>
+ #include <exception>
+ #include <iostream>
++#include <limits>
+ #include <map>
+ #include <memory>
+ #include <regex>
+--- a/libminifi/src/utils/StringUtils.cpp
++++ b/libminifi/src/utils/StringUtils.cpp
+@@ -21,6 +21,8 @@
+ #include <Windows.h>
+ #endif
+ 
++#include <limits>
++
+ namespace org {
+ namespace apache {
+ namespace nifi {
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
index 34090cf..322b584 100644
--- a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
@@ -28,6 +28,7 @@
             file://0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch \
             file://0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch \
             file://0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch \
+            file://0001-cxxopts-Add-limits-header.patch \
             file://minifi.service \
             file://systemd-volatile.conf \
             file://sysvinit-volatile.conf \
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.1.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb
index 4059fd4..8b7a8d0 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb
@@ -7,7 +7,7 @@
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "a9f9c301f8de1c181e6d45c573b5d1fe7b8200b1"
+SRCREV = "8ac506e6eb0e5c5b2625785b67400bde705773a1"
 SRC_URI = "git://github.com/sewenew/redis-plus-plus"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.service b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.service
new file mode 100644
index 0000000..0aacff3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.service
@@ -0,0 +1,21 @@
+[Unit]
+Description=System Logging Service
+Requires=syslog.socket
+Wants=network.target network-online.target
+After=network.target network-online.target
+Documentation=man:rsyslogd(8)
+Documentation=http://www.rsyslog.com/doc/
+
+[Service]
+Type=notify
+ExecStart=@sbindir@/rsyslogd -n -iNONE
+StandardOutput=null
+Restart=on-failure
+
+# Increase the default a bit in order to allow many simultaneous
+# files to be monitored, we might need a lot of fds.
+LimitNOFILE=16384
+
+[Install]
+WantedBy=multi-user.target
+Alias=syslog.service
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
index b6c2a99..15e31ce 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2006.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
@@ -21,6 +21,7 @@
            file://initscript \
            file://rsyslog.conf \
            file://rsyslog.logrotate \
+           file://rsyslog.service \
            file://use-pkgconfig-to-check-libgcrypt.patch \
            file://run-ptest \
 "
@@ -29,8 +30,8 @@
     file://0001-Include-sys-time-h.patch \
 "
 
-SRC_URI[md5sum] = "33de768941953ceeca9d1a437b47891b"
-SRC_URI[sha256sum] = "d9589e64866f2fdc5636af4cae9d60ebf1e3257bb84b81ee953ede6a05878e97"
+SRC_URI[md5sum] = "1f6150dfd2ef38db37c2165e98d2f2b1"
+SRC_URI[sha256sum] = "94ee0d0312c2edea737665594cbe4a9475e4e3b593e12b5b8ae3a743ac9c72a7"
 
 UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
@@ -77,6 +78,7 @@
 PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
 PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
 PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind,"
+PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb,"
 
 do_configure_prepend() {
     sed -i -e 's|python |python3 |g' ${S}/tests/*.sh
@@ -147,8 +149,9 @@
         echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf
     fi
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        sed -i -e "s#;Requires=syslog.socket#Requires=syslog.socket#g" ${D}${systemd_system_unitdir}/rsyslog.service
-        sed -i -e "s#;Alias=syslog.service#Alias=syslog.service#g" ${D}${systemd_system_unitdir}/rsyslog.service
+        install -d ${D}${systemd_system_unitdir}
+        install -m 644 ${WORKDIR}/rsyslog.service ${D}${systemd_system_unitdir}
+        sed -i -e "s,@sbindir\@,$(sbindir),g" ${D}${systemd_system_unitdir}/rsyslog.service
     fi
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb
rename to meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb
index 369e2f6..4fd516b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb
@@ -13,7 +13,7 @@
 inherit autotools pkgconfig mime-xdg
 
 SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz"
-SRC_URI[md5sum] = "3f45ce664bad529d8b3f78a61b017d75"
-SRC_URI[sha256sum] = "f52413429f47d457c333db0fd068416ab7a3f9e35ca76de8624dc5ac6fb07797"
+SRC_URI[md5sum] = "856fd496cd99d1091aa128405c522a36"
+SRC_URI[sha256sum] = "71d0443f36897bf565732dec206830dbea0f2789b6601cf10536b286d1140ab8"
 
 FILES_${PN} += "${datadir}/icons/hicolor"
diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
new file mode 100644
index 0000000..87c0e14
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
@@ -0,0 +1,84 @@
+From b621a313e0bc67803abfba18e1ae15e7a8b9b59f Mon Sep 17 00:00:00 2001
+From: Oleksiy Obitotskyy <oobitots@cisco.com>
+Date: Mon, 22 Feb 2021 17:21:33 +0200
+Subject: [PATCH] smartmontools: Improve reproducibility
+
+Backport changes added to master smartmontools.
+https://github.com/smartmontools/smartmontools/commit/24838916b4c0e91f5c897d44fcdeedb22848f684
+
+Upstream-Status: Backported
+Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
+---
+ ChangeLog    |  8 ++++++++
+ configure.ac | 12 ++++++++++++
+ utility.cpp  | 10 ++++++++++
+ 3 files changed, 30 insertions(+)
+
+diff --git a/ChangeLog b/ChangeLog
+index 39eac2d..6a3b4ee 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,5 +1,13 @@
+ $Id: ChangeLog 5155 2020-12-30 16:49:18Z chrfranke $
+ 
++2021-02-07  Christian Franke  <franke@computer.org>
++
++	Improve reproducibility if SOURCE_DATE_EPOCH if set (GH pull/89).
++	configure.ac: Define SOURCE_DATE_EPOCH in CPPFLAGS.
++	utility.cpp: Print SOURCE_DATE_EPOCH value if specified.
++	Don't include configure arguments then.
++	cppcheck.sh: Silence related 'ConfigurationNotChecked' message.
++
+ 2020-12-30  Christian Franke  <franke@computer.org>
+ 
+ 	smartmontools 7.2
+diff --git a/configure.ac b/configure.ac
+index ee6f0e5..c37c9bc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -61,6 +61,18 @@ case "${host}" in
+     ;;
+ esac
+ 
++AC_MSG_CHECKING([whether reproducible build is selected (SOURCE_DATE_EPOCH)])
++res=no
++if test -n "$SOURCE_DATE_EPOCH"; then
++  res=yes
++  test -z "`echo "$SOURCE_DATE_EPOCH" | sed 's,[[0-9]]*,,'`" || res=error
++fi
++AC_MSG_RESULT([$res])
++case $res in
++  error) AC_MSG_ERROR([Malformed SOURCE_DATE_EPOCH]) ;;
++  yes) CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-DSOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH" ;;
++esac
++
+ # Check for SVN.
+ AC_MSG_CHECKING([whether this is a build from SVN])
+ is_svn_build=no
+diff --git a/utility.cpp b/utility.cpp
+index 0483c6f..8ab38c9 100644
+--- a/utility.cpp
++++ b/utility.cpp
+@@ -134,9 +134,19 @@ std::string format_version_info(const char * prog_name, bool full /*= false*/)
+ #endif
+                                                           "\n"
+     "smartmontools configure arguments:"
++#ifdef SOURCE_DATE_EPOCH
++                                      " [hidden in reproducible builds]\n"
++    "reproducible build SOURCE_DATE_EPOCH: "
++#endif
+   ;
++#ifdef SOURCE_DATE_EPOCH
++  char ts[32]; struct tm tmbuf;
++  strftime(ts, sizeof(ts), "%Y-%m-%d %H:%M:%S", time_to_tm_local(&tmbuf, SOURCE_DATE_EPOCH));
++  info += strprintf("%u (%s)", (unsigned)SOURCE_DATE_EPOCH, ts);
++#else
+   info += (sizeof(SMARTMONTOOLS_CONFIGURE_ARGS) > 1 ?
+            SMARTMONTOOLS_CONFIGURE_ARGS : " [no arguments given]");
++#endif
+   info += '\n';
+ 
+   return info;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
index 3c01e58..cd97933 100644
--- a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
@@ -16,6 +16,7 @@
            file://initd.smartd \
            file://smartmontools.default \
            file://smartd.service \
+           file://0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch \
            "
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
index bc930ac..3b2b6a9 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -14,6 +14,33 @@
 
 inherit autotools pkgconfig update-alternatives
 
+PACKAGES =+ "${PN}-access ${PN}-isotp ${PN}-j1939 ${PN}-cantest ${PN}-slcan ${PN}-log"
+
+FILES_${PN}-access = " \
+    ${bindir}/cangw \
+    ${bindir}/canlogserver \
+    ${bindir}/bcmserver \
+    ${bindir}/socketcand \
+    ${bindir}/cannelloni \
+"
+
+FILES_${PN}-isotp = "${bindir}/isotp*"
+
+FILES_${PN}-j1939 = " \
+    ${bindir}/j* \
+    ${bindir}/testj1939 \
+"
+
+FILES_${PN}-cantest = " \
+    ${bindir}/canbusload \
+    ${bindir}/can-calc-bit-timing \
+    ${bindir}/canfdtest \
+"
+
+FILES_${PN}-slcan = "${bindir}/slcan*"
+
+FILES_${PN}-log = "${bindir}/*log*"
+
 ALTERNATIVE_${PN} = "candump cansend cansequence"
 ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump"
 ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend"
diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
index cd0b471..d0cc625 100644
--- a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
@@ -9,6 +9,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
                     file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
 
+inherit lib_package
+
 SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1 \
            file://0001-Fix-legacy-build-after-2103.patch \
            "
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
index d6da51b..f7fbedd 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
@@ -3,8 +3,8 @@
 that dependent recipes can build. Gnome-doc-utils itself is no longer packaged because \
 it requires libxml2 and python 2 at the same time, which can no longer be satisfied. "
 LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
-                    file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \
+                    file://${COREBASE}/meta/files/common-licenses/LGPL-2.1-only;md5=1a6d268fd218675ffea8be556788b780"
 SRC_URI = "file://gnome-doc-utils.m4"
 
 PROVIDES = "gnome-doc-utils"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch
new file mode 100644
index 0000000..46a6916
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch
@@ -0,0 +1,52 @@
+From 152d295a28567ac87b0e6db2e62c0d914b1d7ef9 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 23 Feb 2021 08:47:54 +0000
+Subject: [PATCH] meson.build: use relative path
+
+Fixes:
+Fatal error: can't create
+gdk/gdkmm/libgdkmm-3.0.so.1.1.0.p/_buildarea1_master-wr_build_Userspace_auto-usrmerge_standalone_usrmerge_next_210222_lxbuilds_Har12345_platform_up_intel-x86-64-standard-glibc-std_wrlinux_build_tmp-glibc_work_corei7-64-wrs-linux_gtkmm3_3.24.3-r0_gtkmm-3.24.3_untracked_gdk_gdkmm_timecoord.cc.o: File name too long
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gtkmm/-/merge_requests/61]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ gdk/gdkmm/meson.build | 4 ++--
+ gtk/gtkmm/meson.build | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gdk/gdkmm/meson.build b/gdk/gdkmm/meson.build
+index afccaea..240ce4d 100644
+--- a/gdk/gdkmm/meson.build
++++ b/gdk/gdkmm/meson.build
+@@ -200,9 +200,9 @@ else # not maintainer_mode
+     gdkmm_hg_ccg_basenames,
+   )
+ 
+-  built_cc_files = [ src_untracked_gdkmm / 'wrap_init.cc' ]
++  built_cc_files = [ '../..' / untracked_gdkmm / 'wrap_init.cc' ]
+   foreach file : gdkmm_used_hg_ccg_basenames
+-    built_cc_files += src_untracked_gdkmm / file + '.cc'
++    built_cc_files += '../..' / untracked_gdkmm / file + '.cc'
+   endforeach
+ 
+   gdk_gen_sources = built_cc_files
+diff --git a/gtk/gtkmm/meson.build b/gtk/gtkmm/meson.build
+index ab96a22..cc0c050 100644
+--- a/gtk/gtkmm/meson.build
++++ b/gtk/gtkmm/meson.build
+@@ -464,9 +464,9 @@ else # not maintainer_mode
+     gtkmm_hg_ccg_basenames,
+   )
+ 
+-  built_cc_files = [ src_untracked_gtkmm / 'wrap_init.cc' ]
++  built_cc_files = [ '../..' / untracked_gtkmm / 'wrap_init.cc' ]
+   foreach file : gtkmm_used_hg_ccg_basenames
+-    built_cc_files += src_untracked_gtkmm / file + '.cc'
++    built_cc_files += '../..' / untracked_gtkmm / file + '.cc'
+   endforeach
+ 
+   gtk_gen_sources = built_cc_files
+-- 
+2.29.2
+
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
index f9ca7fd..1648e37 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
@@ -16,6 +16,9 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
+SRC_URI += "file://0001-meson.build-use-relative-path.patch \
+"
+
 SRC_URI[archive.sha256sum] = "60497c4f7f354c3bd2557485f0254f8b7b4cf4bebc9fee0be26a77744eacd435"
 
 EXTRA_OEMESON = "-Dbuild-demos=false"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.4.bb b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.4.bb
rename to meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb
index 9f4a763..bbfba55 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb
@@ -11,7 +11,7 @@
     git://github.com/hughsie/libjcat.git \
     file://run-ptest \
 "
-SRCREV = "55872cea013755a170a581333077b23e322f388b"
+SRCREV = "c4f032468c56a5750e1e15b01fa31539b5c7ae51"
 S = "${WORKDIR}/git"
 
 inherit gobject-introspection gtk-doc meson ptest-gnome vala
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.26.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.26.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb
index a425287..791ea8d 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.26.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb
@@ -11,8 +11,8 @@
            file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
 "
 
-SRC_URI[gphoto2.md5sum] = "f663b10bca639290fdb150b6ffe23e93"
-SRC_URI[gphoto2.sha256sum] = "7653213b05329c1dc2779efea3eff00504e12011436587aedc9aaa1e8665ab2f"
+SRC_URI[gphoto2.md5sum] = "92d39b383c0e0354b4d3af1af7b8b416"
+SRC_URI[gphoto2.sha256sum] = "30054e93a1bb59f501aabd5018713177ea04ce0cb28935319bd6ca80061e8d38"
 
 inherit autotools pkgconfig gettext
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.26.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.26.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb
index e9a3002..ebb0c34 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.26.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb
@@ -14,8 +14,8 @@
            file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
 "
 
-SRC_URI[libgphoto2.md5sum] = "7e7e18abe6a764cb4becb2728d86ed84"
-SRC_URI[libgphoto2.sha256sum] = "7740fea3cbb78489071cdfec06c07fab528e69e27ac82734eae6a73eaeeabcd4"
+SRC_URI[libgphoto2.md5sum] = "83a2f96dade72e95dffb8e5fa9628d7e"
+SRC_URI[libgphoto2.sha256sum] = "f8b85478c44948a0b0b52c4d4dfda2de1d7bcb7b262c76bd1ae306d9c63240d7"
 
 inherit autotools pkgconfig gettext lib_package
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.24.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.24.bb
rename to meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
index 2071c1f..0bad670 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.24.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb"
 
 SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https"
-SRCREV = "9a2835a81ce9c41a48f36dadce79f110da8d6c75"
+SRCREV = "9092dcb7f7680204ef523c73eb6132162b4358e3"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
index 045f3ca..1affe84 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
@@ -16,8 +16,6 @@
  src/ncursesw.h       | 4 ++--
  6 files changed, 7 insertions(+), 7 deletions(-)
 
-diff --git a/src/NCApplication.cc b/src/NCApplication.cc
-index 5bcf969..510f034 100644
 --- a/src/NCApplication.cc
 +++ b/src/NCApplication.cc
 @@ -23,7 +23,7 @@
@@ -29,8 +27,6 @@
  
  #define  YUILogComponent "ncurses"
  #include <yui/YUILog.h>
-diff --git a/src/NCstyle.h b/src/NCstyle.h
-index a40d5a8..3657917 100644
 --- a/src/NCstyle.h
 +++ b/src/NCstyle.h
 @@ -25,7 +25,7 @@
@@ -42,8 +38,6 @@
  
  #include <iosfwd>
  #include <string>
-diff --git a/src/NCurses.h b/src/NCurses.h
-index a07c6bf..d17d3c3 100644
 --- a/src/NCurses.h
 +++ b/src/NCurses.h
 @@ -34,7 +34,7 @@
@@ -55,8 +49,6 @@
  #include <wchar.h>
  
  #include "ncursesw.h"
-diff --git a/src/ncursesp.h b/src/ncursesp.h
-index d478347..2fcfea5 100644
 --- a/src/ncursesp.h
 +++ b/src/ncursesp.h
 @@ -28,7 +28,7 @@
@@ -68,8 +60,6 @@
  
  class NCursesPanel : public NCursesWindow
  {
-diff --git a/src/ncursesw.cc b/src/ncursesw.cc
-index 3c771af..bb83210 100644
 --- a/src/ncursesw.cc
 +++ b/src/ncursesw.cc
 @@ -47,7 +47,7 @@
@@ -81,21 +71,19 @@
  #undef line
  #undef columns
  
-diff --git a/src/ncursesw.h b/src/ncursesw.h
-index d25923a..c140d37 100644
 --- a/src/ncursesw.h
 +++ b/src/ncursesw.h
-@@ -27,8 +27,8 @@
+@@ -27,11 +27,11 @@
  
  #include <iosfwd>
  
 -#include <ncursesw/curses.h>
--#include <ncursesw/etip.h>
 +#include <curses.h>
+ #ifndef NCURSES_CXX_IMPEXP
+ #define NCURSES_CXX_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
+ #endif
+-#include <ncursesw/etip.h>
 +#include <etip.h>
  #include <cstdio>
  #include <cstdarg>
  #include <climits>
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch
deleted file mode 100644
index 2520ac4..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0003-Simplify-ncurses-finding-module.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From c2291fe28dc5682f81804941512431642975cf21 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@siemens.com>
-Date: Mon, 29 Oct 2018 18:17:32 +0100
-Subject: [PATCH] Simplify ncurses finding module
-
-CMake will automatically look in the right locations, there is no need to
-re-implement the logic with a for loop and NO_DEFAULT_PATH.
-
-It is already done like this to file the headers.
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/73]
-Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
----
- cmake/Modules/FindCurses6.cmake | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/cmake/Modules/FindCurses6.cmake b/cmake/Modules/FindCurses6.cmake
-index 0bf02c3..e298d5d 100644
---- a/cmake/Modules/FindCurses6.cmake
-+++ b/cmake/Modules/FindCurses6.cmake
-@@ -5,11 +5,9 @@
- #  CURSES6_LIBRARIES - The libraries needed to use Curses6
- #  CURSES6_DEFINITIONS - Compiler switches required for using Curses6
- 
--FOREACH(path ${CMAKE_LIBRARY_PATH} /usr/${LIB_DIR})
--  FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
--  FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
--  FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATHS ${path}/ncurses6 ${path} NO_DEFAULT_PATH)
--ENDFOREACH()
-+FIND_LIBRARY(CURSES6_NCURSESW_LIBRARY NAMES ncursesw PATH_SUFFIXES ncurses6)
-+FIND_LIBRARY(CURSES6_PANELW_LIBRARY NAMES panelw PATH_SUFFIXES ncurses6)
-+FIND_LIBRARY(CURSES6_TINFO_LIBRARY NAMES tinfo PATH_SUFFIXES ncurses6)
- 
- SET(CURSES6_LIBRARIES ${CURSES6_NCURSESW_LIBRARY} ${CURSES6_PANELW_LIBRARY})
- # tinfo is optional (in 12.1 is not there)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.55.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.55.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb
index 15c40ee..a3a4a15 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.55.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb
@@ -5,12 +5,11 @@
 "
 
 SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
-           file://0003-Simplify-ncurses-finding-module.patch \
           "
 
 SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
 
-SRCREV = "e89fcc53c27c3a3bf559d43190289c3ce4f335b1"
+SRCREV = "37d3a1e815a47f536b4f694f139f279cc93a3854"
 
 S = "${WORKDIR}/git"
 
@@ -20,21 +19,18 @@
 
 BBCLASSEXTEND = "nativesdk"
 
-EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
-EXTRA_OECMAKE_append_toolchain-clang = " -DENABLE_WERROR=OFF"
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
+
+CXXFLAGS += "-DNCURSES_WIDECHAR"
 
 do_configure_prepend () {
     cd ${S}
-    git checkout bootstrap.sh
-    sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
-    ./bootstrap.sh
     if [ -e ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so ]; then
         mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
         cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
     fi
     cd -
     sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
-    sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
 }
 
 do_install_append () {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
index b03723a..d3463ca 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -329,10 +329,10 @@
  /**
 --- a/src/YMenuButton.h
 +++ b/src/YMenuButton.h
-@@ -29,7 +29,7 @@
+@@ -28,7 +28,7 @@
+ #include "YMenuWidget.h"
  #include "YMenuItem.h"
  
- class YMenuItem;
 -class YMenuButtonPrivate;
 +struct YMenuButtonPrivate;
  
@@ -428,7 +428,7 @@
  typedef YRadioButtonList::iterator		YRadioButtonListIterator;
 --- a/src/YRichText.h
 +++ b/src/YRichText.h
-@@ -30,7 +30,7 @@
+@@ -31,7 +31,7 @@
  #include "ImplPtr.h"
  
  
@@ -538,7 +538,7 @@
  /**
 --- a/src/YTimezoneSelector.cc
 +++ b/src/YTimezoneSelector.cc
-@@ -32,7 +32,7 @@
+@@ -34,7 +34,7 @@ using std::string;
  
  class YTimezoneSelectorPrivate
  {
@@ -560,7 +560,7 @@
  /**
 --- a/src/YUILog.h
 +++ b/src/YUILog.h
-@@ -64,7 +64,7 @@
+@@ -66,7 +66,7 @@ using std::endl;
  
  
  
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
index 11a1678..fc7f819 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-relative-install-paths-for-CMake.patch
@@ -16,13 +16,13 @@
 Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/140]
 Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
 ---
- buildtools/LibyuiCommon.cmake | 35 ++++++++++++++---------------------
+ legacy-buildtools/LibyuiCommon.cmake | 35 ++++++++++++++---------------------
  1 file changed, 14 insertions(+), 21 deletions(-)
 
-diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
+diff --git a/legacy-buildtools/LibyuiCommon.cmake b/legacy-buildtools/LibyuiCommon.cmake
 index e6fbefd..5e2fc0d 100644
---- a/buildtools/LibyuiCommon.cmake
-+++ b/buildtools/LibyuiCommon.cmake
+--- a/legacy-buildtools/LibyuiCommon.cmake
++++ b/legacy-buildtools/LibyuiCommon.cmake
 @@ -258,13 +258,6 @@ MACRO( SET_ENVIRONMENT )	# setup the environment vars
  
    SET( INSTALL_DOC_DIR "${DOC_DIR}" )
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.10.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.10.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb
index d7f529e..bba1796 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb
@@ -10,24 +10,18 @@
            file://0001-Use-relative-install-paths-for-CMake.patch \
            "
 
-SRCREV = "de9134007d2d029fe5809ce48f57fe218e6ffe16"
-SRCREV_FORMAT = "default"
+SRCREV = "af06143017fc5f18c4b6488ba4aed26bcc43ff6e"
+
 S = "${WORKDIR}/git"
 
 inherit cmake gettext pkgconfig
 
 DEPENDS += "boost"
 
-EXTRA_OECMAKE += "-DENABLE_WERROR=OFF"
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
 
 BBCLASSEXTEND = "native nativesdk"
 
-do_configure_prepend () {
-        (cd ${S} &&
-        ./bootstrap.sh &&
-        cd -)
-}
-
 do_install_append () {
         if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
             mv ${D}/usr/lib64 ${D}/usr/lib
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
index 75c2bc0..fd2973b 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
@@ -1,9 +1,9 @@
 SUMMARY = "tesseract-ocr language files"
 
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "590567f20dc044f6948a8e2c61afc714c360ad0e"
+SRCREV = "4767ea922bcc460e70b87b1d303ebdfed0897da8"
 SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
new file mode 100644
index 0000000..4f3c755
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
@@ -0,0 +1,28 @@
+From f9906a3a1b7f1ade7a6c4e1a8aa67cb3a5e663a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 3 Mar 2021 11:33:15 -0800
+Subject: [PATCH] Do not error on uninitialized warnings
+
+code in verifier.cc violates C/C++ aliasing rules so code should be
+perhaps changed to use a union
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ external/amber/src/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/external/amber/src/CMakeLists.txt b/external/amber/src/CMakeLists.txt
+index 80a0df7..4323c81 100644
+--- a/external/amber/src/CMakeLists.txt
++++ b/external/amber/src/CMakeLists.txt
+@@ -133,6 +133,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+     -Werror
+     -Wextra
+     -Wno-unknown-pragmas
++    -Wno-error=uninitialized
+     -Wpedantic
+     -pedantic-errors)
+ elseif(MSVC)
+--
+2.30.1
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
index 801bd05..184547a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
@@ -9,6 +9,8 @@
 SRCREV_spirv-tools = "1eb89172a82b436d8037e8a8c29c80f7e1f7df74"
 SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
 
+SRC_URI += "file://0001-Do-not-error-on-uninitialized-warnings.patch"
+
 S = "${WORKDIR}/git"
 
 do_install() {
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch
new file mode 100644
index 0000000..1aaf1e6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch
@@ -0,0 +1,445 @@
+From a5531b24750e7949c35640d996ea14c0587938bc Mon Sep 17 00:00:00 2001
+From: John Ogness <john.ogness@linutronix.de>
+Date: Fri, 20 Nov 2020 05:56:59 +0000
+Subject: [PATCH 1/2] printk: add support for lockless ringbuffer
+
+Linux 5.10 introduces a new lockless ringbuffer. The new ringbuffer
+is structured completely different to the previous iterations.
+Add support for dumping the ringbuffer with the "log" command.
+The new ringbuffer is detected based on the availability of
+the "prb" symbol.
+
+Upstream-Status: Backport [https://github.com/crash-utility/crash/commit/a5531b24750e7949c35640d996ea14c0587938bc]
+
+Signed-off-by: John Ogness <john.ogness@linutronix.de>
+Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com> 
+---
+ Makefile  |   5 ++
+ defs.h    |  30 +++++++
+ kernel.c  |   7 +-
+ printk.c  | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ symbols.c |  27 ++++++
+ 5 files changed, 324 insertions(+), 1 deletion(-)
+ create mode 100644 printk.c
+
+diff --git a/Makefile b/Makefile
+index d185719..f66eba7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,6 +61,7 @@ VMWARE_HFILES=vmware_vmss.h
+ 
+ CFILES=main.c tools.c global_data.c memory.c filesys.c help.c task.c \
+ 	kernel.c test.c gdb_interface.c configure.c net.c dev.c bpf.c \
++	printk.c \
+ 	alpha.c x86.c ppc.c ia64.c s390.c s390x.c s390dbf.c ppc64.c x86_64.c \
+ 	arm.c arm64.c mips.c sparc64.c \
+ 	extensions.c remote.c va_server.c va_server_v1.c symbols.c cmdline.c \
+@@ -80,6 +81,7 @@ SOURCE_FILES=${CFILES} ${GENERIC_HFILES} ${MCORE_HFILES} \
+ 
+ OBJECT_FILES=main.o tools.o global_data.o memory.o filesys.o help.o task.o \
+ 	build_data.o kernel.o test.o gdb_interface.o net.o dev.o bpf.o \
++	printk.o \
+ 	alpha.o x86.o ppc.o ia64.o s390.o s390x.o s390dbf.o ppc64.o x86_64.o \
+ 	arm.o arm64.o mips.o sparc64.o \
+ 	extensions.o remote.o va_server.o va_server_v1.o symbols.o cmdline.o \
+@@ -363,6 +365,9 @@ task.o: ${GENERIC_HFILES} task.c
+ kernel.o: ${GENERIC_HFILES} kernel.c
+ 	${CC} -c ${CRASH_CFLAGS} kernel.c ${WARNING_OPTIONS} ${WARNING_ERROR}
+ 
++printk.o: ${GENERIC_HFILES} printk.c
++	${CC} -c ${CRASH_CFLAGS} printk.c ${WARNING_OPTIONS} ${WARNING_ERROR}
++
+ gdb_interface.o: ${GENERIC_HFILES} gdb_interface.c
+ 	${CC} -c ${CRASH_CFLAGS} gdb_interface.c ${WARNING_OPTIONS} ${WARNING_ERROR}
+ 
+diff --git a/defs.h b/defs.h
+index 9594950..e1a18e9 100644
+--- a/defs.h
++++ b/defs.h
+@@ -2106,6 +2106,28 @@ struct offset_table {                    /* stash of commonly-used offsets */
+ 	long irq_common_data_affinity;
+ 	long irq_desc_irq_common_data;
+ 	long uts_namespace_name;
++	long printk_info_seq;
++	long printk_info_ts_nsec;
++	long printk_info_text_len;
++	long printk_info_level;
++	long printk_info_caller_id;
++	long printk_info_dev_info;
++	long dev_printk_info_subsystem;
++	long dev_printk_info_device;
++	long prb_desc_ring;
++	long prb_text_data_ring;
++	long prb_desc_ring_count_bits;
++	long prb_desc_ring_descs;
++	long prb_desc_ring_infos;
++	long prb_desc_ring_head_id;
++	long prb_desc_ring_tail_id;
++	long prb_desc_state_var;
++	long prb_desc_text_blk_lpos;
++	long prb_data_blk_lpos_begin;
++	long prb_data_blk_lpos_next;
++	long prb_data_ring_size_bits;
++	long prb_data_ring_data;
++	long atomic_long_t_counter;
+ };
+ 
+ struct size_table {         /* stash of commonly-used sizes */
+@@ -2265,6 +2287,9 @@ struct size_table {         /* stash of commonly-used sizes */
+ 	long xa_node;
+ 	long zram_table_entry;
+ 	long irq_common_data;
++	long printk_info;
++	long printk_ringbuffer;
++	long prb_desc;
+ };
+ 
+ struct array_table {
+@@ -6696,6 +6721,11 @@ int vmware_guestdump_memory_dump(FILE *);
+  */
+ int calc_kaslr_offset(ulong *, ulong *);
+ 
++/*
++ * printk.c
++ */
++void dump_lockless_record_log(int);
++
+ /*
+  *  gnu_binutils.c
+  */
+diff --git a/kernel.c b/kernel.c
+index 9871637..e722ff9 100644
+--- a/kernel.c
++++ b/kernel.c
+@@ -5042,6 +5042,11 @@ dump_log(int msg_flags)
+ 	struct syment *nsp;
+ 	int log_wrap, loglevel, log_buf_len;
+ 
++	if (kernel_symbol_exists("prb")) {
++		dump_lockless_record_log(msg_flags);
++		return;
++	}
++
+ 	if (kernel_symbol_exists("log_first_idx") && 
+ 	    kernel_symbol_exists("log_next_idx")) {
+ 		dump_variable_length_record_log(msg_flags);
+@@ -5289,7 +5294,7 @@ dump_log_entry(char *logptr, int msg_flags)
+ }
+ 
+ /* 
+- *  Handle the new variable-length-record log_buf.
++ *  Handle the variable-length-record log_buf.
+  */
+ static void
+ dump_variable_length_record_log(int msg_flags)
+diff --git a/printk.c b/printk.c
+new file mode 100644
+index 0000000..f6d54ce
+--- /dev/null
++++ b/printk.c
+@@ -0,0 +1,256 @@
++#include "defs.h"
++#include <ctype.h>
++
++#define DESC_SV_BITS		(sizeof(unsigned long) * 8)
++#define DESC_COMMITTED_MASK	(1UL << (DESC_SV_BITS - 1))
++#define DESC_REUSE_MASK		(1UL << (DESC_SV_BITS - 2))
++#define DESC_FLAGS_MASK		(DESC_COMMITTED_MASK | DESC_REUSE_MASK)
++#define DESC_ID_MASK		(~DESC_FLAGS_MASK)
++
++/* convenience struct for passing many values to helper functions */
++struct prb_map {
++	char *prb;
++
++	char *desc_ring;
++	unsigned long desc_ring_count;
++	char *descs;
++	char *infos;
++
++	char *text_data_ring;
++	unsigned long text_data_ring_size;
++	char *text_data;
++};
++
++static void
++init_offsets(void)
++{
++	char *n;
++
++	n = "printk_info";
++	STRUCT_SIZE_INIT(printk_info, n);
++	MEMBER_OFFSET_INIT(printk_info_seq, n, "seq");
++	MEMBER_OFFSET_INIT(printk_info_ts_nsec, n, "ts_nsec");
++	MEMBER_OFFSET_INIT(printk_info_text_len, n, "text_len");
++	MEMBER_OFFSET_INIT(printk_info_level, n, "level");
++	MEMBER_OFFSET_INIT(printk_info_caller_id, n, "caller_id");
++	MEMBER_OFFSET_INIT(printk_info_dev_info, n, "dev_info");
++
++	n = "dev_printk_info";
++	MEMBER_OFFSET_INIT(dev_printk_info_subsystem, n, "subsystem");
++	MEMBER_OFFSET_INIT(dev_printk_info_device, n, "device");
++
++	n = "printk_ringbuffer";
++	STRUCT_SIZE_INIT(printk_ringbuffer, n);
++	MEMBER_OFFSET_INIT(prb_desc_ring, n, "desc_ring");
++	MEMBER_OFFSET_INIT(prb_text_data_ring, n, "text_data_ring");
++
++	n = "prb_desc_ring";
++	MEMBER_OFFSET_INIT(prb_desc_ring_count_bits, n, "count_bits");
++	MEMBER_OFFSET_INIT(prb_desc_ring_descs, n, "descs");
++	MEMBER_OFFSET_INIT(prb_desc_ring_infos, n, "infos");
++	MEMBER_OFFSET_INIT(prb_desc_ring_head_id, n, "head_id");
++	MEMBER_OFFSET_INIT(prb_desc_ring_tail_id, n, "tail_id");
++
++	n = "prb_desc";
++	STRUCT_SIZE_INIT(prb_desc, n);
++	MEMBER_OFFSET_INIT(prb_desc_state_var, n, "state_var");
++	MEMBER_OFFSET_INIT(prb_desc_text_blk_lpos, n, "text_blk_lpos");
++
++	n = "prb_data_blk_lpos";
++	MEMBER_OFFSET_INIT(prb_data_blk_lpos_begin, n, "begin");
++	MEMBER_OFFSET_INIT(prb_data_blk_lpos_next, n, "next");
++
++	n = "prb_data_ring";
++	MEMBER_OFFSET_INIT(prb_data_ring_size_bits, n, "size_bits");
++	MEMBER_OFFSET_INIT(prb_data_ring_data, n, "data");
++
++	n = "atomic_long_t";
++	MEMBER_OFFSET_INIT(atomic_long_t_counter, n, "counter");
++}
++
++static void
++dump_record(struct prb_map *m, unsigned long id, int msg_flags)
++{
++	unsigned short text_len;
++	unsigned long state_var;
++	unsigned int caller_id;
++	unsigned char level;
++	unsigned long begin;
++	unsigned long next;
++	char buf[BUFSIZE];
++	uint64_t ts_nsec;
++	ulonglong nanos;
++	ulonglong seq;
++	int ilen = 0, i;
++	char *desc, *info, *text, *p;
++	ulong rem;
++
++	desc = m->descs + ((id % m->desc_ring_count) * SIZE(prb_desc));
++
++	/* skip non-committed record */
++	state_var = ULONG(desc + OFFSET(prb_desc_state_var) +
++			OFFSET(atomic_long_t_counter));
++	if ((state_var & DESC_FLAGS_MASK) != DESC_COMMITTED_MASK)
++		return;
++
++	info = m->infos + ((id % m->desc_ring_count) * SIZE(printk_info));
++
++	seq = ULONGLONG(info + OFFSET(printk_info_seq));
++	caller_id = UINT(info + OFFSET(printk_info_caller_id));
++	if (CRASHDEBUG(1))
++		fprintf(fp, "seq: %llu caller_id: %x (%s: %u)\n", seq, caller_id,
++			caller_id & 0x80000000 ? "cpu" : "pid", caller_id & ~0x80000000);
++
++	text_len = USHORT(info + OFFSET(printk_info_text_len));
++
++	begin = ULONG(desc + OFFSET(prb_desc_text_blk_lpos) +
++		      OFFSET(prb_data_blk_lpos_begin)) %
++			m->text_data_ring_size;
++	next = ULONG(desc + OFFSET(prb_desc_text_blk_lpos) +
++		     OFFSET(prb_data_blk_lpos_next)) %
++			m->text_data_ring_size;
++
++	/* skip data-less text blocks */
++	if (begin == next)
++		goto out;
++
++	if ((msg_flags & SHOW_LOG_TEXT) == 0) {
++		ts_nsec = ULONGLONG(info + OFFSET(printk_info_ts_nsec));
++		nanos = (ulonglong)ts_nsec / (ulonglong)1000000000;
++		rem = (ulonglong)ts_nsec % (ulonglong)1000000000;
++		if (msg_flags & SHOW_LOG_CTIME) {
++			time_t t = kt->boot_date.tv_sec + nanos;
++			sprintf(buf, "[%s] ", ctime_tz(&t));
++		} else
++			sprintf(buf, "[%5lld.%06ld] ", nanos, rem/1000);
++
++		ilen += strlen(buf);
++		fprintf(fp, "%s", buf);
++	}
++
++	if (msg_flags & SHOW_LOG_LEVEL) {
++		level = UCHAR(info + OFFSET(printk_info_level)) >> 5;
++		sprintf(buf, "<%x>", level);
++		ilen += strlen(buf);
++		fprintf(fp, "%s", buf);
++	}
++
++	/* handle wrapping data block */
++	if (begin > next)
++		begin = 0;
++
++	/* skip over descriptor ID */
++	begin += sizeof(unsigned long);
++
++	/* handle truncated messages */
++	if (next - begin < text_len)
++		text_len = next - begin;
++
++	text = m->text_data + begin;
++
++	for (i = 0, p = text; i < text_len; i++, p++) {
++		if (*p == '\n')
++			fprintf(fp, "\n%s", space(ilen));
++		else if (isprint(*p) || isspace(*p))
++			fputc(*p, fp);
++		else
++			fputc('.', fp);
++	}
++
++	if (msg_flags & SHOW_LOG_DICT) {
++		text = info + OFFSET(printk_info_dev_info) +
++				OFFSET(dev_printk_info_subsystem);
++		if (strlen(text))
++			fprintf(fp, "\n%sSUBSYSTEM=%s", space(ilen), text);
++
++		text = info + OFFSET(printk_info_dev_info) +
++				OFFSET(dev_printk_info_device);
++		if (strlen(text))
++			fprintf(fp, "\n%sDEVICE=%s", space(ilen), text);
++	}
++out:
++	fprintf(fp, "\n");
++}
++
++/*
++ *  Handle the lockless printk_ringbuffer.
++ */
++void
++dump_lockless_record_log(int msg_flags)
++{
++	unsigned long head_id;
++	unsigned long tail_id;
++	unsigned long kaddr;
++	unsigned long id;
++	struct prb_map m;
++
++	if (INVALID_SIZE(printk_info))
++		init_offsets();
++
++	/* setup printk_ringbuffer */
++	get_symbol_data("prb", sizeof(char *), &kaddr);
++	m.prb = GETBUF(SIZE(printk_ringbuffer));
++	if (!readmem(kaddr, KVADDR, m.prb, SIZE(printk_ringbuffer),
++		     "printk_ringbuffer contents", RETURN_ON_ERROR|QUIET)) {
++		error(WARNING, "\ncannot read printk_ringbuffer contents\n");
++		goto out_prb;
++	}
++
++	/* setup descriptor ring */
++	m.desc_ring = m.prb + OFFSET(prb_desc_ring);
++	m.desc_ring_count = 1 << UINT(m.desc_ring + OFFSET(prb_desc_ring_count_bits));
++
++	kaddr = ULONG(m.desc_ring + OFFSET(prb_desc_ring_descs));
++	m.descs = GETBUF(SIZE(prb_desc) * m.desc_ring_count);
++	if (!readmem(kaddr, KVADDR, m.descs, SIZE(prb_desc) * m.desc_ring_count,
++		     "prb_desc_ring contents", RETURN_ON_ERROR|QUIET)) {
++		error(WARNING, "\ncannot read prb_desc_ring contents\n");
++		goto out_descs;
++	}
++
++	kaddr = ULONG(m.desc_ring + OFFSET(prb_desc_ring_infos));
++	m.infos = GETBUF(SIZE(printk_info) * m.desc_ring_count);
++	if (!readmem(kaddr, KVADDR, m.infos, SIZE(printk_info) * m.desc_ring_count,
++		     "prb_info_ring contents", RETURN_ON_ERROR|QUIET)) {
++		error(WARNING, "\ncannot read prb_info_ring contents\n");
++		goto out_infos;
++	}
++
++	/* setup text data ring */
++	m.text_data_ring = m.prb + OFFSET(prb_text_data_ring);
++	m.text_data_ring_size = 1 << UINT(m.text_data_ring + OFFSET(prb_data_ring_size_bits));
++
++	kaddr = ULONG(m.text_data_ring + OFFSET(prb_data_ring_data));
++	m.text_data = GETBUF(m.text_data_ring_size);
++	if (!readmem(kaddr, KVADDR, m.text_data, m.text_data_ring_size,
++		     "prb_text_data_ring contents", RETURN_ON_ERROR|QUIET)) {
++		error(WARNING, "\ncannot read prb_text_data_ring contents\n");
++		goto out_text_data;
++	}
++
++	/* ready to go */
++
++	tail_id = ULONG(m.desc_ring + OFFSET(prb_desc_ring_tail_id) +
++			OFFSET(atomic_long_t_counter));
++	head_id = ULONG(m.desc_ring + OFFSET(prb_desc_ring_head_id) +
++			OFFSET(atomic_long_t_counter));
++
++	hq_open();
++
++	for (id = tail_id; id != head_id; id = (id + 1) & DESC_ID_MASK)
++		dump_record(&m, id, msg_flags);
++
++	/* dump head record */
++	dump_record(&m, id, msg_flags);
++
++	hq_close();
++
++out_text_data:
++	FREEBUF(m.text_data);
++out_infos:
++	FREEBUF(m.infos);
++out_descs:
++	FREEBUF(m.descs);
++out_prb:
++	FREEBUF(m.prb);
++}
+diff --git a/symbols.c b/symbols.c
+index b2f4eb5..a51078d 100644
+--- a/symbols.c
++++ b/symbols.c
+@@ -10426,6 +10426,30 @@ dump_offset_table(char *spec, ulong makestruct)
+ 		OFFSET(log_level));
+ 	fprintf(fp, "               log_flags_level: %ld\n",
+ 		OFFSET(log_flags_level));
++
++	fprintf(fp, "               printk_info_seq: %ld\n", OFFSET(printk_info_seq));
++	fprintf(fp, "           printk_info_ts_nseq: %ld\n", OFFSET(printk_info_ts_nsec));
++	fprintf(fp, "          printk_info_text_len: %ld\n", OFFSET(printk_info_text_len));
++	fprintf(fp, "             printk_info_level: %ld\n", OFFSET(printk_info_level));
++	fprintf(fp, "         printk_info_caller_id: %ld\n", OFFSET(printk_info_caller_id));
++	fprintf(fp, "          printk_info_dev_info: %ld\n", OFFSET(printk_info_dev_info));
++	fprintf(fp, "     dev_printk_info_subsystem: %ld\n", OFFSET(dev_printk_info_subsystem));
++	fprintf(fp, "        dev_printk_info_device: %ld\n", OFFSET(dev_printk_info_device));
++	fprintf(fp, "                 prb_desc_ring: %ld\n", OFFSET(prb_desc_ring));
++	fprintf(fp, "            prb_text_data_ring: %ld\n", OFFSET(prb_text_data_ring));
++	fprintf(fp, "      prb_desc_ring_count_bits: %ld\n", OFFSET(prb_desc_ring_count_bits));
++	fprintf(fp, "           prb_desc_ring_descs: %ld\n", OFFSET(prb_desc_ring_descs));
++	fprintf(fp, "           prb_desc_ring_infos: %ld\n", OFFSET(prb_desc_ring_infos));
++	fprintf(fp, "         prb_desc_ring_head_id: %ld\n", OFFSET(prb_desc_ring_head_id));
++	fprintf(fp, "         prb_desc_ring_tail_id: %ld\n", OFFSET(prb_desc_ring_tail_id));
++	fprintf(fp, "            prb_desc_state_var: %ld\n", OFFSET(prb_desc_state_var));
++	fprintf(fp, "        prb_desc_text_blk_lpos: %ld\n", OFFSET(prb_desc_text_blk_lpos));
++	fprintf(fp, "       prb_data_blk_lpos_begin: %ld\n", OFFSET(prb_data_blk_lpos_begin));
++	fprintf(fp, "        prb_data_blk_lpos_next: %ld\n", OFFSET(prb_data_blk_lpos_next));
++	fprintf(fp, "       prb_data_ring_size_bits: %ld\n", OFFSET(prb_data_ring_size_bits));
++	fprintf(fp, "            prb_data_ring_data: %ld\n", OFFSET(prb_data_ring_data));
++	fprintf(fp, "         atomit_long_t_counter: %ld\n", OFFSET(atomic_long_t_counter));
++
+ 	fprintf(fp, "          sched_rt_entity_my_q: %ld\n",
+ 		OFFSET(sched_rt_entity_my_q));
+ 	fprintf(fp, "             task_group_parent: %ld\n",
+@@ -10850,6 +10874,9 @@ dump_offset_table(char *spec, ulong makestruct)
+ 		SIZE(xarray));
+ 	fprintf(fp, "                       xa_node: %ld\n",
+ 		SIZE(xa_node));
++	fprintf(fp, "                   printk_info: %ld\n", SIZE(printk_info));
++	fprintf(fp, "             printk_ringbuffer: %ld\n", SIZE(printk_ringbuffer));
++	fprintf(fp, "                      prb_desc: %ld\n", SIZE(prb_desc));
+ 
+ 
+         fprintf(fp, "\n                   array_table:\n");
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch
new file mode 100644
index 0000000..5213195
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch
@@ -0,0 +1,103 @@
+From 71e159c64000467e94e08aefc144f5e1cdaa4aa0 Mon Sep 17 00:00:00 2001
+From: John Ogness <john.ogness@linutronix.de>
+Date: Wed, 25 Nov 2020 05:27:53 +0106
+Subject: [PATCH 2/2] printk: use committed/finalized state values
+
+An addendum to the previous crash commit a5531b24750e.
+The ringbuffer entries use 2 state values (committed and finalized)
+rather than a single flag to represent being available for reading.
+Copy the definitions and state lookup function directly from the
+kernel source and use the new states.
+
+Upstream-Status: Backport [https://github.com/crash-utility/crash/commit/71e159c64000467e94e08aefc144f5e1cdaa4aa0]
+
+Signed-off-by: John Ogness <john.ogness@linutronix.de>
+Signed-off-by: Nikolay Borisov <nborisov@suse.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com> 
+---
+ printk.c | 48 +++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 41 insertions(+), 7 deletions(-)
+
+diff --git a/printk.c b/printk.c
+index f6d54ce..8658016 100644
+--- a/printk.c
++++ b/printk.c
+@@ -1,12 +1,6 @@
+ #include "defs.h"
+ #include <ctype.h>
+ 
+-#define DESC_SV_BITS		(sizeof(unsigned long) * 8)
+-#define DESC_COMMITTED_MASK	(1UL << (DESC_SV_BITS - 1))
+-#define DESC_REUSE_MASK		(1UL << (DESC_SV_BITS - 2))
+-#define DESC_FLAGS_MASK		(DESC_COMMITTED_MASK | DESC_REUSE_MASK)
+-#define DESC_ID_MASK		(~DESC_FLAGS_MASK)
+-
+ /* convenience struct for passing many values to helper functions */
+ struct prb_map {
+ 	char *prb;
+@@ -21,6 +15,44 @@ struct prb_map {
+ 	char *text_data;
+ };
+ 
++/*
++ * desc_state and DESC_* definitions taken from kernel source:
++ *
++ * kernel/printk/printk_ringbuffer.h
++ */
++
++/* The possible responses of a descriptor state-query. */
++enum desc_state {
++	desc_miss	=  -1,	/* ID mismatch (pseudo state) */
++	desc_reserved	= 0x0,	/* reserved, in use by writer */
++	desc_committed	= 0x1,	/* committed by writer, could get reopened */
++	desc_finalized	= 0x2,	/* committed, no further modification allowed */
++	desc_reusable	= 0x3,	/* free, not yet used by any writer */
++};
++
++#define DESC_SV_BITS		(sizeof(unsigned long) * 8)
++#define DESC_FLAGS_SHIFT	(DESC_SV_BITS - 2)
++#define DESC_FLAGS_MASK		(3UL << DESC_FLAGS_SHIFT)
++#define DESC_STATE(sv)		(3UL & (sv >> DESC_FLAGS_SHIFT))
++#define DESC_ID_MASK		(~DESC_FLAGS_MASK)
++#define DESC_ID(sv)		((sv) & DESC_ID_MASK)
++
++/*
++ * get_desc_state() taken from kernel source:
++ *
++ * kernel/printk/printk_ringbuffer.c
++ */
++
++/* Query the state of a descriptor. */
++static enum desc_state get_desc_state(unsigned long id,
++				      unsigned long state_val)
++{
++	if (id != DESC_ID(state_val))
++		return desc_miss;
++
++	return DESC_STATE(state_val);
++}
++
+ static void
+ init_offsets(void)
+ {
+@@ -74,6 +106,7 @@ dump_record(struct prb_map *m, unsigned long id, int msg_flags)
+ 	unsigned short text_len;
+ 	unsigned long state_var;
+ 	unsigned int caller_id;
++	enum desc_state state;
+ 	unsigned char level;
+ 	unsigned long begin;
+ 	unsigned long next;
+@@ -90,7 +123,8 @@ dump_record(struct prb_map *m, unsigned long id, int msg_flags)
+ 	/* skip non-committed record */
+ 	state_var = ULONG(desc + OFFSET(prb_desc_state_var) +
+ 			OFFSET(atomic_long_t_counter));
+-	if ((state_var & DESC_FLAGS_MASK) != DESC_COMMITTED_MASK)
++	state = get_desc_state(id, state_var);
++	if (state != desc_committed && state != desc_finalized)
+ 		return;
+ 
+ 	info = m->infos + ((id % m->desc_ring_count) * SIZE(printk_info));
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.9.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.9.bb
index 4394b6f..0b6883a 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.9.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.9.bb
@@ -25,6 +25,8 @@
            file://remove-unrecognized-gcc-option-m32-for-mips.patch \
            file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
            file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
+           file://0001-printk-add-support-for-lockless-ringbuffer.patch \
+           file://0002-printk-use-committed-finalized-state-values.patch \
            "
 SRCREV = "a25aa4b649d339dd25c20d5413d81b851a77e0b2"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
new file mode 100644
index 0000000..9423141
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
@@ -0,0 +1,31 @@
+From 7df10d91db6f533cc0f6c09f4ae8ad92918c6160 Mon Sep 17 00:00:00 2001
+From: Matteo Croce <mcroce@microsoft.com>
+Date: Tue, 26 Jan 2021 12:41:47 +0100
+Subject: [PATCH] install: don't preserve file owner
+
+'cp -p' preserve file ownership, this may leave files owned by the
+current in user in /lib .
+
+Upstream-status: Submitted (0.4 release) [https://github.com/libbpf/libbpf/commit/767d82caab7e54238f2fc6f40ab1e4af285f2abe]
+
+Signed-off-by: Matteo Croce <mcroce@microsoft.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index da33613..ab66edc 100644
+--- a/Makefile
++++ b/Makefile
+@@ -130,7 +130,7 @@ define do_s_install
+ 	$(Q)if [ ! -d '$(DESTDIR)$2' ]; then		\
+ 		$(INSTALL) -d -m 755 '$(DESTDIR)$2';	\
+ 	fi;
+-	$(Q)cp -fpR $1 '$(DESTDIR)$2'
++	$(Q)cp -fR $1 '$(DESTDIR)$2'
+ endef
+ 
+ install: all install_headers install_pkgconfig
+-- 
+2.29.2
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
new file mode 100644
index 0000000..5714ddb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Library for BPF handling"
+DESCRIPTION = "Library for BPF handling"
+HOMEPAGE = "https://github.com/libbpf/libbpf"
+SECTION = "libs"
+LICENSE = "LGPLv2.1+"
+
+# There is a typo in the filename, LPGL should really be LGPL.
+# Keep this until the correct name is set upstream.
+LIC_FILES_CHKSUM = "file://../LICENSE.LPGL-2.1;md5=b370887980db5dd40659b50909238dbd"
+
+DEPENDS = "zlib elfutils"
+
+SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https"
+SRCREV = "051a4009f94d5633a8f734ca4235f0a78ee90469"
+
+# Backported from version 0.4
+SRC_URI += "file://0001-install-don-t-preserve-file-owner.patch"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64).*-linux"
+
+S = "${WORKDIR}/git/src"
+
+EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir}"
+
+do_compile() {
+	if grep -q "CONFIG_BPF_SYSCALL=y" ${STAGING_KERNEL_BUILDDIR}/.config
+	then
+		oe_runmake
+	else
+		bbnote "BFP syscall is not enabled"
+	fi
+}
+
+do_install() {
+	if grep -q "CONFIG_BPF_SYSCALL=y" ${STAGING_KERNEL_BUILDDIR}/.config
+	then
+		oe_runmake install
+	else
+		bbnote "no files to install"
+	fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
similarity index 68%
rename from meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
index 73e8e3f..0cae7c5 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.2.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
 
 SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "096f4acfba00f1210a84fb7650f7693d"
-SRC_URI[sha256sum] = "7b32db1719d7f6516cce82a9d00dfddfb3581725db732ea87d41ea8ef0ce5227"
+SRC_URI[md5sum] = "454d03ce31addb5b7dca62d213c9660e"
+SRC_URI[sha256sum] = "525059d10759c5cb8148eebc863bb510e311c663603da7bd2d21c46b7cf63b54"
 
 inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb b/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb
deleted file mode 100644
index bcb3015..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire-0.2_git.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Multimedia processing server for Linux"
-AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
-HOMEPAGE = "https://pipewire.org"
-SECTION = "multimedia"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = " \
-    file://LICENSE;md5=d8153c6e65986f862a0550ca74a3ed73 \
-    file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
-"
-DEPENDS = "alsa-lib dbus udev"
-SRCREV = "14c11c0fe4d366bad4cfecdee97b6652ff9ed63d"
-PV = "0.2.7"
-
-SRC_URI = "git://github.com/PipeWire/pipewire"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd manpages
-
-PACKAGECONFIG ??= "\
-    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-    gstreamer \
-"
-
-PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
-PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
-
-PACKAGES =+ "\
-    ${PN}-spa-plugins \
-    ${PN}-alsa \
-    ${PN}-config \
-    gstreamer1.0-${PN} \
-    lib${PN} \
-    lib${PN}-modules \
-"
-
-RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
-
-FILES_${PN} = "\
-    ${sysconfdir}/pipewire/pipewire.conf \
-    ${bindir}/pipewire* \
-    ${systemd_user_unitdir}/* \
-"
-FILES_lib${PN} = "\
-    ${libdir}/libpipewire-*.so.* \
-"
-FILES_lib${PN}-modules = "\
-    ${libdir}/pipewire-*/* \
-"
-FILES_${PN}-spa-plugins = "\
-    ${bindir}/spa-* \
-    ${libdir}/spa/* \
-"
-FILES_${PN}-alsa = "\
-    ${libdir}/alsa-lib/* \
-    ${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
-"
-FILES_gstreamer1.0-${PN} = "\
-    ${libdir}/gstreamer-1.0/* \
-"
-
-CONFFILES_${PN} = "\
-    ${sysconfdir}/pipewire/pipewire.conf \
-"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb b/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb
deleted file mode 100644
index 173b695..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/pipewire/pipewire_git.bb
+++ /dev/null
@@ -1,77 +0,0 @@
-SUMMARY = "Multimedia processing server for Linux"
-AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
-HOMEPAGE = "https://pipewire.org"
-SECTION = "multimedia"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = " \
-    file://LICENSE;md5=e2c0b7d86d04e716a3c4c9ab34260e69 \
-    file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
-"
-DEPENDS = "alsa-lib dbus udev"
-SRCREV = "74a1632f0720886d5b3b6c23ee8fcd6c03ca7aac"
-PV = "0.3.1"
-
-SRC_URI = "git://github.com/PipeWire/pipewire"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd manpages
-
-PACKAGECONFIG ??= "\
-    ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio systemd vulkan', d)} \
-    jack gstreamer \
-"
-
-PACKAGECONFIG[bluez] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc"
-PACKAGECONFIG[jack] = "-Djack=true,-Djack=false,jack"
-PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
-PACKAGECONFIG[pulseaudio] = "-Dpipewire-pulseaudio=true,-Dpipewire-pulseaudio=false,pulseaudio"
-PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
-PACKAGECONFIG[vulkan] = "-Dvulkan=true,-Dvulkan=false,vulkan-loader"
-
-LDFLAGS_append_mipsarch = " -latomic"
-LDFLAGS_append_x86 = " -latomic"
-LDFLAGS_append_riscv32 = " -latomic"
-
-PACKAGES =+ "\
-    ${PN}-spa-plugins \
-    ${PN}-alsa \
-    ${PN}-config \
-    gstreamer1.0-${PN} \
-    lib${PN} \
-    lib${PN}-modules \
-    lib${PN}-jack \
-"
-
-RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
-
-FILES_${PN} = "\
-    ${sysconfdir}/pipewire/pipewire.conf \
-    ${bindir}/pw-* \
-    ${bindir}/pipewire* \
-    ${systemd_user_unitdir}/* \
-"
-FILES_lib${PN} = "\
-    ${libdir}/libpipewire-*.so.* \
-    ${libdir}/libjack-*.so.* \
-    ${libdir}/libpulse-*.so.* \
-"
-FILES_lib${PN}-modules = "\
-    ${libdir}/pipewire-*/* \
-"
-FILES_${PN}-spa-plugins = "\
-    ${bindir}/spa-* \
-    ${libdir}/spa-*/* \
-"
-FILES_${PN}-alsa = "\
-    ${libdir}/alsa-lib/* \
-"
-FILES_gstreamer1.0-${PN} = "\
-    ${libdir}/gstreamer-1.0/* \
-"
-
-CONFFILES_${PN} = "\
-    ${sysconfdir}/pipewire/pipewire.conf \
-"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
index 8033fca..a849d46 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
+++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
@@ -14,7 +14,7 @@
 index 0188fe2..dac07f3 100644
 --- a/contrib/test/Makefile.am
 +++ b/contrib/test/Makefile.am
-@@ -40,7 +40,7 @@ sdlcam_CFLAGS = -I../.. $(SDL2_CFLAGS)
+@@ -42,7 +42,7 @@ sdlcam_CFLAGS = -I../.. $(SDL2_CFLAGS)
  sdlcam_LDADD = ../../lib/libv4l2/libv4l2.la  ../../lib/libv4lconvert/libv4lconvert.la
  
  mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS)
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch
deleted file mode 100644
index 57948ad..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0005-Define-error_t-and-include-sys-types.h.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 137ce23ae677b11e5483ef810751edae7bf96bb9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Nov 2019 18:40:06 -0800
-Subject: [PATCH] Define error_t and include sys/types.h
-
-Fix 'unknown type name' for error_t and u_int32_t.
-u_int32_t is defined in sys/type.h
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- utils/ir-ctl/keymap.h   | 4 ++++
- utils/keytable/keymap.h | 5 +++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/utils/ir-ctl/keymap.h b/utils/ir-ctl/keymap.h
-index f2b2963..1f8a3f8 100644
---- a/utils/ir-ctl/keymap.h
-+++ b/utils/ir-ctl/keymap.h
-@@ -2,6 +2,10 @@
- #ifndef __KEYMAP_H
- #define __KEYMAP_H
- 
-+#include <sys/types.h>
-+#ifndef error_t
-+typedef int error_t;
-+#endif
- struct keymap {
- 	struct keymap *next;
- 	char *name;
-diff --git a/utils/keytable/keymap.h b/utils/keytable/keymap.h
-index f2b2963..345d55d 100644
---- a/utils/keytable/keymap.h
-+++ b/utils/keytable/keymap.h
-@@ -2,6 +2,11 @@
- #ifndef __KEYMAP_H
- #define __KEYMAP_H
- 
-+#include <sys/types.h>
-+#ifndef error_t
-+typedef int error_t;
-+#endif
-+
- struct keymap {
- 	struct keymap *next;
- 	char *name;
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch
deleted file mode 100644
index a892676..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b213da2d5fcc93cd24fc880c71c717d8e2ce2968 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Nov 2019 18:43:21 -0800
-Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
-
-time element is deprecated on new input_event structure in kernel's
-input.h [1]
-
-[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- utils/keytable/keytable.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
-index 6cb0217..59ff1ee 100644
---- a/utils/keytable/keytable.c
-+++ b/utils/keytable/keytable.c
-@@ -53,6 +53,11 @@
- 
- # define N_(string) string
- 
-+#ifndef input_event_sec
-+#define input_event_sec time.tv_sec
-+#define input_event_usec time.tv_usec
-+#endif
-+
- struct input_keymap_entry_v2 {
- #define KEYMAP_BY_INDEX	(1 << 0)
- 	u_int8_t  flags;
-@@ -1533,7 +1538,7 @@ static void test_event(struct rc_device *rc_dev, int fd)
- 
- 		for (i = 0; i < rd / sizeof(struct input_event); i++) {
- 			printf(_("%ld.%06ld: event type %s(0x%02x)"),
--				ev[i].time.tv_sec, ev[i].time.tv_usec,
-+				ev[i].input_event_sec, ev[i].input_event_usec,
- 				get_event_name(events_type, ev[i].type), ev[i].type);
- 
- 			switch (ev[i].type) {
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
index ac704c7..e3ce45d 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
+++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
@@ -20,7 +20,7 @@
 index 651917e..cea57b7 100644
 --- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
 +++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-@@ -782,15 +782,17 @@ static bool parse_subset(char *optarg)
+@@ -785,15 +785,17 @@ static bool parse_subset(char *optarg)
  
  static bool parse_next_subopt(char **subs, char **value)
  {
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb
index 193335d..3e92d49 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.18.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb
@@ -20,14 +20,14 @@
            file://mediactl-pkgconfig.patch \
            file://export-mediactl-headers.patch \
            file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \
-           file://0005-Define-error_t-and-include-sys-types.h.patch \
-           file://0006-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
            file://0007-Do-not-use-getsubopt.patch \
            "
-SRC_URI[md5sum] = "ff2dd75970683be9a301ed949b3372b3"
-SRC_URI[sha256sum] = "25fc42253722401f8742f04dc50a444dfa9b75378e7d09b55035bcbb44c5f342"
+SRC_URI[md5sum] = "46f9e2c0b2fdccd009da2f7e1aa87894"
+SRC_URI[sha256sum] = "956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7"
 
-EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev"
+EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev \
+                --disable-v4l2-compliance-32 --disable-v4l2-ctl-32 \
+                --with-systemdsystemunitdir=${systemd_system_unitdir}"
 
 VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
 
@@ -37,7 +37,8 @@
 
 FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
 
-FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
+FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules \
+                     ${systemd_system_unitdir}/systemd-udevd.service.d/50-rc_keymap.conf"
 RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
 
 FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.4.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.4.bb
rename to meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb
index ce11bc0..4f21575 100644
--- a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb
@@ -7,8 +7,8 @@
 SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz"
 
 LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3"
-SRC_URI[md5sum] = "b4c6a66c45bb946944c2fe14ef02d0e0"
-SRC_URI[sha256sum] = "b191dc4af4ea4630cdc404a4ee95a0f21c12f56ecc4ae045f04425464d7c696e"
+SRC_URI[md5sum] = "c8f4430823603ee3b430b3250015ede5"
+SRC_URI[sha256sum] = "43ef260f4e70672660e1882856d59b9319301c6f170673ab465430a71cffe44c"
 
 inherit autotools-brokensep gettext
 
diff --git a/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb b/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb
new file mode 100644
index 0000000..aa91ab3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "PKCS#11 HSM/Token Emulator"
+HOMEPAGE = "https://www.opendnssec.org/softhsm/"
+LICENSE = "BSD-2-Clause & ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ef3f77a3507c3d91e75b9f2bdaee4210"
+
+DEPENDS = "sqlite3"
+
+SRC_URI = "https://dist.opendnssec.org/source/softhsm-2.6.1.tar.gz"
+SRC_URI[sha256sum] = "61249473054bcd1811519ef9a989a880a7bdcc36d317c9c25457fc614df475f2"
+
+inherit autotools pkgconfig siteinfo
+
+EXTRA_OECONF += " --with-sqlite3=${STAGING_DIR_HOST}/usr"
+EXTRA_OECONF += "${@oe.utils.conditional('SITEINFO_BITS', '64', ' --enable-64bit', '', d)}"
+
+PACKAGECONFIG ?= "ecc eddsa pk11 openssl"
+
+PACKAGECONFIG[npm] = ",--disable-non-paged-memory"
+PACKAGECONFIG[ecc] = "--enable-ecc,--disable-ecc"
+PACKAGECONFIG[gost] = "--enable-gost,--disable-gost"
+PACKAGECONFIG[eddsa] = "--enable-eddsa, --disable-eddsa"
+PACKAGECONFIG[fips] = "--enable-fips, --disable-fips"
+PACKAGECONFIG[notvisable] = "--disable-visibility"
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}/usr --with-crypto-backend=openssl, --without-openssl, openssl, openssl"
+PACKAGECONFIG[botan] = "--with-botan=${STAGING_DIR_HOST}/usr --with-crypto-backend=botan, --without-botan, botan"
+PACKAGECONFIG[migrate] = "--with-migrate"
+PACKAGECONFIG[pk11] = "--enable-p11-kit --with-p11-kit==${STAGING_DIR_HOST}/usr, --without-p11-kit, p11-kit, p11-kit"
+
+RDEPENDS_${PN} = "sqlite3"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb b/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb
deleted file mode 100644
index 3236cb9..0000000
--- a/meta-openembedded/meta-oe/recipes-security/softhsm/softhsm_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "PKCS#11 HSM/Token Emulator"
-HOMEPAGE = "https://www.opendnssec.org/softhsm/"
-LICENSE = "BSD-2-Clause & ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ef3f77a3507c3d91e75b9f2bdaee4210"
-DEPENDS = "openssl"
-PV = "2.5.0"
-
-SRC_URI = "git://github.com/opendnssec/SoftHSMv2.git;branch=master"
-SRCREV = "369df0383d101bc8952692c2a368ac8bc887d1b4"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-# EdDSA requires OpenSSL >= 1.1.1
-EXTRA_OECONF = "--enable-eddsa --disable-gost"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca/configure-hack.patch b/meta-openembedded/meta-oe/recipes-support/enca/enca/configure-hack.patch
deleted file mode 100644
index 85abcdc..0000000
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca/configure-hack.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- enca-1.9/configure.ac.orig	2006-02-15 00:57:39.000000000 -0800
-+++ enca-1.9/configure.ac	2006-02-15 00:57:46.000000000 -0800
-@@ -92,9 +92,6 @@
- dnl And for gtk-doc
- gtk_CHECK_GTK_DOC
- 
--dnl Check for good random number sources
--AC_CHECK_FILES(/dev/random /dev/urandom /dev/srandom /dev/arandom)
--
- dnl Dirty path hack.  Helps some people with badly set up search paths.
- if test "$prefix" = "NONE"; then
-   LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch b/meta-openembedded/meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch
deleted file mode 100644
index 6f6f3e3..0000000
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- enca-1.9/configure.ac.orig	2006-06-29 15:30:44.000000000 +0100
-+++ enca-1.9/configure.ac	2006-06-29 15:31:41.000000000 +0100
-@@ -92,14 +92,15 @@
- dnl And for gtk-doc
- gtk_CHECK_GTK_DOC
- 
--dnl Dirty path hack.  Helps some people with badly set up search paths.
--if test "$prefix" = "NONE"; then
--  LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
--  CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include"
--else
--  LDFLAGS="$LDFLAGS -L$prefix/lib"
--  CPPFLAGS="$CPPFLAGS -I$prefix/include"
--fi
-+# This is really dumb code
-+#dnl Dirty path hack.  Helps some people with badly set up search paths.
-+#if test "$prefix" = "NONE"; then
-+#  LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
-+#  CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include"
-+#else
-+#  LDFLAGS="$LDFLAGS -L$prefix/lib"
-+#  CPPFLAGS="$CPPFLAGS -I$prefix/include"
-+#fi
- 
- dnl Checks for libraries.
- ye_CHECK_LIBM
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch b/meta-openembedded/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
index dbf0fb8..baf5547 100644
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
+++ b/meta-openembedded/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
@@ -17,12 +17,12 @@
 +++ b/m4/libiconv.m4
 @@ -17,7 +17,7 @@ AC_REQUIRE([AC_C_CONST])dnl
  dnl
- 
+
  dnl Use standard iconv test
 -AM_ICONV
 +m4_pattern_allow([AM_ICONV])
- CONVERTOR_LIBS="$CONVERTOR_LIBS $LIBICONV"
- 
+ CONVERTER_LIBS="$CONVERTER_LIBS $LIBICONV"
+
  dnl Compile iconvcap.c and run it to determine what encodings iconv actually
 -- 
 1.9.3
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch b/meta-openembedded/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch
index accfbcc..48497d6 100644
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch
+++ b/meta-openembedded/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch
@@ -1,7 +1,6 @@
---- enca-1.9/Makefile.am.orig	2006-06-29 15:34:55.000000000 +0100
-+++ enca-1.9/Makefile.am	2006-06-29 15:35:20.000000000 +0100
-@@ -1,8 +1,8 @@
- # @(#) $Id: Makefile.am,v 1.35 2005/11/24 10:21:32 yeti Exp $
+--- enca-1.19/Makefile.am.orig	2006-06-29 15:34:55.000000000 +0100
++++ enca-1.19/Makefile.am	2006-06-29 15:35:20.000000000 +0100
+@@ -1,7 +1,7 @@
  if MAINTAINER_MODE
 -SUBDIRS = tools data script lib src devel-docs test
 +SUBDIRS = data script lib src devel-docs test
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb
rename to meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb
index b0ba3ae..0adf0a2 100644
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb
@@ -8,13 +8,11 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4"
 
 SRC_URI = "https://dl.cihar.com/enca/enca-${PV}.tar.gz \
-    file://configure-hack.patch \
     file://dont-run-tests.patch \
-    file://configure-remove-dumbness.patch \
     file://makefile-remove-tools.patch \
     file://libenca-003-iconv.patch "
 
-SRC_URI[sha256sum] = "75a38ed23bac37cc12166cc5edc8335c3af862adc202f84823d3aef3e2208e47"
+SRC_URI[sha256sum] = "4c305cc59f3e57f2cfc150a6ac511690f43633595760e1cb266bf23362d72f8a"
 
 inherit autotools
 
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb
rename to meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb
index d446a31..8890f6c 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb
@@ -13,7 +13,7 @@
 PE = "1"
 PKGV = "${GITPKGVTAG}"
 
-SRCREV = "d2ba84a6885f57674098fe8e76c5f99d880e580d"
+SRCREV = "14c7f7aed7dd4e2454ee0cd81028b9f790885021"
 SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0 \
     file://winpr-makecert-Build-with-install-RPATH.patch \
 "
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch
rename to meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
index 15cf67f..577007a 100644
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog/0002-Find-Libunwind-during-configure.patch
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
@@ -1,6 +1,5 @@
-diff -uNr a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake
---- a/cmake/FindLibunwind.cmake	1970-01-01 01:00:00.000000000 +0100
-+++ b/cmake/FindLibunwind.cmake	2018-11-20 15:53:48.799078114 +0100
+--- /dev/null
++++ b/cmake/FindLibunwind.cmake
 @@ -0,0 +1,54 @@
 +# - Try to find libunwind
 +# Once done this will define
@@ -56,10 +55,9 @@
 +else()
 +    message("Can't find libunwind library")
 +endif()
-diff -uNr a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt	2018-11-20 15:49:07.576278417 +0100
-+++ b/CMakeLists.txt	2018-11-20 15:49:32.106819928 +0100
-@@ -58,7 +58,6 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -64,7 +64,6 @@ check_include_file (dlfcn.h HAVE_DLFCN_H
  check_include_file (execinfo.h HAVE_EXECINFO_H)
  check_include_file (glob.h HAVE_GLOB_H)
  check_include_file (inttypes.h HAVE_INTTYPES_H)
@@ -67,27 +65,28 @@
  check_include_file (memory.h HAVE_MEMORY_H)
  check_include_file (pwd.h HAVE_PWD_H)
  check_include_file (stdint.h HAVE_STDINT_H)
-@@ -74,7 +73,6 @@
+@@ -80,7 +79,6 @@ check_include_file (syscall.h HAVE_SYSCA
  check_include_file (syslog.h HAVE_SYSLOG_H)
  check_include_file (ucontext.h HAVE_UCONTEXT_H)
  check_include_file (unistd.h HAVE_UNISTD_H)
 -check_include_file (unwind.h HAVE_UNWIND_H)
+ check_include_file (pwd.h HAVE_PWD_H)
  
  check_include_file_cxx ("ext/hash_map" HAVE_EXT_HASH_MAP)
- check_include_file_cxx ("ext/hash_set" HAVE_EXT_HASH_SET)
-@@ -109,10 +107,7 @@
+@@ -116,11 +114,9 @@ check_cxx_compiler_flag (-Wunnamed-type-
  # snprintf as an inline function
  check_symbol_exists (snprintf stdio.h HAVE_SNPRINTF)
  
 -check_library_exists (unwind get_static_proc_name "" HAVE_LIB_UNWIND)
--
+ check_library_exists (dbghelp UnDecorateSymbolName "" HAVE_DBGHELP)
+ 
 -find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library")
 -mark_as_advanced (UNWIND_LIBRARY)
 +find_package(Libunwind)
  
  check_c_source_compiles ("
  #include <stdlib.h>
-@@ -376,9 +371,9 @@
+@@ -471,9 +467,9 @@ add_library(glog::glog ALIAS glog)
  
  set_target_properties (glog PROPERTIES POSITION_INDEPENDENT_CODE ON)
  
@@ -98,20 +97,19 @@
 +  target_link_libraries (glog PUBLIC unwind)
 +endif (Libunwind_FOUND)
  
- if (HAVE_PTHREAD)
-   target_link_libraries (glog PUBLIC ${CMAKE_THREAD_LIBS_INIT})
-@@ -571,6 +566,7 @@
+ if (HAVE_DBGHELP)
+    target_link_libraries (glog PUBLIC dbghelp)
+@@ -678,6 +674,7 @@ export (PACKAGE glog)
  install (FILES
    ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake
    ${CMAKE_CURRENT_BINARY_DIR}/glog-config-version.cmake
 +  ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindLibunwind.cmake
-   DESTINATION lib/cmake/glog)
+   DESTINATION ${_glog_CMake_INSTALLDIR})
  
- install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog)
-diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in
---- a/glog-config.cmake.in	2018-11-20 15:49:07.576278417 +0100
-+++ b/glog-config.cmake.in	2018-11-20 15:52:32.330418489 +0100
-@@ -4,4 +4,6 @@
+ install (EXPORT glog-targets NAMESPACE glog:: DESTINATION
+--- a/glog-config.cmake.in
++++ b/glog-config.cmake.in
+@@ -8,4 +8,6 @@ include (CMakeFindDependencyMacro)
  
  @gflags_DEPENDENCY@
  
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Rework-CMake-glog-VERSION-management.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Rework-CMake-glog-VERSION-management.patch
deleted file mode 100644
index f41a6c9..0000000
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Rework-CMake-glog-VERSION-management.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 4ea11e0d7c0575316a6ccc07a931164ca29c3d2f Mon Sep 17 00:00:00 2001
-From: Corentin Le Molgat <corentinl@google.com>
-Date: Mon, 29 Jan 2018 14:59:08 +0100
-Subject: [PATCH] Rework CMake glog VERSION management.
-
-- Use of Project version properties instead of custom variables
-- fix missmatch between VERSION (build version) and SOVERSION (API version)
-src: https://cmake.org/cmake/help/latest/prop_tgt/VERSION.html#prop_tgt:VERSION
-
-Upstream-Status: Backport [https://github.com/google/glog/commit/6b6e38a7d53fe01f42ce34384cf4ba4c50e8cb65]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- CMakeLists.txt | 23 ++++++++---------------
- 1 file changed, 8 insertions(+), 15 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7415eab..fb4e408 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -8,23 +8,16 @@ if (POLICY CMP0063)
-   cmake_policy (SET CMP0063 NEW)
- endif (POLICY CMP0063)
- 
--project (google-glog)
-+project(glog VERSION 0.3.5 LANGUAGES C CXX)
- 
- enable_testing ()
- 
--set (GLOG_MAJOR_VERSION 0)
--set (GLOG_MINOR_VERSION 3)
--set (GLOG_PATCH_VERSION 5)
--
--set (GLOG_VERSION
--  ${GLOG_MAJOR_VERSION}.${GLOG_MINOR_VERSION}.${GLOG_PATCH_VERSION})
--
- set (CPACK_PACKAGE_NAME glog)
- set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "")
--set (CPACK_PACKAGE_VERSION_MAJOR ${GLOG_MAJOR_VERSION})
--set (CPACK_PACKAGE_VERSION_MINOR ${GLOG_MINOR_VERSION})
--set (CPACK_PACKAGE_VERSION_PATCH ${GLOG_PATCH_VERSION})
--set (CPACK_PACKAGE_VERSION ${GLOG_VERSION})
-+set (CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
-+set (CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
-+set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
-+set (CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
- 
- option (WITH_GFLAGS "Use gflags" ON)
- option (WITH_THREADS "Enable multithreading support" ON)
-@@ -406,8 +399,8 @@ if (gflags_FOUND)
-   endif (NOT BUILD_SHARED_LIBS)
- endif (gflags_FOUND)
- 
--set_target_properties (glog PROPERTIES VERSION ${GLOG_MAJOR_VERSION})
--set_target_properties (glog PROPERTIES SOVERSION ${GLOG_VERSION})
-+set_target_properties (glog PROPERTIES VERSION ${PROJECT_VERSION})
-+set_target_properties (glog PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR})
- 
- if (WIN32)
-   target_compile_definitions (glog PUBLIC GLOG_NO_ABBREVIATED_SEVERITIES)
-@@ -570,7 +563,7 @@ configure_package_config_file (glog-config.cmake.in
-   NO_CHECK_REQUIRED_COMPONENTS_MACRO)
- 
- write_basic_package_version_file (glog-config-version.cmake VERSION
--  ${GLOG_VERSION} COMPATIBILITY SameMajorVersion)
-+  ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
- 
- export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake)
- export (PACKAGE glog)
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/0003-installation-path-fix.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/0003-installation-path-fix.patch
deleted file mode 100644
index 641f70c..0000000
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog/0003-installation-path-fix.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -uNr a/CMakeLists.txt b/CMakeLists.txt
---- a/CMakeLists.txt	2018-12-05 12:55:59.630792054 +0100
-+++ b/CMakeLists.txt	2018-12-05 13:00:22.922269200 +0100
-@@ -403,10 +403,15 @@
- 
- set_target_properties (glog PROPERTIES PUBLIC_HEADER "${GLOG_PUBLIC_H}")
- 
-+set (_glog_CMake_BINDIR ${CMAKE_INSTALL_BINDIR})
-+set (_glog_CMake_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
-+set (_glog_CMake_LIBDIR ${CMAKE_INSTALL_LIBDIR})
-+set (_glog_CMake_INSTALLDIR ${_glog_CMake_LIBDIR}/cmake/glog)
-+
- target_include_directories (glog BEFORE PUBLIC
-   "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
-   "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>"
--  "$<INSTALL_INTERFACE:include>"
-+  "$<INSTALL_INTERFACE:${_glog_CMake_INCLUDE_DIR}>"
-   PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
-   PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
- 
-@@ -543,10 +548,10 @@
- 
- install (TARGETS glog
-   EXPORT glog-targets
--  RUNTIME DESTINATION bin
--  PUBLIC_HEADER DESTINATION include/glog
--  LIBRARY DESTINATION lib
--  ARCHIVE DESTINATION lib)
-+  RUNTIME DESTINATION ${_glog_CMake_BINDIR}
-+  PUBLIC_HEADER DESTINATION ${_glog_CMake_INCLUDE_DIR}/glog
-+  LIBRARY DESTINATION ${_glog_CMake_LIBDIR}
-+  ARCHIVE DESTINATION ${_glog_CMake_LIBDIR})
- 
- if (gflags_FOUND)
-   set (gflags_DEPENDENCY "find_dependency (gflags ${gflags_VERSION})")
-@@ -554,7 +559,7 @@
- 
- configure_package_config_file (glog-config.cmake.in
-   ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake
--  INSTALL_DESTINATION lib/cmake/glog
-+  INSTALL_DESTINATION ${_glog_CMake_INSTALLDIR}
-   NO_CHECK_REQUIRED_COMPONENTS_MACRO)
- 
- write_basic_package_version_file (glog-config-version.cmake VERSION
-@@ -567,6 +572,7 @@
-   ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake
-   ${CMAKE_CURRENT_BINARY_DIR}/glog-config-version.cmake
-   ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindLibunwind.cmake
--  DESTINATION lib/cmake/glog)
-+  DESTINATION ${_glog_CMake_INSTALLDIR})
- 
--install (EXPORT glog-targets NAMESPACE glog:: DESTINATION lib/cmake/glog)
-+install (EXPORT glog-targets NAMESPACE glog:: DESTINATION
-+  ${_glog_CMake_INSTALLDIR})
-diff -uNr a/glog-config.cmake.in b/glog-config.cmake.in
---- a/glog-config.cmake.in	2018-12-05 12:55:59.630792054 +0100
-+++ b/glog-config.cmake.in	2018-12-05 13:05:19.547196843 +0100
-@@ -4,6 +4,7 @@
- 
- @gflags_DEPENDENCY@
- 
-+list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
- find_dependency (Libunwind)
- 
- include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake")
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb
rename to meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb
index 56bf515..8dc84e4 100644
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb
@@ -8,12 +8,10 @@
 
 SRC_URI = " \
     git://github.com/google/glog.git;nobranch=1 \
-    file://0001-Rework-CMake-glog-VERSION-management.patch \
-    file://0002-Find-Libunwind-during-configure.patch \
-    file://0003-installation-path-fix.patch \
+    file://0001-Find-Libunwind-during-configure.patch \
 "
 
-SRCREV = "a6a166db069520dbbd653c97c2e5b12e08a8bb26"
+SRCREV = "96a2f23dca4cc7180821ca5f32e526314395d26a"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index 59c6093..56d814d 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-PV = "0.343"
-SRCREV = "cce4969f24c213ae3ab45ee90a485b342ab74014"
+PV = "0.345"
+SRCREV = "5d7d97bae533401f60ce9a5a036ff7152c8aca8c"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch b/meta-openembedded/meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch
new file mode 100644
index 0000000..fb7b85c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch
@@ -0,0 +1,24 @@
+include: install header files without prefix dir inih
+
+The other flavor of inih which adapted by Fedora and Ubuntu installs
+header files to /usr/include directly. And xfsprogs 5.10.0 also checks
+ini.h without extra search path and fails. So install header files
+without prefix dir inih.
+
+Upstream-Status: Submitted [https://github.com/OSSystems/inih/pull/4]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ include/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
+index 7a46ee7..4a9033f 100644
+--- a/include/CMakeLists.txt
++++ b/include/CMakeLists.txt
+@@ -1 +1 @@
+-install(FILES ini.h INIReader.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/inih)
++install(FILES ini.h INIReader.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb b/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb
index 227e2a7..5beb292 100644
--- a/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/inih/libinih_git.bb
@@ -10,7 +10,8 @@
 # The github repository provides a cmake and pkg-config integration
 SRCREV = "c858aff8c31fa63ef4d1e0176c10e5928cde9a23"
 SRC_URI = "git://github.com/OSSystems/inih.git \
-          "
+           file://0001-include-install-header-files-without-prefix-dir-inih.patch \
+           "
 
 UPSTREAM_CHECK_COMMITS = "1"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb
deleted file mode 100644
index 4f10f35..0000000
--- a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.11.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9391499b030def18e7bb25bab4bee052"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
-SRC_URI[md5sum] = "598dae499e58f877ff6788254320f43e"
-SRC_URI[sha256sum] = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e"
-
-DEPENDS = "tiff"
-
-BBCLASSEXTEND = "native"
-
-S = "${WORKDIR}/lcms2-${PV}"
-
-inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.12.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.12.bb
new file mode 100644
index 0000000..f07b881
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.12.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac638b4bc6b67582a11379cfbaeb93dd"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
+SRC_URI[md5sum] = "8cb583c8447461896320b43ea9a688e0"
+SRC_URI[sha256sum] = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5"
+
+DEPENDS = "tiff"
+
+BBCLASSEXTEND = "native"
+
+S = "${WORKDIR}/lcms2-${PV}"
+
+inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
index 6fc5881..dc50509 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
@@ -3,18 +3,29 @@
 
 SECTION = "libs"
 
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23"
+LICENSE = "BSD-3-Clause & MIT & BSL-1.0"
+LIC_FILES_CHKSUM = "\
+    file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23 \
+    file://include/cereal/external/rapidxml/license.txt;md5=d63ab70ba21ca0544b03284958324301 \
+    file://include/cereal/external/LICENSE;md5=b07578c9df99c0b8b45eb041efd4a645 \
+    file://include/cereal/external/rapidjson/LICENSE;md5=e7abb663111d4ac17cf00323698aff08 \
+    file://include/cereal/external/rapidjson/msinttypes/LICENSE;md5=dffce65b98c773976de2e338bd130f46 \
+"
 
-SRCREV = "02eace19a99ce3cd564ca4e379753d69af08c2c8"
+PROVIDES += "${PN}-dev"
+
+PV .= "+git${SRCPV}"
+SRCREV = "64f50dbd5cecdaba785217e2b0aeea3a4f1cdfab"
 SRC_URI = "git://github.com/USCiLab/cereal.git"
 
 S = "${WORKDIR}/git"
 
-inherit cmake
+inherit cmake pkgconfig
 
 EXTRA_OECMAKE = "-DJUST_INSTALL_CEREAL=ON"
 
 ALLOW_EMPTY_${PN} = "1"
 
+RDEPENDS_${PN}-dev = ""
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.1.0.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.1.0.bb
deleted file mode 100644
index 2bbf59e..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_1.1.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "the Git linkable library"
-HOMEPAGE = "http://libgit2.github.com/"
-LICENSE = "GPL-2.0-with-GCC-exception & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5b002a195fb7ea2d8d583f07eaff3a8e"
-
-DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
-
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.1"
-SRCREV = "7f4fa178629d559c037a1f72f79f79af9c1ef8ce"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "\
-    -DBUILD_CLAR=OFF \
-    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-    -DLIB_INSTALL_DIR=${libdir} \
-    -DREGEX_BACKEND='pcre2' \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
index e6b6476..c6c262b 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
@@ -31,7 +31,8 @@
 FILES_libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
 
 PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.so"
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
 RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
 RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch b/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch
deleted file mode 100644
index 5ff9bf8..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From f9e3e2ee7b18ba5bb8efe083171f3e701eb0a663 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Mon, 28 Dec 2020 02:08:03 +0000
-Subject: [PATCH] Don't let host enviroment to decide if a test is build
-
-test ssh2.sh need sshd, for cross compile, we need it on target, so
-don't use SSHD on host to decide weither to build a test
-
-Upstream-Status: Inappropriate[oe specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- tests/Makefile.am | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index dc0922f..6cbc35d 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1,16 +1,12 @@
- AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include -I$(top_builddir)/src
- LDADD = ../src/libssh2.la
- 
--if SSHD
- noinst_PROGRAMS = ssh2
- ssh2_SOURCES = ssh2.c
--endif
- 
- ctests = simple$(EXEEXT)
- TESTS = $(ctests) mansyntax.sh
--if SSHD
- TESTS += ssh2.sh
--endif
- check_PROGRAMS = $(ctests)
- 
- TESTS_ENVIRONMENT = SSHD=$(SSHD) EXEEXT=$(EXEEXT)
-@@ -38,4 +34,4 @@ if OPENSSL
- # EXTRA_DIST += test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c
- # EXTRA_DIST += test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c
- EXTRA_DIST += test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c
--endif
-\ No newline at end of file
-+endif
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch b/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch
deleted file mode 100644
index 1128c7e..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From efe7101786193eaddb749c0583af6b54aec6f289 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Feb 2021 18:45:16 -0800
-Subject: [PATCH] configure: Conditionally undefine backend m4 macro
-
-Unlike the M4 builtin, this macro fails if macro is not defined
-therefore recover the behavior of the builtin.
-
-Upstream-Status: Pending
-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 fe5054a..758f8c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -127,7 +127,7 @@ fi
- m4_set_foreach([crypto_backends], [backend],
-   [AM_CONDITIONAL(m4_toupper(backend), test "$found_crypto" = "backend")]
- )
--m4_undefine([backend])
-+m4_ifdef([backend], [m4_undefine([backend])])
- 
- 
- # libz
--- 
-2.30.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch b/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch
deleted file mode 100644
index 0010800..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libssh2/files/CVE-2019-17498.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From dedcbd106f8e52d5586b0205bc7677e4c9868f9c Mon Sep 17 00:00:00 2001
-From: Will Cosgrove <will@panic.com>
-Date: Fri, 30 Aug 2019 09:57:38 -0700
-Subject: [PATCH] packet.c: improve message parsing (#402)
-
-* packet.c: improve parsing of packets
-
-file: packet.c
-
-notes:
-Use _libssh2_get_string API in SSH_MSG_DEBUG/SSH_MSG_DISCONNECT. Additional uint32 bounds check in SSH_MSG_GLOBAL_REQUEST.
-
-Upstream-Status: Backport
-CVE: CVE-2019-17498
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- src/packet.c | 68 ++++++++++++++++++++++------------------------------
- 1 file changed, 29 insertions(+), 39 deletions(-)
-
-diff --git a/src/packet.c b/src/packet.c
-index 38ab629..2e01bfc 100644
---- a/src/packet.c
-+++ b/src/packet.c
-@@ -419,8 +419,8 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
-                     size_t datalen, int macstate)
- {
-     int rc = 0;
--    char *message = NULL;
--    char *language = NULL;
-+    unsigned char *message = NULL;
-+    unsigned char *language = NULL;
-     size_t message_len = 0;
-     size_t language_len = 0;
-     LIBSSH2_CHANNEL *channelp = NULL;
-@@ -472,33 +472,23 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
- 
-         case SSH_MSG_DISCONNECT:
-             if(datalen >= 5) {
--                size_t reason = _libssh2_ntohu32(data + 1);
-+                uint32_t reason = 0;
-+                struct string_buf buf;
-+                buf.data = (unsigned char *)data;
-+                buf.dataptr = buf.data;
-+                buf.len = datalen;
-+                buf.dataptr++; /* advance past type */
- 
--                if(datalen >= 9) {
--                    message_len = _libssh2_ntohu32(data + 5);
-+                _libssh2_get_u32(&buf, &reason);
-+                _libssh2_get_string(&buf, &message, &message_len);
-+                _libssh2_get_string(&buf, &language, &language_len);
- 
--                    if(message_len < datalen-13) {
--                        /* 9 = packet_type(1) + reason(4) + message_len(4) */
--                        message = (char *) data + 9;
--
--                        language_len =
--                            _libssh2_ntohu32(data + 9 + message_len);
--                        language = (char *) data + 9 + message_len + 4;
--
--                        if(language_len > (datalen-13-message_len)) {
--                            /* bad input, clear info */
--                            language = message = NULL;
--                            language_len = message_len = 0;
--                        }
--                    }
--                    else
--                        /* bad size, clear it */
--                        message_len = 0;
--                }
-                 if(session->ssh_msg_disconnect) {
--                    LIBSSH2_DISCONNECT(session, reason, message,
--                                       message_len, language, language_len);
-+                    LIBSSH2_DISCONNECT(session, reason, (const char *)message,
-+                                       message_len, (const char *)language,
-+                                       language_len);
-                 }
-+
-                 _libssh2_debug(session, LIBSSH2_TRACE_TRANS,
-                                "Disconnect(%d): %s(%s)", reason,
-                                message, language);
-@@ -539,24 +529,24 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
-                 int always_display = data[1];
- 
-                 if(datalen >= 6) {
--                    message_len = _libssh2_ntohu32(data + 2);
--
--                    if(message_len <= (datalen - 10)) {
--                        /* 6 = packet_type(1) + display(1) + message_len(4) */
--                        message = (char *) data + 6;
--                        language_len = _libssh2_ntohu32(data + 6 +
--                                                        message_len);
--
--                        if(language_len <= (datalen - 10 - message_len))
--                            language = (char *) data + 10 + message_len;
--                    }
-+                    struct string_buf buf;
-+                    buf.data = (unsigned char *)data;
-+                    buf.dataptr = buf.data;
-+                    buf.len = datalen;
-+                    buf.dataptr += 2; /* advance past type & always display */
-+
-+                    _libssh2_get_string(&buf, &message, &message_len);
-+                    _libssh2_get_string(&buf, &language, &language_len);
-                 }
- 
-                 if(session->ssh_msg_debug) {
--                    LIBSSH2_DEBUG(session, always_display, message,
--                                  message_len, language, language_len);
-+                    LIBSSH2_DEBUG(session, always_display,
-+                                  (const char *)message,
-+                                  message_len, (const char *)language,
-+                                  language_len);
-                 }
-             }
-+
-             /*
-              * _libssh2_debug will actually truncate this for us so
-              * that it's not an inordinate about of data
-@@ -579,7 +569,7 @@ _libssh2_packet_add(LIBSSH2_SESSION * session, unsigned char *data,
-                 uint32_t len = 0;
-                 unsigned char want_reply = 0;
-                 len = _libssh2_ntohu32(data + 1);
--                if(datalen >= (6 + len)) {
-+                if((len <= (UINT_MAX - 6)) && (datalen >= (6 + len))) {
-                     want_reply = data[5 + len];
-                     _libssh2_debug(session,
-                                    LIBSSH2_TRACE_CONN,
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/files/run-ptest b/meta-openembedded/meta-oe/recipes-support/libssh2/files/run-ptest
deleted file mode 100644
index 5fd7ec6..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libssh2/files/run-ptest
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-ptestdir=$(dirname "$(readlink -f "$0")")
-cd tests
-for test in simple ssh2.sh mansyntax.sh
-do
-	./../test-driver --test-name $test --log-file ../$test.log --trs-file ../$test.trs --color-tests no --enable-hard-errors yes --expect-failure no -- ./$test
-done
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb b/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
deleted file mode 100644
index 0b8ccbd..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libssh2/libssh2_1.9.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "A client-side C library implementing the SSH2 protocol"
-HOMEPAGE = "http://www.libssh2.org/"
-SECTION = "libs"
-
-DEPENDS = "zlib"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c5cf34fc0acb44b082ef50ef5e4354ca"
-
-SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz \
-           file://CVE-2019-17498.patch \
-           file://0001-configure-Conditionally-undefine-backend-m4-macro.patch \
-           file://run-ptest \
-"
-
-SRC_URI_append_ptest = " file://0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch"
-
-SRC_URI[md5sum] = "1beefafe8963982adc84b408b2959927"
-SRC_URI[sha256sum] = "d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd"
-
-inherit autotools pkgconfig ptest
-
-EXTRA_OECONF += "\
-                 --with-libz \
-                 --with-libz-prefix=${STAGING_LIBDIR} \
-                "
-
-# only one of openssl and gcrypt could be set
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--with-crypto=openssl --with-libssl-prefix=${STAGING_LIBDIR}, , openssl"
-PACKAGECONFIG[gcrypt] = "--with-crypto=libgcrypt --with-libgcrypt-prefix=${STAGING_EXECPREFIXDIR}, , libgcrypt"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# required for ptest on documentation
-RDEPENDS_${PN}-ptest = "man-db openssh"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us"
-
-do_compile_ptest() {
-	sed -i "/\$(MAKE) \$(AM_MAKEFLAGS) check-TESTS/d" tests/Makefile
-	oe_runmake check
-}
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	install -m 0755 ${S}/test-driver ${D}${PTEST_PATH}/
-	cp -rf ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests/
-	cp -rf ${S}/tests/mansyntax.sh  ${D}${PTEST_PATH}/tests/
-	cp -rf ${S}/tests/ssh2.sh  ${D}${PTEST_PATH}/tests/
-	cp -rf ${S}/tests/etc ${D}${PTEST_PATH}/tests/
-	mkdir -p ${D}${PTEST_PATH}/docs
-	cp -r ${S}/docs/* ${D}${PTEST_PATH}/docs/
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch
new file mode 100644
index 0000000..19bf147
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch
@@ -0,0 +1,30 @@
+From 3ee2f1e231bde18a99f86da747a9b8feca3c179d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 17 Feb 2021 19:18:16 -0800
+Subject: [PATCH] do not build examples
+
+examples need ucontext and some architectures on musl do not have it
+implemented e.g. riscv
+
+Upstream-Status: Inappropriate [Arch-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 948e004..8b63024 100644
+--- a/Makefile
++++ b/Makefile
+@@ -11,7 +11,6 @@ default: all
+ all:
+ 	@$(MAKE) -C src
+ 	@$(MAKE) -C test
+-	@$(MAKE) -C examples
+ 
+ partcheck: all
+ 	@echo "make partcheck => TODO add tests with out kernel support"
+-- 
+2.30.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb
index e122a90..d79389a 100644
--- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb
@@ -12,6 +12,9 @@
 SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
            file://0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch \
            "
+SRC_URI_append_libc-musl_riscv64 = " file://0001-do-not-build-examples.patch "
+SRC_URI_append_libc-musl_riscv32 = " file://0001-do-not-build-examples.patch "
+
 SRCREV = "45f0735219a615ae848033c47c7e2d85d101d43e"
 S = "${WORKDIR}/git"
 
@@ -20,7 +23,9 @@
 XCFLAGS_append_libc-musl = " -lucontext"
 
 EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'"
-
+do_configure() {
+    ${S}/configure --prefix=${prefix}
+}
 do_install () {
     oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
 }
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.06.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.11.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.06.bb
rename to meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.11.bb
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index 11ee7ca..6618e21 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -18,7 +18,7 @@
            file://reproducible-build.patch \
            "
 
-SRCREV = "b9391b1b9f0b73303fa21f8f92574d17ce4c2b02"
+SRCREV = "3e8bd8d1bd70691f09a170785836aeb4f83154e6"
 S = "${WORKDIR}/git"
 
 inherit autotools-brokensep pkgconfig systemd license
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch
deleted file mode 100644
index 24d5b1b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 93c93e3b85492e58f9451841e6079d00c497efa4 Mon Sep 17 00:00:00 2001
-From: Jiping Ma <jiping.ma2@windriver.com>
-Date: Mon, 25 Feb 2019 13:29:12 +0800
-Subject: [PATCH] "/dev/hdc: open failed: No medium found" will print out in
- lvmdiskscan.
-
-commit [57bb46c5e7f8] introduce this issue.
-"/dev/hdc: open failed: No medium found" will be print out
-after run lvmdiskscan. change dev_open_readonly()
-to dev_open_readonly_quiet() in fuction _dev_get_size_dev().
-
-Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
----
- lib/device/dev-io.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/device/dev-io.c b/lib/device/dev-io.c
-index dc95131..81a66b0 100644
---- a/lib/device/dev-io.c
-+++ b/lib/device/dev-io.c
-@@ -338,7 +338,7 @@ static int _dev_get_size_dev(struct device *dev, uint64_t *size)
- 	}
- 
- 	if (fd <= 0) {
--		if (!dev_open_readonly(dev))
-+		if (!dev_open_readonly_quiet(dev))
- 			return_0;
- 		fd = dev_fd(dev);
- 		do_close = 1;
--- 
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
index 16de8c0..34e0620 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
@@ -1,6 +1,6 @@
-From 27b56cb6b5dfc75ea8ddb395dc9ef41fb7a09c93 Mon Sep 17 00:00:00 2001
+From ddf36613f3408ce42f15b03b4e9c6ad8478b97f8 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 2 Sep 2019 23:04:50 -0400
+Date: Tue, 2 Mar 2021 01:33:05 -0800
 Subject: [PATCH] fix command /bin/findmnt, /bin/lsblk, /bin/sort not found
 
 In oe-core (util-linux and coreutils), the commands locates in
@@ -15,10 +15,10 @@
  2 files changed, 7 insertions(+), 3 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index d1431e2..54e5a7b 100644
+index 4811d4a3d..137b31a82 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1495,6 +1495,8 @@ fi
+@@ -1611,6 +1611,8 @@ fi
  
  SYSCONFDIR="$(eval echo $(eval echo $sysconfdir))"
  
@@ -27,7 +27,7 @@
  SBINDIR="$(eval echo $(eval echo $sbindir))"
  LVM_PATH="$SBINDIR/lvm"
  AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.])
-@@ -1721,6 +1723,7 @@ AC_SUBST(SACKPT_CFLAGS)
+@@ -1829,6 +1831,7 @@ AC_SUBST(SACKPT_CFLAGS)
  AC_SUBST(SACKPT_LIBS)
  AC_SUBST(SALCK_CFLAGS)
  AC_SUBST(SALCK_LIBS)
@@ -36,10 +36,10 @@
  AC_SUBST(SELINUX_LIBS)
  AC_SUBST(SELINUX_PC)
 diff --git a/scripts/blkdeactivate.sh.in b/scripts/blkdeactivate.sh.in
-index a4b8a8f..3db4226 100644
+index 7c517b87b..7ef1bb766 100644
 --- a/scripts/blkdeactivate.sh.in
 +++ b/scripts/blkdeactivate.sh.in
-@@ -41,13 +41,14 @@ UMOUNT="/bin/umount"
+@@ -42,13 +42,14 @@ VDO="/bin/vdo"
  
  sbindir="@SBINDIR@"
  DMSETUP="$sbindir/dmsetup"
@@ -55,9 +55,9 @@
  	FINDMNT_READ="read -r mnt"
  fi
  DMSETUP_OPTS=""
-@@ -55,10 +56,10 @@ LVM_OPTS=""
- MDADM_OPTS=""
+@@ -57,10 +58,10 @@ MDADM_OPTS=""
  MPATHD_OPTS=""
+ VDO_OPTS=""
  
 -LSBLK="/bin/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
 +LSBLK="$bindir/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
@@ -69,5 +69,5 @@
  # Do not show tool errors by default (only done/skipping summary
  # message provided by this script) and no verbose mode by default.
 -- 
-2.8.1
+2.29.2
 
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb
rename to meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb
index bc86810..7f3f000 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.06.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb
@@ -1,7 +1,6 @@
 require lvm2.inc
 
 SRC_URI += " \
-            file://0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch \
             file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
            "
 
diff --git a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb
rename to meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb
index 537c458..69e1788 100644
--- a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.49.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb
@@ -18,8 +18,8 @@
 
 SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
 
-SRC_URI[md5sum] = "d5701a1a541383c0eda328f4a6518751"
-SRC_URI[sha256sum] = "f7381516bc1a937348efd1d0e14618e0a2afc5d59fe821dd248632d5601b59b5"
+SRC_URI[md5sum] = "3d1a14a80bb85564c323562670f1c01f"
+SRC_URI[sha256sum] = "e6f615ec2ffe705522075d960744534c443ece66acfb34fada38d567d8823639"
 
 inherit update-alternatives
 
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch
index 83c29a6..03bcc45 100644
--- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch
@@ -1,6 +1,6 @@
-From 139177715a2d66ccd3e099be5d9d4dc86db30055 Mon Sep 17 00:00:00 2001
+From 3765b3a4cabf76f55c1c126ac64780a8c117d1d9 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
-Date: Tue, 12 Jan 2021 03:05:38 +0000
+Date: Tue, 12 Jan 2021 10:30:13 +0800
 Subject: [PATCH] test: avoid the pfa test hang
 
 Per [1], the pfa test needs to install page-types and the pfa test
@@ -18,13 +18,13 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/tests/test b/tests/test
-index 9623f4a..7c552a9 100755
+index 020ae2b..320f57f 100755
 --- a/tests/test
 +++ b/tests/test
-@@ -45,6 +45,9 @@ for conf in `ls *.conf`
- do
- 	log=`echo $conf | sed "s/conf/log/g"`
- 	./inject $conf
+@@ -47,6 +47,9 @@ do
+ 	# Inject mce records and run mcelog in parallel.
+ 	# So that the mce records can be consumed by mcelog in time (avoid mce record overflow).
+ 	./inject $conf &
 +	if [ "$1" = "pfa" ] ; then
 +		which page-types > /dev/null 2>&1 || continue
 +	fi
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_170.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_175.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_170.bb
rename to meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_175.bb
index f3e018d..ae810ef 100644
--- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_170.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_175.bb
@@ -10,7 +10,7 @@
     file://run-ptest \
 "
 
-SRCREV = "391abaac9bdff385934b18134789bcc98b0adeb7"
+SRCREV = "7b776a8c005b60572f49797e81287540f99fff1f"
 
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://README.md;md5=74bb47b9a68850cb398665cf78b31de6"
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.5.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/nano/nano_5.5.bb
rename to meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb
index 29ec00a..1ce08dd 100644
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb
@@ -12,7 +12,7 @@
 PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
 
 SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI[sha256sum] = "390b81bf9b41ff736db997aede4d1f60b4453fbd75a519a4ddb645f6fd687e4a"
+SRC_URI[sha256sum] = "fce183e4a7034d07d219c79aa2f579005d1fd49f156db6e50f53543a87637a32"
 
 UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb
index dc147ef..0d668ba 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb
@@ -52,6 +52,14 @@
     sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk
 }
 
+do_configure_prepend_powerpc64le_toolchain-clang () {
+    sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk
+}
+
+do_configure_prepend_powerpc64_toolchain-clang () {
+    sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk
+}
+
 do_compile_prepend_class-native() {
     export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr
     export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
@@ -68,7 +76,6 @@
 
 do_compile() {
     export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
-    export NSS_ENABLE_WERROR=0
 
     export CROSS_COMPILE=1
     export NATIVE_CC="${BUILD_CC}"
@@ -76,6 +83,10 @@
     export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
     export BUILD_OPT=1
 
+    # POSIX.1-2001 states that the behaviour of getcwd() when passing a null
+    # pointer as the buf argument, is unspecified.
+    export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC"
+
     export FREEBL_NO_DEPEND=1
     export FREEBL_LOWHASH=1
 
@@ -93,7 +104,7 @@
 
     if [ "${TARGET_ARCH}" = "powerpc" ]; then
         OS_TEST=ppc
-    elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
+    elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then
         OS_TEST=ppc64
     elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
         OS_TEST=mips
@@ -151,7 +162,7 @@
 
     if [ "${TARGET_ARCH}" = "powerpc" ]; then
         OS_TEST=ppc
-    elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
+    elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then
         OS_TEST=ppc64
     elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
         OS_TEST=mips
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
new file mode 100644
index 0000000..ce6499b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
@@ -0,0 +1,28 @@
+From 67e1a5400383543b28fc69eb09c9429cb9d8c026 Mon Sep 17 00:00:00 2001
+From: Your Name <you@example.com>
+Date: Sat, 2 Jan 2021 17:43:11 +0000
+Subject: [PATCH] Fix building opencv using gcc 11.x #19244
+
+Add missing `#include <thread>` in modules/gapi/test/test_precomp.hpp
+
+Upstream-Status: Backport [https://github.com/opencv/opencv/pull/19247]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/gapi/test/test_precomp.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/gapi/test/test_precomp.hpp b/modules/gapi/test/test_precomp.hpp
+index 7b3c695443..e92b1d03bf 100644
+--- a/modules/gapi/test/test_precomp.hpp
++++ b/modules/gapi/test/test_precomp.hpp
+@@ -11,6 +11,7 @@
+ #define __OPENCV_GAPI_TEST_PRECOMP_HPP__
+ 
+ #include <cstdint>
++#include <thread>
+ #include <vector>
+ 
+ #include <opencv2/ts.hpp>
+-- 
+2.30.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-samples-cmake-digits-needs-opencv_dnn-module-to-buil.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-samples-cmake-digits-needs-opencv_dnn-module-to-buil.patch
deleted file mode 100644
index 0226803..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-samples-cmake-digits-needs-opencv_dnn-module-to-buil.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 114af1ca23ff9bf2e521b2969e343e74cdd8eac1 Mon Sep 17 00:00:00 2001
-From: Jose Quaresma <quaresma.jose@gmail.com>
-Date: Sun, 1 Nov 2020 12:29:56 +0000
-Subject: [PATCH] samples: cmake: digits needs opencv_dnn module to build
-
-Intrudeced in commit 397ba2d9aafb5312e777ce2f886d7b568109e931:
-add OpenCV sample for digit and text recongnition, and provide multiple OCR models.
-https://github.com/opencv/opencv/commit/397ba2d9aafb5312e777ce2f886d7b568109e931
-
-Upstream-Status: Backport [https://github.com/opencv/opencv/commit/79a82013ad2af04269891ce15281c9fdc31d3f66]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
----
- samples/cpp/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt
-index 617629df2e..14ab6141df 100644
---- a/samples/cpp/CMakeLists.txt
-+++ b/samples/cpp/CMakeLists.txt
-@@ -14,6 +14,7 @@ set(OPENCV_CPP_SAMPLES_REQUIRED_DEPS
-   opencv_features2d
-   opencv_calib3d
-   opencv_stitching
-+  opencv_dnn
-   ${OPENCV_MODULES_PUBLIC}
-   ${OpenCV_LIB_COMPONENTS})
- ocv_check_dependencies(${OPENCV_CPP_SAMPLES_REQUIRED_DEPS})
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
rename to meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
index 5263ffc..d87e140 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
@@ -10,8 +10,8 @@
 
 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
 
-SRCREV_opencv = "d5fd2f0155ffad366f9ac912dfd6d189a7a6a98e"
-SRCREV_contrib = "37315babf9984a5b6aa981644a20dd8df1a5ff02"
+SRCREV_opencv = "1363496c1106606684d40447f5d1149b2c66a9f8"
+SRCREV_contrib = "b91a781cbc1285d441aa682926d93d8c23678b0b"
 SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
@@ -49,7 +49,7 @@
            file://0001-Dont-use-isystem.patch \
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
-           file://0001-samples-cmake-digits-needs-opencv_dnn-module-to-buil.patch \
+           file://0001-Fix-building-opencv-using-gcc-11.x-19244.patch \
            "
 SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
@@ -123,6 +123,7 @@
 PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
 PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
 PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
 PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
 PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
 PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/install-strip.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/install-strip.patch
index 7c67596..b59db39 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/install-strip.patch
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/install-strip.patch
@@ -4,9 +4,9 @@
 
 Upstream-Status: Pending
 
---- openldap-2.2.24/.pc/install-strip.patch/build/top.mk	2005-01-20 09:00:55.000000000 -0800
-+++ openldap-2.2.24/build/top.mk	2005-04-16 13:48:20.536710376 -0700
-@@ -116,7 +116,7 @@
+--- a/build/top.mk
++++ b/build/top.mk
+@@ -121,7 +121,7 @@ LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD)
  LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \
  	$(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD)
  
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch
index 86d0767..91bcc04 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch
@@ -4,9 +4,9 @@
 
 --
 
---- openldap-2.4.28/configure.in.orig	2012-02-11 22:40:36.004360795 +0000
-+++ openldap-2.4.28/configure.in	2012-02-11 22:40:13.410986851 +0000
-@@ -1214,7 +1214,7 @@
+--- a/configure.in
++++ b/configure.in
+@@ -1227,7 +1227,7 @@ if test $ol_link_tls = no ; then
  				ol_with_tls=gnutls
  				ol_link_tls=yes
  
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
index ce8b47a..ab5c4de 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
@@ -19,11 +19,9 @@
  libraries/libldap/tls_m.c |   27 ++++++++++++++++-----------
  1 file changed, 16 insertions(+), 11 deletions(-)
 
-diff --git a/libraries/libldap/tls_m.c b/libraries/libldap/tls_m.c
-index 9b101f9..e6f3051 100644
 --- a/libraries/libldap/tls_m.c
 +++ b/libraries/libldap/tls_m.c
-@@ -621,18 +621,23 @@ nss_parse_ciphers(const char *cipherstr, int cipher_list[ciphernum])
+@@ -620,18 +620,23 @@ nss_parse_ciphers(const char *cipherstr,
  			 */
  			if (mask || strength || protocol) {
  				for (i=0; i<ciphernum; i++) {
@@ -58,6 +56,3 @@
  				}
  			} else {
  				for (i=0; i<ciphernum; i++) {
--- 
-1.7.9.5
-
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch
index 38c0a5a..4d1fda9 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch
@@ -1,8 +1,8 @@
 Upstream-Status: Pending
 
---- openldap-2.3.11/build/openldap.m4.orig	2005-11-11 00:11:18.604322590 -0800
-+++ openldap-2.3.11/build/openldap.m4	2005-11-11 00:26:21.621145856 -0800
-@@ -788,7 +788,7 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[
+--- a/build/openldap.m4
++++ b/build/openldap.m4
+@@ -651,7 +651,7 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[
  ]])
  
  AC_DEFUN([OL_PTHREAD_TEST_PROGRAM],
@@ -11,7 +11,7 @@
  
  int main(argc, argv)
  	int argc;
-@@ -796,7 +796,7 @@ int main(argc, argv)
+@@ -659,7 +659,7 @@ int main(argc, argv)
  {
  OL_PTHREAD_TEST_FUNCTION
  }
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
index 870fc98..7a1b5aa 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/remove-user-host-pwd-from-version.patch
@@ -12,8 +12,6 @@
  build/mkversion | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)
 
-diff --git a/build/mkversion b/build/mkversion
-index 4e35723..9fa3bee 100755
 --- a/build/mkversion
 +++ b/build/mkversion
 @@ -53,8 +53,12 @@ APPLICATION=$1
@@ -39,6 +37,3 @@
  "\t$WHOWHERE\n";
  
  __EOF__
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
index e7b988f..96a0336 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
@@ -11,7 +11,7 @@
 
 --- a/configure.in
 +++ b/configure.in
-@@ -2142,8 +2142,8 @@ fi
+@@ -2153,8 +2153,8 @@ fi
  
  dnl ----------------------------------------------------------------
  dnl Check for entropy sources
@@ -21,7 +21,7 @@
  	if test -r /dev/urandom ; then
  		dev="/dev/urandom";
  	elif test -r /idev/urandom ; then
-@@ -2156,9 +2156,11 @@ if test $cross_compiling != yes && test 
+@@ -2167,9 +2167,11 @@ if test $cross_compiling != yes && test
  		dev="/idev/random";
  	fi
  
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.10.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.10.bb
rename to meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb
index ef36fdd..215c04a 100644
--- a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.10.bb
+++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb
@@ -9,8 +9,8 @@
 DEPENDS_append_libc-musl = " libexecinfo"
 LDFLAGS_append_libc-musl = " -lexecinfo"
 
-SRCREV = "9d1dbdf2d648644e0de9590c6291d7e7b72a1473"
-SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https \
+SRCREV = "6a8737111adebf571c46f35599cc62e7f7b0bd65"
+SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=rel/v1.4.11 \
 "
 
 PV .= "+git${SRCPV}"
diff --git a/meta-openembedded/meta-oe/recipes-support/stm32flash/stm32flash_0.5.bb b/meta-openembedded/meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-support/stm32flash/stm32flash_0.5.bb
rename to meta-openembedded/meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb
index 854df06..195c0f5 100644
--- a/meta-openembedded/meta-oe/recipes-support/stm32flash/stm32flash_0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb
@@ -4,13 +4,10 @@
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-S = "${WORKDIR}/${BPN}"
-
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
 
 do_install() {
 	oe_runmake install DESTDIR=${D} PREFIX=${prefix}
 }
 
-SRC_URI[md5sum] = "40f673502949f3bb655d2bcc539d7b6a"
-SRC_URI[sha256sum] = "97aa9422ef02e82f7da9039329e21a437decf972cb3919ad817f70ac9a49e306"
+SRC_URI[sha256sum] = "ee9b40d4d3e5cd28b993e08ae2a2c3c559b6bea8730cd7e1d40727dedb1dda09"
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb
rename to meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb
index 57fc935..2100472 100644
--- a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb
@@ -5,8 +5,8 @@
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
 
-SRC_URI = "git://github.com/catchorg/Catch2.git"
-SRCREV = "2c869e17e4803d30b3d5ca5b0d76387b9db97fa5"
+SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x"
+SRCREV = "de6fe184a9ac1a06895cdd1c9b437f0a0bdf14ad"
 
 S = "${WORKDIR}/git"
 
