diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch
new file mode 100644
index 0000000..35634dd
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch
@@ -0,0 +1,46 @@
+From 9b07f6a472c24f5e1b65746756764391be0d55e4 Mon Sep 17 00:00:00 2001
+From: Harald Geyer <harald@ccbib.org>
+Date: Mon, 10 Feb 2020 13:15:10 +0100
+Subject: [PATCH] Fix compilation with GCC >= 10.x
+
+Starting with GCC >= 10.x, -fno-common is used as default
+instead of -fcommon. This patch fixes the compilation.
+
+Closes: #148
+
+Upstream-Status: Backport
+Suggested-by: Conrad Kostecki <conrad@kostecki.com>
+Signed-off-by: Harald Geyer <harald@ccbib.org>
+---
+ clients/lcdproc/iface.c | 1 +
+ clients/lcdproc/iface.h | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/clients/lcdproc/iface.c b/clients/lcdproc/iface.c
+index 40e50cb7..1ac355bd 100644
+--- a/clients/lcdproc/iface.c
++++ b/clients/lcdproc/iface.c
+@@ -32,6 +32,7 @@
+ #define UNSET_INT -1
+ #define UNSET_STR "\01"
+ 
++IfaceInfo iface[MAX_INTERFACES];
+ 
+ static int iface_count = 0;	/* number of interfaces */
+ static char unit_label[10] = "B";	/* default unit label is Bytes */
+diff --git a/clients/lcdproc/iface.h b/clients/lcdproc/iface.h
+index cc6dbaaf..c1bd6b5b 100644
+--- a/clients/lcdproc/iface.h
++++ b/clients/lcdproc/iface.h
+@@ -18,7 +18,7 @@
+ /** max number of interfaces in multi-interface mode */
+ #define MAX_INTERFACES 3
+ 
+-IfaceInfo iface[MAX_INTERFACES];	/* interface info */
++extern IfaceInfo iface[MAX_INTERFACES];	/* interface info */
+ 
+ /** Update screen content */
+ int iface_screen(int rep, int display, int *flags_ptr);
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
index 275b984..35585d0 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
@@ -15,6 +15,7 @@
            file://0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch \
            file://0002-Include-limits.h-for-PATH_MAX-definition.patch \
            file://0003-Fix-non-x86-platforms-on-musl.patch \
+           file://0001-Fix-compilation-with-GCC-10.x.patch \
            "
 
 S = "${WORKDIR}/git"
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 f13a184..130ff13 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
@@ -100,7 +100,9 @@
     autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure
 
     cd ${B}
-    ${S}/js/src/configure ${EXTRA_OECONF}
+    # use of /tmp can causes problems on heavily loaded hosts
+    mkdir -p "${B}/lcl_tmp"
+    TMPDIR="${B}/lcl_tmp"  ${S}/js/src/configure ${EXTRA_OECONF}
 
     # Make standard Makefile checks pass
     touch ${S}/js/src/configure
@@ -117,6 +119,14 @@
     export PYTHONPATH=`cat ${B}/PYTHONPATH`
 }
 
+inherit multilib_script multilib_header
+
+MULTILIB_SCRIPTS += " ${PN}-dev:${bindir}/js60-config"
+
+do_install_append() {
+       oe_multilib_header mozjs-60/js-config.h
+}
+
 PACKAGES =+ "lib${BPN}"
 FILES_lib${BPN} += "${libdir}/lib*.so"
 FILES_${PN}-dev += "${bindir}/js60-config"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb b/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb
similarity index 88%
rename from meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb
rename to meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb
index 93f6248..93e00e6 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb
@@ -3,12 +3,12 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d3070efe0afa3dc41608bd82c00bb0dc"
 
-SRC_URI = "git://git.infradead.org/users/mchehab/rasdaemon.git;branch=master \
-        file://0001-Fix-system-header-includes.patch \
-	file://rasdaemon.service \
-	file://init"
+SRC_URI = "git://github.com/mchehab/rasdaemon.git;branch=master \
+           file://0001-Fix-system-header-includes.patch \
+           file://rasdaemon.service \
+           file://init"
 
-SRCREV = "25533c0c55426eeb2ad25dcbdb2b5e4ba4e83d80"
+SRCREV = "32b978fcf73215c90ce7383580224e4295930ae7"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch
deleted file mode 100644
index c9c3a08..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-update-the-interpreter-paths.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 55078e494bdf7da7dd9cb76077fa7ac2a66b6dd6 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Fri, 20 Jul 2018 02:33:25 -0700
-Subject: [PATCH] update the interpreter paths
-
-Update the interpreter path to make it more
-compatible
-
-Upstream-Status: Pending
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tools/fio_jsonplus_clat2csv     | 2 +-
- tools/fiologparser.py           | 2 +-
- tools/genfio                    | 2 +-
- tools/hist/fiologparser_hist.py | 2 +-
- tools/hist/half-bins.py         | 2 +-
- tools/plot/fio2gnuplot          | 2 +-
- 6 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/tools/fio_jsonplus_clat2csv b/tools/fio_jsonplus_clat2csv
-index 78a007e5..0524b6e6 100755
---- a/tools/fio_jsonplus_clat2csv
-+++ b/tools/fio_jsonplus_clat2csv
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.7
-+#!/usr/bin/env python
- # Note: this script is python2 and python3 compatible.
- #
- # fio_jsonplus_clat2csv
-diff --git a/tools/fiologparser.py b/tools/fiologparser.py
-index cc29f1c7..ea60e783 100755
---- a/tools/fiologparser.py
-+++ b/tools/fiologparser.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.7
-+#!/usr/bin/env python
- # Note: this script is python2 and python 3 compatible.
- #
- # fiologparser.py
-diff --git a/tools/genfio b/tools/genfio
-index 286d814d..8518bbcc 100755
---- a/tools/genfio
-+++ b/tools/genfio
-@@ -1,4 +1,4 @@
--#!/usr/bin/bash
-+#!/bin/bash
- #
- #  Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
- #  Author: Erwan Velu  <erwan@enovance.com>
-diff --git a/tools/hist/fiologparser_hist.py b/tools/hist/fiologparser_hist.py
-index 8910d5fa..b77c2933 100755
---- a/tools/hist/fiologparser_hist.py
-+++ b/tools/hist/fiologparser_hist.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.7
-+#!/usr/bin/env python
- """ 
-     Utility for converting *_clat_hist* files generated by fio into latency statistics.
-     
-diff --git a/tools/hist/half-bins.py b/tools/hist/half-bins.py
-index 1bba8ff7..58d53e36 100755
---- a/tools/hist/half-bins.py
-+++ b/tools/hist/half-bins.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.7
-+#!/usr/bin/env python
- """ Cut the number bins in half in fio histogram output. Example usage:
- 
-         $ half-bins.py -c 2 output_clat_hist.1.log > smaller_clat_hist.1.log
-diff --git a/tools/plot/fio2gnuplot b/tools/plot/fio2gnuplot
-index 4d1815cf..509141af 100755
---- a/tools/plot/fio2gnuplot
-+++ b/tools/plot/fio2gnuplot
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.7
-+#!/usr/bin/env python
- # Note: this script is python2 and python3 compatible.
- #
- #  Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch
deleted file mode 100644
index 068b021..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/files/python3_shebangs.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-python3: change four shebangs to python3
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
---- a/tools/fio_jsonplus_clat2csv
-+++ b/tools/fio_jsonplus_clat2csv
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Note: this script is python2 and python3 compatible.
- #
- # fio_jsonplus_clat2csv
---- a/tools/fiologparser.py
-+++ b/tools/fiologparser.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Note: this script is python2 and python 3 compatible.
- #
- # fiologparser.py
---- a/tools/hist/fiologparser_hist.py
-+++ b/tools/hist/fiologparser_hist.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- """ 
-     Utility for converting *_clat_hist* files generated by fio into latency statistics.
-     
---- a/tools/plot/fio2gnuplot
-+++ b/tools/plot/fio2gnuplot
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Note: this script is python2 and python3 compatible.
- #
- #  Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb
index 759d108..83f38fc 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.17.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.21.bb
@@ -22,10 +22,8 @@
 PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
 PACKAGECONFIG[numa] = ",--disable-numa,numactl"
 
-SRCREV = "08ce9dc20b8a4e55db7af6d869ddfa49b4a02d03"
+SRCREV = "d13596b225baf61425a9ca92b0583fc3fa97765d"
 SRC_URI = "git://git.kernel.dk/fio.git \
-          file://0001-update-the-interpreter-paths.patch \
-          file://python3_shebangs.patch \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_490.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_490.bb
index e4b7e4f..ecf08cb 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_489.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_490.bb
@@ -11,8 +11,8 @@
     file://0001-let-system-headers-provide-pread64.patch \
     file://copyright.txt \
 "
-SRC_URI[md5sum] = "e863281987689cd6d9729e535637b77d"
-SRC_URI[sha256sum] = "6155850d1019f2450dc926bbdb5a24abf423ee3bb928ab1e68569cf60a908584"
+SRC_URI[md5sum] = "95cb73dfdd58a0dfa42804f016dbb83c"
+SRC_URI[sha256sum] = "5eadb4235ae2a956911204c50ebf2d8d8d59ddcd4a2841a1baf42f3145ad4fed"
 
 UPSTREAM_CHECK_REGEX = "iozone3_(?P<pver>\d+).tar"
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/memtester/files/0001-Define-mword16-and-mword8-once.patch b/meta-openembedded/meta-oe/recipes-benchmark/memtester/files/0001-Define-mword16-and-mword8-once.patch
new file mode 100644
index 0000000..ffd9b9f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/memtester/files/0001-Define-mword16-and-mword8-once.patch
@@ -0,0 +1,57 @@
+From 01f1c05702eb534271777648c976ab6402a5145b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Aug 2020 23:18:30 -0700
+Subject: [PATCH] Define mword16 and mword8 once
+
+Defining them in .h meant they are defined in all .c files including
+this .h file
+
+Fixes build with gcc 10+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests.c | 9 +++++++++
+ types.h | 9 ---------
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/tests.c b/tests.c
+index be1b350..4305bed 100644
+--- a/tests.c
++++ b/tests.c
+@@ -27,6 +27,15 @@ char progress[] = "-\\|/";
+ #define PROGRESSOFTEN 2500
+ #define ONE 0x00000001L
+ 
++union {
++    unsigned char bytes[UL_LEN/8];
++    ul val;
++} mword8;
++
++union {
++    unsigned short u16s[UL_LEN/16];
++    ul val;
++} mword16;
+ /* Function definitions. */
+ 
+ int compare_regions(ulv *bufa, ulv *bufb, size_t count) {
+diff --git a/types.h b/types.h
+index ad7ce73..e14ea32 100644
+--- a/types.h
++++ b/types.h
+@@ -25,12 +25,3 @@ struct test {
+     int (*fp)();
+ };
+ 
+-union {
+-    unsigned char bytes[UL_LEN/8];
+-    ul val;
+-} mword8;
+-
+-union {
+-    unsigned short u16s[UL_LEN/16];
+-    ul val;
+-} mword16;
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/memtester/memtester_4.3.0.bb b/meta-openembedded/meta-oe/recipes-benchmark/memtester/memtester_4.3.0.bb
index 0964c04..3d29055 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/memtester/memtester_4.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/memtester/memtester_4.3.0.bb
@@ -5,9 +5,10 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
 
-SRC_URI = "http://pyropus.ca/software/memtester/old-versions/${BP}.tar.gz"
-SRC_URI += "file://Makefile.patch"
-
+SRC_URI = "http://pyropus.ca/software/memtester/old-versions/${BP}.tar.gz \
+           file://Makefile.patch \
+           file://0001-Define-mword16-and-mword8-once.patch \
+           "
 SRC_URI[md5sum] = "598f41b7308e1f736164bca3ab84ddbe"
 SRC_URI[sha256sum] = "f9dfe2fd737c38fad6535bbab327da9a21f7ce4ea6f18c7b3339adef6bf5fd88"
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch
new file mode 100644
index 0000000..7a8be83
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch
@@ -0,0 +1,57 @@
+From 3c078497e506bd6acb406da5cde7ce20e8896353 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Jul 2020 14:13:59 -0700
+Subject: [PATCH] Makefile: Check for last line only from preprocessed output
+
+This started to fail with glibc 2.32 since glibc added additional
+attributes to functions in signal.h therefore existing regexp started to
+fail as it is not able to handle these functions e.g.
+
+extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__))
+  __attribute__ ((__deprecated__ ("Use sigaction with SA_RESTART instead")));
+
+grep -v '^\#' | grep '"' | cut -f 2 -d'"'
+bit outside of fd_set selected
+Use sigaction with SA_RESTART instead
+arm
+
+So changing it to
+tail -1 | grep '"' | cut -f 2 -d'"'
+arm
+
+Produces the expected result, this was hidden until now
+
+Upstream-Status: Submitted [https://review.coreboot.org/c/flashrom/+/43770]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Change-Id: I123a046e142d54632f12d54e2aa09b0928c02b91
+---
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 803529f..3795681 100644
+--- a/Makefile
++++ b/Makefile
+@@ -106,7 +106,7 @@ endif
+ # IMPORTANT: The following line must be placed before TARGET_OS is ever used
+ # (of course), but should come after any lines setting CC because the line
+ # below uses CC itself.
+-override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
++override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | tail -1 | grep '"' | cut -f 2 -d'"'))
+ 
+ ifeq ($(TARGET_OS), Darwin)
+ override CPPFLAGS += -I/opt/local/include -I/usr/local/include
+@@ -460,8 +460,8 @@ endif
+ # IMPORTANT: The following line must be placed before ARCH is ever used
+ # (of course), but should come after any lines setting CC because the line
+ # below uses CC itself.
+-override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
+-override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#'))
++override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | tail -1 | grep '"' | cut -f 2 -d'"'))
++override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | tail -1))
+ 
+ # Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
+ ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
+-- 
+2.27.0
+
diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
index 642cec1..66ae34a 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
@@ -7,6 +7,7 @@
 
 SRC_URI = "https://download.flashrom.org/releases/flashrom-v${PV}.tar.bz2 \
            file://0001-typecast-enum-conversions-explicitly.patch \
+           file://0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch \
            "
 SRC_URI[md5sum] = "7f8e4b87087eb12ecee0fcc5445b4956"
 SRC_URI[sha256sum] = "e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.30.bb b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
similarity index 63%
rename from meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.30.bb
rename to meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
index af34cdc..2c96de1 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.30.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
@@ -6,9 +6,9 @@
 
 SRC_URI = "http://sg.danny.cz/scsi/${BP}.tgz"
 
-SRC_URI[md5sum] = "298a700cd50bb4be1382d618f7b038f4"
-SRC_URI[sha256sum] = "619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15"
+SRC_URI[md5sum] = "efb68946f51860e8eedc18d6784afdae"
+SRC_URI[sha256sum] = "12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca"
 
 inherit autotools
 
-S = "${WORKDIR}/lsscsi-030r154"
+S = "${WORKDIR}/lsscsi-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch
deleted file mode 100644
index be5d0da..0000000
--- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli/0001-fix-musl-compilation.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0ff7ad2c88e3a47e7e3f6fe68c28a8d2d8a71f1f Mon Sep 17 00:00:00 2001
-From: Neel Chotai <neel@chot.ai>
-Date: Fri, 14 Feb 2020 17:56:23 +0000
-Subject: [PATCH] fix musl compilation
-
-Upstream-Status: Backport [https://github.com/linux-nvme/nvme-cli/commit/0ff7ad2c88e3a47e7e3f6fe68c28a8d2d8a71f1f]
-Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
----
- plugins/micron/micron-nvme.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/plugins/micron/micron-nvme.c b/plugins/micron/micron-nvme.c
-index 8240887..165fcf0 100644
---- a/plugins/micron/micron-nvme.c
-+++ b/plugins/micron/micron-nvme.c
-@@ -13,6 +13,7 @@
- #include "nvme-print.h"
- #include "nvme-ioctl.h"
- #include <sys/ioctl.h>
-+#include <limits.h>
- 
- #define CREATE_CMD
- #include "micron-nvme.h"
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.12.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb
rename to meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.12.bb
index 4f4bb2d..a18b71a 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.10.1.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.12.bb
@@ -7,10 +7,8 @@
 DEPENDS = "util-linux"
 PV .= "+git${SRCPV}"
 
-SRC_URI = "git://github.com/linux-nvme/nvme-cli.git \
-           file://0001-fix-musl-compilation.patch \
-"
-SRCREV = "1d84d6ae0c7d7ceff5a73fe174dde8b0005f6108"
+SRC_URI = "git://github.com/linux-nvme/nvme-cli.git"
+SRCREV = "949d0aea730136d04af1fb9e0efd4427c20dee6d"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch
deleted file mode 100644
index dbc48a2..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio/0001-filter-Rename-some-variables-to-tr_stdxxx.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From 601e6e56f44b91d957bb643662455f52540f336a Mon Sep 17 00:00:00 2001
-From: Corey Minyard <cminyard@mvista.com>
-Date: Tue, 25 Feb 2020 16:08:40 -0600
-Subject: [PATCH] filter: Rename some variables to tr_stdxxx
-
-stdout and stderr can be macros, don't use the names directly.
-
-Signed-off-by: Corey Minyard <cminyard@mvista.com>
-Upstream-Status: Backport [https://github.com/cminyard/gensio/commit/601e6e56f44b91d957bb643662455f52540f336a]
-Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
----
- lib/gensio_filter_trace.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/lib/gensio_filter_trace.c b/lib/gensio_filter_trace.c
-index d39d58b..abe2db6 100644
---- a/lib/gensio_filter_trace.c
-+++ b/lib/gensio_filter_trace.c
-@@ -32,8 +32,8 @@ struct trace_filter {
-     enum trace_dir dir;
-     bool raw;
-     char *filename;
--    bool stdout;
--    bool stderr;
-+    bool tr_stdout;
-+    bool tr_stderr;
- 
-     FILE *tr;
- };
-@@ -82,9 +82,9 @@ trace_try_connect(struct gensio_filter *filter, struct timeval *timeout)
- {
-     struct trace_filter *tfilter = filter_to_trace(filter);
- 
--    if (tfilter->stdout) {
-+    if (tfilter->tr_stdout) {
- 	tfilter->tr = stdout;
--    } else if (tfilter->stderr) {
-+    } else if (tfilter->tr_stderr) {
- 	tfilter->tr = stderr;
-     } else if (tfilter->filename) {
- 	tfilter->tr = fopen(tfilter->filename, "a+");
-@@ -99,7 +99,7 @@ trace_try_disconnect(struct gensio_filter *filter, struct timeval *timeout)
- {
-     struct trace_filter *tfilter = filter_to_trace(filter);
- 
--    if (!tfilter->stdout && !tfilter->stderr && tfilter->tr)
-+    if (!tfilter->tr_stdout && !tfilter->tr_stderr && tfilter->tr)
- 	fclose(tfilter->tr);
-     tfilter->tr = NULL;
-     return 0;
-@@ -331,12 +331,12 @@ static int gensio_trace_filter_func(struct gensio_filter *filter, int op,
- 
- static struct gensio_filter *
- gensio_trace_filter_raw_alloc(struct gensio_os_funcs *o, enum trace_dir dir,
--			      bool raw, const char *filename, bool stdout,
--			      bool stderr)
-+			      bool raw, const char *filename, bool tr_stdout,
-+			      bool tr_stderr)
- {
-     struct trace_filter *tfilter;
- 
--    if (!filename && !stdout && !stderr)
-+    if (!filename && !tr_stdout && !tr_stderr)
- 	dir = TRACE_NONE;
- 
-     tfilter = o->zalloc(o, sizeof(*tfilter));
-@@ -351,8 +351,8 @@ gensio_trace_filter_raw_alloc(struct gensio_os_funcs *o, enum trace_dir dir,
- 	if (!tfilter->filename)
- 	    goto out_nomem;
-     }
--    tfilter->stdout = stdout;
--    tfilter->stderr = stderr;
-+    tfilter->tr_stdout = tr_stdout;
-+    tfilter->tr_stderr = tr_stderr;
- 
-     tfilter->lock = o->alloc_lock(o);
-     if (!tfilter->lock)
-@@ -385,7 +385,7 @@ gensio_trace_filter_alloc(struct gensio_os_funcs *o,
- {
-     struct gensio_filter *filter;
-     int dir = TRACE_NONE;
--    bool raw = false, stdout = false, stderr = false;
-+    bool raw = false, tr_stdout = false, tr_stderr = false;
-     const char *filename = NULL;
-     unsigned int i;
- 
-@@ -396,15 +396,15 @@ gensio_trace_filter_alloc(struct gensio_os_funcs *o,
- 	    continue;
- 	if (gensio_check_keyvalue(args[i], "file", &filename) > 0)
- 	    continue;
--	if (gensio_check_keybool(args[i], "stdout", &stdout) > 0)
-+	if (gensio_check_keybool(args[i], "stdout", &tr_stdout) > 0)
- 	    continue;
--	if (gensio_check_keybool(args[i], "stderr", &stderr) > 0)
-+	if (gensio_check_keybool(args[i], "stderr", &tr_stderr) > 0)
- 	    continue;
- 	return GE_INVAL;
-     }
- 
-     filter = gensio_trace_filter_raw_alloc(o, dir, raw, filename,
--					   stdout, stderr);
-+					   tr_stdout, tr_stderr);
-     if (!filter)
- 	return GE_NOMEM;
- 
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.1.4.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.1.4.bb
index 8c97662..9d73da9 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_1.5.3.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.1.4.bb
@@ -5,11 +5,9 @@
                     file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
                     "
 
-SRCREV = "95ec1ab31ee97411fc37156d12061adcf0331598"
-PV = "1.5.3+git${SRCPV}"
+SRCREV = "998a017076a86179696a3ad811e2bae9155e46cb"
 
 SRC_URI = "git://github.com/cminyard/gensio;protocol=https \
-           file://0001-filter-Rename-some-variables-to-tr_stdxxx.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/0001-src-interface.h-Make-declarations-as-extern.patch b/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/0001-src-interface.h-Make-declarations-as-extern.patch
new file mode 100644
index 0000000..77de9e6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd/0001-src-interface.h-Make-declarations-as-extern.patch
@@ -0,0 +1,31 @@
+From b990146a149e1729c12e4541a67e32ed1dd6e578 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 19:41:08 -0700
+Subject: [PATCH] src/interface.h: Make declarations as extern
+
+Fixed build with -fno-common
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/interface.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/interface.h b/src/interface.h
+index d223b1f..fd4a5f4 100644
+--- a/src/interface.h
++++ b/src/interface.h
+@@ -21,8 +21,8 @@
+  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+  */
+ 
+-int interface_auto_up;
+-int interface_do_message;
++extern int interface_auto_up;
++extern int interface_do_message;
+ 
+ typedef enum { IFSTATUS_UP, IFSTATUS_DOWN, IFSTATUS_ERR } interface_status_t;
+ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb b/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
index 0b5c5a6..7dc83e8 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
@@ -6,7 +6,9 @@
 
 DEPENDS = "libdaemon"
 
-SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz"
+SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz \
+           file://0001-src-interface.h-Make-declarations-as-extern.patch \
+          "
 
 SRC_URI_append_libc-musl = " file://Fix-build-with-musl.patch"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.7.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.7.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb
index 4911b3d..b1e6fea 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.7.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.8.bb
@@ -6,7 +6,7 @@
 DEPENDS = "ell"
 
 SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git"
-SRCREV = "ef6084dcb4fe2e00327bb9c7b113ece204042c22"
+SRCREV = "a01754f56aacdc641c819f983c3c0ad374be77b2"
 S = "${WORKDIR}/git"
 
 inherit autotools manpages pkgconfig python3native systemd
@@ -41,7 +41,7 @@
 
 FILES_${PN} += " \
     ${datadir}/dbus-1 \
-    ${nonarch_libdir}/modules-load.d \
+    ${nonarch_base_libdir}/modules-load.d \
     ${systemd_unitdir}/network \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
deleted file mode 100644
index 679a8b5..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fix configure error in large file checks on 64-bit architectures
-
- configure:17888: checking for native large file support
- configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4':
- configure:17893: error: cannot run test program while cross compiling
-
-configure.ac was using AC_SYS_LARGEFILE macro as is typical, but then
-there was an extra runtime check added beyond that:
-check if off_t is 8 bytes (64 bits) long.
-If that runtime check passed, _FILE_OFFSET_BITS was defined as 64.
-
-Runtime checks need to go away for cross compiling, and luckily this extra
-check was not serving any useful purpose. Note that off_t was *already*
-64 bits, *without* setting _FILE_OFFSET_BITS, which makes _FILE_OFFSET_BITS
-unneeded for large file support. 
-
-If AC_SYS_LARGEFILE macro sets ac_cv_sys_file_offset_bits=no,
-just leave _FILE_OFFSET_BITS undefined!
-
---- libimobiledevice-1.1.4/configure.ac.old	2015-07-15 01:38:50.900143927 -0700
-+++ libimobiledevice-1.1.4/configure.ac	2015-07-15 01:39:13.300144430 -0700
-@@ -174,16 +174,6 @@
- if test "$enable_largefile" != no; then
-     if test "$ac_cv_sys_file_offset_bits" != 'no'; then
- 	LFS_CFLAGS="$LFS_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
--    else
--	AC_MSG_CHECKING(for native large file support)
--	AC_RUN_IFELSE([AC_LANG_SOURCE([#include <unistd.h>
--	  int main (int argc, char **argv)
--	  {
--	      exit(!(sizeof(off_t) == 8));
--	  }])],
--	[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
--	 AC_MSG_RESULT(yes)],
--	[AC_MSG_RESULT(no)])
-     fi
-     if test "$ac_cv_sys_large_files" != 'no'; then
- 	LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES=1"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
similarity index 61%
rename from meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
index 908b98d..bcedd62 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
@@ -4,17 +4,12 @@
     file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
     file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
 "
-
-HOMEPAGE ="http://www.libimobiledevice.org/"
+HOMEPAGE = "http://www.libimobiledevice.org/"
 
 DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt"
 
-SRCREV = "fb71aeef10488ed7b0e60a1c8a553193301428c0"
-PV = "1.2.0+git${SRCPV}"
-SRC_URI = "\
-    git://github.com/libimobiledevice/libimobiledevice;protocol=https \
-    file://configure-fix-largefile.patch \
-"
+SRCREV = "15f8652126664e3a4b980e5d1c039b9053ce8566"
+SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https"
 
 S = "${WORKDIR}/git"
 inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.2.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.2.bb
index 61e314f..c7a04b6 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.22.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.2.bb
@@ -9,9 +9,9 @@
 
 DEPENDS = "glib-2.0 glib-2.0-native libgudev"
 
-inherit autotools pkgconfig bash-completion
+inherit autotools pkgconfig bash-completion gobject-introspection
 
 SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[md5sum] = "87060e8957013177e4140edc6f64f5bd"
-SRC_URI[sha256sum] = "5c0778eb1cd12c3604523134e55183f5147b0cae71150e875b583768f7aa1f38"
+SRC_URI[md5sum] = "6c2b490af87773c8446f37536e7411ac"
+SRC_URI[sha256sum] = "32198c099987849c5f442d1cbf4b6e43e645cbdbe9cfdc197b19ddd63c6981e4"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb
similarity index 63%
rename from meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb
index 6f86385..3a1b70b 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.12.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.0.bb
@@ -1,5 +1,6 @@
 SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
+               devices which speak the Qualcomm MSM Interface (QMI) protocol"
 HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
 LICENSE = "GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = " \
@@ -9,16 +10,13 @@
 
 DEPENDS = "glib-2.0 glib-2.0-native"
 
-inherit autotools pkgconfig bash-completion
+inherit autotools pkgconfig bash-completion gobject-introspection
 
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
-           "
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[md5sum] = "7e6e49fddb9ae2b6fcde14619d6cfe49"
-SRC_URI[sha256sum] = "2d3b91a2b8a882b17b16403c9ef7bdce522db4f0ceaa3e4dff76033885428b69"
+SRC_URI[md5sum] = "8da95a97e893311878f8ce12dcf8fad0"
+SRC_URI[sha256sum] = "7f0429e0ae58792e21512d09ca2412537840ea42696762795af1284a65fd6e40"
 
 PACKAGECONFIG ??= "udev mbim"
 PACKAGECONFIG[udev] = ",--without-udev,libgudev"
 PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
-
-EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.20.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.20.bb
index 0d1f57a..5427daa 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.0.20.bb
@@ -6,7 +6,7 @@
 DEPENDS = "zlib"
 
 S = "${WORKDIR}/git"
-SRCREV = "6eb39388f43f6e2a27f0efcbf8cb2391e38824e9"
+SRCREV = "ec9e8ab892f2dc569ae09336c80c2796fd14a6ff"
 SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.0-stable"
 
 UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
index b1d96ae..55ce4c9 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
@@ -22,8 +22,8 @@
 +CC	?= $(CROSS_COMPILE)gcc
  VER     = -DVER=$(version)
  CFLAGS	= -Wall $(VER) $(incdefs) $(DEBUG) $(EXTRA_CFLAGS)
- LDLIBS	= -lm -lrt $(EXTRA_LDFLAGS)
-@@ -35,7 +35,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh)
+ LDLIBS	= -lm -lrt -pthread $(EXTRA_LDFLAGS)
+@@ -43,7 +43,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh)
  version := $(shell $(srcdir)/version.sh $(srcdir))
  VPATH	= $(srcdir)
  
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch
deleted file mode 100644
index af99d2b..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp/time_t_maybe_long_long.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-Fix printf if time_t is long long
-
-On some platforms, time_t has recently switched from "long" to "long
-long" [1]. For these platforms it is necessary to use "%lld" as printf
-format specifier because the ABI differs between "long" and "long long".
-
-I found no way for creating something similar to PRId64 for time_t. No
-idea how to determine whether it's "long" or "long long". So I cast
-everything to "long long" instead.
-
-[1] https://git.musl-libc.org/cgit/musl/commit/?id=38143339646a4ccce8afe298c34467767c899f51
-
-Upstream-Status: Accepted [next version is after 2.0]
-Upstream-Patch: https://github.com/richardcochran/linuxptp/commit/7de73fefc378cc42b9ed1115b3afa409d0250a48
-
-Signed-off-by: Christian Eggers <ceggers@arri.de>
----
-diff -Naur linuxptp-2.0.org/phc_ctl.c linuxptp-2.0/phc_ctl.c
---- linuxptp-2.0.org/phc_ctl.c	2018-08-12 23:08:43.000000000 +0200
-+++ linuxptp-2.0/phc_ctl.c	2020-05-29 21:34:26.166519963 +0200
-@@ -230,8 +230,8 @@
- 			strerror(errno));
- 		return -1;
- 	} else {
--		pr_notice("set clock time to %ld.%09ld or %s",
--			ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
-+		pr_notice("set clock time to %lld.%09ld or %s",
-+			(long long)ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
- 	}
- 
- 	return args_to_eat;
-@@ -248,8 +248,8 @@
- 
- 		return -1;
- 	} else {
--		pr_notice("clock time is %ld.%09lu or %s",
--			ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
-+		pr_notice("clock time is %lld.%09lu or %s",
-+			(long long)ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
- 	}
- 
- 	/* get operation does not require any arguments */
-diff -Naur linuxptp-2.0.org/print.c linuxptp-2.0/print.c
---- linuxptp-2.0.org/print.c	2018-08-12 23:08:43.000000000 +0200
-+++ linuxptp-2.0/print.c	2020-05-29 21:34:26.166519963 +0200
-@@ -73,16 +73,16 @@
- 
- 	if (verbose) {
- 		f = level >= LOG_NOTICE ? stdout : stderr;
--		fprintf(f, "%s[%ld.%03ld]: %s%s%s\n",
-+		fprintf(f, "%s[%lld.%03ld]: %s%s%s\n",
- 			progname ? progname : "",
--			ts.tv_sec, ts.tv_nsec / 1000000,
-+			(long long)ts.tv_sec, ts.tv_nsec / 1000000,
- 			message_tag ? message_tag : "", message_tag ? " " : "",
- 			buf);
- 		fflush(f);
- 	}
- 	if (use_syslog) {
--		syslog(level, "[%ld.%03ld] %s%s%s",
--		       ts.tv_sec, ts.tv_nsec / 1000000,
-+		syslog(level, "[%lld.%03ld] %s%s%s",
-+		       (long long)ts.tv_sec, ts.tv_nsec / 1000000,
- 		       message_tag ? message_tag : "", message_tag ? " " : "",
- 		       buf);
- 	}
-diff -Naur linuxptp-2.0.org/unicast_service.c linuxptp-2.0/unicast_service.c
---- linuxptp-2.0.org/unicast_service.c	2018-08-12 23:08:43.000000000 +0200
-+++ linuxptp-2.0/unicast_service.c	2020-05-29 21:36:23.170497415 +0200
-@@ -209,9 +209,9 @@
- 	tmo = now.tv_sec + req->durationField;
- 	if (tmo > client->grant_tmo) {
- 		client->grant_tmo = tmo;
--		pr_debug("%s grant of 0x%x extended to %ld",
-+		pr_debug("%s grant of 0x%x extended to %lld",
- 			 pid2str(&client->portIdentity),
--			 client->message_types, tmo);
-+			 client->message_types, (long long)tmo);
- 	}
- }
- 
-@@ -226,8 +226,8 @@
- 	interval = pqueue_peek(p->unicast_service->queue);
- 	if (interval) {
- 		tmo.it_value = interval->tmo;
--		pr_debug("arming timer tmo={%ld,%ld}",
--			 interval->tmo.tv_sec, interval->tmo.tv_nsec);
-+		pr_debug("arming timer tmo={%lld,%ld}",
-+			 (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
- 	} else {
- 		pr_debug("stopping unicast service timer");
- 	}
-@@ -499,8 +499,8 @@
- 
- 	while ((interval = pqueue_peek(p->unicast_service->queue)) != NULL) {
- 
--		pr_debug("peek i={2^%d} tmo={%ld,%ld}", interval->log_period,
--			 interval->tmo.tv_sec, interval->tmo.tv_nsec);
-+		pr_debug("peek i={2^%d} tmo={%lld,%ld}", interval->log_period,
-+			 (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
- 
- 		if (timespec_compare(&now, &interval->tmo) >= 0) {
- 			break;
-@@ -519,8 +519,8 @@
- 		}
- 
- 		interval_increment(interval);
--		pr_debug("next i={2^%d} tmo={%ld,%ld}", interval->log_period,
--			 interval->tmo.tv_sec, interval->tmo.tv_nsec);
-+		pr_debug("next i={2^%d} tmo={%lld,%ld}", interval->log_period,
-+			 (long long)interval->tmo.tv_sec, interval->tmo.tv_nsec);
- 		pqueue_insert(p->unicast_service->queue, interval);
- 	}
- 
-diff -Naur linuxptp-2.0.org/unicast_client.c linuxptp-2.0/unicast_client.c
---- linuxptp-2.0.org/unicast_client.c	2018-08-12 23:08:43.000000000 +0200
-+++ linuxptp-2.0/unicast_client.c	2020-06-02 11:13:06.922997844 +0200
-@@ -216,7 +216,7 @@
- 				       long duration)
- {
- 	struct timespec now;
--	long tmo;
-+	time_t tmo;
- 
- 	if (clock_gettime(CLOCK_MONOTONIC, &now)) {
- 		pr_err("clock_gettime failed: %m");
-@@ -226,7 +226,7 @@
- 	tmo = now.tv_sec + duration;
- 	if (!master->renewal_tmo || tmo < master->renewal_tmo) {
- 		master->renewal_tmo = tmo;
--		pr_debug("port %d: renewal timeout at %ld", portnum(p), tmo);
-+		pr_debug("port %d: renewal timeout at %lld", portnum(p), (long long)tmo);
- 	}
- }
- 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb
index 930c667..69dee1a 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.0.bb
@@ -5,11 +5,10 @@
 SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
            file://build-Allow-CC-and-prefix-to-be-overriden.patch \
            file://no-incdefs-using-host-headers.patch \
-           file://time_t_maybe_long_long.patch \
            "
 
-SRC_URI[md5sum] = "d8bb7374943bb747db7786ac26f17f11"
-SRC_URI[sha256sum] = "0a24d9401e87d4af023d201e234d91127d82c350daad93432106284aa9459c7d"
+SRC_URI[md5sum] = "1318805702eb6d59f9f247e1dd5ce12a"
+SRC_URI[sha256sum] = "d74ceca722c75bfff53c633425f926dd48eb04f4a089451b855155c016d15785"
 
 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \
     EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_POSIX_SPAWN -DHAVE_ONESTEP_SYNC ${CFLAGS}'"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb
index 3a1222e..2d4e39b 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.4.bb
@@ -14,7 +14,7 @@
 SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http \
            file://0001-Fix-bug-of-free-with-musl.patch"
 
-SRCREV = "3148fe2d5f4b87e16266dfe559c0764e16ca0546"
+SRCREV = "2d3d0941a9233889d4d5cc37f5182bbefea261ad"
 
 DEPENDS = "openssl"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.2.0.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.2.0.bb
index 4a91fa4..13794ad 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.2.0.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "cffb5147021202b064eb0a9389d0db63d1bb2dcde5a896f7785f97b1b5f51a72"
+SRC_URI[sha256sum] = "1d895f005896e8c5bcff4fe573e2fec3611bf4feee1247857e476b74323d916c"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/0001-Make-extern-declarations-to-avoid-duplicate-var-defi.patch b/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/0001-Make-extern-declarations-to-avoid-duplicate-var-defi.patch
new file mode 100644
index 0000000..c714f74
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3/0001-Make-extern-declarations-to-avoid-duplicate-var-defi.patch
@@ -0,0 +1,606 @@
+From 77532d2e99252e3e07afa0f918bb8c9d73798f39 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 16:56:22 -0700
+Subject: [PATCH] Make extern declarations to avoid duplicate var definitions
+
+gcc-10+ defaults to -fno-common which flags these errors about mulitple
+definitions since the variables are defined in header files which are
+included from multiple sources, this patch ensures that extern
+declaration is added appropriately
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/blacklist.c |   2 +-
+ src/blacklist.h |   2 +-
+ src/charset.c   |   2 +-
+ src/charshift.c |   2 +-
+ src/logging.c   |   2 +-
+ src/logging.h   |   4 +-
+ src/modeminit.c |   6 +-
+ src/smsd_cfg.c  |   2 +
+ src/smsd_cfg.h  | 274 ++++++++++++++++++++++++------------------------
+ src/stats.h     |  22 ++--
+ src/whitelist.c |   2 +-
+ src/whitelist.h |   2 +-
+ 12 files changed, 164 insertions(+), 158 deletions(-)
+
+diff --git a/src/blacklist.c b/src/blacklist.c
+index 7440cca..0c00dd9 100755
+--- a/src/blacklist.c
++++ b/src/blacklist.c
+@@ -17,11 +17,11 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
++#include "smsd_cfg.h"
+ #include "blacklist.h"
+ #include "extras.h"
+ #include "logging.h"
+ #include "alarm.h"
+-#include "smsd_cfg.h"
+ 
+ int inblacklist(char* msisdn)
+ {
+diff --git a/src/blacklist.h b/src/blacklist.h
+index 4f99050..61fd294 100755
+--- a/src/blacklist.h
++++ b/src/blacklist.h
+@@ -15,7 +15,7 @@ Either version 2 of the License, or (at your option) any later version.
+ #ifndef BLACK_H
+ #define BLACK_H
+ 
+-char blacklist[256];	// Filename of the black-list
++EXTERN char blacklist[256];	// Filename of the black-list
+ 
+ int inblacklist(char* msisdn);
+ 
+diff --git a/src/charset.c b/src/charset.c
+index cd7c997..1716d70 100755
+--- a/src/charset.c
++++ b/src/charset.c
+@@ -19,9 +19,9 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <syslog.h>
+ #include <ctype.h>
+ 
++#include "smsd_cfg.h"
+ #include "charset.h"
+ #include "logging.h"
+-#include "smsd_cfg.h"
+ #include "pdu.h"
+ #include "extras.h"
+ #include "charshift.h"
+diff --git a/src/charshift.c b/src/charshift.c
+index 48ba340..2d7b26c 100755
+--- a/src/charshift.c
++++ b/src/charshift.c
+@@ -25,8 +25,8 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <stdio.h>
+ #include <stdarg.h>
+ 
+-#include "logging.h"
+ #include "smsd_cfg.h"
++#include "logging.h"
+ #include "pdu.h"
+ #include "charset.h"
+ #include "extras.h"
+diff --git a/src/logging.c b/src/logging.c
+index 6ee2c4e..4af341f 100755
+--- a/src/logging.c
++++ b/src/logging.c
+@@ -12,6 +12,7 @@ the GNU General Public License as published by the Free Software Foundation.
+ Either version 2 of the License, or (at your option) any later version.
+ */
+ 
++#include "smsd_cfg.h"
+ #include "logging.h"
+ #include "extras.h"
+ #include <stdio.h>
+@@ -22,7 +23,6 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <time.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+-#include "smsd_cfg.h"
+ #include "stats.h"
+ 
+ int Filehandle = -1;
+diff --git a/src/logging.h b/src/logging.h
+index 4f27906..4550234 100755
+--- a/src/logging.h
++++ b/src/logging.h
+@@ -18,7 +18,7 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <time.h>
+ 
+ // 3.1.16beta2: Moved logch() and prch() from charset.c to logging.c:
+-char logch_buffer[8192];
++EXTERN char logch_buffer[8192];
+ 
+ #ifdef __GNUC__
+ void logch(char* format, ...) __attribute__ ((format(printf, 1, 2)));
+@@ -30,7 +30,7 @@ char prch(char ch);
+ 
+ // 3.1.16beta: changed type:
+ //int trouble_logging_started;
+-time_t trouble_logging_started;
++EXTERN time_t trouble_logging_started;
+ 
+ int change_loglevel(int new_level);
+ void restore_loglevel();
+diff --git a/src/modeminit.c b/src/modeminit.c
+index 42ff6b4..0d05fe9 100755
+--- a/src/modeminit.c
++++ b/src/modeminit.c
+@@ -19,8 +19,6 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <regex.h>
+ #include <ctype.h>
+ #include <time.h>
+-#include "logging.h"
+-#include "alarm.h"
+ 
+ #ifdef SOLARIS
+ #include <sys/filio.h>
+@@ -42,9 +40,11 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <netdb.h>
+ #endif
+ 
++#include "smsd_cfg.h"
++#include "logging.h"
++#include "alarm.h"
+ #include "extras.h"
+ #include "modeminit.h"
+-#include "smsd_cfg.h"
+ #include "version.h"
+ #include "pdu.h"
+ #include "stats.h"
+diff --git a/src/smsd_cfg.c b/src/smsd_cfg.c
+index 35c1198..32472b4 100755
+--- a/src/smsd_cfg.c
++++ b/src/smsd_cfg.c
+@@ -26,6 +26,8 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <ctype.h>
+ #include <grp.h>
+ 
++#define EXTERN
++
+ #include "extras.h"
+ #include "cfgfile.h"
+ #include "smsd_cfg.h"
+diff --git a/src/smsd_cfg.h b/src/smsd_cfg.h
+index 8ae208d..d6ece37 100755
+--- a/src/smsd_cfg.h
++++ b/src/smsd_cfg.h
+@@ -15,6 +15,10 @@ Either version 2 of the License, or (at your option) any later version.
+ #ifndef SMSD_CFG_H
+ #define SMSD_CFG_H
+ 
++#ifndef EXTERN
++#define EXTERN extern
++#endif
++
+ #include <limits.h>
+ #include <sys/types.h>
+ #include <time.h>
+@@ -126,17 +130,17 @@ Either version 2 of the License, or (at your option) any later version.
+ #define ALPHABET_UNKNOWN        4
+ #define ALPHABET_DEFAULT        0
+ 
+-char process_title[32];         // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks.
+-int process_id;                 // -1 for main task, all modems have numbers starting with 0.
++EXTERN char process_title[32];         // smsd for main task, NOTIFIER or CHILD, name of a modem for other tasks.
++EXTERN int process_id;                 // -1 for main task, all modems have numbers starting with 0.
+                                 // This is the same as device, can be used like devices[process_id] if IS_MODEM_PROCESS.
+ 
+-time_t process_start_time;
++EXTERN time_t process_start_time;
+ 
+-int modem_handle;               // Handle for modem.
++EXTERN int modem_handle;               // Handle for modem.
+ 
+-int put_command_timeouts;
+-unsigned long long put_command_sent; // 3.1.16beta.
+-char tmpdir[PATH_MAX];          // 3.1.16beta.
++EXTERN int put_command_timeouts;
++EXTERN unsigned long long put_command_sent; // 3.1.16beta.
++EXTERN char tmpdir[PATH_MAX];          // 3.1.16beta.
+ 
+ typedef struct
+ {
+@@ -284,204 +288,204 @@ typedef struct
+ 
+ // NOTE for regular run intervals: effective value is at least delaytime.
+ 
+-char configfile[PATH_MAX];	// Path to config file
+-char d_spool[PATH_MAX];		// Spool directory
+-char d_failed[PATH_MAX];	// Failed spool directory
+-char d_failed_copy[PATH_MAX];	// 3.1.17.
+-char d_incoming[PATH_MAX];	// Incoming spool directory
+-char d_incoming_copy[PATH_MAX]; // 3.1.16beta2.
+-char d_report[PATH_MAX];	// Incoming report spool directory
+-char d_report_copy[PATH_MAX];	// 3.1.17.
+-char d_phonecalls[PATH_MAX];    // Incoming phonecalls data directory
+-char d_saved[PATH_MAX];         // Directory for smsd's internal use, concatenation storage files etc.
+-char d_sent[PATH_MAX];		// Sent spool directory
+-char d_sent_copy[PATH_MAX];	// 3.1.17.
+-char d_checked[PATH_MAX];	// Spool directory for checked messages (only used when no provider queues used)
+-char eventhandler[PATH_MAX];	// Global event handler program or script
+-char alarmhandler[PATH_MAX];	// Global alarm handler program or script
+-char checkhandler[PATH_MAX];    // Handler that checks if the sms file is valid.
+-int alarmlevel;			// Alarm Level (9=highest). Verbosity of alarm handler.
+-char logfile[PATH_MAX];		// Name or Handle of Log File
+-int  loglevel;			// Log Level (9=highest). Verbosity of log file.
+-_queue queues[NUMBER_OF_MODEMS]; // Queues
+-_device devices[NUMBER_OF_MODEMS]; // Modem devices
+-int delaytime;			// sleep-time after workless
+-int delaytime_mainprocess;      // sleep-time after workless, main process. If -1, delaytime is used.
+-int blocktime;			// sleep-time after multiple errors
+-int blockafter;                 // Block modem after n errors
+-int errorsleeptime;		// sleep-time after each error
+-int autosplit;			// Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH
+-int receive_before_send;	// if 1 smsd tries to receive one message before sending
+-int store_received_pdu;         // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all
+-int store_sent_pdu;             // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all
+-int validity_period;            // Validity period for messages.
+-int decode_unicode_text;        // 1 if unicode text is decoded internally.
+-int internal_combine;           // 1 if multipart message is combined internally.
+-int internal_combine_binary;    // 1 if multipart binary message is combined internally. Defaults to internal_combine.
+-int keep_filename;              // 0 if unique filename is created to each directory when a message file is moved.
+-int store_original_filename;    // 1 if an original filename is saved to message file when it's moved from
++EXTERN char configfile[PATH_MAX];	// Path to config file
++EXTERN char d_spool[PATH_MAX];		// Spool directory
++EXTERN char d_failed[PATH_MAX];	// Failed spool directory
++EXTERN char d_failed_copy[PATH_MAX];	// 3.1.17.
++EXTERN char d_incoming[PATH_MAX];	// Incoming spool directory
++EXTERN char d_incoming_copy[PATH_MAX]; // 3.1.16beta2.
++EXTERN char d_report[PATH_MAX];	// Incoming report spool directory
++EXTERN char d_report_copy[PATH_MAX];	// 3.1.17.
++EXTERN char d_phonecalls[PATH_MAX];    // Incoming phonecalls data directory
++EXTERN char d_saved[PATH_MAX];         // Directory for smsd's internal use, concatenation storage files etc.
++EXTERN char d_sent[PATH_MAX];		// Sent spool directory
++EXTERN char d_sent_copy[PATH_MAX];	// 3.1.17.
++EXTERN char d_checked[PATH_MAX];	// Spool directory for checked messages (only used when no provider queues used)
++EXTERN char eventhandler[PATH_MAX];	// Global event handler program or script
++EXTERN char alarmhandler[PATH_MAX];	// Global alarm handler program or script
++EXTERN char checkhandler[PATH_MAX];    // Handler that checks if the sms file is valid.
++EXTERN int alarmlevel;			// Alarm Level (9=highest). Verbosity of alarm handler.
++EXTERN char logfile[PATH_MAX];		// Name or Handle of Log File
++EXTERN int  loglevel;			// Log Level (9=highest). Verbosity of log file.
++EXTERN _queue queues[NUMBER_OF_MODEMS]; // Queues
++EXTERN _device devices[NUMBER_OF_MODEMS]; // Modem devices
++EXTERN int delaytime;			// sleep-time after workless
++EXTERN int delaytime_mainprocess;      // sleep-time after workless, main process. If -1, delaytime is used.
++EXTERN int blocktime;			// sleep-time after multiple errors
++EXTERN int blockafter;                 // Block modem after n errors
++EXTERN int errorsleeptime;		// sleep-time after each error
++EXTERN int autosplit;			// Splitting of large text messages 0=no, 1=yes 2=number with text, 3=number with UDH
++EXTERN int receive_before_send;	// if 1 smsd tries to receive one message before sending
++EXTERN int store_received_pdu;         // 0=no, 1=unsupported pdu's only, 2=unsupported and 8bit/unicode, 3=all
++EXTERN int store_sent_pdu;             // 0=no, 1=failed pdu's only, 2=failed and 8bit/unicode, 3=all
++EXTERN int validity_period;            // Validity period for messages.
++EXTERN int decode_unicode_text;        // 1 if unicode text is decoded internally.
++EXTERN int internal_combine;           // 1 if multipart message is combined internally.
++EXTERN int internal_combine_binary;    // 1 if multipart binary message is combined internally. Defaults to internal_combine.
++EXTERN int keep_filename;              // 0 if unique filename is created to each directory when a message file is moved.
++EXTERN int store_original_filename;    // 1 if an original filename is saved to message file when it's moved from
+                                 // outgoing directory to spooler. Works together with keep_filename.
+-int date_filename;              // 1 or 2 if YYYYMMDD is included to the filename of incoming message.
+-char regular_run[PATH_MAX];     // Script/program which is run regularly.
+-int regular_run_interval;       // Number of seconds between running a regular_run script/progdam.
+-char admin_to[SIZE_TO];         // Destination number for administrative messages.
+-int filename_preview;           // Number of chars of message text to concatenate to filename.
+-int incoming_utf8;              // 1 if incoming files are saved using UTF-8 character set.
+-int outgoing_utf8;              // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM.
+-int log_charconv;               // 1 if character set conversion is logged.
+-int log_single_lines;           // 1 if linefeeds are removed from the modem response to be logged.
+-int executable_check;           // 0 if eventhandler and other executables are NOT checked during the startup checking.
+-int keep_messages;              // For testing purposes: messages are not deleted and smsd stops after first run.
+-char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages.
+-int ic_purge_hours;             // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes
+-int ic_purge_minutes;           // and if there is message parts older than defined, they are handled or deleted.
+-int ic_purge_read;              // 1 = message parts are stored as single messages. 0 = parts are just deleted.
+-int ic_purge_interval;          // 
+-char shell[PATH_MAX];           // Shell used to run eventhandler, defaults to /bin/sh
+-char adminmessage_device[32];   // Name of device used to send administrative messages of mainspooler.
+-int smart_logging;              // 1 = if loglevel is less than 7, degug log is written is there has been any errors.
+-int status_signal_quality;      // 1 = signal quality is written to status file.
+-int status_include_counters;    // 1 = succeeded, failed and received counters are included in the status line.
+-int status_include_uptime;      // 3.1.16beta: 1 = include started & uptime line in the status file.
+-int hangup_incoming_call;       // 1 = if detected unexpected input contains RING and we want to end call.
+-int max_continuous_sending;     // Defines when sending is breaked to do check/do other tasks. Time in minutes.
+-int voicecall_hangup_ath;       // If ATH is used instead of AT+CHUP.
++EXTERN int date_filename;              // 1 or 2 if YYYYMMDD is included to the filename of incoming message.
++EXTERN char regular_run[PATH_MAX];     // Script/program which is run regularly.
++EXTERN int regular_run_interval;       // Number of seconds between running a regular_run script/progdam.
++EXTERN char admin_to[SIZE_TO];         // Destination number for administrative messages.
++EXTERN int filename_preview;           // Number of chars of message text to concatenate to filename.
++EXTERN int incoming_utf8;              // 1 if incoming files are saved using UTF-8 character set.
++EXTERN int outgoing_utf8;              // 1 if outgoing files are automatically converted from UTF-8 to ISO and GSM.
++EXTERN int log_charconv;               // 1 if character set conversion is logged.
++EXTERN int log_single_lines;           // 1 if linefeeds are removed from the modem response to be logged.
++EXTERN int executable_check;           // 0 if eventhandler and other executables are NOT checked during the startup checking.
++EXTERN int keep_messages;              // For testing purposes: messages are not deleted and smsd stops after first run.
++EXTERN char priviledged_numbers[SIZE_PRIVILEDGED_NUMBERS]; // Priviledged numbers in incoming messages.
++EXTERN int ic_purge_hours;             // If internal_combine is used, concatenation storage is checked every ic_purge_interval minutes
++EXTERN int ic_purge_minutes;           // and if there is message parts older than defined, they are handled or deleted.
++EXTERN int ic_purge_read;              // 1 = message parts are stored as single messages. 0 = parts are just deleted.
++EXTERN int ic_purge_interval;          // 
++EXTERN char shell[PATH_MAX];           // Shell used to run eventhandler, defaults to /bin/sh
++EXTERN char adminmessage_device[32];   // Name of device used to send administrative messages of mainspooler.
++EXTERN int smart_logging;              // 1 = if loglevel is less than 7, degug log is written is there has been any errors.
++EXTERN int status_signal_quality;      // 1 = signal quality is written to status file.
++EXTERN int status_include_counters;    // 1 = succeeded, failed and received counters are included in the status line.
++EXTERN int status_include_uptime;      // 3.1.16beta: 1 = include started & uptime line in the status file.
++EXTERN int hangup_incoming_call;       // 1 = if detected unexpected input contains RING and we want to end call.
++EXTERN int max_continuous_sending;     // Defines when sending is breaked to do check/do other tasks. Time in minutes.
++EXTERN int voicecall_hangup_ath;       // If ATH is used instead of AT+CHUP.
+ 
+ // 3.1.5:
+-int trust_outgoing;             // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling.
++EXTERN int trust_outgoing;             // 1 = it's _sure_ that files are created by rename AND permissions are correct. Speeds up spooling.
+ 
+ // 3.1.5:
+-int ignore_outgoing_priority;   // 1 = Priority: high header is not checked. Speeds up spooling.
++EXTERN int ignore_outgoing_priority;   // 1 = Priority: high header is not checked. Speeds up spooling.
+ 
+ // 3.1.7:
+-int ignore_exec_output;         // 1 = stdout and stderr of eventhandlers is _not_ checked.
++EXTERN int ignore_exec_output;         // 1 = stdout and stderr of eventhandlers is _not_ checked.
+ 
+ // 3.1.7:
+-mode_t conf_umask;              // File mode creation mask for smsd and modem processes.
++EXTERN mode_t conf_umask;              // File mode creation mask for smsd and modem processes.
+ 
+ // 3.1.7:
+-int trim_text;                  // 1 = trailing whitespaces are removed from text:
++EXTERN int trim_text;                  // 1 = trailing whitespaces are removed from text:
+ 
+ // 3.1.7:
+-int use_linux_ps_trick;         // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc.
++EXTERN int use_linux_ps_trick;         // 1 = change argv[0] to "smsd: MAINPROCESS", "smsd: GSM1" etc.
+ 
+ // 3.1.7:
+-int log_unmodified;
++EXTERN int log_unmodified;
+ 
+ // 3.1.7:
+-char suspend_filename[PATH_MAX];
++EXTERN char suspend_filename[PATH_MAX];
+ 
+ // 3.1.9:
+-int spool_directory_order;
++EXTERN int spool_directory_order;
+ 
+ // 3.1.9: 1 if read_from_modem is logged.
+-int log_read_from_modem;
++EXTERN int log_read_from_modem;
+ 
+ // 3.1.16beta2: log_read_timing for performance tuning.
+-int log_read_timing;
++EXTERN int log_read_timing;
+ 
+ // 3.1.16beta:
+-int log_response_time;
++EXTERN int log_response_time;
+ 
+ // 3.1.16beta2:
+-int default_alphabet;
++EXTERN int default_alphabet;
+ 
+ // 3.1.17: Child process for the mainprocess:
+-char mainprocess_child[PATH_MAX];
+-char mainprocess_child_args[PATH_MAX];
++EXTERN char mainprocess_child[PATH_MAX];
++EXTERN char mainprocess_child_args[PATH_MAX];
+ 
+ // 3.1.17: Notifier for the mainprocess:
+-int mainprocess_notifier;
++EXTERN int mainprocess_notifier;
+ 
+ // 3.1.17: If *_copy was made, evenhandler can use it instead of original file:
+-int eventhandler_use_copy;
++EXTERN int eventhandler_use_copy;
+ 
+ // 3.1.17: This defines how long to sleep while looping:
+-int sleeptime_mainprocess;
++EXTERN int sleeptime_mainprocess;
+ 
+ // 3.1.17: Defines how often PID is checked to detect if another smsd is running:
+-int check_pid_interval;
++EXTERN int check_pid_interval;
+ 
+ // 3.1.18: start script/program for mainprocess:
+-char mainprocess_start[PATH_MAX];
+-char mainprocess_start_args[PATH_MAX];
++EXTERN char mainprocess_start[PATH_MAX];
++EXTERN char mainprocess_start_args[PATH_MAX];
+ 
+-int message_count;              // Counter for sent messages. Multipart message is one message.
++EXTERN int message_count;              // Counter for sent messages. Multipart message is one message.
+ 
+-volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received.
+-volatile sig_atomic_t terminate; // To terminate when SIGTERM is received.
++EXTERN volatile sig_atomic_t break_workless_delay; // To break the delay when SIGCONT is received.
++EXTERN volatile sig_atomic_t terminate; // To terminate when SIGTERM is received.
+ 
+-char username[65];              // user and group name which are used to run.
+-char groupname[65];             // (max length is just a guess)
++EXTERN char username[65];              // user and group name which are used to run.
++EXTERN char groupname[65];             // (max length is just a guess)
+ 
+-char infofile[PATH_MAX];        // Hepler file for stopping the smsd smoothly.
+-char pidfile[PATH_MAX];         // File where a process id is stored.
++EXTERN char infofile[PATH_MAX];        // Hepler file for stopping the smsd smoothly.
++EXTERN char pidfile[PATH_MAX];         // File where a process id is stored.
+ 
+ // Command line arguments:
+-char arg_username[65];
+-char arg_groupname[65];
+-char arg_infofile[PATH_MAX];
+-char arg_pidfile[PATH_MAX];
+-char arg_logfile[PATH_MAX];
+-int arg_terminal;
++EXTERN char arg_username[65];
++EXTERN char arg_groupname[65];
++EXTERN char arg_infofile[PATH_MAX];
++EXTERN char arg_pidfile[PATH_MAX];
++EXTERN char arg_logfile[PATH_MAX];
++EXTERN int arg_terminal;
+ // 3.1.7:
+-char arg_7bit_packed[512];
+-int do_encode_decode_arg_7bit_packed;
++EXTERN char arg_7bit_packed[512];
++EXTERN int do_encode_decode_arg_7bit_packed;
+ 
+-int terminal;                   // 1 if smsd is communicating with terminal.
+-pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes.
+-char run_info[PATH_MAX];        // Information about external script/program execution.
++EXTERN int terminal;                   // 1 if smsd is communicating with terminal.
++EXTERN pid_t device_pids[NUMBER_OF_MODEMS]; // Pid's of modem processes.
++EXTERN char run_info[PATH_MAX];        // Information about external script/program execution.
+ 
+-char communicate[32];           // Device name for terminal communication mode.
++EXTERN char communicate[32];           // Device name for terminal communication mode.
+ 
+-char international_prefixes[PATH_MAX +1];
+-char national_prefixes[PATH_MAX +1];
++EXTERN char international_prefixes[PATH_MAX +1];
++EXTERN char national_prefixes[PATH_MAX +1];
+ 
+ // Storage for startup errors:
+-char *startup_err_str;
+-int startup_err_count;
++EXTERN char *startup_err_str;
++EXTERN int startup_err_count;
+ 
+ // Storage for PDU's:
+-char *incoming_pdu_store;
+-char *outgoing_pdu_store;
+-char *routed_pdu_store;
++EXTERN char *incoming_pdu_store;
++EXTERN char *outgoing_pdu_store;
++EXTERN char *routed_pdu_store;
+ 
+ // Storage for getfile errors:
+-char *getfile_err_store;
++EXTERN char *getfile_err_store;
+ 
+ // Text buffer for error messages:
+-char tb[SIZE_TB];
++EXTERN char tb[SIZE_TB];
+ 
+ // Buffer for SIM memory checking:
+-char *check_memory_buffer;
+-size_t check_memory_buffer_size;
++EXTERN char *check_memory_buffer;
++EXTERN size_t check_memory_buffer_size;
+ 
+-int os_cygwin;                  // 1 if we are on Cygwin.
++EXTERN int os_cygwin;                  // 1 if we are on Cygwin.
+ 
+-char language_file[PATH_MAX];   // File name of translated headers.
+-char yes_chars[SIZE_HEADER];    // Characters which mean "yes" in the yesno() question.
+-char no_chars[SIZE_HEADER];     // See details inside read_translation() function.
+-char yes_word[SIZE_HEADER];     // "yes" printed as an output.
+-char no_word[SIZE_HEADER];      // "no"
+-char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports).
+-char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps
+-char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename
+-int translate_incoming;         // 0 if incoming message headers are NOT transtaled.
++EXTERN char language_file[PATH_MAX];   // File name of translated headers.
++EXTERN char yes_chars[SIZE_HEADER];    // Characters which mean "yes" in the yesno() question.
++EXTERN char no_chars[SIZE_HEADER];     // See details inside read_translation() function.
++EXTERN char yes_word[SIZE_HEADER];     // "yes" printed as an output.
++EXTERN char no_word[SIZE_HEADER];      // "no"
++EXTERN char datetime_format[SIZE_HEADER]; // strftime format string for time stamps (not inside status reports).
++EXTERN char logtime_format[SIZE_HEADER]; // 3.1.7: strftime format string for logging time stamps
++EXTERN char date_filename_format[SIZE_HEADER]; // 3.1.7: strftime format string for date_filename
++EXTERN int translate_incoming;         // 0 if incoming message headers are NOT transtaled.
+ 
+ // 3.1.14:
+-int logtime_us;
+-int logtime_ms;
++EXTERN int logtime_us;
++EXTERN int logtime_ms;
+ 
+ // 3.1.14:
+-int shell_test;
++EXTERN int shell_test;
+ 
+ // Next two are for debugging purposes:
+-int enable_smsd_debug;
+-char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file.
++EXTERN int enable_smsd_debug;
++EXTERN char smsd_debug[SIZE_SMSD_DEBUG]; // Header of an outgoing message file.
+ 
+ // 3.1.20: Alt keys in communication mode:
+ #define COMMUNICATE_A_KEY_COUNT 10
+-char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256];
++EXTERN char communicate_a_keys[COMMUNICATE_A_KEY_COUNT][256];
+ 
+ /* initialize all variable with default values */
+ 
+diff --git a/src/stats.h b/src/stats.h
+index bd5cdc9..a614af1 100755
+--- a/src/stats.h
++++ b/src/stats.h
+@@ -33,17 +33,17 @@ typedef struct
+   int ber;
+ } _stats;
+ 
+-_stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!)
+-int rejected_counter;		// Statistic counter, rejected SM, number does not fit into any queue
+-time_t start_time;		// Start time of smsd, allows statistic functions
+-int printstatus;		// if 1 smsd outputs status on stdout
+-time_t last_stats;		// time when the last stats file was created
+-char d_stats[PATH_MAX];		// path to statistic files
+-int stats_interval;		// time between statistic files in seconds.
+-int stats_no_zeroes;		// Suppress files that contain only zeroes
+-int status_interval;            // time between updating status file in seconds
+-
+-char *shared_buffer;
++EXTERN _stats* statistics[NUMBER_OF_MODEMS]; // Statistic data (shared memory!)
++EXTERN int rejected_counter;		// Statistic counter, rejected SM, number does not fit into any queue
++EXTERN time_t start_time;		// Start time of smsd, allows statistic functions
++EXTERN int printstatus;		// if 1 smsd outputs status on stdout
++EXTERN time_t last_stats;		// time when the last stats file was created
++EXTERN char d_stats[PATH_MAX];		// path to statistic files
++EXTERN int stats_interval;		// time between statistic files in seconds.
++EXTERN int stats_no_zeroes;		// Suppress files that contain only zeroes
++EXTERN int status_interval;            // time between updating status file in seconds
++
++EXTERN char *shared_buffer;
+ 
+ /* Creates shared memory variables for statistic data */
+ 
+diff --git a/src/whitelist.c b/src/whitelist.c
+index 4ee7a69..3d90bf4 100755
+--- a/src/whitelist.c
++++ b/src/whitelist.c
+@@ -17,11 +17,11 @@ Either version 2 of the License, or (at your option) any later version.
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
++#include "smsd_cfg.h"
+ #include "whitelist.h"
+ #include "extras.h"
+ #include "logging.h"
+ #include "alarm.h"
+-#include "smsd_cfg.h"
+ 
+ /* Used with >= 3.1x */
+ int inwhitelist_q(char* msisdn, char *queuename)
+diff --git a/src/whitelist.h b/src/whitelist.h
+index 88aea86..3f904f4 100755
+--- a/src/whitelist.h
++++ b/src/whitelist.h
+@@ -15,7 +15,7 @@ Either version 2 of the License, or (at your option) any later version.
+ #ifndef WHITE_H
+ #define WHITE_H
+ 
+-char whitelist[256];	// Filename of the white-list
++EXTERN char whitelist[256];	// Filename of the white-list
+ 
+ /* Used with >= 3.1x */
+ int inwhitelist_q(char* msisdn, char *queuename);
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb b/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
index 6e6413b..ca40957 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
@@ -7,7 +7,9 @@
 
 SRC_URI = "http://smstools3.kekekasvi.com/packages/${BP}.tar.gz \
            file://sms_binpath.patch \
-           file://scripts_no_bash.patch"
+           file://scripts_no_bash.patch \
+           file://0001-Make-extern-declarations-to-avoid-duplicate-var-defi.patch \
+           "
 
 SRC_URI[md5sum] = "6a9f038fb38a49cc3a4f8f14a88fb8af"
 SRC_URI[sha256sum] = "a26ba4c02b16f6cf13177bffca6c9230dc5fefaeba8e3030cd4e4905f6a92084"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
index 7284234..3860fd8 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
@@ -1,4 +1,5 @@
 DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
+HOMEPAGE = "https://github.com/libimobiledevice/usbmuxd"
 LICENSE = "GPLv3 & GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=ebb5c50ab7cab4baeffba14977030c07 \
                     file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504"
@@ -9,7 +10,7 @@
 
 PKGV = "${GITPKGVTAG}"
 
-SRCREV = "ee85938c21043ef5f7cd4dfbc7677f385814d4d8"
+SRCREV = "79c8b38d1488a6b07e1e68f39d8caec3f1a45622"
 SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/fno-common.patch b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/fno-common.patch
new file mode 100644
index 0000000..fc5e2e9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/files/fno-common.patch
@@ -0,0 +1,29 @@
+Mark extern variables with 'extern' keyword
+
+This ensures that compilers with -fno-common does not generate multiple definitions
+
+Upstream-Status: Pending
+Signedd-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/lib/wfa_cs.c
++++ b/lib/wfa_cs.c
+@@ -71,7 +71,7 @@ int wfaExecuteCLI(char *CLI);
+ 
+ /* Since the two definitions are used all over the CA function */
+ char gCmdStr[WFA_CMD_STR_SZ];
+-dutCmdResponse_t gGenericResp;
++extern dutCmdResponse_t gGenericResp;
+ int wfaTGSetPrio(int sockfd, int tgClass);
+ void create_apts_msg(int msg, unsigned int txbuf[],int id);
+ 
+--- a/lib/wfa_thr.c
++++ b/lib/wfa_thr.c
+@@ -41,7 +41,7 @@
+ /*
+  * external global thread sync variables
+  */
+-tgWMM_t wmm_thr[WFA_THREADS_NUM];
++extern tgWMM_t wmm_thr[WFA_THREADS_NUM];
+ extern int resetsnd;
+ extern int resetrcv;
+ extern int newCmdOn;
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
index 99cfb32..cb39f5a 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
@@ -8,12 +8,13 @@
 SECTION = "test"
 
 S = "${WORKDIR}/git"
-SRCREV = "f7a8d7ef7d1a831c1bb47de21fa083536ea2f3a9"
+SRCREV = "2da947374c8324f88a0e2155aeba4cf75464b0d8"
 SRC_URI = "git://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT.git \
 	file://0001-Use-toolchain-from-environment-variables.patch \
 	file://0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch \
 	file://0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch \
 	file://0004-run-ranlib-per-library-and-use-AR.patch \
+        file://fno-common.patch \
 "
 
 # to avoid host path QA error
diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v69.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb
rename to meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v69.bb
index da0c656..396da4b 100644
--- a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v67.bb
+++ b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v69.bb
@@ -10,7 +10,7 @@
 
 inherit autotools-brokensep pkgconfig bash-completion systemd
 
-SRCREV = "637bb424dc317a044c722a671355ef9df0e0d30f"
+SRCREV = "ea62d6d53bf6f806c4841e97a370201e18446860"
 SRC_URI = "git://github.com/pmem/ndctl.git"
 
 DEPENDS = "kmod udev json-c keyutils"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb
index d14ec53..937b350 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_git.bb
@@ -3,12 +3,12 @@
 
 # The LICENSE is BSD 2-Clause "Simplified" License
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=232257bbf7320320725ca9529d3782ab"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
 
 SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https"
 
 PV = "2.2.12+git${SRCPV}"
-SRCREV = "af79aebe4649f30dbd711c1bf6fc661eac6e5f01"
+SRCREV = "a9e57b199ff1e8d03fa3e5c53c5544de3dc72fe6"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb
index dec1bea..d262dd1 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb
@@ -1,11 +1,12 @@
 SUMMARY  = "OpenCL API Headers"
 DESCRIPTION = "OpenCL compute API headers from Khronos Group"
-LICENSE  = "Khronos"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b"
+LICENSE  = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 SECTION = "base"
 
 S = "${WORKDIR}/git"
-SRCREV = "40c5d226c7c0706f0176884e9b94b3886679c983"
+# v2020.06.16
+SRCREV = "b04034a17e214322772c19e7ccd2adf0cd306920"
 SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git"
 
 do_configure[noexec] = "1"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
index 7c49c8d..ed27b26 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
@@ -1,24 +1,27 @@
 SUMMARY  = "OpenCL ICD Loader"
 DESCRIPTION = "OpenCL compute ICD Loader from Khronos Group"
-LICENSE  = "Khronos"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ec724732ce73269486574c718ef0c79b"
+LICENSE  = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 SECTION = "base"
 
+DEPENDS += "opencl-headers"
+
 inherit pkgconfig cmake
 
 S = "${WORKDIR}/git"
-SRCREV = "b342ff7b7f70a4b3f2cfc53215af8fa20adc3d86"
+PV = "2020.06.16+git${SRCPV}"
+SRCREV = "862eebe7ca733c398334a8db8481172a7d3a3c47"
 SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git"
 
 do_install () {
 	install -d ${D}${bindir}
-	install -m 0755 ${B}/bin/icd_loader_test ${D}${bindir}/
+	install -m 0755 ${B}/test/loader_test/icd_loader_test ${D}${bindir}/
 	chrpath -d ${D}${bindir}/icd_loader_test
 	install -d ${D}${libdir}
-	install -m 0644 ${B}/lib/libIcdLog.so ${D}${libdir}/
-	install -m 0644 ${B}/lib/libOpenCLDriverStub.so ${D}${libdir}/
+	install -m 0644 ${B}/test/log/libIcdLog.so ${D}${libdir}/
+	install -m 0644 ${B}/test/driver_stub/libOpenCLDriverStub.so ${D}${libdir}/
 	chrpath -d ${D}${libdir}/libOpenCLDriverStub.so
-	install -m 0644 ${B}/lib/libOpenCL.so.1.2 ${D}${libdir}/
+	install -m 0644 ${B}/libOpenCL.so.1.2 ${D}${libdir}/
 	cd ${D}${libdir}
 	ln -s libOpenCL.so.1.2 libOpenCL.so.1
 	ln -s libOpenCL.so.1 libOpenCL.so
@@ -41,5 +44,4 @@
 FILES_libicdlog = "${libdir}/libIcdLog.so"
 FILES_libicdlog-dbg = "${libdir}/.debug/libIcdLog.so"
 
-DEPENDS = "opencl-headers"
 RDEPENDS_${PN} = "libicdlog"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb
index c4d63fd..82860a8 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.1.bb
@@ -26,7 +26,12 @@
 
 S = "${WORKDIR}/git"
 
-FILES_${PN}_remove = "${sysconfdir}"
-FILES_${PN}-ptest += "${sysconfdir}/dbus-1/system.d/"
-FILES_${PN}-ptest += "${libdir}/${BPN}/tests"
+do_install_append() {
+    if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
+        rm -rf ${D}${sysconfdir}/dbus-1
+    fi
+}
+
+PTEST_PATH = "${libdir}/${BPN}/tests"
+FILES_${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
 FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch
deleted file mode 100644
index e713665..0000000
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 7b5dd67fee58f9f54c8a676abe2131776c0a3c52 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 20 Nov 2019 13:41:39 -0800
-Subject: [PATCH] Use __builtin_bswap32 on Clang if supported
-
-clang pretends to be gcc 4.2.1 so GCC_VERSION macro will decide that
-__builtin_bswap32 is not supported on clang, whereas in reality it might
-so its better to add a check for enquiring clang if it supports
-__builtin_bswap32 or not
-
-Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/83]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/kcapi-kdf.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
-index 9e53a0b..f32fbe9 100644
---- a/lib/kcapi-kdf.c
-+++ b/lib/kcapi-kdf.c
-@@ -54,10 +54,14 @@
- #include "kcapi.h"
- #include "internal.h"
- 
-+#ifndef __has_builtin
-+# define __has_builtin(x) 0
-+#endif
-+
- #define GCC_VERSION (__GNUC__ * 10000		\
- 		     + __GNUC_MINOR__ * 100	\
- 		     + __GNUC_PATCHLEVEL__)
--#if GCC_VERSION >= 40400
-+#if GCC_VERSION >= 40400 || (defined(__clang__) && __has_builtin(__builtin_bswap32))
- # define __HAVE_BUILTIN_BSWAP32__
- #endif
- 
--- 
-2.24.0
-
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch
deleted file mode 100644
index 7ed9caf..0000000
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 8f961521add49278b48c9721fc53e05ee3543b74 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 16 Nov 2019 23:03:51 -0800
-Subject: [PATCH] kcapi-kdf: Move code to fix
-
-Fixes clang build
-unused function '_bswap32' [-Werror,-Wunused-function]
-
-Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/83]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/kcapi-kdf.c | 37 +++++++++++++++++--------------------
- 1 file changed, 17 insertions(+), 20 deletions(-)
-
-diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
-index ea39846..9e53a0b 100644
---- a/lib/kcapi-kdf.c
-+++ b/lib/kcapi-kdf.c
-@@ -54,6 +54,20 @@
- #include "kcapi.h"
- #include "internal.h"
- 
-+#define GCC_VERSION (__GNUC__ * 10000		\
-+		     + __GNUC_MINOR__ * 100	\
-+		     + __GNUC_PATCHLEVEL__)
-+#if GCC_VERSION >= 40400
-+# define __HAVE_BUILTIN_BSWAP32__
-+#endif
-+
-+/* Endian dependent byte swap operations.  */
-+#if  __BYTE_ORDER__ ==  __ORDER_BIG_ENDIAN__
-+# define be_bswap32(x) ((uint32_t)(x))
-+#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-+# ifdef __HAVE_BUILTIN_BSWAP32__
-+#  define be_bswap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
-+# else
- static inline uint32_t rol32(uint32_t x, int n)
- {
- 	return ( (x << (n&(32-1))) | (x >> ((32-n)&(32-1))) );
-@@ -68,27 +82,10 @@ static inline uint32_t _bswap32(uint32_t x)
- {
- 	return ((rol32(x, 8) & 0x00ff00ffL) | (ror32(x, 8) & 0xff00ff00L));
- }
--
--#define GCC_VERSION (__GNUC__ * 10000		\
--		     + __GNUC_MINOR__ * 100	\
--		     + __GNUC_PATCHLEVEL__)
--#if GCC_VERSION >= 40400
--# define __HAVE_BUILTIN_BSWAP32__
--#endif
--
--#ifdef __HAVE_BUILTIN_BSWAP32__
--# define _swap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
--#else
--# define _swap32(x) _bswap32(x)
--#endif
--
--/* Endian dependent byte swap operations.  */
--#if __BYTE_ORDER__ ==  __ORDER_BIG_ENDIAN__
--# define be_bswap32(x) ((uint32_t)(x))
--#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
--# define be_bswap32(x) _swap32(x)
-+#  define be_bswap32(x) _bswap32(x)
-+# endif
- #else
--#error "Endianess not defined"
-+# error "endianess not defined"
- #endif
- 
- DSO_PUBLIC
--- 
-2.24.0
-
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.0.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
rename to meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.0.bb
index 4e217a3..b478e4c 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.0.bb
@@ -1,18 +1,13 @@
 SUMMARY = "Linux Kernel Crypto API User Space Interface Library"
 HOMEPAGE = "http://www.chronox.de/libkcapi.html"
 LICENSE = "BSD | GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=14d5a68b28755c04ebdba226e888b157"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c78be93ed8d1637f2a3f4a83ff9d5f54"
 
 DEPENDS = "libtool"
 
 S = "${WORKDIR}/git"
-SRCREV = "5649050d201856bf06c8738b5d2aa1710c86ac2f"
-PV = "1.1.5"
-SRC_URI = " \
-    git://github.com/smuellerDD/libkcapi.git \
-    file://0001-kcapi-kdf-Move-code-to-fix.patch \
-    file://0001-Use-__builtin_bswap32-on-Clang-if-supported.patch \
-"
+SRCREV = "8397f0f7c45264a3b9aff5a1f9119df25eeb4c60"
+SRC_URI = "git://github.com/smuellerDD/libkcapi.git"
 
 inherit autotools
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.4.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.4.bb
index e1a038d..73b2a09 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.4.12.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.4.bb
@@ -2,7 +2,7 @@
 inherit native
 
 PROVIDES += "mysql5-native"
-DEPENDS = "ncurses-native zlib-native bison-native"
+DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native"
 
 RDEPENDS_${PN} = ""
 PACKAGES = ""
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 95f5acb..1aa1f68 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -18,11 +18,10 @@
            file://c11_atomics.patch \
            file://clang_version_header_conflict.patch \
            file://fix-arm-atomic.patch \
-           file://0001-Fix-build-breakage-from-lock_guard-error-6161.patch \
            file://0001-Fix-library-LZ4-lookup.patch \
+           file://0001-MDEV-23137-RocksDB-undefined-reference-to-crc32c_arm.patch \
           "
-SRC_URI[md5sum] = "97d7c0f508c04a31c138fdb24e95dbc4"
-SRC_URI[sha256sum] = "fef1e1d38aa253dd8a51006bd15aad184912fce31c446bb69434fcde735aa208"
+SRC_URI[sha256sum] = "26db2becc9cec37e99a4e73390bd2eaa74568e21f9cf110359f4f68b37154c72"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -78,6 +77,7 @@
                  -DNROFF=FALSE \
                  -DENABLE_DTRACE=FALSE \
                  -DWITH_PIC=ON \
+                 -DWITH_PCRE=system \
                  -DINSTALL_LAYOUT=RPM \
                  -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \
                  -DINSTALL_LIBDIR:PATH=${baselib} \
@@ -169,8 +169,12 @@
         mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
     fi
     if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
-        mv ${D}/lib/security ${D}/${libdir}
-        rmdir --ignore-fail-on-non-empty ${D}/lib
+        pam_so=$(find ${D} -name pam_user_map.so)
+        if [ x"${pam_so}" != x ]; then
+            pam_dir=$(dirname ${pam_so})
+            mv ${pam_dir} ${D}/${libdir}
+            rmdir --ignore-fail-on-non-empty ${pam_dir%security}
+        fi
     fi
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch
deleted file mode 100644
index 87c7061..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-build-breakage-from-lock_guard-error-6161.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Subject: [PATCH] Fix build breakage from lock_guard error (#6161)
-
-Summary:
-This change fixes a source issue that caused compile time error which
-breaks build for many fbcode services in that setup. The size() member
-function of channel is a const member, so member variables accessed
-within it are implicitly const as well. This caused error when clang
-fails to resolve to a constructor that takes std::mutex because the
-suitable constructor got rejected due to loss of constness for its
-argument. The fix is to add mutable modifier to the lock_ member of
-channel.
-
-Pull Request resolved: https://github.com/facebook/rocksdb/pull/6161
-
-Differential Revision: D18967685
-
-Pulled By: maysamyabandeh
-
-Upstream-Status: Backport
-
-fbshipit-source-id:698b6a5153c3c92eeacb842c467aa28cc350d432 
---- a/storage/rocksdb/rocksdb/util/channel.h
-+++ b/storage/rocksdb/rocksdb/util/channel.h
-@@ -60,7 +60,7 @@ class channel {
- 
-  private:
-   std::condition_variable cv_;
--  std::mutex lock_;
-+  mutable std::mutex lock_;
-   std::queue<T> buffer_;
-   bool eof_;
- };
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-23137-RocksDB-undefined-reference-to-crc32c_arm.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-23137-RocksDB-undefined-reference-to-crc32c_arm.patch
new file mode 100644
index 0000000..1856c1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-23137-RocksDB-undefined-reference-to-crc32c_arm.patch
@@ -0,0 +1,48 @@
+From d88ea260882ca414e940cd6af225617f00503f71 Mon Sep 17 00:00:00 2001
+From: Krunal Bauskar <krunalbauskar@gmail.com>
+Date: Mon, 27 Jul 2020 18:38:10 +0800
+Subject: [PATCH] MDEV-23137: RocksDB: undefined reference to crc32c_arm64
+
+RocksDB fails to build on arm64: undefined reference to
+            `crc32c_arm64(unsigned int, unsigned char const*, unsigned int)'
+
+MariaDB uses storage/rocksdb/build_rocksdb.cmake to compile RocksDB.
+Said cmake missed adding crc32c_arm64 compilation target so if
+machine native architecture supported crc32 then complier would enable
+usage of function defined in crc32c_arm64 causing the listed error.
+
+Added crc32c_arm64 complition target.
+
+closes #1642
+
+Upstream-Status: Backport
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ storage/rocksdb/build_rocksdb.cmake | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake
+index 3f3dca7e990..7d2252c5f77 100644
+--- a/storage/rocksdb/build_rocksdb.cmake
++++ b/storage/rocksdb/build_rocksdb.cmake
+@@ -442,6 +442,16 @@ else()
+       util/crc32c_ppc.c
+       util/crc32c_ppc_asm.S)
+   endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
++  # aarch
++  if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
++    CHECK_CXX_COMPILER_FLAG("-march=armv8-a+crc+crypto" HAS_ARMV8_CRC)
++    if(HAS_ARMV8_CRC)
++      message(STATUS " HAS_ARMV8_CRC yes")
++      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a+crc+crypto -Wno-unused-function")
++      list(APPEND ROCKSDB_SOURCES
++        util/crc32c_arm64.cc)
++    endif(HAS_ARMV8_CRC)
++  endif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64")
+ endif()
+ SET(SOURCES)
+ FOREACH(s ${ROCKSDB_SOURCES})
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
index 1699861..36217f9 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
@@ -1,7 +1,7 @@
-Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
-Date:   Fri Dec 21 19:14:04 2018 +0200
-
-   Link with libatomic to enable C11 atomics support
+From 976468458d53d8bb71acf48ddfc852a60557acb9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Vicen=C8=9Biu=20Ciorbaru?= <vicentiu@mariadb.org>
+Date: Thu, 23 Jul 2020 00:02:21 -0700
+Subject: [PATCH] Link with libatomic to enable C11 atomics support
 
    Some architectures (mips) require libatomic to support proper
    atomic operations. Check first if support is available without
@@ -9,10 +9,18 @@
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ configure.cmake      | 20 +++++++++++++++++++-
+ mysys/CMakeLists.txt |  4 ++++
+ sql/CMakeLists.txt   |  4 ++++
+ 3 files changed, 27 insertions(+), 1 deletion(-)
 
+diff --git a/configure.cmake b/configure.cmake
+index a355214..6ee595f 100644
 --- a/configure.cmake
 +++ b/configure.cmake
-@@ -926,7 +926,25 @@ int main()
+@@ -865,7 +865,25 @@ int main()
    long long int *ptr= &var;
    return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
  }"
@@ -39,10 +47,12 @@
  
  IF(WITH_VALGRIND)
    SET(HAVE_valgrind 1)
+diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
+index 3d8a20e..42f1441 100644
 --- a/mysys/CMakeLists.txt
 +++ b/mysys/CMakeLists.txt
-@@ -78,6 +78,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings
-  ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO} ${CRC32_LIBRARY})
+@@ -129,6 +129,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}
+  ${LIBNSL} ${LIBM} ${LIBRT} ${LIBDL} ${LIBSOCKET} ${LIBEXECINFO})
  DTRACE_INSTRUMENT(mysys)
  
 +IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
@@ -52,9 +62,11 @@
  IF(HAVE_BFD_H)
    TARGET_LINK_LIBRARIES(mysys bfd)  
  ENDIF(HAVE_BFD_H)
+diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
+index 616017b..53575f6 100644
 --- a/sql/CMakeLists.txt
 +++ b/sql/CMakeLists.txt
-@@ -178,6 +178,10 @@ ELSE()
+@@ -219,6 +219,10 @@ ELSE()
    SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
  ENDIF()
  
@@ -62,6 +74,9 @@
 +  TARGET_LINK_LIBRARIES(sql atomic)
 +ENDIF()
 +
- 
- IF(MSVC AND NOT WITHOUT_DYNAMIC_PLUGINS)
- 
+ IF(MSVC)
+   SET(libs_to_export_symbols sql mysys dbug strings)
+   # Create shared library of already compiled object
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
index afc1be4..4cb0443 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
@@ -1,6 +1,6 @@
-From 796464015bffe6e0beca9e1c355b223512803c3e Mon Sep 17 00:00:00 2001
+From cfce1491827e5a581878b5e166bf4d30e6d90e07 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
-Date: Wed, 27 Feb 2019 23:01:00 -0800
+Date: Thu, 23 Jul 2020 00:08:16 -0700
 Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
 
 Fix the below do_compile issue in cross-compiling env.
@@ -10,18 +10,17 @@
 Upstream-Status: Inappropriate [oe build specific]
 
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
-
 ---
  sql/CMakeLists.txt | 30 ++++++++++++++++++++----------
  1 file changed, 20 insertions(+), 10 deletions(-)
 
 diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
-index c6910f46..bf51f4cb 100644
+index 0dc3caa..616017b 100644
 --- a/sql/CMakeLists.txt
 +++ b/sql/CMakeLists.txt
-@@ -50,11 +50,16 @@ ${WSREP_INCLUDES}
- 
- 
+@@ -52,11 +52,16 @@ ${CMAKE_BINARY_DIR}/sql
+ ${CMAKE_SOURCE_DIR}/tpool
+ )
  
 -ADD_CUSTOM_COMMAND(
 -  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
@@ -39,9 +38,9 @@
 +   COMMAND gen_lex_token > lex_token.h)
 +ENDIF()
  
- ADD_DEFINITIONS(-DMYSQL_SERVER -DHAVE_EVENT_SCHEDULER)
- 
-@@ -370,11 +375,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
+ ADD_CUSTOM_COMMAND(
+   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc_ora.yy
+@@ -345,11 +350,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
    ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
  ENDIF()
  
@@ -61,5 +60,8 @@
 +   COMMAND gen_lex_hash > lex_hash.h)
 +ENDIF()
  
- MYSQL_ADD_EXECUTABLE(mysql_tzinfo_to_sql tztime.cc COMPONENT Server)
- SET_TARGET_PROPERTIES(mysql_tzinfo_to_sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
+ MYSQL_ADD_EXECUTABLE(mariadb-tzinfo-to-sql tztime.cc COMPONENT Server)
+ SET_TARGET_PROPERTIES(mariadb-tzinfo-to-sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.4.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.4.bb
index c0b5337..e6743fe 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.4.12.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.4.bb
@@ -2,7 +2,7 @@
 
 EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
 
-DEPENDS += "mariadb-native bison-native openssl ncurses zlib libaio libedit libevent libxml2"
+DEPENDS += "mariadb-native bison-native libpcre2 curl openssl ncurses zlib libaio libedit libevent libxml2"
 
 PROVIDES += "mysql5 libmysqlclient"
 
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 e874e4a..8efa31e 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
@@ -37,22 +37,22 @@
     if arch == "aarch64":
         tunes = d.getVar("TUNE_FEATURES")
         if not tunes:
-            raise bb.parse.SkipPackage("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
+            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.SkipPackage("%s-%s Needs support for crypto on armv8" % (pkgn, pkgv))
+            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.SkipPackage("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
+           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.SkipPackage("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
+            raise bb.parse.SkipRecipe("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
 
 }
 
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
new file mode 100644
index 0000000..6d4635b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Boost.URL is a library for manipulating Uniform Resource Identifiers (URI) and Locators (URL)"
+HOMEPAGE = "https://github.com/CPPAlliance/url"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/CPPAlliance/url.git"
+
+SRCREV = "a56ae0df6d3078319755fbaa67822b4fa7fd352b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+DEPENDS = "boost"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
index c6bab5e..71f94ba 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
 
 SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}"
-SRCREV = "3f44c6db0f0f6c0cab0633f15f15d0a2acd01d19"
+SRCREV = "57a4ca5af5a7f55b768a9d9d6655250bffb1257f"
 
 S = "${WORKDIR}/git/c++"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb
new file mode 100644
index 0000000..7f6c34e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "JSON schema validator for JSON for Modern C++"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c441d022da1b1663c70181a32225d006"
+
+SRC_URI = "git://github.com/pboettch/json-schema-validator"
+SRCREV = "27fc1d094503623dfe39365ba82581507524545c"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "nlohmann-json"
+
+inherit cmake
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF"
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
index 97c6361..e41907d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
@@ -11,6 +11,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
 
+PE = "1"
+
 SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2"
 SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch
new file mode 100644
index 0000000..a4cacb3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch
@@ -0,0 +1,52 @@
+From d983161415f5f5748fbdbaa5fbd168154ccf8867 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 5 Aug 2020 12:31:24 +0900
+Subject: [PATCH] Fix build with libmicrohttpd 0.9.71
+
+---
+ src/jsonrpccpp/server/connectors/httpserver.cpp | 2 +-
+ src/jsonrpccpp/server/connectors/httpserver.h   | 8 +++++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/jsonrpccpp/server/connectors/httpserver.cpp b/src/jsonrpccpp/server/connectors/httpserver.cpp
+index a849615..dd3b841 100644
+--- a/src/jsonrpccpp/server/connectors/httpserver.cpp
++++ b/src/jsonrpccpp/server/connectors/httpserver.cpp
+@@ -151,7 +151,7 @@ void HttpServer::SetUrlHandler(const string &url,
+   this->SetHandler(NULL);
+ }
+ 
+-int HttpServer::callback(void *cls, MHD_Connection *connection, const char *url,
++mhd_result HttpServer::callback(void *cls, MHD_Connection *connection, const char *url,
+                          const char *method, const char *version,
+                          const char *upload_data, size_t *upload_data_size,
+                          void **con_cls) {
+diff --git a/src/jsonrpccpp/server/connectors/httpserver.h b/src/jsonrpccpp/server/connectors/httpserver.h
+index 7785edb..0dcf032 100644
+--- a/src/jsonrpccpp/server/connectors/httpserver.h
++++ b/src/jsonrpccpp/server/connectors/httpserver.h
+@@ -32,6 +32,12 @@ typedef intptr_t ssize_t;
+ #include <map>
+ #include <microhttpd.h>
+ 
++#if MHD_VERSION >= 0x00097002
++#  define mhd_result enum MHD_Result
++#else
++#  define mhd_result int
++#endif
++
+ namespace jsonrpc {
+ /**
+  * This class provides an embedded HTTP Server, based on libmicrohttpd, to
+@@ -79,7 +85,7 @@ private:
+   std::map<std::string, IClientConnectionHandler *> urlhandler;
+   struct sockaddr_in loopback_addr;
+ 
+-  static int callback(void *cls, struct MHD_Connection *connection,
++  static mhd_result callback(void *cls, struct MHD_Connection *connection,
+                       const char *url, const char *method, const char *version,
+                       const char *upload_data, size_t *upload_data_size,
+                       void **con_cls);
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
index ca9675e..0ae3976 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
@@ -9,7 +9,10 @@
 
 DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
 
-SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp"
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
+	   file://0001-Fix-build-with-libmicrohttpd.patch \
+"
+
 SRCREV = "c696f6932113b81cd20cd4a34fdb1808e773f23e"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch b/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch
new file mode 100644
index 0000000..60a4125
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch
@@ -0,0 +1,45 @@
+From 6298903e35217ab69c279056f925fb72900ce0b7 Mon Sep 17 00:00:00 2001
+From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
+Date: Mon, 6 Jul 2020 12:11:54 -0300
+Subject: [PATCH] Keep minimum size when shrinking a stack
+
+When shrinking a stack (during GC), do not make it smaller than the
+initial stack size.
+---
+ ldo.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+==== end of original header ====
+
+CVE: CVE-2020-15888
+
+Upstream-Status: backport [https://github.com/lua/lua.git]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+====
+diff --git a/ldo.c b/ldo.c
+index c563b1d9..a89ac010 100644
+--- a/src/ldo.c
++++ b/src/ldo.c
+@@ -220,7 +220,7 @@ static int stackinuse (lua_State *L) {
+ 
+ void luaD_shrinkstack (lua_State *L) {
+   int inuse = stackinuse(L);
+-  int goodsize = inuse + (inuse / 8) + 2*EXTRA_STACK;
++  int goodsize = inuse + BASIC_STACK_SIZE;
+   if (goodsize > LUAI_MAXSTACK)
+     goodsize = LUAI_MAXSTACK;  /* respect stack limit */
+   if (L->stacksize > LUAI_MAXSTACK)  /* had been handling stack overflow? */
+@@ -229,8 +229,7 @@ void luaD_shrinkstack (lua_State *L) {
+     luaE_shrinkCI(L);  /* shrink list */
+   /* if thread is currently not handling a stack overflow and its
+      good size is smaller than current size, shrink its stack */
+-  if (inuse <= (LUAI_MAXSTACK - EXTRA_STACK) &&
+-      goodsize < L->stacksize)
++  if (inuse <= (LUAI_MAXSTACK - EXTRA_STACK) && goodsize < L->stacksize)
+     luaD_reallocstack(L, goodsize);
+   else  /* don't change stack */
+     condmovestack(L,{},{});  /* (change only for debugging) */
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb b/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
index a23a4a5..d3461b0 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.5.bb
@@ -7,6 +7,7 @@
 SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
            file://lua.pc.in \
            file://0001-Allow-building-lua-without-readline-on-Linux.patch \
+           file://CVE-2020-15888.patch \
            "
 
 # if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch
deleted file mode 100644
index aea48b6..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-Templatize-basic_json-ctor-from-json_ref.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From ec955f08b47ab7cb81f6e4a4c3e7b331ddf50f71 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Art=C3=B6m=20Bakri=20Al-Sarmini?= <3sz3tt+git@gmail.com>
-Date: Sun, 12 Apr 2020 22:32:39 +0300
-Subject: [PATCH] Templatize basic_json ctor from json_ref
-
-Upstream-Status: Backport [https://github.com/nlohmann/json/commit/ec955f08b47ab7cb81f6e4a4c3e7b331ddf50f71]
-Signed-off-by: Andrew Geissler <geissonator@gmail.com>
-
----
- include/nlohmann/detail/meta/type_traits.hpp | 13 ++++++++++++
- include/nlohmann/json.hpp                    |  8 ++++----
- single_include/nlohmann/json.hpp             | 21 ++++++++++++++++----
- 3 files changed, 34 insertions(+), 8 deletions(-)
-
-diff --git a/include/nlohmann/detail/meta/type_traits.hpp b/include/nlohmann/detail/meta/type_traits.hpp
-index 280f6953..dd0b3084 100644
---- a/include/nlohmann/detail/meta/type_traits.hpp
-+++ b/include/nlohmann/detail/meta/type_traits.hpp
-@@ -41,6 +41,19 @@ template<typename> struct is_basic_json : std::false_type {};
- NLOHMANN_BASIC_JSON_TPL_DECLARATION
- struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
-
-+//////////////////////
-+// jspn_ref helpers //
-+//////////////////////
-+
-+template <typename>
-+class json_ref;
-+
-+template<typename>
-+struct is_json_ref : std::false_type {};
-+
-+template <typename T>
-+struct is_json_ref<json_ref<T>> : std::true_type {};
-+
- //////////////////////////
- // aliases for detected //
- //////////////////////////
-diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp
-index 336d69fe..0598efc8 100644
---- a/include/nlohmann/json.hpp
-+++ b/include/nlohmann/json.hpp
-@@ -1773,10 +1773,10 @@ class basic_json
-     // other constructors and destructor //
-     ///////////////////////////////////////
-
--    /// @private
--    basic_json(const detail::json_ref<basic_json>& ref)
--        : basic_json(ref.moved_or_copied())
--    {}
-+    template <typename JsonRef,
-+              detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>,
-+                                  std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
-+    basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
-
-     /*!
-     @brief copy constructor
-diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
-index 09464f3b..8927180e 100644
---- a/single_include/nlohmann/json.hpp
-+++ b/single_include/nlohmann/json.hpp
-@@ -2794,6 +2794,19 @@ template<typename> struct is_basic_json : std::false_type {};
- NLOHMANN_BASIC_JSON_TPL_DECLARATION
- struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
-
-+//////////////////////
-+// jspn_ref helpers //
-+//////////////////////
-+
-+template <typename>
-+class json_ref;
-+
-+template<typename>
-+struct is_json_ref : std::false_type {};
-+
-+template <typename T>
-+struct is_json_ref<json_ref<T>> : std::true_type {};
-+
- //////////////////////////
- // aliases for detected //
- //////////////////////////
-@@ -16632,10 +16645,10 @@ class basic_json
-     // other constructors and destructor //
-     ///////////////////////////////////////
-
--    /// @private
--    basic_json(const detail::json_ref<basic_json>& ref)
--        : basic_json(ref.moved_or_copied())
--    {}
-+    template <typename JsonRef,
-+              detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>,
-+                                  std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
-+    basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
-
-     /*!
-     @brief copy constructor
---
-2.21.0 (Apple Git-122)
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch
deleted file mode 100644
index 6af4e97..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json/0001-typo-fix.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 70be9751cd60e622ce6463f41d47c02fc2d83cbc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Art=C3=B6m=20Bakri=20Al-Sarmini?= <3sz3tt+git@gmail.com>
-Date: Sun, 12 Apr 2020 23:42:26 +0300
-Subject: [PATCH] typo fix
-
-Upstream-Status: Backport [https://github.com/nlohmann/json/commit/70be9751cd60e622ce6463f41d47c02fc2d83cbc]
-
-Signed-off-by: Andrew Geissler <geissonator@gmail.com>
-
----
- include/nlohmann/detail/meta/type_traits.hpp | 2 +-
- single_include/nlohmann/json.hpp             | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/nlohmann/detail/meta/type_traits.hpp b/include/nlohmann/detail/meta/type_traits.hpp
-index dd0b3084..13e92cb4 100644
---- a/include/nlohmann/detail/meta/type_traits.hpp
-+++ b/include/nlohmann/detail/meta/type_traits.hpp
-@@ -42,7 +42,7 @@ NLOHMANN_BASIC_JSON_TPL_DECLARATION
- struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
-
- //////////////////////
--// jspn_ref helpers //
-+// json_ref helpers //
- //////////////////////
-
- template <typename>
-diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
-index 8927180e..294e7509 100644
---- a/single_include/nlohmann/json.hpp
-+++ b/single_include/nlohmann/json.hpp
-@@ -2795,7 +2795,7 @@ NLOHMANN_BASIC_JSON_TPL_DECLARATION
- struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
-
- //////////////////////
--// jspn_ref helpers //
-+// json_ref helpers //
- //////////////////////
-
- template <typename>
---
-2.21.0 (Apple Git-122)
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb
index 5766194..0f5ef70 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.7.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.0.bb
@@ -2,14 +2,12 @@
 HOMEPAGE = "https://nlohmann.github.io/json/"
 SECTION = "libs"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f5f7c71504da070bcf4f090205ce1080"
+LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=dd0607f896f392c8b7d0290a676efc24"
 
 SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1 \
-           file://0001-Templatize-basic_json-ctor-from-json_ref.patch \
-           file://0001-typo-fix.patch \
            "
 
-SRCREV = "e7b3b40b5a95bc74b9a7f662830a27c49ffc01b4"
+SRCREV = "d34771cafc87b358ba421faca28facc7f8080174"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
deleted file mode 100644
index 13edf22..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From fdaa0e3bef93c5c72a7258b5f1e30718e7d81f9b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
-Date: Mon, 2 Mar 2020 12:17:09 +0000
-Subject: [PATCH 1/2] build: allow passing multiple libs to pkg_config
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Sometimes it's necessary to pass multiple library names to pkg-config,
-e.g. the brotli shared libraries can be pulled in with
-    pkg-config libbrotlienc libbrotlidec
-
-Update the code to handle both, strings (as used so far), and lists
-of strings.
-
-Signed-off-by: André Draszik <git@andred.net>
----
-Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
- configure.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/configure.py b/configure.py
-index beb08df088..e3f78f2fed 100755
---- a/configure.py
-+++ b/configure.py
-@@ -680,7 +680,11 @@ def pkg_config(pkg):
-   retval = ()
-   for flag in ['--libs-only-l', '--cflags-only-I',
-                '--libs-only-L', '--modversion']:
--    args += [flag, pkg]
-+    args += [flag]
-+    if isinstance(pkg, list):
-+      args += pkg
-+    else:
-+      args += [pkg]
-     try:
-       proc = subprocess.Popen(shlex.split(pkg_config) + args,
-                               stdout=subprocess.PIPE)
--- 
-2.25.0
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch
deleted file mode 100644
index 07dbdfe..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 836311710ca8d49fdf4d619e3a738a445c413605 Mon Sep 17 00:00:00 2001
-From: Ujjwal Sharma <ryzokuken@disroot.org>
-Date: Wed, 22 Apr 2020 12:20:17 +0530
-Subject: [PATCH] deps: V8: backport 3f8dc4b2e5ba
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Original commit message:
-
-    [intl] Remove soon-to-be removed getAllFieldPositions
-
-    Needed to land ICU67.1 soon.
-
-    Bug: v8:10393
-    Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
-    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
-    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
-    Commit-Queue: Frank Tang <ftang@chromium.org>
-    Cr-Commit-Position: refs/heads/master@{#67027}
-
-Refs: https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463
-
-PR-URL: https://github.com/nodejs/node/pull/32993
-Reviewed-By: Michaël Zasso <targos@protonmail.com>
-Reviewed-By: Matheus Marchini <mat@mmarchini.me>
-Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
-Reviewed-By: Richard Lau <riclau@uk.ibm.com>
----
- common.gypi                             |  2 +-
- deps/v8/src/objects/js-number-format.cc | 72 +++++++++++++------------
- 2 files changed, 38 insertions(+), 36 deletions(-)
-
-diff --git a/common.gypi b/common.gypi
-index b86e5e0..a7b37e6 100644
---- a/common.gypi
-+++ b/common.gypi
-@@ -38,7 +38,7 @@
- 
-     # Reset this number to 0 on major V8 upgrades.
-     # Increment by one for each non-official patch applied to deps/v8.
--    'v8_embedder_string': '-node.16',
-+    'v8_embedder_string': '-node.17',
- 
-     ##### V8 defaults for Node.js #####
- 
-diff --git a/deps/v8/src/objects/js-number-format.cc b/deps/v8/src/objects/js-number-format.cc
-index d1e3ef4..757c665 100644
---- a/deps/v8/src/objects/js-number-format.cc
-+++ b/deps/v8/src/objects/js-number-format.cc
-@@ -1252,42 +1252,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate,
- }
- 
- namespace {
--Maybe<icu::UnicodeString> IcuFormatNumber(
-+Maybe<bool> IcuFormatNumber(
-     Isolate* isolate,
-     const icu::number::LocalizedNumberFormatter& number_format,
--    Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
-+    Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
-   // If it is BigInt, handle it differently.
-   UErrorCode status = U_ZERO_ERROR;
--  icu::number::FormattedNumber formatted;
-   if (numeric_obj->IsBigInt()) {
-     Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
-     Handle<String> big_int_string;
-     ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
-                                      BigInt::ToString(isolate, big_int),
--                                     Nothing<icu::UnicodeString>());
--    formatted = number_format.formatDecimal(
-+                                     Nothing<bool>());
-+    *formatted = number_format.formatDecimal(
-         {big_int_string->ToCString().get(), big_int_string->length()}, status);
-   } else {
-     double number = numeric_obj->Number();
--    formatted = number_format.formatDouble(number, status);
-+    *formatted = number_format.formatDouble(number, status);
-   }
-   if (U_FAILURE(status)) {
-     // This happen because of icu data trimming trim out "unit".
-     // See https://bugs.chromium.org/p/v8/issues/detail?id=8641
--    THROW_NEW_ERROR_RETURN_VALUE(isolate,
--                                 NewTypeError(MessageTemplate::kIcuError),
--                                 Nothing<icu::UnicodeString>());
--  }
--  if (fp_iter) {
--    formatted.getAllFieldPositions(*fp_iter, status);
-+    THROW_NEW_ERROR_RETURN_VALUE(
-+        isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
-   }
--  icu::UnicodeString result = formatted.toString(status);
--  if (U_FAILURE(status)) {
--    THROW_NEW_ERROR_RETURN_VALUE(isolate,
--                                 NewTypeError(MessageTemplate::kIcuError),
--                                 Nothing<icu::UnicodeString>());
--  }
--  return Just(result);
-+  return Just(true);
- }
- 
- }  // namespace
-@@ -1298,10 +1287,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric(
-     Handle<Object> numeric_obj) {
-   DCHECK(numeric_obj->IsNumeric());
- 
--  Maybe<icu::UnicodeString> maybe_format =
--      IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
-+  icu::number::FormattedNumber formatted;
-+  Maybe<bool> maybe_format =
-+      IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
-   MAYBE_RETURN(maybe_format, Handle<String>());
--  return Intl::ToString(isolate, maybe_format.FromJust());
-+  UErrorCode status = U_ZERO_ERROR;
-+  icu::UnicodeString result = formatted.toString(status);
-+  if (U_FAILURE(status)) {
-+    THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
-+  }
-+  return Intl::ToString(isolate, result);
- }
- 
- namespace {
-@@ -1414,12 +1409,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts(
- }
- 
- namespace {
--Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
--                          icu::FieldPositionIterator* fp_iter,
-+Maybe<int> ConstructParts(Isolate* isolate,
-+                          icu::number::FormattedNumber* formatted,
-                           Handle<JSArray> result, int start_index,
-                           Handle<Object> numeric_obj, bool style_is_unit) {
-+  UErrorCode status = U_ZERO_ERROR;
-+  icu::UnicodeString formatted_text = formatted->toString(status);
-+  if (U_FAILURE(status)) {
-+    THROW_NEW_ERROR_RETURN_VALUE(
-+        isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
-+  }
-   DCHECK(numeric_obj->IsNumeric());
--  int32_t length = formatted.length();
-+  int32_t length = formatted_text.length();
-   int index = start_index;
-   if (length == 0) return Just(index);
- 
-@@ -1428,13 +1429,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
-   // other region covers some part of the formatted string. It's possible
-   // there's another field with exactly the same begin and end as this backdrop,
-   // in which case the backdrop's field_id of -1 will give it lower priority.
--  regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
-+  regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
- 
-   {
--    icu::FieldPosition fp;
--    while (fp_iter->next(fp)) {
--      regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
--                                         fp.getEndIndex()));
-+    icu::ConstrainedFieldPosition cfp;
-+    cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
-+    while (formatted->nextPosition(cfp, status)) {
-+      regions.push_back(
-+          NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
-     }
-   }
- 
-@@ -1456,7 +1458,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
-     Handle<String> substring;
-     ASSIGN_RETURN_ON_EXCEPTION_VALUE(
-         isolate, substring,
--        Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
-+        Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
-         Nothing<int>());
-     Intl::AddElement(isolate, result, index, field_type_string, substring);
-     ++index;
-@@ -1476,14 +1478,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts(
-       number_format->icu_number_formatter().raw();
-   CHECK_NOT_NULL(fmt);
- 
--  icu::FieldPositionIterator fp_iter;
--  Maybe<icu::UnicodeString> maybe_format =
--      IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
-+  icu::number::FormattedNumber formatted;
-+  Maybe<bool> maybe_format =
-+      IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
-   MAYBE_RETURN(maybe_format, Handle<JSArray>());
- 
-   Handle<JSArray> result = factory->NewJSArray(0);
-   Maybe<int> maybe_format_to_parts = ConstructParts(
--      isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
-+      isolate, &formatted, result, 0, numeric_obj,
-       number_format->style() == JSNumberFormat::Style::UNIT);
-   MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
- 
--- 
-2.26.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
deleted file mode 100644
index fc038f3..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From f0f927feee8cb1fb173835d5c3f6beb6bf7d5e54 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
-Date: Mon, 2 Mar 2020 12:17:35 +0000
-Subject: [PATCH 2/2] build: allow use of system-installed brotli
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-brotli is available as a shared library since 2016, so it makes sense
-to allow its use as a system-installed version.
-
-Some of the infrastructure was in place already (node.gyp and
-node.gypi), but some bits in the configure script here were missing.
-
-Add them, keeping the default as before, to use the bundled version.
-
-Refs: https://github.com/google/brotli/pull/421
-Signed-off-by: André Draszik <git@andred.net>
----
-Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
- configure.py | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/configure.py b/configure.py
-index e3f78f2fed..0190e31b41 100755
---- a/configure.py
-+++ b/configure.py
-@@ -301,6 +301,27 @@ shared_optgroup.add_option('--shared-zlib-libpath',
-     dest='shared_zlib_libpath',
-     help='a directory to search for the shared zlib DLL')
- 
-+shared_optgroup.add_option('--shared-brotli',
-+    action='store_true',
-+    dest='shared_brotli',
-+    help='link to a shared brotli DLL instead of static linking')
-+
-+shared_optgroup.add_option('--shared-brotli-includes',
-+    action='store',
-+    dest='shared_brotli_includes',
-+    help='directory containing brotli header files')
-+
-+shared_optgroup.add_option('--shared-brotli-libname',
-+    action='store',
-+    dest='shared_brotli_libname',
-+    default='brotlidec,brotlienc',
-+    help='alternative lib name to link to [default: %default]')
-+
-+shared_optgroup.add_option('--shared-brotli-libpath',
-+    action='store',
-+    dest='shared_brotli_libpath',
-+    help='a directory to search for the shared brotli DLL')
-+
- shared_optgroup.add_option('--shared-cares',
-     action='store_true',
-     dest='shared_cares',
-@@ -1692,6 +1713,7 @@ configure_napi(output)
- configure_library('zlib', output)
- configure_library('http_parser', output)
- configure_library('libuv', output)
-+configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc'])
- configure_library('cares', output, pkgname='libcares')
- configure_library('nghttp2', output, pkgname='libnghttp2')
- configure_v8(output)
--- 
-2.25.0
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
index 599f742..92386fa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
@@ -20,11 +20,9 @@
  tools/install.py | 31 ++++++++++++++-----------------
  2 files changed, 21 insertions(+), 17 deletions(-)
 
-diff --git a/configure.py b/configure.py
-index 20cce214db..e2d78a2a51 100755
 --- a/configure.py
 +++ b/configure.py
-@@ -559,6 +559,12 @@ parser.add_option('--shared',
+@@ -602,6 +602,12 @@ parser.add_option('--shared',
      help='compile shared library for embedding node in another project. ' +
           '(This mode is not officially supported for regular applications)')
  
@@ -37,16 +35,14 @@
  parser.add_option('--without-v8-platform',
      action='store_true',
      dest='without_v8_platform',
-@@ -1103,6 +1109,7 @@ def configure_node(o):
-   if o['variables']['want_separate_host_toolset'] == 0:
-     o['variables']['node_code_cache'] = 'yes' # For testing
+@@ -1168,6 +1174,7 @@ def configure_node(o):
+   o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
+ 
    o['variables']['node_shared'] = b(options.shared)
 +  o['variables']['libdir'] = options.libdir
    node_module_version = getmoduleversion.get_version()
  
-   if sys.platform == 'darwin':
-diff --git a/tools/install.py b/tools/install.py
-index 655802980a..fe4723bf15 100755
+   if options.dest_os == 'android':
 --- a/tools/install.py
 +++ b/tools/install.py
 @@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
@@ -72,24 +68,20 @@
 -      # in its source - see the _InstallableTargetInstallPath function.
 -      if sys.platform != 'darwin':
 -        output_prefix += 'lib.target/'
--
--  if 'false' == variables.get('node_shared'):
--    action([output_prefix + output_file], 'bin/' + output_file)
--  else:
--    action([output_prefix + output_file], 'lib/' + output_file)
 +    output_bin = 'node'
 +    output_lib = 'libnode.' + variables.get('shlib_suffix')
 +    # GYP will output to lib.target except on OS X, this is hardcoded
 +    # in its source - see the _InstallableTargetInstallPath function.
 +    if sys.platform != 'darwin':
 +      output_libprefix += 'lib.target/'
-+
+ 
+-  if 'false' == variables.get('node_shared'):
+-    action([output_prefix + output_file], 'bin/' + output_file)
+-  else:
+-    action([output_prefix + output_file], 'lib/' + output_file)
 +  action([output_prefix + output_bin], 'bin/' + output_bin)
 +  if 'true' == variables.get('node_shared'):
 +    action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
  
    if 'true' == variables.get('node_use_dtrace'):
      action(['out/Release/node.d'], 'lib/dtrace/node.d')
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
index 9f9f320..8a9f32b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
@@ -1,7 +1,7 @@
 DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
 HOMEPAGE = "http://nodejs.org"
 LICENSE = "MIT & BSD & Artistic-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=be4d5107c64dc3d7c57e3797e1a0674b"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=30e27bd6830002d9415e4a5da7901f03"
 
 DEPENDS = "openssl"
 DEPENDS_append_class-target = " nodejs-native"
@@ -20,17 +20,12 @@
            file://0003-Install-both-binaries-and-use-libdir.patch \
            file://0004-v8-don-t-override-ARM-CFLAGS.patch \
            file://big-endian.patch \
-           file://0001-build-allow-passing-multiple-libs-to-pkg_config.patch \
-           file://0002-build-allow-use-of-system-installed-brotli.patch \
            file://mips-warnings.patch \
-           file://0001-deps-V8-backport-3f8dc4b2e5ba.patch \
            "
 SRC_URI_append_class-target = " \
            file://0002-Using-native-binaries.patch \
            "
-
-SRC_URI[md5sum] = "1c78a75f5c95321f533ecccca695e814"
-SRC_URI[sha256sum] = "877b4b842318b0e09bc754faf7343f2f097f0fc4f88ab9ae57cf9944e88e7adb"
+SRC_URI[sha256sum] = "71158026579487422fd13cc2553b34cddb76519098aa6030faab52f88c6e0d0e"
 
 S = "${WORKDIR}/node-v${PV}"
 
@@ -55,7 +50,8 @@
 GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
 ARCHFLAGS ?= ""
 
-PACKAGECONFIG ??= "ares brotli icu libuv zlib"
+PACKAGECONFIG ??= "ares brotli icu zlib"
+
 PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
 PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
 PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch
new file mode 100644
index 0000000..d42b628
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-bitbang-Make-bitbang_swd-extern-definition.patch
@@ -0,0 +1,42 @@
+From 428f9f3c4a5be973e4c7fc1325ae9dbe41040df2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 17:47:35 -0700
+Subject: [PATCH] bitbang: Make bitbang_swd extern definition
+
+Fixes build with gcc10+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/jtag/drivers/bitbang.c | 1 +
+ src/jtag/drivers/bitbang.h | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/jtag/drivers/bitbang.c b/src/jtag/drivers/bitbang.c
+index b5078c080..f8612aade 100644
+--- a/src/jtag/drivers/bitbang.c
++++ b/src/jtag/drivers/bitbang.c
+@@ -43,6 +43,7 @@ static int bitbang_stableclocks(int num_cycles);
+ static void bitbang_swd_write_reg(uint8_t cmd, uint32_t value, uint32_t ap_delay_clk);
+ 
+ struct bitbang_interface *bitbang_interface;
++const struct swd_driver bitbang_swd;
+ 
+ /* DANGER!!!! clock absolutely *MUST* be 0 in idle or reset won't work!
+  *
+diff --git a/src/jtag/drivers/bitbang.h b/src/jtag/drivers/bitbang.h
+index 577717ebd..0faf5d9ae 100644
+--- a/src/jtag/drivers/bitbang.h
++++ b/src/jtag/drivers/bitbang.h
+@@ -57,7 +57,7 @@ struct bitbang_interface {
+ 	void (*swdio_drive)(bool on);
+ };
+ 
+-const struct swd_driver bitbang_swd;
++extern const struct swd_driver bitbang_swd;
+ 
+ extern bool swd_mode;
+ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
index f01b224..c7d754f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -10,6 +10,7 @@
     git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \
     git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \
     file://0001-Do-not-include-syscrtl.h-with-glibc.patch \
+    file://0001-bitbang-Make-bitbang_swd-extern-definition.patch \
 "
 
 SRCREV_FORMAT = "openocd"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20180523.0.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20180523.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb
index c812ae1..27dc358 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20180523.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb
@@ -10,7 +10,7 @@
 DEPENDS = "perl"
 
 SRC_URI = "git://github.com/toddr/IPC-Run.git"
-SRCREV = "0b409702490729eeb97ae65f5b94d949ec083134"
+SRCREV = "af435a1635ef9e48a84adc3230099e7ecf20c79d"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb b/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb
new file mode 100644
index 0000000..049cdef
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_0.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Header-only C++ library for JSON Schema validation"
+HOMEPAGE = "https://github.com/tristanpenman/valijson"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2"
+
+SRC_URI = "git://github.com/tristanpenman/valijson.git"
+SRCREV = "7a52fc88cdffd6678c009ca2fad700151f7363c6"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0"
+
+DEPENDS = "curlpp"
+
+# valijson is a header only C++ library, so the main package will be empty.
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install() {
+    install -d ${D}${includedir}/compat
+    install -d ${D}${includedir}/valijson
+    install -d ${D}${includedir}/valijson/adapters
+    install -d ${D}${includedir}/valijson/constraints
+    install -d ${D}${includedir}/valijson/internal
+    install -d ${D}${includedir}/valijson/utils
+
+    install -m 0644 ${S}/include/compat/* ${D}${includedir}/compat
+    install -D -m 0644 ${S}/include/valijson/*.hpp -t ${D}${includedir}/valijson
+    install -D -m 0644 ${S}/include/valijson/adapters/*.hpp -t ${D}${includedir}/valijson/adapters
+    install -D -m 0644 ${S}/include/valijson/constraints/*.hpp -t ${D}${includedir}/valijson/constraints
+    install -D -m 0644 ${S}/include/valijson/internal/*.hpp -t ${D}${includedir}/valijson/internal
+    install -D -m 0644 ${S}/include/valijson/utils/*.hpp -t ${D}${includedir}/valijson/utils
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_git.bb b/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_git.bb
deleted file mode 100644
index c3254d1..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/valijson/valijson_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Header-only C++ library for JSON Schema validation"
-HOMEPAGE = "https://github.com/tristanpenman/valijson"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2"
-
-SRC_URI = "git://github.com/tristanpenman/valijson.git"
-PV = "0.1+git${SRCPV}"
-
-SRCREV = "c2f22fddf599d04dc33fcd7ed257c698a05345d9"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0"
-
-# valijson is a header only C++ library, so the main package will be empty.
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
rename to meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb
index 6c31b69..c1f0b78 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb
@@ -9,8 +9,9 @@
            file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \
            file://0002-fix-formatting-issues.patch \
            "
-#Release 1.51.03
-SRCREV = "343a3b98e54999d67edb644bcd395aa9784fb16e"
+
+#Release 1.54.02
+SRCREV = "86405c7e1bd4f70287204a28d242a1054daab520"
 
 S = "${WORKDIR}/git/stable"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20200327.bb
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb
rename to meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20200327.bb
index a1acfcd..4c3177c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190808.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20200327.bb
@@ -10,14 +10,18 @@
 
 SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
           "
-SRC_URI[md5sum] = "f48b597251a26c522002736652e0300c"
-SRC_URI[sha256sum] = "886e12f2cf3df36cde65f32f6ae52bc598eb2599a611b1d8ce5dfdea599e47e2"
+SRC_URI[md5sum] = "f7a3c240af305b5282af590541e8f4b7"
+SRC_URI[sha256sum] = "466163e8b97c2b7709d00389199add3156bd813f60ccb0335d0a30f2d4a17f99"
 
 # hardcoded here for use in dialog-static recipe
 S = "${WORKDIR}/dialog-${PV}"
 
 inherit autotools-brokensep pkgconfig
 
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
+
 EXTRA_OECONF = "--with-ncurses \
                 --disable-rpath-hack"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch
deleted file mode 100644
index f0fc0bc..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/204.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-Upstream-Status: Submitted [https://github.com/GENIVI/dlt-daemon/pull/204]
-From 92830aff6e91041f574753d78da758c62981d9a4 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Sat, 25 Jan 2020 09:08:07 +0100
-Subject: [PATCH 1/3] dlt_user.h: fix build when musl is the libc
- implementation, by adding a missing include for pthread_t reference:
-
-see https://errors.yoctoproject.org/Errors/Details/308000/ for details
-
-Thanks Khem Raj <raj.khem@gmail.com> for the report
-
-Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
----
- include/dlt/dlt_user.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/dlt/dlt_user.h b/include/dlt/dlt_user.h
-index 69cb854..766d349 100644
---- a/include/dlt/dlt_user.h
-+++ b/include/dlt/dlt_user.h
-@@ -74,6 +74,7 @@
-  \{
-  */
- #   include <mqueue.h>
-+#   include <pthread.h>
- 
- #   if !defined (__WIN32__)
- #      include <semaphore.h>
-
-From 5f67aba02c12b7446e63ccc86285c13bc5c7a432 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Sat, 25 Jan 2020 09:16:14 +0100
-Subject: [PATCH 2/3] dlt-test-init-free: fix build failure with strict
- compiler flags, due to uint being undefined. This is actually an "int" type,
- looking at the test implementation
-
-Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
----
- src/tests/dlt-test-init-free.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/tests/dlt-test-init-free.c b/src/tests/dlt-test-init-free.c
-index 96b5245..35b8803 100644
---- a/src/tests/dlt-test-init-free.c
-+++ b/src/tests/dlt-test-init-free.c
-@@ -32,7 +32,7 @@
- 
- void exec(const char *cmd, char *buffer, size_t length);
- void printMemoryUsage();
--char *occupyMemory(uint size);
-+char *occupyMemory(int size);
- void do_example_test();
- void do_dlt_test();
- 
-@@ -131,7 +131,7 @@ void printMemoryUsage()
-     printf("%s", result);
- }
- 
--char *occupyMemory(uint size)
-+char *occupyMemory(int size)
- {
-     char *buf = (char *)malloc(size * sizeof(char));
- 
-
-From c790d61fad382e5d3e648ee99904087eb9bc4a77 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Sat, 25 Jan 2020 09:20:48 +0100
-Subject: [PATCH 3/3] sys/poll.h: deprecate old sys/poll.h include header, now
- glibc/musl wants poll.h being included directly. This fixes a build failure
- on musl systems with strict c hardening flags
-
-Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
----
- src/console/logstorage/dlt-logstorage-ctrl.c | 2 +-
- src/daemon/dlt_daemon_event_handler.c        | 2 +-
- src/daemon/dlt_daemon_event_handler.h        | 2 +-
- src/daemon/dlt_daemon_event_handler_types.h  | 2 +-
- src/lib/dlt_user.c                           | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/console/logstorage/dlt-logstorage-ctrl.c b/src/console/logstorage/dlt-logstorage-ctrl.c
-index 525c137..6614f44 100644
---- a/src/console/logstorage/dlt-logstorage-ctrl.c
-+++ b/src/console/logstorage/dlt-logstorage-ctrl.c
-@@ -61,7 +61,7 @@
- #include <string.h>
- #include <getopt.h>
- 
--#include <sys/poll.h>
-+#include <poll.h>
- 
- #if defined(__linux__)
- #   include "sd-daemon.h"
-diff --git a/src/daemon/dlt_daemon_event_handler.c b/src/daemon/dlt_daemon_event_handler.c
-index 1611f7b..0d463da 100644
---- a/src/daemon/dlt_daemon_event_handler.c
-+++ b/src/daemon/dlt_daemon_event_handler.c
-@@ -30,7 +30,7 @@
- #include <string.h>
- #include <errno.h>
- 
--#include <sys/poll.h>
-+#include <poll.h>
- #include <syslog.h>
- 
- #include "dlt_common.h"
-diff --git a/src/daemon/dlt_daemon_event_handler.h b/src/daemon/dlt_daemon_event_handler.h
-index eb96101..bd550d3 100644
---- a/src/daemon/dlt_daemon_event_handler.h
-+++ b/src/daemon/dlt_daemon_event_handler.h
-@@ -25,7 +25,7 @@
-  * \file dlt_daemon_event_handler.h
-  */
- 
--#include <sys/poll.h>
-+#include <poll.h>
- 
- #include "dlt_daemon_connection_types.h"
- #include "dlt_daemon_event_handler_types.h"
-diff --git a/src/daemon/dlt_daemon_event_handler_types.h b/src/daemon/dlt_daemon_event_handler_types.h
-index 370e503..0b16d08 100644
---- a/src/daemon/dlt_daemon_event_handler_types.h
-+++ b/src/daemon/dlt_daemon_event_handler_types.h
-@@ -25,7 +25,7 @@
-  * \file dlt_daemon_event_handler_types.h
-  */
- 
--#include <sys/poll.h>
-+#include <poll.h>
- 
- #include "dlt_daemon_connection_types.h"
- 
-#diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
-#index ffa9b09..511f991 100644
-#--- a/src/lib/dlt_user.c
-#+++ b/src/lib/dlt_user.c
-#@@ -43,7 +43,7 @@
-# #include <errno.h>
-# 
-# #include <sys/uio.h> /* writev() */
-#-#include <sys/poll.h>
-#+#include <poll.h>
-# 
-# #include <limits.h>
-# #ifdef linux
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch
new file mode 100644
index 0000000..14c44e6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/238.patch
@@ -0,0 +1,35 @@
+From 214f8c71552fc096077f0b916dad75b31eefea3d Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Fri, 31 Jul 2020 15:26:35 +0200
+Subject: [PATCH] dlt_offline: fix build failures with gcc-10
+
+see bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=957140
+
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_client.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_common.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_common.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_connection.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_connection.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_event_handler.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: multiple definition of `g_logstorage_cache_size'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:118: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_event_handler.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here
+/usr/bin/ld: CMakeFiles/dlt-daemon.dir/dlt_daemon_offline_logstorage.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: multiple definition of `g_logstorage_cache_max'; CMakeFiles/dlt-daemon.dir/dlt-daemon.c.o:./obj-x86_64-linux-gnu/src/daemon/./src/offlinelogstorage/dlt_offline_logstorage.h:116: first defined here
+---
+ src/offlinelogstorage/dlt_offline_logstorage.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
+index b58da70..8ad84b8 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage.h
++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
+@@ -114,9 +114,9 @@
+ #define DLT_OFFLINE_LOGSTORAGE_IS_STRATEGY_SET(S, s) ((S)&(s))
+ 
+ /* logstorage max cache */
+-unsigned int g_logstorage_cache_max;
++static unsigned int g_logstorage_cache_max;
+ /* current logstorage cache size */
+-unsigned int g_logstorage_cache_size;
++static unsigned int g_logstorage_cache_size;
+ 
+ typedef struct
+ {
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/241.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/241.patch
new file mode 100644
index 0000000..7d8f22e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/241.patch
@@ -0,0 +1,30 @@
+From b8f9919f000e642fc8970d0a42c1bdadf5a9d720 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Mon, 10 Aug 2020 08:30:34 +0200
+Subject: [PATCH] sd-daemon.c: Fix build with newer glibc and musl libc
+
+Reported by Khem Raj on meta-oe list
+
+TOPDIR/build/tmp/work/armv7vet2hf-neon-yoe-linux-musleabi/dlt-daemon/2.18.5-r0/recipe-sysroot/usr/include/sys/fcntl.h:1:2: error: redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Werror,-W#warnings]
+ ^
+1 error generated.
+
+Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
+---
+ systemd/3rdparty/sd-daemon.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/3rdparty/sd-daemon.c b/systemd/3rdparty/sd-daemon.c
+index 88936d2..de3f985 100644
+--- a/systemd/3rdparty/sd-daemon.c
++++ b/systemd/3rdparty/sd-daemon.c
+@@ -35,7 +35,7 @@
+ #ifdef __BIONIC__
+ #include <linux/fcntl.h>
+ #else
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+ #endif
+ #include <netinet/in.h>
+ #include <stdlib.h>
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb
rename to meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb
index 35c638b..3a2b405 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.4.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.5.bb
@@ -17,13 +17,17 @@
 SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \
     file://0002-Don-t-execute-processes-as-a-specific-user.patch \
     file://0004-Modify-systemd-config-directory.patch \
-    file://204.patch \
+    file://238.patch \
+    file://241.patch \
 "
-SRCREV = "14ea971be7e808b9c5099c7f404ed3cf341873c4"
+SRCREV = "f1ac087c766827b1d0ed9c3a814b3cc052e948f2"
 
 S = "${WORKDIR}/git"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES','systemd', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-console ', '', d)} \
+ udp-connection dlt-system dlt-filetransfer "
+# dlt-dbus
+
 # General options
 PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd"
 
@@ -37,6 +41,7 @@
 # Command line options
 PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
 PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
 PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
 
 inherit autotools gettext cmake systemd
@@ -46,7 +51,8 @@
 PACKAGES += "${PN}-systemd"
 SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
 SYSTEMD_SERVICE_${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \
-                          ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', 'dlt-system.service', '', d)}"
+                          ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', 'dlt-system.service', '', d)} \
+                          ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.service', '', d)}"
 SYSTEMD_AUTO_ENABLE_${PN} = "enable"
 SYSTEMD_SERVICE_${PN}-systemd = " \
     ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor', 'dlt-adaptor-udp.service', '', d)} \
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
index 21d13ac..4112688 100644
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
@@ -54,5 +54,7 @@
 
 inherit cmake systemd
 
+CFLAGS += "-fcommon"
+
 SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
 TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
rename to meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
index 39ceb48..894ee52 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
@@ -9,9 +9,7 @@
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
 DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
 
-PV = "5.0.0"
-
-SRCREV = "43bc27fe7be491149e6f57d14110e02abdac2f24"
+SRCREV = "29d82c80bcc62be2878a9ac080de7eb286c4beb9"
 SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release \
            file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \
            file://0001-Enhance-reproducibility.patch \
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
index 36659e7..408fa8a 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
@@ -1,5 +1,5 @@
 SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
-
+HOMEPAGE = "https://github.com/libimobiledevice/libplist"
 LICENSE = "GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
                     file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
@@ -8,9 +8,8 @@
 
 inherit autotools pkgconfig python3native
 
-SRCREV = "3df02d4d0e9008771e8622fdc10de8333b3f0d85"
-SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https \
-           "
+SRCREV = "c5a30e9267068436a75b5d00fcbf95cb9c1f4dcd"
+SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https"
 
 S = "${WORKDIR}/git"
 
@@ -20,10 +19,11 @@
     fi
 }
 
-PACKAGES =+ "${PN}-utils ${PN}++ ${PN}-python"
-FILES_${PN} = "${libdir}/libplist${SOLIBS}"
-FILES_${PN}++ = "${libdir}/libplist++${SOLIBS}"
+PACKAGES =+ "${PN}-utils \
+             ${PN}++ \
+             ${PN}-python"
+
+FILES_${PN} = "${libdir}/libplist-2.0${SOLIBS}"
+FILES_${PN}++ = "${libdir}/libplist++-2.0${SOLIBS}"
 FILES_${PN}-utils = "${bindir}/*"
 FILES_${PN}-python = "${libdir}/python*/site-packages/*"
-
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb
rename to meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb
index 36fc5c8..343d0bc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb
@@ -8,7 +8,7 @@
 
 PKGV = "${GITPKGVTAG}"
 
-SRCREV = "78df9be5fc8222ed53846cb553de9b5d24c85c6c"
+SRCREV = "ce98c346b7c1dc2a21faea4fd3f32c88e27ca2af"
 SRC_URI = "git://github.com/libimobiledevice/libusbmuxd;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.7.1.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.7.3.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.7.1.bb
rename to meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.7.3.bb
index 1a9cd8f..e903de3 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.7.3.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://libzip.org/"
 
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e33bb117aa55f9aad3d28e29256f9919"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=067e9870bba57e1ce20695c4d5672f30"
 
 DEPENDS = "zlib bzip2"
 
@@ -15,4 +15,4 @@
 
 SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "a020dc1b17a79faa748e43a05f8605d65e403813e8e97ad3a300a90ddba097ac"
+SRC_URI[sha256sum] = "a60473ffdb7b4260c08bfa19c2ccea0438edac11193c3afbbb1f17fbcf6c6132"
diff --git a/meta-openembedded/meta-oe/recipes-extended/lprng/lprng/0001-checkpc-Do-not-define-Mail_fd-multiple-times.patch b/meta-openembedded/meta-oe/recipes-extended/lprng/lprng/0001-checkpc-Do-not-define-Mail_fd-multiple-times.patch
new file mode 100644
index 0000000..5748690
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/lprng/lprng/0001-checkpc-Do-not-define-Mail_fd-multiple-times.patch
@@ -0,0 +1,34 @@
+From 6358561d5bad34f0003ebd415142d504fe53045a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 11:42:08 -0700
+Subject: [PATCH] checkpc: Do not define Mail_fd multiple times
+
+Its also defines in var.c via lp.h this is flagged when -fno-common is
+used
+
+Fixes
+TOPDIR/build/tmp/work/core2-32-yoe-linux/lprng/3.8.C-r0/recipe-sysroot-native/usr/bin/i686-yoe-linux/i686-yoe-linux-ld: vars.o:/usr/src/debug/lprng/3.8.C-r0/build/src/../../lprng-3.8.C/src/include/lp.h:72: multiple definition of `Mail_fd'; checkpc.o:/usr/src/debug/lprng/3.8.C-r0/build/src/../../lprng-3.8.C/src/common/checkpc.c:35: first defined here
+clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/common/checkpc.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/common/checkpc.c b/src/common/checkpc.c
+index aa03b08..7334094 100644
+--- a/src/common/checkpc.c
++++ b/src/common/checkpc.c
+@@ -32,8 +32,6 @@ static int Remove;
+ static char *User_specified_printer;
+ static time_t Current_time;
+ static int Check_path_list( char *plist, int allow_missing );
+-int Mail_fd;
+-
+ 
+ /* pathnames of the spool directory (sd) and control directory (cd) */
+ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb b/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
index 963c632..4432342 100644
--- a/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
@@ -3,7 +3,9 @@
 LICENSE = "GPLv2 | Artistic-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c6570d8d699af1883db9d0e733ac9bfb"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+           file://0001-checkpc-Do-not-define-Mail_fd-multiple-times.patch \
+          "
 SRC_URI[md5sum] = "5901bed95e61d2bea3ba3056056af432"
 SRC_URI[sha256sum] = "694a1747a96385b89e93f43343bf35cee5c8c73353a83814106911c99f09de10"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch
new file mode 100644
index 0000000..d813b37
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch
@@ -0,0 +1,39 @@
+From 609e1745d26d6f42d426018a4dd8d2342d6fc170 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Aug 2020 08:37:57 -0700
+Subject: [PATCH] Add -lxml2 to linker cmdline of xml is found
+
+When cross compiling for systems where static libs
+for libxml are not available cmake's detection mechanism
+resort to linking with libxml.so but doesnt use -lxml2
+liblldbHost.a however requires libxml on linker
+cmdline _after_ itself so its use of symbols from libxml2
+can be resolved. Here check for libxml2 being detected and
+add it if its found.
+
+Fixes
+minifi-cpp/0.7.0-r0/recipe-sysroot-native/usr/lib/libxml2.so is incompatible with elf32-i386
+| clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ thirdparty/libarchive-3.3.2/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/thirdparty/libarchive-3.3.2/CMakeLists.txt b/thirdparty/libarchive-3.3.2/CMakeLists.txt
+index 0c1ea6f7..cde0cc51 100644
+--- a/thirdparty/libarchive-3.3.2/CMakeLists.txt
++++ b/thirdparty/libarchive-3.3.2/CMakeLists.txt
+@@ -1031,7 +1031,7 @@ ENDIF()
+ IF(LIBXML2_FOUND)
+   CMAKE_PUSH_CHECK_STATE()	# Save the state of the variables
+   INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
+-  LIST(APPEND ADDITIONAL_LIBS ${LIBXML2_LIBRARIES})
++  LIST(APPEND ADDITIONAL_LIBS xml2)
+   SET(HAVE_LIBXML2 1)
+   # libxml2's include files use iconv.h
+   SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch
new file mode 100644
index 0000000..d0febfd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch
@@ -0,0 +1,34 @@
+diff -urN -x .git orig/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch patched/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch
+--- orig/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch	1970-01-01 09:00:00.000000000 +0900
++++ patched/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch	2020-08-07 23:14:46.196764271 +0900
+@@ -0,0 +1,30 @@
++This patch was imported from the libressl potable.
++https://github.com/libressl-portable/portable/commit/a9332ccecfce63bf54924e70c11f420edd3ae312
++
++From a9332ccecfce63bf54924e70c11f420edd3ae312 Mon Sep 17 00:00:00 2001
++From: Brent Cook <bcook@openbsd.org>
++Date: Sun, 17 Jul 2016 18:12:23 -0500
++Subject: [PATCH] avoid BSWAP assembly for ARM <= v6
++
++diff -urN orig/crypto/modes/modes_lcl.h patched/crypto/modes/modes_lcl.h
++--- orig/crypto/modes/modes_lcl.h	2018-11-18 21:27:10.000000000 +0900
+++++ patched/crypto/modes/modes_lcl.h	2020-08-07 23:11:01.960764745 +0900
++@@ -45,14 +45,16 @@
++ 			asm ("bswapl %0"		\
++ 			: "+r"(ret));	ret;		})
++ # elif (defined(__arm__) || defined(__arm)) && !defined(__STRICT_ALIGNMENT)
++-#  define BSWAP8(x) ({	u32 lo=(u64)(x)>>32,hi=(x);	\
+++#  if (__ARM_ARCH >= 6)
+++#   define BSWAP8(x) ({	u32 lo=(u64)(x)>>32,hi=(x);	\
++ 			asm ("rev %0,%0; rev %1,%1"	\
++ 			: "+r"(hi),"+r"(lo));		\
++ 			(u64)hi<<32|lo;			})
++-#  define BSWAP4(x) ({	u32 ret;			\
+++#   define BSWAP4(x) ({	u32 ret;			\
++ 			asm ("rev %0,%1"		\
++ 			: "=r"(ret) : "r"((u32)(x)));	\
++ 			ret;				})
+++#  endif
++ # endif
++ #endif
++ #endif
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch
new file mode 100644
index 0000000..84b8c8c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch
@@ -0,0 +1,43 @@
+diff -urN -x .git orig/cmake/LibreSSL.cmake patched/cmake/LibreSSL.cmake
+--- orig/cmake/LibreSSL.cmake	2020-08-07 21:58:34.660773928 +0900
++++ patched/cmake/LibreSSL.cmake	2020-08-07 22:51:18.620767245 +0900
+@@ -18,6 +18,9 @@
+ function(use_libre_ssl SOURCE_DIR BINARY_DIR)
+ 	message("Using bundled LibreSSL from release")
+ 	
++	find_package(Patch REQUIRED)
++	set(PATCH "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch")
++
+ 	set(BYPRODUCT_PREFIX "lib" CACHE STRING "" FORCE)
+ 	set(BYPRODUCT_SUFFIX ".a" CACHE STRING "" FORCE)
+ 	
+@@ -27,16 +30,29 @@
+ 		set(BYPRODUCT_PREFIX "" CACHE STRING "" FORCE)
+ 	set(BUILD_ARGS " -GVisual Studio 15 2017")
+ 	endif(WIN32)
++
++	set(BYPRODUCTS
++		"lib/${BYPRODUCT_PREFIX}crypto${BYPRODUCT_SUFFIX}"
++		"lib/${BYPRODUCT_PREFIX}ssl${BYPRODUCT_SUFFIX}"
++		"lib/${BYPRODUCT_PREFIX}tls${BYPRODUCT_SUFFIX}"
++	)
++	set(LIBRESSL_INSTALL_DIR "${BINARY_DIR}/thirdparty/libressl-install" CACHE STRING "" FORCE)
++	FOREACH(BYPRODUCT ${BYPRODUCTS})
++		LIST(APPEND LIBRESSL_LIBRARIES_LIST "${LIBRESSL_INSTALL_DIR}/${BYPRODUCT}")
++	ENDFOREACH(BYPRODUCT)
++
+ 	ExternalProject_Add(
+ 	libressl-portable
+ 	URL https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://gentoo.osuosl.org/distfiles/libressl-2.8.3.tar.gz
+ 	URL_HASH "SHA256=9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477"
+ 	SOURCE_DIR "${BINARY_DIR}/thirdparty/libressl-src"
++	PATCH_COMMAND ${PATCH}
+ 	CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
+ 				"-DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libressl-install"
+ 				"-DLIBRESSL_APPS=OFF"
+ 				"-DLIBRESSL_TESTS=OFF"
+ 				"${BUILD_ARGS}"
++	BUILD_BYPRODUCTS ${LIBRESSL_LIBRARIES_LIST}
+ 	)
+ 
+ 	add_library(crypto STATIC IMPORTED)
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch
new file mode 100644
index 0000000..9653ba3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch
@@ -0,0 +1,60 @@
+diff -urN -x .git orig/CMakeLists.txt patched/CMakeLists.txt
+--- orig/CMakeLists.txt	2020-08-07 21:58:34.656773928 +0900
++++ patched/CMakeLists.txt	2020-08-10 15:08:31.800278357 +0900
+@@ -119,13 +119,28 @@
+ 	endif()
+ endif()
+ 
++include(CheckCXXSourceCompiles)
++CHECK_CXX_SOURCE_COMPILES("
++    #include <atomic>
++    int main(int argc, char **argv) {
++        uint8_t m;
++        __atomic_load_8(&m, 0);
++        __atomic_fetch_add_1(&m , 0, 0);
++        return 0;
++    }"
++    HAVE_ATOMIC
++)
++if(NOT HAVE_ATOMIC)
++    set(LIB_ATOMIC atomic)
++endif()
++
+ # Use ccache if present
+-find_program(CCACHE_FOUND ccache)
+-if(CCACHE_FOUND)
+-    set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
+-    set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
+-    message("-- Found ccache: ${CCACHE_FOUND}")
+-endif(CCACHE_FOUND)
++#find_program(CCACHE_FOUND ccache)
++#if(CCACHE_FOUND)
++#    set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
++#    set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
++#    message("-- Found ccache: ${CCACHE_FOUND}")
++#endif(CCACHE_FOUND)
+ 
+ if (UNIX AND USE_GOLD_LINKER AND NOT APPLE )
+   execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version)
+@@ -303,8 +318,10 @@
+     GIT_TAG "f3294d9d86e6a7915a967efff2842089b8b0d071"  # Version 7.64.0
+     SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-src"
+     LIST_SEPARATOR % # This is needed for passing semicolon-separated lists
++    TLS_VERIFY OFF
+     CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
+                "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-install"
++               "-DCMAKE_INSTALL_LIBDIR=lib${LIBSUFFIX}"
+                 -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+                 -DBUILD_CURL_EXE=OFF
+                 -DBUILD_TESTING=OFF
+diff -urN -x .git orig/libminifi/CMakeLists.txt patched/libminifi/CMakeLists.txt
+--- orig/libminifi/CMakeLists.txt	2020-08-07 21:58:34.676773928 +0900
++++ patched/libminifi/CMakeLists.txt	2020-08-10 15:06:17.124278642 +0900
+@@ -108,6 +108,7 @@
+ add_library(spdlog STATIC ${SPD_SOURCES})
+ add_library(core-minifi STATIC ${SOURCES})
+ target_link_libraries(core-minifi ${CMAKE_DL_LIBS} yaml-cpp)
++target_link_libraries(core-minifi ${LIB_ATOMIC})
+ 
+ #target_link_libraries(core-minifi  PRIVATE bsdiff )
+ 
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch
new file mode 100644
index 0000000..42e1e58
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch
@@ -0,0 +1,36 @@
+diff -urN -x .git orig/cmake/BundledOSSPUUID.cmake patched/cmake/BundledOSSPUUID.cmake
+--- orig/cmake/BundledOSSPUUID.cmake	2020-08-07 21:58:34.660773928 +0900
++++ patched/cmake/BundledOSSPUUID.cmake	2020-08-07 22:05:57.404772993 +0900
+@@ -22,7 +22,9 @@
+ 
+     # Define patch step
+     find_package(Patch REQUIRED)
+-    set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
++    set(PATCH1 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
++    set(PATCH2 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch")
++    set(PATCH3 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch")
+ 
+     # Define byproducts
+     set(BYPRODUCTS "lib/libuuid.a"
+@@ -35,7 +37,9 @@
+     ENDFOREACH(BYPRODUCT)
+ 
+     # Build project
+-    set(CONFIGURE_COMMAND ./configure "CFLAGS=-fPIC" "CXXFLAGS=-fPIC" --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
++    set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --host=${HOST_SYS}
++        --with-cxx --without-perl --without-php --without-pgsql
++        --prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install)
+     string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
+     if(NOT build_type MATCHES debug)
+         list(APPEND CONFIGURE_COMMAND --enable-debug=yes)
+@@ -52,8 +56,8 @@
+             UPDATE_COMMAND ""
+             INSTALL_COMMAND make install
+             BUILD_BYPRODUCTS ${OSSPUUID_LIBRARIES_LIST}
+-            CONFIGURE_COMMAND ""
+-            PATCH_COMMAND ${PC} && ${CONFIGURE_COMMAND}
++            CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
++            PATCH_COMMAND ${PATCH1} && ${PATCH2} && ${PATCH3}
+             STEP_TARGETS build
+             EXCLUDE_FROM_ALL TRUE
+     )
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch
new file mode 100644
index 0000000..dc354d9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch
@@ -0,0 +1,37 @@
+diff -urN -x .git orig/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch patched/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
+--- orig/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch	1970-01-01 09:00:00.000000000 +0900
++++ patched/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch	2020-08-07 22:28:04.396770190 +0900
+@@ -0,0 +1,33 @@
++diff -urN orig/config.sub patched/config.sub
++--- orig/config.sub	2008-07-05 06:43:08.000000000 +0900
+++++ patched/config.sub	2020-08-07 22:23:48.412770731 +0900
++@@ -238,6 +238,8 @@
++ 	# Some are omitted here because they have special meanings below.
++ 	1750a | 580 \
++ 	| a29k \
+++	| aarch64 | aarch64_be \
+++	| riscv32 | riscv64 \
++ 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++ 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++ 	| am33_2.0 \
++@@ -314,6 +316,8 @@
++ 	# Recognize the basic CPU types with company name.
++ 	580-* \
++ 	| a29k-* \
+++	| aarch64-* | aarch64_be-* \
+++	| riscv32-* | riscv64-* \
++ 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
++ 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++ 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
++diff -urN orig/shtool patched/shtool
++--- orig/shtool	2008-07-05 06:43:08.000000000 +0900
+++++ patched/shtool	2020-08-07 22:21:23.192771037 +0900
++@@ -1400,7 +1400,7 @@
++             if [ ".$opt_t" = .yes ]; then
++                 echo "strip $dsttmp" 1>&2
++             fi
++-            strip $dsttmp || shtool_exit $?
+++            $STRIP $dsttmp || shtool_exit $?
++         fi
++         if [ ".$opt_o" != . ]; then
++             if [ ".$opt_t" = .yes ]; then
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch
new file mode 100644
index 0000000..7caf848
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch
@@ -0,0 +1,25 @@
+diff -urN -x .git orig/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch patched/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch
+--- orig/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch	1970-01-01 09:00:00.000000000 +0900
++++ patched/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch	2020-08-07 11:22:49.344854508 +0900
+@@ -0,0 +1,21 @@
++diff -urN orig/config.sub patched/config.sub
++--- orig/config.sub	2008-07-05 06:43:08.000000000 +0900
+++++ patched/config.sub	2020-08-07 11:19:25.948854937 +0900
++@@ -120,7 +120,7 @@
++ # Here we must recognize all the valid KERNEL-OS combinations.
++ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
++ case $maybe_os in
++-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+++  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | linux-musl* | \
++   uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++   storm-chaos* | os2-emx* | rtmk-nova*)
++     os=-$maybe_os
++@@ -1250,7 +1250,7 @@
++ 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
++ 	      | -chorusos* | -chorusrdb* \
++ 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+++	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* | -linux-musl* \
++ 	      | -uxpv* | -beos* | -mpeix* | -udk* \
++ 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
++ 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch
new file mode 100644
index 0000000..8c5db7c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch
@@ -0,0 +1,12 @@
+diff -urN orig/thirdparty/rocksdb/CMakeLists.txt patched/thirdparty/rocksdb/CMakeLists.txt
+--- orig/thirdparty/rocksdb/CMakeLists.txt	2020-07-28 11:39:40.254677515 +0900
++++ patched/thirdparty/rocksdb/CMakeLists.txt	2020-07-28 11:51:11.898676054 +0900
+@@ -618,6 +618,7 @@
+ add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES})
+ target_link_libraries(${ROCKSDB_STATIC_LIB}
+   ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
++target_link_libraries(${ROCKSDB_STATIC_LIB} ${LIB_ATOMIC})
+ 
+ if(WIN32)
+ #  add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES})
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/minifi.service b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/minifi.service
new file mode 100644
index 0000000..5802a7b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/minifi.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=MiNiFi Service
+After=network.target
+RequiresMountsFor=/var
+
+[Service]
+Type=simple
+WorkingDirectory=@LOCALSTATEDIR@/run/minifi
+Environment=MINIFI_HOME=@SYSCONFDIR@/minifi
+ExecStart=@BINDIR@/minifi
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch
new file mode 100644
index 0000000..2d66576
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch
@@ -0,0 +1,38 @@
+From bfce136fa9ff1e955928539484ba4dd55f98f05b Mon Sep 17 00:00:00 2001
+From: Willem Jan Withagen <wjw@digiware.nl>
+Date: Sun, 16 Aug 2020 23:38:55 +0200
+Subject: [PATCH] Update channel.h
+
+Compiling this on FreeBSD with CLang fails due to:
+```In file included from /usr/ports/net/ceph15/work/ceph-15.2.4/src/rocksdb/utilities/backupable/backupable_db.cc:16:
+/usr/ports/net/ceph15/work/ceph-15.2.4/src/rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard<std::mutex>'
+    std::lock_guard<std::mutex> lk(lock_);
+                                ^  ~~~~~
+/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier
+    explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
+             ^
+/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard<std::__1::mutex>' for 1st argument
+    lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE;
+    ^
+/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
+    lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
+    ^
+1 error generated.
+```
+---
+ thirdparty/rocksdb/util/channel.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/thirdparty/rocksdb/util/channel.h b/thirdparty/rocksdb/util/channel.h
+index 705fa2d28f..993bef5bc0 100644
+--- a/thirdparty/rocksdb/util/channel.h
++++ b/thirdparty/rocksdb/util/channel.h
+@@ -31,7 +31,7 @@ class channel {
+     return buffer_.empty() && eof_;
+   }
+ 
+-  size_t size() const {
++  size_t size() {
+     std::lock_guard<std::mutex> lk(lock_);
+     return buffer_.size();
+   }
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/systemd-volatile.conf b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/systemd-volatile.conf
new file mode 100644
index 0000000..c828b49
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/systemd-volatile.conf
@@ -0,0 +1,2 @@
+d @MINIFI_RUN@ 0755 root root -
+d @MINIFI_LOG@ 0755 root root -
diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/sysvinit-volatile.conf b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/sysvinit-volatile.conf
new file mode 100644
index 0000000..2ad14e6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/sysvinit-volatile.conf
@@ -0,0 +1,2 @@
+d root root 0755 @MINIFI_RUN@ none
+d root root 0755 @MINIFI_LOG@ none
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
new file mode 100644
index 0000000..37036eb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
@@ -0,0 +1,120 @@
+SUMMARY = "A subproject of Apache NiFi to collect data where it originates."
+DESCRIPTION = "MiNiFi--a subproject of Apache NiFi--is a complementary \
+data collection approach that supplements the core tenets of NiFi in dataflow \
+management, focusing on the collection of data at the source of its creation."
+HOMEPAGE = "https://nifi.apache.org/minifi/index.html"
+SECTION = "console/network"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9534eb5f4ab800b573a37bffc62f3a7"
+
+DEPENDS = "virtual/crypt expat flex python3 bison-native libxml2"
+RDEPENDS_${PN} = "python3-core"
+
+SRCREV = "aa42957a2e227df41510047cece3cd606dc1cb6a"
+SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \
+            file://fix-minifi-compile.patch \
+            file://fix-libressl-compile.patch \
+            file://fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch \
+            file://fix-osspuuid-compile.patch \
+            file://fix-osspuuid-cross-compile.patch \
+            file://fix-osspuuid-musl-compile.patch \
+            file://fix-rocksdb-cross-compile.patch \
+            file://remove_const_due_to_std_lock_guard.patch \
+            file://0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch \
+            file://minifi.service \
+            file://systemd-volatile.conf \
+            file://sysvinit-volatile.conf \
+            "
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake systemd
+
+SYSTEMD_PACKAGES = "minifi-cpp"
+SYSTEMD_SERVICE_${PN} = "minifi.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
+
+EXTRA_OECMAKE += " \
+    -DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \
+    -DSKIP_TESTS=ON \
+    "
+EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib"
+LDFLAGS_append_toolchain-clang = " -fuse-ld=lld"
+
+# There are endian issues when communicating with the x86 nifi on the the mips and the ppc machines.
+COMPATIBLE_MACHINE_mips = "(!.*mips).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
+
+TARGET_CFLAGS_append_riscv32 += "-fpic"
+TARGET_CXXFLAGS_append_riscv32 += "-fpic"
+TARGET_CFLAGS_append_riscv64 += "-fpic"
+TARGET_CXXFLAGS_append_riscv64 += "-fpic"
+
+
+do_install() {
+    DESTDIR='${B}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL}
+
+    MINIFI_BIN=${base_prefix}${bindir}
+    MINIFI_HOME=${base_prefix}${sysconfdir}/minifi
+    MINIFI_RUN=${base_prefix}${localstatedir}/run/minifi
+    MINIFI_LOG=${base_prefix}${localstatedir}/log/minifi
+
+    install -d ${D}${MINIFI_BIN}
+    install -d ${D}${MINIFI_HOME}/conf
+    cp -a ${B}/minifi-install/usr/bin/*   ${D}${MINIFI_BIN}/
+    cp -a ${B}/minifi-install/usr/conf/*  ${D}${MINIFI_HOME}/conf/
+
+    sed -i 's|#appender.rolling.directory=.*|appender.rolling.directory='${MINIFI_LOG}'|g' \
+        ${D}${MINIFI_HOME}/conf/minifi-log.properties
+    sed -i 's|nifi.provenance.repository.directory.default=.*|nifi.provenance.repository.directory.default='${MINIFI_RUN}'/provenance_repository|g' \
+        ${D}${MINIFI_HOME}/conf/minifi.properties
+    sed -i 's|nifi.flowfile.repository.directory.default=.*|nifi.flowfile.repository.directory.default='${MINIFI_RUN}'/flowfile_repository|g' \
+        ${D}${MINIFI_HOME}/conf/minifi.properties
+    sed -i 's|nifi.database.content.repository.directory.default=.*|nifi.database.content.repository.directory.default='${MINIFI_RUN}'/content_repository|g' \
+        ${D}${MINIFI_HOME}/conf/minifi.properties
+    sed -i 's|nifi.flow.configuration.file=.*|nifi.flow.configuration.file='${MINIFI_HOME}'/conf/config.yml|g' \
+        ${D}${MINIFI_HOME}/conf/minifi.properties
+
+    sed -i 's|export MINIFI_HOME=.*|export MINIFI_HOME='${MINIFI_HOME}'|g' ${D}${MINIFI_BIN}/minifi.sh
+    sed -i 's|bin_dir=${MINIFI_HOME}/bin|bin_dir='${MINIFI_BIN}'|g' ${D}${MINIFI_BIN}/minifi.sh
+    sed -i 's|pid_file=${bin_dir}|pid_file='${MINIFI_RUN}'|g' ${D}${MINIFI_BIN}/minifi.sh
+
+    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        install -d ${D}${sysconfdir}/tmpfiles.d/
+        install -m 0644 ${WORKDIR}/systemd-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+        install -m 0755 -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/minifi.service ${D}${systemd_unitdir}/system/
+
+        sed -i 's|@LOCALSTATEDIR@|${localstatedir}|g' ${D}${systemd_unitdir}/system/minifi.service
+        sed -i 's|@SYSCONFDIR@|${sysconfdir}|g' ${D}${systemd_unitdir}/system/minifi.service
+        sed -i 's|@BINDIR@|${bindir}|g' ${D}${systemd_unitdir}/system/minifi.service
+
+        sed -i 's|@MINIFI_RUN@|'${MINIFI_RUN}'|g' ${D}${sysconfdir}/tmpfiles.d/systemd-volatile.conf
+        sed -i 's|@MINIFI_LOG@|'${MINIFI_LOG}'|g' ${D}${sysconfdir}/tmpfiles.d/systemd-volatile.conf
+
+    elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/default/volatiles
+        install -m 0644 ${WORKDIR}/sysvinit-volatile.conf ${D}${sysconfdir}/default/volatiles/99_minifi
+
+        sed -i 's|@MINIFI_RUN@|'${MINIFI_RUN}'|g' ${D}${sysconfdir}/default/volatiles/99_minifi
+        sed -i 's|@MINIFI_LOG@|'${MINIFI_LOG}'|g' ${D}${sysconfdir}/default/volatiles/99_minifi
+    fi
+}
+
+pkg_postinst_${PN}() {
+    if [ -z "$D" ]; then
+        if type systemd-tmpfiles >/dev/null; then
+            systemd-tmpfiles --create
+        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+            ${sysconfdir}/init.d/populate-volatile.sh update
+        fi
+    fi
+}
+
+FILES_${PN} = " \
+        ${bindir} \
+        ${sysconfdir} \
+        ${systemd_unitdir} \
+        "
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb
rename to meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb
index 43021c5..7527298 100644
--- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2020.5.bb
@@ -25,7 +25,7 @@
     gitsm://github.com/ostreedev/ostree \
     file://run-ptest \
 "
-SRCREV = "6ed48234ba579ff73eb128af237212b0a00f2057"
+SRCREV = "63797cb750b4b2a05c5143613d89de9df99df9df"
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
index 92741d8..0123369 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
@@ -10,3 +10,5 @@
 inherit cmake
 
 S = "${WORKDIR}/git"
+
+CXXFLAGS += " -Wno-error=type-limits"
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-examples-Initialize-child_idx.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-examples-Initialize-child_idx.patch
deleted file mode 100644
index 8e2b3c7..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-examples-Initialize-child_idx.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 721a48e5397bd4ab454482041e55671eae7b189f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 11 May 2020 18:01:11 -0700
-Subject: [PATCH] examples: Initialize child_idx
-
-Assign UINT_MAX and assert it
-
-Fixes warning
-rtree_map.c:358:12: error: 'child_idx' may be used uninitialized
-in this function [-Werror=maybe-uninitialized]
-
-Upstream-Status: Submitted [https://github.com/pmem/pmdk/pull/4802]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/examples/libpmemobj/tree_map/rtree_map.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/examples/libpmemobj/tree_map/rtree_map.c b/src/examples/libpmemobj/tree_map/rtree_map.c
-index 995e22bb9..6b3ead65c 100644
---- a/src/examples/libpmemobj/tree_map/rtree_map.c
-+++ b/src/examples/libpmemobj/tree_map/rtree_map.c
-@@ -8,6 +8,7 @@
- #include <ex_common.h>
- #include <assert.h>
- #include <errno.h>
-+#include <limits.h>
- #include <stdlib.h>
- #include <stdbool.h>
- 
-@@ -320,12 +321,13 @@ has_only_one_child(TOID(struct tree_map_node) node, unsigned *child_idx)
- static void
- remove_extra_node(TOID(struct tree_map_node) *node)
- {
--	unsigned child_idx;
-+	unsigned child_idx = UINT_MAX;
- 	TOID(struct tree_map_node) tmp, tmp_child;
- 
- 	/* Our node has child with only one child. */
- 	tmp = *node;
- 	has_only_one_child(tmp, &child_idx);
-+	assert(child_idx != UINT_MAX);
- 	tmp_child = D_RO(tmp)->slots[child_idx];
- 
- 	/*
--- 
-2.26.2
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
deleted file mode 100644
index 82b96cf..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3863d8bd71d6a5638cf984f8d8f9cccac0c7f2a4 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 23 Jul 2018 11:31:17 -0700
-Subject: [PATCH] Makefile: Don't install the docs
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Inappropriate [disable feature]
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 47a447f12..7c0f9848f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -148,7 +148,6 @@ rpm dpkg: pkg-clean
- 
- install uninstall:
- 	$(MAKE) -C src $@
--	$(MAKE) -C doc $@
- 
- .PHONY: all clean clobber test check cstyle check-license install uninstall\
- 	source rpm dpkg pkg-clean pcheck check-remote format doc require-rpmem\
--- 
-2.14.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.8.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.9.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.8.bb
rename to meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.9.bb
index fe7b760..8bb89f4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.9.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "http://pmem.io"
 SECTION = "libs"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1b8430f251523f1bff0c9fb95da7e0ca"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b44ee63f162f9cdb18fff1224877aafd"
 DEPENDS = "ndctl"
 
 # Required to have the fts.h header for musl
@@ -11,12 +11,9 @@
 
 S = "${WORKDIR}/git"
 
-SRC_URI = "git://github.com/pmem/pmdk.git \
-           file://0001-examples-Initialize-child_idx.patch \
-           file://0002-Makefile-Don-t-install-the-docs.patch \
-          "
+SRC_URI = "git://github.com/pmem/pmdk.git"
 
-SRCREV = "0245d75eaf0f6106c86a7926a45fdf2149e37eaa"
+SRCREV = "1926ffb8f3f5f0617b3b3ed32029d437c272f187"
 
 inherit autotools-brokensep pkgconfig
 
@@ -25,7 +22,7 @@
 # | If you meant to cross compile, use `--host'.
 #
 # Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
-EXTRA_OEMAKE = "BUILD_EXAMPLES='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
+EXTRA_OEMAKE = "BUILD_EXAMPLES='n' DOC='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
 
 # Fix the missing fts libs when using musl
 EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.5.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.5.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb
index 893f323..c9846c5 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.0.6.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "http://redis.io"
 SECTION = "libs"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3c01b49fed4df1a79843688fa3f7b9d6"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
 DEPENDS = "readline lua ncurses"
 
 SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
@@ -17,8 +17,8 @@
            file://GNU_SOURCE.patch \
            "
 
-SRC_URI[md5sum] = "617d680fc0944c217e2350a365686eb0"
-SRC_URI[sha256sum] = "42cf86a114d2a451b898fcda96acd4d01062a7dbaaad2801d9164a36f898f596"
+SRC_URI[md5sum] = "2f65e1f5610d98dd48e10eef49c79b02"
+SRC_URI[sha256sum] = "12ad49b163af5ef39466e8d2f7d212a58172116e5b441eebecb4e6ca22363d94"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Avoid-variable-definition-in-header-files.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Avoid-variable-definition-in-header-files.patch
new file mode 100644
index 0000000..b0b43f3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Avoid-variable-definition-in-header-files.patch
@@ -0,0 +1,100 @@
+From fccbb85beb89b9ca35cac87fb553ef124a6c516b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 17:26:14 -0700
+Subject: [PATCH] Avoid variable definition in header files
+
+This can cause multiple definitions to be emitted into objects and link
+fail as a result with gcc-10+ since it defaults to -fno-common, patch
+moves the definitions to source files
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ control.h     | 2 +-
+ providerMgr.c | 1 +
+ providerMgr.h | 2 +-
+ sfcBroker.c   | 2 +-
+ trace.c       | 1 +
+ trace.h       | 2 +-
+ 6 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/control.h b/control.h
+index e41e4b9..5e15363 100644
+--- a/control.h
++++ b/control.h
+@@ -28,7 +28,7 @@ int             getControlUNum(char *id, unsigned int *val);
+ int             getControlULong(char *id, unsigned long *val);
+ int             getControlNum(char *id, long *val);
+ int             getControlBool(char *id, int *val);
+-const char      * sfcBrokerStart;
++extern const char * sfcBrokerStart;
+ 
+ #endif
+ /* MODELINES */
+diff --git a/providerMgr.c b/providerMgr.c
+index c38a7d3..ff6d38d 100644
+--- a/providerMgr.c
++++ b/providerMgr.c
+@@ -53,6 +53,7 @@
+ #define SFCB_ASM(x)
+ #endif
+ 
++sigset_t mask, old_mask;
+ static pthread_mutex_t resultsocketMutex = PTHREAD_MUTEX_INITIALIZER;
+ 
+ extern CMPIBroker *Broker;
+diff --git a/providerMgr.h b/providerMgr.h
+index 3cc7745..fbbfecd 100644
+--- a/providerMgr.h
++++ b/providerMgr.h
+@@ -398,7 +398,7 @@ BinResponseHdr **invokeProviders(BinRequestContext * binCtx, int *err,
+ BinResponseHdr *invokeProvider(BinRequestContext * ctx);
+ void            freeResponseHeaders(BinResponseHdr ** resp,
+                                     BinRequestContext * ctx);
+-sigset_t mask, old_mask;
++extern sigset_t mask, old_mask;
+ 
+ #endif
+ /* MODELINES */
+diff --git a/sfcBroker.c b/sfcBroker.c
+index ca043c9..85581f5 100644
+--- a/sfcBroker.c
++++ b/sfcBroker.c
+@@ -53,7 +53,7 @@
+ #endif
+ 
+ int             sfcBrokerPid = 0;
+-
++const char     *sfcBrokerStart;
+ extern int      sfcbUseSyslog;
+ 
+ extern void     setExFlag(unsigned long f);
+diff --git a/trace.c b/trace.c
+index 438af46..23597e1 100644
+--- a/trace.c
++++ b/trace.c
+@@ -52,6 +52,7 @@ char           *processName = NULL;
+ int             providerProcess = 0;
+ int             idleThreadId = 0;
+ int             terminating = 0;
++int             colorTrace;
+ 
+ int             _sfcb_debug = 0;
+ unsigned long   _sfcb_trace_mask = 0;
+diff --git a/trace.h b/trace.h
+index 2c6d8be..ea39850 100644
+--- a/trace.h
++++ b/trace.h
+@@ -130,7 +130,7 @@ typedef struct traceId {
+ #define CYAN            6
+ #define WHITE           7
+ void            changeTextColor(int reset);
+-int             colorTrace;
++extern int      colorTrace;
+ 
+ #define MAX_MSG_SIZE 1024       /* max length of trace message */
+ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.15-fix-provider-debugging.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.15-fix-provider-debugging.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-maxMsgLen.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-maxMsgLen.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-multilib-man-cfg.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.16-multilib-man-cfg.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.5-service.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.5-service.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-ftbfs.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-ftbfs.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-sfcbinst2mof.patch b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-sfcbinst2mof.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb-1.4.9/sblim-sfcb-1.4.9-fix-sfcbinst2mof.patch
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-sfcbinst2mof.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/files/sfcb.service b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sfcb.service
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/files/sfcb.service
rename to meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sfcb.service
diff --git a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index a527f77..3e4ed7c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -26,6 +26,7 @@
            file://0001-include-stdint.h-system-header-for-UINT16_MAX.patch \
            file://0001-Replace-need-for-error.h-when-it-does-not-exist.patch \
            file://sblim-sfcb-1.4.9-fix-sfcbinst2mof.patch \
+           file://0001-Avoid-variable-definition-in-header-files.patch \
 "
 
 SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch b/meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch
new file mode 100644
index 0000000..4be3353
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch
@@ -0,0 +1,34 @@
+From 9db49b94336f65453e06fb6a6bc4e6edf9403fea Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 17 Aug 2020 17:22:09 -0700
+Subject: [PATCH] DtaAnnotatedDump: Add typedef name to the union
+
+This is found with clang
+error: anonymous non-C-compatible type given name for linkage purposes by
+typedef declaration; add a tag name here [-Werror,-Wnon-c-typedef-for-linkage]
+| typedef union
+|              ^
+|               CAtomHeader
+
+Upstream-Status: Submitted [https://github.com/Drive-Trust-Alliance/sedutil/pull/332]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Common/DtaAnnotatedDump.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Common/DtaAnnotatedDump.h b/Common/DtaAnnotatedDump.h
+index 2749365..734c8eb 100644
+--- a/Common/DtaAnnotatedDump.h
++++ b/Common/DtaAnnotatedDump.h
+@@ -20,7 +20,7 @@ along with sedutil.  If not, see <http://www.gnu.org/licenses/>.
+ 
+ #pragma pack(push,1)
+ 
+-typedef union
++typedef union CAtomHeader_t
+ {
+     // four bytes in big endian (network) byte order
+     uint8_t     all[4];
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb b/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb
index 7656184..1e7a393 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb
@@ -12,6 +12,7 @@
 SRCREV = "358cc758948be788284d5faba46ccf4cc1813796"
 SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git \
 	file://0001-Fix-build-on-big-endian-architectures.patch \
+        file://0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
rename to meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb
index 17c2fba..fde0ed4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/tmux/tmux_3.1b.bb
@@ -8,8 +8,8 @@
 DEPENDS = "ncurses libevent"
 
 SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz"
-SRC_URI[md5sum] = "d541ff392249f94c4f3635793556f827"
-SRC_URI[sha256sum] = "b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8"
+SRC_URI[md5sum] = "2cdacbf06ac4980d3f5312ad23b37f9b"
+SRC_URI[sha256sum] = "d93f351d50af05a75fe6681085670c786d9504a5da2608e481c47cf5e1486db9"
 
 UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb
rename to meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
index b94664c..7dde418 100644
--- a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "8fc78c3c65cb705953a2f3f9a813c3ef3c8b2270"
+SRCREV = "876099f3c66033f3de11d79f63814766b1021dbe"
 SRC_URI = "git://github.com/HardySimpson/zlog"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.2.bb b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.3.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.2.bb
rename to meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.3.bb
index 10f5a80..7ef2e53 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.3.bb
@@ -11,7 +11,7 @@
     git://github.com/hughsie/libjcat.git \
     file://run-ptest \
 "
-SRCREV = "1a509ac60b7446254c3bd1f45ea53e6cffba30ac"
+SRCREV = "3c120a9132a36b100366cfe3d658ae31e6f4b7e9"
 S = "${WORKDIR}/git"
 
 inherit gobject-introspection gtk-doc meson ptest-gnome vala
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch
new file mode 100644
index 0000000..86586fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch
@@ -0,0 +1,36 @@
+From 53a4f19887d9ae4e77f32dd6d71c8a7b516b4d5d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Mon, 10 Aug 2020 21:53:33 +0200
+Subject: [PATCH] Do not build tests when introspection is disabled/missing
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+| ../libpeas-1.26.0/tests/libpeas/introspection/meson.build:47:0: ERROR: Unknown variable "libpeas_gir".
+
+Upstrem-Status: Submitted[https://gitlab.gnome.org/GNOME/libpeas/-/merge_requests/28]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 8322fea..43fb062 100644
+--- a/meson.build
++++ b/meson.build
+@@ -254,7 +254,9 @@ subdir('loaders')
+ if build_demos == true
+   subdir('peas-demo')
+ endif
+-subdir('tests')
++if generate_gir == true
++  subdir('tests')
++endif
+ 
+ summary = [
+   '',
+-- 
+2.26.2
+
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch
new file mode 100644
index 0000000..6646931
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch
@@ -0,0 +1,21 @@
+From 3cc69f1eaa86163c3816265fa64cb660f4def364 Mon Sep 17 00:00:00 2001
+From: Christian Hergert <chergert@redhat.com>
+Date: Fri, 13 Mar 2020 10:32:21 -0700
+Subject: [PATCH] demo: add missing locale.h include
+
+Fixes #39
+
+Upstream-Status: backport
+
+diff --git a/peas-demo/peas-demo.c b/peas-demo/peas-demo.c
+index 47ac005..466a392 100644
+--- a/peas-demo/peas-demo.c
++++ b/peas-demo/peas-demo.c
+@@ -26,6 +26,7 @@
+ #include <girepository.h>
+ #include <glib/gi18n.h>
+ #include <gtk/gtk.h>
++#include <locale.h>
+ 
+ #include <libpeas/peas.h>
+ #include <libpeas-gtk/peas-gtk.h>
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb
deleted file mode 100644
index 57419a4..0000000
--- a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.25.3.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "libpeas is a gobject-based plugins engine"
-HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d"
-
-DEPENDS = "gtk+3"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache
-
-SRC_URI[archive.md5sum] = "08bfff8f9688cf630dcb0f950617661f"
-SRC_URI[archive.sha256sum] = "1c9bbb29740c29cd6e1dd0c9964722ff08cd5e6f68f1b5c135bc391a6ce97639"
-
-PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject"
-
-PACKAGES =+ "${PN}-demo ${PN}-python3"
-FILES_${PN}-demo = " \
-    ${bindir}/peas-demo \
-    ${libdir}/peas-demo \
-"
-
-RDEPENDS_${PN}-python3 = "python3-pygobject"
-FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb
new file mode 100644
index 0000000..fd4ce7d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "libpeas is a gobject-based plugins engine"
+HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas"
+LICENSE = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d"
+
+DEPENDS = "gtk+3"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI += " \
+    file://add_missing_locale_include.patch \
+    file://0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch \
+"
+
+SRC_URI[archive.md5sum] = "f7723bf8433b7984121157e1e9a629b5"
+SRC_URI[archive.sha256sum] = "a976d77e20496479a8e955e6a38fb0e5c5de89cf64d9f44e75c2213ee14f7376"
+
+PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject"
+
+PACKAGES =+ "${PN}-demo ${PN}-python3"
+FILES_${PN}-demo = " \
+    ${bindir}/peas-demo \
+    ${libdir}/peas-demo \
+"
+
+RDEPENDS_${PN}-python3 = "python3-pygobject"
+FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
index 65fd89e..f7dc668 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -28,6 +28,8 @@
 
 LDFLAGS_append = " -lm"
 
+CXXFLAGS_append_toolchain-clang = " -Wno-error=dtor-typedef"
+
 # Workaround for linking issues seen with armv7a + gold
 LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
rename to meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
index 0bf48ac..29d0f64 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
@@ -6,20 +6,18 @@
 SECTION = "utils"
 
 LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e8feb78a32950a909621bbb51f634b39"
 
-DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif"
+DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman poppler libepoxy cairo"
 
 SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \
 	   file://0001-Avoid-using-host-path.patch \
 	   file://fix-preprocessor.patch \
            file://support-jpeg-turbo.patch \
-           file://use-jpeg-turbo.patch \
+           file://cairo-weak-detect.patch \
+           file://fbida-gcc10.patch \
 	   "
-SRC_URI[md5sum] = "09460b964b58c2e39b665498eca29018"
-SRC_URI[sha256sum] = "7a5a3aac61b40a6a2bbf716d270a46e2f8e8d5c97e314e927d41398a4d0b6cb6"
-
-B = "${WORKDIR}/build"
+SRC_URI[sha256sum] = "95b7c01556cb6ef9819f358b314ddfeb8a4cbe862b521a3ed62f03d163154438"
 
 inherit pkgconfig
 
@@ -33,6 +31,10 @@
 PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif"
 PACKAGECONFIG[webp] = ",,libwebp"
 PACKAGECONFIG[lirc] = ",,lirc"
+# This can only be enabled when cairo has egl enabled in its packageconfig support too
+PACKAGECONFIG[egl] = ",,"
+
+EXTRA_OEMAKE += ""${@bb.utils.contains('PACKAGECONFIG', 'egl', 'HAVE_CAIRO_GL=yes', 'HAVE_CAIRO_GL=no', d)}""
 
 do_compile() {
     sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch
new file mode 100644
index 0000000..c7c579c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch
@@ -0,0 +1,17 @@
+OE configures cairo to disable EGL support, however fbida expects cairo with egl support
+this patch therefore makes it possible to set HAVE_CAIRO_GL via recipe
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -67,7 +67,7 @@ define make-config
+ LIB		:= $(LIB)
+ RESDIR		:= $(call ac_resdir)
+ HAVE_LINUX_FB_H	:= $(call ac_header,linux/fb.h)
+-HAVE_CAIRO_GL	:= $(call ac_pkg_config,cairo-gl)
++HAVE_CAIRO_GL	?= $(call ac_pkg_config,cairo-gl)
+ HAVE_LIBPCD	:= $(call ac_lib,pcd_open,pcd)
+ HAVE_LIBGIF	:= $(call ac_lib,DGifOpenFileName,gif)
+ HAVE_LIBWEBP	:= $(call ac_pkg_config,libwebp)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch
new file mode 100644
index 0000000..1104289
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fbida-gcc10.patch
@@ -0,0 +1,61 @@
+Fix build with gcc10
+
+Patch from https://src.fedoraproject.org/rpms/fbida/raw/master/f/fbida.gcc10.patch
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- fbida-2.14/fbi.c.org	2020-03-15 17:02:17.944189632 +0100
++++ fbida-2.14/fbi.c	2020-03-15 17:02:21.880223224 +0100
+@@ -100,7 +100,6 @@
+ 
+ /* graphics interface */
+ gfxstate                   *gfx;
+-int                        debug;
+ 
+ /* framebuffer */
+ char                       *fbdev = NULL;
+--- fbida-2.14/filter.c	2020-03-15 16:44:17.159855150 +0100
++++ fbida-2.14/filter.c	2020-03-15 16:44:27.017941447 +0100
+@@ -6,8 +6,6 @@
+ #include "readers.h"
+ #include "filter.h"
+ 
+-int debug = 0;
+-
+ /* ----------------------------------------------------------------------- */
+ 
+ static void
+--- fbida-2.14/readers.c.org	2020-03-15 17:01:18.692683597 +0100
++++ fbida-2.14/readers.c	2020-03-15 16:57:19.141632384 +0100
+@@ -6,6 +6,8 @@
+ 
+ #include "readers.h"
+ 
++int debug=0;
++
+ /* ----------------------------------------------------------------------- */
+ 
+ void load_bits_lsb(unsigned char *dst, unsigned char *src, int width,
+
+--- fbida-2.14/viewer.c.org	2020-03-15 17:05:02.991595832 +0100
++++ fbida-2.14/viewer.c	2020-03-15 17:04:55.424531467 +0100
+@@ -40,7 +40,6 @@
+ #define PROCESS_LINES    16
+ 
+-int debug;
+ Cursor ptrs[POINTER_COUNT];
+ 
+ /* ----------------------------------------------------------------------- */
+ 
+--- fbida-2.14/idaconfig.h.org	2020-03-15 17:07:09.239668196 +0100
++++ fbida-2.14/idaconfig.h	2020-03-15 17:07:21.248770061 +0100
+@@ -17,7 +17,7 @@
+ 
+ /* -------------------------------------------------------------------------- */
+ 
+-char *ida_lists;
++extern char *ida_lists;
+ 
+ void ida_init_config(void);
+ void ida_read_config(void);
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
index 909a0a6..cdeac99 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
@@ -1,14 +1,6 @@
-Index: fbida-2.13/GNUmakefile
-===================================================================
---- fbida-2.13.orig/GNUmakefile
-+++ fbida-2.13/GNUmakefile
-@@ -53,8 +53,7 @@ include $(srcdir)/mk/Autoconf.mk
- 
- ac_jpeg_ver = $(shell \
- 	$(call ac_init,for libjpeg version);\
--	$(call ac_s_cmd,echo JPEG_LIB_VERSION \
--		| cpp -include jpeglib.h | tail -n 1);\
-+	$(call ac_s_cmd,cpp -include jpeglib.h -dM -E -x c /dev/null  | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' ');\
- 	$(call ac_fini))
- 
- define make-config
+--- a/scripts/jpeg-version.sh
++++ b/scripts/jpeg-version.sh
+@@ -1,2 +1,2 @@
+ #!/bin/sh
+-echo JPEG_LIB_VERSION | cpp $CFLAGS -include jpeglib.h | tail -1
++${CPP} -include jpeglib.h -dM -E -x c /dev/null | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' '
diff --git a/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb b/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
index 851641c..6ef9f74 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
@@ -12,6 +12,9 @@
 # depends on virtual/libx11, virtual/libgl
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
+# Do not use -fno-common, check back when upgrading to new version it might not be needed
+CFLAGS += "-fcommon"
+
 PROVIDES += "mesa-glut"
 
 DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb
rename to meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb
index 1d5a294..e121ae9 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.19.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb"
 
 SRC_URI = "git://github.com/mdadams/jasper.git;protocol=https"
-SRCREV = "9aef6d91a82a8a6aecb575cbee57f74470603cc2"
+SRCREV = "7d8cfd8ac16d1af9b51e5ccd781e898f0fbf57cc"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
rename to meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb
index 249e96f..a6de1f7 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.79.0.bb
@@ -3,9 +3,11 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f"
 
+UPSTREAM_CHECK_URI = "https://github.com/DanBloomberg/leptonica/releases"
+
 SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz"
-SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f"
-SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b"
+SRC_URI[md5sum] = "a545654b1dae7d29e2ea346b29095f84"
+SRC_URI[sha256sum] = "045966c9c5d60ebded314a9931007a56d9d2f7a6ac39cb5cc077c816f62300d8"
 
 EXTRA_OECONF += " \
     --without-libwebp \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch b/meta-openembedded/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
new file mode 100644
index 0000000..619bad6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
@@ -0,0 +1,46 @@
+From a57c498f6c25aa297e49533c242525f2b9da7048 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 18:20:42 -0700
+Subject: [PATCH] Make extern declarations in header file
+
+curobj is a static object in other places as well.
+Fixes build with gcc10/-fno-common
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fdesign/sp_spinner.c | 2 +-
+ lib/flinternal.h     | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/fdesign/sp_spinner.c b/fdesign/sp_spinner.c
+index 04f2c19..6206daa 100644
+--- a/fdesign/sp_spinner.c
++++ b/fdesign/sp_spinner.c
+@@ -29,7 +29,7 @@
+ #include "spec/spinner_spec.h"
+ 
+ static FD_spinnerattrib * spn_attrib;
+-FL_OBJECT *curobj;
++static FL_OBJECT *curobj;
+ 
+ 
+ /***************************************
+diff --git a/lib/flinternal.h b/lib/flinternal.h
+index 06d847e..577bd10 100644
+--- a/lib/flinternal.h
++++ b/lib/flinternal.h
+@@ -138,8 +138,8 @@ enum {
+ 
+ /* events.c or event related */
+ 
+-FL_OBJECT * fli_handled_obj;
+-FL_OBJECT * fli_handled_parent;
++extern FL_OBJECT * fli_handled_obj;
++extern FL_OBJECT * fli_handled_parent;
+ 
+ void fli_obj_queue_delete( void );
+ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb b/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
index 999d53d..35029f5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
@@ -9,6 +9,7 @@
            file://fix-link-to-xforms-man.patch \
            file://add-absolute-path-for-include-dir.patch \
            file://fix-path-fdesign_LDADD.patch \
+           file://0001-Make-extern-declarations-in-header-file.patch \
           "
 
 SRC_URI[md5sum] = "235720a758a8b8d9e6e452dc67190e9b"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
index dfdf824..11bba43 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
@@ -45,8 +45,7 @@
 inherit cmake
 
 SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "1354f7f1bb6962dab209eddb9d6aac1f03408110"
-PV .= "+git${SRCPV}"
+SRCREV = "2aa20dad4c23c18948d3f63b33f9dfec1f837729"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.55.0.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.55.0.bb
index 1a376a4..ba94a83 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.55.0.bb
@@ -10,7 +10,7 @@
 
 SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
 
-SRCREV = "d5b64b6291b6f292871ad5c6df25c4f6896f7d50"
+SRCREV = "e89fcc53c27c3a3bf559d43190289c3ce4f335b1"
 
 S = "${WORKDIR}/git"
 
@@ -20,6 +20,9 @@
 
 BBCLASSEXTEND = "nativesdk"
 
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO"
+EXTRA_OECMAKE_append_toolchain-clang = "-DENABLE_WERROR=OFF"
+
 do_configure_prepend () {
     cd ${S}
     git checkout bootstrap.sh
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.10.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.10.0.bb
index 7c6f4c1..d7f529e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.10.0.bb
@@ -10,7 +10,7 @@
            file://0001-Use-relative-install-paths-for-CMake.patch \
            "
 
-SRCREV = "8459235919f592b1bc099ecf9a947cb6344b6fa5"
+SRCREV = "de9134007d2d029fe5809ce48f57fe218e6ffe16"
 SRCREV_FORMAT = "default"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.48.bb
similarity index 74%
rename from meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
rename to meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.48.bb
index c460fc3..dc263fd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.48.bb
@@ -6,13 +6,13 @@
 SECTION = "fonts"
 
 LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://OFL.TXT;md5=9cadb26f4c5c005618c5ae74f041ec54"
+LIC_FILES_CHKSUM = "file://OFL.TXT;md5=9b226721636fde0db38ea656c2aae4bf"
 
 DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "a8e792fe6e84c86ed2b6ed3e2a12ba66"
-SRC_URI[sha256sum] = "f6f4876a4dabe6a37c270c20bb9e141e38fb50e0bba200e1b9d0470e5eed97b7"
+SRC_URI[md5sum] = "a2cb88f6cf174f3d07de93b91e115a8d"
+SRC_URI[sha256sum] = "34799c8dd5cec7db8016b4a615820dfb43b395575afbb24fc17ee19c869c94af"
 
 inherit allarch fontcache
 
@@ -32,11 +32,11 @@
 }
 
 do_compile() {
-    oe_runmake DESTDIR=${D} psf txt ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'pcf', '', d)}
+    oe_runmake DESTDIR=${D} psf ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'pcf', '', d)}
 }
 
 do_install() {
-    oe_runmake DESTDIR=${D} install-psf install-acm ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'install-pcf', '', d)}
+    oe_runmake DESTDIR=${D} install-psf ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'install-pcf', '', d)}
 }
 
 PACKAGES += "${PN}-consolefonts ${PN}-consoletrans ${PN}-pcf"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb
rename to meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
index 240949f..b6790a0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
@@ -5,7 +5,7 @@
 
 DEPENDS = "virtual/libx11 libxext xorgproto"
 
-SRCREV = "f57a9904c43ef5d726320c77baa91d0c38361ed4"
+SRCREV = "c3d1a9dbafdfe6144ff474d0d523dc01b068750f"
 SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
index bd75cdb..4a297c3 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -16,7 +16,9 @@
 
 S = "${WORKDIR}/git"
 
-inherit pkgconfig cmake
+inherit pkgconfig cmake features_check
+
+REQUIRED_DISTRO_FEATURES += "opengl"
 
 DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
 
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 3e336e4..0e50fd9 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
@@ -13,7 +13,16 @@
 do_install() {
 	install -d ${D}/${CTSDIR}
 	cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
+
+	install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
+	install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
+	install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
+	install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
+	install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
+
 	rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
 	rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
 	rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
 }
+
+SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
deleted file mode 100644
index d44445f..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 8ab672ccc67b64058cffac2cd19a0d3b75d5aa25 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Nov 2019 11:43:32 -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: Submitted [https://github.com/LibVNC/x11vnc/pull/117]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/uinput.c | 28 ++++++++++++++++++++++++----
- 1 file changed, 24 insertions(+), 4 deletions(-)
-
-diff --git a/src/uinput.c b/src/uinput.c
-index 28fbad3..343b7c5 100644
---- a/src/uinput.c
-+++ b/src/uinput.c
-@@ -54,6 +54,11 @@ so, delete this exception statement from your version.
- #include <linux/input.h>
- #include <linux/uinput.h>
- 
-+#ifndef input_event_sec
-+#define input_event_sec time.tv_sec
-+#define input_event_usec time.tv_usec
-+#endif
-+
- #if !defined(EV_SYN) || !defined(SYN_REPORT)
- #undef UINPUT_OK
- #endif
-@@ -710,6 +715,7 @@ void parse_uinput_str(char *in) {
- static void ptr_move(int dx, int dy) {
- #ifdef UINPUT_OK
- 	struct input_event ev;
-+	struct timeval tval;
- 	int d = direct_rel_fd < 0 ? fd : direct_rel_fd;
- 
- 	if (injectable && strchr(injectable, 'M') == NULL) {
-@@ -720,7 +726,9 @@ static void ptr_move(int dx, int dy) {
- 
- 	if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d);
- 
--	gettimeofday(&ev.time, NULL);
-+	gettimeofday(&tval, NULL);
-+	ev.input_event_sec = tval.tv_sec;
-+	ev.input_event_usec = tval.tv_usec;
- 	ev.type = EV_REL;
- 	ev.code = REL_Y;
- 	ev.value = dy;
-@@ -755,6 +763,7 @@ static void apply_tslib(int *x, int *y) {
- static void ptr_abs(int x, int y, int p) {
- #ifdef UINPUT_OK
- 	struct input_event ev;
-+	struct timeval tval;
- 	int x0, y0;
- 	int d = direct_abs_fd < 0 ? fd : direct_abs_fd;
- 
-@@ -773,7 +782,9 @@ static void ptr_abs(int x, int y, int p) {
- 
- 	if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d);
- 
--	gettimeofday(&ev.time, NULL);
-+	gettimeofday(&tval, NULL);
-+	ev.input_event_sec = tval.tv_sec;
-+	ev.input_event_usec = tval.tv_usec;
- 	ev.type = EV_ABS;
- 	ev.code = ABS_Y;
- 	ev.value = y;
-@@ -950,6 +961,7 @@ if (0) {usleep(100*1000) ;}
- static void button_click(int down, int btn) {
- #ifdef UINPUT_OK
- 	struct input_event ev;
-+	struct timeval tval;
- 	int d = direct_btn_fd < 0 ? fd : direct_btn_fd;
- 
- 	if (injectable && strchr(injectable, 'B') == NULL) {
-@@ -959,7 +971,12 @@ static void button_click(int down, int btn) {
- 	if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d);
- 
- 	memset(&ev, 0, sizeof(ev));
--	gettimeofday(&ev.time, NULL);
-+	gettimeofday(&tval, NULL);
-+	gettimeofday(&tval, NULL);
-+	ev.input_event_sec = tval.tv_sec;
-+	ev.input_event_usec = tval.tv_usec;
-+	ev.input_event_sec = tval.tv_sec;
-+	ev.input_event_usec = tval.tv_usec;
- 	ev.type = EV_KEY;
- 	ev.value = down;
- 
-@@ -1230,6 +1247,7 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) {
- void uinput_key_command(int down, int keysym, rfbClientPtr client) {
- #ifdef UINPUT_OK
- 	struct input_event ev;
-+	struct timeval tval;
- 	int scancode;
- 	allowed_input_t input;
- 	int d = direct_key_fd < 0 ? fd : direct_key_fd;
-@@ -1253,7 +1271,9 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
- 	if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d);
- 
- 	memset(&ev, 0, sizeof(ev));
--	gettimeofday(&ev.time, NULL);
-+	gettimeofday(&tval, NULL);
-+	ev.input_event_sec = tval.tv_sec;
-+	ev.input_event_usec = tval.tv_usec;
- 	ev.type = EV_KEY;
- 	ev.code = (unsigned char) scancode;
- 	ev.value = down;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch
deleted file mode 100644
index a15f3fe..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 686491573827b98ba031adaa5da373366079d3d8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Dagenais?= <jeff.dagenais@gmail.com>
-Date: Mon, 11 Feb 2019 11:42:59 -0500
-Subject: [PATCH] misc/Makefile.am: don't install Xdummy when configured
- --without-x
-
-Upstream-status: submitted https://github.com/jeff-dagenais/x11vnc/pull/1
-
-Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
----
- misc/Makefile.am | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/misc/Makefile.am b/misc/Makefile.am
-index c0b98c8..e4a22c1 100644
---- a/misc/Makefile.am
-+++ b/misc/Makefile.am
-@@ -18,7 +18,10 @@ EXTRA_DIST = \
- 	uinput.pl \
- 	ultravnc_repeater.pl \
- 	vcinject.pl \
--	x11vnc_loop \
-+	x11vnc_loop
-+
-+if HAVE_X11
-+EXTRA_DIST += \
- 	Xdummy.c \
- 	Xdummy.in
- 
-@@ -32,3 +35,4 @@ do_dummy_c_subst = $(SED) \
- Xdummy: $(srcdir)/Xdummy.in $(srcdir)/Xdummy.c
- 	$(do_dummy_c_subst) < $< > $@.tmp
- 	mv -f $@.tmp $@
-+endif
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
deleted file mode 100644
index 8e894bd..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 7be055c13c7d0d640941830a3291af3b404928c1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 27 Jun 2016 04:44:14 -0400
-Subject: [PATCH] configure.ac: remove redundant RPATH
-
-It caused oe QA issue:
-...
-|ERROR: QA Issue: x11vnc: work/i586-poky-linux/x11vnc/0.9.13-r0/packages-split/
-x11vnc/usr/bin/x11vnc contains probably-redundant RPATH /usr/lib [useless-rpaths]
-...
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 21 +++++----------------
- 1 file changed, 5 insertions(+), 16 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6f664d0..f986686 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -330,10 +330,8 @@ if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
- 		saved_LDFLAGS="$LDFLAGS"
- 		CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
- 		LDFLAGS="$LDFLAGS -L$with_ssl/lib"
--		if test "x$ld_minus_R" = "xno"; then
-+		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- 			:
--		elif test "x$GCC" = "xyes"; then
--			LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib"
- 		else
- 			LDFLAGS="$LDFLAGS -R$with_ssl/lib"
- 		fi
-@@ -447,10 +445,8 @@ if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno
- 	fi
- 	if test "x$with_system_libvncserver" != "xyes"; then
- 		rflag=""
--		if test "x$ld_minus_R" = "xno"; then
-+		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- 			:
--		elif test "x$GCC" = "xyes"; then
--			rflag="-Xlinker -R$with_system_libvncserver/lib"
- 		else
- 			rflag="-R$with_system_libvncserver/lib"
- 		fi
-@@ -484,10 +480,8 @@ new enough.
- 	elif libvncserver-config --version 1>/dev/null 2>&1; then
- 		rflag=""
- 		rprefix=`libvncserver-config --prefix`
--		if test "x$ld_minus_R" = "xno"; then
-+		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- 			:
--		elif test "x$GCC" = "xyes"; then
--			rflag=" -Xlinker -R$rprefix/lib "
- 		else
- 			rflag=" -R$rprefix/lib "
- 		fi
-@@ -541,11 +535,8 @@ if test "x$with_jpeg" != "xno"; then
- 		saved_LDFLAGS="$LDFLAGS"
- 		CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
- 		LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
--		if test "x$ld_minus_R" = "xno"; then
-+		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- 			:
--		elif test "x$GCC" = "xyes"; then
--			# this is not complete... in general a rat's nest.
--			LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
- 		else
- 			LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
- 		fi
-@@ -590,10 +581,8 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
- 		saved_LDFLAGS="$LDFLAGS"
- 		CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
- 		LDFLAGS="$LDFLAGS -L$with_zlib/lib"
--		if test "x$ld_minus_R" = "xno"; then
-+		if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
- 			:
--		elif test "x$GCC" = "xyes"; then
--			LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
- 		else
- 			LDFLAGS="$LDFLAGS -R$with_zlib/lib"
- 		fi
--- 
-2.8.1
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch
deleted file mode 100644
index a571ba2..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/src-cursor-fix-xfc-NULL-pointer-dereference.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 95a10ab64c2dbbec2c8dad91a5ffb73a0d68474b Mon Sep 17 00:00:00 2001
-From: Jonathan Liu <net147@gmail.com>
-Date: Mon, 16 Mar 2020 20:04:06 +1100
-Subject: [PATCH] src/cursor: fix xfc NULL pointer dereference
-
-xfc->width and xfc->height for the XFixes cursor image returned from
-XFixesGetCursorImage(dpy) are accessed without first checking that xfc
-is not NULL. This can result in the server sometimes crashing when
-moving a Google Chrome window.
-
-Fixes: 37c946191a0f ("Broken cursor bugfix for 64 bit systems (#49)")
-Upstream-Status: Accepted
-Signed-off-by: Jonathan Liu <net147@gmail.com>
----
- src/cursor.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cursor.c b/src/cursor.c
-index 39e73a6..74a08c6 100644
---- a/src/cursor.c
-+++ b/src/cursor.c
-@@ -1311,7 +1311,7 @@ static int get_exact_cursor(int init) {
- 
- 		/* retrieve the cursor info + pixels from server: */
- 		xfc = XFixesGetCursorImage(dpy);
--		{
-+		if (xfc) {
- 			/* 2017-07-09, Stephan Fuhrmann: This fixes an implementation flaw for 64 bit systems.
- 			 * The XFixesCursorImage structure says xfc->pixels is (unsigned long*) in the structure, but
- 			 * the protocol spec says it's 32 bit per pixel
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
index e3a1914..50ce9a5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -7,12 +7,11 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314"
 
-SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8"
+SRCREV = "87cd0530f438372dda3c70bb491a6fd19f09acc2"
+PV .= "+git${SRCPV}"
+
 SRC_URI = "git://github.com/LibVNC/x11vnc \
            file://starting-fix.patch \
-           file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
-           file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
-           file://src-cursor-fix-xfc-NULL-pointer-dereference.patch \
            "
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
new file mode 100644
index 0000000..7dfa233
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
@@ -0,0 +1,34 @@
+From cebbeaa9d0bdc18377faef27ea9ffd38e509d180 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 4 Feb 2020 16:38:06 -0500
+Subject: [PATCH] Fix link failure with gcc 10
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Without the 'extern' this looks like a definition not just a
+declaration, in every file that includes the header. gcc 10 is stricter
+about this kind of multiple definition.
+
+Upstream-Status: Backport [https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=f223035f4ffcff2a9296d1e907a5193f8e8845a3]
+Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
+---
+ src/drmmode_display.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/drmmode_display.h b/src/drmmode_display.h
+index 96eaef0..8cd8a0a 100644
+--- a/src/drmmode_display.h
++++ b/src/drmmode_display.h
+@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type,
+ 			 uint64_t *ust, uint32_t *result_seq);
+ 
+ 
+-miPointerSpriteFuncRec drmmode_sprite_funcs;
++extern miPointerSpriteFuncRec drmmode_sprite_funcs;
+ 
+ 
+ #endif
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
index 4042150..d339549 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
@@ -12,6 +12,8 @@
 inherit features_check
 REQUIRED_DISTRO_FEATURES += "opengl"
 
+SRC_URI += "file://0001-Fix-link-failure-with-gcc-10.patch"
+
 SRC_URI[md5sum] = "47eccf71823206ade9629cba69de7ef6"
 SRC_URI[sha256sum] = "5cb6015d8664546ad1311bc9c363d7bc41ebf60e7046ceb44dd38e5b707961b0"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch
new file mode 100644
index 0000000..32a24b4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch
@@ -0,0 +1,36 @@
+From 95ed4b743f197e20f1884a326d5a7128187a7ba6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 17:56:30 -0700
+Subject: [PATCH] lbx_zlib: Mark declration with extern
+
+Fixes build with gcc10/-fno-common
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lbx_zlib/lbx_zlib.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/lbx_zlib/lbx_zlib.h b/src/lbx_zlib/lbx_zlib.h
+index 8ae8956..bec3b96 100644
+--- a/src/lbx_zlib/lbx_zlib.h
++++ b/src/lbx_zlib/lbx_zlib.h
+@@ -136,9 +136,9 @@ extern void Xfree(pointer /*ptr*/);
+ #endif
+ 
+ /* lbx_zlib.c */
+-unsigned long stream_out_compressed;
+-unsigned long stream_out_uncompressed;
+-unsigned long stream_out_plain;
+-unsigned long stream_in_compressed;
+-unsigned long stream_in_uncompressed;
+-unsigned long stream_in_plain;
++extern unsigned long stream_out_compressed;
++extern unsigned long stream_out_uncompressed;
++extern unsigned long stream_out_plain;
++extern unsigned long stream_in_compressed;
++extern unsigned long stream_in_uncompressed;
++extern unsigned long stream_in_plain;
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
index 3e5c31a..58b4f31 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
@@ -7,7 +7,9 @@
 PE = "1"
 PR = "r11"
 
-SRC_URI += "file://mkg3states-1.1.patch"
+SRC_URI += "file://mkg3states-1.1.patch \
+            file://0001-lbx_zlib-Mark-declration-with-extern.patch \
+           "
 SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1"
 SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_git.bb b/meta-openembedded/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_git.bb
rename to meta-openembedded/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb
index 8c474ec..e861ddb 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_git.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb
@@ -10,9 +10,9 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE.broadcom_bcm20702;md5=c0d5ea0502b00df74173d0f8a48b619d"
 SRC_URI = "git://github.com/winterheart/broadcom-bt-firmware.git"
-SRCREV = "c0bd928b8ae5754b6077c99afe6ef5c949a58f32"
+SRCREV = "1af1116f73782951bd7bbe2139928e497c3a634b"
+
 PE = "1"
-PV = "0.0+git${SRCPV}"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-an-ARM64-gcc-10-compilation-error.-Without-t.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-an-ARM64-gcc-10-compilation-error.-Without-t.patch
new file mode 100644
index 0000000..c946444
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0001-Fix-for-an-ARM64-gcc-10-compilation-error.-Without-t.patch
@@ -0,0 +1,54 @@
+From 0dddb4e1158705345b7f4f71635d42c89e1b0c8f Mon Sep 17 00:00:00 2001
+From: Dave Anderson <anderson@redhat.com>
+Date: Fri, 31 Jan 2020 17:11:46 -0500
+Subject: [PATCH] Fix for an ARM64 gcc-10 compilation error.  Without the
+ patch, the build of the embedded gdb module fails with an error message that
+ indicates "multiple definition of 'tdesc_aarch64'". (anderson@redhat.com)
+
+Upstream-Status: Backport [https://github.com/crash-utility/crash/commit/e770735200c02ac2414c394ea6ec5f7f033efe64]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdb-7.6.patch | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+diff --git a/gdb-7.6.patch b/gdb-7.6.patch
+index f6c311d..f64b55f 100644
+--- a/gdb-7.6.patch
++++ b/gdb-7.6.patch
+@@ -2471,3 +2471,33 @@ diff -up gdb-7.6/opcodes/configure.orig gdb-7.6/opcodes/configure
+  #else
+  # error "!__i386__ && !__x86_64__"
+  #endif
++--- gdb-7.6/gdb/features/aarch64.c.orig
+++++ gdb-7.6/gdb/features/aarch64.c
++@@ -5,7 +5,6 @@
++ #include "osabi.h"
++ #include "target-descriptions.h"
++ 
++-struct target_desc *tdesc_aarch64;
++ static void
++ initialize_tdesc_aarch64 (void)
++ {
++--- gdb-7.6/gdb/aarch64-linux-nat.c.orig
+++++ gdb-7.6/gdb/aarch64-linux-nat.c
++@@ -37,6 +37,7 @@
++ 
++ #include "gregset.h"
++ 
+++extern struct target_desc *tdesc_aarch64;
++ #include "features/aarch64.c"
++ 
++ /* Defines ps_err_e, struct ps_prochandle.  */
++--- gdb-7.6/gdb/aarch64-tdep.c.orig
+++++ gdb-7.6/gdb/aarch64-tdep.c
++@@ -52,6 +52,7 @@
++ #include "gdb_assert.h"
++ #include "vec.h"
++ 
+++struct target_desc *tdesc_aarch64;
++ #include "features/aarch64.c"
++ #include "features/aarch64-without-fpu.c"
++ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb
index 834c92c..6e25336 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.8.bb
@@ -25,6 +25,7 @@
            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-Fix-for-an-ARM64-gcc-10-compilation-error.-Without-t.patch \
            "
 SRCREV = "24f4801f8c8871a2e3e660fe9fa8fdd86bb29876"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch
new file mode 100644
index 0000000..a765c3a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch
@@ -0,0 +1,41 @@
+From 3f7bb7218181745ca7762c1b4832cbb1c9e692f5 Mon Sep 17 00:00:00 2001
+From: Vaclav Dolezal <vdolezal@redhat.com>
+Date: Thu, 23 Jan 2020 11:26:32 +0100
+Subject: [PATCH] hpmfwupg: move variable definition to .c file
+
+Upstream-Status: Pending
+Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
+---
+ include/ipmitool/ipmi_hpmfwupg.h | 2 +-
+ lib/ipmi_hpmfwupg.c              | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/include/ipmitool/ipmi_hpmfwupg.h b/include/ipmitool/ipmi_hpmfwupg.h
+index de65292..07f597b 100644
+--- a/include/ipmitool/ipmi_hpmfwupg.h
++++ b/include/ipmitool/ipmi_hpmfwupg.h
+@@ -800,7 +800,7 @@ typedef struct _VERSIONINFO {
+ 	char descString[HPMFWUPG_DESC_STRING_LENGTH + 1];
+ }VERSIONINFO, *PVERSIONINFO;
+ 
+-VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
++extern VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
+ 
+ #define TARGET_VER (0x01)
+ #define ROLLBACK_VER (0x02)
+diff --git a/lib/ipmi_hpmfwupg.c b/lib/ipmi_hpmfwupg.c
+index bbcffc0..d7cdcd6 100644
+--- a/lib/ipmi_hpmfwupg.c
++++ b/lib/ipmi_hpmfwupg.c
+@@ -58,6 +58,8 @@ ipmi_intf_get_max_request_data_size(struct ipmi_intf * intf);
+ 
+ extern int verbose;
+ 
++VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
++
+ int HpmfwupgUpgrade(struct ipmi_intf *intf, char *imageFilename,
+ 		int activate, int, int);
+ int HpmfwupgValidateImageIntegrity(struct HpmfwupgUpgradeCtx *pFwupgCtx);
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
index 3de9a92..e3c74a5 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
@@ -30,6 +30,7 @@
            file://0003-channel-Fix-buffer-overflow.patch \
            file://0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch \
            file://0005-fru-sdr-Fix-id_string-buffer-overflows.patch \
+           file://0001-hpmfwupg-move-variable-definition-to-.c-file.patch \
            "
 SRC_URI[md5sum] = "bab7ea104c7b85529c3ef65c54427aa3"
 SRC_URI[sha256sum] = "0c1ba3b1555edefb7c32ae8cd6a3e04322056bc087918f07189eeedfc8b81e01"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-PATCH-Remove-duplicated-variable-definitions.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-PATCH-Remove-duplicated-variable-definitions.patch
new file mode 100644
index 0000000..49777bc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-PATCH-Remove-duplicated-variable-definitions.patch
@@ -0,0 +1,104 @@
+From 399f2c9a3acd5bd913e50a4dde52dee6527b297e Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong@redhat.com>
+Date: Wed, 29 Jan 2020 13:37:13 +0800
+Subject: [PATCH] [PATCH] Remove duplicated variable definitions
+
+When building on Fedora 32 (with GCC 10), following error is observed:
+
+/usr/bin/ld: erase_info.o:/tmp/makedumpfile/makedumpfile.h:2010: multiple definition of
+ `crash_reserved_mem_nr'; elf_info.o:/tmp/makedumpfile/makedumpfile.h:2010: first defined here
+/usr/bin/ld: erase_info.o:/tmp/makedumpfile/makedumpfile.h:2009: multiple definition of
+ `crash_reserved_mem'; elf_info.o:/tmp/makedumpfile/makedumpfile.h:2009: first defined here
+/usr/bin/ld: erase_info.o:/tmp/makedumpfile/makedumpfile.h:1278: multiple definition of
+ `parallel_info_t'; elf_info.o:/tmp/makedumpfile/makedumpfile.h:1278: first defined here
+/usr/bin/ld: erase_info.o:/tmp/makedumpfile/makedumpfile.h:1265: multiple definition of
+ `splitting_info_t'; elf_info.o:/tmp/makedumpfile/makedumpfile.h:1265: first defined here
+...
+collect2: error: ld returned 1 exit status
+make: *** [Makefile:97: makedumpfile] Error 1
+
+These variables are wrongly defined multiple times. So remove the
+duplicated definitions.
+
+Upstream-Status: Backport [https://github.com/kraj/makedumpfile/commit/399f2c9a3acd5bd913e50a4dde52dee6527b297e]
+Signed-off-by: Kairui Song <kasong@redhat.com>
+Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
+---
+ makedumpfile.c | 8 ++++----
+ makedumpfile.h | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/makedumpfile.c b/makedumpfile.c
+index e290fbd..ae7336a 100644
+--- a/makedumpfile.c
++++ b/makedumpfile.c
+@@ -10954,7 +10954,7 @@ check_param_for_reassembling_dumpfile(int argc, char *argv[])
+ 		return FALSE;
+ 
+ 	if ((info->splitting_info
+-	    = malloc(sizeof(splitting_info_t) * info->num_dumpfile))
++	    = malloc(sizeof(struct splitting_info) * info->num_dumpfile))
+ 	    == NULL) {
+ 		MSG("Can't allocate memory for splitting_info.\n");
+ 		return FALSE;
+@@ -11042,7 +11042,7 @@ check_param_for_creating_dumpfile(int argc, char *argv[])
+ 			return FALSE;
+ 		}
+ 		if ((info->splitting_info
+-		    = malloc(sizeof(splitting_info_t) * info->num_dumpfile))
++		    = malloc(sizeof(struct splitting_info) * info->num_dumpfile))
+ 		    == NULL) {
+ 			MSG("Can't allocate memory for splitting_info.\n");
+ 			return FALSE;
+@@ -11077,13 +11077,13 @@ check_param_for_creating_dumpfile(int argc, char *argv[])
+ 
+ 	if (info->num_threads) {
+ 		if ((info->parallel_info =
+-		     malloc(sizeof(parallel_info_t) * info->num_threads))
++		     malloc(sizeof(struct parallel_info) * info->num_threads))
+ 		    == NULL) {
+ 			MSG("Can't allocate memory for parallel_info.\n");
+ 			return FALSE;
+ 		}
+ 
+-		memset(info->parallel_info, 0, sizeof(parallel_info_t)
++		memset(info->parallel_info, 0, sizeof(struct parallel_info)
+ 							* info->num_threads);
+ 	}
+ 
+diff --git a/makedumpfile.h b/makedumpfile.h
+index 68d9691..7217407 100644
+--- a/makedumpfile.h
++++ b/makedumpfile.h
+@@ -1262,7 +1262,7 @@ struct splitting_info {
+ 	mdf_pfn_t		end_pfn;
+ 	off_t			offset_eraseinfo;
+ 	unsigned long		size_eraseinfo;
+-} splitting_info_t;
++};
+ 
+ struct parallel_info {
+ 	int			fd_memory;
+@@ -1275,7 +1275,7 @@ struct parallel_info {
+ #ifdef USELZO
+ 	lzo_bytep		wrkmem;
+ #endif
+-} parallel_info_t;
++};
+ 
+ struct ppc64_vmemmap {
+ 	unsigned long		phys;
+@@ -2006,8 +2006,8 @@ struct memory_range {
+ };
+ 
+ #define CRASH_RESERVED_MEM_NR   8
+-struct memory_range crash_reserved_mem[CRASH_RESERVED_MEM_NR];
+-int crash_reserved_mem_nr;
++extern struct memory_range crash_reserved_mem[CRASH_RESERVED_MEM_NR];
++extern int crash_reserved_mem_nr;
+ 
+ unsigned long read_vmcoreinfo_symbol(char *str_symbol);
+ int readmem(int type_addr, unsigned long long addr, void *bufptr, size_t size);
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb
index 8d1676a..165e192 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.7.bb
@@ -24,6 +24,7 @@
     ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
     file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
     file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
+    file://0001-PATCH-Remove-duplicated-variable-definitions.patch \
 "
 SRC_URI[md5sum] = "808ef840ca49ca6bfde77c097cf429f5"
 SRC_URI[sha256sum] = "e702fbdf62b4cd829a76e46f3e24eb3fc7501918b85ebdcd8baef4f53d6ee2c8"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index 3b10e97..ebb95cf 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -10,6 +10,7 @@
            file://0001-genisoimage-Fix-fprintf-format-errors.patch \
            file://0001-define-__THROW-to-avoid-build-issue-with-musl.patch \
            file://0002-Do-not-use-rcmd-on-build-with-musl.patch \
+           file://0001-genisoimage-Add-missing-extern-definition.patch \
            "
 SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9"
 SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-missing-extern-definition.patch b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-missing-extern-definition.patch
new file mode 100644
index 0000000..809d3af
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-missing-extern-definition.patch
@@ -0,0 +1,29 @@
+From fd5251cc8b82ce7a5f907c5129969097d75609fe Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 17:38:59 -0700
+Subject: [PATCH] genisoimage: Add missing extern definition
+
+Fixed build with gcc10
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ genisoimage/genisoimage.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
+index bbedfb0..82c859b 100644
+--- a/genisoimage/genisoimage.h
++++ b/genisoimage/genisoimage.h
+@@ -376,7 +376,7 @@ extern int	use_fileversion;
+ extern int	split_SL_component;
+ extern int	split_SL_field;
+ extern char	*trans_tbl;
+-char		*outfile;
++extern char	*outfile;
+ 
+ #define	JMAX		64	/* maximum Joliet file name length (spec) */
+ #define	JLONGMAX	103	/* out of spec Joliet file name length */
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopusenc/libopusenc_0.2.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopusenc/libopusenc_0.2.1.bb
new file mode 100644
index 0000000..596c5fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libopusenc/libopusenc_0.2.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Opus Audio Codec"
+DESCRIPTION = "The libopusenc libraries provide a high-level API for encoding \
+               .opus files. libopusenc depends only on libopus."
+HOMEPAGE = "http://www.opus-codec.org/"
+SECTION = "libs/multimedia"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=174b92049c2c697eb73112801662a07c"
+
+DEPENDS = "libopus"
+
+UPSTREAM_CHECK_URI = "https://github.com/xiph/libopusenc/releases"
+
+SRC_URI = "https://ftp.osuosl.org/pub/xiph/releases/opus/libopusenc-${PV}.tar.gz"
+SRC_URI[md5sum] = "f038ea0f4168d184c76b42d293697c57"
+SRC_URI[sha256sum] = "8298db61a8d3d63e41c1a80705baa8ce9ff3f50452ea7ec1c19a564fe106cbb9"
+
+S = "${WORKDIR}/libopusenc-${PV}"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/files/config.linux-cross b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555/config.linux-cross
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-multimedia/live555/files/config.linux-cross
rename to meta-openembedded/meta-oe/recipes-multimedia/live555/live555/config.linux-cross
index d1277da..fe6a286 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/files/config.linux-cross
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555/config.linux-cross
@@ -12,6 +12,6 @@
 LIBRARY_LINK =		$(LD) -o
 LIBRARY_LINK_OPTS =	$(LINK_OPTS) -r -Bstatic
 LIB_SUFFIX =			a
-LIBS_FOR_CONSOLE_APPLICATION =
+LIBS_FOR_CONSOLE_APPLICATION = -lssl -lcrypto
 LIBS_FOR_GUI_APPLICATION =
 EXE =
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb
deleted file mode 100644
index 1da61c0..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require live555.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
-                   "
-# SRC_URI[md5sum] = "a84ca3946d899f5592c7d31012ed2fe3"
-# SRC_URI[sha256sum] = "0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd"
-
-SRC_URI[md5sum] = "a593f915664793b3ba41299b17b8bedc"
-SRC_URI[sha256sum] = "a3dcd157865186cf883c3a80b4bb09637e91fff96b234b2c780a7f7dcc7a35dc"
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20200721.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
rename to meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20200721.bb
index e08d11b..df85cd4 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20200721.bb
@@ -7,13 +7,23 @@
 LICENSE = "LGPLv3"
 SECTION = "devel"
 
+DEPENDS = "openssl"
+
 URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
 SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \
            file://config.linux-cross"
+
 # only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
 MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
 
+SRC_URI[sha256sum] = "89b2d99589de2ce9b4007ea6625dfce28317421604cf5131f4e1bf5bf7040b63"
+
 S = "${WORKDIR}/live"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+                   "
+
 TARGET_CC_ARCH += "${LDFLAGS}"
 
 do_configure() {
@@ -22,10 +32,6 @@
     ./genMakefiles linux-cross
 }
 
-do_compile() {
-    oe_runmake
-}
-
 do_install() {
     install -d ${D}${includedir}/BasicUsageEnvironment
     install -d ${D}${includedir}/groupsock
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.6.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb
rename to meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.6.bb
index e57e7a7..03a10ce 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.3.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.5.6.bb
@@ -12,17 +12,9 @@
 
 inherit meson pkgconfig gtk-doc gobject-introspection vala
 
-SRC_URI = " \
-    https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/${PV}/geoclue-${PV}.tar \
-"
+SRC_URI = "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/${PV}/geoclue-${PV}.tar"
 
-SRC_URI[md5sum] = "6228301ed62b587ebaa0438b97ce66e4"
-SRC_URI[sha256sum] = "3caa5e10190a34c17a9b3a9d1d8a19797ed197f07f36f6e35ce533a379efe155"
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
+SRC_URI[sha256sum] = "76494f1262fd90faea05116aface7f580b9b50f7c525bc86ccf33409cea95e8d"
 
 # Without this line, package is declared a library and named libgeoclue*
 AUTO_LIBNAME_PKGS = ""
diff --git a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.bb b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.bb
rename to meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb
index b3a3665..c691400 100644
--- a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.bb
+++ b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.11.1.bb
@@ -8,8 +8,8 @@
 inherit autotools update-alternatives
 
 SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz"
-SRC_URI[md5sum] = "027236e48b9202607b1418fee42c473e"
-SRC_URI[sha256sum] = "4dd9a6ed5fe7546095157918fe5d784bb0b7887ae13de50e1e2d11e1b5a391cb"
+SRC_URI[md5sum] = "df978fd0324f60a6ff45f686fe269fdc"
+SRC_URI[sha256sum] = "73c881f146e329ac54962766760fd62cb8bdff376cd6c2f5772eecc1570e1611"
 
 EXTRA_OECONF += "--bindir=${base_bindir}"
 
diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0001-Remove-defining-handle_interrupt-twice.patch b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0001-Remove-defining-handle_interrupt-twice.patch
new file mode 100644
index 0000000..d6d6ae0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh/0001-Remove-defining-handle_interrupt-twice.patch
@@ -0,0 +1,28 @@
+From 2c77b61506aa867a873e3691214983b3eb7f652d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 19:49:35 -0700
+Subject: [PATCH] Remove defining handle_interrupt twice
+
+Fixes build with -fno-common
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tc.sig.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tc.sig.c b/tc.sig.c
+index 77659ca..576605a 100644
+--- a/tc.sig.c
++++ b/tc.sig.c
+@@ -56,7 +56,6 @@ int alrmcatch_disabled; /* = 0; */
+ int phup_disabled; /* = 0; */
+ int pchild_disabled; /* = 0; */
+ int pintr_disabled; /* = 0; */
+-int handle_interrupt; /* = 0; */
+ 
+ int
+ handle_pending_signals(void)
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb
index b30c343..541f550 100644
--- a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb
+++ b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.02.bb
@@ -12,6 +12,7 @@
     https://astron.com/pub/${BPN}/${BP}.tar.gz \
     file://0001-Enable-system-malloc-on-all-linux.patch \
     file://0002-Add-debian-csh-scripts.patch \
+    file://0001-Remove-defining-handle_interrupt-twice.patch \
 "
 SRC_URI[md5sum] = "f34909eab33733aecc05d27adc82277b"
 SRC_URI[sha256sum] = "ed287158ca1b00ba477e8ea57bac53609838ebcfd05fcb05ca95021b7ebe885b"
diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb
rename to meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb
index e235b9b..67dd701 100644
--- a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb
@@ -12,7 +12,7 @@
     file://cmake-install-libcares.pc.patch \
     file://0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch \
 "
-SRCREV = "077a587dccbe2f0d8a1987fbd3525333705c2249"
+SRCREV = "74a1426ba60e2cd7977e53a22ef839c87415066e"
 
 UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.9.0.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.9.1.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.9.0.bb
rename to meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.9.1.bb
index 151653b..5f022d7 100644
--- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.9.1.bb
@@ -3,10 +3,10 @@
 HOMEPAGE = "https://github.com/CLIUtils/CLI11"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b73927b18d5c6cd8d2ed28a6ad539733"
-SRCREV = "13becaddb657eacd090537719a669d66d393b8b2"
+SRCREV = "5cb3efabce007c3a0230e4cc2e27da491c646b6c"
 PV .= "+git${SRCPV}"
 
-SRC_URI += "gitsm://github.com/CLIUtils/CLI11"
+SRC_URI += "gitsm://github.com/CLIUtils/CLI11;branch=v1"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch
new file mode 100644
index 0000000..96146a1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch
@@ -0,0 +1,40 @@
+From 04d5f4805a86302a0e135a28d58a6c1ff6a68d52 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 30 Jul 2020 23:03:51 +0200
+Subject: [PATCH] Use compiler -fcf-protection only if compiler/arch supports
+ it
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+There have been some PRs they were either rejected or some general suggestion
+for more flags suggested. So
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ cmake/compilerFlags.cmake | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake
+index 12caf42..455525e 100644
+--- a/cmake/compilerFlags.cmake
++++ b/cmake/compilerFlags.cmake
+@@ -26,7 +26,12 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN
+         # This fails under Fedora, MinGW GCC 8.3.0 and CYGWIN/MSYS 9.3.0
+         if (NOT (MINGW OR CMAKE_HOST_SOLARIS OR CYGWIN OR MSYS) )
+             if (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
+-                add_compile_options(-fstack-clash-protection -fcf-protection)
++                # Gcc does support -fcf-protection on few arches only
++                CHECK_CXX_COMPILER_FLAG(-fcf-protection COMPILER_SUPPORTS_FCF_PROTECTION)
++                if (COMPILER_SUPPORTS_FCF_PROTECTION)
++                    add_compile_options(-fcf-protection)
++                endif()
++                add_compile_options(-fstack-clash-protection)
+             endif()
+ 
+             if( (COMPILER_IS_GCC   AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0) # Not in GCC 4.8
+-- 
+2.21.3
+
diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb
deleted file mode 100644
index 97116ee..0000000
--- a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
-
-DEPENDS = "zlib expat"
-
-SRC_URI = "https://exiv2.org/releases/${BPN}-${PV}-Source.tar.gz"
-SRC_URI[md5sum] = "56d064517ae5903dd963b84514a121c1"
-SRC_URI[sha256sum] = "f125286980fd1bcb28e188c02a93946951c61e10784720be2301b661a65b3081"
-
-S = "${WORKDIR}/${BPN}-${PV}-Source"
-
-inherit cmake gettext
diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb
new file mode 100644
index 0000000..ed1e8de
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
+
+DEPENDS = "zlib expat"
+
+SRC_URI = "https://exiv2.org/releases/${BPN}-${PV}-Source.tar.gz"
+SRC_URI[sha256sum] = "a79f5613812aa21755d578a297874fb59a85101e793edc64ec2c6bd994e3e778"
+
+# Once patch is obsolete (project should be aware due to PRs), dos2unix can be removed either
+inherit dos2unix
+SRC_URI += "file://0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch"
+
+S = "${WORKDIR}/${BPN}-${PV}-Source"
+
+inherit cmake gettext
diff --git a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_7.0.3.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb
rename to meta-openembedded/meta-oe/recipes-support/fmt/fmt_7.0.3.bb
index 05dc94a..ed3de0b 100644
--- a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_7.0.3.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=af88d758f75f3c5c48a967501f24384b"
 
 SRC_URI += "git://github.com/fmtlib/fmt"
-SRCREV = "9bdd1596cef1b57b9556f8bef32dc4a32322ef3e"
+SRCREV = "cd4af11efc9c622896a3e4cb599fa28668ca3d05"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
rename to meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb
index 7cafbb7..6a97c24 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.2.0.bb
@@ -11,12 +11,10 @@
 inherit pkgconfig cmake gitpkgv
 
 PE = "1"
-PV = "2.0.0+gitr${SRCPV}"
 PKGV = "${GITPKGVTAG}"
 
-# 2.0.0 release
-SRCREV = "5ab2bed8749747b8e4b2ed431fd102bc726be684"
-SRC_URI = "git://github.com/FreeRDP/FreeRDP.git \
+SRCREV = "d2ba84a6885f57674098fe8e76c5f99d880e580d"
+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/function2/function2_4.0.0.bb b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.1.0.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb
rename to meta-openembedded/meta-oe/recipes-support/function2/function2_4.1.0.bb
index 556a25a..56dc30a 100644
--- a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.1.0.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "https://naios.github.io/function2"
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRCREV = "d2acdb6c3c7612a6133cd03464ef941161258f4e"
+SRCREV = "3a0746bf5f601dfed05330aefcb6854354fce07d"
 PV .= "+git${SRCPV}"
 
 SRC_URI += "gitsm://github.com/Naios/function2"
diff --git a/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch b/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch
deleted file mode 100644
index a919816..0000000
--- a/meta-openembedded/meta-oe/recipes-support/gpm/gpm/0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 52e6cf052b1f938fcca1bc24d578fe0bfd972988 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 25 Jun 2017 07:25:33 -0700
-Subject: [PATCH] Use sigemptyset API instead of __sigemptyset
-
-__sigemptyset has been removed from glibc public
-API headers in upcoming (2.26) release onwards
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- src/prog/gpm-root.y | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y
-index 5126c65..76c896c 100644
---- a/src/prog/gpm-root.y
-+++ b/src/prog/gpm-root.y
-@@ -1196,11 +1196,7 @@ int main(int argc, char **argv)
-                                                         LOG_DAEMON : LOG_USER);
-    /* reap your zombies */
-    childaction.sa_handler=reap_children;
--#if defined(__GLIBC__)
--   __sigemptyset(&childaction.sa_mask);
--#else /* __GLIBC__ */
-    sigemptyset(&childaction.sa_mask);
--#endif /* __GLIBC__ */
-    childaction.sa_flags=0;
-    sigaction(SIGCHLD,&childaction,NULL);
- 
--- 
-2.13.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb b/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
index 3800d14..600b25d 100644
--- a/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gpm/gpm_git.bb
@@ -9,14 +9,13 @@
 
 PV = "1.99.7+git${SRCREV}"
 PR = "r2"
-SRCREV = "1fd19417b8a4dd9945347e98dfa97e4cfd798d77"
+SRCREV = "e82d1a653ca94aa4ed12441424da6ce780b1e530"
 
 DEPENDS = "ncurses bison-native"
 
 SRC_URI = "git://github.com/telmich/gpm;protocol=git \
            file://init \
            file://gpm.service.in \
-           file://0001-Use-sigemptyset-API-instead-of-__sigemptyset.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb b/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb
rename to meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb
index 8543c6f..70807de 100644
--- a/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.103.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gsoap/gsoap_2.8.105.bb
@@ -7,8 +7,8 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \
            "
-SRC_URI[md5sum] = "3207ece9fc8ceb787091de93838f5952"
-SRC_URI[sha256sum] = "afe2ba08d2fa56adc3c774b6741587203a72140a255346e9947b8d2ee6c7d4b6"
+SRC_URI[md5sum] = "ce91e46d3abc1d720566b13298fbc367"
+SRC_URI[sha256sum] = "aa20c535cf08f1576bebad97cc6159ca57c68bc43acfc9a296e4e9faf041097e"
 
 inherit autotools
 
diff --git a/meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch b/meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch
new file mode 100644
index 0000000..5be0627
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/htop/files/htop-gcc10.patch
@@ -0,0 +1,31 @@
+Fix build with -fno-common
+
+Upstream-Staus: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/CRT.h
++++ b/CRT.h
+@@ -140,7 +140,7 @@ extern const char **CRT_treeStr;
+ 
+ extern int CRT_delay;
+ 
+-int* CRT_colors;
++extern int* CRT_colors;
+ 
+ extern int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT];
+ 
+@@ -150,13 +150,13 @@ extern int CRT_scrollHAmount;
+ 
+ extern int CRT_scrollWheelVAmount;
+ 
+-char* CRT_termType;
++extern char* CRT_termType;
+ 
+ // TODO move color scheme to Settings, perhaps?
+ 
+ extern int CRT_colorScheme;
+ 
+-void *backtraceArray[128];
++extern void *backtraceArray[128];
+ 
+ #if HAVE_SETUID_ENABLED
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb
index 64eb0c5..c608077 100644
--- a/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/htop/htop_2.2.0.bb
@@ -9,6 +9,7 @@
 SRC_URI = "http://hisham.hm/htop/releases/${PV}/${BP}.tar.gz \
            file://0001-Use-pkg-config.patch \
            file://0001-Ask-for-python3-specifically.patch \
+           file://htop-gcc10.patch \
            "
 SRC_URI[md5sum] = "0d816b6beed31edc75babcfbf863ffa8"
 SRC_URI[sha256sum] = "d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57"
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb
rename to meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
index 3f7d06e..804faf0 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
@@ -9,9 +9,9 @@
 DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
 
 BASE_PV := "${PV}"
-PV .= "_13"
+PV .= "_25"
 SRC_URI = "git://github.com/ImageMagick/ImageMagick.git "
-SRCREV = "15b935d64f613b5a0fc9d3fead5c6ec1b0e3908f"
+SRCREV = "8b4e00829eb84d4e7b4da11acf1f98f1e8166e5b"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
index 1471818..0cc8b31 100755
--- a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
@@ -9,8 +9,6 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
 RDEPENDS_${PN} += " \
-    gcov \
-    gcov-symlinks \
     libjson-perl \
     libperlio-gzip-perl \
     perl \
@@ -46,6 +44,11 @@
     perl-module-tie-hash \
 "
 
+RDEPENDS_${PN}_append_class-target = " \
+    gcov \
+    gcov-symlinks \
+"
+
 SRC_URI = " \
            http://downloads.sourceforge.net/ltp/${BP}.tar.gz \
            file://0001-geninfo-Add-intermediate-text-format-support.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb
rename to meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb
index a954499..0aaf188 100644
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb
@@ -9,7 +9,7 @@
 S = "${WORKDIR}/git"
 B = "${S}"
 
-SRCREV = "e64e752a28a4a41b0a43cba3bedf9571c22af807"
+SRCREV = "732ee8d28492e4bc9b52c29bcb81a5c19388d002"
 SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master"
 
 inherit gettext autotools python3native
diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.71.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb
rename to meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.71.bb
index 94976d2..2bd8148 100644
--- a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.70.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.71.bb
@@ -8,8 +8,8 @@
 
 SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz \
 "
-SRC_URI[md5sum] = "dcd6045ecb4ea18c120afedccbd1da74"
-SRC_URI[sha256sum] = "90d0a3d396f96f9bc41eb0f7e8187796049285fabef82604acd4879590977307"
+SRC_URI[md5sum] = "c7e230e9b899282b43d9a9faa41e893d"
+SRC_URI[sha256sum] = "e8f445e85faf727b89e9f9590daea4473ae00ead38b237cf1eda55172b89b182"
 
 inherit autotools lib_package pkgconfig gettext
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb
rename to meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
index 9cd02b0..149cfb8 100644
--- a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.30.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
@@ -14,7 +14,7 @@
            file://0001-team_basic_test.py-use-python3-interpreter.patch \
            file://run-ptest \
            "
-SRCREV = "471fb50d206e5a3f2eef9e4247329b51edc5c493"
+SRCREV = "3ee12c6d569977cf1cd30d0da77807a07aa77158"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/reproducible-build.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/reproducible-build.patch
index db598a8..3f53db9 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/files/reproducible-build.patch
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/reproducible-build.patch
@@ -1,23 +1,27 @@
 configure.ac:  override CONFIGURE_LINE
 
 For reproducible binaries, we need to report a constant CONFIGURE_LINE.
-This patched is only applied for such builds.
 
-Upstream-Status: Inappropriate [oe specific]
+Upstream-Status: Pending
 
 Signed-off-by: Joe Slater <joe.slater@windriver.com>
 
 
 --- git.orig/configure.ac
 +++ git/configure.ac
-@@ -15,7 +15,10 @@ AC_PREREQ(2.69)
+@@ -15,7 +15,15 @@ AC_PREREQ(2.69)
  ################################################################################
  dnl -- Process this file with autoconf to produce a configure script.
  AC_INIT
 -CONFIGURE_LINE="$0 $@"
-+dnl The default CONFIGURE_LINE has been overridden for reproducible binaries
-+dnl CONFIGURE_LINE="$0 $@"
-+CONFIGURE_LINE="configure parameters are not available for reproducible builds"
++
++dnl per reproducible-builds.org check SOURCE_DATE_EPOCH
++dnl
++if test -z "${SOURCE_DATE_EPOCH+set}" ; then
++    CONFIGURE_LINE="$0 $@"
++else
++    CONFIGURE_LINE="configure options are not available for reproducible builds"
++fi
 +
  AC_CONFIG_SRCDIR([lib/device/dev-cache.h])
  AC_CONFIG_HEADERS([include/configure.h])
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index ab618b4..3c6c7ed 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -15,7 +15,7 @@
            file://0001-Avoid-bashisms-in-init-scripts.patch \
            file://0005-do-not-build-manual.patch \
            file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
-           ${@bb.utils.contains('BUILD_REPRODUCIBLE_BINARIES','1','file://reproducible-build.patch','', d)} \
+           file://reproducible-build.patch \
            "
 
 SRCREV = "b9391b1b9f0b73303fa21f8f92574d17ce4c2b02"
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch b/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
index 1302679..9c154a1 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
@@ -9,31 +9,24 @@
  Makefile    | 2 +-
  2 files changed, 1 insertion(+), 2 deletions(-)
 
-diff --git a/GNUmakefile b/GNUmakefile
-index 7bf7dca..0e10030 100644
 --- a/GNUmakefile
 +++ b/GNUmakefile
-@@ -41,7 +41,6 @@ endif
+@@ -45,7 +45,6 @@ endif
  CC?=		gcc
  CFLAGS?=	-O2 -pipe
  CFLAGS+=	-g -Wall
 -CPPFLAGS=	-DREGEX
  CPPFLAGS+=	-D_GNU_SOURCE
- CPPFLAGS+=	$(BSD_CPPFLAGS) -D__dead=__dead2
+ CPPFLAGS+=	$(BSD_CPPFLAGS)
  LIBS=		$(CURSES_LIBS) $(BSD_LIBS)
-diff --git a/Makefile b/Makefile
-index 94ce340..d516bbc 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -10,7 +10,7 @@ DPADD+=	${LIBCURSES} ${LIBUTIL}
- #	REGEX		-- create regular expression functions.
+@@ -11,7 +11,7 @@ DPADD+=	${LIBUTIL}
  #	STARTUPFILE	-- look for and handle initialization file.
+ #	MGLOG		-- debug mg internals to a log file.
  #
--CFLAGS+=-Wall -DREGEX
-+CFLAGS+=-Wall
+-CFLAGS+=-Wall -DREGEX `pkg-config --cflags-only-I ncurses`
++CFLAGS+=-Wall `pkg-config --cflags-only-I ncurses`
  
  SRCS=	autoexec.c basic.c bell.c buffer.c cinfo.c dir.c display.c \
  	echo.c extend.c file.c fileio.c funmap.c help.c kbd.c keymap.c \
--- 
-2.12.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch b/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
index 551f1df..8e8c2b9 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
@@ -8,8 +8,6 @@
  fileio.c | 1 +
  1 file changed, 1 insertion(+)
 
-diff --git a/fileio.c b/fileio.c
-index 48a67a2..9b69665 100644
 --- a/fileio.c
 +++ b/fileio.c
 @@ -12,6 +12,7 @@
@@ -20,6 +18,3 @@
  #include <dirent.h>
  #include <errno.h>
  #include <fcntl.h>
--- 
-2.12.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch b/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
index 907d670..bdd7632 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
@@ -8,13 +8,11 @@
  fileio.c | 4 ++++
  1 file changed, 4 insertions(+)
 
-diff --git a/fileio.c b/fileio.c
-index 9b69665..a852fd2 100644
 --- a/fileio.c
 +++ b/fileio.c
-@@ -28,6 +28,10 @@
- #include "kbd.h"
- #include "pathnames.h"
+@@ -36,6 +36,10 @@
+ #define DEFFILEMODE 0666
+ #endif
  
 +#if !defined(DEFFILEMODE)
 +# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
@@ -23,6 +21,3 @@
  static char *bkuplocation(const char *);
  static int   bkupleavetmp(const char *);
  
--- 
-2.12.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb
rename to meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb
index dad1d00..b73f937 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg_20170401.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb
@@ -5,15 +5,16 @@
 DEPENDS = "ncurses libbsd"
 SECTION = "console/editors"
 
-SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \
+SRCREV = "60fa3582f5f735b9d43825f5bdcc4ea5f0740f91"
+SRC_URI = "git://github.com/hboetes/mg \
            file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \
            file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \
            "
 SRC_URI_append_libc-musl = "\
            file://0001-Undefine-REGEX-for-musl-based-systems.patch \
            "
-SRC_URI[md5sum] = "884388589fb38c2109ad9fed328be20a"
-SRC_URI[sha256sum] = "0a3608b17c153960cb1d954ca3b62445a77c0c1a18aa5c8c58aba9f6b8d62aab"
+
+S = "${WORKDIR}/git"
 
 # CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?=
 EXTRA_OEMAKE = "\
diff --git a/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc b/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc
index f8d6a43..af7bd2b 100644
--- a/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc
+++ b/meta-openembedded/meta-oe/recipes-support/monit/monit/monitrc
@@ -21,6 +21,12 @@
 #                           # default Monit check immediately after Monit start)
 #
 #
+
+# set monit files in temporary locations
+set pidfile /var/run/.monit.pid
+set statefile /var/run/.monit.state
+set idfile /var/run/.monit.id
+
 ## Set syslog logging. If you want to log to a standalone log file instead,
 ## specify the full path to the log file
 #
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb
rename to meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb
index 645b07b..e97c01f 100644
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.9.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.0.bb
@@ -12,8 +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[md5sum] = "52137a960ae8b3ca6d7dab6767fe6e5f"
-SRC_URI[sha256sum] = "6e3438f033a0ed07d3d74c30d0803cbda3d2366ba1601b7bbf9b16ac371f51b4"
+SRC_URI[sha256sum] = "7c0d94be69cd066f20df2868a2da02f7b1d416ce8d47c0850a8bd270897caa36"
 
 UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch
new file mode 100644
index 0000000..c5a6438
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-Os-to-compile-tinyxml2.cpp.patch
@@ -0,0 +1,31 @@
+From 59fafe6e39759e193b5764b36b4c5a93da352123 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 18 Aug 2020 00:36:49 -0700
+Subject: [PATCH] Use -Os to compile tinyxml2.cpp
+
+This workarounds issue [1] seen on riscv with gcc
+
+[1] https://github.com/riscv/riscv-gnu-toolchain/issues/624
+
+Upstream-Status: Inappropriate [ OE-Specific ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/datasets/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/datasets/CMakeLists.txt b/modules/datasets/CMakeLists.txt
+index 56ca9e310..99b7a33f6 100644
+--- a/modules/datasets/CMakeLists.txt
++++ b/modules/datasets/CMakeLists.txt
+@@ -2,7 +2,7 @@ set(the_description "datasets framework")
+ 
+ set(filter_srcs "${CMAKE_CURRENT_LIST_DIR}/src/tinyxml2/tinyxml2.cpp")
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+-  ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-suggest-override")  # GCC
++  ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-suggest-override -Os")  # GCC
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+   ocv_append_source_files_cxx_compiler_options(filter_srcs "-Wno-inconsistent-missing-override")  # Clang
+ endif()
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.3.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.3.0.bb
rename to meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb
index 7927ce2..372e15c 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.4.0.bb
@@ -10,8 +10,8 @@
 
 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
 
-SRCREV_opencv = "01b2c5a77ca6dbef3baef24ebc0a5984579231d9"
-SRCREV_contrib = "e6f32c6a69043456a806a4e802ee3ce7b7059c93"
+SRCREV_opencv = "c3bb57afeaf030f10939204d48d7c2a3842f4293"
+SRCREV_contrib = "5fae4082cc493efa5cb7a7486f9e009618a5198b"
 SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
@@ -50,7 +50,7 @@
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
            "
-PV = "4.3.0"
+SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
 S = "${WORKDIR}/git"
 
@@ -80,6 +80,8 @@
 }
 addtask unpack_extra after do_unpack before do_patch
 
+CMAKE_VERBOSE = "VERBOSE=1"
+
 EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
     -DWITH_1394=OFF \
     -DENABLE_PRECOMPILED_HEADERS=OFF \
@@ -204,3 +206,5 @@
         rm -rf ${D}/usr/lib
     fi
 }
+
+TOOLCHAIN = "gcc"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
index 092e605..eacd4ab 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
@@ -8,10 +8,10 @@
 inherit pkgconfig
 
 SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=git"
-SRCREV = "14f1b69b6292bbdc98cca484b050ec8359394c4e"
+SRCREV = "77f94b55bfb8b0dbc7fafa7461057d33b6802236"
 
 S = "${WORKDIR}/git"
-PV = "1.5+git${SRCPV}"
+PV = "1.6+git${SRCPV}"
 
 do_compile() {
     oe_runmake -C skypeweb;
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
index 3d6d7a8..4a18ba3 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
@@ -5,6 +5,9 @@
 
 Upstream-Status: Pending
 
+Rework for poppler 0.90.1
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
 ---
@@ -12,7 +15,7 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/goo/gbasename.cc b/goo/gbasename.cc
-index 830c1c80..e93eb368 100644
+index 69236d8..3858415 100644
 --- a/goo/gbasename.cc
 +++ b/goo/gbasename.cc
 @@ -46,6 +46,10 @@
@@ -23,9 +26,9 @@
 +#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
 +#endif
 +
- std::string gbasename(const char* filename)
+ std::string gbasename(const char *filename)
  {
  #ifdef _MSC_VER
 -- 
-2.17.0
+2.21.3
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.89.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.89.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb
index f8b7c07..c3f9716 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.89.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_20.08.0.bb
@@ -7,8 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[md5sum] = "92ac57f60ae8c3a1f8bfe01c9530b7b5"
-SRC_URI[sha256sum] = "fba230364537782cc5d43b08d693ef69c36586286349683c7b127156a8ef9b5c"
+SRC_URI[sha256sum] = "ae65fef04bbf63259a6352e7b620719115d4fb97f5079b0b8b00a8eb0c86eca5"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-get-edid-define-quiet-once.patch b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-get-edid-define-quiet-once.patch
new file mode 100644
index 0000000..5147f17
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid/0001-get-edid-define-quiet-once.patch
@@ -0,0 +1,44 @@
+From 9da8eb6663d0ba046bc0570172c549d421de043a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Aug 2020 23:39:32 -0700
+Subject: [PATCH] get-edid: define quiet once
+
+Fixes build with gcc 10
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ get-edid/classic.c | 2 +-
+ get-edid/i2c.c     | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/get-edid/classic.c b/get-edid/classic.c
+index 9cc8ee3..b13f5f0 100644
+--- a/get-edid/classic.c
++++ b/get-edid/classic.c
+@@ -26,7 +26,7 @@ typedef byte* real_ptr;
+ #define dosmemput(buffer,length,offset) memcpy(offset,buffer,length)
+ 
+ #define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
+-int quiet;
++extern int quiet;
+ 
+ real_ptr far_ptr_to_real_ptr( uint32 farptr )
+ {
+diff --git a/get-edid/i2c.c b/get-edid/i2c.c
+index 625d7cb..0929e98 100644
+--- a/get-edid/i2c.c
++++ b/get-edid/i2c.c
+@@ -15,7 +15,7 @@
+ 
+ //Ideas (but not too much actual code) taken from i2c-tools. Thanks guys.
+ 
+-int quiet;
++extern int quiet;
+ 
+ #define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
+ 
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
index e4c2cad..1aa492c 100644
--- a/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
@@ -11,6 +11,7 @@
 
 SRC_URI = "http://polypux.org/projects/read-edid/read-edid-${PV}.tar.gz \
            file://0001-Do-not-install-license-file.patch \
+           file://0001-get-edid-define-quiet-once.patch \
 	   "
 SRC_URI[md5sum] = "016546e438bf6c98739ff74061df9854"
 SRC_URI[sha256sum] = "c7c6d8440f5b90f98e276829271ccea5b2ff5a3413df8a0f87ec09f834af186f"
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb
rename to meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb
index fbf018d..7831dd9 100644
--- a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb
+++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.30.bb
@@ -10,13 +10,16 @@
 SRC_URI = "git://github.com/abrt/satyr.git \
            file://0002-fix-compile-failure-against-musl-C-library.patch \
 "
-SRCREV = "8b5547b89b712b39a59f1d8b366e7de0f5f46108"
+SRCREV = "871a07001c64cfce15dffd7e93a5c3d55af6d5e8"
 S = "${WORKDIR}/git"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
 DEPENDS += " \
     gdb \
+    gperf-native \
+    json-c \
+    nettle \
 "
 
 PACKAGES += "python3-${BPN}"
diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch
new file mode 100644
index 0000000..9e2ebe7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch
@@ -0,0 +1,98 @@
+From b7dd97708b9d0ed09d8d7ac435f8b25eadbf6487 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=83=C2=ADsa=C3=85=E2=84=A2?= <address@hidden>
+Date: Thu, 13 Aug 2020 11:20:38 -0700
+Subject: [PATCH 1/2] Fix building with GCC 10
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+GCC 10 defaults to -fno-common that results into errors on multiple
+global variable definitions:
+
+/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld:
+shar-opts.o:(.data.rel.ro.local+0x0): multiple definition of
+`program_name'; shar.o:(.rodata+0x10): first defined here
+
+This patch fixes it by changing the definitions in header files into extern
+declarations.
+
+<https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/msg00001.html>
+
+Signed-off-by: Petr PÃ­saÅ™ <address@hidden>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shar-opts.h     | 2 +-
+ src/shar-std.def    | 2 +-
+ src/unshar-opts.h   | 2 +-
+ src/uudecode-opts.h | 2 +-
+ src/uuencode-opts.h | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/shar-opts.h b/src/shar-opts.h
+index 172676f..f6e4e79 100644
+--- a/src/shar-opts.h
++++ b/src/shar-opts.h
+@@ -352,7 +352,7 @@ extern "C" {
+  *  global exported definitions
+  */
+ #include "local.h"
+-char const * const program_name;
++extern char const * const program_name;
+ 
+ extern bool initialization_done;
+ extern int optidx;
+diff --git a/src/shar-std.def b/src/shar-std.def
+index ed06b77..a28f61c 100644
+--- a/src/shar-std.def
++++ b/src/shar-std.def
+@@ -41,7 +41,7 @@ no-misuse-usage;
+ usage-message;
+ die-code;
+ 
+-export  = '#include "local.h"'"\nchar const * const program_name;";
++export  = '#include "local.h"'"\nextern char const * const program_name;";
+ 
+ #shell
+ echo "include = 'char const * const program_name = \"${progname}\";';"
+diff --git a/src/unshar-opts.h b/src/unshar-opts.h
+index 568ffca..aa85833 100644
+--- a/src/unshar-opts.h
++++ b/src/unshar-opts.h
+@@ -192,7 +192,7 @@ extern "C" {
+ extern size_t       separator_str_len;
+ 
+ #include "local.h"
+-char const * const program_name;
++extern char const * const program_name;
+ 
+ 
+ /* * * * * *
+diff --git a/src/uudecode-opts.h b/src/uudecode-opts.h
+index 5b74419..289a366 100644
+--- a/src/uudecode-opts.h
++++ b/src/uudecode-opts.h
+@@ -170,7 +170,7 @@ extern "C" {
+  *  global exported definitions
+  */
+ #include "local.h"
+-char const * const program_name;
++extern char const * const program_name;
+ 
+ 
+ /* * * * * *
+diff --git a/src/uuencode-opts.h b/src/uuencode-opts.h
+index 1a5b7bc..f2df0a8 100644
+--- a/src/uuencode-opts.h
++++ b/src/uuencode-opts.h
+@@ -166,7 +166,7 @@ extern "C" {
+  *  global exported definitions
+  */
+ #include "local.h"
+-char const * const program_name;
++extern char const * const program_name;
+ 
+ 
+ /* * * * * *
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch
new file mode 100644
index 0000000..d4a8d6f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch
@@ -0,0 +1,40 @@
+From ab981e1a973e83edb6ea19e6e84102f43ded0dcb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Aug 2020 11:22:40 -0700
+Subject: [PATCH 2/2] Do not include lib/md5.c into src/shar.c
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+ib/md5.o is part of libgnu.a that is linked to shar. There is no
+point in linking md5.o twice into shar executable. Moreover SuSE
+reports that this triggers a linking error with GCC 10:
+
+/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld:
+../lib/libgnu.a(md5.o): in function `md5_stream':
+[   30s] md5.c:(.text+0x15d): multiple definition of `md5_stream';
+shar.o:shar.c:(.text+0x28): first defined here
+
+<https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/msg00001.html>
+
+Signed-off-by: Petr PÃ­saÅ™ <address@hidden>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shar.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/shar.c b/src/shar.c
+index 11cbada..6d7ed1d 100644
+--- a/src/shar.c
++++ b/src/shar.c
+@@ -53,7 +53,6 @@ static const char cright_years_z[] =
+ 
+ #include "inttostr.h"
+ #include "liballoca.h"
+-#include "md5.c"
+ #include "md5.h"
+ #include "quotearg.h"
+ #include "xalloc.h"
+-- 
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
index 930922e..48eb268 100644
--- a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
@@ -10,6 +10,8 @@
            file://0001-Fix-build-with-clang.patch \
            file://CVE-2018-1000097.patch \
            file://0001-Fix-build-with-recent-gettext.patch \
+           file://0001-Fix-building-with-GCC-10.patch \
+           file://0002-Do-not-include-lib-md5.c-into-src-shar.c.patch \
            "
 SRC_URI[md5sum] = "32a51b23e25ad5e6af4b89f228be1800"
 SRC_URI[sha256sum] = "ee336e68549664e7a19b117adf02edfdeac6307f22e5ba78baca457116914637"
diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb
rename to meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb
index 39629cc..ce491da 100644
--- a/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog_1.7.0.bb
@@ -3,14 +3,16 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
-SRCREV = "cf6f1dd01e660d5865d68bf5fa78f6376b89470a"
+SRCREV = "616caa5d30172b65cc3a06800894c575d70cb8e6"
 SRC_URI = "git://github.com/gabime/spdlog.git;protocol=git;branch=v1.x;"
 
+DEPENDS += "fmt"
+
 S = "${WORKDIR}/git"
 
 BBCLASSEXTEND = "native"
 # no need to build example&text&benchmarks on pure yocto
-EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off"
+EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off -DSPDLOG_FMT_EXTERNAL=on"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
index ecaf01e..196198c 100644
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
@@ -3,14 +3,15 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
 
 DEPENDS = " \
+    glib-2.0-native \
+    libxslt-native \
     acl \
     libatasmart \
     polkit \
     libgudev \
-    dbus-glib \
     glib-2.0 \
+    dbus-glib \
     libblockdev \
-    libxslt-native \
 "
 DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
 
@@ -19,13 +20,13 @@
 SRC_URI = " \
     git://github.com/storaged-project/udisks.git;branch=master \
 "
-PV = "2.8.4+git${SRCREV}"
-SRCREV = "db5f487345da2eaa87976450ea51c2c465d9b82e"
+PV = "2.9.1"
+SRCREV = "95444ab6bf2b8d8c205b540dded4029fcb15f91b"
 S = "${WORKDIR}/git"
 
 CVE_PRODUCT = "udisks"
 
-inherit autotools systemd gtk-doc gobject-introspection gettext features_check
+inherit autotools-brokensep systemd gtk-doc gobject-introspection gettext features_check
 
 REQUIRED_DISTRO_FEATURES = "polkit"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.2.0.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb
rename to meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.2.0.bb
index b294d77..fb60446 100644
--- a/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.2.0.bb
@@ -6,7 +6,7 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRCREV = "c9fa3c68a1b2c9790c731602b8bae2b513e80605"
+SRCREV = "5ee8260c71647f687b5e71af11f45244814835d7"
 SRC_URI = "git://github.com/mvp/${BPN}"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch
new file mode 100644
index 0000000..1ad5ce5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-fixes_for_mm_struct.patch
@@ -0,0 +1,176 @@
+From 98070c936931879d2b8e22939724b5a0689721d0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 18 Aug 2020 17:48:29 +0800
+Subject: [PATCH 1/3] fixes_for_mm_struct
+
+Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ .../Runtime/r0drv/linux/memobj-r0drv-linux.c  | 74 +++++++++++++++++--
+ 1 file changed, 67 insertions(+), 7 deletions(-)
+
+diff --git a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+index 37389bcc..cdc7e8e6 100644
+--- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+@@ -222,9 +222,17 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+         ulAddr = vm_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
+ #else
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+         down_write(&pTask->mm->mmap_sem);
++#else
++        down_write(&pTask->mm->mmap_lock);
++#endif
+         ulAddr = do_mmap(NULL, R3PtrFixed, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS | MAP_FIXED, 0);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+         up_write(&pTask->mm->mmap_sem);
++#else
++        up_write(&pTask->mm->mmap_lock);
++#endif
+ #endif
+     }
+     else
+@@ -232,9 +240,17 @@ static void *rtR0MemObjLinuxDoMmap(RTR3PTR R3PtrFixed, size_t cb, size_t uAlignm
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
+         ulAddr = vm_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
+ #else
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+         down_write(&pTask->mm->mmap_sem);
++#else
++        down_write(&pTask->mm->mmap_lock);
++#endif
+         ulAddr = do_mmap(NULL, 0, cb, fLnxProt, MAP_SHARED | MAP_ANONYMOUS, 0);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+         up_write(&pTask->mm->mmap_sem);
++#else
++        up_write(&pTask->mm->mmap_lock);
++#endif
+ #endif
+         if (    !(ulAddr & ~PAGE_MASK)
+             &&  (ulAddr & (uAlignment - 1)))
+@@ -269,13 +285,29 @@ static void rtR0MemObjLinuxDoMunmap(void *pv, size_t cb, struct task_struct *pTa
+     Assert(pTask == current); RT_NOREF_PV(pTask);
+     vm_munmap((unsigned long)pv, cb);
+ #elif defined(USE_RHEL4_MUNMAP)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+     down_write(&pTask->mm->mmap_sem);
++#else
++    down_write(&pTask->mm->mmap_lock);
++#endif
+     do_munmap(pTask->mm, (unsigned long)pv, cb, 0); /* should it be 1 or 0? */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+     up_write(&pTask->mm->mmap_sem);
+ #else
++    up_write(&pTask->mm->mmap_lock);
++#endif
++#else
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+     down_write(&pTask->mm->mmap_sem);
++#else
++    down_write(&pTask->mm->mmap_lock);
++#endif
+     do_munmap(pTask->mm, (unsigned long)pv, cb);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+     up_write(&pTask->mm->mmap_sem);
++#else
++    up_write(&pTask->mm->mmap_lock);
++#endif
+ #endif
+ }
+ 
+@@ -593,7 +625,11 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+                 size_t              iPage;
+                 Assert(pTask);
+                 if (pTask && pTask->mm)
+-                    down_read(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++		    down_read(&pTask->mm->mmap_sem);
++#else
++		    down_read(&pTask->mm->mmap_lock);
++#endif
+ 
+                 iPage = pMemLnx->cPages;
+                 while (iPage-- > 0)
+@@ -608,7 +644,11 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+                 }
+ 
+                 if (pTask && pTask->mm)
+-                    up_read(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++		    up_read(&pTask->mm->mmap_sem);
++#else
++		    up_read(&pTask->mm->mmap_lock);
++#endif
+             }
+             /* else: kernel memory - nothing to do here. */
+             break;
+@@ -1076,7 +1116,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
+     papVMAs = (struct vm_area_struct **)RTMemAlloc(sizeof(*papVMAs) * cPages);
+     if (papVMAs)
+     {
+-        down_read(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++	down_read(&pTask->mm->mmap_sem);
++#else
++	down_read(&pTask->mm->mmap_lock);
++#endif
+ 
+         /*
+          * Get user pages.
+@@ -1162,7 +1206,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
+                 papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
+             }
+ 
+-            up_read(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++	    up_read(&pTask->mm->mmap_sem);
++#else
++	    up_read(&pTask->mm->mmap_lock);
++#endif
+ 
+             RTMemFree(papVMAs);
+ 
+@@ -1189,7 +1237,11 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3P
+ #endif
+         }
+ 
+-        up_read(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++	up_read(&pTask->mm->mmap_sem);
++#else
++	up_read(&pTask->mm->mmap_lock);
++#endif
+ 
+         RTMemFree(papVMAs);
+         rc = VERR_LOCK_FAILED;
+@@ -1604,7 +1656,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p
+             const size_t    cPages    = (offSub + cbSub) >> PAGE_SHIFT;
+             size_t          iPage;
+ 
+-            down_write(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++	    down_write(&pTask->mm->mmap_sem);
++#else
++	    down_write(&pTask->mm->mmap_lock);
++#endif
+ 
+             rc = VINF_SUCCESS;
+             if (pMemLnxToMap->cPages)
+@@ -1721,7 +1777,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ p
+             }
+ #endif /* CONFIG_NUMA_BALANCING */
+ 
+-            up_write(&pTask->mm->mmap_sem);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++	    up_write(&pTask->mm->mmap_sem);
++#else
++	    up_write(&pTask->mm->mmap_lock);
++#endif
+ 
+             if (RT_SUCCESS(rc))
+             {
+-- 
+2.18.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch
new file mode 100644
index 0000000..a3cfc3b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch
@@ -0,0 +1,65 @@
+From bb580f7b601e5395a2f8fcb2485387035273320f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 18 Aug 2020 17:49:34 +0800
+Subject: [PATCH 2/3] fixes_for_module_memory
+
+Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ .../Runtime/r0drv/linux/alloc-r0drv-linux.c    | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+index bbb8acc6..45cd34c7 100644
+--- a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
++++ b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
+@@ -153,6 +153,8 @@ RT_EXPORT_SYMBOL(RTR0MemExecDonate);
+ 
+ 
+ #ifdef RTMEMALLOC_EXEC_VM_AREA
++
++
+ /**
+  * Allocate executable kernel memory in the module range.
+  *
+@@ -168,7 +170,12 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(size_t cb)
+     struct vm_struct   *pVmArea;
+     size_t              iPage;
+ 
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++    pVmArea = __get_vm_area_caller(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END,
++		    		   __builtin_return_address(0));
++#else
+     pVmArea = __get_vm_area(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END);
++#endif
+     if (!pVmArea)
+         return NULL;
+     pVmArea->nr_pages = 0;    /* paranoia? */
+@@ -201,14 +208,21 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(size_t cb)
+ # endif
+         pVmArea->nr_pages = cPages;
+         pVmArea->pages    = papPages;
+-        if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC,
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++	unsigned long start = (unsigned long)pVmArea->addr;
++	unsigned long size = get_vm_area_size(pVmArea);
++
++	if (!map_kernel_range(start, size, PAGE_KERNEL_EXEC, papPages))
++#else
++	if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC,
+ # if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+                          &papPagesIterator
+ # else
+                          papPages
+ # endif
+                          ))
+-        {
++#endif
++	{
+             PRTMEMLNXHDREX pHdrEx = (PRTMEMLNXHDREX)pVmArea->addr;
+             pHdrEx->pVmArea     = pVmArea;
+             pHdrEx->pvDummy     = NULL;
+-- 
+2.18.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch
new file mode 100644
index 0000000..6a3e63f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0003-fixes_for_changes_in_cpu_tlbstate.patch
@@ -0,0 +1,39 @@
+From 6089974a81b1b44e1d2dfa5af1fdc110dfee40c1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 18 Aug 2020 17:51:24 +0800
+Subject: [PATCH 3/3] fixes_for_changes_in_cpu_tlbstate
+
+Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+index c7d0d99a..2e7aa6e1 100644
+--- a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
++++ b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+@@ -757,12 +757,19 @@ EXPORT_SYMBOL(SUPDrvLinuxIDC);
+ RTCCUINTREG VBOXCALL supdrvOSChangeCR4(RTCCUINTREG fOrMask, RTCCUINTREG fAndMask)
+ {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+     RTCCUINTREG uOld = this_cpu_read(cpu_tlbstate.cr4);
++#else
++    RTCCUINTREG uOld = __read_cr4();
++#endif
+     RTCCUINTREG uNew = (uOld & fAndMask) | fOrMask;
+     if (uNew != uOld)
+     {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
+         this_cpu_write(cpu_tlbstate.cr4, uNew);
+         __write_cr4(uNew);
++#endif
++        ASMSetCR4(uNew);
+     }
+ #else
+     RTCCUINTREG uOld = ASMGetCR4();
+-- 
+2.18.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch
new file mode 100644
index 0000000..cb4148f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.8-4.patch
@@ -0,0 +1,19 @@
+Description: Fix kernel 5.8 forbidding use of vermagic.h header file
+Author: Gianfranco Costamagna <locutusofborg@debian.org>
+Origin: https://www.virtualbox.org/ticket/19644
+Bug-Ubuntu: https://launchpad.net/bugs/1884652
+Last-Update: 2020-08-10
+
+--- virtualbox-6.1.12-dfsg.orig/src/VBox/Additions/linux/sharedfolders/vfsmod.c
++++ virtualbox-6.1.12-dfsg/src/VBox/Additions/linux/sharedfolders/vfsmod.c
+@@ -53,7 +53,9 @@
+ #include <linux/seq_file.h>
+ #include <linux/vfs.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 62)
+-# include <linux/vermagic.h>
++# if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)
++#  include <linux/vermagic.h>
++# endif
+ #endif
+ #include <VBox/err.h>
+ #include <iprt/path.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb
rename to meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb
index 89b1ee1..e57df58 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.12.bb
@@ -12,12 +12,17 @@
 VBOX_NAME = "VirtualBox-${PV}"
 
 SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
+    file://0001-fixes_for_mm_struct.patch \
+    file://0002-fixes_for_module_memory.patch \
+    file://0003-fixes_for_changes_in_cpu_tlbstate.patch \
+    file://kernel-5.8-4.patch \
     file://Makefile.utils \
 "
-SRC_URI[md5sum] = "fe6328d22dfb20ea372daa4b58b12374"
-SRC_URI[sha256sum] = "b031c30d770f28c5f884071ad933e8c1f83e65b93aaba03a4012077c1d90a54f"
+SRC_URI[md5sum] = "3c351f7fd6376e0bb3c8489505a9450c"
+SRC_URI[sha256sum] = "05eff0321daa72f6d00fb121a6b4211f39964778823806fa0b7b751667dec362"
 
-S = "${WORKDIR}/vbox_module"
+S ?= "${WORKDIR}/vbox_module"
+S_task-patch = "${WORKDIR}/${VBOX_NAME}"
 
 export BUILD_TARGET_ARCH="${ARCH}"
 export BUILD_TARGET_ARCH_x86-64="amd64"
diff --git a/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.4.bb b/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.4.bb
rename to meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
index 6e74e49..e437d4d 100644
--- a/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.7.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
@@ -5,10 +5,10 @@
 LICENSE = "BSD-2-Clause & GPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb"
 
-SRC_URI = "git://github.com/Cyan4973/xxHash.git"
+SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
-SRCREV = "173e50be0509c6fb6c1bb74d95049ef61d7fdced"
+SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch b/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
index 6795ba8..93a4221 100644
--- a/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
+++ b/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
@@ -11,8 +11,6 @@
  src/utilities/Makefile.am | 2 +-
  3 files changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 62c9ba8..435ec23 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
 @@ -14,7 +14,7 @@ AM_CPPFLAGS = \
@@ -20,15 +18,13 @@
  	`pkg-config --silence-errors --cflags json-c`	\
  	-pthread `pkg-config --cflags glib-2.0 gio-2.0` \
 -	-Wall -Werror -Wextra				\
-+	-Wall -Wextra				\
- 	-Wno-address-of-packed-member
- 
- bin_PROGRAMS = fwts
-diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am
-index 6bcf9f8..de89bf1 100644
++	-Wall -Wextra					\
+ 	-Wno-address-of-packed-member			\
+ 	-Wfloat-equal -Wmissing-declarations		\
+ 	-Wno-long-long -Wredundant-decls -Wshadow	\
 --- a/src/lib/src/Makefile.am
 +++ b/src/lib/src/Makefile.am
-@@ -24,7 +24,7 @@ AM_CPPFLAGS = \
+@@ -25,7 +25,7 @@ AM_CPPFLAGS = \
  	`pkg-config --silence-errors --cflags json-c`	\
  	`pkg-config --cflags glib-2.0 gio-2.0` 		\
  	-DDATAROOTDIR=\"$(datarootdir)\"		\
@@ -37,8 +33,6 @@
  	-Wno-address-of-packed-member
  
  pkglib_LTLIBRARIES = libfwts.la
-diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am
-index 21f969e..82009a0 100644
 --- a/src/utilities/Makefile.am
 +++ b/src/utilities/Makefile.am
 @@ -16,7 +16,7 @@
diff --git a/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb b/meta-openembedded/meta-oe/recipes-test/fwts/fwts_20.07.00.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb
rename to meta-openembedded/meta-oe/recipes-test/fwts/fwts_20.07.00.bb
index 88a89fb..28565eb 100644
--- a/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb
+++ b/meta-openembedded/meta-oe/recipes-test/fwts/fwts_20.07.00.bb
@@ -5,8 +5,7 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
 
-SRCREV = "b0ec7aa2ef743d113fd8c5e57c0ca3d5edd86f0e"
-SRC_URI = "http://fwts.ubuntu.com/release/fwts-V19.06.00.tar.gz;subdir=${BPN}-${PV} \
+SRC_URI = "http://fwts.ubuntu.com/release/fwts-V${PV}.tar.gz;subdir=${BP} \
            file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
            file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
            file://0003-Undefine-PAGE_SIZE.patch \
@@ -14,15 +13,14 @@
            file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
            file://0001-Remove-Werror-from-build.patch \
            "
-SRC_URI[md5sum] = "012f933329510cc5a71817ede681eee2"
-SRC_URI[sha256sum] = "13aa991f12c69f48df368aae5e5d0fbc9136413b4bfe115421bc3216d919f8a2"
+SRC_URI[sha256sum] = "4a8e0211b388efbcfcb6530297e9a924d0afa2d6db58e9db2f031129eda6d66f"
 
 COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
 
 DEPENDS = "libpcre json-c glib-2.0 dtc bison-native libbsd"
 DEPENDS_append_libc-musl = " libexecinfo"
 
-inherit autotools bash-completion pkgconfig
+inherit autotools-brokensep bash-completion pkgconfig
 
 CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
 LDFLAGS_append_libc-musl = " -lexecinfo"
@@ -32,5 +30,3 @@
 FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
 FILES_${PN}-dbg += "${libdir}/fwts/.debug"
 
-TOOLCHAIN = "gcc"
-
