meta-openembedded: subtree update:98175fd0cc..da393545a2

Aditya.Tayade (1):
      neon: Add ptest

Andreas Müller (9):
      udisks2: upgrade 2.9.1 -> 2.9.2 / replace '_git' by version in recipe-name
      poppler: upgrade 21.02.0 -> 21.03.0
      xfce4-panel: upgrade 4.16.1 -> 4.16.2
      xfce4-cpugraph-plugin: upgrade 1.2.1 -> 1.2.3
      xfce4-time-out-plugin: upgrade 1.1.1 -> 1.1.2
      mousepad: upgrade 0.5.2 -> 0.5.3
      xfce4-panel-profiles: 1.0.12 -> 1.0.13
      thunar: upgrade 4.16.2 -> 4.16.4
      xfce4-taskmanager: upgrade 1.4.0 -> 1.4.2

Andrei Gherzan (6):
      python3-pep8: Fix HOMEPAGE
      python3-mccabe: Fix HOMEPAGE
      python3-ifaddr: Integrate a dependency of pysonos
      python3-pysonos: Integrate the SONOS control HomeAssistant module
      python3-aiohue: Integrate the hue control python module
      packagegroup-meta-python: Add new modules (aiohue, ifaddr, pysonos)

Andrej Valek (1):
      jsoncpp: Upgrade to 1.9.4

Bartosz Golaszewski (11):
      pystemd: satisfy runtime dependencies
      python3-pythonping: new package
      python3-wpa-supplicant: new package
      python3-txdbus: new package
      python3-wpa-supplicant: add runtime dependencies
      python3-wpa-supplicant: fix importing the cli submodule
      python3-wpa-supplicant: replace DESCRIPTION with SUMMARY
      libgpiod: update v1.6.2 -> v1.6.3
      python3-txdbus: add missing runtime dependencies
      python3-jmespath: new package
      python3-docutils: new package

Ben Gampe (1):
      python3-h11: new package

Carlos Rafael Giani (1):
      pipewire: Upgrade to 0.3.24

Changqing Li (2):
      php: allow php as empty
      openldap: upgrade 2.4.57 -> 2.4.58

Clément Péron (2):
      grpc: move grpc plugins to a new grpc-compiler package
      nodejs: 12.20.2 -> 12.21.0

Colin McAllister (1):
      python3-gpsd-py3: Added recipe

Daniel Wagenknecht (1):
      gnome-keyring: set file capabilities in pkg_postinst

Denys Dmytriyenko (1):
      glmark2: also depend on wayland-protocols when wayland distro feature is on

Devon Pringle (1):
      python3-pastedeploy: Add recipe

Fabio Berton (1):
      python3-requests: Support idna version 3.1

INC@Cisco) (2):
      bpftool: remove recipe from blacklist
      bpftool: improve reproducibility

Jan Kaisrlik (1):
      abseil-cpp: reorder content of packages

Joshua Watt (1):
      classes: Add Android sparse image class

Kai Kang (8):
      python3-pillow: 8.1.0 -> 8.1.2
      xfce4-cpufreq-plugin: 1.2.2 -> 1.2.5
      exo: 4.16.0 -> 4.16.1
      xfce4-netload-plugin: 1.3.2 -> 1.4.0
      xfce4-genmon-plugin: 4.1.0 -> 4.1.1
      xfce4-weather-plugin: 0.10.2 -> 0.11.0
      xfce4-systemload-plugin: 1.2.4 -> 1.3.0
      xfce4-taskmanager: 1.4.2 -> 1.5.2

Khem Raj (63):
      nss: Disable Werror
      open-vm-tools: Do not use volatile qualifier
      dconf-editor: Fix build with vala 0.50.4
      libbacktrace: Add recipe
      libleak: Add recipe
      packagegroup-meta-oe: Add libleak to packagegroup-meta-oe-extended
      mongodb: Upgrade to 4.4.4
      packagegroup-meta-python: Add python3-semantic-version
      python3-grpcio: Upgrade to 1.36.1
      python3-grpcio: Fix build on mips and musl
      mpv: Link libatomic on riscv64
      glog: Link with libexecinfo on musl
      musl-nscd: Make lex syntax posix'y
      libbpf: Depend on virtual/kernel:do_shared_workdir
      waf-cross-answers: Add powerpc64le version
      python3-grpcio,python3-grpcio-tools: Disable for ppc64le
      openh264: Disable building for ppc64le
      ufs-utils: Upgrade to 1.9
      libhugetlbfs: Fix ARCH setting for ppc64 LE
      nodejs: Set correct nodejs arch for ppc64le
      libnma: Disbale vapi
      xrdp: Upgrade to 0.9.15
      ply: upgrade to latest
      ply: Disable on ppc64
      ltrace: Fix build on ppc64le/musl
      oprofile: Fix build on musl
      gperftools: Update SRCREV to point to 2.9.1 release
      mongodb: Fix cross build on ppc64le
      abseil-cpp: Fix build on musl and ppc64
      mariadb: Fix build on musl/ppc
      mongodb: Fix build on ppc64le
      breakpad: Upgrade to latest
      ssiapi: Disable for ppc64
      kexec-tools-klibc: Use SITEINFO_BITS to construct includepath
      breakpad: Exclude for ppc64
      python3-grpcio,python3-grpcio-tools: Enable build on ppc64/glibc
      breakpad: Do not fallback to android implementation for getcontext/setcontext on musl
      oprofile: Upgrade to 1.4.0 release
      vboxguestdrivers: Add __divmoddi4 builtin support
      links-x11,links: Upgrade to 2.22
      layers: Drop gatesgarth from LAYERSERIES_COMPAT
      xxhash: Remove recipe
      gsound: Use () instead of {} for makefile variable in gsound_play_VALAFLAGS
      pipewire: Package systemd unit file for pipewire-media-session
      packagegroup-meta-python: Add new package python3-pythonping
      python3-spidev: Remove recipe for 3.2
      python3-werkzeug: Clarify BSD license type
      python3-werkzeug: Delete recipe for 1.0.0
      python3-hexdump: Move cleanup_hexfile into install_append
      cryptsetup: DEPEND on renamed util-linux-libuuid
      tracker-miners: Check for commercial license to enable ffmpeg
      gnome-settings-daemon: Do not generate meson.native
      libb64: Add recipe
      sysdig: Upgrade to 0.27.1
      sysdig: Depend on system libb64
      gimp: Disable vector iconn on rv32/musl
      libcamera: Update the patch to upstreamed one
      flashrom: Add remaining RISCV support
      mpd: Check for commercial in LICENSE_FLAGS_WHITELIST
      mpv: Exclude from world if commercial is not in inclusion list
      sox: Exclude from world if commercial is not in inclusion list
      vlc: Exclude from world if commercial is not in inclusion list
      sox: Remove LICENSE_FLAGS = "commercial"

Leon Anavi (74):
      python3-elementpath: Upgrade 2.1.4 -> 2.2.0
      python3-twisted: Upgrade 20.3.0 -> 21.2.0
      python3-ipython: Upgrade 7.20.0 -> 7.21.0
      python3-yamlloader: Upgrade 0.5.5 -> 1.0.0
      python3-astroid: Upgrade 2.5 -> 2.5.1
      python3-portion: Upgrade 2.1.4 -> 2.1.5
      python3-pandas: Upgrade 1.2.2 -> 1.2.3
      python3-ruamel-yaml: Upgrade 0.16.12 -> 0.16.13
      python3-prettytable: Upgrade 2.0.0 -> 2.1.0
      python3-huey: Upgrade 2.3.0 -> 2.3.1
      python3-pychromecast: Upgrade 8.1.0 -> 9.1.1
      python3-incremental: Upgrade 17.5.0 -> 21.3.0
      python3-waitress: Upgrade 1.4.4 -> 2.0.0
      python3-pako: Upgrade 0.3.0 -> 0.3.1
      python3-pyscaffold: Upgrade 3.3.1 -> 4.0
      python3-croniter: Upgrade 1.0.6 -> 1.0.8
      python3-prompt-toolkit: Upgrade 3.0.16 -> 3.0.17
      python3-pymisp: Upgrade 2.4.138 -> 2.4.140
      python3-jsonpatch: Upgrade 1.31 -> 1.32
      python3-jsonpointer: Upgrade 2.0 -> 2.1
      python3-configargparse: Upgrade 1.3 -> 1.4
      python3-luma-core: Upgrade 2.2.0 -> 2.3.1
      python3-pycodestyle: Upgrade 2.6.0 -> 2.7.0
      python3-bitarray: Upgrade 1.7.0 -> 1.7.1
      python3-alembic: Upgrade 1.5.5 -> 1.5.7
      python3-pyflakes: Upgrade 2.2.0 -> 2.3.0
      python3-autobahn: Upgrade 21.2.2 -> 21.3.1
      python3-pulsectl: Upgrade 21.2.0 -> 21.3.4
      python3-configparser: Upgrade 5.0.1 -> 5.0.2
      python3-defusedxml: Upgrade 0.6.0 -> 0.7.1
      python3-twine: Upgrade 3.3.0 -> 3.4.0
      python3-socketio: Upgrade 5.0.4 -> 5.1.0
      python3-soupsieve: Upgrade 2.2 -> 2.2.1
      python3-cassandra-driver: Upgrade 3.24.0 -> 3.25.0
      python3-urllib3: Upgrade 1.26.3 -> 1.26.4
      python3-bitarray: Upgrade 1.7.1 -> 1.8.0
      python3-pyscaffold: Upgrade 4.0 -> 4.0.1
      python3-flask-migrate: Upgrade 2.6.0 -> 2.7.0
      python3-grpcio-tools: Upgrade 1.35.0 -> 1.36.1
      python3-humanize: Upgrade 3.2.0 -> 3.3.0
      python3-regex: Upgrade 2020.11.13 -> 2021.3.17
      python3-twine: Upgrade 3.4.0 -> 3.4.1
      python3-isort: Upgrade 5.7.0 -> 5.8.0
      python3-sqlalchemy: Upgrade 1.3.23 -> 1.4.2
      python3-scrypt: Upgrade 0.8.6 -> 0.8.17
      python3-colorlog: Upgrade 4.7.2 -> 4.8.0
      python3-croniter: Upgrade 1.0.8 -> 1.0.9
      python3-pyperf: Upgrade 2.1.0 -> 2.2.0
      python3-lazy-object-proxy: Upgrade 1.5.2 -> 1.6.0
      python3-prompt-toolkit: Upgrade 3.0.17 -> 3.0.18
      python3-configshell-fb: Upgrade 1.1.28 -> 1.1.29
      python3-backports-functools-lru-cache: Upgrade 1.6.1 -> 1.6.3
      python3-pytest-helpers-namespace: Upgrade 2019.1.8 -> 2021.3.24
      python3-elementpath: Upgrade 2.2.0 -> 2.2.1
      python3-alembic: Upgrade 1.5.7 -> 1.5.8
      python3-rfc3339-validator: Upgrade 0.1.2 -> 0.1.3
      python3-pyflakes: Upgrade 2.3.0 -> 2.3.1
      python3-pint: Upgrade 0.16.1 -> 0.17
      python3-flask-sqlalchemy: Upgrade 2.4.4 -> 2.5.1
      python3-django: Upgrade 3.1.1 -> 3.1.7
      python3-djangorestframework: Upgrade 3.12.2 -> 3.12.3
      python3-ruamel-yaml: Upgrade 0.16.13 -> 0.17.0
      python3-bitarray: Upgrade 1.8.0 -> 1.8.1
      python3-sqlalchemy: Upgrade 1.4.2 -> 1.4.3
      python3-xmlschema: Upgrade 1.5.1 -> 1.5.3
      python3-croniter: Upgrade 1.0.9 -> 1.0.10
      python3-astroid: Upgrade 2.5.1 -> 2.5.2
      python3-pyroute2: Upgrade 0.5.14 -> 0.5.15
      python3-coverage: Upgrade 5.4 -> 5.5
      python3-gunicorn: Upgrade 20.0.4 -> 20.1.0
      python3-djangorestframework: Upgrade 3.12.3 -> 3.12.4
      python3-ipython: Upgrade 7.21.0 -> 7.22.0
      python3-openpyxl: Upgrade 3.0.6 -> 3.0.7
      python3-ruamel-yaml: Upgrade 0.17.0 -> 0.17.2

Luca Boccassi (3):
      cryptsetup: depend on new util-linux-uuid to break cycle
      dbus-broker: upgrade 26 -> 27
      dbus-broker: upgrade 27 -> 28

Marius Kriegerowski (1):
      tmate: add recipe version 2.4.0

Martin Jansa (11):
      glog: fix searching for Libunwind
      ceres-solver: prevent fetching git hook during do_configure
      packagegroup-meta-oe: include abseil-cpp for all architectures
      packagegroup-meta-oe: include nodejs without meta-python2 conditional
      packagegroup-meta-oe: move the packages depending on meta-python2 to separate packages
      mysql-python, lio-utils, openlmi-tools: add conditional PNBLACKLIST like meta-python2 does
      conf/layer.conf: include .bbappend files in BBFILES_DYNAMIC
      open-vm-tools: move to meta-networking
      packagegroup-meta-{oe,multimedia}: move pipewire to the right packagegroup
      packagegroup-meta-multimedia: include projucer only with x11 in DISTRO_FEATURES
      packagegroup-meta-multimedia: include vlc only with x11 in DISTRO_FEATURES

Matteo Croce (1):
      libbpf: use pkg-config

Michael Vetter (1):
      jasper: upgrade 2.0.25 -> 2.0.26

Ming Liu (1):
      atftp: move atftpd.init from files to atftp subdirectory

Mingli Yu (6):
      geoip: Switch to use the main branch
      geoip-perl: Switch to use the main branch
      bridge-utils: Switch to use the main branch
      netkit-telnet: Update SRC_URI
      quagga: Update SRC_URI
      hostapd: fix CVE-2019-5061

Nisha Parrakat (1):
      neon: use pkg-config instead of xml2-config to configure

Oleksandr Kravchuk (10):
      ipset: update to 7.11
      libnice: update to 0.1.18
      nbdkit: update to 1.25.3
      python3-bitarray: update to 1.7.0
      python3-google-api-python-client: update to 2.0.2
      python3-jsonpatch: update to 1.31
      python3-websocket-client: update to 0.58.0
      python3-robotframework: update to 4.0
      python3-sentry-sdk: update to 1.0.0
      aom: update to 3.0.0

Peace Lee (2):
      guider: Upgrade 3.9.7 -> 3.9.8
      guider: Upgrade 3.9.7 -> 3.9.8

Persian Prince (1):
      tinymembench: Correct PV

Philip Balister (1):
      fftw: Add support for ptest.

Randy MacLeod (6):
      gperftools: upgrade 2.8.1 -> 2.9.1
      zabbix: upgrade 4.4.6 -> 5.2.5
      nss: upgrade 3.60.1 -> 3.62
      xterm: upgrade 362 -> 366
      zstd: remove the recipe since it moved to oe-core
      tclap: upgrade 1.2.2 -> 1.4.0

Ross Burton (3):
      libxmlb: upgrade to 0.3.0
      flashrom: recipe cleanup
      openjpeg: add native/nativesdk class extension

Sakib Sajal (1):
      grpc: upgrade 1.36.1 -> 1.36.2

Sam Van Den Berge (1):
      libiio: fix build when python bindings are enabled

Sana Kazi (1):
      mdns: Whitelisted CVE-2007-0613 for mdns

Stefan Schmidt (2):
      musl-rpmatch_git.bb: add new recipe to provide rpmatch() for musl libc builds
      plymouth_0.9.5.bb: allow building with musl libc

Valentin Longchamp (1):
      libssh: add gcrypt to PACKAGECONFIG

Wang Mingyu (3):
      czmq: Conflict resolution for sha1.h
      python3-lxml: upgrade 4.6.2 -> 4.6.3
      python3-zopeinterface: upgrade 5.2.0 -> 5.3.0

Yann Dirson (1):
      mpv: remove explicit LICENSE_FLAGS

Yi Fan Yu (2):
      librelp: update 1.6.0 -> 1.10.0
      rsyslog: Fix rsyslog systemd service not starting

Yi Zhao (2):
      quagga: do not set PIDFile in service files
      tclap: add pkg-config file

Zang Ruochen (1):
      gtkwave: upgrade 3.3.104 -> 3.3.108

zangrc (15):
      dovecot: upgrade 2.3.13 -> 2.3.14
      fetchmail: upgrade 6.4.16 -> 6.4.17
      dialog: upgrade 1.3-20210117 -> 1.3-20210306
      fio: upgrade 3.25 -> 3.26
      xorriso: upgrade 1.5.3 -> 1.5.5
      iscsi-initiator-utils: upgrade 2.1.3 -> 2.1.4
      mosquitto: upgrade 2.0.8 -> 2.0.9
      nbdkit: upgrade 1.25.3 -> 1.25.4
      wireguard-tools: upgrade 1.0.20210223 -> 1.0.20210315
      wireshark: upgrade 3.4.3 -> 3.4.4
      live555: upgrade 20210129 -> 20210322
      mg: upgrade 20200723 -> 20210314
      nanopb: upgrade 0.4.4 -> 0.4.5
      nss: upgrade 3.62 -> 3.63
      uriparser: upgrade 0.9.4 -> 0.9.5

zhengruoqin (12):
      phpmyadmin: upgrade 5.0.4 -> 5.1.0
      uthash: upgrade 2.2.0 -> 2.3.0
      gd: upgrade 2.3.1 -> 2.3.2
      openocd: upgrade 0.10 -> 0.11
      satyr: upgrade 0.36 -> 0.37
      libcrypt-openssl-guess-perl: upgrade 0.11 -> 0.12
      cryptsetup: upgrade 2.3.4 -> 2.3.5
      glmark2: upgrade 20201114 -> 2021.02
      grpc: upgrade 1.36.2 -> 1.36.3
      dialog: upgrade 1.3-20210306 -> 1.3-20210319
      grpc: upgrade 1.36.3 -> 1.36.4
      libgee: upgrade 0.20.3 -> 0.20.4

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I0b18d7c12586e6038d002f02ed87f38e25bc5080
diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
new file mode 100644
index 0000000..1459f80
--- /dev/null
+++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
@@ -0,0 +1,16 @@
+inherit image_types
+
+CONVERSIONTYPES += "sparse"
+CONVERSION_CMD_sparse() {
+    in="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
+    out="${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse"
+    case "${type}" in
+        ext*)
+            ext2simg "$in" "$out"
+            ;;
+        *)
+            img2simg "$in" "$out"
+            ;;
+    esac
+}
+CONVERSION_DEPENDS_sparse = "android-tools-native"
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 3de3015..d3aeaba 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -26,10 +26,14 @@
 # only activates content when identified layers are present,
 # to ensure yocto compatibility check pass
 BBFILES_DYNAMIC += " \
-meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
-networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \
-gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \
-perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
+    meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
+    meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bbappend \
+    networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \
+    networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bbappend \
+    gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \
+    gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bbappend \
+    perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
+    perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bbappend \
 "
 
 # This should only be incremented on significant changes that will
@@ -38,7 +42,7 @@
 
 LAYERDEPENDS_openembedded-layer = "core"
 
-LAYERSERIES_COMPAT_openembedded-layer = "gatesgarth hardknott"
+LAYERSERIES_COMPAT_openembedded-layer = " hardknott"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch
new file mode 100644
index 0000000..78ebba8
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch
@@ -0,0 +1,17 @@
+Lets use cached result for this otherwise runtime test, on qemuppc64
+when this test is run using gcc11, it returns 1, since we dont worry
+about older compilers here, we can cache the result and use it here
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/SConstruct
++++ b/SConstruct
+@@ -3904,7 +3904,7 @@ def doConfigure(myenv):
+ 
+         conf.AddTest('CheckAltivecVbpermqOutput', CheckAltivecVbpermqOutput)
+ 
+-        outputIndex = next((idx for idx in [0,1] if conf.CheckAltivecVbpermqOutput(idx)), None)
++        outputIndex = 1
+         if outputIndex is not None:
+             conf.env.SetConfigHeaderDefine("MONGO_CONFIG_ALTIVEC_VEC_VBPERMQ_OUTPUT_INDEX", outputIndex)
+         else:
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch
new file mode 100644
index 0000000..471d562
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch
@@ -0,0 +1,18 @@
+Subject: [PATCH] stacktrace: Define ARCH_BITS for ppc64
+
+src/mongo/util/stacktrace_somap.cpp:89:2: error: #error Unknown target architecture.
+stacktrace_somap.cpp:92:33: error: 'ELFCLASSARCH_BITS' was not declared in this scope
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/mongo/util/stacktrace_somap.cpp
++++ b/src/mongo/util/stacktrace_somap.cpp
+@@ -81,7 +81,7 @@ void addUnameToSoMap(BSONObjBuilder* soM
+ 
+ #if defined(__ELF_NATIVE_CLASS)  // determine ARCH_BITS
+ #define ARCH_BITS __ELF_NATIVE_CLASS
+-#elif defined(__x86_64__) || defined(__aarch64__)
++#elif defined(__x86_64__) || defined(__aarch64__)  || defined(__powerpc64__)
+ #define ARCH_BITS 64
+ #elif defined(__i386__) || defined(__arm__)
+ #define ARCH_BITS 32
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
index d0c4eba..b78255a 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -11,9 +11,9 @@
 
 inherit scons dos2unix siteinfo python3native systemd useradd
 
-PV = "4.4.1"
-#v4.4.1
-SRCREV = "ad91a93a5a31e175f5cbf8c69561e788bbc55ce1"
+PV = "4.4.4"
+#v4.4.4
+SRCREV = "8db30a63db1a9d84bdcad0c83369623f708e0397"
 SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \
            file://0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch \
            file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
@@ -28,6 +28,8 @@
            file://0001-Fix-compilation-with-fno-common.patch \
            file://0001-stacktrace-Define-ARCH_BITS-for-x86.patch \
            file://0001-include-needed-c-header.patch \
+           file://disable_runtime_check.patch \
+           file://ppc64_ARCH_BITS.patch \
            "
 SRC_URI_append_libc-musl ="\
            file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
@@ -56,12 +58,15 @@
 PACKAGECONFIG[shell] = ",--js-engine=none,,"
 PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre,"
 
+MONGO_ARCH ?= "${HOST_ARCH}"
+MONGO_ARCH_powerpc64le = "ppc64le"
+
 EXTRA_OESCONS = "PREFIX=${prefix} \
                  DESTDIR=${D} \
                  LIBPATH=${STAGING_LIBDIR} \
                  LINKFLAGS='${LDFLAGS}' \
                  CXXFLAGS='${CXXFLAGS}' \
-                 TARGET_ARCH=${TARGET_ARCH} \
+                 TARGET_ARCH=${MONGO_ARCH} \
                  MONGO_VERSION=${PV} \
                  OBJCOPY=${OBJCOPY} \
                  --ssl \
@@ -116,5 +121,3 @@
 CONFFILES_${PN} = "${sysconfdir}/mongod.conf"
 
 SYSTEMD_SERVICE_${PN} = "mongod.service"
-
-
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb
similarity index 93%
rename from meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb
rename to meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb
index 19db89b..b2f8db9 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb
@@ -5,7 +5,7 @@
 DEPENDS = "protobuf-native"
 
 SRC_URI = "git://github.com/nanopb/nanopb.git"
-SRCREV = "2b48a361786dfb1f63d229840217a93aae064667"
+SRCREV = "c9124132a604047d0ef97a09c0e99cd9bed2c818"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index b39a4d6..09c478e 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1,3 +1,6 @@
 RDEPENDS_packagegroup-meta-oe-devtools += "\
     valijson \
 "
+
+RDEPENDS_packagegroup-meta-oe-support_append_x86 = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', ' open-vm-tools', '', d)}"
+RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', ' open-vm-tools', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb
index 6ab7ab7..6f2464e 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.25.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.26.bb
@@ -22,7 +22,7 @@
 PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
 PACKAGECONFIG[numa] = ",--disable-numa,numactl"
 
-SRCREV = "fd80924b22fef6ce0d5580724d91490347445f90"
+SRCREV = "267b164c372d57145880f365bab8d8a52bf8baa7"
 SRC_URI = "git://git.kernel.dk/fio.git \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch
deleted file mode 100644
index af88f6c..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 90e837ffd1ff5c9add1074d69de23e58a3a4810e Mon Sep 17 00:00:00 2001
-From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-Date: Wed, 11 Nov 2020 09:26:03 -0500
-Subject: [PATCH 1/3] terrain: Fix precision bug in light rendering
-
-Resulting in overly bright rendering when mediump is implemented as
-fp16.
-
-Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
----
- data/shaders/terrain.frag | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/data/shaders/terrain.frag b/data/shaders/terrain.frag
-index 84d085c..58f17ea 100644
---- a/data/shaders/terrain.frag
-+++ b/data/shaders/terrain.frag
-@@ -67,7 +67,12 @@ void main() {
-     vec3 pointSpecular = vec3( 0.0 );
-     for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {
-         vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+        // should be highp for correct behaviour if mediump is implemented as fp16
-+        highp vec3 lVector = lPosition.xyz + vViewPosition.xyz;
-+#else
-         vec3 lVector = lPosition.xyz + vViewPosition.xyz;
-+#endif
-         float lDistance = 1.0;
-         if ( pointLightDistance[ i ] > 0.0 )
-             lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );
-
-From 1edd76fda77edabd49d713912aee49b8360c86c3 Mon Sep 17 00:00:00 2001
-From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-Date: Wed, 11 Nov 2020 09:49:52 -0500
-Subject: [PATCH 2/3] terrain: Fix precision handling in noise shader
-
-Another overflow resulting in infinity in mediump. Note this bug is
-masked if the driver clamps infinity to MAX_FLOAT, but it's still our
-bug.
-
-Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
----
- data/shaders/terrain-noise.frag | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/data/shaders/terrain-noise.frag b/data/shaders/terrain-noise.frag
-index 7fea5c0..9535e58 100644
---- a/data/shaders/terrain-noise.frag
-+++ b/data/shaders/terrain-noise.frag
-@@ -17,7 +17,13 @@ uniform float time;
- uniform MEDIUMP vec2 uvScale;
- varying vec2 vUv;
- 
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+// x should be passed as highp since the intermediate multiplications can
-+// overflow with mediump
-+vec4 permute(highp vec4 x)
-+#else
- vec4 permute(vec4 x)
-+#endif
- {
-     return mod(((x * 34.0) + 1.0) * x, 289.0);
- }
-
-From e866cc633ffc450e5358b2742f32ca360e4f3f12 Mon Sep 17 00:00:00 2001
-From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-Date: Wed, 11 Nov 2020 09:35:21 -0500
-Subject: [PATCH 3/3] loop,function,conditionals: Fix mediump overflow
-
-The multiplication can produce infinity.
-
-Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
----
- data/shaders/conditionals.frag | 9 ++++++++-
- data/shaders/function.frag     | 9 ++++++++-
- data/shaders/loop.frag         | 9 ++++++++-
- 3 files changed, 24 insertions(+), 3 deletions(-)
-
-diff --git a/data/shaders/conditionals.frag b/data/shaders/conditionals.frag
-index 3bd2507..e902263 100644
---- a/data/shaders/conditionals.frag
-+++ b/data/shaders/conditionals.frag
-@@ -2,7 +2,14 @@ varying vec4 dummy;
- 
- void main(void)
- {
--    float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001);
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+    // should be declared highp since the multiplication can overflow in
-+    // mediump, particularly if mediump is implemented as fp16
-+    highp vec2 FragCoord = gl_FragCoord.xy;
-+#else
-+    vec2 FragCoord = gl_FragCoord.xy;
-+#endif
-+    float d = fract(FragCoord.x * FragCoord.y * 0.0001);
- 
- $MAIN$
- 
-diff --git a/data/shaders/function.frag b/data/shaders/function.frag
-index 3e3c74f..9d0230e 100644
---- a/data/shaders/function.frag
-+++ b/data/shaders/function.frag
-@@ -8,7 +8,14 @@ $PROCESS$
- 
- void main(void)
- {
--    float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001);
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+    // should be declared highp since the multiplication can overflow in
-+    // mediump, particularly if mediump is implemented as fp16
-+    highp vec2 FragCoord = gl_FragCoord.xy;
-+#else
-+    vec2 FragCoord = gl_FragCoord.xy;
-+#endif
-+    float d = fract(FragCoord.x * FragCoord.y * 0.0001);
- 
- $MAIN$
- 
-diff --git a/data/shaders/loop.frag b/data/shaders/loop.frag
-index 31ae23e..9a6afd2 100644
---- a/data/shaders/loop.frag
-+++ b/data/shaders/loop.frag
-@@ -3,7 +3,14 @@ uniform int FragmentLoops;
- 
- void main(void)
- {
--    float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001);
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+    // should be declared highp since the multiplication can overflow in
-+    // mediump, particularly if mediump is implemented as fp16
-+    highp vec2 FragCoord = gl_FragCoord.xy;
-+#else
-+    vec2 FragCoord = gl_FragCoord.xy;
-+#endif
-+    float d = fract(FragCoord.x * FragCoord.y * 0.0001);
- 
- $MAIN$
- 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index a5872f4..f5e719a 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -9,17 +9,16 @@
                     file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
 
 DEPENDS = "libpng jpeg udev"
-DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native', '', d)}"
+DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native wayland-protocols', '', d)}"
 
-PV = "20201114+${SRCPV}"
+PV = "2021.02+${SRCPV}"
 
 SRC_URI = " \
     git://github.com/glmark2/glmark2.git;protocol=https \
     file://0001-fix-dispmanx-build.patch \
     file://0002-run-dispmanx-fullscreen.patch \
-    file://0003-fix-precision-handling-bugs.patch \
     "
-SRCREV = "784aca755a469b144acf3cae180b6e613b7b057a"
+SRCREV = "4b2bbe803576d48f08367aa5441740f9319c21e7"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index fa63316..aa9eb02 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -39,7 +39,7 @@
 LIBHUGETLBFS_ARCH = "${TARGET_ARCH}"
 LIBHUGETLBFS_ARCH_powerpc = "ppc"
 LIBHUGETLBFS_ARCH_powerpc64 = "ppc64"
-LIBHUGETLBFS_ARCH_powerpc64le = "ppc64"
+LIBHUGETLBFS_ARCH_powerpc64le = "ppc64le"
 EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2"
 PARALLEL_MAKE = ""
 CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 2ce10f9..0607da8 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://main.c;endline=22;md5=879b9bbb60851454885b5fa47eb6b345"
 
-PV = "0.4.0+git${SRCPV}"
+PV = "0.4.9+git${SRCPV}"
 
 SRCREV = "a2cf6d7e382e3aea1eb39173174d9fa28cad15f3"
 SRC_URI = "git://github.com/ssvb/tinymembench.git \
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
deleted file mode 100644
index 7a8be83..0000000
--- a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-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/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch
new file mode 100644
index 0000000..e481c5a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch
@@ -0,0 +1,44 @@
+From 2c777126765b4095bf481d5cfe4a21470374d940 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 30 Mar 2021 15:12:09 -0700
+Subject: [PATCH] flashrom: Mark RISCV as non memory-mapped I/O architecture
+
+Upstream-Status: Submitted [https://review.coreboot.org/c/flashrom/+/51960]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Change-Id: I55c4e8529d36f0850dd56441c3fb8602c5d889fd
+---
+ Makefile   | 2 +-
+ hwaccess.h | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6d37d55..203e04b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -559,7 +559,7 @@ endif
+ # Disable all drivers needing raw access (memory, PCI, port I/O) on
+ # architectures with unknown raw access properties.
+ # Right now those architectures are alpha hppa m68k sh s390
+-ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc))
++ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc riscv))
+ ifeq ($(CONFIG_RAYER_SPI), yes)
+ UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes
+ else
+diff --git a/hwaccess.h b/hwaccess.h
+index 5602c15..e79988a 100644
+--- a/hwaccess.h
++++ b/hwaccess.h
+@@ -295,6 +295,10 @@ int libpayload_wrmsr(int addr, msr_t msr);
+ 
+ /* Non memory mapped I/O is not supported on ARC. */
+ 
++#elif IS_RISCV
++
++/* Non memory mapped I/O is not supported on RISCV. */
++
+ #else
+ 
+ #error Unknown architecture, please check if it supports PCI port IO.
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
index 7ac5365..f2302db 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
+++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
@@ -1,69 +1,45 @@
-From 8a236330f2af56bde21e9f69208ea3e59f529f0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Mar 2020 17:02:30 -0700
-Subject: [PATCH] typecast enum conversions explicitly
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
 
-clang complains like below
+From 3a0c1966e4c66f91e6e8551e906b6db38002acb4 Mon Sep 17 00:00:00 2001
+From: Angel Pons <th3fanbus@gmail.com>
+Date: Wed, 27 May 2020 12:15:51 +0200
+Subject: [PATCH] libflashrom.c: Use casts on enum conversions
 
-libflashrom.c:191:43: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion]
-                        supported_boards[i].working = binfo[i].working;
-                                                    ~ ~~~~~~~~~^~~~~~~
-libflashrom.c:229:46: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion]
-                        supported_chipsets[i].status = chipset[i].status;
-                                                     ~ ~~~~~~~~~~~^~~~~~
+This allows flashrom to build with GCC 10.
 
-However these enums are exactly same so they can be typecasted
-
-libflashrom.h
-
-/** @ingroup flashrom-query */
-enum flashrom_test_state {
-        FLASHROM_TESTED_OK  = 0,
-        FLASHROM_TESTED_NT  = 1,
-        FLASHROM_TESTED_BAD = 2,
-        FLASHROM_TESTED_DEP = 3,
-        FLASHROM_TESTED_NA  = 4,
-};
-
-flash.h
-
-enum test_state {
-          OK = 0,
-          NT = 1, /* Not tested */
-          BAD,    /* Known to not work */
-          DEP,    /* Support depends on configuration (e.g. Intel flash descriptor) */
-          NA,     /* Not applicable (e.g. write support on ROM chips) */
-  };
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Change-Id: I2166cdf3681452631ef8e980face2924e9a6c81a
+Signed-off-by: Angel Pons <th3fanbus@gmail.com>
+Reviewed-on: https://review.coreboot.org/c/flashrom/+/41775
+Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
+Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr>
 ---
- libflashrom.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ libflashrom.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/libflashrom.c b/libflashrom.c
-index 0dec22e..7956685 100644
+index ab7e364..c20d9c7 100644
 --- a/libflashrom.c
 +++ b/libflashrom.c
-@@ -188,7 +188,7 @@ struct flashrom_board_info *flashrom_supported_boards(void)
+@@ -188,7 +188,8 @@ struct flashrom_board_info *flashrom_supported_boards(void)
  		for (; i < boards_known_size; ++i) {
  			supported_boards[i].vendor = binfo[i].vendor;
  			supported_boards[i].name = binfo[i].name;
 -			supported_boards[i].working = binfo[i].working;
-+			supported_boards[i].working = (enum flashrom_test_state)binfo[i].working;
++			supported_boards[i].working =
++				(enum flashrom_test_state) binfo[i].working;
  		}
  	} else {
  		msg_gerr("Memory allocation error!\n");
-@@ -226,7 +226,7 @@ struct flashrom_chipset_info *flashrom_supported_chipsets(void)
+@@ -226,7 +227,8 @@ struct flashrom_chipset_info *flashrom_supported_chipsets(void)
  			supported_chipsets[i].chipset = chipset[i].device_name;
  			supported_chipsets[i].vendor_id = chipset[i].vendor_id;
  			supported_chipsets[i].chipset_id = chipset[i].device_id;
 -			supported_chipsets[i].status = chipset[i].status;
-+			supported_chipsets[i].status = (enum flashrom_test_state)chipset[i].status;
++			supported_chipsets[i].status =
++				(enum flashrom_test_state) chipset[i].status;
  	  }
  	} else {
  		msg_gerr("Memory allocation error!\n");
 -- 
 2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch
new file mode 100644
index 0000000..e45236e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch
@@ -0,0 +1,68 @@
+Add a ftdi option alongside USB and PCI to control the external dependency, and
+ensure that the build is successful in all combinations of options.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/meson.build b/meson.build
+index 375089c..0df9d69 100644
+--- a/meson.build
++++ b/meson.build
+@@ -91,6 +91,8 @@ else
+   config_digilent_spi = false
+   config_developerbox_spi = false
+   config_pickit2_spi = false
++  config_stlinkv3_spi = false
++  config_usbblaster_spi = false
+ endif
+ 
+ # some programmers require libpci
+@@ -118,6 +120,21 @@ else
+   config_satasii = false
+ endif
+ 
++# some programmers require libftdi
++if get_option('ftdi')
++  deps += dependency('libftdi1')
++else
++  config_ft2232_spi = false
++  config_usbblaster_spi = false
++endif
++
++if not (target_machine.cpu_family() == 'x86' or target_machine.cpu_family() == 'x86_64')
++  config_satamv = false
++  config_nic3com = false
++  config_rayer_spi = false
++  config_nicrealtek = false
++endif
++
+ # set defines for configured programmers
+ if config_atahpt
+   srcs += 'atahpt.c'
+@@ -163,7 +180,6 @@ endif
+ if config_ft2232_spi
+   srcs += 'ft2232_spi.c'
+   cargs += '-DCONFIG_FT2232_SPI=1'
+-  deps += dependency('libftdi1')
+   cargs += '-DHAVE_FT232H=1'
+ endif
+ if config_gfxnvidia
+@@ -216,6 +232,7 @@ endif
+ if config_nicintel
+   srcs += 'nicintel.c'
+   cargs += '-DCONFIG_NICINTEL=1'
++  need_raw_access = true
+ endif
+ if config_nicintel_eeprom
+   srcs += 'nicintel_eeprom.c'
+diff --git a/meson_options.txt b/meson_options.txt
+index ea87311..b6b842d 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,5 +1,6 @@
+ option('pciutils', type : 'boolean', value : true, description : 'use pciutils')
+ option('usb', type : 'boolean', value : true, description : 'use libusb1')
++option('ftdi', type : 'boolean', value : true, description : 'use libftdi')
+ 
+ option('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')
+ option('config_atapromise', type : 'boolean', value : false, description : 'Promise ATA controller')
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 66ae34a..145a3ca 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
@@ -1,21 +1,21 @@
 DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
-LICENSE = "GPLv2"
+LICENSE = "GPLv2+"
 HOMEPAGE = "http://flashrom.org"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "pciutils libusb libusb-compat"
-
 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 \
+           file://meson-fixes.patch \
+           file://0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch \
            "
 SRC_URI[md5sum] = "7f8e4b87087eb12ecee0fcc5445b4956"
 SRC_URI[sha256sum] = "e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b"
 
 S = "${WORKDIR}/flashrom-v${PV}"
 
-inherit pkgconfig
+inherit meson pkgconfig
 
-do_install() {
-    oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-}
+PACKAGECONFIG ??= "pci usb ftdi"
+PACKAGECONFIG[pci] = "-Dpciutils=true,-Dpciutils=false,pciutils"
+PACKAGECONFIG[usb] = "-Dusb=true,-Dusb=false,libusb"
+PACKAGECONFIG[ftdi] = "-Dftdi=true,-Dftdi=false,libftdi"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch
new file mode 100644
index 0000000..9214615
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch
@@ -0,0 +1,854 @@
+From 018edec9b2bd3db20605117c32ff79c1e625c432 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Wed, 11 Sep 2019 12:34:28 +0300
+Subject: [PATCH] Remove IAPP functionality from hostapd
+
+IEEE Std 802.11F-2003 was withdrawn in 2006 and as such it has not been
+maintained nor is there any expectation of the withdrawn trial-use
+recommended practice to be maintained in the future. Furthermore,
+implementation of IAPP in hostapd was not complete, i.e., only parts of
+the recommended practice were included. The main item of some real use
+long time ago was the Layer 2 Update frame to update bridges when a STA
+roams within an ESS, but that functionality has, in practice, been moved
+to kernel drivers to provide better integration with the networking
+stack.
+
+CVE: CVE-2019-5061
+
+Upstream-Status: Backport
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ hostapd/Android.mk                        |   5 -
+ hostapd/Makefile                          |   5 -
+ hostapd/android.config                    |   3 -
+ hostapd/config_file.c                     |   3 +-
+ hostapd/defconfig                         |   3 -
+ hostapd/hostapd.conf                      |   6 -
+ hostapd/main.c                            |   3 -
+ src/ap/Makefile                           |   2 -
+ src/ap/ap_config.h                        |   4 -
+ src/ap/hostapd.c                          |  14 -
+ src/ap/hostapd.h                          |   2 -
+ src/ap/iapp.c                             | 542 ----------------------
+ src/ap/iapp.h                             |  39 --
+ src/utils/wpa_debug.h                     |   1 -
+ 14 files changed, 1 insertion(+), 633 deletions(-)
+ delete mode 100644 src/ap/iapp.c
+ delete mode 100644 src/ap/iapp.h
+
+diff --git a/hostapd/Android.mk b/hostapd/Android.mk
+index 3183323ef..a87ac8144 100644
+--- a/hostapd/Android.mk
++++ b/hostapd/Android.mk
+@@ -205,11 +205,6 @@ endif
+ 
+ L_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
+ 
+-ifdef CONFIG_IAPP
+-L_CFLAGS += -DCONFIG_IAPP
+-OBJS += src/ap/iapp.c
+-endif
+-
+ ifdef CONFIG_RSN_PREAUTH
+ L_CFLAGS += -DCONFIG_RSN_PREAUTH
+ CONFIG_L2_PACKET=y
+diff --git a/hostapd/Makefile b/hostapd/Makefile
+index f7f4c785b..42bb9e4c8 100644
+--- a/hostapd/Makefile
++++ b/hostapd/Makefile
+@@ -248,11 +248,6 @@ ifndef CONFIG_NO_CTRL_IFACE
+ CFLAGS += -DCONFIG_CTRL_IFACE
+ endif
+ 
+-ifdef CONFIG_IAPP
+-CFLAGS += -DCONFIG_IAPP
+-OBJS += ../src/ap/iapp.o
+-endif
+-
+ ifdef CONFIG_RSN_PREAUTH
+ CFLAGS += -DCONFIG_RSN_PREAUTH
+ CONFIG_L2_PACKET=y
+diff --git a/hostapd/android.config b/hostapd/android.config
+index efe252332..e2e6c7821 100644
+--- a/hostapd/android.config
++++ b/hostapd/android.config
+@@ -38,9 +38,6 @@ CONFIG_DRIVER_NL80211_QCA=y
+ # Driver interface for no driver (e.g., RADIUS server only)
+ #CONFIG_DRIVER_NONE=y
+ 
+-# IEEE 802.11F/IAPP
+-#CONFIG_IAPP=y
+-
+ # WPA2/IEEE 802.11i RSN pre-authentication
+ #CONFIG_RSN_PREAUTH=y
+ 
+diff --git a/hostapd/config_file.c b/hostapd/config_file.c
+index 680f17ee0..0d340d252 100644
+--- a/hostapd/config_file.c
++++ b/hostapd/config_file.c
+@@ -2712,8 +2712,7 @@ static int hostapd_config_fill(struct hostapd_config *conf,
+ 		bss->eapol_key_index_workaround = atoi(pos);
+ #ifdef CONFIG_IAPP
+ 	} else if (os_strcmp(buf, "iapp_interface") == 0) {
+-		bss->ieee802_11f = 1;
+-		os_strlcpy(bss->iapp_iface, pos, sizeof(bss->iapp_iface));
++		wpa_printf(MSG_INFO, "DEPRECATED: iapp_interface not used");
+ #endif /* CONFIG_IAPP */
+ 	} else if (os_strcmp(buf, "own_ip_addr") == 0) {
+ 		if (hostapd_parse_ip_addr(pos, &bss->own_ip_addr)) {
+diff --git a/hostapd/defconfig b/hostapd/defconfig
+index b1fb56c3b..1a3d9f9ba 100644
+--- a/hostapd/defconfig
++++ b/hostapd/defconfig
+@@ -44,9 +44,6 @@ CONFIG_LIBNL32=y
+ # Driver interface for no driver (e.g., RADIUS server only)
+ #CONFIG_DRIVER_NONE=y
+ 
+-# IEEE 802.11F/IAPP
+-CONFIG_IAPP=y
+-
+ # WPA2/IEEE 802.11i RSN pre-authentication
+ CONFIG_RSN_PREAUTH=y
+ 
+diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf
+index 6c96a760a..a3c698480 100644
+--- a/hostapd/hostapd.conf
++++ b/hostapd/hostapd.conf
+@@ -41,7 +41,6 @@ interface=wlan0
+ # bit 2 (4) = RADIUS
+ # bit 3 (8) = WPA
+ # bit 4 (16) = driver interface
+-# bit 5 (32) = IAPP
+ # bit 6 (64) = MLME
+ #
+ # Levels (minimum value for logged events):
+@@ -1243,11 +1242,6 @@ eap_server=0
+ # Whether to enable ERP on the EAP server.
+ #eap_server_erp=1
+ 
+-##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
+-
+-# Interface to be used for IAPP broadcast packets
+-#iapp_interface=eth0
+-
+ 
+ ##### RADIUS client configuration #############################################
+ # for IEEE 802.1X with external Authentication Server, IEEE 802.11
+diff --git a/hostapd/main.c b/hostapd/main.c
+index 08896ffe2..8bfe24281 100644
+--- a/hostapd/main.c
++++ b/hostapd/main.c
+@@ -81,9 +81,6 @@ static void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module,
+ 	case HOSTAPD_MODULE_DRIVER:
+ 		module_str = "DRIVER";
+ 		break;
+-	case HOSTAPD_MODULE_IAPP:
+-		module_str = "IAPP";
+-		break;
+ 	case HOSTAPD_MODULE_MLME:
+ 		module_str = "MLME";
+ 		break;
+diff --git a/src/ap/Makefile b/src/ap/Makefile
+index bd3f33b77..54e48a0dd 100644
+--- a/src/ap/Makefile
++++ b/src/ap/Makefile
+@@ -18,7 +18,6 @@ CFLAGS += -DCONFIG_IEEE80211R_AP
+ CFLAGS += -DCONFIG_WPS
+ CFLAGS += -DCONFIG_PROXYARP
+ CFLAGS += -DCONFIG_IPV6
+-CFLAGS += -DCONFIG_IAPP
+ CFLAGS += -DCONFIG_AIRTIME_POLICY
+ 
+ LIB_OBJS= \
+@@ -41,7 +40,6 @@ LIB_OBJS= \
+ 	hostapd.o \
+ 	hs20.o \
+ 	hw_features.o \
+-	iapp.o \
+ 	ieee802_11_auth.o \
+ 	ieee802_11.o \
+ 	ieee802_11_ht.o \
+diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
+index e219160b0..17eb0682b 100644
+--- a/src/ap/ap_config.h
++++ b/src/ap/ap_config.h
+@@ -325,10 +325,6 @@ struct hostapd_bss_config {
+ 	int erp_send_reauth_start;
+ 	char *erp_domain;
+ 
+-	int ieee802_11f; /* use IEEE 802.11f (IAPP) */
+-	char iapp_iface[IFNAMSIZ + 1]; /* interface used with IAPP broadcast
+-					* frames */
+-
+ 	enum macaddr_acl {
+ 		ACCEPT_UNLESS_DENIED = 0,
+ 		DENY_UNLESS_ACCEPTED = 1,
+diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
+index ef988b634..bf7b1f89e 100644
+--- a/src/ap/hostapd.c
++++ b/src/ap/hostapd.c
+@@ -28,7 +28,6 @@
+ #include "accounting.h"
+ #include "ap_list.h"
+ #include "beacon.h"
+-#include "iapp.h"
+ #include "ieee802_1x.h"
+ #include "ieee802_11_auth.h"
+ #include "vlan_init.h"
+@@ -361,8 +360,6 @@ static void hostapd_free_hapd_data(struct hostapd_data *hapd)
+ 	hapd->beacon_set_done = 0;
+ 
+ 	wpa_printf(MSG_DEBUG, "%s(%s)", __func__, hapd->conf->iface);
+-	iapp_deinit(hapd->iapp);
+-	hapd->iapp = NULL;
+ 	accounting_deinit(hapd);
+ 	hostapd_deinit_wpa(hapd);
+ 	vlan_deinit(hapd);
+@@ -1296,13 +1293,6 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
+ 		return -1;
+ 	}
+ 
+-	if (conf->ieee802_11f &&
+-	    (hapd->iapp = iapp_init(hapd, conf->iapp_iface)) == NULL) {
+-		wpa_printf(MSG_ERROR, "IEEE 802.11F (IAPP) initialization "
+-			   "failed.");
+-		return -1;
+-	}
+-
+ #ifdef CONFIG_INTERWORKING
+ 	if (gas_serv_init(hapd)) {
+ 		wpa_printf(MSG_ERROR, "GAS server initialization failed");
+@@ -3056,10 +3046,6 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
+ 	hostapd_prune_associations(hapd, sta->addr);
+ 	ap_sta_clear_disconnect_timeouts(hapd, sta);
+ 
+-	/* IEEE 802.11F (IAPP) */
+-	if (hapd->conf->ieee802_11f)
+-		iapp_new_station(hapd->iapp, sta);
+-
+ #ifdef CONFIG_P2P
+ 	if (sta->p2p_ie == NULL && !sta->no_p2p_set) {
+ 		sta->no_p2p_set = 1;
+diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
+index 5b859b8a9..2358d1664 100644
+--- a/src/ap/hostapd.h
++++ b/src/ap/hostapd.h
+@@ -179,8 +179,6 @@ struct hostapd_data {
+ 	u64 acct_session_id;
+ 	struct radius_das_data *radius_das;
+ 
+-	struct iapp_data *iapp;
+-
+ 	struct hostapd_cached_radius_acl *acl_cache;
+ 	struct hostapd_acl_query_data *acl_queries;
+ 
+diff --git a/src/ap/iapp.c b/src/ap/iapp.c
+deleted file mode 100644
+index 2556da30c..000000000
+--- a/src/ap/iapp.c
++++ /dev/null
+@@ -1,542 +0,0 @@
+-/*
+- * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP)
+- * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi>
+- *
+- * This software may be distributed under the terms of the BSD license.
+- * See README for more details.
+- *
+- * Note: IEEE 802.11F-2003 was a experimental use specification. It has expired
+- * and IEEE has withdrawn it. In other words, it is likely better to look at
+- * using some other mechanism for AP-to-AP communication than extending the
+- * implementation here.
+- */
+-
+-/* TODO:
+- * Level 1: no administrative or security support
+- *	(e.g., static BSSID to IP address mapping in each AP)
+- * Level 2: support for dynamic mapping of BSSID to IP address
+- * Level 3: support for encryption and authentication of IAPP messages
+- * - add support for MOVE-notify and MOVE-response (this requires support for
+- *   finding out IP address for previous AP using RADIUS)
+- * - add support for Send- and ACK-Security-Block to speedup IEEE 802.1X during
+- *   reassociation to another AP
+- * - implement counters etc. for IAPP MIB
+- * - verify endianness of fields in IAPP messages; are they big-endian as
+- *   used here?
+- * - RADIUS connection for AP registration and BSSID to IP address mapping
+- * - TCP connection for IAPP MOVE, CACHE
+- * - broadcast ESP for IAPP ADD-notify
+- * - ESP for IAPP MOVE messages
+- * - security block sending/processing
+- * - IEEE 802.11 context transfer
+- */
+-
+-#include "utils/includes.h"
+-#include <net/if.h>
+-#include <sys/ioctl.h>
+-#include <netpacket/packet.h>
+-
+-#include "utils/common.h"
+-#include "utils/eloop.h"
+-#include "common/ieee802_11_defs.h"
+-#include "hostapd.h"
+-#include "ap_config.h"
+-#include "ieee802_11.h"
+-#include "sta_info.h"
+-#include "iapp.h"
+-
+-
+-#define IAPP_MULTICAST "224.0.1.178"
+-#define IAPP_UDP_PORT 3517
+-#define IAPP_TCP_PORT 3517
+-
+-struct iapp_hdr {
+-	u8 version;
+-	u8 command;
+-	be16 identifier;
+-	be16 length;
+-	/* followed by length-6 octets of data */
+-} __attribute__ ((packed));
+-
+-#define IAPP_VERSION 0
+-
+-enum IAPP_COMMAND {
+-	IAPP_CMD_ADD_notify = 0,
+-	IAPP_CMD_MOVE_notify = 1,
+-	IAPP_CMD_MOVE_response = 2,
+-	IAPP_CMD_Send_Security_Block = 3,
+-	IAPP_CMD_ACK_Security_Block = 4,
+-	IAPP_CMD_CACHE_notify = 5,
+-	IAPP_CMD_CACHE_response = 6,
+-};
+-
+-
+-/* ADD-notify - multicast UDP on the local LAN */
+-struct iapp_add_notify {
+-	u8 addr_len; /* ETH_ALEN */
+-	u8 reserved;
+-	u8 mac_addr[ETH_ALEN];
+-	be16 seq_num;
+-} __attribute__ ((packed));
+-
+-
+-/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */
+-struct iapp_layer2_update {
+-	u8 da[ETH_ALEN]; /* broadcast */
+-	u8 sa[ETH_ALEN]; /* STA addr */
+-	be16 len; /* 6 */
+-	u8 dsap; /* null DSAP address */
+-	u8 ssap; /* null SSAP address, CR=Response */
+-	u8 control;
+-	u8 xid_info[3];
+-} __attribute__ ((packed));
+-
+-
+-/* MOVE-notify - unicast TCP */
+-struct iapp_move_notify {
+-	u8 addr_len; /* ETH_ALEN */
+-	u8 reserved;
+-	u8 mac_addr[ETH_ALEN];
+-	u16 seq_num;
+-	u16 ctx_block_len;
+-	/* followed by ctx_block_len bytes */
+-} __attribute__ ((packed));
+-
+-
+-/* MOVE-response - unicast TCP */
+-struct iapp_move_response {
+-	u8 addr_len; /* ETH_ALEN */
+-	u8 status;
+-	u8 mac_addr[ETH_ALEN];
+-	u16 seq_num;
+-	u16 ctx_block_len;
+-	/* followed by ctx_block_len bytes */
+-} __attribute__ ((packed));
+-
+-enum {
+-	IAPP_MOVE_SUCCESSFUL = 0,
+-	IAPP_MOVE_DENIED = 1,
+-	IAPP_MOVE_STALE_MOVE = 2,
+-};
+-
+-
+-/* CACHE-notify */
+-struct iapp_cache_notify {
+-	u8 addr_len; /* ETH_ALEN */
+-	u8 reserved;
+-	u8 mac_addr[ETH_ALEN];
+-	u16 seq_num;
+-	u8 current_ap[ETH_ALEN];
+-	u16 ctx_block_len;
+-	/* ctx_block_len bytes of context block followed by 16-bit context
+-	 * timeout */
+-} __attribute__ ((packed));
+-
+-
+-/* CACHE-response - unicast TCP */
+-struct iapp_cache_response {
+-	u8 addr_len; /* ETH_ALEN */
+-	u8 status;
+-	u8 mac_addr[ETH_ALEN];
+-	u16 seq_num;
+-} __attribute__ ((packed));
+-
+-enum {
+-	IAPP_CACHE_SUCCESSFUL = 0,
+-	IAPP_CACHE_STALE_CACHE = 1,
+-};
+-
+-
+-/* Send-Security-Block - unicast TCP */
+-struct iapp_send_security_block {
+-	u8 iv[8];
+-	u16 sec_block_len;
+-	/* followed by sec_block_len bytes of security block */
+-} __attribute__ ((packed));
+-
+-
+-/* ACK-Security-Block - unicast TCP */
+-struct iapp_ack_security_block {
+-	u8 iv[8];
+-	u8 new_ap_ack_authenticator[48];
+-} __attribute__ ((packed));
+-
+-
+-struct iapp_data {
+-	struct hostapd_data *hapd;
+-	u16 identifier; /* next IAPP identifier */
+-	struct in_addr own, multicast;
+-	int udp_sock;
+-	int packet_sock;
+-};
+-
+-
+-static void iapp_send_add(struct iapp_data *iapp, u8 *mac_addr, u16 seq_num)
+-{
+-	char buf[128];
+-	struct iapp_hdr *hdr;
+-	struct iapp_add_notify *add;
+-	struct sockaddr_in addr;
+-
+-	/* Send IAPP ADD-notify to remove possible association from other APs
+-	 */
+-
+-	hdr = (struct iapp_hdr *) buf;
+-	hdr->version = IAPP_VERSION;
+-	hdr->command = IAPP_CMD_ADD_notify;
+-	hdr->identifier = host_to_be16(iapp->identifier++);
+-	hdr->length = host_to_be16(sizeof(*hdr) + sizeof(*add));
+-
+-	add = (struct iapp_add_notify *) (hdr + 1);
+-	add->addr_len = ETH_ALEN;
+-	add->reserved = 0;
+-	os_memcpy(add->mac_addr, mac_addr, ETH_ALEN);
+-
+-	add->seq_num = host_to_be16(seq_num);
+-	
+-	os_memset(&addr, 0, sizeof(addr));
+-	addr.sin_family = AF_INET;
+-	addr.sin_addr.s_addr = iapp->multicast.s_addr;
+-	addr.sin_port = htons(IAPP_UDP_PORT);
+-	if (sendto(iapp->udp_sock, buf, (char *) (add + 1) - buf, 0,
+-		   (struct sockaddr *) &addr, sizeof(addr)) < 0)
+-		wpa_printf(MSG_INFO, "sendto[IAPP-ADD]: %s", strerror(errno));
+-}
+-
+-
+-static void iapp_send_layer2_update(struct iapp_data *iapp, u8 *addr)
+-{
+-	struct iapp_layer2_update msg;
+-
+-	/* Send Level 2 Update Frame to update forwarding tables in layer 2
+-	 * bridge devices */
+-
+-	/* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID)
+-	 * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */
+-
+-	os_memset(msg.da, 0xff, ETH_ALEN);
+-	os_memcpy(msg.sa, addr, ETH_ALEN);
+-	msg.len = host_to_be16(6);
+-	msg.dsap = 0; /* NULL DSAP address */
+-	msg.ssap = 0x01; /* NULL SSAP address, CR Bit: Response */
+-	msg.control = 0xaf; /* XID response lsb.1111F101.
+-			     * F=0 (no poll command; unsolicited frame) */
+-	msg.xid_info[0] = 0x81; /* XID format identifier */
+-	msg.xid_info[1] = 1; /* LLC types/classes: Type 1 LLC */
+-	msg.xid_info[2] = 1 << 1; /* XID sender's receive window size (RW)
+-				   * FIX: what is correct RW with 802.11? */
+-
+-	if (send(iapp->packet_sock, &msg, sizeof(msg), 0) < 0)
+-		wpa_printf(MSG_INFO, "send[L2 Update]: %s", strerror(errno));
+-}
+-
+-
+-/**
+- * iapp_new_station - IAPP processing for a new STA
+- * @iapp: IAPP data
+- * @sta: The associated station
+- */
+-void iapp_new_station(struct iapp_data *iapp, struct sta_info *sta)
+-{
+-	u16 seq = 0; /* TODO */
+-
+-	if (iapp == NULL)
+-		return;
+-
+-	/* IAPP-ADD.request(MAC Address, Sequence Number, Timeout) */
+-	hostapd_logger(iapp->hapd, sta->addr, HOSTAPD_MODULE_IAPP,
+-		       HOSTAPD_LEVEL_DEBUG, "IAPP-ADD.request(seq=%d)", seq);
+-	iapp_send_layer2_update(iapp, sta->addr);
+-	iapp_send_add(iapp, sta->addr, seq);
+-
+-	/* TODO: If this was reassociation:
+-	 * IAPP-MOVE.request(MAC Address, Sequence Number, Old AP,
+-	 *                   Context Block, Timeout)
+-	 * TODO: Send IAPP-MOVE to the old AP; Map Old AP BSSID to
+-	 * IP address */
+-}
+-
+-
+-static void iapp_process_add_notify(struct iapp_data *iapp,
+-				    struct sockaddr_in *from,
+-				    struct iapp_hdr *hdr, int len)
+-{
+-	struct iapp_add_notify *add = (struct iapp_add_notify *) (hdr + 1);
+-	struct sta_info *sta;
+-
+-	if (len != sizeof(*add)) {
+-		wpa_printf(MSG_INFO, "Invalid IAPP-ADD packet length %d (expected %lu)",
+-			   len, (unsigned long) sizeof(*add));
+-		return;
+-	}
+-
+-	sta = ap_get_sta(iapp->hapd, add->mac_addr);
+-
+-	/* IAPP-ADD.indication(MAC Address, Sequence Number) */
+-	hostapd_logger(iapp->hapd, add->mac_addr, HOSTAPD_MODULE_IAPP,
+-		       HOSTAPD_LEVEL_INFO,
+-		       "Received IAPP ADD-notify (seq# %d) from %s:%d%s",
+-		       be_to_host16(add->seq_num),
+-		       inet_ntoa(from->sin_addr), ntohs(from->sin_port),
+-		       sta ? "" : " (STA not found)");
+-
+-	if (!sta)
+-		return;
+-
+-	/* TODO: could use seq_num to try to determine whether last association
+-	 * to this AP is newer than the one advertised in IAPP-ADD. Although,
+-	 * this is not really a reliable verification. */
+-
+-	hostapd_logger(iapp->hapd, add->mac_addr, HOSTAPD_MODULE_IAPP,
+-		       HOSTAPD_LEVEL_DEBUG,
+-		       "Removing STA due to IAPP ADD-notify");
+-	ap_sta_disconnect(iapp->hapd, sta, NULL, 0);
+-}
+-
+-
+-/**
+- * iapp_receive_udp - Process IAPP UDP frames
+- * @sock: File descriptor for the socket
+- * @eloop_ctx: IAPP data (struct iapp_data *)
+- * @sock_ctx: Not used
+- */
+-static void iapp_receive_udp(int sock, void *eloop_ctx, void *sock_ctx)
+-{
+-	struct iapp_data *iapp = eloop_ctx;
+-	int len, hlen;
+-	unsigned char buf[128];
+-	struct sockaddr_in from;
+-	socklen_t fromlen;
+-	struct iapp_hdr *hdr;
+-
+-	/* Handle incoming IAPP frames (over UDP/IP) */
+-
+-	fromlen = sizeof(from);
+-	len = recvfrom(iapp->udp_sock, buf, sizeof(buf), 0,
+-		       (struct sockaddr *) &from, &fromlen);
+-	if (len < 0) {
+-		wpa_printf(MSG_INFO, "iapp_receive_udp - recvfrom: %s",
+-			   strerror(errno));
+-		return;
+-	}
+-
+-	if (from.sin_addr.s_addr == iapp->own.s_addr)
+-		return; /* ignore own IAPP messages */
+-
+-	hostapd_logger(iapp->hapd, NULL, HOSTAPD_MODULE_IAPP,
+-		       HOSTAPD_LEVEL_DEBUG,
+-		       "Received %d byte IAPP frame from %s%s\n",
+-		       len, inet_ntoa(from.sin_addr),
+-		       len < (int) sizeof(*hdr) ? " (too short)" : "");
+-
+-	if (len < (int) sizeof(*hdr))
+-		return;
+-
+-	hdr = (struct iapp_hdr *) buf;
+-	hlen = be_to_host16(hdr->length);
+-	hostapd_logger(iapp->hapd, NULL, HOSTAPD_MODULE_IAPP,
+-		       HOSTAPD_LEVEL_DEBUG,
+-		       "RX: version=%d command=%d id=%d len=%d\n",
+-		       hdr->version, hdr->command,
+-		       be_to_host16(hdr->identifier), hlen);
+-	if (hdr->version != IAPP_VERSION) {
+-		wpa_printf(MSG_INFO, "Dropping IAPP frame with unknown version %d",
+-			   hdr->version);
+-		return;
+-	}
+-	if (hlen > len) {
+-		wpa_printf(MSG_INFO, "Underflow IAPP frame (hlen=%d len=%d)",
+-			   hlen, len);
+-		return;
+-	}
+-	if (hlen < len) {
+-		wpa_printf(MSG_INFO, "Ignoring %d extra bytes from IAPP frame",
+-			   len - hlen);
+-		len = hlen;
+-	}
+-
+-	switch (hdr->command) {
+-	case IAPP_CMD_ADD_notify:
+-		iapp_process_add_notify(iapp, &from, hdr, len - sizeof(*hdr));
+-		break;
+-	case IAPP_CMD_MOVE_notify:
+-		/* TODO: MOVE is using TCP; so move this to TCP handler once it
+-		 * is implemented.. */
+-		/* IAPP-MOVE.indication(MAC Address, New BSSID,
+-		 * Sequence Number, AP Address, Context Block) */
+-		/* TODO: process */
+-		break;
+-	default:
+-		wpa_printf(MSG_INFO, "Unknown IAPP command %d", hdr->command);
+-		break;
+-	}
+-}
+-
+-
+-struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface)
+-{
+-	struct ifreq ifr;
+-	struct sockaddr_ll addr;
+-	int ifindex;
+-	struct sockaddr_in *paddr, uaddr;
+-	struct iapp_data *iapp;
+-	struct ip_mreqn mreq;
+-	int reuseaddr = 1;
+-
+-	iapp = os_zalloc(sizeof(*iapp));
+-	if (iapp == NULL)
+-		return NULL;
+-	iapp->hapd = hapd;
+-	iapp->udp_sock = iapp->packet_sock = -1;
+-
+-	/* TODO:
+-	 * open socket for sending and receiving IAPP frames over TCP
+-	 */
+-
+-	iapp->udp_sock = socket(PF_INET, SOCK_DGRAM, 0);
+-	if (iapp->udp_sock < 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - socket[PF_INET,SOCK_DGRAM]: %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-
+-	os_memset(&ifr, 0, sizeof(ifr));
+-	os_strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name));
+-	if (ioctl(iapp->udp_sock, SIOCGIFINDEX, &ifr) != 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFINDEX): %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-	ifindex = ifr.ifr_ifindex;
+-
+-	if (ioctl(iapp->udp_sock, SIOCGIFADDR, &ifr) != 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFADDR): %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-	paddr = (struct sockaddr_in *) &ifr.ifr_addr;
+-	if (paddr->sin_family != AF_INET) {
+-		wpa_printf(MSG_INFO, "IAPP: Invalid address family %i (SIOCGIFADDR)",
+-			   paddr->sin_family);
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-	iapp->own.s_addr = paddr->sin_addr.s_addr;
+-
+-	if (ioctl(iapp->udp_sock, SIOCGIFBRDADDR, &ifr) != 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFBRDADDR): %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-	paddr = (struct sockaddr_in *) &ifr.ifr_addr;
+-	if (paddr->sin_family != AF_INET) {
+-		wpa_printf(MSG_INFO, "Invalid address family %i (SIOCGIFBRDADDR)",
+-			   paddr->sin_family);
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-	inet_aton(IAPP_MULTICAST, &iapp->multicast);
+-
+-	os_memset(&uaddr, 0, sizeof(uaddr));
+-	uaddr.sin_family = AF_INET;
+-	uaddr.sin_port = htons(IAPP_UDP_PORT);
+-
+-	if (setsockopt(iapp->udp_sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr,
+-		       sizeof(reuseaddr)) < 0) {
+-		wpa_printf(MSG_INFO,
+-			   "iapp_init - setsockopt[UDP,SO_REUSEADDR]: %s",
+-			   strerror(errno));
+-		/*
+-		 * Ignore this and try to continue. This is fine for single
+-		 * BSS cases, but may fail if multiple BSSes enable IAPP.
+-		 */
+-	}
+-
+-	if (bind(iapp->udp_sock, (struct sockaddr *) &uaddr,
+-		 sizeof(uaddr)) < 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - bind[UDP]: %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-
+-	os_memset(&mreq, 0, sizeof(mreq));
+-	mreq.imr_multiaddr = iapp->multicast;
+-	mreq.imr_address.s_addr = INADDR_ANY;
+-	mreq.imr_ifindex = 0;
+-	if (setsockopt(iapp->udp_sock, SOL_IP, IP_ADD_MEMBERSHIP, &mreq,
+-		       sizeof(mreq)) < 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - setsockopt[UDP,IP_ADD_MEMBERSHIP]: %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-
+-	iapp->packet_sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
+-	if (iapp->packet_sock < 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - socket[PF_PACKET,SOCK_RAW]: %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-
+-	os_memset(&addr, 0, sizeof(addr));
+-	addr.sll_family = AF_PACKET;
+-	addr.sll_ifindex = ifindex;
+-	if (bind(iapp->packet_sock, (struct sockaddr *) &addr,
+-		 sizeof(addr)) < 0) {
+-		wpa_printf(MSG_INFO, "iapp_init - bind[PACKET]: %s",
+-			   strerror(errno));
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-
+-	if (eloop_register_read_sock(iapp->udp_sock, iapp_receive_udp,
+-				     iapp, NULL)) {
+-		wpa_printf(MSG_INFO, "Could not register read socket for IAPP");
+-		iapp_deinit(iapp);
+-		return NULL;
+-	}
+-
+-	wpa_printf(MSG_INFO, "IEEE 802.11F (IAPP) using interface %s", iface);
+-
+-	/* TODO: For levels 2 and 3: send RADIUS Initiate-Request, receive
+-	 * RADIUS Initiate-Accept or Initiate-Reject. IAPP port should actually
+-	 * be openned only after receiving Initiate-Accept. If Initiate-Reject
+-	 * is received, IAPP is not started. */
+-
+-	return iapp;
+-}
+-
+-
+-void iapp_deinit(struct iapp_data *iapp)
+-{
+-	struct ip_mreqn mreq;
+-
+-	if (iapp == NULL)
+-		return;
+-
+-	if (iapp->udp_sock >= 0) {
+-		os_memset(&mreq, 0, sizeof(mreq));
+-		mreq.imr_multiaddr = iapp->multicast;
+-		mreq.imr_address.s_addr = INADDR_ANY;
+-		mreq.imr_ifindex = 0;
+-		if (setsockopt(iapp->udp_sock, SOL_IP, IP_DROP_MEMBERSHIP,
+-			       &mreq, sizeof(mreq)) < 0) {
+-			wpa_printf(MSG_INFO, "iapp_deinit - setsockopt[UDP,IP_DEL_MEMBERSHIP]: %s",
+-				   strerror(errno));
+-		}
+-
+-		eloop_unregister_read_sock(iapp->udp_sock);
+-		close(iapp->udp_sock);
+-	}
+-	if (iapp->packet_sock >= 0) {
+-		eloop_unregister_read_sock(iapp->packet_sock);
+-		close(iapp->packet_sock);
+-	}
+-	os_free(iapp);
+-}
+diff --git a/src/ap/iapp.h b/src/ap/iapp.h
+deleted file mode 100644
+index c22118342..000000000
+--- a/src/ap/iapp.h
++++ /dev/null
+@@ -1,39 +0,0 @@
+-/*
+- * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP)
+- * Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi>
+- *
+- * This software may be distributed under the terms of the BSD license.
+- * See README for more details.
+- */
+-
+-#ifndef IAPP_H
+-#define IAPP_H
+-
+-struct iapp_data;
+-
+-#ifdef CONFIG_IAPP
+-
+-void iapp_new_station(struct iapp_data *iapp, struct sta_info *sta);
+-struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface);
+-void iapp_deinit(struct iapp_data *iapp);
+-
+-#else /* CONFIG_IAPP */
+-
+-static inline void iapp_new_station(struct iapp_data *iapp,
+-				    struct sta_info *sta)
+-{
+-}
+-
+-static inline struct iapp_data * iapp_init(struct hostapd_data *hapd,
+-					   const char *iface)
+-{
+-	return NULL;
+-}
+-
+-static inline void iapp_deinit(struct iapp_data *iapp)
+-{
+-}
+-
+-#endif /* CONFIG_IAPP */
+-
+-#endif /* IAPP_H */
+diff --git a/src/utils/wpa_debug.h b/src/utils/wpa_debug.h
+index 1fe0b7db7..c94c4391f 100644
+--- a/src/utils/wpa_debug.h
++++ b/src/utils/wpa_debug.h
+@@ -305,7 +305,6 @@ void hostapd_logger_register_cb(hostapd_logger_cb_func func);
+ #define HOSTAPD_MODULE_RADIUS		0x00000004
+ #define HOSTAPD_MODULE_WPA		0x00000008
+ #define HOSTAPD_MODULE_DRIVER		0x00000010
+-#define HOSTAPD_MODULE_IAPP		0x00000020
+ #define HOSTAPD_MODULE_MLME		0x00000040
+ 
+ enum hostapd_logger_level {
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
index 68dc123..1f38eee 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
@@ -12,6 +12,7 @@
     file://init \
     file://hostapd.service \
     file://CVE-2019-16275.patch \
+    file://CVE-2019-5061.patch \
 "
 
 SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch
index af14a1a..97339d3 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch
@@ -1,5 +1,7 @@
 uname can not get version of kernel correctly while cross compile
 
+Upstream-Status: Inappropriate [configuration]
+
 Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
 ---
  configure.ac | 2 +-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch
deleted file mode 100644
index 2eec4bf..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4943334fd9bf7dffd49f9e86251ad40b3efe2135 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@cn.fujitsu.com>
-Date: Fri, 11 Dec 2020 17:02:20 +0900
-Subject: [PATCH] Fix bug for CVE-2020-15803
-
-Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
----
- frontends/php/include/classes/html/CIFrame.php | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/frontends/php/include/classes/html/CIFrame.php b/frontends/php/include/classes/html/CIFrame.php
-index 32220cd..70f2ab5 100644
---- a/frontends/php/include/classes/html/CIFrame.php
-+++ b/frontends/php/include/classes/html/CIFrame.php
-@@ -29,6 +29,7 @@ class CIFrame extends CTag {
- 		$this->setHeight($height);
- 		$this->setScrolling($scrolling);
- 		$this->setId($id);
-+		$this->setSandbox();
- 	}
- 
- 	public function setSrc($value = null) {
-@@ -69,4 +70,10 @@ class CIFrame extends CTag {
- 		$this->setAttribute('scrolling', $value);
- 		return $this;
- 	}
-+
-+	private function setSandbox() {
-+		if (ZBX_IFRAME_SANDBOX !== false) {
-+			$this->setAttribute('sandbox', ZBX_IFRAME_SANDBOX);
-+		}
-+	}
- }
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb
index 98a3187..2bbfec9 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_5.2.5.bb
@@ -23,14 +23,13 @@
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/5.2/${BPN}-${PV}.tar.gz \
     file://0001-Fix-configure.ac.patch \
     file://zabbix-agent.service \
-    file://CVE-2020-15803.patch \
 "
 
-SRC_URI[md5sum] = "e666539220be93b1af38e40f5fbb1f79"
-SRC_URI[sha256sum] = "22bb28e667424ad4688f47732853f4241df0e78a7607727b043d704ba726ae0e"
+SRC_URI[md5sum] = "e90822716c5c241890f6fed1588b5451"
+SRC_URI[sha256sum] = "ce0d9745a8b9154e87d6906edd0fce7b7ec298acd34a0543ea53d1a5f2f14bc5"
 
 inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
 
@@ -58,7 +57,8 @@
     --with-zlib \
     --with-libpthread \
     --with-libevent \
-    --with-libpcre \
+    --with-libpcre=${STAGING_EXECPREFIXDIR} \
+    --with-iconv=${STAGING_EXECPREFIXDIR} \
 "
 CFLAGS_append = " -lldap -llber -pthread"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
index e742d2a..e6a4bc4 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
@@ -30,3 +30,7 @@
 
 BBCLASSEXTEND = "nativesdk"
 
+do_install_append() {
+        mkdir -p ${D}/${includedir}/${BPN}
+        mv ${D}/${includedir}/sha1.h ${D}/${includedir}/${BPN}/.
+}
diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb
rename to meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb
index 5517883..a35f5c6 100644
--- a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_26.bb
+++ b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_28.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
 
 SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6a6ab82fc398d4bc31b315f4e1c08f17509e4a1969f1cc77a5706db8923c74e1"
+SRC_URI[sha256sum] = "abb8b54434faeeb6bf59a70ebf0732e851a50bd922995ba5928e8c28c18b05ea"
 
 UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb b/meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb
new file mode 100644
index 0000000..553003f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Implementation of rpmatch(3) for musl libc."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81a81bf31abecc50c20862fc8a716329"
+
+SRC_URI = "gitsm://github.com/pullmoll/musl-rpmatch.git;protocol=https"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "46267b154987d3e1f25d3a75423faa62bb5ee342"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 94830e2..4eb2e8c 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -8,12 +8,15 @@
     packagegroup-meta-oe \
     packagegroup-meta-oe-benchmarks \
     packagegroup-meta-oe-connectivity \
+    packagegroup-meta-oe-connectivity-python2 \
     packagegroup-meta-oe-core \
     packagegroup-meta-oe-crypto \
     packagegroup-meta-oe-bsp \
     packagegroup-meta-oe-dbs \
+    packagegroup-meta-oe-dbs-python2 \
     packagegroup-meta-oe-devtools \
     packagegroup-meta-oe-extended \
+    packagegroup-meta-oe-extended-python2 \
     packagegroup-meta-oe-kernel \
     packagegroup-meta-oe-multimedia \
     packagegroup-meta-oe-navigation \
@@ -21,6 +24,7 @@
     packagegroup-meta-oe-shells \
     packagegroup-meta-oe-security \
     packagegroup-meta-oe-support \
+    packagegroup-meta-oe-support-python2 \
     packagegroup-meta-oe-test \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
@@ -32,11 +36,14 @@
     packagegroup-meta-oe-benchmarks \
     packagegroup-meta-oe-bsp \
     packagegroup-meta-oe-connectivity \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-connectivity-python2", "", d)} \
     packagegroup-meta-oe-core \
     packagegroup-meta-oe-crypto \
     packagegroup-meta-oe-dbs \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-dbs-python2", "", d)} \
     packagegroup-meta-oe-devtools \
     packagegroup-meta-oe-extended \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-extended-python2", "", d)} \
     packagegroup-meta-oe-kernel \
     packagegroup-meta-oe-multimedia \
     packagegroup-meta-oe-navigation \
@@ -44,6 +51,7 @@
     packagegroup-meta-oe-security \
     packagegroup-meta-oe-shells \
     packagegroup-meta-oe-support \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-support-python2", "", d)} \
     packagegroup-meta-oe-test \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
@@ -145,7 +153,6 @@
     ser2net \
     smstools3 \
     telepathy-glib \
-    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \
     thrift \
     usbmuxd \
     wifi-test-suite \
@@ -156,6 +163,10 @@
 
 RDEPENDS_packagegroup-meta-oe-connectivity_append_libc-glibc = " wvstreams wvdial"
 
+RDEPENDS_packagegroup-meta-oe-connectivity-python2 = "\
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \
+"
+
 # dracut needs dracut
 RDEPENDS_packagegroup-meta-oe-core = "\
     ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dbus-broker", "", d)} \
@@ -201,7 +212,6 @@
     leveldb \
     libdbi \
     mariadb \
-    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "mysql-python", "", d)} \
     postgresql \
     psqlodbc \
     rocksdb \
@@ -209,6 +219,10 @@
     sqlite \
 "
 
+RDEPENDS_packagegroup-meta-oe-dbs-python2 ="\
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'mysql-python', '', d), "", d)} \
+"
+
 RDEPENDS_packagegroup-meta-oe-devtools ="\
     abseil-cpp \
     apitrace \
@@ -263,7 +277,7 @@
     mpich \
     msgpack-c \
     mercurial \
-    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "nodejs", "", d)} \
+    nodejs \
     openocd \
     pax-utils \
     ipc-run \
@@ -300,12 +314,11 @@
 RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "luajit nodejs"
 RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "luajit nodejs"
 RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad lshw luajit uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools lshw luajit uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools lshw luajit uftrace"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools breakpad lshw luajit ply uftrace"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools breakpad lshw luajit ply uftrace"
 RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
 RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "${@bb.utils.contains("TUNE_FEATURES", "crypto", "", "abseil-cpp", d)} concurrencykit"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_x86-64 = "${@bb.utils.contains("TUNE_FEATURES", "corei7", "", "abseil-cpp", d)}"
+RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "concurrencykit"
 RDEPENDS_packagegroup-meta-oe-devtools_remove_x86 = "ply"
 
 RDEPENDS_packagegroup-meta-oe-extended ="\
@@ -338,6 +351,7 @@
      hiredis \
      hplip \
      hwloc \
+     libleak \
      libuio \
      ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \
      lprng \
@@ -347,7 +361,6 @@
      jansson \
      nana \
      nicstat \
-     ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \
      ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \
      p7zip \
      isomd5sum \
@@ -402,6 +415,7 @@
      snappy \
      tipcutils \
      tiptop \
+     tmate \
      tmux \
      triggerhappy \
      upm \
@@ -422,8 +436,12 @@
 RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa minifi-cpp"
 RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa minifi-cpp"
 RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64le = "upm mraa"
-RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa sysdig tiptop"
-RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa sysdig tiptop"
+RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm libleak mraa sysdig tiptop"
+RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm libleak mraa sysdig tiptop"
+
+RDEPENDS_packagegroup-meta-oe-extended-python2 ="\
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'openlmi-tools', '', d), "", d)} \
+"
 
 RDEPENDS_packagegroup-meta-oe-gnome ="\
     atkmm \
@@ -607,12 +625,12 @@
     trace-cmd \
 "
 RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " intel-speed-select ipmiutil pm-graph turbostat"
-RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat"
+RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat bpftool"
 RDEPENDS_packagegroup-meta-oe-kernel_append_poerpc64 = " libpfm4"
 
 # Kernel-selftest does not build with 5.8 and its exluded from build too so until its fixed remove it
 RDEPENDS_packagegroup-meta-oe-kernel_remove = "kernel-selftest"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash intel-speed-select kernel-selftest minicoredumper turbostat"
+RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "bpftool crash intel-speed-select kernel-selftest minicoredumper turbostat"
 
 RDEPENDS_packagegroup-meta-oe-kernel_remove_mipsarch = "makedumpfile"
 RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash"
@@ -653,7 +671,6 @@
     libvpx \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xsp", "", d)} \
     ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "mpv", "", d)} \
-    pipewire \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pavucontrol", "", d)} \
     libopusenc \
 "
@@ -803,7 +820,6 @@
     libusbg \
     libutempter \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "links-x11", "links", d)} \
-    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "lio-utils", "", d)} \
     log4c \
     log4cpp \
     nspr \
@@ -879,7 +895,6 @@
     unixodbc \
     daemonize \
     upower \
-    xxhash \
     unicode-ucd \
     xdelta3 \
     uriparser \
@@ -897,13 +912,19 @@
 RDEPENDS_packagegroup-meta-oe-support_append_armv7a = " ne10"
 RDEPENDS_packagegroup-meta-oe-support_append_armv7ve = " ne10"
 RDEPENDS_packagegroup-meta-oe-support_append_aarch64 = " ne10"
-RDEPENDS_packagegroup-meta-oe-support_append_x86 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers"
-RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers"
+RDEPENDS_packagegroup-meta-oe-support_append_x86 = " mcelog mce-inject mce-test vboxguestdrivers"
+RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = " mcelog mce-inject mce-test vboxguestdrivers"
+
+RDEPENDS_packagegroup-meta-oe-support-python2 ="\
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'lio-utils', '', d), "", d)} \
+"
+
 RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl"
 RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools"
 RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim"
 RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim"
 RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi"
+RDEPENDS_packagegroup-meta-oe-support_remove_powerpc64le = "ssiapi"
 
 RDEPENDS_packagegroup-meta-oe-test ="\
     bats \
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
index 04106fc..11fb30d 100644
--- a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
@@ -13,6 +13,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 DEPENDS = "libcap libpng cairo dbus udev"
+DEPENDS_append_libc-musl = " musl-rpmatch"
 PROVIDES = "virtual/psplash"
 RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
 
@@ -42,6 +43,8 @@
 
 inherit autotools pkgconfig systemd gettext
 
+LDFLAGS_append_libc-musl = " -lrpmatch"
+
 do_install_append() {
     # Remove /var/run from package as plymouth will populate it on startup
     rm -fr "${D}${localstatedir}/run"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb
rename to meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb
index b9a6b71..0da9a26 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.5.bb
@@ -13,7 +13,7 @@
     json-c \
     libdevmapper \
     popt \
-    util-linux \
+    util-linux-libuuid \
 "
 
 RDEPENDS_${PN} = " \
@@ -21,8 +21,8 @@
 "
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
-SRC_URI[md5sum] = "911272e73181fdc850bb4d25103a9f83"
-SRC_URI[sha256sum] = "9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773"
+SRC_URI[md5sum] = "408620e0df577ec04108ec0bc2b91dee"
+SRC_URI[sha256sum] = "ced9946f444d132536daf92fc8aca4277638a3c2d96e20540b2bae4d36fd70c1"
 
 inherit autotools gettext pkgconfig
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 27eede6..1fbcb71 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -22,6 +22,8 @@
            file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \
            file://0001-stacktrace-t.c-make-the-test-conditional.patch \
           "
+SRC_URI_append_libc-musl = " file://ppc-remove-glibc-dep.patch"
+
 SRC_URI[sha256sum] = "eb4824f6f2c532cd3fc6a6bce7bf78ea7c6b949f8bdd07656b2c84344e757be8"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
new file mode 100644
index 0000000..1ca86bc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
@@ -0,0 +1,50 @@
+Remove glibc specific function dependencies
+
+Sourced from: https://git.alpinelinux.org/aports/tree/main/mariadb/ppc-remove-glibc-dep.patch
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/include/my_cpu.h
++++ b/include/my_cpu.h
+@@ -24,17 +24,16 @@
+ */
+ 
+ #ifdef _ARCH_PWR8
+-#include <sys/platform/ppc.h>
+ /* Very low priority */
+-#define HMT_very_low() __ppc_set_ppr_very_low()
++#define HMT_very_low() asm volatile("or 31,31,31")
+ /* Low priority */
+-#define HMT_low() __ppc_set_ppr_low()
++#define HMT_low() asm volatile ("or 1,1,1")
+ /* Medium low priority */
+-#define HMT_medium_low() __ppc_set_ppr_med_low()
++#define HMT_medium_low() asm volatile ("or 6,6,6")
+ /* Medium priority */
+-#define HMT_medium() __ppc_set_ppr_med()
++#define HMT_medium() asm volatile ("or 2,2,2")
+ /* Medium high priority */
+-#define HMT_medium_high() __ppc_set_ppr_med_high()
++#define HMT_medium_high() asm volatile("or 5,5,5")
+ /* High priority */
+ #define HMT_high() asm volatile("or 3,3,3")
+ #else
+@@ -81,7 +80,7 @@ static inline void MY_RELAX_CPU(void)
+   __asm__ __volatile__ ("pause");
+ #endif
+ #elif defined(_ARCH_PWR8)
+-  __ppc_get_timebase();
++  __builtin_ppc_get_timebase();
+ #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__)
+   /* Mainly, prevent the compiler from optimizing away delay loops */
+   __asm__ __volatile__ ("":::"memory");
+--- a/storage/tokudb/PerconaFT/portability/toku_time.h
++++ b/storage/tokudb/PerconaFT/portability/toku_time.h
+@@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v
+     __asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result));
+     return result;
+ #elif defined(__powerpc__)
+-    return __ppc_get_timebase();
++    return __builtin_ppc_get_timebase();
+ #else
+ #error No timer implementation for this platform
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index 4617da8..43fc690 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -16,6 +16,8 @@
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
+PNBLACKLIST[mysql-python] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+
 inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
 
 python() {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
new file mode 100644
index 0000000..ee0c254
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
@@ -0,0 +1,94 @@
+An all-in-one patch that fixes several issues:
+
+1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
+2) powerpc stacktrace implementation only works on glibc (disabled on musl)
+3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
+4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
+
+Sourced from void linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/absl/base/internal/unscaledcycleclock.cc
++++ b/absl/base/internal/unscaledcycleclock.cc
+@@ -20,7 +20,7 @@
+ #include <intrin.h>
+ #endif
+ 
+-#if defined(__powerpc__) || defined(__ppc__)
++#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
+ #ifdef __GLIBC__
+ #include <sys/platform/ppc.h>
+ #elif defined(__FreeBSD__)
+@@ -59,7 +59,7 @@ double UnscaledCycleClock::Frequency() {
+   return base_internal::NominalCPUFrequency();
+ }
+ 
+-#elif defined(__powerpc__) || defined(__ppc__)
++#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
+ 
+ int64_t UnscaledCycleClock::Now() {
+ #ifdef __GLIBC__
+--- a/absl/base/internal/unscaledcycleclock.h
++++ b/absl/base/internal/unscaledcycleclock.h
+@@ -46,7 +46,7 @@
+ 
+ // The following platforms have an implementation of a hardware counter.
+ #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
+-  defined(__powerpc__) || defined(__ppc__) || \
++  ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
+   defined(_M_IX86) || defined(_M_X64)
+ #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
+ #else
+--- a/absl/debugging/internal/examine_stack.cc
++++ b/absl/debugging/internal/examine_stack.cc
+@@ -27,6 +27,10 @@
+ #include <csignal>
+ #include <cstdio>
+ 
++#if defined(__powerpc__)
++#include <asm/ptrace.h>
++#endif
++
+ #include "absl/base/attributes.h"
+ #include "absl/base/internal/raw_logging.h"
+ #include "absl/base/macros.h"
+@@ -55,8 +59,10 @@ void* GetProgramCounter(void* vuc) {
+     return reinterpret_cast<void*>(context->uc_mcontext.pc);
+ #elif defined(__powerpc64__)
+     return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
+-#elif defined(__powerpc__)
++#elif defined(__powerpc__) && defined(__GLIBC__)
+     return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
++#elif defined(__powerpc__)
++    return reinterpret_cast<void*>(((struct pt_regs *)context->uc_regs)->nip);
+ #elif defined(__riscv)
+     return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
+ #elif defined(__s390__) && !defined(__s390x__)
+--- a/absl/debugging/internal/stacktrace_config.h
++++ b/absl/debugging/internal/stacktrace_config.h
+@@ -64,7 +64,7 @@
+ #elif defined(__i386__) || defined(__x86_64__)
+ #define ABSL_STACKTRACE_INL_HEADER \
+   "absl/debugging/internal/stacktrace_x86-inl.inc"
+-#elif defined(__ppc__) || defined(__PPC__)
++#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
+ #define ABSL_STACKTRACE_INL_HEADER \
+   "absl/debugging/internal/stacktrace_powerpc-inl.inc"
+ #elif defined(__aarch64__)
+--- a/absl/debugging/internal/stacktrace_powerpc-inl.inc
++++ b/absl/debugging/internal/stacktrace_powerpc-inl.inc
+@@ -130,8 +130,13 @@ static void **NextStackFrame(void **old_
+         StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) {
+       const ucontext_t* signal_context =
+           reinterpret_cast<const ucontext_t*>(uc);
++#if defined(__powerpc64__)
+       void **const sp_before_signal =
+           reinterpret_cast<void**>(signal_context->uc_mcontext.gp_regs[PT_R1]);
++#else
++      void **const sp_before_signal =
++          reinterpret_cast<void**>(signal_context->uc_mcontext.uc_regs->gregs[PT_R1]);
++#endif
+       // Check that alleged sp before signal is nonnull and is reasonably
+       // aligned.
+       if (sp_before_signal != nullptr &&
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 9557c93..903b7b4 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
@@ -13,6 +13,7 @@
 SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH}         \
            file://0001-absl-always-use-asm-sgidefs.h.patch             \
            file://0002-Remove-maes-option-from-cross-compilation.patch \
+           file://abseil-ppc-fixes.patch \
           "
 
 S = "${WORKDIR}/git"
@@ -28,7 +29,6 @@
                 "
 
 BBCLASSEXTEND = "native nativesdk"
-ALLOW_EMPTY_${PN} = "1"
 
-FILES_${PN} = "${libdir}/libabsl_*.so ${libdir}/cmake"
-FILES_${PN}-dev = "${includedir}"
+FILES_${PN} = "${libdir}/libabsl_*.so"
+FILES_${PN}-dev = "${includedir} ${libdir}/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch
new file mode 100644
index 0000000..d7a5c06
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch
@@ -0,0 +1,54 @@
+From 70441611d4e8200d9d16dfed493873b8c1bb57c5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Mar 2021 11:33:38 -0700
+Subject: [PATCH] Remove HAVE_GETCONTEXT check to add local implementation
+
+On musl getcontext/setcontext APIs are implemented in libucontext which
+can be used
+
+Upstream-Status: Inappropriate [Musl Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ee7454e4..69700192 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -187,10 +187,6 @@ src_client_linux_libbreakpad_client_a_SOURCES = \
+ 	src/common/linux/linux_libc_support.cc \
+ 	src/common/linux/memory_mapped_file.cc \
+ 	src/common/linux/safe_readlink.cc
+-if !HAVE_GETCONTEXT
+-src_client_linux_libbreakpad_client_a_SOURCES += \
+-	src/common/linux/breakpad_getcontext.S
+-endif
+ endif LINUX_HOST
+ 
+ if !DISABLE_PROCESSOR
+@@ -508,10 +504,6 @@ src_client_linux_linux_client_unittest_shlib_SOURCES = \
+ 	src/processor/minidump.cc \
+ 	src/processor/pathname_stripper.cc \
+ 	src/processor/proc_maps_linux.cc
+-if !HAVE_GETCONTEXT
+-src_client_linux_linux_client_unittest_shlib_SOURCES += \
+-	src/common/linux/breakpad_getcontext.S
+-endif
+ 
+ src_client_linux_linux_client_unittest_shlib_CPPFLAGS = \
+ 	$(AM_CPPFLAGS) $(TEST_CFLAGS)
+@@ -541,10 +533,6 @@ src_client_linux_linux_client_unittest_shlib_LDADD = \
+ 	src/common/string_conversion.o \
+ 	$(TEST_LIBS) \
+ 	$(PTHREAD_CFLAGS) $(PTHREAD_LIBS)
+-if !HAVE_GETCONTEXT
+-src_client_linux_linux_client_unittest_shlib_SOURCES += \
+-	src/common/linux/breakpad_getcontext_unittest.cc
+-endif
+ if ANDROID_HOST
+ src_client_linux_linux_client_unittest_shlib_LDFLAGS += \
+ 	-llog -lm
+-- 
+2.30.2
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
index 33bae1a..6b8d011 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
@@ -13,11 +13,9 @@
  src/client/linux/crash_generation/crash_generation_server.cc | 10 ++++++++++
  1 file changed, 10 insertions(+)
 
-diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
-index 2596afde..2faeb9e5 100644
 --- a/src/client/linux/crash_generation/crash_generation_server.cc
 +++ b/src/client/linux/crash_generation/crash_generation_server.cc
-@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short revents)
+@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short
    // Walk the control payload and extract the file descriptor and validated pid.
    pid_t crashing_pid = -1;
    int signal_fd = -1;
@@ -28,7 +26,7 @@
 +  #pragma clang diagnostic push
 +  #pragma clang diagnostic ignored "-Wsign-compare"
 +#endif
-   for (struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); hdr;
+   for (struct cmsghdr* hdr = CMSG_FIRSTHDR(&msg); hdr;
         hdr = CMSG_NXTHDR(&msg, hdr)) {
 +#ifndef __GLIBC__
 +  #pragma clang diagnostic pop
@@ -36,6 +34,3 @@
      if (hdr->cmsg_level != SOL_SOCKET)
        continue;
      if (hdr->cmsg_type == SCM_RIGHTS) {
--- 
-2.14.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
deleted file mode 100644
index 466abe5..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 57ecf7205feedd23f901e1bb9d193787e559e433 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 23 Jan 2018 15:13:26 -0800
-Subject: [PATCH] disable calls to getcontext() with musl
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -490,7 +490,19 @@ bool ExceptionHandler::SimulateSignalDel
-   siginfo.si_code = SI_USER;
-   siginfo.si_pid = getpid();
-   ucontext_t context;
-+#if defined(__GLIBC__)
-   getcontext(&context);
-+#else
-+  // Extreme hack: Allow musl builds to compile - but don't expect them to work.
-+  // Although musl provides a definition for getcontext() in ucontext.h (which
-+  // enough to build libbreakpad_client) musl does not provide a corresponding
-+  // getcontext() function, so builds will fail when attempting to link anything
-+  // with libbreakpad_client. Disabling calls to getcontext() is a temporary
-+  // hack. The real fix is probably to enable Breakpad's own implementation of
-+  // getcontext() when building for musl (it's currently only enabled when
-+  // building for Android).
-+  memset (&context, 0, sizeof(context));
-+#endif
-   return HandleSignal(sig, &siginfo, &context);
- }
- 
-@@ -675,9 +687,14 @@ bool ExceptionHandler::WriteMinidump() {
-   sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
- 
-   CrashContext context;
-+#if defined(__GLIBC__)
-   int getcontext_result = getcontext(&context.context);
-   if (getcontext_result)
-     return false;
-+#else
-+  // Extreme hack - see comments above.
-+  memset (&context.context, 0, sizeof(context.context));
-+#endif
- 
- #if defined(__i386__)
-   // In CPUFillFromUContext in minidumpwriter.cc the stack pointer is retrieved
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
index 4583d60..3dc55cf 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
@@ -7,22 +7,20 @@
  src/common/linux/elf_core_dump.h | 1 +
  1 file changed, 1 insertion(+)
 
-Index: git/src/common/linux/elf_core_dump.h
-===================================================================
---- git.orig/src/common/linux/elf_core_dump.h
-+++ git/src/common/linux/elf_core_dump.h
-@@ -33,10 +33,13 @@
+--- a/src/common/linux/elf_core_dump.h
++++ b/src/common/linux/elf_core_dump.h
+@@ -33,10 +33,14 @@
  #ifndef COMMON_LINUX_ELF_CORE_DUMP_H_
  #define COMMON_LINUX_ELF_CORE_DUMP_H_
  
 +#include <config.h>
  #include <elf.h>
+ #include <limits.h>
  #include <link.h>
  #include <stddef.h>
--
 +#ifdef HAVE_SYS_REG_H
 +#include <sys/reg.h>
 +#endif
+ 
  #include "common/memory_range.h"
  
- namespace google_breakpad {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
deleted file mode 100644
index 6c097cd..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 0ba1b3e35e7c743b670bedc3e90001dfb868df10 Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 1 Feb 2015 13:45:51 +0100
-Subject: [PATCH 2/6] Use _fpstate instead of _libc_fpstate on linux
-
-glibc defines both. musl libc only the former.
----
- src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++--
- src/client/linux/dump_writer_common/ucontext_reader.h  | 2 +-
- src/client/linux/minidump_writer/minidump_writer.h     | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc
-===================================================================
---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ git/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstruction
- }
- 
- void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
--                                    const struct _libc_fpstate* fp) {
-+                                    const struct _fpstate* fp) {
-   const greg_t* regs = uc->uc_mcontext.gregs;
- 
-   out->context_flags = MD_CONTEXT_X86_FULL |
-@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstruction
- }
- 
- void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
--                                    const struct _libc_fpstate* fpregs) {
-+                                    const struct _fpstate* fpregs) {
-   const greg_t* regs = uc->uc_mcontext.gregs;
- 
-   out->context_flags = MD_CONTEXT_AMD64_FULL;
-Index: git/src/client/linux/dump_writer_common/ucontext_reader.h
-===================================================================
---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ git/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -50,7 +50,7 @@ struct UContextReader {
-   //   info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
-   static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
--                             const struct _libc_fpstate* fp);
-+                             const struct _fpstate* fp);
- #elif defined(__aarch64__)
-   static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-                              const struct fpsimd_context* fpregs);
-Index: git/src/client/linux/minidump_writer/minidump_writer.h
-===================================================================
---- git.orig/src/client/linux/minidump_writer/minidump_writer.h
-+++ git/src/client/linux/minidump_writer/minidump_writer.h
-@@ -48,7 +48,7 @@ class ExceptionHandler;
- #if defined(__aarch64__)
- typedef struct fpsimd_context fpstate_t;
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
--typedef struct _libc_fpstate fpstate_t;
-+typedef struct _fpstate fpstate_t;
- #endif
- 
- // These entries store a list of memory regions that the client wants included
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch
deleted file mode 100644
index cfd9a9b..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 15582e19c2545d5ffe8ff07f957d0ed602aeca74 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 14 Sep 2017 23:15:09 -0700
-Subject: [PATCH 2/5] <sys/signal.h> is a nonportable alias for <signal.h>
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/client/linux/handler/exception_handler.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
-index 05936d28..cca023fd 100644
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -78,7 +78,7 @@
- #include <sys/wait.h>
- #include <unistd.h>
- 
--#include <sys/signal.h>
-+#include <signal.h>
- #include <sys/ucontext.h>
- #include <sys/user.h>
- #include <ucontext.h>
--- 
-2.14.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
index 2593ea9..76b2088 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
@@ -10,10 +10,8 @@
  src/common/stabs_reader_unittest.cc |  1 -
  3 files changed, 11 insertions(+), 3 deletions(-)
 
-Index: git/src/common/stabs_reader.cc
-===================================================================
---- git.orig/src/common/stabs_reader.cc
-+++ git/src/common/stabs_reader.cc
+--- a/src/common/stabs_reader.cc
++++ b/src/common/stabs_reader.cc
 @@ -34,7 +34,9 @@
  #include "common/stabs_reader.h"
  
@@ -24,10 +22,8 @@
  #include <string.h>
  
  #include <string>
-Index: git/src/common/stabs_reader.h
-===================================================================
---- git.orig/src/common/stabs_reader.h
-+++ git/src/common/stabs_reader.h
+--- a/src/common/stabs_reader.h
++++ b/src/common/stabs_reader.h
 @@ -58,6 +58,30 @@
  #elif defined(HAVE_A_OUT_H)
  #include <a.out.h>
@@ -59,10 +55,8 @@
  
  #include <string>
  #include <vector>
-Index: git/src/common/stabs_reader_unittest.cc
-===================================================================
---- git.orig/src/common/stabs_reader_unittest.cc
-+++ git/src/common/stabs_reader_unittest.cc
+--- a/src/common/stabs_reader_unittest.cc
++++ b/src/common/stabs_reader_unittest.cc
 @@ -33,7 +33,9 @@
  
  #include <assert.h>
@@ -73,16 +67,14 @@
  #include <stdarg.h>
  #include <stdlib.h>
  #include <string.h>
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
+--- a/configure.ac
++++ b/configure.ac
 @@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
  AC_HEADER_STDC
  AC_SYS_LARGEFILE
  AX_PTHREAD
--AC_CHECK_HEADERS([a.out.h sys/random.h])
-+AC_CHECK_HEADERS([a.out.h stab.h sys/random.h])
- AC_CHECK_FUNCS([arc4random getrandom])
- 
- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+-AC_CHECK_HEADERS([a.out.h sys/mman.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h])
+ AC_CHECK_FUNCS([arc4random getcontext getrandom memfd_create])
+ AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
+ AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$ac_cv_func_memfd_create" = xyes])
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
index 525a155..5892cfa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
@@ -9,35 +9,33 @@
  src/common/dwarf/elf_reader.cc | 1 +
  1 file changed, 1 insertion(+)
 
-Index: git/src/common/dwarf/elf_reader.cc
-===================================================================
---- git.orig/src/common/dwarf/elf_reader.cc
-+++ git/src/common/dwarf/elf_reader.cc
-@@ -29,10 +29,13 @@
- #ifndef _GNU_SOURCE
+--- a/src/common/dwarf/elf_reader.cc
++++ b/src/common/dwarf/elf_reader.cc
+@@ -30,12 +30,16 @@
  #define _GNU_SOURCE  // needed for pread()
  #endif
--
+ 
 +#include <config.h>
- #include <sys/types.h>
- #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <string.h>
  #include <sys/mman.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
 +#ifdef HAVE_SYS_REG_H
 +#include <sys/reg.h>
 +#endif
  #include <unistd.h>
- #include <fcntl.h>
- #include <string.h>
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
+ 
+ #include <algorithm>
+--- a/configure.ac
++++ b/configure.ac
 @@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
  AC_HEADER_STDC
  AC_SYS_LARGEFILE
  AX_PTHREAD
--AC_CHECK_HEADERS([a.out.h stab.h sys/random.h])
-+AC_CHECK_HEADERS([a.out.h stab.h sys/random.h sys/reg.h])
- AC_CHECK_FUNCS([arc4random getrandom])
- 
- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+-AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h sys/reg.h])
+ AC_CHECK_FUNCS([arc4random getcontext getrandom memfd_create])
+ AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
+ AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$ac_cv_func_memfd_create" = xyes])
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
index 19bb560..96f5f48 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
@@ -1,12 +1,9 @@
-Index: lss/linux_syscall_support.h
-===================================================================
---- lss.orig/linux_syscall_support.h
-+++ lss/linux_syscall_support.h
-@@ -118,21 +118,13 @@ extern "C" {
- #include <endian.h>
+--- a/linux_syscall_support.h
++++ b/linux_syscall_support.h
+@@ -119,14 +119,7 @@ extern "C" {
  
  #ifdef __mips__
--/* Include definitions of the ABI currently in use.                          */
+ /* Include definitions of the ABI currently in use.                          */
 -#ifdef __ANDROID__
 -/* Android doesn't have sgidefs.h, but does have asm/sgidefs.h,
 - * which has the definitions we need.
@@ -18,10 +15,3 @@
  #endif
  #endif
  
- /* The Android NDK's <sys/stat.h> #defines these macros as aliases
-  * to their non-64 counterparts. To avoid naming conflict, remove them. */
--#ifdef __ANDROID__
-+#if defined(__ANDROID__) || (defined(__linux__) && !defined(__glibc__))
-   /* These are restored by the corresponding #pragma pop_macro near
-    * the end of this file. */
- # pragma push_macro("stat64")
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index daf262e..81955f4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -6,11 +6,13 @@
 DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. "
 HOMEPAGE = "https://code.google.com/p/google-breakpad/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8bb274ebd1901085fd71a8d8afe8831b"
 SECTION = "libs"
 
 inherit autotools
 
+DEPENDS_append_libc-musl = " libucontext"
+
 BBCLASSEXTEND = "native"
 
 PE = "2"
@@ -19,27 +21,25 @@
 
 SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp"
 
-SRCREV_breakpad = "0c0e24f709288a129d665ec27d6f089189318385"
+SRCREV_breakpad = "8b22babdf894e5aa98b2dbbe103f7e3856a71944"
 #v1.10.0
-SRCREV_gtest = "5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
+SRCREV_gtest = "4fe018038f87675c083d0cfb6a6b57c274fb1753"
 SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
-SRCREV_lss = "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c"
+SRCREV_lss = "fd00dbbd0c06a309c657d89e9430143b179ff6db"
 SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770"
 
-SRC_URI = "git://github.com/google/breakpad;name=breakpad \
+SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main \
            git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \
-           git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
-           git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
+           git://github.com/protocolbuffers/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
+           git://chromium.googlesource.com/linux-syscall-support;protocol=https;branch=main;destsuffix=git/src/third_party/lss;name=lss \
            git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \
            file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \
            file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \
            file://0001-Turn-off-sign-compare-for-musl-libc.patch \
-           file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \
            file://0003-Dont-include-stab.h.patch \
            file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \
-           file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \
            file://mcontext.patch \
-           file://0001-disable-calls-to-getcontext-with-musl.patch \
+           file://0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch \
            file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
            file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
            file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \
@@ -47,8 +47,11 @@
 S = "${WORKDIR}/git"
 
 CXXFLAGS += "-D_GNU_SOURCE"
+LDFLAGS_append_libc-musl = " -lucontext"
 
 COMPATIBLE_HOST_powerpc = "null"
+COMPATIBLE_HOST_powerpc64 = "null"
+COMPATIBLE_HOST_powerpc64le = "null"
 COMPATIBLE_HOST_riscv64 = "null"
 COMPATIBLE_HOST_riscv32 = "null"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb
index 358ec80..03de499 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb
@@ -10,8 +10,13 @@
 DEPENDS_append_class-target = " googletest grpc-native "
 DEPENDS_append_class-nativesdk = " grpc-native "
 
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
 S = "${WORKDIR}/git"
-SRCREV_grpc = "3b7f86e3516746c5f0db1947e0d65e94159bcb12"
+SRCREV_grpc = "3e53dbe8213137d2c731ecd4d88ebd2948941d75"
 BRANCH = "v1.36.x"
 SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
            "
@@ -72,4 +77,4 @@
 
 SYSROOT_DIRS_BLACKLIST_append_class-target = " ${baselib}/cmake/grpc"
 
-FILES_${PN}-dev += "${bindir}"
+FILES_${PN}-compiler += "${bindir}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb
rename to meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
index 88fad93..6277c41 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.7.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
@@ -1,4 +1,4 @@
-SUMMARY = "runtime performance analyzer"
+SUMMARY = "performance analyzer"
 HOMEPAGE = "https://github.com/iipeace/guider"
 BUGTRACKER = "https://github.com/iipeace/guider/issues"
 AUTHOR = "Peace Lee <ipeace5@gmail.com>"
@@ -6,10 +6,10 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
 
-PV = "3.9.7+git${SRCPV}"
+PV = "3.9.8+git${SRCPV}"
 
 SRC_URI = "git://github.com/iipeace/${BPN}"
-SRCREV = "459b5189a46023fc98e19888b196bdc2674022fd"
+SRCREV = "a502cd93b13235b7539557a91328de00b7c51bc3"
 
 S = "${WORKDIR}/git"
 
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.4.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.4.bb
index e41907d..a02ff4a 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.4.bb
@@ -13,13 +13,13 @@
 
 PE = "1"
 
-SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2"
+SRCREV = "9059f5cad030ba11d37818847443a53918c327b1"
 SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
 
 S = "${WORKDIR}/git"
 
 inherit cmake
 
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb
index 576eff6..832254a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb
@@ -18,5 +18,5 @@
     done
 }
 
-SRC_URI[archive.md5sum] = "e574b3952b93d219b5ec7c74c5892c33"
-SRC_URI[archive.sha256sum] = "d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de"
+SRC_URI[archive.md5sum] = "4d7d6f1f8054f1b3466c752ac2e50946"
+SRC_URI[archive.sha256sum] = "524c1bf390f9cdda4fbd9a47b269980dc64ab5280f0801b53bc69d782c72de0e"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch
new file mode 100644
index 0000000..dff61b1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch
@@ -0,0 +1,39 @@
+--- a/sysdeps/linux-gnu/ppc/ptrace.h
++++ b/sysdeps/linux-gnu/ppc/ptrace.h
+@@ -18,4 +18,5 @@
+  * 02110-1301 USA
+  */
+ 
++#include <asm/ptrace.h>
+ #include <sys/ptrace.h>
+--- a/sysdeps/linux-gnu/ppc/regs.c
++++ b/sysdeps/linux-gnu/ppc/regs.c
+@@ -23,11 +23,14 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <sys/types.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
+ #include <errno.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
++#endif
+ 
+ #include "proc.h"
+ #include "common.h"
+@@ -49,8 +52,11 @@ get_instruction_pointer(struct process *
+ void
+ set_instruction_pointer(struct process *proc, void *addr)
+ {
+-	if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0)
+-		error(0, errno, "set_instruction_pointer");
++	if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0){
++		report_global_error("%s: set_instruction_pointer",
++			strerror(errno));
++		exit(1);
++	}
+ }
+ 
+ void *
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 5710943..17264ce 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -30,6 +30,8 @@
            file://0001-Bug-fix-for-data-type-length-judgment.patch \
            file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
            "
+SRC_URI_append_libc-musl = " file://add_ppc64le.patch"
+
 S = "${WORKDIR}/git"
 
 inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch
new file mode 100644
index 0000000..67c8b1b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch
@@ -0,0 +1,50 @@
+From 82e51fb8ba2640b318826ef4e17b0f5c09c8dded Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 Mar 2021 20:10:18 -0800
+Subject: [PATCH] nsswitch.y: Replace %empty bison extension
+
+POSIX compliant yacc do not understand %empty therefore replace it with
+/* empty */
+
+https://github.com/pikhq/musl-nscd/issues/13
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nsswitch.y | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/nsswitch.y b/src/nsswitch.y
+index 107073b..0b7c71e 100644
+--- a/src/nsswitch.y
++++ b/src/nsswitch.y
+@@ -38,7 +38,7 @@ top:
+ 	;
+ 
+ file:
+-	%empty {
++	/* empty */ {
+ 		list_init(&$$);
+ 	}
+ 	| file line {
+@@ -88,7 +88,7 @@ modifier:
+ 	;
+ 
+ modifiers:
+-	%empty {
++	/* empty */ {
+ 		memcpy($$, default_actions, sizeof($$));
+ 	}
+ 	| modifiers modifier {
+@@ -112,7 +112,7 @@ item:
+ 	;
+ 
+ list:
+-	%empty {
++	/* empty */ {
+ 		list_init(&$$);
+ 	}
+ 	| list item {
+-- 
+2.30.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
index 83125a1..6af7ab9 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
@@ -15,6 +15,7 @@
 SRC_URI = "git://github.com/pikhq/musl-nscd \
            file://0001-Fix-build-under-GCC-fno-common.patch \
            file://0001-configure-Check-for-flex-if-lex-is-not-found.patch \
+           file://0001-nsswitch.y-Replace-empty-bison-extension.patch \
           "
 
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb
index 6acc36b..3a2822c 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb
@@ -26,7 +26,7 @@
 SRC_URI_append_class-target = " \
            file://0002-Using-native-binaries.patch \
            "
-SRC_URI[sha256sum] = "961ad600f0706c396390ebc7767fb01d5e3792a5022dc2e7774796756eec6d3c"
+SRC_URI[sha256sum] = "052f37ace6f569b513b5a1154b2a45d3c4d8b07d7d7c807b79f1566db61e979d"
 
 S = "${WORKDIR}/node-v${PV}"
 
@@ -39,7 +39,7 @@
     if   re.match('i.86$', a): return 'ia32'
     elif re.match('x86_64$', a): return 'x64'
     elif re.match('aarch64$', a): return 'arm64'
-    elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
+    elif re.match('(powerpc64|powerpc64le)$', a): return 'ppc64'
     elif re.match('powerpc$', a): return 'ppc'
     return a
 
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 05e06a2..85add50 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -12,12 +12,12 @@
 "
 
 SRCREV_FORMAT = "openocd"
-SRCREV_openocd = "d46f28c2ea2611f5fbbc679a5eed253d3dcd2fe3"
+SRCREV_openocd = "f342aac0845a69d591ad39a025d74e9c765f6420"
 SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba"
 SRCREV_jimtcl = "0aa0fb4e3a38d38a49de9eb585d93d63a370dcf6"
 SRCREV_libjaylink = "9aa7a5957c07bb6e862fc1a6d3153d109c7407e4"
 
-PV = "0.10+gitr${SRCPV}"
+PV = "0.11+gitr${SRCPV}"
 S = "${WORKDIR}/git"
 
 inherit pkgconfig autotools-brokensep gettext
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb
index f8a8755..e19d5dd 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb
@@ -214,6 +214,8 @@
 RDEPENDS_${PN}-modphp = "${PN} apache2"
 RDEPENDS_${PN}-opcache = "${PN}"
 
+ALLOW_EMPTY_${PN} = "1"
+
 INITSCRIPT_PACKAGES = "${PN}-fpm"
 inherit update-rc.d
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
index 7d693b3..b1327ef 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ply/ply_git.bb
@@ -5,11 +5,13 @@
 
 DEPENDS += "bison-native"
 
+PV = "2.1.1+git${SRCPV}"
+
 SRC_URI = "git://github.com/iovisor/ply"
-SRCREV = "aa5b9ac31307ec1acece818be334ef801c802a12"
+SRCREV = "e25c9134b856cc7ffe9f562ff95caf9487d16b59"
 
 S = "${WORKDIR}/git"
 
 inherit autotools-brokensep
 
-COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc.*)-linux"
+COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc)-linux"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch b/meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch
new file mode 100644
index 0000000..58c9aec
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch
@@ -0,0 +1,50 @@
+From 9d47d2fd45c455339759dbfe9a0d6fd24b0a0fa1 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Mar 2021 15:39:36 +0800
+Subject: [PATCH] tclap: add pkg-config file
+
+The tclap switched from autotools to CMake in 1.4.0 and drop the
+pkg-config file tclap.pc. Some projects (e.g. ima-inspect) still require
+it. So add it back.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 5 +++++
+ tclap.pc.in    | 7 +++++++
+ 2 files changed, 12 insertions(+)
+ create mode 100644 tclap.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c2c9a26..b56eac7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,6 +25,11 @@ install(FILES "${PROJECT_BINARY_DIR}/tclap/TCLAPConfig.h"
+   DESTINATION include/tclap
+   )
+ 
++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tclap.pc.in
++  ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc @ONLY)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc
++  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++
+ add_subdirectory(docs)
+ add_subdirectory(examples)
+ add_subdirectory(tests)
+diff --git a/tclap.pc.in b/tclap.pc.in
+new file mode 100644
+index 0000000..ef51c94
+--- /dev/null
++++ b/tclap.pc.in
+@@ -0,0 +1,7 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
++
++Name: tclap
++Description: Templatized C++ Command Line Parser
++Version: @PROJECT_VERSION@
++Cflags: -I${includedir}
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
deleted file mode 100644
index 358cbef..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From c209ed0e7ffca32fe3714bad9cc54bdb00c286bb Mon Sep 17 00:00:00 2001
-From: Ting Liu <b28495@freescale.com>
-Date: Mon, 15 Apr 2013 16:28:37 +0800
-Subject: [PATCH] Makefile.am: disable docs
-
-Upstream-Status: Inappropriate [OE specific]
-
-docs need some generating tool (for example, doxygen) from host which may
-be not available. Disable it to avoid build issue.
-
-Signed-off-by: Ting Liu <b28495@freescale.com>
----
- Makefile.am |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 0a6ebc9..6b42f41 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
- 
- ACLOCAL_AMFLAGS = -I config
- 
--SUBDIRS = include examples docs tests msc config
-+SUBDIRS = include examples tests msc config
- 
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = $(PACKAGE).pc
--- 
-1.7.5
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb
deleted file mode 100644
index bba8d5c..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Templatized C++ Command Line Parser"
-HOMEPAGE = "http://tclap.sourceforge.net/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0ca8b9c5c5445cfa7af7e78fd27e60ed"
-
-SRCREV = "ec3ddcfe41b0544a4551a57439b6b3682fe31479"
-SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.2 \
-    file://Makefile.am-disable-docs.patch \
-"
-
-S = "${WORKDIR}/git"
-inherit autotools
-
-ALLOW_EMPTY_${PN} = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
new file mode 100644
index 0000000..7c8224b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Templatized C++ Command Line Parser"
+HOMEPAGE = "http://tclap.sourceforge.net/"
+DESCRIPTION = "TCLAP is a small, flexible library that provides a simple interface \
+for defining and accessing command line arguments. It was intially inspired by the \
+user friendly CLAP libary. The difference is that this library is templatized, so \
+the argument class is type independent. Type independence avoids identical-except-for-type \
+objects, such as IntArg, FloatArg, and StringArg. While the library is not strictly \
+compliant with the GNU or POSIX standards, it is close. \
+"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5c64b2e8cc50917b2744a90950faa7cd"
+
+SRCREV = "799a8b1f99818e39fee19d0601030770af1221e1"
+SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.4 \
+           file://0001-tclap-add-pkg-config-file.patch \
+"
+
+S = "${WORKDIR}/git"
+inherit cmake
+
+ALLOW_EMPTY_${PN} = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb
rename to meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb
index 4f49fb9..5f16561 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb
@@ -10,8 +10,8 @@
 
 SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
           "
-SRC_URI[md5sum] = "c27db8bb67f71ee32ab1b54a3b3cebc3"
-SRC_URI[sha256sum] = "3c1ed08f44bcf6f159f2aa6fde765db94e8997b3eefb49d8b4c86691693c43e1"
+SRC_URI[md5sum] = "45a28836769d52c00c800fa3226c530d"
+SRC_URI[sha256sum] = "42c6c2b35dd6d1c6cf231238e3bd6d3b7af53fc279a1af547ab9890044d46652"
 
 # hardcoded here for use in dialog-static recipe
 S = "${WORKDIR}/dialog-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb b/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
new file mode 100644
index 0000000..1f3cb97
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
@@ -0,0 +1,30 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A C library that may be linked into a C/C++ program to produce symbolic backtraces"
+HOMEPAGE = "https://github.com/ianlancetaylor/libbacktrace"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=24b5b3feec63c4be0975e1fea5100440"
+
+DEPENDS += "libunwind"
+
+SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "4f57c999716847e45505b3df170150876b545088"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTR_OECONF += "--with-system-libunwind"
+
+CFLAGS += "-fPIC"
+
+do_configure() {
+    oe_runconf
+}
+
+# libunwind does not support RISCV yet
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch
new file mode 100644
index 0000000..bbdfa3c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch
@@ -0,0 +1,25 @@
+From ea3f11a7846ad27926c6eacc0534914f4873504f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 5 Mar 2021 19:30:09 -0800
+Subject: [PATCH] respect environment variables
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1d70f17..c7e726e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+-CFLAGS = -g -O2 -Wall -fPIC -Ilibwuya
+-LDFLAGS = -Llibwuya
++CFLAGS += -g -O2 -Wall -fPIC -Ilibwuya
++LDFLAGS += -Llibwuya
+ 
+ libleak.so: libleak.o
+ 	CFLAGS='-fPIC' make -C libwuya
+-- 
+2.30.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb
new file mode 100644
index 0000000..309553c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libleak/libleak_git.bb
@@ -0,0 +1,38 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "libleak detects memory leak by hooking memory functions (e.g. malloc) by LD_PRELOAD"
+HOMEPAGE = "https://github.com/WuBingzheng/libleak"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://README.md;beginline=18;endline=21;md5=de4f705f12cdedbe452b2c3524572b03"
+
+DEPENDS += "libbacktrace"
+
+SRC_URI = "gitsm://github.com/WuBingzheng/libleak;protocol=https \
+           file://0001-respect-environment-variables.patch \
+          "
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "ea2bb608ae25701692269a37d39d77e966b887ac"
+
+S = "${WORKDIR}/git"
+
+do_configure () {
+	:
+}
+
+do_compile () {
+	oe_runmake
+}
+
+do_install () {
+	install -Dm 0755 ${B}/libleak.so ${D}${libdir}/libleak.so
+}
+
+FILES_SOLIBSDEV = ""
+
+FILES_${PN} += "${libdir}/libleak.so"
+
+# libunwind does not support RISCV yet
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
index 04f82d2..6009cd0 100644
--- a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
@@ -7,6 +7,8 @@
 
 inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
 
+PNBLACKLIST[openlmi-tools] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+
 DEPENDS = "python-native python-pywbem-native python-m2crypto python-pywbem"
 
 SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb
index f3933f9..6a1f880 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.10.0.bb
@@ -6,10 +6,10 @@
 
 DEPENDS = "gmp nettle libidn zlib gnutls openssl"
 
-SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \
+SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \
 "
 
-SRCREV = "fe366f3770320cbe76bac7e84b26a48491d14531"
+SRCREV = "9e749453d51d602d8159717f8a7c27971dcb4c6c"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
deleted file mode 100644
index cb80611..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 290703a5d21f34ea5ec23efc815a9f4df241e7e8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 23 Oct 2015 00:33:32 -0700
-Subject: [PATCH] Fix build with musl, backtrace() APIs are glibc specific
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- userspace/libsinsp/utils.cpp | 4 +++-
- userspace/libsinsp/utils.h   | 2 +-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
---- a/userspace/libsinsp/utils.cpp
-+++ b/userspace/libsinsp/utils.cpp
-@@ -22,7 +22,7 @@ limitations under the License.
- #include <limits.h>
- #include <stdlib.h>
- #include <sys/time.h>
--#ifndef CYGWING_AGENT
-+#if !defined(CYGWING_AGENT) || defined(__GLIBC__)
- #include <execinfo.h>
- #endif
- #include <unistd.h>
-@@ -780,6 +780,7 @@ bool sinsp_utils::glob_match(const char
- 
- #ifndef CYGWING_AGENT
- #ifndef _WIN32
-+#ifdef __GLIBC__
- void sinsp_utils::bt(void)
- {
- 	static const char start[] = "BACKTRACE ------------";
-@@ -801,6 +802,7 @@ void sinsp_utils::bt(void)
- 
- 	free(bt_syms);
- }
-+#endif // Glibc
- #endif // _WIN32
- #endif // CYGWING_AGENT
- 
---- a/userspace/libsinsp/utils.h
-+++ b/userspace/libsinsp/utils.h
-@@ -104,7 +104,7 @@ public:
- 
- 	static bool glob_match(const char *pattern, const char *string);
- 
--#ifndef _WIN32
-+#if not defined(_WIN32) && defined(__GLIBC__)
- 	//
- 	// Print the call stack
- 	//
diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
deleted file mode 100644
index 5c75629..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix x86 build
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/userspace/libsinsp/cgroup_limits.cpp
-+++ b/userspace/libsinsp/cgroup_limits.cpp
-@@ -9,7 +9,7 @@ namespace {
- // This reports extremely large values (e.g. almost-but-not-quite 9EiB as set by k8s) as unlimited.
- // Note: we use the same maximum value for cpu shares/quotas as well; the typical values are much lower
- // and so should never exceed CGROUP_VAL_MAX either
--constexpr const int64_t CGROUP_VAL_MAX = (1UL << 42u) - 1;
-+constexpr const int64_t CGROUP_VAL_MAX = (1ULL << 42u) - 1;
- 
- /**
-  * \brief Read a single int64_t value from cgroupfs
diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
index 04a022a..d9da190 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb
@@ -15,24 +15,21 @@
 JIT_riscv64 = ""
 JIT_riscv32 = ""
 
-DEPENDS += "lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native"
+DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native"
 RDEPENDS_${PN} = "bash"
 
 SRC_URI = "git://github.com/draios/sysdig.git;branch=dev \
            file://0001-fix-build-with-LuaJIT-2.1-betas.patch \
-           file://0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch \
-           file://fix-uint64-const.patch \
            file://aarch64.patch \
           "
-SRCREV = "8daeef8da752c5f07f439391bc20c5948eb11470"
-PV = "0.26.6"
+SRCREV = "67833b2aca06bd9d11cff7cb29f04fbf4ef96cad"
+PV = "0.27.1"
 
 S = "${WORKDIR}/git"
 
 EXTRA_OECMAKE = "\
                 -DBUILD_DRIVER=OFF \
                 -DUSE_BUNDLED_DEPS=OFF \
-                -DUSE_BUNDLED_B64=ON \
                 -DCREATE_TEST_TARGETS=OFF \
                 -DDIR_ETC=${sysconfdir} \
                 -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \
diff --git a/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
new file mode 100644
index 0000000..df534dd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Instant terminal sharing"
+DESCRIPTION = "Tmate is a fork of tmux. It provides an instant pairing solution."
+AUTHOR = "Marius Kriegerowski <marius.kriegerowski@gmail.com>"
+HOMEPAGE = "https://tmate.io/"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f7d9aab84ec6567139a4755c48d147fb"
+
+DEPENDS_append = " libevent libssh msgpack-c ncurses"
+SRC_URI = "\
+    git://github.com/tmate-io/tmate.git;protocol=https \
+"
+
+SRCREV = "5e00bfa5e137e76c81888727712ced2b3fd99f5b"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch
deleted file mode 100644
index c701554..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 93cec0c1d6d0be8dd3a9d01d3e7f2099f1728df7 Mon Sep 17 00:00:00 2001
-From: Orivej Desh <orivej@gmx.fr>
-Date: Fri, 22 May 2020 12:48:02 +0000
-Subject: [PATCH] Fix legacy build after #2103
-
-Upstream-Status: Backport
-Signed-of-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- lib/legacy/zstd_v04.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/legacy/zstd_v04.c b/lib/legacy/zstd_v04.c
-index 56bf45222498..19fda8980abf 100644
---- a/lib/legacy/zstd_v04.c
-+++ b/lib/legacy/zstd_v04.c
-@@ -74,7 +74,7 @@ extern "C" {
- /*-*************************************
- *  Debug
- ***************************************/
--#include "debug.h"
-+#include "../common/debug.h"
- #ifndef assert
- #  define assert(condition) ((void)0)
- #endif
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
deleted file mode 100644
index d0cc625..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Zstandard - Fast real-time compression algorithm"
-DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
-real-time compression scenarios at zlib-level and better compression ratios. \
-It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
-HOMEPAGE = "http://www.zstd.net/"
-SECTION = "console/utils"
-
-LICENSE = "BSD-3-Clause & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
-                    file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
-
-inherit lib_package
-
-SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1 \
-           file://0001-Fix-legacy-build-after-2103.patch \
-           "
-
-SRCREV = "b706286adbba780006a47ef92df0ad7a785666b6"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
-PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
-PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
-
-# See programs/README.md for how to use this
-ZSTD_LEGACY_SUPPORT ??= "4"
-
-do_compile () {
-    oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
-}
-
-do_install () {
-    oe_runmake install 'DESTDIR=${D}'
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb
rename to meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb
index c545993..d677d24 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb
@@ -6,7 +6,7 @@
     git://github.com/hughsie/libxmlb.git \
     file://run-ptest \
 "
-SRCREV = "ee4aafdd97844f1c73021a4978a43460f0835d5c"
+SRCREV = "8f2f28eda419dbe31cb1a9aa022f0ca9d30ecb6a"
 S = "${WORKDIR}/git"
 
 inherit gobject-introspection gtk-doc meson ptest-gnome
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb
index 6c22f0e..d9b6886 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb
@@ -7,8 +7,8 @@
 
 SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "23879689ecf7e2cdd2cd5a91c5c601da"
-SRC_URI[sha256sum] = "d20dd1a9307b908439c68122a9f81d3ff434a6bfa5439f0cb01398fec650894f"
+SRC_URI[md5sum] = "dd40f09f44d7aed937e63c29b63cd3af"
+SRC_URI[sha256sum] = "ece447340442e7ad029713789552e8392b75dd3808c882ac5193d42fce55eb3b"
 
 inherit pkgconfig autotools gettext texinfo mime mime-xdg
 DEPENDS += "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
rename to meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb
index 0bad670..de28af8 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.26.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb"
 
 SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https"
-SRCREV = "9092dcb7f7680204ef523c73eb6132162b4358e3"
+SRCREV = "5083b949f0caa5bc6257cd81162a33c15bf8a1d1"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
index 8e264bf..62aa4b4 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
@@ -19,3 +19,5 @@
 EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
 
 FILES_${PN} += "${libdir}/openjpeg*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb
index 2bbcd92..969159b 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_366.bb
@@ -8,8 +8,8 @@
            file://0001-Add-configure-time-check-for-setsid.patch \
           "
 
-SRC_URI[md5sum] = "ee6710bbbe18000236c6e6d7b55b54d5"
-SRC_URI[sha256sum] = "1d4ffe226fa8f021859bbc3007788ff63a46a31242d9bd9a7bd7ebe24e81aca2"
+SRC_URI[sha256sum] = "858b2885963fe97e712739066aadc1baeba2b33a0016303a7fec7d38bc73bf6e"
+
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
index 1758430..f0696db 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -9,12 +9,22 @@
 
 do_populate_lic[depends] += "virtual/kernel:do_patch"
 
-EXTRA_OEMAKE = "V=1 -C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+EXTRA_OEMAKE = "\
+    V=1 \
+    -C ${S}/tools/bpf/bpftool \
+    O=${B} \
+    CROSS=${TARGET_PREFIX} \
+    CC="${CC} ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH}" \
+    LD="${LD}" \
+    AR=${AR} \
+    ARCH=${ARCH} \
+"
 
 SECURITY_CFLAGS = ""
 
 do_configure[depends] += "virtual/kernel:do_shared_workdir"
 
+COMPATIBLE_HOST = "(x86_64).*-linux"
 COMPATIBLE_HOST_libc-musl = 'null'
 
 do_compile() {
@@ -32,4 +42,3 @@
 }
 
 B = "${WORKDIR}/${BPN}-${PV}"
-PNBLACKLIST[bpftool] ?= "Needs forward porting to kernel 5.2+"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
index 5714ddb..57e8376 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
@@ -10,6 +10,8 @@
 
 DEPENDS = "zlib elfutils"
 
+do_compile[depends] += "virtual/kernel:do_shared_workdir"
+
 SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https"
 SRCREV = "051a4009f94d5633a8f734ca4235f0a78ee90469"
 
@@ -23,6 +25,8 @@
 
 EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir}"
 
+inherit pkgconfig
+
 do_compile() {
 	if grep -q "CONFIG_BPF_SYSCALL=y" ${STAGING_KERNEL_BUILDDIR}/.config
 	then
@@ -40,5 +44,3 @@
 		bbnote "no files to install"
 	fi
 }
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch
new file mode 100644
index 0000000..6119122
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch
@@ -0,0 +1,55 @@
+From 5ed9bda8baf7465172a99ff86ed7f46397b06c7f Mon Sep 17 00:00:00 2001
+From: Andrew Savchenko <bircoph@gmail.com>
+Date: Sat, 5 Sep 2020 14:41:30 +0300
+Subject: [PATCH 01/10] Fix build with musl
+
+--Signature=_Sat__5_Sep_2020_14_41_30_+0300_B.qpPPwu83bbA.32
+Content-Type: text/plain; charset=US-ASCII
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+When musl is used instead of glibc, oprofile build fails because it
+uses glibc-specific FTW extension: FTW_ACTIONRETVAL for custom
+__delete_old_previous_sample_data return codes and FTW_STOP,
+FTW_CONTINUE for such return codes. Musl supports only POSIX ftw, so
+build fails.
+
+However, this extension is not really needed by oprofile, because
+FTW_SKIP_* are not used and {FTW_STOP,FTW_CONTINUE} can be handled
+by standard return codes {1,0} (more precisely standard defines
+{!0,0}, but in glibc FTW_STOP = 1, so I keep this value).
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/5ed9bda8baf7465172a99ff86ed7f46397b06c7f/]
+Signed-off-by: Andrew Savchenko <bircoph@gmail.com>
+---
+ pe_profiling/operf.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp
+index 06a0ea3c..00834409 100644
+--- a/pe_profiling/operf.cpp
++++ b/pe_profiling/operf.cpp
+@@ -860,9 +860,9 @@ static int __delete_old_previous_sample_data(const char *fpath,
+ {
+ 	if (remove(fpath)) {
+ 		perror("sample data removal error");
+-		return FTW_STOP;
++		return 1;
+ 	} else {
+-		return FTW_CONTINUE;
++		return 0;
+ 	}
+ }
+ 
+@@ -897,7 +897,7 @@ static void convert_sample_data(void)
+ 		return;
+ 
+ 	if (!operf_options::append) {
+-                int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
++		int flags = FTW_DEPTH;
+ 		errno = 0;
+ 		if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
+ 				errno != ENOENT) {
+-- 
+2.31.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch
deleted file mode 100644
index faf56d1..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 34745fb066a266ae6bbb15d08466d4d2cb6a2110 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 20 Feb 2020 08:11:04 -0800
-Subject: [PATCH] Use new bfd APIs from 2.34+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libutil++/bfd_support.cpp | 10 +++++-----
- opjitconv/create_bfd.c    |  6 +++---
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp
-index fa904839..e53a1530 100644
---- a/libutil++/bfd_support.cpp
-+++ b/libutil++/bfd_support.cpp
-@@ -137,7 +137,7 @@ static bool get_build_id(bfd * ibfd, unsigned char * build_id)
- 		}
- 	}
- 
--	bfd_size_type buildid_sect_size = bfd_section_size(ibfd, sect);
-+	bfd_size_type buildid_sect_size = bfd_section_size(sect);
- 	char * contents = (char *) xmalloc(buildid_sect_size);
- 	errno = 0;
- 	if (!bfd_get_section_contents(ibfd, sect,
-@@ -188,7 +188,7 @@ bool get_debug_link_info(bfd * ibfd, string & filename, unsigned long & crc32)
- 	if (sect == NULL)
- 		return false;
- 	
--	bfd_size_type debuglink_size = bfd_section_size(ibfd, sect);  
-+	bfd_size_type debuglink_size = bfd_section_size(sect);  
- 	char * contents = (char *) xmalloc(debuglink_size);
- 	cverb << vbfd
- 	      << ".gnu_debuglink section has size " << debuglink_size << endl;
-@@ -346,7 +346,7 @@ void fixup_linenr(bfd * abfd, asection * section, asymbol ** syms,
- 	// first restrict the search on a sensible range of vma, 16 is
- 	// an intuitive value based on epilog code look
- 	size_t max_search = 16;
--	size_t section_size = bfd_section_size(abfd, section);
-+	size_t section_size = bfd_section_size(section);
- 	if (pc + max_search > section_size)
- 		max_search = section_size - pc;
- 
-@@ -819,10 +819,10 @@ find_nearest_line(bfd_info const & b, op_bfd_symbol const & sym,
- 	else
- 		pc = (sym.value() + offset) - sym.filepos();
- 
--	if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
-+	if ((bfd_section_flags(section) & SEC_ALLOC) == 0)
- 		goto fail;
- 
--	if (pc >= bfd_section_size(abfd, section))
-+	if (pc >= bfd_section_size(section))
- 		goto fail;
- 
- 	ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename,
-diff --git a/opjitconv/create_bfd.c b/opjitconv/create_bfd.c
-index 48db143b..5c0e9152 100644
---- a/opjitconv/create_bfd.c
-+++ b/opjitconv/create_bfd.c
-@@ -86,12 +86,12 @@ asection * create_section(bfd * abfd, char const * section_name,
- 		bfd_perror("bfd_make_section");
- 		goto error;
- 	}
--	bfd_set_section_vma(abfd, section, vma);
--	if (bfd_set_section_size(abfd, section, size) == FALSE) {
-+	bfd_set_section_vma(section, vma);
-+	if (bfd_set_section_size(section, size) == FALSE) {
- 		bfd_perror("bfd_set_section_size");
- 		goto error;
- 	}
--	if (bfd_set_section_flags(abfd, section, flags) == FALSE) {
-+	if (bfd_set_section_flags(section, flags) == FALSE) {
- 		bfd_perror("bfd_set_section_flags");
- 		goto error;
- 	}
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch
new file mode 100644
index 0000000..2ffdc8a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch
@@ -0,0 +1,40 @@
+From 91bedd280b8a3fb4665db627559abba960be4212 Mon Sep 17 00:00:00 2001
+From: Andrew Savchenko <bircoph@gmail.com>
+Date: Sat, 5 Sep 2020 14:40:07 +0300
+Subject: [PATCH 02/10] Fix configure when /bin/sh is not bash
+
+--Signature=_Sat__5_Sep_2020_14_40_08_+0300_w+XY/NnD8_G.Kd1s
+Content-Type: text/plain; charset=US-ASCII
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+When /bin/sh used by autoconf is not bash, e.g. dash, configure
+fails because it uses bash-specific equality operator "==".
+
+Fix this problem by replacing "==" with POSIX "=" which is
+sufficient for test where it is being used.
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/91bedd280b8a3fb4665db627559abba960be4212/]
+Signed-off-by: Andrew Savchenko <bircoph@gmail.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 05609f6e..f5fcd17d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -466,8 +466,8 @@ AX_COPY_IF_CHANGE(doc/xsl/catalog-1.xml, doc/xsl/catalog.xml)
+ 
+ if ! test "x$enable_account_check" = "xyes"; then
+ 	:
+-elif test "`getent passwd oprofile 2>/dev/null`" == "" || \
+-     test "`getent group oprofile 2>/dev/null`" == ""; then
++elif test "`getent passwd oprofile 2>/dev/null`" = "" || \
++     test "`getent group oprofile 2>/dev/null`" = ""; then
+ 	if test `id -u` != "0"; then
+ 		echo "Warning: The user account 'oprofile:oprofile' does not exist on the system."
+ 		echo "         To profile JITed code, this special user account must exist."
+-- 
+2.31.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch
new file mode 100644
index 0000000..923c39a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch
@@ -0,0 +1,30 @@
+From 864e02eab12cdc523b2dcd3f7b87a27abc16eefc Mon Sep 17 00:00:00 2001
+From: Viktor Kleinik <vkleinik@cisco.com>
+Date: Sun, 7 Mar 2021 17:07:44 +0000
+Subject: [PATCH 03/10] Define the C preprocessor variable to improve reproducibility
+
+Define the C preprocessor variable BUILD_DATE, which can be used
+as source for reproducible build date in case when
+SOURCE_DATE_EPOCH environment variable is set.
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/864e02eab12cdc523b2dcd3f7b87a27abc16eefc/]
+Signed-off-by: Viktor Kleinik <vkleinik@cisco.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index f5fcd17d..dc447f89 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,6 +31,7 @@ if test -n "$SOURCE_DATE_EPOCH" ; then
+ fi
+ dnl for the man page
+ DATE="`date $dateopt '+%a %d %B %Y'`"
++AC_DEFINE_UNQUOTED([BUILD_DATE], ["$DATE"], [Use reproducible build date])
+ AC_SUBST(DATE)
+ 
+ # Since we should not permanently alter user environment variables, we'll
+-- 
+2.31.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch
new file mode 100644
index 0000000..0fcca2b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch
@@ -0,0 +1,63 @@
+From 7bef5b905abe36adfd4e4cc16bc830376f50e8f6 Mon Sep 17 00:00:00 2001
+From: Viktor Kleinik <vkleinik@cisco.com>
+Date: Sun, 7 Mar 2021 17:22:26 +0000
+Subject: [PATCH 04/10] Use BUILD_DATE to improve reproducibility
+
+The C preprocessor variable BUILD_DATE contains the actual
+build date or some reproducible value. It depends on whether
+SOURCE_DATE_EPOCH environment variable was set previously or not.
+In this way, reproducibility can be improved when needed.
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/864e02eab12cdc523b2dcd3f7b87a27abc16eefc/]
+Signed-off-by: Viktor Kleinik <vkleinik@cisco.com>
+---
+ libutil/op_version.c   | 2 +-
+ pe_counting/ocount.cpp | 4 ++--
+ pe_profiling/operf.cpp | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libutil/op_version.c b/libutil/op_version.c
+index 99a844e4..a257e9c4 100644
+--- a/libutil/op_version.c
++++ b/libutil/op_version.c
+@@ -19,6 +19,6 @@ void show_version(char const * app_name)
+ {
+ 	/* Do not change the version format: it is documented in html doc */
+ 	printf("%s: " PACKAGE " " VERSION " compiled on "
+-	       __DATE__ " " __TIME__ "\n", app_name);
++	       BUILD_DATE "\n", app_name);
+ 	exit(EXIT_SUCCESS);
+ }
+diff --git a/pe_counting/ocount.cpp b/pe_counting/ocount.cpp
+index 2470745d..ae89fe61 100644
+--- a/pe_counting/ocount.cpp
++++ b/pe_counting/ocount.cpp
+@@ -660,8 +660,8 @@ static int _process_ocount_and_app_args(int argc, char * const argv[])
+ 			__print_usage_and_exit(NULL);
+ 			break;
+ 		case 'v':
+-			cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " << __DATE__
+-			     << " " << __TIME__ << endl;
++			cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on "
++			     << BUILD_DATE << endl;
+ 			exit(EXIT_SUCCESS);
+ 			break;
+ 		default:
+diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp
+index 00834409..f0f9c209 100644
+--- a/pe_profiling/operf.cpp
++++ b/pe_profiling/operf.cpp
+@@ -1342,8 +1342,8 @@ static int _process_operf_and_app_args(int argc, char * const argv[])
+ 			__print_usage_and_exit(NULL);
+ 			break;
+ 		case 'v':
+-			cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " << __DATE__
+-			     << " " << __TIME__ << endl;
++			cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on "
++			     << BUILD_DATE << endl;
+ 			exit(EXIT_SUCCESS);
+ 			break;
+ 		default:
+-- 
+2.31.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch
rename to meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch
index ae8562a..0fd850f 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch
@@ -1,19 +1,20 @@
-From 34b0d9b1a32fb404a30327a7ae8931c7c75583bf Mon Sep 17 00:00:00 2001
+From 3539d2ab392d3a3eecffeddac989016063b23713 Mon Sep 17 00:00:00 2001
 From: Marek Vasut <marex@denx.de>
 Date: Tue, 9 Feb 2016 02:00:29 +0100
-Subject: [PATCH] Add rmb() definition for NIOS2 architecture
+Subject: [PATCH 05/10] Add rmb() definition for NIOS2 architecture
 
 Signed-off-by: Marek Vasut <marex@denx.de>
 Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  libperf_events/operf_utils.h | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h
-index 32954cc..8270e53 100644
+index 8afdbc22..8e17213e 100644
 --- a/libperf_events/operf_utils.h
 +++ b/libperf_events/operf_utils.h
-@@ -178,6 +178,11 @@ void op_release_resources(void);
+@@ -173,6 +173,11 @@ void op_release_resources(void);
  #define cpu_relax()	asm volatile("" ::: "memory")
  #endif
  
@@ -26,5 +27,5 @@
  #include <asm/unistd.h>
  #define rmb()		__insn_mf()
 -- 
-2.7.0
+2.31.0
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
rename to meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch
index 5fd23f8..a8371f0 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch
@@ -1,7 +1,7 @@
-From b7c1a2e2b0f4657fe291324ca409224f3321c9ff Mon Sep 17 00:00:00 2001
+From b126134f68f4a5bd826141be68337ac15a7c2c04 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 12 Feb 2019 11:58:34 -0800
-Subject: [PATCH] replace (sym_iterator)0 with sym_iterator()
+Subject: [PATCH 06/10] replace (sym_iterator)0 with sym_iterator()
 
 clang/libc++ find this error
 
@@ -20,7 +20,7 @@
  1 file changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/libpp/xml_utils.cpp b/libpp/xml_utils.cpp
-index 3de41e5..f45d3ae 100644
+index 3de41e58..f45d3ae2 100644
 --- a/libpp/xml_utils.cpp
 +++ b/libpp/xml_utils.cpp
 @@ -73,7 +73,7 @@ void dump_symbol(string const & prefix, sym_iterator it, bool want_nl = true)
@@ -127,5 +127,5 @@
  		string module = get_image_name((*it)->image_name,
  			image_name_storage::int_filename, extra_found_images);
 -- 
-2.20.1
+2.31.0
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch
new file mode 100644
index 0000000..5f9ff1b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch
@@ -0,0 +1,23 @@
+From fd35c343e67ca47f76d0769fce2881d5f7a027a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 00:48:34 -0700
+Subject: [PATCH 07/10] oprofile doesn't want GNU-levels of automake strictness
+ so tell it to be "foreign".
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,7 +13,7 @@ AC_PREREQ(2.13)
+ 
+ AC_INIT([OProfile], [1.4.0])
+ AC_CONFIG_SRCDIR([libop/op_config.h])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS(config.h)
+ 
+ AC_CHECK_DECLS([basename], [], [], [[#include <libgen.h>]])
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch
new file mode 100644
index 0000000..32e79a0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch
@@ -0,0 +1,30 @@
+From 33e945f31fee2d74a392eb79025c9477e12b590d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 00:49:48 -0700
+Subject: [PATCH 08/10] include linux/limits.h for MAX_INPUT
+
+Fixes
+op_pe_utils.cpp:533:19: error: 'MAX_INPUT' was not declared in this scope
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libpe_utils/op_pe_utils.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libpe_utils/op_pe_utils.cpp b/libpe_utils/op_pe_utils.cpp
+index 1ca4ce3a..c5d16a56 100644
+--- a/libpe_utils/op_pe_utils.cpp
++++ b/libpe_utils/op_pe_utils.cpp
+@@ -11,6 +11,7 @@
+  *
+  */
+ 
++#include <linux/limits.h>
+ #include <linux/perf_event.h>
+ #include <dirent.h>
+ #include <stdio.h>
+-- 
+2.31.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch
rename to meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch
index aefa954..e47882c 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch
@@ -1,4 +1,7 @@
-Prevent running check tests on host if cross compiling
+From 3a942cfd7d2e92667313e189930f7d1733cf40d4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 00:59:20 -0700
+Subject: [PATCH 09/10] Prevent running check tests on host if cross compiling
 
 This patch enables running the 'make check' tests on the target
 in a cross-compiled environment. If not cross-compiling, then 'make
@@ -18,12 +21,21 @@
 Upstream-Status: Pending
 
 Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac                | 1 +
+ libdb/tests/Makefile.am     | 2 ++
+ libop/tests/Makefile.am     | 2 ++
+ libregex/tests/Makefile.am  | 2 ++
+ libutil++/tests/Makefile.am | 4 ++++
+ libutil/tests/Makefile.am   | 2 ++
+ 6 files changed, 13 insertions(+)
 
 diff --git a/configure.ac b/configure.ac
-index 41ece64..ce5a16f 100644
+index 520b18ed..108a84e4 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -392,6 +392,7 @@ AC_ARG_ENABLE(account-check,
+@@ -386,6 +386,7 @@ AC_ARG_ENABLE(account-check,
  	enable_account_check=$enableval, enable_account_check=yes)
  
  AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes")
@@ -32,7 +44,7 @@
  AC_SUBST(OP_CFLAGS)
  AC_SUBST(OP_CXXFLAGS)
 diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am
-index 8a69003..d820090 100644
+index 8a69003f..c933baf6 100644
 --- a/libdb/tests/Makefile.am
 +++ b/libdb/tests/Makefile.am
 @@ -13,4 +13,6 @@ check_PROGRAMS = db_test
@@ -43,7 +55,7 @@
  TESTS = ${check_PROGRAMS}
 +endif
 diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am
-index 8a79eb5..6d417c4 100644
+index 8a79eb5d..6b90e997 100644
 --- a/libop/tests/Makefile.am
 +++ b/libop/tests/Makefile.am
 @@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS}
@@ -54,7 +66,7 @@
  TESTS = ${check_PROGRAMS} utf8_checker.sh
 +endif
 diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am
-index 6f19838..1d176f9 100644
+index 6f19838f..43e84946 100644
 --- a/libregex/tests/Makefile.am
 +++ b/libregex/tests/Makefile.am
 @@ -18,4 +18,6 @@ java_test_LDADD = \
@@ -65,7 +77,7 @@
  TESTS = ${check_PROGRAMS}
 +endif
 diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am
-index 51af031..a01ea2d 100644
+index 51af0313..dd63fbe2 100644
 --- a/libutil++/tests/Makefile.am
 +++ b/libutil++/tests/Makefile.am
 @@ -1,7 +1,9 @@
@@ -86,7 +98,7 @@
  TESTS = ${check_PROGRAMS}
 +endif
 diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am
-index dfcd6ec..e8831b5 100644
+index dfcd6eca..d8b51892 100644
 --- a/libutil/tests/Makefile.am
 +++ b/libutil/tests/Makefile.am
 @@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a
@@ -96,3 +108,6 @@
 +if ! CROSS_COMPILE
  TESTS = ${check_PROGRAMS}
 +endif
+-- 
+2.31.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch
similarity index 76%
rename from meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch
rename to meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch
index 3eaf6a7..03ee515 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch
@@ -1,4 +1,7 @@
-oprofile: Determine the root home directory dynamically
+From 60fb7579bac738809b1776dbcd95ccacf7413c57 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 01:02:49 -0700
+Subject: [PATCH 10/10] oprofile: Determine the root home directory dynamically
 
 This commit detects the root home directory dynamically with changes to
 the oprofile gui app source.
@@ -11,27 +14,13 @@
 Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+---
+ doc/oprofile.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: oprofile-1.0.0/doc/oprofile.html
-===================================================================
---- oprofile-1.0.0.orig/doc/oprofile.html	2014-11-03 17:55:31.511034857 +0000
-+++ oprofile-1.0.0/doc/oprofile.html	2014-11-03 17:57:26.415037988 +0000
-@@ -1563,8 +1563,8 @@
- 		<span class="emphasis"><em>must</em></span> stop it in a controlled manner in order to process
- 		the profile data it has collected.  Use <code class="code">kill -SIGINT &lt;operf-PID&gt;</code>
- 		for this purpose. It is recommended that when running <span class="command"><strong>operf</strong></span>
--		with this option, your current working directory should be <code class="filename">/root</code> or a subdirectory
--		of <code class="filename">/root</code> to avoid storing sample data files in locations accessible by regular users.
-+		with this option, your current working directory should be <code class="filename">~root</code> or a subdirectory
-+		of <code class="filename">~root</code> to avoid storing sample data files in locations accessible by regular users.
- 		</p>
-               </dd>
-               <dt>
-Index: oprofile-1.0.0/doc/oprofile.xml
-===================================================================
---- oprofile-1.0.0.orig/doc/oprofile.xml	2014-11-03 17:55:31.515034857 +0000
-+++ oprofile-1.0.0/doc/oprofile.xml	2014-11-03 17:58:03.719039005 +0000
-@@ -654,8 +654,8 @@
+--- a/doc/oprofile.xml
++++ b/doc/oprofile.xml
+@@ -647,8 +647,8 @@ Following is a description of the <comma
  		<emphasis>must</emphasis> stop it in a controlled manner in order to process
  		the profile data it has collected.  Use <code>kill -SIGINT &lt;operf-PID&gt;</code>
  		for this purpose. It is recommended that when running <command>operf</command>
@@ -42,3 +31,16 @@
  		</para></listitem>
  	</varlistentry>
  	<varlistentry>
+--- a/doc/oprofile.html
++++ b/doc/oprofile.html
+@@ -1552,8 +1552,8 @@ Following is a description of the <span
+ 		<span class="emphasis"><em>must</em></span> stop it in a controlled manner in order to process
+ 		the profile data it has collected.  Use <code class="code">kill -SIGINT &lt;operf-PID&gt;</code>
+ 		for this purpose. It is recommended that when running <span class="command"><strong>operf</strong></span>
+-		with this option, your current working directory should be <code class="filename">/root</code> or a subdirectory
+-		of <code class="filename">/root</code> to avoid storing sample data files in locations accessible by regular users.
++		with this option, your current working directory should be <code class="filename">~root</code> or a subdirectory
++		of <code class="filename">~root</code> to avoid storing sample data files in locations accessible by regular users.
+ 		</p>
+               </dd>
+               <dt>
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch
deleted file mode 100644
index b9bb6c5..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-oprofile doesn't want GNU-levels of automake strictness so tell it to be "foreign".
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/configure.ac b/configure.ac
-index 5740585..cf6c316 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -16 +16 @@ AC_CONFIG_SRCDIR([libop/op_config.h])
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch
deleted file mode 100644
index 51db408..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix glibc-isms so that oprofile builds with musl.
-
-Patch taken from openwrt (https://github.com/openwrt-mirror/openwrt/blob/master/package/devel/oprofile/patches/100-musl.patch)
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
---- a/pe_profiling/operf.cpp
-+++ b/pe_profiling/operf.cpp
-@@ -857,11 +857,14 @@ static int __delete_old_previous_sample_
-                                 int tflag  __attribute__((unused)),
-                                 struct FTW *ftwbuf __attribute__((unused)))
- {
-+	int err;
-+
- 	if (remove(fpath)) {
-+		err = errno;
- 		perror("sample data removal error");
--		return FTW_STOP;
-+		return err;
- 	} else {
--		return FTW_CONTINUE;
-+		return 0;
- 	}
- }
- 
-@@ -896,7 +899,7 @@ static void convert_sample_data(void)
- 		return;
- 
- 	if (!operf_options::append) {
--                int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
-+                int flags = FTW_DEPTH;
- 		errno = 0;
- 		if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
- 				errno != ENOENT) {
---- a/libop/op_events.c
-+++ b/libop/op_events.c
-@@ -83,7 +83,7 @@ static int parse_hex(char const * str)
- static u64 parse_long_hex(char const * str)
- {
- 	u64 value;
--	if (sscanf(str, "%Lx", &value) != 1)
-+	if (sscanf(str, "0x%llx", &value) != 1)
- 		parse_error("expected long hexadecimal value");
- 
- 	fflush(stderr);
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
deleted file mode 100644
index 8242a83..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require oprofile.inc
-
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
-
-DEPENDS_append_powerpc64 = " libpfm4"
-DEPENDS_append_powerpc64le = " libpfm4"
-
-SRC_URI[md5sum] = "bd998df5521ebedae31e71cd3fb6200b"
-SRC_URI[sha256sum] = "95ded8bde1ec39922f0af015981a67aec63e025a501e4dc04cd65d38f73647e6"
-
-S = "${WORKDIR}/oprofile-${PV}"
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
similarity index 67%
rename from meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
rename to meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
index 0e1e2ed..7a18446 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
@@ -11,28 +11,31 @@
 SECTION = "devel"
 
 DEPENDS = "popt binutils"
-RDEPENDS_${PN} = "binutils-symlinks"
+DEPENDS_append_powerpc64 = " libpfm4"
+DEPENDS_append_powerpc64le = " libpfm4"
 
-FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
-FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
            file://acinclude.m4 \
-           file://automake-foreign.patch \
-           file://oprofile-cross-compile-tests.patch \
            file://run-ptest \
-           file://root-home-dir.patch \
-           file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
-           file://0001-replace-sym_iterator-0-with-sym_iterator.patch \
-           file://0001-Use-new-bfd-APIs-from-2.34.patch \
+           file://0001-Fix-build-with-musl.patch \
+           file://0002-Fix-configure-when-bin-sh-is-not-bash.patch \
+           file://0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch \
+           file://0004-Use-BUILD_DATE-to-improve-reproducibility.patch \
+           file://0005-Add-rmb-definition-for-NIOS2-architecture.patch \
+           file://0006-replace-sym_iterator-0-with-sym_iterator.patch \
+           file://0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch \
+           file://0008-include-linux-limits.h-for-MAX_INPUT.patch \
+           file://0009-Prevent-running-check-tests-on-host-if-cross-compili.patch \
+           file://0010-oprofile-Determine-the-root-home-directory-dynamical.patch \
 "
+SRC_URI[sha256sum] = "7ba06f99d7c188389d20d1d5e53ee690c7733f87aa9af62bd664fa0ca235a412"
+
 UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
 
-SRC_URI_append_libc-musl = " file://musl.patch \
-"
-
 inherit autotools pkgconfig ptest
 
 EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC="
@@ -64,3 +67,9 @@
 	cp ${S}/libutil++/tests/file_manip_tests.cpp \
 		libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests
 }
+
+RDEPENDS_${PN} = "binutils-symlinks"
+
+FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
+FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
+FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb
index 1e7a674..8913385 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210129.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210322.bb
@@ -16,7 +16,7 @@
 # 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] = "85ab8d4337d414482586089b6f64fc39af64ff4be5b51976b54b0e10dceb333b"
+SRC_URI[sha256sum] = "b451c7ded8becbfa239e8f4fbe69784413270fb4c5e9b2e74269247dc3dd2e59"
 
 S = "${WORKDIR}/live"
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
index 973a978..171eef7 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
@@ -12,9 +12,6 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb"
 
-# While this item does not require it, it depends on ffmpeg which does
-LICENSE_FLAGS = "commercial"
-
 SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7"
 SRC_URI = " \
     git://github.com/mpv-player/mpv;name=mpv \
@@ -26,6 +23,8 @@
 
 inherit waf pkgconfig mime-xdg
 
+LDFLAGS_append_riscv64 = " -latomic"
+
 LUA ?= "lua"
 LUA_mips64  = ""
 LUA_aarch64  = ""
@@ -112,3 +111,4 @@
     ${datadir}/zsh \
     ${datadir}/bash-completion \
     "
+EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}"
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
index 28d0868..7feba4a 100644
--- a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
@@ -13,6 +13,14 @@
 
 inherit cmake
 
+do_configure_prepend() {
+    # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68
+    # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure
+    # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD)
+    # and we really don't need Gerrit's Change-Id tags when just building this
+    touch ${S}/.git/hooks/commit-msg
+}
+
 # We don't want path to eigen3 in ceres-solver RSS to be
 # used by components which use CeresConfig.cmake from their
 # own RSS
diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb
similarity index 66%
rename from meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
rename to meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb
index 7bd6478..f3e7b8b 100644
--- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.18.bb
@@ -9,18 +9,21 @@
 "
 
 SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
-SRC_URI[md5sum] = "5ad936c43d3c6d33117b2c64982f2fd9"
-SRC_URI[sha256sum] = "06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf"
+SRC_URI[sha256sum] = "5eabd25ba2b54e817699832826269241abaa1cf78f9b240d1435f936569273f4"
 
 DEPENDS = "glib-2.0 gnutls"
 
-PACKAGECONFIG ??= "gstreamer1.0"
-PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[gupnp] = "-Dgupnp=enabled,-Dgupnp=disabled,gupnp"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0"
+PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,"
 
-inherit autotools pkgconfig gtk-doc gobject-introspection
+EXTRA_OEMESON = "-Dgstreamer=disabled"
 
-EXTRA_OECONF += "--without-gstreamer-0.10"
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = "enabled"
+GTKDOC_MESON_DISABLE_FLAG = "disabled"
+
+inherit meson gtk-doc gobject-introspection
 
 FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
 FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch
new file mode 100644
index 0000000..d4a1ef8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/club-libtool.patch
@@ -0,0 +1,9 @@
+--- ./tests/Makefile.am.orig	2021-03-23 11:45:12.756371739 -0400
++++ ./tests/Makefile.am	2021-03-23 11:46:43.224132851 -0400
+@@ -1,5 +1,5 @@
+ AM_CPPFLAGS = -I $(top_srcdir)
+-noinst_PROGRAMS = bench
++bin_PROGRAMS = bench@PREC_SUFFIX@
+ EXTRA_DIST = check.pl README
+ 
+ if THREADS
diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch
new file mode 100644
index 0000000..ef570b1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/install-bench.patch
@@ -0,0 +1,41 @@
+--- ./tests/Makefile.am.orig	2021-03-23 11:45:12.756371739 -0400
++++ ./tests/Makefile.am	2021-03-23 19:29:19.692180793 -0400
+@@ -1,21 +1,21 @@
+ AM_CPPFLAGS = -I $(top_srcdir)
+-noinst_PROGRAMS = bench
++bin_PROGRAMS = bench@PREC_SUFFIX@
+ EXTRA_DIST = check.pl README
+ 
+ if THREADS
+-bench_CFLAGS = $(PTHREAD_CFLAGS)
++bench@PREC_SUFFIX@_CFLAGS = $(PTHREAD_CFLAGS)
+ if !COMBINED_THREADS
+ LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la
+ endif
+ else
+ if OPENMP
+-bench_CFLAGS = $(OPENMP_CFLAGS)
++bench@PREC_SUFFIX@_CFLAGS = $(OPENMP_CFLAGS)
+ LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la
+ endif
+ endif
+ 
+-bench_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h
+-bench_LDADD = $(LIBFFTWTHREADS)				\
++bench@PREC_SUFFIX@_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h
++bench@PREC_SUFFIX@_LDADD = $(LIBFFTWTHREADS)				\
+ $(top_builddir)/libfftw3@PREC_SUFFIX@.la		\
+ $(top_builddir)/libbench2/libbench2.a $(THREADLIBS)
+ 
+--- ./tools/Makefile.am.orig	2021-03-24 08:22:31.845581620 -0400
++++ ./tools/Makefile.am	2021-03-24 08:24:26.454053573 -0400
+@@ -24,7 +24,7 @@
+ endif
+ 
+ fftw@PREC_SUFFIX@_wisdom_SOURCES = fftw-wisdom.c
+-fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench-bench.o	\
+-$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS)	\
++fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench@PREC_SUFFIX@-bench.o	\
++$(top_builddir)/tests/bench@PREC_SUFFIX@-fftw-bench.o $(LIBFFTWTHREADS)	\
+ $(top_builddir)/libfftw3@PREC_SUFFIX@.la			\
+ $(top_builddir)/libbench2/libbench2.a $(THREADLIBS)
diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest
new file mode 100644
index 0000000..6d8dd96
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw/run-ptest
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+cd fftw
+/usr/bin/perl -w ./check.pl  -r -c=30 -v `pwd`/bench
+fftw_result=$?
+cd ../fftwf
+/usr/bin/perl -w ./check.pl  -r -c=30 -v `pwd`/benchf
+fftwf_result=$?
+cd ../fftwl
+/usr/bin/perl -w ./check.pl  -r -c=30 -v `pwd`/benchl
+fftwl_result=$?
+
+echo -n "fftw  test result:"
+if [ $fftw_result  = "0" ]; then
+	echo PASSED
+else
+	echo FAILED
+fi
+echo -n "fftwf test result:"
+if [ $fftwf_result = "0" ]; then
+	echo PASSED
+else
+	echo FAILED
+fi
+echo -n "fftwl test result:"
+if [ $fftwl_result = "0" ]; then
+	echo PASSED
+else
+	echo FAILED
+fi
diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb
index d9e0ea3..de175d6 100644
--- a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.8.bb
@@ -6,11 +6,13 @@
 SRC_URI = " \
     http://www.fftw.org/fftw-${PV}.tar.gz \
     file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
+    file://install-bench.patch \
+    file://run-ptest \
 "
 SRC_URI[md5sum] = "8aac833c943d8e90d51b697b27d4384d"
 SRC_URI[sha256sum] = "6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig ptest
 
 # we had multiple recipes in the past
 PROVIDES = "fftwl fftwf"
@@ -65,6 +67,22 @@
     done
 }
 
+do_install_ptest() {
+    for lib in fftw fftwl fftwf; do
+        install -d ${D}${PTEST_PATH}/$lib
+        install -m 0755 ${S}/tests/check.pl ${D}${PTEST_PATH}/$lib
+        cd ${WORKDIR}/build-$lib
+        if [ $lib = "fftw" ]; then
+            mv ${D}${bindir}/bench ${D}${PTEST_PATH}/$lib
+        fi
+        if [ $lib = "fftwl" ]; then
+            mv ${D}${bindir}/benchl ${D}${PTEST_PATH}/$lib
+        fi
+        if [ $lib = "fftwf" ]; then
+            mv ${D}${bindir}/benchf ${D}${PTEST_PATH}/$lib
+        fi
+    done
+}
 
 PACKAGES =+ "libfftw libfftwl libfftwf"
 FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
@@ -79,5 +97,7 @@
 
 FILES_${PN}-dev += "${libdir}/cmake"
 RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf"
+RDEPENDS_${PN}-ptest += "perl"
+RDEPENDS_${PN}-ptest_remove = "fftw"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb
rename to meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
index 60abe73..3789641 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
@@ -16,7 +16,7 @@
 SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
           "
 
-SRCREV = "75ef79c9b013fb5eafd92710b3867827682fd52d"
+SRCREV = "2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
index 577007a..4c0861c 100644
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
@@ -109,10 +109,11 @@
  install (EXPORT glog-targets NAMESPACE glog:: DESTINATION
 --- a/glog-config.cmake.in
 +++ b/glog-config.cmake.in
-@@ -8,4 +8,6 @@ include (CMakeFindDependencyMacro)
+@@ -8,4 +8,7 @@ include (CMakeFindDependencyMacro)
  
  @gflags_DEPENDENCY@
  
++list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
 +find_dependency (Libunwind)
 +
  include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake")
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch b/meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch
new file mode 100644
index 0000000..ae46d32
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog/libexecinfo.patch
@@ -0,0 +1,29 @@
+Link libexecinfo if its found, this is needed for musl based systems
+
+Fixes
+ld: libglog.so.0.4.0: undefined reference to `backtrace'
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -115,6 +115,7 @@ check_cxx_compiler_flag (-Wunnamed-type-
+ check_symbol_exists (snprintf stdio.h HAVE_SNPRINTF)
+ 
+ check_library_exists (dbghelp UnDecorateSymbolName "" HAVE_DBGHELP)
++check_library_exists (execinfo backtrace "" HAVE_EXECINFO)
+ 
+ find_package(Libunwind)
+ 
+@@ -471,6 +472,10 @@ if (Libunwind_FOUND)
+   target_link_libraries (glog PUBLIC unwind)
+ endif (Libunwind_FOUND)
+ 
++if (HAVE_EXECINFO)
++  target_link_libraries (glog PUBLIC execinfo)
++endif (HAVE_EXECINFO)
++
+ if (HAVE_DBGHELP)
+    target_link_libraries (glog PUBLIC dbghelp)
+ endif (HAVE_DBGHELP)
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb
index 8dc84e4..6b101ef 100644
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.4.0.bb
@@ -9,6 +9,7 @@
 SRC_URI = " \
     git://github.com/google/glog.git;nobranch=1 \
     file://0001-Find-Libunwind-during-configure.patch \
+    file://libexecinfo.patch \
 "
 
 SRCREV = "96a2f23dca4cc7180821ca5f32e526314395d26a"
@@ -20,8 +21,11 @@
 PACKAGECONFIG ?= "shared unwind"
 PACKAGECONFIG_remove_riscv64 = "unwind"
 PACKAGECONFIG_remove_riscv32 = "unwind"
+PACKAGECONFIG_append_libc-musl_riscv64 = " execinfo"
+PACKAGECONFIG_append_libc-musl_riscv32 = " execinfo"
 
 PACKAGECONFIG[unwind] = "-DWITH_UNWIND=ON,-DWITH_UNWIND=OFF,libunwind,libunwind"
+PACKAGECONFIG[execinfo] = ",,libexecinfo"
 PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
 
 do_configure_append() {
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
index ab3ceb9..e3e857f 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
@@ -11,11 +11,9 @@
  configure.ac | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/configure.ac b/configure.ac
-index 70b49a3..8154c5c 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -51,6 +51,8 @@ case "$host" in
+@@ -53,6 +53,8 @@ case "$host" in
     *-cygwin*) default_enable_heap_checker=no; default_enable_cpu_profiler=no;;
     *-freebsd*) default_enable_heap_checker=no;;
     *-darwin*) default_enable_heap_checker=no;;
@@ -23,4 +21,4 @@
 +            default_enable_debugalloc=no; default_enable_libunwind=no;
  esac
  
- # Currently only backtrace works on s390.
+ # Currently only backtrace works on s390 and OSX.
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
index cb4ead3..baaaa4b 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
@@ -10,13 +10,11 @@
  src/malloc_hook_mmap_linux.h | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
 
-diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h
-index e2efb05..66b3110 100644
 --- a/src/malloc_hook_mmap_linux.h
 +++ b/src/malloc_hook_mmap_linux.h
-@@ -46,6 +46,10 @@
- #include <errno.h>
- #include "base/linux_syscall_support.h"
+@@ -45,6 +45,10 @@
+ #include <sys/syscall.h>
+ #include <unistd.h>
  
 +#ifndef __GLIBC__
 +typedef off64_t   __off64_t;
@@ -25,7 +23,7 @@
  // The x86-32 case and the x86-64 case differ:
  // 32b has a mmap2() syscall, 64b does not.
  // 64b and 32b have different calling conventions for mmap().
-@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
+@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, siz
    return result;
  }
  
@@ -34,6 +32,3 @@
  
  extern "C" void* mmap(void *start, size_t length, int prot, int flags,
                        int fd, off_t offset) __THROW {
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch
deleted file mode 100644
index 4029a69..0000000
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0a504852ed6e56620d1df26b503c4aa2b5b74760 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 31 Oct 2020 16:12:36 -0700
-Subject: [PATCH] profile-handler: Specify libc specific thread_id
-
-We need to know internal _sigev_un is glibc specific, add an else for
-musl case
-
-Fixes build issue
-../git/src/profile-handler.cc:275:8: error: no member named '_sigev_un' in 'sigevent'
-  sevp._sigev_un._tid = sys_gettid();
-  ~~~~ ^
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/profile-handler.cc | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/profile-handler.cc b/src/profile-handler.cc
-index 7fdcb69..5867118 100644
---- a/src/profile-handler.cc
-+++ b/src/profile-handler.cc
-@@ -272,7 +272,11 @@ static void StartLinuxThreadTimer(int timer_type, int signal_number,
-   struct itimerspec its;
-   memset(&sevp, 0, sizeof(sevp));
-   sevp.sigev_notify = SIGEV_THREAD_ID;
-+#ifdef __GLIBC__
-   sevp._sigev_un._tid = sys_gettid();
-+#else
-+  sevp.sigev_notify_thread_id = sys_gettid();
-+#endif
-   sevp.sigev_signo = signal_number;
-   clockid_t clock = CLOCK_THREAD_CPUTIME_ID;
-   if (timer_type == ITIMER_REAL) {
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
index c3c5784..15eacc8 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
@@ -12,11 +12,9 @@
  configure.ac | 5 +++++
  1 file changed, 5 insertions(+)
 
-diff --git a/configure.ac b/configure.ac
-index 8154c5c..063b260 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __PPC64__])],
+@@ -76,6 +76,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [re
                    [default_enable_libunwind=yes
                     default_tcmalloc_pagesize=8])
  
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
new file mode 100644
index 0000000..4cf182a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
@@ -0,0 +1,66 @@
+Compatibility fixes for musl.
+
+--- a/m4/pc_from_ucontext.m4
++++ b/m4/pc_from_ucontext.m4
+@@ -34,6 +34,7 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
+    pc_fields="$pc_fields uc_mcontext.arm_pc"           # Linux (arm arch 5)
+    pc_fields="$pc_fields uc_mcontext.cr0_hi"           # Linux (e2k)
+    pc_fields="$pc_fields uc_mcontext.gp_regs[[PT_NIP]]"  # Suse SLES 11 (ppc64)
++   pc_fields="$pc_fields uc_mcontext.gregs[[PT_NIP]]"
+    pc_fields="$pc_fields uc_mcontext.mc_eip"           # FreeBSD (i386)
+    pc_fields="$pc_fields uc_mcontext.mc_srr0"          # FreeBSD (powerpc, powerpc64)
+    pc_fields="$pc_fields uc_mcontext.mc_rip"           # FreeBSD (x86_64 [untested])
+@@ -77,7 +78,8 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
+                         pc_field_found=true)
+        elif test "x$ac_cv_header_ucontext_h" = xyes; then
+          AC_TRY_COMPILE([#define _GNU_SOURCE 1
+-                         #include <ucontext.h>],
++                         #include <ucontext.h>
++                         #include <asm/ptrace.h>],
+                         [ucontext_t u; return u.$pc_field == 0;],
+                         AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
+                                            How to access the PC from a struct ucontext)
+--- a/src/getpc.h
++++ b/src/getpc.h
+@@ -68,6 +68,9 @@
+ typedef ucontext ucontext_t;
+ #endif
+ 
++#if defined(__powerpc__) && !defined(PT_NIP)
++#define PT_NIP 32
++#endif
+ 
+ // Take the example where function Foo() calls function Bar().  For
+ // many architectures, Bar() is responsible for setting up and tearing
+--- a/src/stacktrace_powerpc-linux-inl.h
++++ b/src/stacktrace_powerpc-linux-inl.h
+@@ -186,7 +186,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
+           ucontext_t uc;
+         // We don't care about the rest, since the IP value is at 'uc' field.
+         } *sigframe = reinterpret_cast<signal_frame_64*>(current);
+-        result[n] = (void*) sigframe->uc.uc_mcontext.gp_regs[PT_NIP];
++        result[n] = (void*) sigframe->uc.uc_mcontext.gp_regs[32];
+       }
+ #else
+       if (sigtramp32_vdso && (sigtramp32_vdso == current->return_addr)) {
+@@ -196,7 +196,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
+           mcontext_t mctx;
+           // We don't care about the rest, since IP value is at 'mctx' field.
+         } *sigframe = reinterpret_cast<signal_frame_32*>(current);
+-        result[n] = (void*) sigframe->mctx.gregs[PT_NIP];
++        result[n] = (void*) sigframe->mctx.gregs[32];
+       } else if (sigtramp32_rt_vdso && (sigtramp32_rt_vdso == current->return_addr)) {
+         struct rt_signal_frame_32 {
+           char dummy[64 + 16];
+@@ -204,7 +204,11 @@ static int GET_STACK_TRACE_OR_FRAMES {
+           ucontext_t uc;
+           // We don't care about the rest, since IP value is at 'uc' field.A
+         } *sigframe = reinterpret_cast<rt_signal_frame_32*>(current);
++#if defined(__GLIBC__)
+         result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP];
++#else
++        result[n] = (void*) sigframe->uc.uc_mcontext.gregs[32];
++#endif
+       }
+ #endif
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
index 10274a6..b01cba3 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
@@ -10,8 +10,6 @@
  src/base/linux_syscall_support.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h
-index 70431ca..b23ca59 100644
 --- a/src/base/linux_syscall_support.h
 +++ b/src/base/linux_syscall_support.h
 @@ -164,7 +164,7 @@ extern "C" {
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb
rename to meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb
index 2a38608..bf8cb90 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb
@@ -1,18 +1,26 @@
 SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
 HOMEPAGE = "https://github.com/gperftools/gperftools"
+DESCRIPTION = "The gperftools, previously called google-perftools, package contains some \
+utilities to improve and analyze the performance of C++ programs. \
+Included are an optimized thread-caching malloc() and cpu and heap profiling utilities. \
+"
+
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
 
-SRCREV = "d8eb315fb18f6fb0d6efa923401f166343727bc6"
+DEPENDS_append_libc-musl = " libucontext"
+
+SRCREV = "f7c6fb6c8e99d6b1b725e5994373bcd19ffdf8fd"
 SRC_URI = "git://github.com/gperftools/gperftools \
            file://0001-Support-Atomic-ops-on-clang.patch \
            file://0001-fix-build-with-musl-libc.patch \
            file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
            file://disable_libunwind_aarch64.patch \
            file://sgidef.patch \
-           file://0001-profile-handler-Specify-libc-specific-thread_id.patch \
            "
 
+SRC_URI_append_libc-musl = " file://ppc-musl.patch"
+
 inherit autotools
 
 S = "${WORKDIR}/git"
@@ -31,6 +39,7 @@
 ARM_INSTRUCTION_SET_armv5 = "arm"
 ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm"
 
+EXTRA_OECONF_append_libc-musl_powerpc64le = " --disable-cpu-profiler --disable-heap-profiler --disable-heap-checker"
 PACKAGECONFIG ?= "libunwind static"
 PACKAGECONFIG_remove_arm_libc-musl = "libunwind"
 PACKAGECONFIG_remove_riscv64 = "libunwind"
@@ -44,7 +53,14 @@
 
 # pprof tool requires Getopt::long and POSIX perl5 modules.
 # Also runs `objdump` on each cpuprofile data file
-RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix"
+RDEPENDS_${PN} += " \
+    binutils \
+    curl \
+    perl-module-carp \
+    perl-module-cwd \
+    perl-module-getopt-long \
+    perl-module-overloading \
+    perl-module-posix \
+"
 
 RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})"
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch
new file mode 100644
index 0000000..ea3ddfb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch
@@ -0,0 +1,27 @@
+From 68f66d1583be670eb8d5f3f38dbd5dd1d63b733c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 21:41:04 -0700
+Subject: [PATCH] example: Do not run the tests
+
+Upstream-Status: Inappropritate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/Makefile | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index d9667a5..554b346 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -33,11 +33,8 @@ depend: $(SOURCES)
+ 	makedepend -f- $(CFLAGS) $(SOURCES) 2> /dev/null 1> depend
+ 
+ test-c-example1: c-example1
+-	./c-example1
+ 
+ test-c-example2: c-example2
+-	./c-example2 loremgibson.txt encoded.txt decoded.txt
+-	diff -q loremgibson.txt decoded.txt
+ 
+ test: test-c-example1 test-c-example2
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch
new file mode 100644
index 0000000..10ec8e1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch
@@ -0,0 +1,57 @@
+From ee03e265804a07a0da5028b86960031bd7ab86b2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 22:01:13 -0700
+Subject: [PATCH] use BUFSIZ as buffer size
+
+Author: Jakub Wilk <jwilk@debian.org>
+Bug: http://sourceforge.net/tracker/?func=detail&atid=785907&aid=3591336&group_id=152942
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/b64/decode.h | 3 ++-
+ include/b64/encode.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/b64/decode.h b/include/b64/decode.h
+index 12b16ea..e9019f3 100644
+--- a/include/b64/decode.h
++++ b/include/b64/decode.h
+@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64
+ #ifndef BASE64_DECODE_H
+ #define BASE64_DECODE_H
+ 
++#include <cstdio>
+ #include <iostream>
+ 
+ namespace base64
+@@ -22,7 +23,7 @@ namespace base64
+ 		base64_decodestate _state;
+ 		int _buffersize;
+ 
+-		decoder(int buffersize_in = BUFFERSIZE)
++		decoder(int buffersize_in = BUFSIZ)
+ 		: _buffersize(buffersize_in)
+ 		{}
+ 
+diff --git a/include/b64/encode.h b/include/b64/encode.h
+index 5d807d9..e7a7035 100644
+--- a/include/b64/encode.h
++++ b/include/b64/encode.h
+@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64
+ #ifndef BASE64_ENCODE_H
+ #define BASE64_ENCODE_H
+ 
++#include <cstdio>
+ #include <iostream>
+ 
+ namespace base64
+@@ -22,7 +23,7 @@ namespace base64
+ 		base64_encodestate _state;
+ 		int _buffersize;
+ 
+-		encoder(int buffersize_in = BUFFERSIZE)
++		encoder(int buffersize_in = BUFSIZ)
+ 		: _buffersize(buffersize_in)
+ 		{}
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch
new file mode 100644
index 0000000..8854bb6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0003-fix-integer-overflows.patch
@@ -0,0 +1,77 @@
+From 7b30fbc3d47dfaf38d8ce8b8949a69d2984dac76 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 22:06:03 -0700
+Subject: [PATCH] fix integer overflows
+
+Author: Jakub Wilk <jwilk@debian.org>
+Bug: http://sourceforge.net/tracker/?func=detail&aid=3591129&group_id=152942&atid=785907
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cdecode.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/src/cdecode.c b/src/cdecode.c
+index a6c0a42..4e47e9f 100644
+--- a/src/cdecode.c
++++ b/src/cdecode.c
+@@ -9,10 +9,11 @@ For details, see http://sourceforge.net/projects/libb64
+ 
+ int base64_decode_value(char value_in)
+ {
+-	static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
++	static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
+ 	static const char decoding_size = sizeof(decoding);
++	if (value_in < 43) return -1;
+ 	value_in -= 43;
+-	if (value_in < 0 || value_in >= decoding_size) return -1;
++	if (value_in > decoding_size) return -1;
+ 	return decoding[(int)value_in];
+ }
+ 
+@@ -26,7 +27,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
+ {
+ 	const char* codechar = code_in;
+ 	char* plainchar = plaintext_out;
+-	char fragment;
++	int fragment;
+ 	
+ 	*plainchar = state_in->plainchar;
+ 	
+@@ -42,7 +43,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
+ 					state_in->plainchar = *plainchar;
+ 					return plainchar - plaintext_out;
+ 				}
+-				fragment = (char)base64_decode_value(*codechar++);
++				fragment = base64_decode_value(*codechar++);
+ 			} while (fragment < 0);
+ 			*plainchar    = (fragment & 0x03f) << 2;
+ 	case step_b:
+@@ -53,7 +54,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
+ 					state_in->plainchar = *plainchar;
+ 					return plainchar - plaintext_out;
+ 				}
+-				fragment = (char)base64_decode_value(*codechar++);
++				fragment = base64_decode_value(*codechar++);
+ 			} while (fragment < 0);
+ 			*plainchar++ |= (fragment & 0x030) >> 4;
+ 			*plainchar    = (fragment & 0x00f) << 4;
+@@ -65,7 +66,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
+ 					state_in->plainchar = *plainchar;
+ 					return plainchar - plaintext_out;
+ 				}
+-				fragment = (char)base64_decode_value(*codechar++);
++				fragment = base64_decode_value(*codechar++);
+ 			} while (fragment < 0);
+ 			*plainchar++ |= (fragment & 0x03c) >> 2;
+ 			*plainchar    = (fragment & 0x003) << 6;
+@@ -77,7 +78,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex
+ 					state_in->plainchar = *plainchar;
+ 					return plainchar - plaintext_out;
+ 				}
+-				fragment = (char)base64_decode_value(*codechar++);
++				fragment = base64_decode_value(*codechar++);
+ 			} while (fragment < 0);
+ 			*plainchar++   |= (fragment & 0x03f);
+ 		}
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch
new file mode 100644
index 0000000..e19dbad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0004-Fix-off-by-one-error.patch
@@ -0,0 +1,26 @@
+From 8144fd9e02bd5ccd1e080297b19a1e9eb4d3ff96 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 22:07:15 -0700
+Subject: [PATCH] Fix off by one error
+
+Launchpad bug #1501176 reported by William McCall on 2015-09-30
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cdecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cdecode.c b/src/cdecode.c
+index 4e47e9f..45da4e1 100644
+--- a/src/cdecode.c
++++ b/src/cdecode.c
+@@ -13,7 +13,7 @@ int base64_decode_value(char value_in)
+ 	static const char decoding_size = sizeof(decoding);
+ 	if (value_in < 43) return -1;
+ 	value_in -= 43;
+-	if (value_in > decoding_size) return -1;
++	if (value_in >= decoding_size) return -1;
+ 	return decoding[(int)value_in];
+ }
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch
new file mode 100644
index 0000000..e93015e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0005-make-overriding-CFLAGS-possible.patch
@@ -0,0 +1,40 @@
+From a7914d5ffee6ffdfb3f2b8ebcc22c8367d078301 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 22:08:43 -0700
+Subject: [PATCH] make overriding CFLAGS possible
+
+Author: Jakub Wilk <jwilk@debian.org>
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ base64/Makefile | 2 +-
+ src/Makefile    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/base64/Makefile b/base64/Makefile
+index 30a2c5c..783a248 100644
+--- a/base64/Makefile
++++ b/base64/Makefile
+@@ -3,7 +3,7 @@ BINARIES = base64
+ # Build flags (uncomment one)
+ #############################
+ # Release build flags
+-CFLAGS += -O3
++CFLAGS ?= -O3
+ #############################
+ # Debug build flags
+ #CFLAGS += -g
+diff --git a/src/Makefile b/src/Makefile
+index 28b2382..48801fc 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -3,7 +3,7 @@ LIBRARIES = libb64.a
+ # Build flags (uncomment one)
+ #############################
+ # Release build flags
+-CFLAGS += -O3
++CFLAGS ?= -O3
+ #############################
+ # Debug build flags
+ #CFLAGS += -g
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch
new file mode 100644
index 0000000..9ba08c8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0006-do-not-export-the-CHARS_PER_LINE-variable.patch
@@ -0,0 +1,27 @@
+From a1b9bb4af819ed389675f16e4a521efeda4cc3f3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 22:10:48 -0700
+Subject: [PATCH] do not export the CHARS_PER_LINE variable
+
+The library exports a variable named "CHARS_PER_LINE". This is a generic name that could conflict with a name in user's code.
+Please either rename the variable or make it static.
+
+Upstream-Status: Submitted [http://sourceforge.net/tracker/?func=detail&aid=3591420&group_id=152942&atid=785907]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cencode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cencode.c b/src/cencode.c
+index 03ba5b6..3df62a8 100644
+--- a/src/cencode.c
++++ b/src/cencode.c
+@@ -7,7 +7,7 @@ For details, see http://sourceforge.net/projects/libb64
+ 
+ #include <b64/cencode.h>
+ 
+-const int CHARS_PER_LINE = 72;
++static const int CHARS_PER_LINE = 72;
+ 
+ void base64_init_encodestate(base64_encodestate* state_in)
+ {
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch
new file mode 100644
index 0000000..fdf8339
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64/0007-initialize-encoder-decoder-state-in-the-constructors.patch
@@ -0,0 +1,44 @@
+From c1ba44d83cc7d9d756cfb063717852eae9d03328 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 22:12:41 -0700
+Subject: [PATCH] initialize encoder/decoder state in the constructors
+
+Author: Jakub Wilk <jwilk@debian.org>
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/b64/decode.h | 4 +++-
+ include/b64/encode.h | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/include/b64/decode.h b/include/b64/decode.h
+index e9019f3..aefb7bc 100644
+--- a/include/b64/decode.h
++++ b/include/b64/decode.h
+@@ -25,7 +25,9 @@ namespace base64
+ 
+ 		decoder(int buffersize_in = BUFSIZ)
+ 		: _buffersize(buffersize_in)
+-		{}
++		{
++			base64_init_decodestate(&_state);
++		}
+ 
+ 		int decode(char value_in)
+ 		{
+diff --git a/include/b64/encode.h b/include/b64/encode.h
+index e7a7035..33848b3 100644
+--- a/include/b64/encode.h
++++ b/include/b64/encode.h
+@@ -25,7 +25,9 @@ namespace base64
+ 
+ 		encoder(int buffersize_in = BUFSIZ)
+ 		: _buffersize(buffersize_in)
+-		{}
++		{
++			base64_init_encodestate(&_state);
++		}
+ 
+ 		int encode(char value_in)
+ 		{
diff --git a/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb
new file mode 100644
index 0000000..64a34fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libb64/libb64_1.2.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Base64 Encoding/Decoding Routines"
+DESCRIPTION = "base64 encoding/decoding library - runtime library \
+libb64 is a library of ANSI C routines for fast encoding/decoding data into \
+and from a base64-encoded format"
+HOMEPAGE = "http://libb64.sourceforge.net/"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ce551aad762074c7ab618a0e07a8dca3"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${BP}.zip \
+           file://0001-example-Do-not-run-the-tests.patch \
+           file://0002-use-BUFSIZ-as-buffer-size.patch \
+           file://0003-fix-integer-overflows.patch \
+           file://0004-Fix-off-by-one-error.patch \
+           file://0005-make-overriding-CFLAGS-possible.patch \
+           file://0006-do-not-export-the-CHARS_PER_LINE-variable.patch \
+           file://0007-initialize-encoder-decoder-state-in-the-constructors.patch \
+           "
+SRC_URI[sha256sum] = "20106f0ba95cfd9c35a13c71206643e3fb3e46512df3e2efb2fdbf87116314b2"
+
+PARALLEL_MAKE = ""
+
+CFLAGS += "-fPIC"
+
+do_configure () {
+    :
+}
+
+do_compile () {
+    oe_runmake
+    ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,${BPN}.so.0 src/*.o -o src/${BPN}.so.0
+}
+
+do_install () {
+    install -d ${D}${includedir}/b64
+    install -Dm 0644 ${B}/src/libb64.a ${D}${libdir}/libb64.a
+    install -Dm 0644 ${B}/src/libb64.so.0 ${D}${libdir}/libb64.so.0
+    ln -s libb64.so.0 ${D}${libdir}/libb64.so
+    install -Dm 0644 ${S}/include/b64/*.h ${D}${includedir}/b64/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
rename to meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
index c6c262b..d9c2517 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
@@ -8,8 +8,8 @@
            file://run-ptest \
 "
 
-SRC_URI[md5sum] = "4765470becb619fead3cdaeac61b9a77"
-SRC_URI[sha256sum] = "c601e71846f5ab140c83bc757fdd62a4fda24a9cee39cc5e99c96ec2bf1b06a9"
+SRC_URI[md5sum] = "28e79f6f70fee1da9079558d8b7b3736"
+SRC_URI[sha256sum] = "841be9d788f00bab08ef22c4be5c39866f0e46cb100a3ae49ed816ac9c5dddc7"
 
 inherit autotools pkgconfig python3native ptest
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index b308bde..00c016d 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -12,13 +12,15 @@
 
 S = "${WORKDIR}/git"
 
-inherit cmake python3native systemd
+DISTUTILS_SETUP_PATH ?= "${B}/bindings/python/"
 
 DEPENDS = " \
     flex-native bison-native libaio \
     ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
 "
 
+inherit cmake python3native systemd setuptools3
+
 EXTRA_OECMAKE = " \
     -DCMAKE_BUILD_TYPE=RelWithDebInfo \
     -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \
@@ -31,8 +33,6 @@
 PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
 PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF"
 
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'distutils3-base', '', d)}
-
 PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}"
 
 RDEPENDS_${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
@@ -46,3 +46,23 @@
 
 SYSTEMD_PACKAGES = "${PN}-iiod"
 SYSTEMD_SERVICE_${PN}-iiod = "iiod.service"
+
+# Explicitly define do_configure, do_compile and do_install because both cmake and setuptools3 have
+# EXPORT_FUNCTIONS do_configure do_compile do_install
+do_configure() {
+    cmake_do_configure
+}
+
+do_compile() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
+        distutils3_do_compile
+    fi
+    cmake_do_compile
+}
+
+do_install() {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
+        distutils3_do_install
+    fi
+    cmake_do_install
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb b/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
index 39ed8a8..2aff2c8 100644
--- a/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0"
 
-DEPENDS = "zlib openssl libgcrypt"
+DEPENDS = "zlib openssl"
 
 SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=stable-0.8"
 SRCREV = "04685a74df9ce1db1bc116a83a0da78b4f4fa1f8"
@@ -13,13 +13,13 @@
 
 inherit cmake
 
-PACKAGECONFIG ??=""
+PACKAGECONFIG ??= "gcrypt"
 PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=1, -DWITH_GCRYPT=0, libgcrypt, "
 
 ARM_INSTRUCTION_SET_armv5 = "arm"
 
 EXTRA_OECMAKE = " \
-    -DWITH_GCRYPT=1 \
     -DWITH_PCAP=1 \
     -DWITH_SFTP=1 \
     -DWITH_ZLIB=1 \
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb
deleted file mode 100644
index 645fe3b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.20.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
-# The following is the difference between the old and the new license text.
-# Please update the LICENSE value if needed, and summarize the changes in
-# the commit message via 'License-Update:' tag.
-# (example: 'License-Update: copyright years updated.')
-#
-# The changes:
-#
-# --- COPYING
-# +++ COPYING
-# @@ -293,7 +293,7 @@
-#      <one line to give the program's name and a brief idea of what it does.>
-#      Copyright (C) <year>  <name of author>
-#  
-# -    on, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USAThis program is free software; you can redistribute it and/or modify
-# +    This program is free software; you can redistribute it and/or modify
-#      it under the terms of the GNU General Public License as published by
-#      the Free Software Foundation; either version 2 of the License, or
-#      (at your option) any later version.
-# 
-#
-
-require links.inc
-
-DEPENDS += "virtual/libx11"
-RCONFLICTS_${PN} = "links"
-
-inherit features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " file://links2.desktop \
-             http://www.xora.org.uk/oe/links2.png;name=icon"
-
-S = "${WORKDIR}/links-${PV}"
-
-EXTRA_OECONF = "--enable-graphics \
-                --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
-                --without-libtiff --without-svgalib --without-fb \
-                --without-directfb --without-pmshell --without-atheos \
-                --with-x --without-gpm"
-
-do_install_append() {
-    install -d ${D}/${datadir}/applications
-    install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications
-    install -d ${D}/${datadir}/pixmaps
-    install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps
-}
-
-SRC_URI[md5sum] = "ee39e612249440d0497535d0dafc3c0e"
-SRC_URI[sha256sum] = "4b4f07d0e6261118d1365a5a5bfa31e1eafdbd280cfae6f0e9eedfea51a2f424"
-SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
-SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb
new file mode 100644
index 0000000..563984c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb
@@ -0,0 +1,29 @@
+require links.inc
+
+DEPENDS += "virtual/libx11"
+RCONFLICTS_${PN} = "links"
+
+inherit features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " file://links2.desktop \
+             http://www.xora.org.uk/oe/links2.png;name=icon"
+
+SRC_URI[sha256sum] = "0364986b3a7f1e8e3171bea362b53f71e1dd3360a8842d66fdc65580ebc2084d"
+SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
+
+S = "${WORKDIR}/links-${PV}"
+
+EXTRA_OECONF = "--enable-graphics \
+                --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
+                --without-libtiff --without-svgalib --without-fb \
+                --without-directfb --without-pmshell --without-atheos \
+                --with-x --without-gpm"
+
+do_install_append() {
+    install -d ${D}/${datadir}/applications
+    install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications
+    install -d ${D}/${datadir}/pixmaps
+    install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb
similarity index 68%
rename from meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb
rename to meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb
index b6048c1..2bfc9ae 100644
--- a/meta-openembedded/meta-oe/recipes-support/links/links_2.21.bb
+++ b/meta-openembedded/meta-oe/recipes-support/links/links_2.22.bb
@@ -8,8 +8,5 @@
                 --without-libtiff --without-svgalib --with-fb \
                 --without-directfb --without-pmshell --without-atheos \
                 --without-x"
-
-SRC_URI[md5sum] = "b88a46733d6932442ed8a6b751aac6b4"
-SRC_URI[sha256sum] = "285eed8591c7781ec26213df82786665aaa1b9286782e8a7a1a7e2a6e1630d63"
-SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
+SRC_URI[sha256sum] = "0364986b3a7f1e8e3171bea362b53f71e1dd3360a8842d66fdc65580ebc2084d"
 SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
index 0fb4a6e..4891fd1 100644
--- a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
@@ -55,6 +55,8 @@
     install -m 755 ${S}/conf/lio_start.default ${D}/etc/target/lio_start.sh
 }
 
+PNBLACKLIST[lio-utils] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+
 RDEPENDS_${PN} += "python-stringold python-subprocess python-shell \
     python-datetime python-textutils python-crypt python-netclient python-email \
     bash"
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb
rename to meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb
index b73f937..9275dd2 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg_20200723.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg_20210314.bb
@@ -5,7 +5,7 @@
 DEPENDS = "ncurses libbsd"
 SECTION = "console/editors"
 
-SRCREV = "60fa3582f5f735b9d43825f5bdcc4ea5f0740f91"
+SRCREV = "598f7a028f01f85f0dee0e798753bccf93233add"
 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 \
diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch b/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch
new file mode 100644
index 0000000..92a05c0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/neon/neon/fix-package-check-for-libxml2.patch
@@ -0,0 +1,50 @@
+neon: Change the neon configure to use pkg-config instead of xml2-config
+
+xml2-config is broken for neon
+if packageconfig libxml2, webdav, zlib is enabled for neon
+we get the following configure error in the yocto build
+
+| configure: WebDAV support is enabled
+| checking for xml2-config... xml2-config
+| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config
+| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config
+| ERROR: /usr/bin/xml2-config should not be used, use an alternative such as pkg-config
+| checking libxml/xmlversion.h usability... no
+| checking libxml/xmlversion.h presence... no
+| checking for libxml/xmlversion.h... no
+| configure: error: could not find parser.h, libxml installation problem?
+| WARNING: exit code 1 from a shell command.
+
+The patch lets configure use pkg-config
+
+Upstream-Status: inappropriate
+(Upstream suggests to use latest 0.31 as per the discussion
+https://github.com/notroj/neon/discussions/47)
+
+Signed-off-by: Nisha Parrakat <Nisha.Parrakat@kpit.com>
+--- a/macros/neon-xml-parser.m4        2008-07-19 23:52:35.000000000 +0200
++++ b/macros/neon-xml-parser.m4        2021-02-15 23:56:59.202751257 +0100
+@@ -44,17 +44,17 @@
+
+ dnl Find libxml2: run $1 if found, else $2
+ AC_DEFUN([NE_XML_LIBXML2], [
+-AC_CHECK_PROG(XML2_CONFIG, xml2-config, xml2-config)
++AC_CHECK_PROG(XML2_CONFIG, pkg-config, pkg-config)
+ if test -n "$XML2_CONFIG"; then
+-    neon_xml_parser_message="libxml `$XML2_CONFIG --version`"
+     AC_DEFINE(HAVE_LIBXML, 1, [Define if you have libxml])
+-    # xml2-config in some versions erroneously includes -I/include
+-    # in the --cflags output.
+-    CPPFLAGS="$CPPFLAGS `$XML2_CONFIG --cflags | sed 's| -I/include||g'`"
+-    NEON_LIBS="$NEON_LIBS `$XML2_CONFIG --libs | sed 's|-L/usr/lib ||g'`"
++    PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.4)
++    AC_MSG_NOTICE([libxmlfound CFlags : , ${XML_CFLAGS}])
++    CPPFLAGS="$CPPFLAGS ${XML_CFLAGS}"
++    NEON_LIBS="$NEON_LIBS ${XML_LIBS}"
+     AC_CHECK_HEADERS(libxml/xmlversion.h libxml/parser.h,,[
+       AC_MSG_ERROR([could not find parser.h, libxml installation problem?])])
+     neon_xml_parser=libxml2
++    neon_xml_parser_message="libxml2"
+ else
+     $1
+ fi
diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest b/meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest
new file mode 100644
index 0000000..602084a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/neon/neon/run-ptest
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -eux
+
+rm -f debug.log child.log
+
+ulimit -c unlimited
+ulimit -t 120
+
+cd test
+echo foobar > foobar.txt
+
+BASIC_TESTS="auth basic redirect request session socket string-tests \
+             stubs uri-tests util-tests"
+DAV_TESTS="acl3744 lock oldacl props xml xmlreq"
+for t in $BASIC_TESTS $DAV_TESTS
+do
+    echo "Running $t..."
+    if "./$t"
+    then
+        echo "PASS:$t"
+    else
+        echo "FAIL:$t"
+    fi
+done
diff --git a/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb b/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb
index 00b79f6..2639c92 100644
--- a/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/neon/neon_0.30.2.bb
@@ -7,12 +7,14 @@
 
 SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
            file://pkgconfig.patch \
+           file://fix-package-check-for-libxml2.patch \
+           file://run-ptest \
           "
 
 SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41"
 SRC_URI[sha256sum] = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca"
 
-inherit autotools binconfig-disabled lib_package pkgconfig
+inherit autotools binconfig-disabled lib_package pkgconfig ptest
 
 # Enable gnutls or openssl, not both
 PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib"
@@ -33,6 +35,18 @@
     oe_runmake -C test
 }
 
+do_install_ptest(){
+    BASIC_TESTS="auth basic redirect request session socket string-tests \
+                 stubs uri-tests util-tests"
+    DAV_TESTS="acl3744 lock oldacl props xml xmlreq"
+    mkdir "${D}${PTEST_PATH}/test"
+    for i in ${BASIC_TESTS} ${DAV_TESTS}
+    do
+        install -m 0755 "${B}/test/${i}" \
+        "${D}${PTEST_PATH}/test"
+    done
+}
+
 BINCONFIG = "${bindir}/neon-config"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
index fbfa828..224a5d2 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
@@ -15,7 +15,7 @@
 multilib build options. Just clean the ARCHFLAG and LDFLAGS to fix this
 error.
 
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [configuration]
 
 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
 ===================================================
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb
rename to meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb
index 0d668ba..ab2c43d 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.60.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb
@@ -32,7 +32,7 @@
            file://nss-fix-nsinstall-build.patch \
            file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
            "
-SRC_URI[sha256sum] = "2051c20b61112df24bad533ac37f6c66c1bc0d6ea70bb9d9cad102d20324279d"
+SRC_URI[sha256sum] = "182d2fef629102ae9423aabf2c192242b565cf5098e82c5a26cf70c5e4ea2221"
 
 UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
 UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
@@ -121,7 +121,8 @@
     fi
 
     export NSS_DISABLE_GTESTS=1
-
+    # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99420
+    export NSS_ENABLE_WERROR=0
     # We can modify CC in the environment, but if we set it via an
     # argument to make, nsinstall, a host program, will also build with it!
     #
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
deleted file mode 100644
index 6cb5dfc..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001
-From: Oliver Kurth <okurth@vmware.com>
-Date: Mon, 30 Sep 2019 16:24:27 -0700
-Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC.
-
-G_INLINE_FUNC was a work-around for compilers that didn't support
-static inline.  Change uses of it to static inline.
-
-Upstream-Status: Backport
-[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/include/vmware/tools/plugin.h     | 2 +-
- open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++----
- open-vm-tools/lib/include/vmware/tools/utils.h      | 9 ---------
- 3 files changed, 5 insertions(+), 14 deletions(-)
-
-diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h
-index f9acc6a2..deefd1f3 100644
---- a/open-vm-tools/lib/include/vmware/tools/plugin.h
-+++ b/open-vm-tools/lib/include/vmware/tools/plugin.h
-@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
-  *
-  * @return TRUE if COM is initialized when the function returns.
-  */
--G_INLINE_FUNC gboolean
-+static inline gboolean
- ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
- {
-    if (!ctx->comInitialized) {
-diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h
-index 3f2082b3..5880fbcf 100644
---- a/open-vm-tools/lib/include/vmware/tools/threadPool.h
-+++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h
-@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC ToolsCorePool *
-+static inline ToolsCorePool *
- ToolsCorePool_GetPool(ToolsAppCtx *ctx)
- {
-    ToolsCorePool *pool = NULL;
-@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC guint
-+static inline guint
- ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
-                          ToolsCorePoolCb cb,
-                          gpointer data,
-@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC void
-+static inline void
- ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
-                          guint taskId)
- {
-@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
-  *******************************************************************************
-  */
- 
--G_INLINE_FUNC gboolean
-+static inline gboolean
- ToolsCorePool_StartThread(ToolsAppCtx *ctx,
-                           const gchar *threadName,
-                           ToolsCorePoolCb cb,
-diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h
-index f6574590..a3292d5c 100644
---- a/open-vm-tools/lib/include/vmware/tools/utils.h
-+++ b/open-vm-tools/lib/include/vmware/tools/utils.h
-@@ -51,15 +51,6 @@
- #  include <sys/time.h>
- #endif
- 
--
--/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
--#if defined(G_PLATFORM_WIN32)
--#  if defined(G_INLINE_FUNC)
--#     undef G_INLINE_FUNC
--#  endif
--#  define G_INLINE_FUNC static __inline
--#endif
--
- #ifndef ABS
- #  define ABS(x) (((x) >= 0) ? (x) : -(x))
- #endif
--- 
-2.23.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
deleted file mode 100644
index 61a681f..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001
-From: Bartosz Brachaczek <b.brachaczek@gmail.com>
-Date: Tue, 12 Nov 2019 14:31:08 +0100
-Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386
-
-I verified that this function behaves as expected on x86_64, i386 with
-32-bit time_t, and i386 with 64-bit time_t for the following values of
-ntTtime:
-
-UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX,
-UNIX_S32_MAX+1, UNIX_S32_MAX*2+1
-
-I did not verify whether the use of Div643264 is optimal, performance
-wise.
-
-Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++--------------
- 1 file changed, 19 insertions(+), 15 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c
-index cc580ab8..49b10040 100644
---- a/open-vm-tools/lib/hgfs/hgfsUtil.c
-+++ b/open-vm-tools/lib/hgfs/hgfsUtil.c
-@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
- 			  uint64 ntTime) // IN: Time in Windows NT format
- {
- #ifdef __i386__
--   uint32 sec;
--   uint32 nsec;
-+   uint64 sec64;
-+   uint32 sec32, nsec;
-+#endif
- 
-    ASSERT(unixTime);
--   /* We assume that time_t is 32bit */
--   ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4);
- 
--   /* Cap NT time values that are outside of Unix time's range */
-+   if (sizeof (unixTime->tv_sec) == 4) {
-+      /* Cap NT time values that are outside of Unix time's range */
- 
--   if (ntTime >= UNIX_S32_MAX) {
--      unixTime->tv_sec = 0x7FFFFFFF;
--      unixTime->tv_nsec = 0;
--      return 1;
-+      if (ntTime >= UNIX_S32_MAX) {
-+         unixTime->tv_sec = 0x7FFFFFFF;
-+         unixTime->tv_nsec = 0;
-+         return 1;
-+      }
-    }
--#else
--   ASSERT(unixTime);
--#endif
- 
-    if (ntTime < UNIX_EPOCH) {
-       unixTime->tv_sec = 0;
-@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
-    }
- 
- #ifdef __i386__
--   Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
--   unixTime->tv_sec = sec;
--   unixTime->tv_nsec = nsec * 100;
-+   if (sizeof (unixTime->tv_sec) == 4) {
-+      Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec);
-+      unixTime->tv_sec = sec32;
-+      unixTime->tv_nsec = nsec * 100;
-+   } else {
-+      Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec);
-+      unixTime->tv_sec = sec64;
-+      unixTime->tv_nsec = nsec * 100;
-+   }
- #else
-    unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
-    unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
deleted file mode 100644
index a711f5e..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001
-From: Martin Kelly <mkelly@xevo.com>
-Date: Fri, 7 Apr 2017 15:20:30 -0700
-Subject: [PATCH] configure.ac: don't use dnet-config
-
-The dnet-config tool doesn't know about cross-compilation, so it injects
--I/usr/include into the path, causing compiler errors. So instead find dnet via
--ldnet.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- open-vm-tools/configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then
-       AC_VMW_CHECK_LIB([dnet],
-                        [DNET],
-                        [],
--                       [dnet-config],
-+                       [],
-                        [],
-                        [dnet.h],
-                        [intf_open],
-@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then
- 
-    if test $have_dnet = "no"; then
- 		AC_MSG_ERROR(
--		   [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net])
-+		   [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
-    fi
- fi
- 
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch
deleted file mode 100644
index 82443ee..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 33798f3e484ebd3470e9da791b73b4b90ba12bc3 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Tue, 14 Jan 2020 15:04:03 +0800
-Subject: [PATCH] hgfsmounter/Makefile.am: support usrmerge
-
-There is a do_package error when enable usrmerge feature due to the
-hardcoded sbin directory. Remove this piece of code because we already
-create the symbolic link in do_install.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- open-vm-tools/hgfsmounter/Makefile.am | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am
-index 7c1ba1a..58bd3f8 100644
---- a/open-vm-tools/hgfsmounter/Makefile.am
-+++ b/open-vm-tools/hgfsmounter/Makefile.am
-@@ -39,9 +39,6 @@ uninstall-hook:
- 	rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs
- else
- install-exec-hook:
--	-$(MKDIR_P) $(DESTDIR)/sbin
--	-$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \
--		$(DESTDIR)/sbin/mount.vmhgfs &> /dev/null
- uninstall-hook:
- 	rm -f $(DESTDIR)/sbin/mount.vmhgfs
- endif !FREEBSD
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
deleted file mode 100644
index 95664e8..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 25 Dec 2019 15:25:02 -0800
-Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds
-
-This is new warning with gcc10, until its fixed ignore it like gcc<10
-did
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/user/utilBacktrace.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c
-index b72340ad..97ca53f2 100644
---- a/open-vm-tools/lib/user/utilBacktrace.c
-+++ b/open-vm-tools/lib/user/utilBacktrace.c
-@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr,                // IN:
-    } else {
-       outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
-    }
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Warray-bounds"
-+
-    Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
-+#pragma GCC diagnostic pop
- #endif
- }
-+
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
deleted file mode 100644
index 34628ff..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001
-From: Martin Kelly <mkelly@xevo.com>
-Date: Mon, 22 May 2017 17:00:05 -0700
-Subject: [PATCH] add #include <sys/sysmacros.h>
-
-In newer glibc versions, the definition for major() has been moved to
-sys/sysmacros.h, and using the older version in <sys/types.h> has been
-deprecated. So, add an include for <sys/sysmacros.h>.
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- open-vm-tools/lib/wiper/wiperPosix.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c
-index bd542410..ccf06293 100644
---- a/open-vm-tools/lib/wiper/wiperPosix.c
-+++ b/open-vm-tools/lib/wiper/wiperPosix.c
-@@ -43,6 +43,9 @@
- #  include <libgen.h>
- # endif /* __FreeBSD_version >= 500000 */
- #endif
-+#if defined(__linux__)
-+#include <sys/sysmacros.h>
-+#endif
- #include <unistd.h>
- 
- #include "vmware.h"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
deleted file mode 100644
index 0f64eab..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Nov 2019 10:49:46 -0800
-Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../lib/hgfsServer/hgfsServerLinux.c          | 19 +++++--------------
- 1 file changed, 5 insertions(+), 14 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index 03175623..554da67f 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats,       // IN: stat information
-    LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__,
-            attr->specialPerms, attr->ownerPerms, attr->groupPerms,
-            attr->otherPerms, attr->size));
--#ifdef __FreeBSD__
--#   if !defined(VM_X86_64) && __FreeBSD_version >= 500043
--#      define FMTTIMET ""
--#   else
--#      define FMTTIMET "l"
--#   endif
--#else
--#   define FMTTIMET "l"
--#endif
--   LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
--           "attr: %"FMTTIMET"d/%"FMT64"u\n",
--           stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime,
--           stats->st_ctime, attr->attrChangeTime));
--#undef FMTTIMET
-+   LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n"
-+           "attr: %jd/%"FMT64"u\n",
-+           (intmax_t)stats->st_atime, attr->accessTime,
-+	   (intmax_t)stats->st_mtime, attr->writeTime,
-+           (intmax_t)stats->st_ctime, attr->attrChangeTime));
- 
-    attr->userId = stats->st_uid;
-    attr->groupId = stats->st_gid;
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
deleted file mode 100644
index 6d2e498..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 09:03:00 +0000
-Subject: [PATCH] Use configure test for struct timespec
-
-Use the configure script to test for struct time spec instead of trying
-to keep track of what platforms has it.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/configure.ac           | 1 +
- open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
- 2 files changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 713ea683..48ff1ef3 100644
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T
- AC_TYPE_PID_T
- AC_TYPE_SIZE_T
- AC_CHECK_MEMBERS([struct stat.st_rdev])
-+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
- AC_HEADER_TIME
- AC_STRUCT_TM
- AC_C_VOLATILE
-diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h
-index 609f4c00..a3a022d4 100644
---- a/open-vm-tools/lib/include/hgfsUtil.h
-+++ b/open-vm-tools/lib/include/hgfsUtil.h
-@@ -53,13 +53,7 @@
- #      include <time.h>
- #   endif
- #   include "vm_basic_types.h"
--#   if !defined _STRUCT_TIMESPEC &&   \
--       !defined _TIMESPEC_DECLARED && \
--       !defined __timespec_defined && \
--       !defined sun && \
--       !defined __FreeBSD__ && \
--       !__APPLE__ && \
--       !defined _WIN32
-+#   if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
- struct timespec {
-    time_t tv_sec;
-    long   tv_nsec;
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
deleted file mode 100644
index e107ecf..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 09:10:14 +0000
-Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS
-
-The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
-assume it is not there instead of testing for specific implementations.
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c      | 8 +++++---
- open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
- 2 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index f2b7ce67..0e6351a9 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -105,11 +105,13 @@ typedef struct DirectoryEntry {
- #endif
- 
- /*
-- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
-- * Solaris version of <sys/stat.h>.
-+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
-+ * POSIX.
-  */
--#ifdef sun
-+#ifndef ACCESSPERMS
- #   define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
-+#endif
-+#ifndef ALLPERMS
- #   define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
- #endif
- 
-diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-index 89133652..7e9c3a91 100644
---- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-+++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-@@ -52,7 +52,7 @@
- 
- #define DND_ROOTDIR_PERMS     (S_IRWXU | S_IRWXG | S_IRWXO)
- #define DND_STAGINGDIR_PERMS  (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
--#ifdef sun
-+#ifndef ACCESSPERMS
- #define ACCESSPERMS           (S_IRWXU | S_IRWXG | S_IRWXO)
- #endif
- #ifdef __ANDROID__
-@@ -61,7 +61,6 @@
-  */
- #define NO_SETMNTENT
- #define NO_ENDMNTENT
--#define ACCESSPERMS           (S_IRWXU | S_IRWXG | S_IRWXO)
- #endif
- 
- 
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
deleted file mode 100644
index c6378b8..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 10:05:07 +0000
-Subject: [PATCH] Use configure to test for feature instead of platform
-
-Test for various functions instead of trying to keep track of what
-platform and what version of the given platform has support for what.
-
-This should make it easier to port to currently unknown platforms and
-will solve the issue if a platform add support for a missing feature in
-the future.
-
-The features we test for are:
-- getifaddrs
-- getauxval
-- issetugid
-- __secure_getenv
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/configure.ac               |  4 ++++
- open-vm-tools/lib/misc/idLinux.c         | 30 +++++++++++-------------
- open-vm-tools/lib/nicInfo/nicInfoPosix.c |  6 ++++-
- 3 files changed, 23 insertions(+), 17 deletions(-)
-
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 48ff1ef3..71e684bb 100644
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -897,6 +897,7 @@ AC_CHECK_FUNCS(
- 
- AC_CHECK_FUNCS([ecvt])
- AC_CHECK_FUNCS([fcvt])
-+AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv])
- 
- AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
- 
-@@ -1145,10 +1146,13 @@ fi
- ###
- 
- AC_CHECK_HEADERS([crypt.h])
-+AC_CHECK_HEADERS([ifaddrs.h])
- AC_CHECK_HEADERS([inttypes.h])
- AC_CHECK_HEADERS([stdint.h])
- AC_CHECK_HEADERS([stdlib.h])
- AC_CHECK_HEADERS([wchar.h])
-+AC_CHECK_HEADERS([net/if.h])
-+AC_CHECK_HEADERS([sys/auxv.h])
- AC_CHECK_HEADERS([sys/inttypes.h])
- AC_CHECK_HEADERS([sys/io.h])
- AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
-diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c
-index b950cf84..1dcfb508 100644
---- a/open-vm-tools/lib/misc/idLinux.c
-+++ b/open-vm-tools/lib/misc/idLinux.c
-@@ -27,12 +27,9 @@
- #include <sys/syscall.h>
- #include <string.h>
- #include <unistd.h>
--#ifdef __linux__
--#if defined(__GLIBC__) && \
--           (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
-+#ifdef HAVE_SYS_AUXV_H
- #include <sys/auxv.h>
- #endif
--#endif
- #ifdef __APPLE__
- #include <sys/socket.h>
- #include <TargetConditionals.h>
-@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid)  // IN:
- static Bool
- IdIsSetUGid(void)
- {
--#if defined(__ANDROID__)
--   /* Android does not have a secure_getenv, so be conservative. */
--   return TRUE;
--#else
-    /*
-     * We use __secure_getenv, which returns NULL if the binary is
--    * setuid or setgid. Alternatives include,
-+    * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not
-+    * available. Alternatives include,
-     *
--    *   a) getauxval(AT_SECURE); not available until glibc 2.16.
--    *   b) __libc_enable_secure; may not be exported.
-+    *   a) issetugid(); not (yet?) available in glibc.
-+    *   b) getauxval(AT_SECURE); not available until glibc 2.16.
-+    *   c) __libc_enable_secure; may not be exported.
-     *
--    * Use (a) when we are based on glibc 2.16, or newer.
-+    * Use (b) when we are based on glibc 2.16, or newer.
-     */
- 
--#if defined(__GLIBC__) && \
--           (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
-+#if HAVE_ISSETUGID
-+   return issetugid();
-+#elif HAVE_GETAUXVAL
-    return getauxval(AT_SECURE) != 0;
--#else
-+#elif HAVE___SECURE_GETENV
-    static const char envName[] = "VMW_SETUGID_TEST";
- 
-    if (setenv(envName, "1", TRUE) == -1) {
-       return TRUE; /* Conservative */
-    }
-    return __secure_getenv(envName) == NULL;
--#endif
-+#else
-+   /* Android does not have a secure_getenv, so be conservative. */
-+   return TRUE;
- #endif
- }
- #endif
-diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-index a22981d5..b4e08681 100644
---- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-+++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-@@ -34,9 +34,13 @@
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <errno.h>
--#if defined(__FreeBSD__) || defined(__APPLE__)
-+#if HAVE_SYS_SYSCTL_H
- # include <sys/sysctl.h>
-+#endif
-+#if HAVE_IFADDRS_H
- # include <ifaddrs.h>
-+#endif
-+#if HAVE_NET_IF_H
- # include <net/if.h>
- #endif
- #ifndef NO_DNET
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
deleted file mode 100644
index 9a227f9..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 10:41:01 +0000
-Subject: [PATCH] Use configure test for sys/stat.h include
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c
-index e5273786..cabc4137 100644
---- a/open-vm-tools/services/plugins/vix/vixTools.c
-+++ b/open-vm-tools/services/plugins/vix/vixTools.c
-@@ -66,7 +66,7 @@
- #include <unistd.h>
- #endif
- 
--#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
-+#ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
- #endif
- 
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
deleted file mode 100644
index 11be2d4..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:48:04 -0700
-Subject: [PATCH] Fix subdir objects configure error
-
-Fix build on musl while here
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 71e684bb..b76a7966 100644
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -303,6 +303,7 @@ AC_ARG_ENABLE(
-    [],
-    [enable_resolutionkms="auto"])
- 
-+AM_INIT_AUTOMAKE([subdir-objects])
- AM_INIT_AUTOMAKE
- 
- ###
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
deleted file mode 100644
index 814b9e3..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:02:50 -0700
-Subject: [PATCH] include poll.h instead of sys/poll.h
-
-including sys/poll.h is deprecated
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-index 65b07109..b41aa29d 100644
---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
-+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-@@ -69,8 +69,8 @@
- #else
- #include <stddef.h>
- #include <ctype.h>
-+#include <poll.h>
- #include <sys/types.h>
--#include <sys/poll.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <netdb.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
deleted file mode 100644
index 9cf54f6..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
+++ /dev/null
@@ -1,742 +0,0 @@
-From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:11:58 -0700
-Subject: [PATCH] Rename poll.h to vm_poll.h
-
-musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this
-we rename poll.h to vm_poll.h.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/asyncsocket/asyncsocket.c                     | 2 +-
- open-vm-tools/lib/hgfsServer/hgfsServer.c                       | 2 +-
- open-vm-tools/lib/include/asyncsocket.h                         | 2 +-
- open-vm-tools/lib/include/pollImpl.h                            | 2 +-
- open-vm-tools/lib/include/{poll.h => vm_poll.h}                 | 2 +-
- open-vm-tools/lib/rpcIn/rpcin.c                                 | 2 +-
- .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c      | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
- rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
-
---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
-+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-@@ -86,7 +86,7 @@
- #include "random.h"
- #include "asyncsocket.h"
- #include "asyncSocketBase.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "log.h"
- #include "err.h"
- #include "hostinfo.h"
---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-@@ -48,7 +48,7 @@
- #include "hgfsServerOplock.h"
- #include "hgfsDirNotify.h"
- #include "userlock.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "mutexRankLib.h"
- #include "vm_basic_asm.h"
- #include "unicodeOperations.h"
---- a/open-vm-tools/lib/include/asyncsocket.h
-+++ b/open-vm-tools/lib/include/asyncsocket.h
-@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
-  * Or the client can specify its favorite poll class and locking behavior.
-  * Use of IVmdbPoll is only supported for regular sockets and for Attach.
-  */
--#include "poll.h"
-+#include "vm_poll.h"
- struct IVmdbPoll;
- typedef struct AsyncSocketPollParams {
-    int flags;               /* Default 0, only POLL_FLAG_NO_BULL is valid */
---- a/open-vm-tools/lib/include/pollImpl.h
-+++ b/open-vm-tools/lib/include/pollImpl.h
-@@ -44,7 +44,7 @@
- #define INCLUDE_ALLOW_USERLEVEL
- #include "includeCheck.h"
- 
--#include "poll.h"
-+#include "vm_poll.h"
- #include "vm_basic_asm.h"
- 
- #if defined(__cplusplus)
---- a/open-vm-tools/lib/include/poll.h
-+++ /dev/null
-@@ -1,330 +0,0 @@
--/*********************************************************
-- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-- *
-- * This program is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU Lesser General Public License as published
-- * by the Free Software Foundation version 2.1 and no later version.
-- *
-- * This program is distributed in the hope that it will be useful, but
-- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-- * or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
-- * License for more details.
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * along with this program; if not, write to the Free Software Foundation, Inc.,
-- * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
-- *
-- *********************************************************/
--
--/*********************************************************
-- * The contents of this file are subject to the terms of the Common
-- * Development and Distribution License (the "License") version 1.0
-- * and no later version.  You may not use this file except in
-- * compliance with the License.
-- *
-- * You can obtain a copy of the License at
-- *         http://www.opensource.org/licenses/cddl1.php
-- *
-- * See the License for the specific language governing permissions
-- * and limitations under the License.
-- *
-- *********************************************************/
--
--
--#ifndef _POLL_H_
--#define _POLL_H_
--
--#define INCLUDE_ALLOW_USERLEVEL
--#define INCLUDE_ALLOW_VMCORE
--#include "includeCheck.h"
--
--#include "vm_basic_types.h"
--#include "vm_basic_defs.h"
--#include "vmware.h"
--#include "userlock.h"
--
--#if defined(__cplusplus)
--extern "C" {
--#endif
--
--#ifdef _WIN32
--#define HZ 100
--#elif defined linux
--#include <asm/param.h>
--#elif __APPLE__
--#include <TargetConditionals.h>
--/*
-- * Old SDKs don't define TARGET_OS_IPHONE at all.
-- * New ones define it to 0 on Mac OS X, 1 on iOS.
-- */
--#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
--#include <sys/kernel.h>
--#endif
--#include <sys/poll.h>
--#define HZ 100
--#endif
--#ifdef __ANDROID__
--/*
-- * <poll.h> of android should be included, but its name is same
-- * with this file. So its content is put here to avoid conflict.
-- */
--#include <asm/poll.h>
--#define HZ 100
--typedef unsigned int  nfds_t;
--int poll(struct pollfd *, nfds_t, long);
--#endif
--
--
--/*
-- * Poll event types: each type has a different reason for firing,
-- * or condition that must be met before firing.
-- */
--
--typedef enum {
--   /*
--    * Actual Poll queue types against which you can register callbacks.
--    */
--   POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
--   POLL_VTIME = 0,
--   POLL_REALTIME,
--   POLL_DEVICE,
--   POLL_MAIN_LOOP,
--   POLL_NUM_QUEUES
--} PollEventType;
--
--
--/*
-- * Classes of events
-- *
-- * These are the predefined classes.  More can be declared
-- * with Poll_AllocClass().
-- */
--
--typedef enum PollClass {
--   POLL_CLASS_MAIN,
--   POLL_CLASS_PAUSE,
--   POLL_CLASS_IPC,
--   POLL_CLASS_CPT,
--   POLL_CLASS_MKS,
--   POLL_FIXED_CLASSES,
--   POLL_DEFAULT_FIXED_CLASSES,
--   /* Size enum to maximum */
--   POLL_MAX_CLASSES = 31,
--} PollClass;
--
--/*
-- * Do not use; Special pseudo private poll class supported by
-- * PollDefault only
-- */
--#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
--#define POLL_DEFAULT_CS_NET    PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
--
--/*
-- * Each callback is registered in a set of classes
-- */
--
--typedef struct PollClassSet {
--   uintptr_t bits;
--} PollClassSet;
--
--/* An empty PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Empty(void)
--{
--   PollClassSet set = { 0 };
--   return set;
--}
--
--/* A PollClassSet with the single member. */
--static INLINE PollClassSet
--PollClassSet_Singleton(PollClass c)
--{
--   PollClassSet s = PollClassSet_Empty();
--
--   ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
--   ASSERT(c < POLL_MAX_CLASSES);
--
--   s.bits = CONST3264U(1) << c;
--   return s;
--}
--
--/* Combine two PollClassSets. */
--static INLINE PollClassSet
--PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
--{
--   PollClassSet set;
--   set.bits = lhs.bits | rhs.bits;
--   return set;
--}
--
--/* Add single class to PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Include(PollClassSet set, PollClass c)
--{
--   return PollClassSet_Union(set, PollClassSet_Singleton(c));
--}
--
--
--#define POLL_CS_MAIN    PollClassSet_Singleton(POLL_CLASS_MAIN)
--#define POLL_CS_PAUSE   PollClassSet_Union(POLL_CS_MAIN,            \
--                           PollClassSet_Singleton(POLL_CLASS_PAUSE))
--#define POLL_CS_CPT     PollClassSet_Union(POLL_CS_PAUSE,           \
--                           PollClassSet_Singleton(POLL_CLASS_CPT))
--#define POLL_CS_IPC     PollClassSet_Union(POLL_CS_CPT,             \
--                           PollClassSet_Singleton(POLL_CLASS_IPC))
--#define POLL_CS_VMDB    POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
--#define POLL_CS_MKS	PollClassSet_Singleton(POLL_CLASS_MKS)
--/* 
-- * DANGER.  You don't need POLL_CS_ALWAYS.  Really.  So don't use it.
-- */
--#define POLL_CS_ALWAYS  PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
--
--/*
-- * Poll class-set taxonomy:
-- * POLL_CS_MAIN
-- *    - Unless you NEED another class, use POLL_CS_MAIN.
-- * POLL_CS_PAUSE
-- *    - For callbacks that must occur even if the guest is paused.
-- *      Most VMDB or Foundry commands are in this category.
-- * POLL_CS_CPT
-- *    - Only for callbacks which can trigger intermediate Checkpoint 
-- *      transitions.
-- *      The ONLY such callback is Migrate.
-- * POLL_CS_IPC
-- *    - Only for callbacks which can contain Msg_(Post|Hint|Question) 
-- *      responses, and for signal handlers (why)?
-- *      Vigor, VMDB, and Foundry can contain Msg_* responses.
-- * POLL_CS_MKS
-- *    - Callback runs in MKS thread.
-- * POLL_CS_ALWAYS
-- *    - Only for events that must be processed immediately.
-- *      The ONLY such callback is OvhdMemVmxSizeCheck.
-- */
--
--
--/*
-- * Poll_Callback flags
-- */
--
--#define POLL_FLAG_PERIODIC		0x01    // keep after firing
--#define POLL_FLAG_REMOVE_AT_POWEROFF	0x02  	// self-explanatory
--#define POLL_FLAG_READ			0x04	// device is ready for reading
--#define POLL_FLAG_WRITE			0x08	// device is ready for writing
--#define POLL_FLAG_SOCKET                0x10    // device is a Windows socket
--#define POLL_FLAG_NO_BULL               0x20    // callback does its own locking
--#define POLL_FLAG_WINSOCK               0x40    // Winsock style write events
--#define POLL_FLAG_FD                    0x80    // device is a Windows file descriptor.
--#define POLL_FLAG_ACCEPT_INVALID_FDS    0x100   // For broken 3rd party libs, e.g. curl
--#define POLL_FLAG_THUNK_TO_WND          0x200   // thunk callback to window message loop
--
--
--typedef void (*PollerFunction)(void *clientData);
--typedef void (*PollerFireWrapper)(PollerFunction func,
--                                  void *funcData,
--                                  void *wrapperData);
--typedef Bool (*PollerErrorFn)(const char *errorStr);
--
--/*
-- * Initialisers:
-- *
-- *      For the sake of convenience, we declare the initialisers
-- *      for custom implmentations here, even though the actual
-- *      implementations are distinct from the core poll code.
-- */
--
--typedef struct PollOptions {
--   Bool locked;           // Use internal MXUser for locking
--   Bool allowFullQueue;   // Don't assert when device event queue is full.
--   VThreadID windowsMsgThread;       // thread that processes Windows messages
--   PollerFireWrapper fireWrapperFn;  // optional; may be useful for stats
--   void *fireWrapperData; // optional
--   PollerErrorFn errorFn; // optional; called upon unrecoverable error
--} PollOptions;
--
--
--void Poll_InitDefault(void);
--void Poll_InitDefaultEx(const PollOptions *opts);
--void Poll_InitGtk(void); // On top of glib for Linux
--void Poll_InitCF(void);  // On top of CoreFoundation for OSX
--
--
--/*
-- * Functions
-- */
--int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
--void Poll_Loop(Bool loop, Bool *exit, PollClass c);
--void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
--Bool Poll_LockingEnabled(void);
--void Poll_Exit(void);
--
--
--/*
-- * Poll_Callback adds a callback regardless of whether an identical one exists.
-- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-- * one read and one write callback per fd.
-- *
-- * Poll_CallbackRemove removes one callback. If there are multiple identical
-- * callbacks, which one is removed is an implementation detail. Note that in
-- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-- * create the callback is not specified when removing, so all callbacks
-- * of those types with the same flags, function, and clientData are considered
-- * "identical" even if their fd/delay differed.
-- */
--
--VMwareStatus Poll_Callback(PollClassSet classSet,
--                           int flags,
--                           PollerFunction f,
--                           void *clientData,
--                           PollEventType type,
--                           PollDevHandle info, // fd/microsec delay
--                           MXUserRecLock *lck);
--Bool Poll_CallbackRemove(PollClassSet classSet,
--                         int flags,
--                         PollerFunction f,
--                         void *clientData,
--                         PollEventType type);
--Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
--                                int flags,
--                                PollerFunction f,
--                                PollEventType type,
--                                void **clientData);
--
--void Poll_NotifyChange(PollClassSet classSet);
--
--/*
-- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-- * simpler subsets of those interfaces.
-- */
--
--VMwareStatus Poll_CB_Device(PollerFunction f,
--                            void *clientData,
--                            PollDevHandle device,
--                            Bool periodic);
--
--Bool Poll_CB_DeviceRemove(PollerFunction f,
--                          void *clientData,
--                          Bool periodic);
--
--
--VMwareStatus Poll_CB_RTime(PollerFunction f,
--                           void *clientData,
--                           int64 delay,   // microseconds
--                           Bool periodic,
--                           MXUserRecLock *lock);
--
--Bool Poll_CB_RTimeRemove(PollerFunction f,
--                         void *clientData,
--                         Bool periodic);
--
--
--#ifdef _WIN32
--void Poll_SetPumpsWindowsMessages(Bool pumps);
--void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
--Bool Poll_FireWndCallback(void *lparam);
--#endif
--
--#if defined(__cplusplus)
--}  // extern "C"
--#endif
--
--#endif // _POLL_H_
---- /dev/null
-+++ b/open-vm-tools/lib/include/vm_poll.h
-@@ -0,0 +1,330 @@
-+/*********************************************************
-+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU Lesser General Public License as published
-+ * by the Free Software Foundation version 2.1 and no later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the Lesser GNU General Public
-+ * License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * along with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
-+ *
-+ *********************************************************/
-+
-+/*********************************************************
-+ * The contents of this file are subject to the terms of the Common
-+ * Development and Distribution License (the "License") version 1.0
-+ * and no later version.  You may not use this file except in
-+ * compliance with the License.
-+ *
-+ * You can obtain a copy of the License at
-+ *         http://www.opensource.org/licenses/cddl1.php
-+ *
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ *********************************************************/
-+
-+
-+#ifndef _POLL_H_
-+#define _POLL_H_
-+
-+#define INCLUDE_ALLOW_USERLEVEL
-+#define INCLUDE_ALLOW_VMCORE
-+#include "includeCheck.h"
-+
-+#include "vm_basic_types.h"
-+#include "vm_basic_defs.h"
-+#include "vmware.h"
-+#include "userlock.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+#ifdef _WIN32
-+#define HZ 100
-+#elif defined linux
-+#include <asm/param.h>
-+#elif __APPLE__
-+#include <TargetConditionals.h>
-+/*
-+ * Old SDKs don't define TARGET_OS_IPHONE at all.
-+ * New ones define it to 0 on Mac OS X, 1 on iOS.
-+ */
-+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
-+#include <sys/kernel.h>
-+#endif
-+#include <poll.h>
-+#define HZ 100
-+#endif
-+#ifdef __ANDROID__
-+/*
-+ * <poll.h> of android should be included, but its name is same
-+ * with this file. So its content is put here to avoid conflict.
-+ */
-+#include <asm/poll.h>
-+#define HZ 100
-+typedef unsigned int  nfds_t;
-+int poll(struct pollfd *, nfds_t, long);
-+#endif
-+
-+
-+/*
-+ * Poll event types: each type has a different reason for firing,
-+ * or condition that must be met before firing.
-+ */
-+
-+typedef enum {
-+   /*
-+    * Actual Poll queue types against which you can register callbacks.
-+    */
-+   POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
-+   POLL_VTIME = 0,
-+   POLL_REALTIME,
-+   POLL_DEVICE,
-+   POLL_MAIN_LOOP,
-+   POLL_NUM_QUEUES
-+} PollEventType;
-+
-+
-+/*
-+ * Classes of events
-+ *
-+ * These are the predefined classes.  More can be declared
-+ * with Poll_AllocClass().
-+ */
-+
-+typedef enum PollClass {
-+   POLL_CLASS_MAIN,
-+   POLL_CLASS_PAUSE,
-+   POLL_CLASS_IPC,
-+   POLL_CLASS_CPT,
-+   POLL_CLASS_MKS,
-+   POLL_FIXED_CLASSES,
-+   POLL_DEFAULT_FIXED_CLASSES,
-+   /* Size enum to maximum */
-+   POLL_MAX_CLASSES = 31,
-+} PollClass;
-+
-+/*
-+ * Do not use; Special pseudo private poll class supported by
-+ * PollDefault only
-+ */
-+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
-+#define POLL_DEFAULT_CS_NET    PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
-+
-+/*
-+ * Each callback is registered in a set of classes
-+ */
-+
-+typedef struct PollClassSet {
-+   uintptr_t bits;
-+} PollClassSet;
-+
-+/* An empty PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Empty(void)
-+{
-+   PollClassSet set = { 0 };
-+   return set;
-+}
-+
-+/* A PollClassSet with the single member. */
-+static INLINE PollClassSet
-+PollClassSet_Singleton(PollClass c)
-+{
-+   PollClassSet s = PollClassSet_Empty();
-+
-+   ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
-+   ASSERT(c < POLL_MAX_CLASSES);
-+
-+   s.bits = CONST3264U(1) << c;
-+   return s;
-+}
-+
-+/* Combine two PollClassSets. */
-+static INLINE PollClassSet
-+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
-+{
-+   PollClassSet set;
-+   set.bits = lhs.bits | rhs.bits;
-+   return set;
-+}
-+
-+/* Add single class to PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Include(PollClassSet set, PollClass c)
-+{
-+   return PollClassSet_Union(set, PollClassSet_Singleton(c));
-+}
-+
-+
-+#define POLL_CS_MAIN    PollClassSet_Singleton(POLL_CLASS_MAIN)
-+#define POLL_CS_PAUSE   PollClassSet_Union(POLL_CS_MAIN,            \
-+                           PollClassSet_Singleton(POLL_CLASS_PAUSE))
-+#define POLL_CS_CPT     PollClassSet_Union(POLL_CS_PAUSE,           \
-+                           PollClassSet_Singleton(POLL_CLASS_CPT))
-+#define POLL_CS_IPC     PollClassSet_Union(POLL_CS_CPT,             \
-+                           PollClassSet_Singleton(POLL_CLASS_IPC))
-+#define POLL_CS_VMDB    POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
-+#define POLL_CS_MKS	PollClassSet_Singleton(POLL_CLASS_MKS)
-+/* 
-+ * DANGER.  You don't need POLL_CS_ALWAYS.  Really.  So don't use it.
-+ */
-+#define POLL_CS_ALWAYS  PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
-+
-+/*
-+ * Poll class-set taxonomy:
-+ * POLL_CS_MAIN
-+ *    - Unless you NEED another class, use POLL_CS_MAIN.
-+ * POLL_CS_PAUSE
-+ *    - For callbacks that must occur even if the guest is paused.
-+ *      Most VMDB or Foundry commands are in this category.
-+ * POLL_CS_CPT
-+ *    - Only for callbacks which can trigger intermediate Checkpoint 
-+ *      transitions.
-+ *      The ONLY such callback is Migrate.
-+ * POLL_CS_IPC
-+ *    - Only for callbacks which can contain Msg_(Post|Hint|Question) 
-+ *      responses, and for signal handlers (why)?
-+ *      Vigor, VMDB, and Foundry can contain Msg_* responses.
-+ * POLL_CS_MKS
-+ *    - Callback runs in MKS thread.
-+ * POLL_CS_ALWAYS
-+ *    - Only for events that must be processed immediately.
-+ *      The ONLY such callback is OvhdMemVmxSizeCheck.
-+ */
-+
-+
-+/*
-+ * Poll_Callback flags
-+ */
-+
-+#define POLL_FLAG_PERIODIC		0x01    // keep after firing
-+#define POLL_FLAG_REMOVE_AT_POWEROFF	0x02  	// self-explanatory
-+#define POLL_FLAG_READ			0x04	// device is ready for reading
-+#define POLL_FLAG_WRITE			0x08	// device is ready for writing
-+#define POLL_FLAG_SOCKET                0x10    // device is a Windows socket
-+#define POLL_FLAG_NO_BULL               0x20    // callback does its own locking
-+#define POLL_FLAG_WINSOCK               0x40    // Winsock style write events
-+#define POLL_FLAG_FD                    0x80    // device is a Windows file descriptor.
-+#define POLL_FLAG_ACCEPT_INVALID_FDS    0x100   // For broken 3rd party libs, e.g. curl
-+#define POLL_FLAG_THUNK_TO_WND          0x200   // thunk callback to window message loop
-+
-+
-+typedef void (*PollerFunction)(void *clientData);
-+typedef void (*PollerFireWrapper)(PollerFunction func,
-+                                  void *funcData,
-+                                  void *wrapperData);
-+typedef Bool (*PollerErrorFn)(const char *errorStr);
-+
-+/*
-+ * Initialisers:
-+ *
-+ *      For the sake of convenience, we declare the initialisers
-+ *      for custom implmentations here, even though the actual
-+ *      implementations are distinct from the core poll code.
-+ */
-+
-+typedef struct PollOptions {
-+   Bool locked;           // Use internal MXUser for locking
-+   Bool allowFullQueue;   // Don't assert when device event queue is full.
-+   VThreadID windowsMsgThread;       // thread that processes Windows messages
-+   PollerFireWrapper fireWrapperFn;  // optional; may be useful for stats
-+   void *fireWrapperData; // optional
-+   PollerErrorFn errorFn; // optional; called upon unrecoverable error
-+} PollOptions;
-+
-+
-+void Poll_InitDefault(void);
-+void Poll_InitDefaultEx(const PollOptions *opts);
-+void Poll_InitGtk(void); // On top of glib for Linux
-+void Poll_InitCF(void);  // On top of CoreFoundation for OSX
-+
-+
-+/*
-+ * Functions
-+ */
-+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
-+void Poll_Loop(Bool loop, Bool *exit, PollClass c);
-+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
-+Bool Poll_LockingEnabled(void);
-+void Poll_Exit(void);
-+
-+
-+/*
-+ * Poll_Callback adds a callback regardless of whether an identical one exists.
-+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-+ * one read and one write callback per fd.
-+ *
-+ * Poll_CallbackRemove removes one callback. If there are multiple identical
-+ * callbacks, which one is removed is an implementation detail. Note that in
-+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-+ * create the callback is not specified when removing, so all callbacks
-+ * of those types with the same flags, function, and clientData are considered
-+ * "identical" even if their fd/delay differed.
-+ */
-+
-+VMwareStatus Poll_Callback(PollClassSet classSet,
-+                           int flags,
-+                           PollerFunction f,
-+                           void *clientData,
-+                           PollEventType type,
-+                           PollDevHandle info, // fd/microsec delay
-+                           MXUserRecLock *lck);
-+Bool Poll_CallbackRemove(PollClassSet classSet,
-+                         int flags,
-+                         PollerFunction f,
-+                         void *clientData,
-+                         PollEventType type);
-+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
-+                                int flags,
-+                                PollerFunction f,
-+                                PollEventType type,
-+                                void **clientData);
-+
-+void Poll_NotifyChange(PollClassSet classSet);
-+
-+/*
-+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-+ * simpler subsets of those interfaces.
-+ */
-+
-+VMwareStatus Poll_CB_Device(PollerFunction f,
-+                            void *clientData,
-+                            PollDevHandle device,
-+                            Bool periodic);
-+
-+Bool Poll_CB_DeviceRemove(PollerFunction f,
-+                          void *clientData,
-+                          Bool periodic);
-+
-+
-+VMwareStatus Poll_CB_RTime(PollerFunction f,
-+                           void *clientData,
-+                           int64 delay,   // microseconds
-+                           Bool periodic,
-+                           MXUserRecLock *lock);
-+
-+Bool Poll_CB_RTimeRemove(PollerFunction f,
-+                         void *clientData,
-+                         Bool periodic);
-+
-+
-+#ifdef _WIN32
-+void Poll_SetPumpsWindowsMessages(Bool pumps);
-+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
-+Bool Poll_FireWndCallback(void *lparam);
-+#endif
-+
-+#if defined(__cplusplus)
-+}  // extern "C"
-+#endif
-+
-+#endif // _POLL_H_
---- a/open-vm-tools/lib/rpcIn/rpcin.c
-+++ b/open-vm-tools/lib/rpcIn/rpcin.c
-@@ -57,7 +57,7 @@
- 
- #if defined(VMTOOLS_USE_VSOCKET)
- #  include <glib.h>
--#  include "poll.h"
-+#  include "vm_poll.h"
- #  include "asyncsocket.h"
- #  include "vmci_defs.h"
- #include "dataMap.h"
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
deleted file mode 100644
index 784b4fc..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:16:53 -0700
-Subject: [PATCH] use posix strerror_r unless on gnu libc system
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/err/errPosix.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c
-index c81b4c13..7a403640 100644
---- a/open-vm-tools/lib/err/errPosix.c
-+++ b/open-vm-tools/lib/err/errPosix.c
-@@ -31,6 +31,7 @@
- #include <errno.h>
- #include <string.h>
- #include <locale.h>
-+#include <stdio.h>
- 
- #include "vmware.h"
- #include "errInt.h"
-@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN
- {
-    char *p;
- 
--#if defined(__linux__) && !defined(__ANDROID__)
-+#if defined(__GLIBC__) && !defined(__ANDROID__)
-    p = strerror_r(errorNumber, buf, bufSize);
- #else
--   p = strerror(errorNumber);
--#endif
-+   if (strerror_r(errorNumber, buf, bufSize) != 0)
-+      snprintf(buf, bufSize, "unknown error %i", errorNumber);
-+   p = buf;
-+#endif /* defined __GLIBC__ */
-    ASSERT(p != NULL);
-    return p;
- }
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
deleted file mode 100644
index 0a1d008..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:37:09 -0700
-Subject: [PATCH] Use uintmax_t for handling rlim_t
-
-rlimit types are not representable with long or long long
-formats, therefore use uintmax_t to typecast rlim_t types
-and use %j to print it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index 0e6351a9..a2ee1740 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset,         // IN:
-       goto exit;
-    }
- 
--   LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
--           __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max));
-+   LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n",
-+           __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max));
- 
-    /*
-     * Check the offset is within the file size range.
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
deleted file mode 100644
index d69b74e..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 27 Aug 2018 23:22:21 -0700
-Subject: [PATCH] Use off64_t instead of __off64_t
-
-Fixes
-unknown type name '__off64_t'
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/file/fileIOPosix.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c
-index 23108279..bcd2ddc5 100644
---- a/open-vm-tools/lib/file/fileIOPosix.c
-+++ b/open-vm-tools/lib/file/fileIOPosix.c
-@@ -206,10 +206,10 @@ static AlignedPool alignedPool;
-        * the symbols (and anyone building XOPEN<700 gets nothing).
-        */
-       extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt,
--                          __off64_t offset) __attribute__ ((weak));
-+                          off64_t offset) __attribute__ ((weak));
- 
-       extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt,
--                          __off64_t offset) __attribute__ ((weak));
-+                          off64_t offset) __attribute__ ((weak));
-    #else
-       #error "Large file support unavailable. Aborting."
-    #endif
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
deleted file mode 100644
index 3e4753b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Dec 2018 19:59:02 -0800
-Subject: [PATCH] misc: Do not print NULL string into logs
-
-string format %s is getting a NULL pointer for 'expand'
-parameter always since the check for chunks[i] == NULL will ensure that
-its always null when the Log() API is called
-
-Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/misc/util_misc.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/open-vm-tools/lib/misc/util_misc.c
-+++ b/open-vm-tools/lib/misc/util_misc.c
-@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName)
-       ASSERT(!freeChunk[i]);
-       chunks[i] = expand;
-       if (chunks[i] == NULL) {
--	 Log("%s: Cannot allocate memory to expand $ in \"%s\".\n",
-+	 Log("%s: Cannot allocate memory to expand in \"%s\".\n",
-              __FUNCTION__, fileName);
- 	 goto out;
-       }
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf
deleted file mode 100644
index f6cae70..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[guestinfo]
-disable-perf-mon=1
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init
deleted file mode 100644
index 3828046..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-#
-#   vmtoolsd          Start/stop the vmware tools daemon
-#
-# chkconfig:  2345 90 60
-# description: vmtoolsd is a daemon that starts up.  for some reason, it
-#              doesn't include a sysv init startup file in the latest release.
-#              so i have to write this
-#
-
-### BEGIN INIT INFO
-# Provides: vmtoolsd
-# Required-Start: $local_fs $syslog
-# Required-Stop: $local_fs $syslog
-# Default-Start: 2345
-# Default-Stop: 90
-# Short-Description: Run vmware tools daemon
-### END INIT INFO
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/bin/vmtoolsd
-NAME=vmtoolsd
-DESC="vmware tools daemon"
-VMTOOLSDARGS=" -b /var/run/vmtoolsd.pid "
-RETVAL="1"
-
-# source function library
-. /etc/init.d/functions
-
-test -f $DAEMON || exit 0
-
-
-case "$1" in
-  start)
-    echo -n "Starting vmware tools daemon: "
-    start-stop-daemon --start --quiet --exec $DAEMON -- $VMTOOLSDARGS
-    RETVAL=$?
-    if [ $RETVAL -eq 0 ] ; then
-        echo "OK"
-    else
-        echo "FAIL"
-    fi
-    ;;
-  stop)
-    echo -n "Stopping vmware tools daemon: "
-    start-stop-daemon --stop --quiet --pidfile /var/run/vmtoolsd.pid
-    RETVAL=$?
-    if [ $RETVAL -eq 0 ] ; then
-        echo "OK"
-    else
-        echo "FAIL"
-    fi
-    ;;
-  status)
-    status vmtoolsd
-    exit $?
-    ;;
-  restart)
-    $0 stop && sleep 1 && $0 start
-    ;;
-  *)
-    echo "Usage: /etc/init.d/vmtoolsd {start|stop|status|restart}"
-    exit 1
-esac
-
-exit $RETVAL
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service
deleted file mode 100644
index d30e380..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Open Virtual Machine Tools (VMware Tools)
-ConditionVirtualization=vmware
-
-[Service]
-ExecStart=/usr/bin/vmtoolsd
-Restart=on-failure
-KillSignal=SIGKILL
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
deleted file mode 100644
index 34a81d2..0000000
--- a/meta-openembedded/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-# This recipe is modified from the recipe originally found in the Open-Switch
-# repository:
-#
-# https://github.com/open-switch/ops-build
-# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
-# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
-#
-# The recipe packaging has been relicensed under the MIT license for inclusion
-# in meta-openembedded by agreement of the author (Diego Dompe).
-#
-
-SUMMARY = "Tools to enhance VMWare guest integration and performance"
-HOMEPAGE = "https://github.com/vmware/open-vm-tools"
-SECTION = "vmware-tools"
-
-LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac"
-LICENSE_modules/freebsd/vmblock = "BSD"
-LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
-LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
-LICENSE_modules/linux = "GPL-2.0"
-LICENSE_modules/solaris = "CDDL-1.0"
-
-SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
-    file://tools.conf \
-    file://vmtoolsd.service \
-    file://vmtoolsd.init \
-    file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \
-    file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \
-    file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \
-    file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \
-    file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \
-    file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \
-    file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \
-    file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \
-    file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \
-    file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \
-    file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
-    file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
-    file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
-    file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \
-    file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \
-    file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \
-    file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \
-    file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \
-"
-
-SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987"
-
-S = "${WORKDIR}/git/open-vm-tools"
-
-DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc"
-
-# open-vm-tools is supported only on x86.
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-inherit autotools pkgconfig systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
-
-EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
-         --disable-tests --without-gtkmm --without-xerces --without-pam \
-         --disable-vgauth --disable-deploypkg \
-         --without-root-privileges --without-kernel-modules --with-tirpc \
-         --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
-
-NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
-X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
-PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
-
-# fuse gets implicitly detected; there is no --without-fuse option.
-PACKAGECONFIG[fuse] = ",,fuse"
-
-CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
-FILES_${PN} += "\
-    ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
-    ${libdir}/open-vm-tools/plugins/common/lib*.so \
-    ${sysconfdir}/vmware-tools/tools.conf \
-"
-FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
-FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
-
-CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
-
-RDEPENDS_${PN} = "util-linux libdnet fuse"
-
-do_install_append() {
-    if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
-        install -d ${D}/sbin
-        ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
-    fi
-    install -d ${D}${sysconfdir}/vmware-tools
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -d ${D}${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
-    else
-        install -d ${D}${sysconfdir}/init.d
-        install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
-    fi
-    install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
-}
-
-do_configure_prepend() {
-    export CUSTOM_DNET_NAME=dnet
-    export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "vmtoolsd"
-INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
-
-python() {
-    if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
-        'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
-        raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.')
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
rename to meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb
index 7c04600..c5274aa 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.58.bb
@@ -25,8 +25,8 @@
     file://remove-user-host-pwd-from-version.patch \
 "
 
-SRC_URI[md5sum] = "e3349456c3a66e5e6155be7ddc3f042c"
-SRC_URI[sha256sum] = "c7ba47e1e6ecb5b436f3d43281df57abeffa99262141aec822628bc220f6b45a"
+SRC_URI[md5sum] = "c203d735ba69976e5b28dc39006f29b5"
+SRC_URI[sha256sum] = "57b59254be15d0bf6a9ab3d514c1c05777b02123291533134a87c94468f8f47b"
 
 DEPENDS = "util-linux groff-native"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb
index c85fbf2..52aa170 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb
@@ -7,7 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[sha256sum] = "5c14759c99891e6e472aced6d5f0ff1dacf85d80cd9026d365c55c653edf792c"
+SRC_URI[sha256sum] = "fd51ead4aac1d2f4684fa6e7b0ec06f0233ed21667e720a4e817e4455dd63d27"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb
rename to meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb
index b6988ba..4630eb0 100644
--- a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.36.bb
+++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.37.bb
@@ -10,7 +10,7 @@
 SRC_URI = "git://github.com/abrt/satyr.git \
            file://0002-fix-compile-failure-against-musl-C-library.patch \
 "
-SRCREV = "a1f232b7dbca7ff787076fcfb63ce7d7fb15b753"
+SRCREV = "4a7d0a31cdeee23bb13739f57926188a795bdf25"
 S = "${WORKDIR}/git"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
index ce46cf5..9a0da83 100644
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
@@ -36,3 +36,4 @@
 RDEPENDS_${PN} += "mdadm"
 
 COMPATIBLE_HOST_powerpc = 'null'
+COMPATIBLE_HOST_powerpc64le = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
rename to meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb
index 196198c..f9e1274 100644
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb
@@ -17,11 +17,8 @@
 
 RDEPENDS_${PN} = "acl"
 
-SRC_URI = " \
-    git://github.com/storaged-project/udisks.git;branch=master \
-"
-PV = "2.9.1"
-SRCREV = "95444ab6bf2b8d8c205b540dded4029fcb15f91b"
+SRC_URI = "git://github.com/storaged-project/udisks.git;branch=master"
+SRCREV = "da6d9480fefeb0ffdf8a84626b5096827d8d7030"
 S = "${WORKDIR}/git"
 
 CVE_PRODUCT = "udisks"
diff --git a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb
rename to meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb
index d02cf5d..f506223 100644
--- a/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uriparser/uriparser_0.9.5.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=fcc5a53146c2401f4b4f6a3bdf3f0168"
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "095e8a358a9ccbbef9d1f10d40495ca0fcb3d4490a948ba6449b213a66e08ef0"
+SRC_URI[sha256sum] = "1987466a798becb5441a491d29e762ab1a4817a525f82ef239e3d38f85605a77"
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb
rename to meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb
index 4ec7bc2..ca8a3c0 100644
--- a/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.3.0.bb
@@ -8,8 +8,8 @@
 HOMEPAGE = "https://troydhanson.github.io/uthash/"
 SECTION = "base"
 LICENSE = "BSD-1-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6891c324eb59289db33bac74d4cbb0d4"
-SRCREV = "66e2668795d0aaf4977523f828e548470a680c33"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=736712b5904dd42f8678df7172bc5f2b"
+SRCREV = "e493aa90a2833b4655927598f169c31cfcdf7861"
 
 SRC_URI = "\
     git://github.com/troydhanson/${BPN}.git \
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch
new file mode 100644
index 0000000..8dd30a2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/add__divmoddi4.patch
@@ -0,0 +1,36 @@
+add __divmoddi4 builtin
+
+GCC 11 will generate it in code
+
+void foo(unsigned char *u8Second, unsigned int *u32Nanosecond, long long timeSpec)
+{
+    long long i64Div;
+    int i32Div;
+    int i32Rem;
+    i64Div = timeSpec;
+    i32Rem = (int)(i64Div % 1000000000);
+    i64Div /= 1000000000;
+    *u32Nanosecond = i32Rem;
+    i32Rem = (int)(i64Div % 60);
+    *u8Second = i32Rem;
+}
+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/VBox/Runtime/common/math/gcc/divdi3.c
++++ b/src/VBox/Runtime/common/math/gcc/divdi3.c
+@@ -68,3 +68,12 @@ __divdi3(a, b)
+ 		uq = - uq;
+ 	return uq;
+ }
++
++quad_t
++__divmoddi4(quad_t a, quad_t b, quad_t* rem)
++{
++	quad_t d = __divdi3(a,b);
++	*rem = a - (d*b);
++	return d;
++}
++
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb
index d620e98..1def1a3 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb
@@ -14,6 +14,7 @@
 SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
     file://Makefile.utils \
     file://kernel-5.10.patch \
+    file://add__divmoddi4.patch \
 "
 SRC_URI[md5sum] = "c61001386eb3822ab8f06d688a82e84b"
 SRC_URI[sha256sum] = "108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40"
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch
deleted file mode 100644
index 5b9315c..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9de23a9199d26e64ab6b5be2bb74f260200b2dc5 Mon Sep 17 00:00:00 2001
-From: matt335672 <30179339+matt335672@users.noreply.github.com>
-Date: Fri, 21 Aug 2020 12:20:31 +0100
-Subject: [PATCH] Fixed compiler warnings about snprintf truncations
-
-Upstream-Status: Backport [https://github.com/neutrinolabs/xrdp/pull/1659]
----
- common/log.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/common/log.c b/common/log.c
-index 4a0bd2f3..8686789d 100644
---- a/common/log.c
-+++ b/common/log.c
-@@ -555,9 +555,7 @@ log_message(const enum logLevels lvl, const char *msg, ...)
-     now_t = time(&now_t);
-     now = localtime(&now_t);
- 
--    snprintf(buff, 21, "[%.4d%.2d%.2d-%.2d:%.2d:%.2d] ", now->tm_year + 1900,
--             now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min,
--             now->tm_sec);
-+    strftime(buff, 21, "[%Y%m%d-%H:%M:%S] ", now);
- 
-     internal_log_lvl2str(lvl, buff + 20);
- 
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch
new file mode 100644
index 0000000..c06aa7b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch
@@ -0,0 +1,22 @@
+From 5958db649855bfb2ada7c0ed22a00f839b9a1161 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 12 Mar 2021 21:40:35 -0800
+Subject: [PATCH] arch: Define NO_NEED_ALIGN on ppc64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/arch.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/common/arch.h
++++ b/common/arch.h
+@@ -84,7 +84,7 @@ typedef int bool_t;
+ #define NEED_ALIGN
+ #elif defined(__x86__) || defined(__x86_64__) || \
+       defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \
+-      defined(__i386__) || defined(__aarch64__) || \
++      defined(__i386__) || defined(__aarch64__) || defined(__powerpc64__) || \
+       defined(__riscv)
+ #define NO_NEED_ALIGN
+ #else
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch
deleted file mode 100644
index b06077b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c8d3df40ece7d659ccc8212b18de916d28f4398a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Dec 2020 23:10:52 -0800
-Subject: [PATCH] correct the location of errno.h
-
-Fixes build on musl
-
-Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/1761]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sesman/chansrv/sound.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sesman/chansrv/sound.c b/sesman/chansrv/sound.c
-index b0480d33..45e17307 100644
---- a/sesman/chansrv/sound.c
-+++ b/sesman/chansrv/sound.c
-@@ -23,7 +23,7 @@
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <signal.h>
- #include <sys/un.h>
- 
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch
deleted file mode 100644
index 4cd26df..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 229206aa5e55a6e26a074a54a1b50139ab794b36 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Dec 2020 23:01:13 -0800
-Subject: [PATCH] riscv doesn't require pointers to be aligned
-
-Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/1761]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- common/arch.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/common/arch.h b/common/arch.h
-index ccccfa5a..8c2ac1a4 100644
---- a/common/arch.h
-+++ b/common/arch.h
-@@ -84,7 +84,8 @@ typedef int bool_t;
- #define NEED_ALIGN
- #elif defined(__x86__) || defined(__x86_64__) || \
-       defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \
--      defined(__i386__) || defined(__aarch64__)
-+      defined(__i386__) || defined(__aarch64__) || \
-+      defined(__riscv)
- #define NO_NEED_ALIGN
- #else
- #warning unknown arch
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb
rename to meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb
index 078e23c..039ba1a 100644
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb
+++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb
@@ -14,11 +14,9 @@
            file://xrdp.sysconfig \
            file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
            file://0001-Fix-the-compile-error.patch \
-           file://0001-riscv-doesn-t-require-pointers-to-be-aligned.patch \
-           file://0001-correct-the-location-of-errno.h.patch \
-           file://0001-Fixed-compiler-warnings-about-snprintf-truncations.patch \
+           file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \
            "
-SRCREV = "1469d659dbccd6d042ac44f0afc4e1309788dc9d"
+SRCREV = "f24b7b7988140b18202908654db3289659303772"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb b/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
deleted file mode 100644
index e437d4d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Extremely fast non-cryptographic hash algorithm"
-DESCRIPTION = "xxHash is an extremely fast non-cryptographic hash algorithm, \
-working at speeds close to RAM limits."
-HOMEPAGE = "http://www.xxhash.com/"
-LICENSE = "BSD-2-Clause & GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb"
-
-SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0"
-
-S = "${WORKDIR}/git"
-
-do_compile () {
-	oe_runmake all
-}
-
-do_install () {
-	oe_runmake DESTDIR=${D} install
-}