subtree updates

meta-openembedded: a9e6d16e66..11df15765c:
  Adrian Fiergolski (1):
        python3-matplotlib: add missing dependency

  Adrian Freihofer (6):
        conntrack-tools: fix postinst script
        networkmanager: improve dependency handling
        networkmanager: simplify selective installation
        networkmanager: use nftables by default
        networkmanager: udpate to 1.38.0
        modemmanager: update to 1.18.8

  Armin Kuster (2):
        mariadb: update to 10.7.4
        mariadb: Fix i386 Clang builds

  Bartosz Golaszewski (2):
        python3-uinput: new package
        python3-speedtest-cli: fix RDEPENDS

  Changqing Li (1):
        redis: upgrade 7.0-rc3 -> 7.0.0

  Denys Dmytriyenko (1):
        devmem2: the source and patches moved to github repo

  Enrico Scholz (1):
        nodejs-oe-cache-native: initial checkin

  Jiaqing Zhao (1):
        openldap: Remove unnecessary use-urandom.patch

  Kai Kang (2):
        libportal: add distro features check
        graphviz: rrecommends on liberation-fonts

  Khem Raj (5):
        ubi-utils-klibc: Disable lzo compression by default
        unattended-upgrades: Disable auto-detecting modules
        sdbus-c++: Link with libatomic for rv32
        sdbus-c++-libsystemd: Fix patch fuzz
        python3-uinput: Fix build on 32bit arches using 64bit times_t

  Luca Boccassi (1):
        dbus-broker: update 29 -> 31

  Marcel Ziswiler (1):
        libavtp: add recipe for audio video transport protocol (avtp)

  Markus Volk (6):
        jack: allow to build native/nativesdk
        pipewire: reduce native/nativesdk dependencies; add backport patch
        p8platform: unbreak do_populate_sdk
        pavucontrol: update; fix build for wayland only
        gnome-disk-utility: fix build for wayland only
        unblock some recipes for wayland

  Martin Jansa (1):
        mm-common: package the files from ${PN} in ${PN}-dev and use allarch

  Ming Liu (1):
        bluealsa: uprev to 4.0.0

  Nikhil R (1):
        duktape: Add ptest

  Peter Marko (1):
        libgpiod: move test dependencies to ptest package

  Ross Burton (8):
        python3-cppy: fix inherits and DEPENDS
        python3-setuptools-scm-git-archive: add new recipe
        python3-traitlets: upgrade to 5.2.1
        python3-pathspec: add new recipe
        python3-hatchling: add new recipe and build class
        python3-editables: add new recipe
        python3-setuptools-declarative-requirements: add new recipe
        lzop: add (from oe-core)

  Samuli Piippo (2):
        flite: add recipe
        libtomcrypt: add recipe

  Thomas Perrot (1):
        nbd: update 3.20 -> 3.24

  Vyacheslav Yurkov (4):
        packagegroup-meta-filesystems: fix build issue
        overlayfs-progs: add new recipe
        overlayfs-tools: add new recipe
        xfstests: add new recipe

  Wang Mingyu (38):
        babeld: upgrade 1.12 -> 1.12.1
        ctags: upgrade 5.9.20220508.0 -> 5.9.20220515.0
        libbpf: upgrade 0.7.0 -> 0.8.0
        evtest: upgrade 1.34 -> 1.35
        nbdkit: upgrade 1.31.5 -> 1.31.7
        smarty: upgrade 4.1.0 -> 4.1.1
        thingsboard-gateway: upgrade 2.9 -> 3.1
        opencl-headers: upgrade 2022.01.04 -> 2022.05.18
        python3-robotframework: upgrade 5.0 -> 5.0.1
        python3-watchdog: upgrade 2.1.7 -> 2.1.8
        python3-web3: upgrade 5.29.0 -> 5.29.1
        python3-xmlschema: upgrade 1.10.0 -> 1.11.0
        python3-sqlalchemy: upgrade 1.4.35 -> 1.4.36
        python3-yappi: upgrade 1.3.3 -> 1.3.5
        apitrace: upgrade 11.0 -> 11.1
        ctags: upgrade 5.9.20220515.0 -> 5.9.20220529.0
        gedit: upgrade 42.0 -> 42.1
        hidapi: upgrade 0.11.2 -> 0.12.0
        libbytesize: upgrade 2.6 -> 2.7
        libdvdread: upgrade 6.1.2 -> 6.1.3
        links: upgrade 2.26 -> 2.27
        libxmlb: upgrade 0.3.8 -> 0.3.9
        ser2net: upgrade 4.3.5 -> 4.3.6
        python3-awesomeversion: upgrade 22.5.1 -> 22.5.2
        htop: upgrade 3.2.0 -> 3.2.1
        hwdata: upgrade 0.359 -> 0.360
        libnet-dns-perl: upgrade 1.33 -> 1.34
        tinyproxy: upgrade 1.11.0 -> 1.11.1
        function2: upgrade 4.2.0 -> 4.2.1
        openvpn: upgrade 2.5.6 -> 2.5.7
        poppler: upgrade 22.05.0 -> 22.06.0
        sshfs-fuse: upgrade 3.7.2 -> 3.7.3
        tgt: upgrade 1.0.82 -> 1.0.83
        tracker: upgrade 3.3.0 -> 3.3.1
        unbound: upgrade 1.15.0 -> 1.16.0
        zabbix: upgrade 6.0.4 -> 6.0.5
        botan: upgrade 2.19.1 -> 2.19.2
        evolution-data-server: upgrade 3.44.1 -> 3.44.2

  Wolfgang Meyer (1):
        fbida: remove bash from RDEPENDS

  Xu Huan (17):
        python3-pint: upgrade 0.19.1 -> 0.19.2
        python3-pylint: upgrade 2.13.7 -> 2.13.9
        python3-redis: upgrade 4.2.2 -> 4.3.1
        python3-werkzeug: upgrade 2.1.1 -> 2.1.2
        python3-zeroconf: upgrade 0.38.4 -> 0.38.6
        python3-sentry-sdk: upgrade 1.5.10 -> 1.5.12
        python3-astroid: upgrade 2.11.3 -> 2.11.5
        python3-cachetools: upgrade 5.0.0 -> 5.1.0
        python3-imageio: upgrade 2.19.1 -> 2.19.2
        python3-asyncinotify: upgrade 2.0.2 -> 2.0.3
        python3-croniter: upgrade 1.3.4 -> 1.3.5
        python3-google-api-core: upgrade 2.7.3 -> 2.8.0
        python3-flask-socketio: upgrade 5.1.2 -> 5.2.0
        python3-h5py: upgrade 3.6.0 -> 3.7.0
        python3-lz4: upgrade 4.0.0 -> 4.0.1
        python3-mypy: upgrade 0.950 -> 0.960
        python3-pyscaffold: upgrade 4.2.1 -> 4.2.2

  zhengrq.fnst (10):
        python3-google-api-python-client: upgrade 2.45.0 -> 2.48.0
        python3-grpcio-tools: upgrade 1.46.0 -> 1.46.3
        python3-openpyxl: upgrade 3.0.9 -> 3.0.10
        python3-paramiko: upgrade 2.10.4 -> 2.11.0
        python3-humanize: upgrade 4.0.0 -> 4.1.0
        python3-pychromecast: upgrade 12.1.1 -> 12.1.2
        python3-cachetools: upgrade 5.1.0 -> 5.2.0
        python3-google-api-python-client: upgrade 2.48.0 -> 2.49.0
        python3-googleapis-common-protos: upgrade 1.56.1 -> 1.56.2
        python3-imageio: upgrade 2.19.2 -> 2.19.3

  zhengruoqin (6):
        python3-bitarray: upgrade 2.5.0 -> 2.5.1
        python3-eventlet: upgrade 0.33.0 -> 0.33.1
        python3-googleapis-common-protos: upgrade 1.56.0 -> 1.56.1
        python3-imageio: upgrade 2.18.0 -> 2.19.1
        python3-pyjwt: upgrade 2.3.0 -> 2.4.0
        python3-wrapt: upgrade 1.14.0 -> 1.14.1

poky: 13d70e57f8..ee0d001b81:
  Alex Stewart (1):
        opkg: upgrade to version 0.6.0

  Alexander Kanavin (23):
        bash: submit patch upstream
        valgrind: submit arm patches upstream
        apt: fix upstream version check
        zip/unzip: mark all submittable patches as Inactive-Upstream
        less: mark upstream version as unknown
        wayland: exclude pre-releases from version check
        mesa-demos: update 8.4.0 -> 8.5.0
        seatd: update 0.6.4 -> 0.7.0
        systemd: update 250.5 -> 251.2
        btrfs-tools: update 5.16.2 -> 5.18
        llvm: update 14.0.3 -> 14.0.4
        python3-psutil: update 5.9.0 -> 5.9.1
        tiff: update 4.3.0 -> 4.4.0
        pulseaudio: update 15.0 -> 16.0
        alsa-utils-scripts: merge into alsa-utils
        alsa-utils: update 1.2.6 -> 1.2.7
        ovmf: update 202202 -> 202205
        cmake: update 3.23.1 -> 3.23.2
        ltp: upgrade 20220121 -> 20220527
        perl: update 5.34.1 -> 5.36.0
        perl: drop perltoc regeneration
        perl: clean prior to build
        perl: enable _GNU_SOURCE define via d_gnulibc

  Bruce Ashfield (7):
        linux-yocto/5.15: bpf: explicitly disable unpriv eBPF by default
        linux-yocto/5.15: update to v5.15.43
        linux-yocto/5.10: update to v5.10.118
        linux-yocto/5.15: Enable MDIO bus config
        linux-yocto/5.15: cfg/xen: Move x86 configs to separate file
        linux-yocto/5.15: update to v5.15.44
        linux-yocto/5.10: update to v5.10.119

  Chen Qi (1):
        libsdl2: add back xvm and xinerama options

  Daiane Angolini (1):
        python3-pip: Fix RDEPENDS after the update

  Davide Gardenal (2):
        efivar: add musl libc compatibility
        baremetal-image: fix broken symlink in do_rootfs

  Dmitry Baryshkov (2):
        go.bbclass: fix path to linker in native Go builds
        linux-firmware: add support for building snapshots

  Ernst Sjöstrand (2):
        cve-check: Add helper for symlink handling
        cve-check: Only include installed packages for rootfs manifest

  He Zhe (1):
        lttng-modules: Fix build failure for 5.10.119+ and 5.15.44+ kernel

  Jack Mitchell (1):
        meson.bbclass: add cython binary to cross/native toolchain config

  Jeremy Puhlman (1):
        gcc: depend on zstd-native

  Jiaqing Zhao (1):
        systemd: Correct 0001-pass-correct-parameters-to-getdents64.patch

  Joerg Vehlow (1):
        libseccomp: Add missing files for ptests

  Jose Quaresma (1):
        archiver: use bb.note instead of echo

  Kai Kang (1):
        xxhash: fix build with gcc 12

  Marcel Ziswiler (2):
        alsa-plugins: fix libavtp vs. avtp packageconfig
        gstreamer1.0-plugins-bad: add libavtp packageconfig

  Markus Volk (1):
        gcr: build with gtk+3 for wayland

  Marta Rybczynska (4):
        cve-check: move update_symlinks to a library
        cve-check: write empty fragment files in the text mode
        cve-check: fix return type in check_cves
        cve-update-db-native: make it possible to disable database updates

  Martin Jansa (9):
        makedevs: Don't use COPYING.patch just to add license file into ${S}
        insane.bbclass: make sure to close .patch files
        staging.bbclass: process direct dependencies in deterministic order
        patch.py: make sure that patches/series file exists before quilt pop
        lttng-modules: fix shell syntax
        buildhistory.bbclass: fix shell syntax when using dash
        rootfs.py: close kernel_abi_ver_file
        ltp: use bfd even when gold is used with ld-is-gold
        systemd: Fix build without utmp

  Michael Opdenacker (1):
        migration guides: release notes for 4.0.1

  Mikko Rapeli (1):
        bitbake: event.py: ignore exceptions from stdout and sterr operations in atexit

  Ming Liu (1):
        udev-extraconf: let automount base directory configurable

  Mingli Yu (4):
        perl: Fix build with gcc-12
        ccache: Fix build with gcc-12
        oescripts: change compare logic in OEListPackageconfigTests
        python3-cryptography: remove test_x509.py

  Naveen Saini (1):
        pciutils: avoid lspci conflict with busybox

  Pavel Zhukov (6):
        bitbake.conf: Make TCLIBC and TCMODE lazy assigned
        bitbake: fetch2: Honour BB_FETCH_PREMIRRORONLY option
        bitbake: Add tests to cover BB_FETCH_PREMIRRORONLY functionality
        dbus: Specify runstatedir configure option
        bitbake: tests/fetch: Drop unnecessary duplicated function
        bitbake: tests/fetch: Add tests for premirror using real project

  Peter Kjellerstedt (2):
        libseccomp: Correct LIC_FILES_CHKSUM
        license.bbclass: Bound beginline and endline in copy_license_files()

  Quentin Schulz (2):
        docs: set_versions.py: remove honister from active releases list
        docs: set_versions.py: check for first latest release tag

  Rasmus Villemoes (2):
        vim: put xxd in its own package
        e2fsprogs: add alternatives handling of lsattr as well

  Ricardo Salveti (1):
        gnu-efi: enable for riscv64

  Richard Purdie (51):
        cve-extra-exclusions: Add kernel CVEs
        lzo: Add further info to a patch and mark as Inactive-Upstream
        python3: Remove problematic paths from sysroot files
        python3: Ensure stale empty python module directories don't break the build
        Revert "qemu.inc: Remove empty egg-info directories before running meson"
        Revert "meson.bblcass: Remove empty egg-info directories before running meson"
        vim: Upgrade 8.2.4912 -> 8.2.5034 to fix 9 CVEs
        tiff: Add jbig PACKAGECONFIG and clarify CVE-2022-1210
        libxslt: Mark CVE-2022-29824 as not applying
        oeqa/imagefeatures: Replace lzo with zst
        oeqa/imagefeatures: Disable squashfs-lzo
        cve-check: Allow warnings to be disabled
        openssl: Backport fix for ptest cert expiry
        bitbake: runqueue: Fix unihash cache mismatch issues
        bitbake: cache/siggen: Add unihash cache copy function
        bitbake: bitbake: Bump to version 2.0.1
        populate_sdk_ext: Fix race condition on bb_unihashes.dat
        gcc-cross-canadian: Add nativesdk-zstd dependency
        glib-2.0: upgrade 2.72.1 -> 2.72.2
        dnf: upgrade 4.12.0 -> 4.13.0
        python3-dtschema: upgrade 2022.4 -> 2022.5
        python3-sphinx: upgrade 4.5.0 -> 5.0.0
        python3-pip: upgrade 22.1.1 -> 22.1.2
        alsa-lib: upgrade 1.2.6.1 -> 1.2.7
        sysklogd: upgrade 2.3.0 -> 2.4.0
        libxkbcommon: upgrade 1.4.0 -> 1.4.1
        piglit: upgrade to latest revision
        sysstat: upgrade 12.4.5 -> 12.6.0
        harfbuzz: upgrade 4.2.1 -> 4.3.0
        gtk+3: upgrade 3.24.33 -> 3.24.34
        xwayland: upgrade 22.1.1 -> 22.1.2
        alsa-ucm-conf: upgrade 1.2.6.3 -> 1.2.7
        gnutls: upgrade 3.7.5 -> 3.7.6
        webkitgtk: upgrade 2.36.1 -> 2.36.3
        diffoscope: upgrade 212 -> 215
        populate_sdk_ext: Fix second bb_unihashes reference
        sanity: Switch to make 4.0 as a minimum version
        perl: Add dependency on make-native to avoid race issues
        glibc: Drop make-native dependency
        bitbake: fetch/wget: Move files into place atomically
        bitbake: server/process: Avoid risk of exception deadlocks
        bitbake: server/process: Remove daemonic thread usage
        bitbake: server/process: Avoid tracebacks at exit
        uboot-sign: Fix potential index error issues
        selftest/multiconfig: Test that multiconfigs in separate layers works
        bitbake: cooker: Drop sre_constants usage
        classes/buildcfg: Move git/layer revision code into new OE module buildcfg
        lib/buildcfg: Share common clean/dirty layer function
        buildcfg: Drop unused svn revision function
        base/buildhistory/image-buildinfo: Use common buildcfg function
        image-buildinfo: Improve and extend to SDK coverage too

  Robert Yang (1):
        systemd: Set RebootWatchdogSec to 60s as watchdog

  Ross Burton (8):
        python3-pluggy: add BBCLASSEXTEND for native/nativesdk
        btrfs-tools: add a PACKAGECONFIG for lzo
        tiff: mark CVE-2022-1622 and CVE-2022-1623 as invalid
        packagegroup-self-hosted: remove lzo
        libarchive: disable LZO by default
        squashfs-tools: disable LZO by default
        lzop: remove recipe from oe-core
        setuptools3: clean up class

  Rusty Howell (1):
        oe-depends-dot: Handle new format for task-depends.dot

  Sean Anderson (1):
        rootfs.py: find .ko.zst kernel modules

  Stefan Wiehler (1):
        kernel-yocto.bbclass: Reset to exiting on non-zero return code at end of task

  Tobias Schmidl (2):
        oeqa/selftest/wic.py: Repaired test_qemu()
        wic/plugins/images/direct: Allow changes in fstab on rootfs

  Vyacheslav Yurkov (2):
        files: rootfs-postcommands: move helper commands to script
        files: respect overlayfs owner from lower layer

  Xiaobing Luo (1):
        devtool: Fix _copy_file() TypeError

  Zach Welch (2):
        test-manual/intro: reorder bitbake-selftest steps
        test-manual/intro: bitbake-selftest needs bitbake

  leimaohui (1):
        gnutls: Added fips option.

  wangmy (30):
        bind: upgrade 9.18.2 -> 9.18.3
        ccache: upgrade 4.6 -> 4.6.1
        init-system-helpers: upgrade 1.62 -> 1.63
        ninja: upgrade 1.10.2 -> 1.11.0
        python3-certifi: upgrade 2021.10.8 -> 2022.5.18.1
        python3-cython: upgrade 0.29.28 -> 0.29.30
        python3-hypothesis: upgrade 6.46.4 -> 6.46.7
        python3-importlib-metadata: upgrade 4.11.3 -> 4.11.4
        python3-magic: upgrade 0.4.25 -> 0.4.26
        python3-pip: upgrade 22.1 -> 22.1.1
        python3-setuptools: upgrade 62.3.1 -> 62.3.2
        python3-hypothesis: upgrade 6.46.7 -> 6.46.9
        python3-semantic-version: upgrade 2.9.0 -> 2.10.0
        python3-webcolors: upgrade 1.11.1 -> 1.12
        python3-pytest-subtests: upgrade 0.7.0 -> 0.8.0
        asciidoc: upgrade 10.1.4 -> 10.2.0
        cups: upgrade 2.4.1 -> 2.4.2
        iproute2: upgrade 5.17.0 -> 5.18.0
        iw: upgrade 5.16 -> 5.19
        logrotate: upgrade 3.19.0 -> 3.20.1
        dpkg: upgrade 1.21.7 -> 1.21.8
        repo: upgrade 2.25 -> 2.26
        iso-codes: upgrade 4.9.0 -> 4.10.0
        lttng-ust: upgrade 2.13.2 -> 2.13.3
        meson: upgrade 0.62.1 -> 0.62.2
        mtools: upgrade 4.0.39 -> 4.0.40
        nettle: upgrade 3.7.3 -> 3.8
        kbd: upgrade 2.4.0 -> 2.5.0
        python3-hypothesis: upgrade 6.46.9 -> 6.46.11
        xkeyboard-config: upgrade 2.35.1 -> 2.36

meta-security: 7628a3e90b..8c6fe006a1:
  Armin Kuster (18):
        swtpm: enable seccomp if DISTRO is enabled
        security-tpm2-image: add swtpm
        swtpm: enable gnutls
        oeqa/swtpm: add swtpm runtime
        oeqa/tpm2: fix and cleanup tests
        tpm2-pkcs11: we really need the symlinks
        smack-test: switch to python3
        oeqa/smack: consolidate classes
        checksec: update 2.6.0
        chkrootkit: update SRC_URI
        packagegroup-core-security: add arpwatch and chkrootkit to pkg grp
        layer.conf: Post release codename changes
        README: Update for dynamic layers
        arpwatch: riscv not supported
        packagegroup-core-security: drop arpwatch for riscv from pkg grp
        chkrootkit: Fix missing includes for musl
        arpwatch: update to 3.3
        packagegroup-core-security: don't include aprwatch for musl
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ic83db16445cf0a1286685f11d378e1e3e9b794c3
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
index 75591c3..1954b59 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
@@ -1,5 +1,6 @@
 SUMMARY = "Meta-filesystem packagegroups"
 
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
 inherit packagegroup
 
 PROVIDES = "${PACKAGES}"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
similarity index 92%
rename from meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb
rename to meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
index b839c26..f91e682 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.2.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.7.3.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "git://github.com/libfuse/sshfs;branch=master;protocol=https"
-SRCREV = "9700b353700589dcc462205c638bcb40219a49c2"
+SRCREV = "c91eb9a9a992f1a36c49a8e6f1146e45b5e1c8e7"
 S = "${WORKDIR}/git"
 
 inherit meson pkgconfig ptest
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs/0001-Makefile-proper-location-of-LDFLAGS.patch b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs/0001-Makefile-proper-location-of-LDFLAGS.patch
new file mode 100644
index 0000000..d9f285d
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs/0001-Makefile-proper-location-of-LDFLAGS.patch
@@ -0,0 +1,30 @@
+From 8eeaee82dcfdf47f16ad880e416b722827f41bdb Mon Sep 17 00:00:00 2001
+From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
+Date: Mon, 23 May 2022 19:37:32 +0200
+Subject: [PATCH] Makefile: proper location of LDFLAGS
+
+Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index e3c5207..14b155e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+ CFLAGS = -Wall -g
+-LFLAGS = -lm
++LDFLAGS = -lm
+ CC = gcc
+ 
+ all: overlay
+@@ -7,7 +7,7 @@ all: overlay
+ objects = fsck.o common.o lib.o check.o mount.o path.o overlayfs.o
+ 
+ overlay: $(objects)
+-	$(CC) $(LFLAGS) $(objects) -o fsck.overlay
++	$(CC) $(objects) -o fsck.overlay $(LDFLAGS) 
+ 
+ .c.o:
+ 	$(CC) $(CFLAGS) -c $<
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs_git.bb
new file mode 100644
index 0000000..9d58b9a
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-progs_git.bb
@@ -0,0 +1,32 @@
+SUMMARY = "File system check utility for OverlayFS"
+HOMEPAGE = "https://github.com/hisilicon/overlayfs-progs"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851"
+
+SRC_URI = "\
+    git://github.com/hisilicon/overlayfs-progs.git;protocol=https;branch=master \
+    file://0001-Makefile-proper-location-of-LDFLAGS.patch \
+"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "e10ef686570d9c7eff42f52461593a5c15da56bd"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+# Required to have the fts.h header for musl
+DEPENDS:append:libc-musl = " fts"
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE:append:libc-musl = " LDFLAGS='-lfts'"
+
+EXTRA_OEMAKE += "'CC=${CC} -O2' "
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_compile () {
+    oe_runmake
+}
+
+do_install () {
+    install -d ${D}${bindir}
+    install -m 0755 ${B}/fsck.overlay ${D}${bindir}
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch
new file mode 100644
index 0000000..f7490eb
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch
@@ -0,0 +1,41 @@
+From 81b4fbb5f52044cb348534c23f10b3884972b09b Mon Sep 17 00:00:00 2001
+From: Beat Schaer <beat.schaer@wabtec.com>
+Date: Fri, 19 Mar 2021 08:18:58 +0100
+Subject: [PATCH] Fixed includes so that it compiles on Ubuntu 20.04
+
+---
+ logic.c | 3 +--
+ main.c  | 3 ++-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/logic.c b/logic.c
+index 97767f5..47ebfaa 100644
+--- a/logic.c
++++ b/logic.c
+@@ -7,8 +7,7 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <unistd.h>
+-#include <attr/xattr.h>
+-#include <attr/attributes.h>
++#include <sys/xattr.h>
+ #include <fts.h>
+ #include <libgen.h>
+ #include "logic.h"
+diff --git a/main.c b/main.c
+index aa11239..f462b98 100644
+--- a/main.c
++++ b/main.c
+@@ -12,7 +12,8 @@
+ #include <linux/limits.h>
+ #include <stdbool.h>
+ #include <sys/stat.h>
+-#include <attr/xattr.h>
++#include <sys/xattr.h>
++#include <errno.h>
+ #ifndef _SYS_STAT_H
+   #include <linux/stat.h>
+ #endif
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch
new file mode 100644
index 0000000..cf4de18
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch
@@ -0,0 +1,31 @@
+From b4ff5886797e72d1c21da43261ca7648412f3186 Mon Sep 17 00:00:00 2001
+From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
+Date: Mon, 23 May 2022 19:53:21 +0200
+Subject: [PATCH] makefile: fix linking flags
+
+LDLIBS should be placed at the end according to
+https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html
+
+Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
+---
+ makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/makefile b/makefile
+index fb1bed4..038c7ce 100644
+--- a/makefile
++++ b/makefile
+@@ -1,11 +1,11 @@
+ CFLAGS = -Wall -std=c99
+-LFLAGS = -lm
++LDLIBS = -lm
+ CC = gcc
+ 
+ all: overlay
+ 
+ overlay: main.o logic.o sh.o
+-	$(CC) $(LFLAGS) main.o logic.o sh.o -o overlay
++	$(CC) main.o logic.o sh.o -o overlay $(LDLIBS) 
+ 
+ main.o: main.c logic.h
+ 	$(CC) $(CFLAGS) -c main.c
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb
new file mode 100644
index 0000000..eb6e496
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Maintenance tools for OverlayFS"
+HOMEPAGE = "https://github.com/kmxz/overlayfs-tools"
+LICENSE = "WTFPL"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f312a7c4d02230e8f2b537295d375c69"
+
+SRC_URI = "\
+    git://github.com/kmxz/overlayfs-tools.git;protocol=https;branch=master \
+    file://0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch \
+    file://0002-makefile-fix-linking-flags.patch \
+"
+
+PV = "1.0+git${SRCPV}"
+SRCREV = "291c7f4a3fb548d06c572700650c2e3bccb0cd27"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+DEPENDS += "attr"
+# Required to have the fts.h header for musl
+DEPENDS:append:libc-musl = " fts"
+
+EXTRA_OEMAKE += "'CC=${CC} -O2'"
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE:append:libc-musl = " LDLIBS=-lfts"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_compile () {
+    oe_runmake
+}
+
+do_install () {
+    install -d ${D}${bindir}
+    install -m 0755 ${B}/overlay ${D}${bindir}
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb
new file mode 100644
index 0000000..868fa03
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfstests/xfstests_git.bb
@@ -0,0 +1,61 @@
+SUMMARY = "File system QA test suite"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
+
+SRCREV_FORMAT = "xfstests_unionmount"
+
+SRC_URI = "\
+    git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \
+    git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
+"
+
+SRCREV_xfstests = "37881397f1aa62df3c63468049c80b301b0e89eb"
+SRCREV_unionmount = "cec4c51a3bf8ba80bb99fc74b302749d4e3d2f1d"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep useradd
+
+DEPENDS += "xfsprogs acl"
+RDEPENDS:${PN} += "\
+    bash \
+    bc \
+    coreutils \
+    e2fsprogs \
+    e2fsprogs-tune2fs \
+    e2fsprogs-resize2fs \
+    libcap-bin \
+    overlayfs-progs \
+    perl \
+    python3 \
+    python3-core \
+    xfsprogs \
+    acl \
+"
+
+USERADD_PACKAGES = "${PN}"
+# these users are necessary to run the tests
+USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2"
+
+EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
+
+# install-sh script in the project is outdated
+# we use the one from the latest libtool to solve installation issues
+# It looks like the upstream is not interested in having it fixed :(
+# https://www.spinics.net/lists/fstests/msg16981.html
+do_configure:prepend() {
+    cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B}
+}
+
+do_install:append() {
+    unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite
+    install -d ${D}/usr/xfstests/unionmount-testsuite/tests
+    install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests
+    install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir
+    install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir
+    install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir
+}
+
+FILES:${PN} += "\
+    /usr/xfstests \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_40.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_40.0.bb
index 501b27a..4b454dc 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_40.0.bb
@@ -41,8 +41,8 @@
 S = "${WORKDIR}/git"
 SRCREV = "e561775c1580a9f60a726355b2b897bfc9cb3382"
 
-# for gnome-online-accounts
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
 
 GIR_MESON_OPTION = ""
 EXTRA_OEMESON = "-Dprofile=release"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb
index a6e5fa0..64291be 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb
@@ -17,7 +17,7 @@
 
 inherit features_check gnomebase vala gobject-introspection
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SHPV = "${@gnome_verdir("${PV}")}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
index b4931d7..64774b0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
@@ -8,7 +8,7 @@
 
 inherit pkgconfig gsettings gobject-introspection features_check cmake gtk-doc gettext perlnative vala
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI += " \
     file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
index 8f5f6de..78efee0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
@@ -9,5 +9,5 @@
 
 inherit gnomebase upstream-version-is-even
 
-SRC_URI[archive.sha256sum] = "6e05a90204a276f99d932097f1032cc17dd1d8e265c7c56727c63240fd4c0ccf"
-PV = "3.44.1"
+SRC_URI[archive.sha256sum] = "2ed72afe4d6bb170f8728faea0907fee10212dfde7a9fab82fbcc83d0f22f028"
+PV = "3.44.2"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.1.bb
similarity index 81%
rename from meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.1.bb
index 5bb5525..3efd2a9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_42.1.bb
@@ -21,11 +21,12 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "a87991f42961eb4f6abcdbaabb784760c23aeaeefae6363d3e21a61e9c458437"
+SRC_URI[archive.sha256sum] = "7f1fd43df5110d4c37de6541993f41f0fbc3efc790900e92053479ba069920e9"
 
 # gobject-introspection is mandatory and cannot be configured
-# x11 is needed for tepl and gtksourceview4
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11"
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
 GIR_MESON_OPTION = ""
 
 GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch
new file mode 100644
index 0000000..675f463
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch
@@ -0,0 +1,135 @@
+From 36cbdd82f21e4ef37da9f05c1c5e770b6cd66df2 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Sun, 29 May 2022 06:35:26 +0200
+Subject: [PATCH] gnome-disk-utility: remove libcanberra dependency
+
+libcanberra-gtk3 module isn't buildable for wayland.
+Remove its dpendency.
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Inappropriate
+---
+ meson.build                           |  1 -
+ src/disks/gducreatediskimagedialog.c  | 27 ++-------------------------
+ src/disks/gdurestorediskimagedialog.c | 20 +-------------------
+ src/disks/meson.build                 |  1 -
+ 4 files changed, 3 insertions(+), 46 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0daf7f82..cba6c74b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -72,7 +72,6 @@ dvdread_dep = dependency('dvdread', version: '>= 4.2.0')
+ gio_unix_dep = dependency('gio-unix-2.0', version: '>= 2.31.0')
+ gmodule_dep = dependency('gmodule-2.0')
+ gtk_dep = dependency('gtk+-3.0', version: '>= 3.16.0')
+-libcanberra_dep = dependency('libcanberra-gtk3', version: '>= 0.1')
+ # Keep the version here synchronised with subprojects/libhandy.wrap
+ libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0', fallback: ['libhandy', 'libhandy_dep'])
+ liblzma_dep = dependency('liblzma', version: '>= 5.0.5')
+diff --git a/src/disks/gducreatediskimagedialog.c b/src/disks/gducreatediskimagedialog.c
+index 181b2892..a22004cf 100644
+--- a/src/disks/gducreatediskimagedialog.c
++++ b/src/disks/gducreatediskimagedialog.c
+@@ -21,8 +21,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/fs.h>
+ 
+-#include <canberra-gtk.h>
+-
+ #include "gduapplication.h"
+ #include "gduwindow.h"
+ #include "gducreatediskimagedialog.h"
+@@ -297,19 +295,7 @@ create_disk_image_populate (DialogData *data)
+ 
+ static void
+ play_read_error_sound (DialogData *data)
+-{
+-  const gchar *sound_message;
+-
+-  /* Translators: A descriptive string for the sound played when
+-   * there's a read error that's being ignored, see
+-   * CA_PROP_EVENT_DESCRIPTION
+-   */
+-  sound_message = _("Disk image read error");
+-  ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0,
+-                          CA_PROP_EVENT_ID, "dialog-warning",
+-                          CA_PROP_EVENT_DESCRIPTION, sound_message,
+-                          NULL);
+-}
++{}
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+@@ -403,16 +389,7 @@ update_job (DialogData *data,
+ 
+ static void
+ play_complete_sound (DialogData *data)
+-{
+-  const gchar *sound_message;
+-
+-  /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */
+-  sound_message = _("Disk image copying complete");
+-  ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0,
+-                          CA_PROP_EVENT_ID, "complete",
+-                          CA_PROP_EVENT_DESCRIPTION, sound_message,
+-                          NULL);
+-}
++{}
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+diff --git a/src/disks/gdurestorediskimagedialog.c b/src/disks/gdurestorediskimagedialog.c
+index bccf97e9..e7ec81cb 100644
+--- a/src/disks/gdurestorediskimagedialog.c
++++ b/src/disks/gdurestorediskimagedialog.c
+@@ -17,8 +17,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/fs.h>
+ 
+-#include <canberra-gtk.h>
+-
+ #include "gduapplication.h"
+ #include "gduwindow.h"
+ #include "gdurestorediskimagedialog.h"
+@@ -606,23 +604,7 @@ update_job (DialogData *data,
+ 
+ static void
+ play_complete_sound (DialogData *data)
+-{
+-  const gchar *sound_message;
+-
+-  /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */
+-  sound_message = _("Disk image copying complete");
+-  ca_gtk_play_for_widget (GTK_WIDGET (data->dialog), 0,
+-                          CA_PROP_EVENT_ID, "complete",
+-                          CA_PROP_EVENT_DESCRIPTION, sound_message,
+-                          NULL);
+-
+-  if (data->inhibit_cookie > 0)
+-    {
+-      gtk_application_uninhibit (GTK_APPLICATION (gdu_window_get_application (data->window)),
+-                                 data->inhibit_cookie);
+-      data->inhibit_cookie = 0;
+-    }
+-}
++{}
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+diff --git a/src/disks/meson.build b/src/disks/meson.build
+index 35b2f103..6fc367b4 100644
+--- a/src/disks/meson.build
++++ b/src/disks/meson.build
+@@ -85,7 +85,6 @@ deps = [
+   dvdread_dep,
+   gio_unix_dep,
+   gmodule_dep,
+-  libcanberra_dep,
+   libgdu_dep,
+   libhandy_dep,
+   liblzma_dep,
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb
index e972474..c3789b0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb
@@ -7,7 +7,6 @@
 DEPENDS = " \
     gtk+3 \
     libdvdread \
-    libcanberra \
     libnotify \
     libsecret \
     libpwquality \
@@ -19,13 +18,16 @@
 
 inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg
 
-REQUIRED_DISTRO_FEATURES = "x11 polkit"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "polkit"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
 
 # As soon as elogind is of interest this needs rework: meson option is combo
 PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
+PACKAGECONFIG[x11] = ",,libcanberra"
 
+SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-gnome-disk-utility-remove-libcanberra-dependency.patch', '', d)}"
 SRC_URI[archive.sha256sum] = "1b6564454d67426322cb3bfc5a5558653bfc7dfeea2ae0825b1d08629f01090b"
 
 EXTRA_OEMESON = "-Dman=false"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb
index 5aa52d1..b6d9a58 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb
@@ -19,7 +19,7 @@
 
 inherit gnomebase gsettings features_check remove-libtool gettext
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[archive.sha256sum] = "a3d24db08ee2fdf240fbbf0971a98c8ee295aa0e1a774537f4ea938038a3b931"
 SRC_URI += " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb
index 64aa2f4..451670e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.44.0.bb
@@ -6,8 +6,7 @@
 
 inherit gnomebase gsettings gobject-introspection gsettings gtk-doc vala gettext features_check
 
-# for webkitgtk
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 DEPENDS = "glib-2.0"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_42.0.bb
index 219a069..32ecc90 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_42.0.bb
@@ -17,7 +17,8 @@
 
 inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext
 
-REQUIRED_DISTRO_FEATURES = "x11 polkit"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "polkit"
 
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
index db4d89d..979da79 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.2.bb
@@ -14,7 +14,7 @@
 
 inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz"
 SRC_URI[sha256sum] = "842de7e5cb52000fd810e4be39cd9fe29ffa87477f15da85c18f7b82d45637cc"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb
index 93f7f57..21d351a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb
@@ -14,8 +14,7 @@
 
 SRC_URI[archive.sha256sum] = "cbc2f564d2e9f00c760673f42d6803bce3e081ab7ffb4456deffffba9339b4dd"
 
-# depends on gsettings-desktop-schemas->gcr->gtk+3-> x11
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 EXTRA_OEMESON = " \
     -Dbluray=false \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
index 921c3ee..bd9180e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
@@ -14,8 +14,7 @@
 
 inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check
 
-# gcr
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 do_compile:prepend() {
     export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb
index 3ee7746..2e60264 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb
@@ -2,11 +2,9 @@
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
-inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even
+inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even features_check
 
-# depends on libxau
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI += "file://0001-fix-compile-error-for-cross-compile.patch"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
index ec728d7..9784f04 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
@@ -10,7 +10,9 @@
 SRCREV = "13df0b887a7eb7b0f9b14069561a41f62e813155"
 S = "${WORKDIR}/git"
 
-inherit meson gtk-doc gobject-introspection
+inherit meson gtk-doc gobject-introspection features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 DEPENDS += "glib-2.0 glib-2.0-native gtk+3"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.1.bb
index cb4e459..a6c82b2 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.1.bb
@@ -5,10 +5,10 @@
 BPN = "libwnck"
 
 SECTION = "x11/libs"
-DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres"
+DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native"
 
-PACKAGECONFIG ??= "startup-notification"
-PACKAGECONFIG[startup-notification] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[x11] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification libxres"
 
 GNOMEBASEBUILDCLASS = "meson"
 GTKDOC_MESON_OPTION = "gtk_doc"
@@ -22,5 +22,6 @@
 
 SRC_URI[archive.sha256sum] = "03134fa114ef3fbe34075aa83678f58aa2debe9fcef4ea23c0779e28601d6611"
 
-# libxres means x11 only
-REQUIRED_DISTRO_FEATURES = "x11"
+# gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb
index 61e82e2..66de215 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb
@@ -15,8 +15,7 @@
 
 inherit gnomebase gobject-introspection gettext features_check
 
-# for gtksourceview4
-REQUIRED_DISTRO_FEATURES += "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[archive.sha256sum] = "a86397a895dca9c0de7a5ccb063bda8f7ef691cccb950ce2cfdee367903e7a63"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.1.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.1.bb
index bb2396a..42f4486 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.1.bb
@@ -22,7 +22,7 @@
 
 inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native
 
-SRC_URI[archive.sha256sum] = "0706f96fe7f95df42acec812c1de7b4593a0d648321ca83506a9d71e22417bda"
+SRC_URI[archive.sha256sum] = "5ad6f5bc97781ebf55ecd6947cd4ae7ff4192516580d10bd8380f1dd47196ed2"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.42.1.bb
index d48eb82..2bcd8cc 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.42.1.bb
@@ -12,7 +12,7 @@
     gtk+3 \
 "
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[archive.sha256sum] = "a08e0c8e626615ee2c23ff74628eba6f8b486875dd54371ca7e2d7605b72a87c"
 SRC_URI += "file://0001-Harcode-shebang-to-avoid-pointing-to-build-system-s-.patch"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
index 8b91fb4..43ddb82 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/mtd/ubi-utils-klibc_2.0.2.bb
@@ -1,7 +1,7 @@
 SUMMARY = "UBI utils statically compiled against klibc"
 DESCRIPTION = "Small sized tools from mtd-utils for use with initramfs."
 SECTION = "base"
-DEPENDS = "zlib lzo e2fsprogs util-linux"
+DEPENDS = "zlib e2fsprogs util-linux"
 HOMEPAGE = "http://www.linux-mtd.infradead.org/"
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
@@ -25,6 +25,7 @@
 
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xattr', d)}"
 PACKAGECONFIG[xattr] = ",,acl,"
+PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
 
 EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} ${@bb.utils.contains('PACKAGECONFIG', 'xattr', '', '-DWITHOUT_XATTR', d)} -I${S}/include' 'BUILDDIR=${S}'"
 
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service
deleted file mode 100644
index 671815e..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Bluetooth Audio ALSA Backend
-After=bluetooth.service
-Requires=bluetooth.service
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/bluealsa
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
index 6740176..ab0d8bc 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
@@ -3,37 +3,64 @@
 SECTION = "libs"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=72d868d66bdd5bf51fe67734431de057"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8449a4f133a93f6254b496d4fb476e83"
 
-DEPENDS += "alsa-lib bluez5 glib-2.0 sbc"
+SRC_URI = "git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master"
 
-SRCREV = "aac8742a9e7dd12a1fead9cbce7d2dc8b961999c"
-
-SRC_URI = " \
-    git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master \
-    file://bluealsa.service \
-"
+SRCREV = "dd05a1baa261b94da9ba977b5e3392c8b4dc7a5e"
+PV = "4.0.0+git${SRCPV}"
 
 S  = "${WORKDIR}/git"
 
-PACKAGECONFIG[aac]  = "--enable-aac, --disable-aac,"
-PACKAGECONFIG[aptx] = "--enable-aptx,--disable-aptx,"
-PACKAGECONFIG[hcitop]   = "--enable-hcitop, --disable-hcitop, libbsd ncurses"
-PACKAGECONFIG[systemd]   = "--enable-systemd, --disable-systemd, systemd"
+DEPENDS += "alsa-lib bluez5 dbus glib-2.0 sbc"
 
-PACKAGECONFIG += "hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG ??= "aplay cli hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[a2dpconf]  = "--enable-a2dpconf,--disable-a2dpconf"
+PACKAGECONFIG[aac]  = "--enable-aac,--disable-aac,fdk-aac"
+PACKAGECONFIG[aplay] = "--enable-aplay,--disable-aplay"
+PACKAGECONFIG[cli] = "--enable-cli,--disable-cli"
+PACKAGECONFIG[coverage] = "--with-coverage,--without-coverage,lcov-native"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+PACKAGECONFIG[debug-time] = "--enable-debug-time,--disable-debug-time"
+PACKAGECONFIG[faststream] = "--enable-faststream,--disable-faststream"
+PACKAGECONFIG[hcitop] = "--enable-hcitop,--disable-hcitop,libbsd ncurses"
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[mp3lame] = "--enable-mp3lame,--disable-mp3lame,lame"
+PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123,mpg123"
+PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono,ofono"
+PACKAGECONFIG[payloadcheck] = "--enable-payloadcheck,--disable-payloadcheck"
+PACKAGECONFIG[rfcomm] = "--enable-rfcomm,--disable-rfcomm"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir} \
+                          --with-systemdbluealsaargs='${SYSTEMD_BLUEALSA_ARGS}' --with-systemdbluealsaaplayargs='${SYSTEMD_BLUEALSA_APLAY_ARGS}',--disable-systemd,systemd"
+PACKAGECONFIG[test] = "--enable-test,--disable-test,libcheck libsndfile1"
+PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,,upower"
 
 inherit autotools pkgconfig systemd
 
-FILES:${PN} += "\
-    ${datadir}/alsa/alsa.conf.d/20-bluealsa.conf\
-    ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.so\
-    ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.so\
+EXTRA_OECONF = " \
+    --disable-aptx \
+    --disable-lc3plus \
+    --disable-ldac \
+    --disable-manpages \
 "
 
-FILES:${PN}-staticdev += "\
-    ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.a\
-    ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.a\
-"
+PACKAGE_BEFORE_PN = "${PN}-aplay"
+RRECOMMENDS:${PN} = "${PN}-aplay"
 
-SYSTEMD_SERVICE:${PN} = "bluealsa.service bluealsa-aplay.service"
+FILES:${PN}-aplay = "${bindir}/bluealsa-aplay"
+FILES:${PN} += "${libdir}/alsa-lib/*"
+
+SYSTEMD_PACKAGES += "${PN}-aplay"
+SYSTEMD_SERVICE:${PN} = "bluealsa.service"
+SYSTEMD_SERVICE:${PN}-aplay = "bluealsa-aplay.service"
+
+SYSTEMD_AUTO_ENABLE:${PN}-aplay = "disable"
+
+# Choose bluez-alsa arguments to be used in bluealsa systemd service
+# Usually could choose profiles with it: a2dp-source a2dp-sink hfp-hf hfp-ag hsp-hs hsp-ag hfp-ofono
+# Enable bluez-alsa arguments by default:
+SYSTEMD_BLUEALSA_ARGS ?= "-p a2dp-source -p a2dp-sink"
+
+# Choose bluealsa-aplay arguments to be used in bluealsa-aplay systemd service
+# Defaults to be empty:
+SYSTEMD_BLUEALSA_APLAY_ARGS ?= ""
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
new file mode 100644
index 0000000..9ab9c02
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Flite: a small run-time speech synthesis engine"
+HOMEPAGE = "http://cmuflite.org"
+SECTION = "libs/multimedia"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b3b732d1349633a53e69356607fd2d6c"
+
+inherit autotools-brokensep
+
+SRC_URI = "git://github.com/festvox/flite.git;protocol=https;branch=master"
+
+SRCREV = "e9e2e37c329dbe98bfeb27a1828ef9a71fa84f88"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--enable-shared"
+
+do_install:append() {
+    chown -R root:root ${D}${libdir}/*
+}
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch
new file mode 100644
index 0000000..e432ccc
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch
@@ -0,0 +1,43 @@
+From cdbbe227594665145e9309a9ecb7d90aad070aab Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Wed, 1 Jun 2022 15:53:55 +0000
+Subject: [PATCH] provide 64bit host to network conversion macros
+
+musl dosn't include the macros which convert 64-bit integers
+between host and network endianness from arpa/inet.h as glibc does.
+
+Use this patch to include endian.h in util.h if compiling for musl.
+
+Prevents:
+| [2/8] aarch64-tdx-linux-musl-gcc ... -o libavtp.so.0.2.0.p/src_avtp_stream.c.o -c ../git/src/avtp_stream.c
+| ../git/src/avtp_stream.c: In function 'avtp_stream_pdu_get':
+| ../git/src/avtp_stream.c:116:24: warning: implicit declaration of function 'be64toh' [-Wimplicit-function-declaration]
+|   116 |                 *val = be64toh(pdu->stream_id);
+|       |                        ^~~~~~~
+| ../git/src/avtp_stream.c: In function 'avtp_stream_pdu_set':
+| ../git/src/avtp_stream.c:199:34: warning: implicit declaration of function 'htobe64' [-Wimplicit-function-declaration]
+|   199 |                 pdu->stream_id = htobe64(value);
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ src/util.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/util.h b/src/util.h
+index 8b50625..e6fd2ef 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -27,6 +27,8 @@
+ 
+ #pragma once
+ 
++#include <endian.h>
++
+ #define BIT(n)				(1ULL << n)
+ 
+ #define BITMASK(len)			(BIT(len) - 1)
+-- 
+2.20.1
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
new file mode 100644
index 0000000..98f8e5b
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Implements Audio Video Transport Protocol (AVTP)"
+DESCRIPTION = "Open source implementation of Audio Video Transport Protocol (AVTP) \
+               specified in IEEE 1722-2016 spec."
+HOMEPAGE = "https://github.com/Avnu/libavtp"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7fcb4331e23e45e171cd5693c1ff7d3e"
+
+SRC_URI = "git://github.com/Avnu/libavtp.git;branch=master;protocol=https"
+SRC_URI:append:libc-musl = " file://0001-provide-64bit-host-to-network-conversion-macros.patch"
+SRCREV = "3599a5bf2d18fc3ae89b64f208d8380e6ee3a866"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Dtests=disabled"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
new file mode 100644
index 0000000..ad6448a
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch
@@ -0,0 +1,47 @@
+From d3ea3142e1a4de206e616bc18f63a529e6b4986a Mon Sep 17 00:00:00 2001
+From: psykose <alice@ayaya.dev>
+Date: Wed, 13 Apr 2022 21:57:49 +0000
+Subject: [PATCH 001/154] spa: fix c90 header include
+
+placing declarations after code is invalid under ISO c90
+
+Fixes !1211
+
+Patch-Status: Backport
+---
+ spa/include/spa/utils/string.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/spa/include/spa/utils/string.h b/spa/include/spa/utils/string.h
+index e80434537..43d19616c 100644
+--- a/spa/include/spa/utils/string.h
++++ b/spa/include/spa/utils/string.h
+@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t size, const char *format, .
+ static inline float spa_strtof(const char *str, char **endptr)
+ {
+ 	static locale_t locale = NULL;
++	locale_t prev;
+ 	float v;
+ 	if (SPA_UNLIKELY(locale == NULL))
+ 		locale = newlocale(LC_ALL_MASK, "C", NULL);
+-	locale_t prev = uselocale(locale);
++	prev = uselocale(locale);
+ 	v = strtof(str, endptr);
+ 	uselocale(prev);
+ 	return v;
+@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val)
+ static inline double spa_strtod(const char *str, char **endptr)
+ {
+ 	static locale_t locale = NULL;
++	locale_t prev;
+ 	double v;
+ 	if (SPA_UNLIKELY(locale == NULL))
+ 		locale = newlocale(LC_ALL_MASK, "C", NULL);
+-	locale_t prev = uselocale(locale);
++	prev = uselocale(locale);
+ 	v = strtod(str, endptr);
+ 	uselocale(prev);
+ 	return v;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
index 0d725b9..0f527c0 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
@@ -14,7 +14,10 @@
 DEPENDS = "dbus ncurses"
 
 SRCREV = "64cf5e80e6240284e6b757907b900507fe56f1b5"
-SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
+SRC_URI = " \
+	git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \
+	file://0001-spa-fix-c90-header-include.patch \
+"
 
 S = "${WORKDIR}/git"
 
@@ -69,7 +72,7 @@
     -Dlegacy-rtkit=false \
 "
 
-PACKAGECONFIG ??= "\
+PACKAGECONFIG:class-target ??= "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \
@@ -335,3 +338,5 @@
 FILES:gstreamer1.0-pipewire = " \
     ${libdir}/gstreamer-1.0/* \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch
deleted file mode 100644
index 6be2d4b..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-libnm-client-test-add-dependency-libnm_client_public.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 7b5dc04e1fcc28dc653fb7bf0e9dda3700d93218 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Tue, 3 May 2022 15:30:37 +0800
-Subject: [PATCH] libnm-client-test: add dependency libnm_client_public_dep
-
-Fix parallel build error:
-| In file included from ../NetworkManager-1.36.0/src/libnm-client-test/nm-test-utils-impl.c:10:
-| ../NetworkManager-1.36.0/src/libnm-client-public/NetworkManager.h:47:10: fatal error: nm-enum-types.h: No such file or directory
-|    47 | #include "nm-enum-types.h"
-|       |          ^~~~~~~~~~~~~~~~~
-
-Upstream-Status: Submitted
-[https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1206]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- src/libnm-client-test/meson.build | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/libnm-client-test/meson.build b/src/libnm-client-test/meson.build
-index 8e2fba1130..bcac437702 100644
---- a/src/libnm-client-test/meson.build
-+++ b/src/libnm-client-test/meson.build
-@@ -13,6 +13,7 @@ libnm_client_test = static_library(
-   ],
-   dependencies: [
-     libnm_core_public_dep,
-+    libnm_client_public_dep,
-     glib_dep,
-   ],
- )
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.36.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
similarity index 69%
rename from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.36.2.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
index 6c665d5..d52ad6e 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.36.2.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
@@ -19,6 +19,7 @@
     curl \
     dbus \
 "
+DEPENDS:append:class-target = " bash-completion"
 
 GNOMEBASEBUILDCLASS = "meson"
 inherit gnomebase gettext update-rc.d systemd gobject-introspection gtk-doc update-alternatives upstream-version-is-even
@@ -29,9 +30,8 @@
     file://enable-dhcpcd.conf \
     file://enable-iwd.conf \
     file://0001-do-not-ask-host-for-ifcfg-defaults.patch \
-    file://0001-libnm-client-test-add-dependency-libnm_client_public.patch \
 "
-SRC_URI[sha256sum] = "ab855cbe3b41832e9a3b003810e7c7313dfe19e630d29806d14d87fdd1470cab"
+SRC_URI[sha256sum] = "82a4cf07ddfeb0816787b67c0f5058ae6c50d6259c0b0541a24e35156062b2ef"
 
 S = "${WORKDIR}/NetworkManager-${PV}"
 
@@ -41,6 +41,10 @@
 # ['dhcpcanon', 'dhclient', 'dhcpcd', 'internal', 'nettools']
 NETWORKMANAGER_DHCP_DEFAULT ??= "internal"
 
+# The default gets detected based on whether /usr/sbin/nft or /usr/sbin/iptables is installed, with nftables preferred.
+# ['', 'iptables', 'nftables']
+NETWORKMANAGER_FIREWALL_DEFAULT ??= "nftables"
+
 EXTRA_OEMESON = "\
     -Difcfg_rh=false \
     -Dtests=yes \
@@ -71,7 +75,6 @@
     ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
 "
 
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)}
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
 
 PACKAGECONFIG[systemd] = "\
@@ -83,11 +86,12 @@
 # consolekit is not picked by shlibs, so add it to RDEPENDS too
 PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit"
 PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info"
-PACKAGECONFIG[ppp] = "-Dppp=true,-Dppp=false,ppp,ppp"
+PACKAGECONFIG[ppp] = "-Dppp=true,-Dppp=false,ppp"
 PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq"
 PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss"
 PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf"
 PACKAGECONFIG[gnutls] = "-Dcrypto=gnutls,,gnutls"
+PACKAGECONFIG[crypto-null] = "-Dcrypto=null"
 PACKAGECONFIG[wifi] = "-Dwext=true -Dwifi=true,-Dwext=false -Dwifi=false"
 PACKAGECONFIG[iwd] = "-Diwd=true,-Diwd=false"
 PACKAGECONFIG[ifupdown] = "-Difupdown=true,-Difupdown=false"
@@ -105,25 +109,42 @@
 
 
 PACKAGES =+ " \
+    libnm \
     ${PN}-adsl \
     ${PN}-bluetooth \
     ${PN}-cloud-setup \
-    ${PN}-nmcli ${PN}-nmcli-doc \
-    ${PN}-nmtui ${PN}-nmtui-doc \
+    ${PN}-nmcli \
+    ${PN}-nmcli-bash-completion \
+    ${PN}-nmtui \
     ${PN}-wifi \
     ${PN}-wwan \
-    ${PN}-ovs ${PN}-ovs-doc \
+    ${PN}-ovs \
     ${PN}-ppp \
+    ${PN}-daemon \
 "
 
-SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup"
+SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-cloud-setup"
+INITSCRIPT_PACKAGES = "${PN}-daemon"
 
 NETWORKMANAGER_PLUGINDIR = "${libdir}/NetworkManager/${PV}"
+NETWORKMANAGER_DISPATCHERDIR = "${nonarch_libdir}/NetworkManager/dispatcher.d"
 
+
+SUMMARY:libnm = "Libraries for adding NetworkManager support to applications"
+FILES:libnm = "\
+    ${libdir}/libnm.so.* \
+    ${libdir}/girepository-1.0/NM-1.0.typelib \
+"
+
+SUMMARY:${PN}-adsl = "ADSL device plugin for NetworkManager"
 FILES:${PN}-adsl = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-adsl.so"
+RDEPENDS:${PN}-adsl += "${PN}-daemon"
 
+SUMMARY:${PN}-bluetooth = "Bluetooth device plugin for NetworkManager"
 FILES:${PN}-bluetooth = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-bluetooth.so"
+RDEPENDS:${PN}-bluetooth += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG', 'bluez5', '${PN}-wwan bluez5', '', d)}"
 
+SUMMARY:${PN}-cloud-setup = "Automatically configure NetworkManager in cloud"
 FILES:${PN}-cloud-setup = " \
     ${libexecdir}/nm-cloud-setup \
     ${systemd_system_unitdir}/nm-cloud-setup.service \
@@ -131,75 +152,117 @@
     ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \
     ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \
 "
+RDEPENDS:${PN}-cloud-setup += "${PN}-daemon"
 ALLOW_EMPTY:${PN}-cloud-setup = "1"
 SYSTEMD_SERVICE:${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}"
 
+SUMMARY:${PN}-nmcli = "NetworkManager command line client"
 FILES:${PN}-nmcli = " \
     ${bindir}/nmcli \
 "
+RDEPENDS:${PN}-nmcli += "${PN}-daemon"
 
-FILES:${PN}-nmcli-doc = " \
-    ${mandir}/man1/nmcli* \
-"
+SUMMARY:${PN}-nmcli-bash-completion = "NetworkManager command line client bash completion"
+FILES:${PN}-nmcli-bash-completion = "${datadir}/bash-completion/completions/nmcli"
+RDEPENDS:${PN}-nmcli-bash-completion = "bash-completion"
 
+SUMMARY:${PN}-nmtui = "NetworkManager curses-based UI"
 FILES:${PN}-nmtui = " \
     ${bindir}/nmtui \
     ${bindir}/nmtui-edit \
     ${bindir}/nmtui-connect \
     ${bindir}/nmtui-hostname \
 "
+RDEPENDS:${PN}-nmtui += "${PN}-daemon"
 
-FILES:${PN}-nmtui-doc = " \
-    ${mandir}/man1/nmtui* \
+SUMMARY:${PN}-wifi = "Wifi plugin for NetworkManager"
+FILES:${PN}-wifi = "\
+    ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so \
+    ${libdir}/NetworkManager/conf.d/enable-iwd.conf \
 "
+def get_wifi_deps(d):
+    packageconfig = (d.getVar('PACKAGECONFIG') or "").split()
+    if 'wifi' in packageconfig:
+        if 'iwd' in packageconfig:
+            return 'iwd'
+        else:
+            return 'wpa-supplicant'
+    else:
+        return ''
+RDEPENDS:${PN}-wifi += "${PN}-daemon ${@get_wifi_deps(d)}"
 
-FILES:${PN}-wifi = "${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wifi.so"
-
+SUMMARY:${PN}-wwan = "Mobile broadband device plugin for NetworkManager"
 FILES:${PN}-wwan = "\
     ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-wwan.so \
     ${NETWORKMANAGER_PLUGINDIR}/libnm-wwan.so \
 "
+RDEPENDS:${PN}-wwan += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','modemmanager','modemmanager','',d)}"
 
+SUMMARY:${PN}-ovs = "Open vSwitch device plugin for NetworkManager"
 FILES:${PN}-ovs = "\
     ${NETWORKMANAGER_PLUGINDIR}/libnm-device-plugin-ovs.so \
     ${systemd_system_unitdir}/NetworkManager.service.d/NetworkManager-ovs.conf \
 "
+RDEPENDS:${PN}-ovs += "${PN}-daemon"
 
-FILES:${PN}-ovs-doc = "\
-    ${mandir}/man7/nm-openvswitch.7* \
-"
-
+SUMMARY:${PN}-ppp = "PPP plugin for NetworkManager"
 FILES:${PN}-ppp = "\
     ${NETWORKMANAGER_PLUGINDIR}/libnm-ppp-plugin.so \
     ${libdir}/pppd/*/nm-pppd-plugin.so \
 "
+RDEPENDS:${PN}-ppp += "${PN}-daemon ${@bb.utils.contains('PACKAGECONFIG','ppp','ppp','',d)}"
 
 FILES:${PN}-dev += " \
     ${libdir}/pppd/*/*.la \
     ${libdir}/NetworkManager/*.la \
     ${NETWORKMANAGER_PLUGINDIR}/*.la \
+    ${datadir}/dbus-1/interfaces/*.xml \
 "
 
-FILES:${PN} += " \
-    ${libexecdir} \
+SUMMARY:${PN}-daemon += "The NetworkManager daemon"
+FILES:${PN}-daemon += " \
+    ${bindir}/nm-online \
+    ${datadir}/dbus-1 \
+    ${datadir}/polkit-1 \
     ${libdir}/NetworkManager \
-    ${nonarch_libdir}/firewalld/zones \
+    ${libexecdir} \
+    ${localstatedir}/lib/NetworkManager \
+    ${NETWORKMANAGER_DISPATCHERDIR} \
+    ${nonarch_base_libdir}/udev/* \
+    ${nonarch_libdir}/firewalld \
     ${nonarch_libdir}/NetworkManager/conf.d \
-    ${nonarch_libdir}/NetworkManager/dispatcher.d \
     ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \
     ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \
     ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \
-    ${nonarch_libdir}/NetworkManager/VPN \
     ${nonarch_libdir}/NetworkManager/system-connections \
-    ${datadir}/polkit-1 \
-    ${datadir}/dbus-1 \
-    ${nonarch_base_libdir}/udev/* \
+    ${nonarch_libdir}/NetworkManager/VPN \
+    ${sbindir}/NetworkManager \
+    ${sysconfdir}/init.d/network-manager \
+    ${sysconfdir}/NetworkManager \
     ${systemd_system_unitdir} \
 "
-
-RRECOMMENDS:${PN} += "\
-    iptables \
+RRECOMMENDS:${PN}-daemon += "\
+    ${NETWORKMANAGER_FIREWALL_DEFAULT} \
     ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
+"
+INITSCRIPT_NAME:${PN}-daemon = "network-manager"
+SYSTEMD_SERVICE:${PN}-daemon = "\
+    NetworkManager.service \
+    NetworkManager-dispatcher.service \
+"
+RCONFLICTS:${PN}-daemon += "connman"
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN}-daemon = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
+ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
+
+
+# The networkmanager package is an empty meta package which weakly depends on all the compiled features.
+# Install this package to get all plugins and related dependencies installed. Alternatively just install
+# plugins and related dependencies e.g. by installing networkmanager-wifi or networkmanager-wwan
+# packages to the firmware.
+ALLOW_EMPTY:${PN} = "1"
+RRECOMMENDS:${PN} += "\
     ${@bb.utils.contains('PACKAGECONFIG','adsl','${PN}-adsl','',d)} \
     ${@bb.utils.contains('PACKAGECONFIG','bluez5','${PN}-bluetooth','',d)} \
     ${@bb.utils.contains('PACKAGECONFIG','cloud-setup','${PN}-cloud-setup','',d)} \
@@ -210,19 +273,6 @@
     ${@bb.utils.contains('PACKAGECONFIG','ovs','${PN}-ovs','',d)} \
     ${@bb.utils.contains('PACKAGECONFIG','ppp','${PN}-ppp','',d)} \
 "
-RCONFLICTS:${PN} = "connman"
-
-
-INITSCRIPT_NAME = "network-manager"
-SYSTEMD_SERVICE:${PN} = "\
-    NetworkManager.service \
-    NetworkManager-dispatcher.service \
-"
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
-ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
 
 do_install:append() {
     install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
index 143e487..d5a2dfa 100644
--- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
+++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -218,6 +218,7 @@
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "ntpsec", "", d)} \
     nbd-client \
     nbd-server \
+    nbd-trplay \
     nbd-trdump \
     openvpn \
     macchanger \
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb b/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb
index ada0fd1..c74ebb2 100644
--- a/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb
@@ -4,8 +4,8 @@
 LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
 DEPENDS = "sg3-utils libaio"
 
-SRCREV = "fd4ca0546aa20fa9627c41ca2028db26e11f8d56"
-PV = "1.0.82"
+SRCREV = "a6bd1f0578bf85788a1563cbfb42a75e500d5318"
+PV = "1.0.83"
 
 SRC_URI = "git://github.com/fujita/tgt.git;branch=master;protocol=https \
 	file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
diff --git a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
index 50f7ced..8f57e82 100644
--- a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
@@ -37,3 +37,4 @@
 pkg_postinst:${PN} () {
     setcap cap_net_admin+ep "$D/${sbindir}/conntrack"
 }
+PACKAGE_WRITE_DEPS += "libcap-native"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.bb b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.1.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.bb
rename to meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.1.bb
index 747c16c..71bd937 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.12.1.bb
@@ -13,7 +13,7 @@
 LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754"
 
 SRC_URI = "gitsm://github.com/jech/babeld.git;protocol=https;branch=master"
-SRCREV = "420a7087b7d6350084edfd7d1aef8a62209cbf04"
+SRCREV = "916d3d9aa65683ddf8b96f7f0b466b24cb9d7087"
 
 UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb
deleted file mode 100644
index 7b7f5cb..0000000
--- a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.20.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Network Block Device"
-HOMEPAGE = "http://nbd.sourceforge.net"
-SECTION = "net"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "910fe6c152f8c30ad8608388e6a4ce89"
-SRC_URI[sha256sum] = "e0e1b3538ab7ae5accf56180afd1a9887d415b98d21223b8ad42592b4af7d6cd"
-
-inherit autotools pkgconfig
-
-PACKAGES = "${PN}-client ${PN}-server ${PN}-dbg ${PN}-trdump ${PN}-doc"
-
-FILES:${PN}-client = "${sbindir}/${BPN}-client"
-FILES:${PN}-server = "${bindir}/${BPN}-server"
-FILES:${PN}-trdump = "${bindir}/${BPN}-trdump"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.24.bb b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.24.bb
new file mode 100644
index 0000000..da9f829
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nbd/nbd_3.24.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Network Block Device"
+HOMEPAGE = "http://nbd.sourceforge.net"
+SECTION = "net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "autoconf-archive bison-native glib-2.0 libnl"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "a6d9e7bbc311a2ed07ef84a58b82b5dd"
+SRC_URI[sha256sum] = "6877156d23a7b33f75eee89d2f5c2c91c542afc3cdcb636dea5a88539a58d10c"
+
+inherit autotools pkgconfig
+
+PACKAGES = "${PN}-client ${PN}-dbg ${PN}-doc ${PN}-server ${PN}-trdump ${PN}-trplay"
+
+FILES:${PN}-client = "${sbindir}/${BPN}-client"
+FILES:${PN}-server = "${bindir}/${BPN}-server"
+FILES:${PN}-trdump = "${bindir}/${BPN}-trdump"
+FILES:${PN}-trplay = "${bindir}/${BPN}-trplay"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.5.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.7.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.5.bb
rename to meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.7.bb
index 79b0001..2de32cc 100644
--- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.5.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.7.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https;branch=master \
 "
 
-SRCREV = "a671de5017546149ef38bfdbdae95c675538b93b"
+SRCREV = "7c0e2d19d30eb0bd2e079febb5a2c31f65e5023d"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.6.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.6.bb
rename to meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb
index 218e72b..3ed90a7 100644
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.6.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb
@@ -14,7 +14,7 @@
 
 UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
 
-SRC_URI[sha256sum] = "333a7ef3d5b317968aca2c77bdc29aa7c6d6bb3316eb3f79743b59c53242ad3d"
+SRC_URI[sha256sum] = "08340a389905c84196b6cd750add1bc0fa2d46a1afebfd589c24120946c13e68"
 
 # CVE-2020-7224 and CVE-2020-27569 are for Aviatrix OpenVPN client, not for openvpn.
 CVE_CHECK_IGNORE += "CVE-2020-7224 CVE-2020-27569"
diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch
index af99edc..364baaa 100644
--- a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch
+++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch
@@ -23,7 +23,7 @@
 index 3849383..9f3a633 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -190,18 +190,6 @@ AC_SUBST(CPPFLAGS)
+@@ -179,18 +179,6 @@ AC_SUBST(CPPFLAGS)
  AC_SUBST(LIBS)
  AC_SUBST(ADDITIONAL_OBJECTS)
  
@@ -42,7 +42,7 @@
  AM_CONDITIONAL(HAVE_POD2MAN, test "x$POD2MAN" != "x" -a "x$POD2MAN" != "xno")
  
  AC_PATH_PROG(GPERF, gperf, no)
-@@ -226,11 +214,6 @@ src/Makefile
+@@ -216,11 +204,6 @@ src/Makefile
  data/Makefile
  data/templates/Makefile
  etc/Makefile
diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.1.bb
similarity index 89%
rename from meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb
rename to meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.1.bb
index 388f7ae..86f57d8 100644
--- a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.1.bb
@@ -9,8 +9,7 @@
            file://tinyproxy.conf \
            "
 
-SRC_URI[md5sum] = "658db5558ffb849414341b756a546a99"
-SRC_URI[sha256sum] = "20f74769e40144e4d251d2977cc4c40d2d428a2bec8c1b8709cd07315454baef"
+SRC_URI[sha256sum] = "1574acf7ba83c703a89e98bb2758a4ed9fda456f092624b33cfcf0ce2d3b2047"
 
 UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.15.0.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.0.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.15.0.bb
rename to meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.0.bb
index e5b6491..cf59d29 100644
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.15.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.16.0.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master;protocol=https \
 	file://0001-contrib-add-yocto-compatible-init-script.patch \
 "
-SRCREV = "c29b0e0a96c4d281aef40d69a11c564d6ed1a2c6"
+SRCREV = "edc1d07718fb0ecabf9ddd3cf65503de1810834c"
 
 inherit autotools pkgconfig systemd update-rc.d
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.9.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.1.bb
similarity index 95%
rename from meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.9.bb
rename to meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.1.bb
index 82d515d..ec2830d 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.9.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.1.bb
@@ -7,7 +7,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
 
-SRC_URI[sha256sum] = "3341188a386726a5feb87e5fa04edb999de69e38ee8b4ea5b7d59165729ba0be"
+SRC_URI[sha256sum] = "1a563e062ba734d1cc6e6cbaf8016af5cfb8c2921cb06e1e7af98153af1d121c"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch
index 7c3e775..9147605 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch
@@ -1,42 +1,44 @@
-From f7a3292c1c753b29384e216693f51a4213fea7d0 Mon Sep 17 00:00:00 2001
+From 35173fa04d0116ba30a86dc1a19f859f2be14a24 Mon Sep 17 00:00:00 2001
 From: "Bruce A. Johnson" <waterfordtrack@gmail.com>
 Date: Wed, 22 Dec 2021 14:24:02 -0500
-Subject: [PATCH 1/2] core: switch bash shell scripts to use /bin/sh for use
+Subject: [PATCH] core: switch bash shell scripts to use /bin/sh for use
  w/Busybox.
 
 Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/483
+
+%% original patch: 0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch
 ---
- data/fcc-unlock/105b           | 2 +-
- data/fcc-unlock/1199           | 2 +-
- data/fcc-unlock/1eac           | 2 +-
- test/mmcli-test-sms            | 2 +-
- tools/tests/test-wrapper.sh.in | 2 +-
+ data/dispatcher-fcc-unlock/105b | 2 +-
+ data/dispatcher-fcc-unlock/1199 | 2 +-
+ data/dispatcher-fcc-unlock/1eac | 2 +-
+ test/mmcli-test-sms             | 2 +-
+ tools/tests/test-wrapper.sh.in  | 2 +-
  5 files changed, 5 insertions(+), 5 deletions(-)
 
-diff --git a/data/fcc-unlock/105b b/data/fcc-unlock/105b
-index 21fe5329..f276050f 100644
---- a/data/fcc-unlock/105b
-+++ b/data/fcc-unlock/105b
+diff --git a/data/dispatcher-fcc-unlock/105b b/data/dispatcher-fcc-unlock/105b
+index 444bd51f..772c90f4 100644
+--- a/data/dispatcher-fcc-unlock/105b
++++ b/data/dispatcher-fcc-unlock/105b
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/bin/sh
  
  # SPDX-License-Identifier: CC0-1.0
  # 2021 Aleksander Morgado <aleksander@aleksander.es>
-diff --git a/data/fcc-unlock/1199 b/data/fcc-unlock/1199
-index 0109c6ab..e1d3804c 100644
---- a/data/fcc-unlock/1199
-+++ b/data/fcc-unlock/1199
+diff --git a/data/dispatcher-fcc-unlock/1199 b/data/dispatcher-fcc-unlock/1199
+index 83ab2c9e..6dbf8d1b 100644
+--- a/data/dispatcher-fcc-unlock/1199
++++ b/data/dispatcher-fcc-unlock/1199
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/bin/sh
  
  # SPDX-License-Identifier: CC0-1.0
  # 2021 Aleksander Morgado <aleksander@aleksander.es>
-diff --git a/data/fcc-unlock/1eac b/data/fcc-unlock/1eac
-index 1068d9c2..d9342852 100644
---- a/data/fcc-unlock/1eac
-+++ b/data/fcc-unlock/1eac
+diff --git a/data/dispatcher-fcc-unlock/1eac b/data/dispatcher-fcc-unlock/1eac
+index 1a048dc8..44ce46d7 100644
+--- a/data/dispatcher-fcc-unlock/1eac
++++ b/data/dispatcher-fcc-unlock/1eac
 @@ -1,4 +1,4 @@
 -#!/bin/bash
 +#!/bin/sh
@@ -64,5 +66,5 @@
  # For debugging behavior of test-modemmanager-service.py, you can modify
  # this line to add --log-file option
 -- 
-2.34.1
+2.35.3
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0002-fcc-unlock-Make-scripts-POSIX-shell-compatible.patch b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0002-fcc-unlock-Make-scripts-POSIX-shell-compatible.patch
deleted file mode 100644
index d911d54..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/files/0002-fcc-unlock-Make-scripts-POSIX-shell-compatible.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From ddf634b92bf96b35f521db6da329628b4525c2eb Mon Sep 17 00:00:00 2001
-From: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
-Date: Fri, 25 Feb 2022 21:37:13 +0100
-Subject: [PATCH 2/2] fcc-unlock: Make scripts POSIX shell compatible
-
-This allows us to not rely on bash which may not be available on
-constrained systems, e.g. Yocto-built embedded systems. The scripts now
-pass shellcheck.
-
-Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
----
- data/fcc-unlock/105b | 8 ++++----
- data/fcc-unlock/1199 | 6 +++---
- data/fcc-unlock/1eac | 8 ++++----
- 3 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/data/fcc-unlock/105b b/data/fcc-unlock/105b
-index f276050f..772c90f4 100644
---- a/data/fcc-unlock/105b
-+++ b/data/fcc-unlock/105b
-@@ -15,20 +15,20 @@ shift
- # second and next arguments are control port names
- for PORT in "$@"; do
-   # match port type in Linux 5.14 and newer
--  grep -q MBIM /sys/class/wwan/${PORT}/type 2>/dev/null && {
-+  grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null && {
-     MBIM_PORT=$PORT
-     break
-   }
-   # match port name in Linux 5.13
--  [[ $PORT == *"MBIM"* ]] && {
-+  echo "$PORT" | grep -q MBIM && {
-     MBIM_PORT=$PORT
-     break
-   }
- done
- 
- # fail if no MBIM port exposed
--[ -n "${MBIM_PORT}" ] || exit 2
-+[ -n "$MBIM_PORT" ] || exit 2
- 
- # run qmicli operation over MBIM
--qmicli --device-open-proxy --device=/dev/${MBIM_PORT} --dms-foxconn-set-fcc-authentication=0
-+qmicli --device-open-proxy --device="/dev/$MBIM_PORT" --dms-foxconn-set-fcc-authentication=0
- exit $?
-diff --git a/data/fcc-unlock/1199 b/data/fcc-unlock/1199
-index e1d3804c..6dbf8d1b 100644
---- a/data/fcc-unlock/1199
-+++ b/data/fcc-unlock/1199
-@@ -19,15 +19,15 @@ shift
- # second and next arguments are control port names
- for PORT in "$@"; do
-   # match port name
--  [[ $PORT == *"cdc-wdm"* ]] && {
-+  echo "$PORT" | grep -q cdc-wdm && {
-     CDC_WDM_PORT=$PORT
-     break
-   }
- done
- 
- # fail if no cdc-wdm port exposed
--[ -n "${CDC_WDM_PORT}" ] || exit 2
-+[ -n "$CDC_WDM_PORT" ] || exit 2
- 
- # run qmicli operation
--qmicli --device-open-proxy --device=/dev/${CDC_WDM_PORT} --dms-set-fcc-authentication
-+qmicli --device-open-proxy --device="/dev/$CDC_WDM_PORT" --dms-set-fcc-authentication
- exit $?
-diff --git a/data/fcc-unlock/1eac b/data/fcc-unlock/1eac
-index d9342852..44ce46d7 100644
---- a/data/fcc-unlock/1eac
-+++ b/data/fcc-unlock/1eac
-@@ -15,20 +15,20 @@ shift
- # second and next arguments are control port names
- for PORT in "$@"; do
-   # match port type in Linux 5.14 and newer
--  grep -q MBIM /sys/class/wwan/${PORT}/type 2>/dev/null && {
-+  grep -q MBIM "/sys/class/wwan/$PORT/type" 2>/dev/null && {
-     MBIM_PORT=$PORT
-     break
-   }
-   # match port name in Linux 5.13
--  [[ $PORT == *"MBIM"* ]] && {
-+  echo "$PORT" | grep -q MBIM && {
-     MBIM_PORT=$PORT
-     break
-   }
- done
- 
- # fail if no MBIM port exposed
--[ -n "${MBIM_PORT}" ] || exit 2
-+[ -n "$MBIM_PORT" ] || exit 2
- 
- # run mbimcli operation
--mbimcli --device-open-proxy --device=/dev/${MBIM_PORT} --quectel-set-radio-state=on
-+mbimcli --device-open-proxy --device="/dev/$MBIM_PORT" --quectel-set-radio-state=on
- exit $?
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.8.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.6.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.8.bb
index 14d9942..28f81ba 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.6.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.18.8.bb
@@ -12,13 +12,12 @@
 
 DEPENDS = "glib-2.0 libgudev libxslt-native dbus"
 
-SRCREV ?= "a7bcf2036b34d5043dbc33fee7d98bae5859c4d3"
+SRCREV ?= "0d8b5e93fc62eb0f41e18a2d9d845331d7af36ec"
 
-# Patches 0001, 0002 will be in ModemManager > 1.18.6
+# Patch 0001 will be in ModemManager > 1.19
 SRC_URI = " \
     git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-18 \
     file://0001-core-switch-bash-shell-scripts-to-use-bin-sh-for-use.patch \
-    file://0002-fcc-unlock-Make-scripts-POSIX-shell-compatible.patch \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.6.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.5.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.6.bb
index 79d5403..21fbdb6 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.6.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "848c4fe863806e506832f1ee85b8b68258f06eb19dad43dbeee16a2cfe5d9053"
+SRC_URI[sha256sum] = "65515c7e9a5289167ae64c4032450904449a87ce20653241022af4f5db2e9510"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.5.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.4.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.5.bb
index 583ebac..2deaea2 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_6.0.5.bb
@@ -28,8 +28,7 @@
     file://zabbix-agent.service \
 "
 
-SRC_URI[md5sum] = "a4f60d529c18c1332354bddd402b561b"
-SRC_URI[sha256sum] = "5743b6cc2e29d9bd242aa88b2835f3ded0be177509000d84db74e1159c5afa75"
+SRC_URI[sha256sum] = "3eeb7063efc5dad56f84dfdcf9aeb781044be712e11e83f66d043da55f33bdc2"
 
 inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_29.bb b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_31.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_29.bb
rename to meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_31.bb
index 525db34..6eb45ed 100644
--- a/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_29.bb
+++ b/meta-openembedded/meta-oe/recipes-core/dbus/dbus-broker_31.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] = "4eca425db52b7ab1027153e93fea9b3f11759db9e93ffbf88759b73ddfb8026a"
+SRC_URI[sha256sum] = "f229d7f1de8a3e344d54a4a30fbcb545387549e968009c06b87f7f1196c97496"
 
 UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
index 33969ff..1ffdcfd 100644
--- a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
@@ -6,7 +6,23 @@
 
 inherit gnomebase
 
+# All the recipe does is stage python and shell script, some autotools files; nothing is compiled.
+inherit allarch
+
 SRC_URI[archive.sha256sum] = "e954c09b4309a7ef93e13b69260acdc5738c907477eb381b78bb1e414ee6dbd8"
 SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch"
 
 BBCLASSEXTEND = "native"
+
+# These files aren't very usefull on target image, package them all in nnPN-dev
+FILES:${PN} = ""
+
+FILES:${PN}-dev += " \
+    ${datadir}/${BPN}/build \
+    ${datadir}/${BPN}/doctags \
+    ${datadir}/${BPN}/doctool \
+    ${bindir}/mm-common-get \
+    ${bindir}/mm-common-prepare \
+"
+# ${PN} package is empty, remove the default dependency on it
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb
index 5e8e6f0..4ecb8fc 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-headers_git.bb
@@ -5,8 +5,8 @@
 SECTION = "base"
 
 S = "${WORKDIR}/git"
-PV = "v2022.01.04+git${SRCPV}"
-SRCREV = "59ac4dc2f282286d8db83143686cfe37ec658b84"
+PV = "2022.05.18"
+SRCREV = "def8be9d35fda35492b72f54a94515f7df8d1e9f"
 SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git;branch=main;protocol=https"
 
 do_configure[noexec] = "1"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index 36545c2..005ef02 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -322,8 +322,8 @@
  
 --- a/src/libsystemd/sd-bus/bus-objects.c
 +++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -12,6 +12,7 @@
- #include "set.h"
+@@ -11,6 +11,7 @@
+ #include "missing_capability.h"
  #include "string-util.h"
  #include "strv.h"
 +#include "missing_stdlib.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb
index 03d1356..107dbc6 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.1.0.bb
@@ -32,6 +32,7 @@
 # libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
 LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
 LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
 
 do_install:append() {
     if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.1.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.2.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.1.bb
rename to meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.2.bb
index 4b072fc..5261367 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.1.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.2.bb
@@ -5,7 +5,7 @@
 SECTION = "libs"
 
 SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
-SRC_URI[sha256sum] = "e26e00cfefda64082afdd540d3c537924f645d6a674afed2cd171005deff5560"
+SRC_URI[sha256sum] = "3af5f17615c6b5cd8b832d269fb6cb4d54ec64f9eb09ddbf1add5093941b4d75"
 
 S = "${WORKDIR}/Botan-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb b/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
new file mode 100644
index 0000000..357fd0a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "LibTomCrypt is a public domain open source cryptographic toolkit"
+HOMEPAGE = "https://www.libtom.net/LibTomCrypt"
+SECTION = "libs"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71baacc459522324ef3e2b9e052e8180"
+
+DEPENDS += "libtool-cross"
+
+SRC_URI = "git://github.com/libtom/libtomcrypt.git;protocol=https;branch=master"
+
+SRCREV = "7e7eb695d581782f04b24dc444cbfde86af59853"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+    oe_runmake -f makefile.shared
+}
+
+do_install() {
+    oe_runmake -f makefile.shared 'PREFIX=${prefix}' 'DESTDIR=${D}' install
+}
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 855f124..922373b 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -20,11 +20,10 @@
            file://mm_malloc.patch \
            file://sys_futex.patch \
            file://mariadb-openssl3.patch \
-           file://clang-64bit-atomics.patch \
           "
 SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
 
-SRC_URI[sha256sum] = "da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4"
+SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -78,6 +77,8 @@
 BUILD_CFLAGS += "-fuse-ld=bfd"
 BUILD_CXXFLAGS += "-fuse-ld=bfd"
 
+LDFLAGS:x86:toolchain-clang = "-latomic"
+
 EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
                  -DWITH_JEMALLOC=no \
                  -DWITHOUT_TOKUDB=TRUE \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
deleted file mode 100644
index cdc2947..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-Prevent Clang from emitting atomic libcalls
-
-Clang expects 8-byte alignment for some 64-bit atomic operations
-in some 32-bit targets. Native instruction lock cmpxchg8b (for x86)
-should only require 4-byte alignment.
-
-This patch tries to add 8-byte alignents to data needing atomic ops
-which helps clang to not generate the libatomic calls but emit
-builtins directly.
-
-Upstream-Status: Submitted[https://jira.mariadb.org/browse/MDEV-28162]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/include/my_atomic.h
-+++ b/include/my_atomic.h
-@@ -115,6 +115,16 @@
- #include "atomic/gcc_builtins.h"
- #endif
- 
-+#include <stdint.h>
-+
-+# ifdef __GNUC__
-+typedef __attribute__((__aligned__(8))) int64 ATOMIC_I64;
-+typedef __attribute__((__aligned__(8))) uint64 ATOMIC_U64;
-+# else
-+typedef int64 ATOMIC_I64;
-+typedef uint64 ATOMIC_U64;
-+# endif
-+
- #if SIZEOF_LONG == 4
- #define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
- #define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
-@@ -123,12 +133,12 @@
- #define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
- #define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
- #else
--#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
--#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
--#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((int64*) (A), (O))
--#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
--#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
--#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
-+#define my_atomic_addlong(A,B) my_atomic_add64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_loadlong(A) my_atomic_load64((ATOMIC_I64*) (A))
-+#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((ATOMIC_I64*) (A), (O))
-+#define my_atomic_storelong(A,B) my_atomic_store64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_faslong(A,B) my_atomic_fas64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_caslong(A,B,C) my_atomic_cas64((ATOMIC_I64*) (A), (ATOMIC_I64*) (B), (C))
- #endif
- 
- #ifndef MY_MEMORY_ORDER_SEQ_CST
---- a/storage/perfschema/pfs_atomic.h
-+++ b/storage/perfschema/pfs_atomic.h
-@@ -41,7 +41,7 @@ public:
-   }
- 
-   /** Atomic load. */
--  static inline int64 load_64(int64 *ptr)
-+  static inline int64 load_64(ATOMIC_I64 *ptr)
-   {
-     return my_atomic_load64(ptr);
-   }
-@@ -53,9 +53,9 @@ public:
-   }
- 
-   /** Atomic load. */
--  static inline uint64 load_u64(uint64 *ptr)
-+  static inline uint64 load_u64(ATOMIC_U64 *ptr)
-   {
--    return (uint64) my_atomic_load64((int64*) ptr);
-+    return (uint64) my_atomic_load64((ATOMIC_I64*) ptr);
-   }
- 
-   /** Atomic store. */
-@@ -65,7 +65,7 @@ public:
-   }
- 
-   /** Atomic store. */
--  static inline void store_64(int64 *ptr, int64 value)
-+  static inline void store_64(ATOMIC_I64 *ptr, int64 value)
-   {
-     my_atomic_store64(ptr, value);
-   }
-@@ -77,9 +77,9 @@ public:
-   }
- 
-   /** Atomic store. */
--  static inline void store_u64(uint64 *ptr, uint64 value)
-+  static inline void store_u64(ATOMIC_U64 *ptr, uint64 value)
-   {
--    my_atomic_store64((int64*) ptr, (int64) value);
-+    my_atomic_store64((ATOMIC_I64*) ptr, (int64) value);
-   }
- 
-   /** Atomic add. */
-@@ -89,7 +89,7 @@ public:
-   }
- 
-   /** Atomic add. */
--  static inline int64 add_64(int64 *ptr, int64 value)
-+  static inline int64 add_64(ATOMIC_I64 *ptr, int64 value)
-   {
-     return my_atomic_add64(ptr, value);
-   }
-@@ -101,9 +101,9 @@ public:
-   }
- 
-   /** Atomic add. */
--  static inline uint64 add_u64(uint64 *ptr, uint64 value)
-+  static inline uint64 add_u64(ATOMIC_U64 *ptr, uint64 value)
-   {
--    return (uint64) my_atomic_add64((int64*) ptr, (int64) value);
-+    return (uint64) my_atomic_add64((ATOMIC_I64*) ptr, (int64) value);
-   }
- 
-   /** Atomic compare and swap. */
-@@ -114,7 +114,7 @@ public:
-   }
- 
-   /** Atomic compare and swap. */
--  static inline bool cas_64(int64 *ptr, int64 *old_value,
-+  static inline bool cas_64(ATOMIC_I64 *ptr, ATOMIC_I64 *old_value,
-                             int64 new_value)
-   {
-     return my_atomic_cas64(ptr, old_value, new_value);
-@@ -129,10 +129,10 @@ public:
-   }
- 
-   /** Atomic compare and swap. */
--  static inline bool cas_u64(uint64 *ptr, uint64 *old_value,
-+  static inline bool cas_u64(ATOMIC_U64 *ptr, ATOMIC_U64 *old_value,
-                              uint64 new_value)
-   {
--    return my_atomic_cas64((int64*) ptr, (int64*) old_value,
-+    return my_atomic_cas64((ATOMIC_I64*) ptr, (ATOMIC_I64*) old_value,
-                             (uint64) new_value);
-   }
- };
---- a/sql/sql_class.h
-+++ b/sql/sql_class.h
-@@ -1049,7 +1049,7 @@ static inline void update_global_memory_
-                       (longlong) global_status_var.global_memory_used,
-                       size));
-   // workaround for gcc 4.2.4-1ubuntu4 -fPIE (from DEB_BUILD_HARDENING=1)
--  int64 volatile * volatile ptr= &global_status_var.global_memory_used;
-+  ATOMIC_I64 volatile * volatile ptr= &global_status_var.global_memory_used;
-   my_atomic_add64_explicit(ptr, size, MY_MEMORY_ORDER_RELAXED);
- }
- 
---- a/storage/innobase/include/srv0mon.h
-+++ b/storage/innobase/include/srv0mon.h
-@@ -49,7 +49,7 @@ enum monitor_running_status {
- typedef enum monitor_running_status	monitor_running_t;
- 
- /** Monitor counter value type */
--typedef	int64_t				mon_type_t;
-+typedef	ATOMIC_I64			mon_type_t;
- 
- /** Two monitor structures are defined in this file. One is
- "monitor_value_t" which contains dynamic counter values for each
-@@ -568,7 +568,7 @@ Use MONITOR_INC if appropriate mutex pro
- 	if (enabled) {							\
- 		ib_uint64_t	value;					\
- 		value  = my_atomic_add64_explicit(			\
--			(int64*) &MONITOR_VALUE(monitor), 1,		\
-+			(ATOMIC_I64*) &MONITOR_VALUE(monitor), 1,	\
- 			MY_MEMORY_ORDER_RELAXED) + 1;			\
- 		/* Note: This is not 100% accurate because of the	\
- 		inherent race, we ignore it due to performance. */	\
-@@ -585,7 +585,7 @@ Use MONITOR_DEC if appropriate mutex pro
- 	if (enabled) {							\
- 		ib_uint64_t	value;					\
- 		value = my_atomic_add64_explicit(			\
--			(int64*) &MONITOR_VALUE(monitor), -1,		\
-+			(ATOMIC_I64*) &MONITOR_VALUE(monitor), -1,	\
- 			MY_MEMORY_ORDER_RELAXED) - 1;			\
- 		/* Note: This is not 100% accurate because of the	\
- 		inherent race, we ignore it due to performance. */	\
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_11.0.bb b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_11.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
index 1e5798d..aed7977 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
@@ -5,8 +5,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \
                     file://thirdparty/snappy/COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
 
-SRCREV = "c54d99563414cd178abec7cf7d9663eb949a0f51"
-PV .= "+10.0.1+git${SRCPV}"
+SRCREV = "9352fc02bba106fbbeef9e8452ef34643c0d0764"
+PV .= "+11.1+git${SRCPV}"
 SRC_URI = "gitsm://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \
           "
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220508.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220529.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220508.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220529.0.bb
index 02f01cc..1ec8d0e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220508.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220529.0.bb
@@ -14,7 +14,7 @@
 
 inherit autotools-brokensep pkgconfig manpages
 
-SRCREV = "3f9e162a2a2d49920550bddb6de9da46a8340a41"
+SRCREV = "fff389b94b8e3fb53bdb59789dabc2693c534804"
 SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
index c7f98fa..6c11120 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
@@ -4,14 +4,15 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
                     file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
                     file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
+DEPENDS = "gtk+3 glib-2.0 libxml2 intltool-native \
            gnome-common-native \
 "
 
-
 inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-${PV}.tar.xz \
            file://remove-yelp-help-rules-var.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.14/oe-npm-cache b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.14/oe-npm-cache
new file mode 100755
index 0000000..f596207
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-16.14/oe-npm-cache
@@ -0,0 +1,77 @@
+#!/usr/bin/env node
+
+/// Usage: oe-npm-cache <cache-dir> <type> <key> <file-name>
+///    <type> ... meta - metainformation about package
+///               tgz  - tarball
+
+const process = require("node:process");
+
+module.paths.unshift("@@libdir@@/node_modules/npm/node_modules");
+
+const cacache = require('cacache')
+const fs = require('fs')
+
+// argv[0] is 'node', argv[1] is this script
+const cache_dir = process.argv[2]
+const type      = process.argv[3]
+const key       = process.argv[4]
+const file      = process.argv[5]
+
+const data = fs.readFileSync(file)
+
+// metadata content is highly nodejs dependent; when cache entries are not
+// found, place debug statements in 'make-fetch-happen/lib/cache/policy.js'
+// (CachePolicy::satisfies())
+const xlate = {
+    'meta': {
+	'key_prefix': 'make-fetch-happen:request-cache:',
+	'metadata': function() {
+	    return {
+		time: Date.now(),
+		url:  key,
+		reqHeaders: {
+		    'accept': 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*',
+		},
+		resHeaders: {
+		    "content-type": "application/json",
+		    "status": 200,
+		},
+		options: {
+		    compress: true,
+		}
+	    };
+	},
+    },
+
+    'tgz': {
+	'key_prefix': 'make-fetch-happen:request-cache:',
+	'metadata': function() {
+	    return {
+		time: Date.now(),
+		url:  key,
+		reqHeaders: {
+		    'accept': '*/*',
+		},
+		resHeaders: {
+		    "content-type": "application/octet-stream",
+		    "status": 200,
+		},
+		options: {
+		    compress: true,
+		},
+	    };
+	},
+    },
+};
+
+const info = xlate[type];
+let opts = {}
+
+if (info.metadata) {
+    opts['metadata'] = info.metadata();
+}
+
+cacache.put(cache_dir, info.key_prefix + key, data, opts)
+    .then(integrity => {
+	console.log(`Saved content of ${key} (${file}).`);
+})
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.14.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.14.bb
new file mode 100644
index 0000000..a61dd50
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_16.14.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "OE helper for manipulating npm cache"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "\
+    file://oe-npm-cache \
+"
+
+inherit native
+
+B = "${WORKDIR}/build"
+
+do_configure() {
+    sed -e 's!@@libdir@@!${libdir}!g' < '${WORKDIR}/oe-npm-cache' > '${B}/oe-npm-cache'
+}
+
+do_install() {
+    install -D -p -m 0755 ${B}/oe-npm-cache ${D}${bindir}/oe-npm-cache
+}
+
+RDEPENDS:${PN} = "nodejs-native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
new file mode 100644
index 0000000..ec70dd6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
@@ -0,0 +1,28 @@
+From 8fd80ead718ffc53d7182b9df6f49974113ff8fc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 May 2022 11:23:58 -0700
+Subject: [PATCH] setup.py: Disable autodection of modules
+
+This helps to fix build with latest setuptools
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index 932bf01..fd5a092 100755
+--- a/setup.py
++++ b/setup.py
+@@ -12,6 +12,7 @@ if __name__ == "__main__":
+         name='unattended-upgrades',
+         version='0.1',
+         scripts=['unattended-upgrade'],
++        py_modules=[],
+         data_files=[
+             ('../etc/logrotate.d/',
+                 ["data/logrotate.d/unattended-upgrades"]),
+-- 
+2.36.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
index 1ec205f..d4f5b8d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
@@ -7,6 +7,7 @@
 
 SRC_URI = "git://github.com/mvo5/unattended-upgrades.git;protocol=https;branch=master \
            file://0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch \
+           file://0001-setup.py-Disable-autodection-of-modules.patch \
            "
 
 SRCREV = "c6db6fad26a2b83ba301b52ff5dee98cef7558ca"
diff --git a/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
index 7674785..583e833 100644
--- a/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
@@ -4,7 +4,11 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b7825df97b52f926fc71300f7880408"
 
-SRC_URI = "https://duktape.org/duktape-${PV}.tar.xz"
+SRC_URI = "https://duktape.org/duktape-${PV}.tar.xz \
+           file://run-ptest \
+          "
+inherit ptest
+
 SRC_URI[sha256sum] = "90f8d2fa8b5567c6899830ddef2c03f3c27960b11aca222fa17aa7ac613c2890"
 
 EXTRA_OEMAKE = "INSTALL_PREFIX='${prefix}' DESTDIR='${D}' LIBDIR='/${baselib}'"
@@ -13,8 +17,24 @@
     oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
 }
 
+do_compile_ptest() {
+    oe_runmake -f Makefile.hello INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+    oe_runmake -f Makefile.eval INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+    oe_runmake -f Makefile.eventloop INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+}
+
 do_install () {
     oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}" install
     # libduktaped is identical to libduktape but has an hard-coded -g build flags, remove it
     rm -f ${D}${libdir}/libduktaped.so*
 }
+
+do_install_ptest() {
+    install -m 0755 "${WORKDIR}/duktape-2.7.0/hello" "${D}${PTEST_PATH}"
+    install -m 0755 "${WORKDIR}/duktape-2.7.0/eval" "${D}${PTEST_PATH}"
+    install -m 0755 "${WORKDIR}/duktape-2.7.0/evloop" "${D}${PTEST_PATH}"
+    install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/timer-test.js" "${D}${PTEST_PATH}"
+    install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/ecma_eventloop.js" "${D}${PTEST_PATH}"
+}
+
+RDEPENDS_${PN}-ptest += "make"
diff --git a/meta-openembedded/meta-oe/recipes-extended/duktape/files/run-ptest b/meta-openembedded/meta-oe/recipes-extended/duktape/files/run-ptest
new file mode 100644
index 0000000..852fb15
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/duktape/files/run-ptest
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+./hello &> $test.output 2>&1
+out="Hello world!"
+
+if grep -i "$out" $test.output 2>&1 ; then
+   echo "PASS: Hello duktape"
+else
+   echo "FAIL: Hello duktape"
+fi
+rm -f $test.output
+
+./eval "print('Hello world!'); 123;" > out.log
+
+sed -n '2p' out.log > eval.log
+sed -n '3p' out.log >> eval.log
+
+if grep  -w 'Hello world!\|123' eval.log 2>&1; then
+   echo "PASS: eval duktape"
+else
+   echo "FAIL: eval duktape"
+fi
+rm -f eval.log out.log
+
+./evloop timer-test.js > evloop.log 2>&1
+
+if grep -i "no active timers and no sockets to poll" evloop.log 2>&1; then
+   echo "PASS: evloop duktape"
+else
+   echo "FAIL: evloop duktape"
+fi
+rm -f evloop.log
diff --git a/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb b/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb
index 8a06990..1307f6d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/p8platform/p8platform_git.bb
@@ -17,3 +17,5 @@
 EXTRA_OECMAKE += "-DCMAKE_INSTALL_LIBDIR=${libdir} -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir}"
 
 FILES:${PN}-dev += "${libdir}/p8-platform"
+
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc3.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc3.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.0.bb
index e977d67..3b49d20 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.0.bb
@@ -19,7 +19,7 @@
            file://GNU_SOURCE.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "66b2ecc2e4b53c62940589434ea8af3a85546df131001680ed294028cd84ecdc"
+SRC_URI[sha256sum] = "284d8bd1fd85d6a55a05ee4e7c31c31977ad56cbf344ed83790beeb148baa720"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.8.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.9.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.8.bb
rename to meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.9.bb
index 38704f8..4c5f0cf 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.8.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.9.bb
@@ -5,7 +5,7 @@
 SRC_URI = "git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \
            file://run-ptest \
            "
-SRCREV = "4782df2cec808f71762aa9f69c11759b4e127b61"
+SRCREV = "c308e39ccad6673e216f92d08b3782a4ffcb23ad"
 S = "${WORKDIR}/git"
 
 inherit gobject-introspection gtk-doc meson ptest-gnome lib_package
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
index bc6f021..3d65399 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
@@ -77,4 +77,4 @@
     oe_runmake 'DESTDIR=${D}' install
 }
 
-RDEPENDS:${PN} = "ttf-dejavu-sans-mono bash"
+RDEPENDS:${PN} = "ttf-dejavu-sans-mono"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb
index a9258e9..aa597cd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.50.0.bb
@@ -114,4 +114,6 @@
 
 FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
 
+RRECOMMENDS:${PN} = "liberation-fonts"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.7.0.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.8.0.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.7.0.bb
rename to meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.8.0.bb
index 461e6b0..76fd862 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.8.0.bb
@@ -9,7 +9,7 @@
 DEPENDS = "zlib elfutils"
 
 SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master"
-SRCREV = "2cd2d03f63242c048a896179398c68d2dbefe3d6"
+SRCREV = "86eb09863c1c0177e99c2c703092042d3cdba910"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_HOST = "(x86_64|i.86|aarch64|riscv64|powerpc64).*-linux"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.20.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.20.bb
index 452f066..90e5d56 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.20.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.20.bb
@@ -49,3 +49,5 @@
 FILES:jack-utils = "${bindir}/*"
 
 FILES:${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb
index 054fe4a..9090cab 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb
@@ -4,8 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
 
 SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
-SRC_URI[md5sum] = "034581479968405ed415c34a50d00224"
-SRC_URI[sha256sum] = "cc190f553758ced7571859e301f802cb4821f164d02bfacfd320c14a4e0da763"
+SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369"
 
 inherit autotools lib_package binconfig pkgconfig
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
new file mode 100644
index 0000000..4416924
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
@@ -0,0 +1,112 @@
+From 87992a57e5f517d5ceb5dfabaea662ac64983720 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 27 May 2022 18:37:53 +0200
+Subject: [PATCH] pavucontrol: remove canberra-gtk support
+
+libcanberra-gtk3 module isn't buildable for wayland.
+Remove its dpendency.
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Inappropriate
+---
+ configure.ac           |  2 +-
+ src/pavuapplication.cc |  2 --
+ src/pavucontrol.cc     |  4 ----
+ src/sinkwidget.cc      | 17 -----------------
+ 4 files changed, 1 insertion(+), 24 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 056ba5e..e857563 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -41,7 +41,7 @@ AC_TYPE_SIGNAL
+ AC_HEADER_STDC
+ AX_CXX_COMPILE_STDCXX_11
+ 
+-PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >= 0.16 json-glib-1.0 ])
++PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ])
+ AC_SUBST(GUILIBS_CFLAGS)
+ AC_SUBST(GUILIBS_LIBS)
+ 
+diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc
+index 6773b53..60c016c 100644
+--- a/src/pavuapplication.cc
++++ b/src/pavuapplication.cc
+@@ -24,8 +24,6 @@
+ 
+ #include "i18n.h"
+ 
+-#include <canberra-gtk.h>
+-
+ #include "pavuapplication.h"
+ #include "pavucontrol.h"
+ #include "mainwindow.h"
+diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
+index 18d5400..10ab646 100644
+--- a/src/pavucontrol.cc
++++ b/src/pavucontrol.cc
+@@ -29,8 +29,6 @@
+ #include <json-glib/json-glib.h>
+ #endif
+ 
+-#include <canberra-gtk.h>
+-
+ #include "pavucontrol.h"
+ #include "i18n.h"
+ #include "minimalstreamwidget.h"
+@@ -916,8 +914,6 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m, bool maximize, bool _ret
+     tab_number = _tab_number;
+     retry = _retry;
+ 
+-    ca_context_set_driver(ca_gtk_context_get(), "pulse");
+-
+     mainWindow = MainWindow::create(maximize);
+ 
+     api = pa_glib_mainloop_get_api(m);
+diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
+index f30bd37..482fd1f 100644
+--- a/src/sinkwidget.cc
++++ b/src/sinkwidget.cc
+@@ -24,7 +24,6 @@
+ 
+ #include "sinkwidget.h"
+ 
+-#include <canberra-gtk.h>
+ #if HAVE_EXT_DEVICE_RESTORE_API
+ #  include <pulse/format.h>
+ #  include <pulse/ext-device-restore.h>
+@@ -111,7 +110,6 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
+ void SinkWidget::executeVolumeUpdate() {
+     pa_operation* o;
+     char dev[64];
+-    int playing = 0;
+ 
+     if (!(o = pa_context_set_sink_volume_by_index(get_context(), index, &volume, NULL, NULL))) {
+         show_error(_("pa_context_set_sink_volume_by_index() failed"));
+@@ -120,22 +118,7 @@ void SinkWidget::executeVolumeUpdate() {
+ 
+     pa_operation_unref(o);
+ 
+-    ca_context_playing(ca_gtk_context_get(), 2, &playing);
+-    if (playing)
+-        return;
+-
+     snprintf(dev, sizeof(dev), "%lu", (unsigned long) index);
+-    ca_context_change_device(ca_gtk_context_get(), dev);
+-
+-    ca_gtk_play_for_widget(GTK_WIDGET(gobj()),
+-                           2,
+-                           CA_PROP_EVENT_DESCRIPTION, _("Volume Control Feedback Sound"),
+-                           CA_PROP_EVENT_ID, "audio-volume-change",
+-                           CA_PROP_CANBERRA_CACHE_CONTROL, "permanent",
+-                           CA_PROP_CANBERRA_ENABLE, "1",
+-                           NULL);
+-
+-    ca_context_change_device(ca_gtk_context_get(), NULL);
+ }
+ 
+ void SinkWidget::onMuteToggleButton() {
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
similarity index 66%
rename from meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
index 5f9d7a6..012fc3a 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
@@ -8,16 +8,19 @@
 # AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
 # glib-2.0-native dependency may go away at some point (something to keep in
 # mind when doing version upgrades).
-DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
+DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 pulseaudio json-glib"
 
 inherit autotools features_check perlnative pkgconfig
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
-          "
-SRC_URI[md5sum] = "9dcc2c76292e7e5e075d51b8dcb20202"
-SRC_URI[sha256sum] = "8fc45bac9722aefa6f022999cbb76242d143c31b314e2dbb38f034f4069d14e2"
+SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
+SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-pavucontrol-remove-canberra-gtk-support.patch', '', d)}"
+
+SRC_URI[sha256sum] = "ce2b72c3b5f1a70ad0df19dd81750f9455bd20870d1d3a36d20536af2e8f4e7a"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[x11] = ",,libcanberra"
 
 EXTRA_OECONF = "--disable-lynx "
 
diff --git a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2.bb b/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2.bb
deleted file mode 100644
index 70d4135..0000000
--- a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Simple program to read/write from/to any location in memory"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://devmem2.c;endline=38;md5=a9eb9f3890384519f435aedf986297cf"
-PR = "r7"
-
-SRC_URI = "https://bootlin.com/pub/mirror/devmem2.c;downloadfilename=devmem2-new.c \
-           file://devmem2-fixups-2.patch;apply=yes;striplevel=0 \
-           file://0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch \
-           file://0001-devmem2-support-different-page-sizes-at-run-time.patch \
-"
-
-S = "${WORKDIR}"
-
-CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
-
-python do_unpack:append() {
-    os.rename("devmem2-new.c", "devmem2.c")
-}
-
-do_compile() {
-    ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
-}
-
-do_install() {
-    install -d ${D}${bindir}
-    install devmem2 ${D}${bindir}
-}
-
-SRC_URI[md5sum] = "e23f236e94be4c429aa1ceac0f01544b"
-SRC_URI[sha256sum] = "3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639"
diff --git a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch b/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
deleted file mode 100644
index 2a57f29..0000000
--- a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 1360a907879dd24041797a3b709d49aeac2ab444 Mon Sep 17 00:00:00 2001
-From: Denys Dmytriyenko <denys@ti.com>
-Date: Tue, 29 May 2018 16:55:42 -0400
-Subject: [PATCH] devmem.c: ensure word is 32-bit and add support for 64-bit
- long
-
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
----
- devmem2.c | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/devmem2.c b/devmem2.c
-index 5845381..68131b2 100644
---- a/devmem2.c
-+++ b/devmem2.c
-@@ -39,6 +39,7 @@
- 
- #include <stdio.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <unistd.h>
- #include <string.h>
- #include <errno.h>
-@@ -69,7 +70,7 @@ int main(int argc, char **argv) {
- 	if(argc < 2) {
- 		fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
- 			"\taddress : memory address to act upon\n"
--			"\ttype    : access operation type : [b]yte, [h]alfword, [w]ord\n"
-+			"\ttype    : access operation type : [b]yte, [h]alfword, [w]ord, [l]ong\n"
- 			"\tdata    : data to be written\n\n",
- 			argv[0]);
- 		exit(1);
-@@ -103,9 +104,14 @@ int main(int argc, char **argv) {
- 			read_result = *((unsigned short *) virt_addr);
- 			break;
- 		case 'w':
--			data_size = sizeof(unsigned long);
-+			data_size = sizeof(uint32_t);
- 			virt_addr = fixup_addr(virt_addr, data_size);
--			read_result = *((unsigned long *) virt_addr);
-+			read_result = *((uint32_t *) virt_addr);
-+			break;
-+		case 'l':
-+			data_size = sizeof(uint64_t);
-+			virt_addr = fixup_addr(virt_addr, data_size);
-+			read_result = *((uint64_t *) virt_addr);
- 			break;
- 		default:
- 			fprintf(stderr, "Illegal data type '%c'.\n", access_type);
-@@ -129,9 +135,14 @@ int main(int argc, char **argv) {
- 				read_result = *((unsigned short *) virt_addr);
- 				break;
- 			case 'w':
--				virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
--				*((unsigned long *) virt_addr) = write_val;
--				read_result = *((unsigned long *) virt_addr);
-+				virt_addr = fixup_addr(virt_addr, sizeof(uint32_t));
-+				*((uint32_t *) virt_addr) = write_val;
-+				read_result = *((uint32_t *) virt_addr);
-+				break;
-+			case 'l':
-+				virt_addr = fixup_addr(virt_addr, sizeof(uint64_t));
-+				*((uint64_t *) virt_addr) = write_val;
-+				read_result = *((uint64_t *) virt_addr);
- 				break;
- 		}
- 		sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch b/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch
deleted file mode 100644
index 0da0732..0000000
--- a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/0001-devmem2-support-different-page-sizes-at-run-time.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0f6af48b2fbc71ec8abe862d3e9eb6da7b03538b Mon Sep 17 00:00:00 2001
-From: Denys Dmytriyenko <denys@ti.com>
-Date: Wed, 8 Aug 2018 14:38:00 -0400
-Subject: [PATCH] devmem2: support different page sizes at run-time
-
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
----
- devmem2.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/devmem2.c b/devmem2.c
-index 68131b2..76af2d6 100644
---- a/devmem2.c
-+++ b/devmem2.c
-@@ -53,8 +53,6 @@
- #define FATAL do { fprintf(stderr, "Error at line %d, file %s (%d) [%s]\n", \
-   __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)
-  
--#define MAP_SIZE 4096UL
--#define MAP_MASK (MAP_SIZE - 1)
- 
- static inline void *fixup_addr(void *addr, size_t size);
- 
-@@ -66,6 +64,8 @@ int main(int argc, char **argv) {
- 	int access_type = 'w';
- 	char fmt_str[128];
- 	size_t data_size;
-+	unsigned long MAP_SIZE = sysconf(_SC_PAGE_SIZE);
-+	unsigned long MAP_MASK = (MAP_SIZE - 1);
- 	
- 	if(argc < 2) {
- 		fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch b/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
deleted file mode 100644
index 4517797..0000000
--- a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- devmem2.c	2004-08-05 01:55:25.000000000 +0200
-+++ devmem2_modif.c	2011-01-13 15:48:37.798799784 +0100
-@@ -45,12 +45,16 @@
- #define MAP_SIZE 4096UL
- #define MAP_MASK (MAP_SIZE - 1)
- 
-+static inline void *fixup_addr(void *addr, size_t size);
-+
- int main(int argc, char **argv) {
-     int fd;
-     void *map_base, *virt_addr; 
--	unsigned long read_result, writeval;
-+	unsigned long read_result, write_val;
- 	off_t target;
- 	int access_type = 'w';
-+	char fmt_str[128];
-+	size_t data_size;
- 	
- 	if(argc < 2) {
- 		fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
-@@ -79,38 +83,51 @@
-     virt_addr = map_base + (target & MAP_MASK);
-     switch(access_type) {
- 		case 'b':
-+			data_size = sizeof(unsigned char);
-+			virt_addr = fixup_addr(virt_addr, data_size);
- 			read_result = *((unsigned char *) virt_addr);
- 			break;
- 		case 'h':
-+			data_size = sizeof(unsigned short);
-+			virt_addr = fixup_addr(virt_addr, data_size);
- 			read_result = *((unsigned short *) virt_addr);
- 			break;
- 		case 'w':
-+			data_size = sizeof(unsigned long);
-+			virt_addr = fixup_addr(virt_addr, data_size);
- 			read_result = *((unsigned long *) virt_addr);
- 			break;
- 		default:
- 			fprintf(stderr, "Illegal data type '%c'.\n", access_type);
- 			exit(2);
- 	}
--    printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result); 
-+	sprintf(fmt_str, "Read at address  0x%%08lX (%%p): 0x%%0%dlX\n", 2*data_size);
-+    printf(fmt_str, (unsigned long)target, virt_addr, read_result);
-     fflush(stdout);
- 
- 	if(argc > 3) {
--		writeval = strtoul(argv[3], 0, 0);
-+		write_val = strtoul(argv[3], 0, 0);
- 		switch(access_type) {
- 			case 'b':
--				*((unsigned char *) virt_addr) = writeval;
-+				virt_addr = fixup_addr(virt_addr, sizeof(unsigned char));
-+				*((unsigned char *) virt_addr) = write_val;
- 				read_result = *((unsigned char *) virt_addr);
- 				break;
- 			case 'h':
--				*((unsigned short *) virt_addr) = writeval;
-+				virt_addr = fixup_addr(virt_addr, sizeof(unsigned short));
-+				*((unsigned short *) virt_addr) = write_val;
- 				read_result = *((unsigned short *) virt_addr);
- 				break;
- 			case 'w':
--				*((unsigned long *) virt_addr) = writeval;
-+				virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
-+				*((unsigned long *) virt_addr) = write_val;
- 				read_result = *((unsigned long *) virt_addr);
- 				break;
- 		}
--		printf("Written 0x%X; readback 0x%X\n", writeval, read_result); 
-+		sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
-+			"readback 0x%%0%dlX\n",	2*data_size, 2*data_size);
-+		printf(fmt_str, (unsigned long)target, virt_addr,
-+			write_val, read_result);
- 		fflush(stdout);
- 	}
- 	
-@@ -119,3 +136,12 @@
-     return 0;
- }
- 
-+static inline void *fixup_addr(void *addr, size_t size)
-+{
-+#ifdef FORCE_STRICT_ALIGNMENT
-+	unsigned long aligned_addr = (unsigned long)addr;
-+	aligned_addr &= ~(size - 1);
-+	addr = (void *)aligned_addr;
-+#endif
-+	return addr;
-+}
diff --git a/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2_2.0.bb b/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2_2.0.bb
new file mode 100644
index 0000000..aee6bfe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/devmem2/devmem2_2.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Simple program to read/write from/to any location in memory"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://devmem2.c;endline=38;md5=a9eb9f3890384519f435aedf986297cf"
+
+SRC_URI = "git://github.com/denix0/devmem2.git;protocol=https;branch=main"
+SRCREV = "5b395a946894eb4f4ef5d07c80a50a88573a541e"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
+
+do_compile() {
+    ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
+}
+
+do_install() {
+    install -d ${D}${bindir}
+    install devmem2 ${D}${bindir}
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.0.bb b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.1.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.0.bb
rename to meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.1.bb
index 2843939..8e37181 100644
--- a/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/function2/function2_4.2.1.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "https://naios.github.io/function2"
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRCREV = "02ca99831de59c7c3a4b834789260253cace0ced"
+SRCREV = "f569a63cfe369df867a1a4d17aaa12269156536c"
 PV .= "+git${SRCPV}"
 
 SRC_URI += "gitsm://github.com/Naios/function2;branch=master;protocol=https"
diff --git a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
index 1c57a1d..4aa58ec 100644
--- a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
@@ -12,6 +12,6 @@
 inherit autotools pkgconfig
 
 SRC_URI = "git://github.com/libusb/hidapi.git;protocol=https;branch=master"
-PV = "0.11.2"
-SRCREV = "31bde69a1f08c880ef1622f2586eea0daf3b0857"
+PV = "0.12.0"
+SRCREV = "76108294092c023a4ece99eb3219559cea0d5066"
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/htop/htop_3.2.0.bb b/meta-openembedded/meta-oe/recipes-support/htop/htop_3.2.1.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/htop/htop_3.2.0.bb
rename to meta-openembedded/meta-oe/recipes-support/htop/htop_3.2.1.bb
index 12b110e..233a1ee 100644
--- a/meta-openembedded/meta-oe/recipes-support/htop/htop_3.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/htop/htop_3.2.1.bb
@@ -9,7 +9,7 @@
 SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https \
            file://0001-Use-pkg-config.patch \
 "
-SRCREV = "c7413fd6771b65388bea14ef42863444c6eaa419"
+SRCREV = "4e6ec4a0873c56ca9de63eadf730c5bd677bd8da"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.359.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.360.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.359.bb
rename to meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.360.bb
index 3564854..b395409 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.359.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.360.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPL-2.0-or-later | XFree86-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-SRCREV = "bf3322565b3bf5c35c90e42ca6cf4928f2f2d481"
+SRCREV = "5e1a17e536de5b2888ecb7ae58ded885a53eddfd"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.7.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
rename to meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.7.bb
index 1549732..c83ee92 100644
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.7.bb
@@ -9,7 +9,7 @@
 S = "${WORKDIR}/git"
 B = "${S}"
 
-SRCREV = "c9864f4dd03736839f40d225da494cb1eb64e654"
+SRCREV = "0f47dde41f92f00b12160387659501edefd05b38"
 SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master;protocol=https"
 
 inherit gettext autotools pkgconfig python3native
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
index 35e68b7..2cccf93 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.3.bb
@@ -14,7 +14,7 @@
 
 inherit autotools pkgconfig python3native ptest
 
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2,bats python3-packaging"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2"
 PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
 PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
 
@@ -54,6 +54,7 @@
     coreutils \
     ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-unittest', '', d)} \
 "
+RDEPENDS:${PN}-ptest += "bats python3-packaging"
 
 PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.26.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.27.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/links/links_2.26.bb
rename to meta-openembedded/meta-oe/recipes-support/links/links_2.27.bb
index 3c1ee4f..4803353 100644
--- a/meta-openembedded/meta-oe/recipes-support/links/links_2.26.bb
+++ b/meta-openembedded/meta-oe/recipes-support/links/links_2.27.bb
@@ -8,4 +8,4 @@
                 --without-libtiff --without-svgalib --with-fb \
                 --without-directfb --without-pmshell --without-atheos \
                 --without-x"
-SRC_URI[sha256sum] = "f05b3577f25dbe63e491c424f0ecb31f7bfadce9b2bc2f111dfed049c004c9cb"
+SRC_URI[sha256sum] = "d8ddcbfcede7cdde80abeb0a236358f57fa6beb2bcf92e109624e9b896f9ebb4"
diff --git a/poky/meta/recipes-support/lzop/lzop/acinclude.m4 b/meta-openembedded/meta-oe/recipes-support/lzop/lzop/acinclude.m4
similarity index 100%
rename from poky/meta/recipes-support/lzop/lzop/acinclude.m4
rename to meta-openembedded/meta-oe/recipes-support/lzop/lzop/acinclude.m4
diff --git a/poky/meta/recipes-support/lzop/lzop_1.04.bb b/meta-openembedded/meta-oe/recipes-support/lzop/lzop_1.04.bb
similarity index 100%
rename from poky/meta/recipes-support/lzop/lzop_1.04.bb
rename to meta-openembedded/meta-oe/recipes-support/lzop/lzop_1.04.bb
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
deleted file mode 100644
index 0b7e3a2..0000000
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-openldap: assume /dev/urandom exists
-
-When we are cross-compiling, we want to assume
-that /dev/urandom exists.  We could change the source
-code to look for it, but this is the easy way out.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -2117,6 +2117,7 @@ AC_SUBST(systemdsystemunitdir)
- 
- dnl ----------------------------------------------------------------
- dnl Check for entropy sources
-+dev=no
- if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
- 	dev=no
- 	if test -r /dev/urandom ; then
-@@ -2131,9 +2132,11 @@ if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
- 		dev="/idev/random";
- 	fi
- 
--	if test $dev != no ; then
--		AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
--	fi
-+elif test $cross_compiling == yes ; then
-+       dev="/dev/urandom";
-+fi
-+if test $dev != no ; then
-+	AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
- fi
- 
- dnl ----------------------------------------------------------------
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb
index e4475e5..a0ca2b5 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb
@@ -15,7 +15,6 @@
 LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
 
 SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \
-    file://use-urandom.patch \
     file://initscript \
     file://slapd.service \
     file://remove-user-host-pwd-from-version.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.05.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.06.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.05.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.06.0.bb
index 9a7d9ef..989b35a 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.05.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.06.0.bb
@@ -7,7 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[sha256sum] = "a969ced458e050d6202367bd7427054e2bd19bae39e8f969910d3b9151abf958"
+SRC_URI[sha256sum] = "a0f9aaa3918bad781039fc307a635652a14d1b391cd559b66edec4bedba3c5d7"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.0.bb b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.1.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.0.bb
rename to meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.1.bb
index 18753db..df441e8 100644
--- a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.1.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=master"
 
-SRCREV = "9e0536de18b53ba193364291ef0303b0ab9903e1"
+SRCREV = "71036be8be02bf93735c47b0b745f722efbc729f"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
index aa49a06..595b029 100644
--- a/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -1,4 +1,4 @@
-From fa57c78c33d26084f85f1a6b4c29378631dc9395 Mon Sep 17 00:00:00 2001
+From 490f5b6cd788692d989f07180a5714c76872911e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 30 Nov 2019 11:58:58 -0800
 Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
@@ -10,17 +10,18 @@
 
 Upstream-Status: Submitted [https://gitlab.freedesktop.org/libevdev/evtest/merge_requests/6]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
- evtest.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ evtest.c | 5 +++++
+ 1 file changed, 5 insertions(+)
 
 diff --git a/evtest.c b/evtest.c
-index 548c203..93063cd 100644
+index ba7a161..8fc2e5a 100644
 --- a/evtest.c
 +++ b/evtest.c
-@@ -61,6 +61,11 @@
- #include <sys/types.h>
- #include <unistd.h>
+@@ -63,6 +63,11 @@
+ #define input_event_usec time.tv_usec
+ #endif
  
 +#ifndef input_event_sec
 +#define input_event_sec time.tv_sec
@@ -30,12 +31,3 @@
  #define BITS_PER_LONG (sizeof(long) * 8)
  #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
  #define OFF(x)  ((x)%BITS_PER_LONG)
-@@ -1140,7 +1145,7 @@ static int print_events(int fd)
- 			type = ev[i].type;
- 			code = ev[i].code;
- 
--			printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec);
-+			printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_usec);
- 
- 			if (type == EV_SYN) {
- 				if (code == SYN_MT_REPORT)
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
deleted file mode 100644
index b2bf94f..0000000
--- a/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5eb4ab1c139ea38ebe6bb4acba08b09ee7d77d3c Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Sun, 18 Aug 2019 10:01:06 +0300
-Subject: Add missing limits.h include
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes build with musl libc that does not include limits.h indirectly via
-other headers.
-
-evtest.c: In function ‘scan_devices’:
-evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean  INT8_MAX’?
-   char fname[PATH_MAX];
-              ^~~~~~~~
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- evtest.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/evtest.c b/evtest.c
-index 37d4f85..548c203 100644
---- a/evtest.c
-+++ b/evtest.c
-@@ -56,6 +56,7 @@
- #include <getopt.h>
- #include <ctype.h>
- #include <signal.h>
-+#include <limits.h>
- #include <sys/time.h>
- #include <sys/types.h>
- #include <unistd.h>
--- 
-cgit v1.1
-
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb
rename to meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb
index daf9dc3..51af999 100644
--- a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb
+++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.35.bb
@@ -7,9 +7,8 @@
 
 DEPENDS = "libxml2"
 
-SRCREV = "16e5104127a620686bdddc4a9ad62881134d6c69"
+SRCREV = "da347a8f88d2e5729dd12d61ee9743f902065b55"
 SRC_URI = "git://gitlab.freedesktop.org/libevdev/evtest.git;protocol=https;branch=master \
-           file://add_missing_limits_h_include.patch \
            file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
            "
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.33.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.34.bb
similarity index 94%
rename from meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.33.bb
rename to meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.34.bb
index 2c7d793..69afe6e 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.33.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.34.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "5a40e7cf524e4bd2c33cf03b82b47d5308b712083aa5ee180b0b5af54c71fbd2"
+SRC_URI[sha256sum] = "de756e3fb6addbd32beafc869c4dd1c6a0b3783c5ef56dbefc6809443a4b1d15"
 
 UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-python/classes/python_hatchling.bbclass b/meta-openembedded/meta-python/classes/python_hatchling.bbclass
new file mode 100644
index 0000000..b3cbe23
--- /dev/null
+++ b/meta-openembedded/meta-python/classes/python_hatchling.bbclass
@@ -0,0 +1,5 @@
+inherit python_pep517 python3native python3-dir setuptools3-base
+
+DEPENDS += "python3-hatchling-native"
+
+PEP517_BUILD_API = "hatchling.build"
diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
index 6ca652e..0721c6c 100644
--- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
+++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -106,6 +106,7 @@
     python3-dominate \
     python3-dynamic-dispatch \
     python3-ecdsa \
+    python3-editables \
     python3-editor \
     python3-email-validator \
     python3-engineio \
@@ -167,6 +168,7 @@
     python3-h11 \
     python3-h2 \
     python3-h5py \
+    python3-hatchling \
     python3-haversine \
     python3-hpack \
     python3-html2text \
@@ -269,6 +271,7 @@
     python3-parso \
     python3-passlib \
     python3-pastedeploy \
+    python3-pathspec \
     python3-pathtools3 \
     python3-pep8 \
     python3-periphery \
@@ -389,6 +392,8 @@
     python3-send2trash \
     python3-sentry-sdk \
     python3-serpent \
+    python3-setuptools-declarative-requirements \
+    python3-setuptools-scm-git-archive \
     python3-sh \
     python3-sijax \
     python3-simpleeval \
@@ -436,6 +441,7 @@
     python3-typeguard \
     python3-tzlocal \
     python3-u-msgpack-python \
+    python3-uinput \
     python3-ujson \
     python3-unidiff \
     python3-uritemplate \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.5.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.5.bb
index a2e9111..f11a4a1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
 
-SRC_URI[sha256sum] = "4e5ba10571e197785e312966ea5efb2f5783176d4c1a73fa922d474ae2be59f7"
+SRC_URI[sha256sum] = "f4e4ec5294c4b07ac38bab9ca5ddd3914d4bf46f9006eb5c0ae755755061044e"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.3.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.3.bb
index 2bf9192..189547b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec941a1cd6616454970d03cb9c9e8f8"
 
-SRC_URI[sha256sum] = "867cc056d88fc07aa8b3d1dc5b9c3c911cdd6130a4df5f67beb1fdecfd37b164"
+SRC_URI[sha256sum] = "a14baf680a3d3e1cf54e082ab56f56c475d59d3644cfc25c00c460e56d9bbdf7"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.2.bb
similarity index 71%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.2.bb
index cdb8969..c43f9ee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.2.bb
@@ -4,6 +4,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
 
-SRC_URI[sha256sum] = "84bcd85ab1bb9a287cfd1b2e5145f888b6e02ef3e3a63a07453f10f2f6e50fe3"
+SRC_URI[sha256sum] = "051f89efd8ba0b157fb516bda5e1dad4d63f87e8f9c0c148930023d984fce62f"
+
+RDEPENDS:${PN} += "python3-profile python3-logging"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.5.1.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.5.1.bb
index bb80c4a..bda2d96 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.5.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "PSF-2.0"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
 
-SRC_URI[sha256sum] = "5abed04adcd2031f6e714993d95223bf9ae85354c640c270b2ed6f46b83573ba"
+SRC_URI[sha256sum] = "8d38f60751008099a659d5acfb35ef4150183effd5b2bfa6c10199270ddf4c9c"
 
 inherit setuptools3 pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.2.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.2.0.bb
index f2974f7..35b338c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_5.2.0.bb
@@ -6,7 +6,7 @@
 SECTION = "devel/python"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=439a07e400525964c3c82684146e46eb"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ec55353c80c662e4255f8889a0ca558"
 
 inherit pypi python_setuptools_build_meta ptest
 
@@ -27,6 +27,6 @@
 	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
 }
 
-SRC_URI[sha256sum] = "486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6"
+SRC_URI[sha256sum] = "6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb
index 57ef3b2..270f749 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb
@@ -7,11 +7,11 @@
 
 RDEPENDS:${PN} += "python3-setuptools python3-distutils"
 
-inherit pypi python_flit_core 
+inherit pypi python_setuptools_build_meta
 
 SRC_URI += " file://0001-Fix-build-error-as-following.patch \
            "
 
-DEPENDS += "python3-setuptools-native"
+DEPENDS += "python3-setuptools-scm-native"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.3.5.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.3.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.3.5.bb
index 4158dbe..92962c0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.3.5.bb
@@ -5,7 +5,7 @@
 
 PYPI_PACKAGE = "croniter"
 
-SRC_URI[sha256sum] = "3169365916834be654c2cac57ea14d710e742f8eb8a5fce804f6ce548da80bf2"
+SRC_URI[sha256sum] = "7592fc0e8a00d82af98dfa2768b75983b6fb4c2adc8f6d0d7c931a715b7cefee"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-editables_0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-editables_0.3.bb
new file mode 100644
index 0000000..b42ff06
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-editables_0.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A Python library for creating editable wheels"
+HOMEPAGE = "https://github.com/pfmoore/editables"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41bc1be47b7bb8240db3ef928c7cb0bf"
+
+SRC_URI[sha256sum] = "167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a"
+
+inherit pypi python_setuptools_build_meta
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.1.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.1.bb
index 6a4449c..afaaf4a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.33.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778"
 
-SRC_URI[sha256sum] = "80144f489c1bb273a51b6f96ff9785a382d2866b9bab1f5bd748385019f4141f"
+SRC_URI[sha256sum] = "afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.2.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.2.0.bb
index 1e5d775..9deae8b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.2.0.bb
@@ -9,7 +9,7 @@
 
 PYPI_PACKAGE = "Flask-SocketIO"
 
-SRC_URI[sha256sum] = "933bcc887ef463a9b78d76f8f86174f63a32d12a5406b99f452cdf3b129ebba3"
+SRC_URI[sha256sum] = "19c3d0cea49c53505fa457fedc133b32cb6eeaaa30d28cdab9d6ca8f16045427"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-flask \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.7.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.0.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.7.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.0.bb
index 3422dd7..b7ff8bc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.7.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.0.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "17957f0704cbe95bd2ce25019efd2046423978594d181d4263e5dcffd2dbbc79"
+SRC_URI[sha256sum] = "065bb8e11c605fd232707ae50963dc1c8af5b3c95b4568887515985e6c1156b3"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.45.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.49.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.45.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.49.0.bb
index 070a5b5..660262e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.45.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.49.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "375ce07994fdc187b25cc86788048ad30f8d55ff077d5e34cfcd6cbbea697128"
+SRC_URI[sha256sum] = "629bbde991ce2d9697c6da37f2416f7aeb01ba01505b166066a415b3c3ce1dfc"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.2.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.2.bb
index 0a3547e..78b899e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.2.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "4007500795bcfc269d279f0f7d253ae18d6dc1ff5d5a73613ffe452038b1ec5f"
+SRC_URI[sha256sum] = "b09b56f5463070c2153753ef123f07d2e49235e89148e9b2459ec8ed2f68d7d3"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-grpcio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.3.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.3.bb
index 9569e8e..221a05e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.3.bb
@@ -10,7 +10,7 @@
 DEPENDS += "${PYTHON_PN}-grpcio"
 
 SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
-SRC_URI[sha256sum] = "9295bf9b1e6dd5bcb260d594745fa3d6a089daade28f3a80cb2bc976b5359b7d"
+SRC_URI[sha256sum] = "31fee436ace5b3bd950cc3a8e68d6b84de1d6dc755959db7badc3470cdf22f70"
 
 RDEPENDS:${PN} = "${PYTHON_PN}-grpcio"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.7.0.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.7.0.bb
index 64abe73..1153ea3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.7.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c"
 
-SRC_URI[sha256sum] = "8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29"
+SRC_URI[sha256sum] = "3fcf37884383c5da64846ab510190720027dca0768def34dd8dcb659dbe5cbf3"
 
 SRC_URI:append = " \
            file://0001-setup_build.py-avoid-absolute-path.patch \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-hatchling_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-hatchling_1.3.0.bb
new file mode 100644
index 0000000..a6550a9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-hatchling_1.3.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "The extensible, standards compliant build backend used by Hatch"
+HOMEPAGE = "https://hatch.pypa.io/latest/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cbe2fd33fc9297692812fc94b7d27fd9"
+
+inherit pypi python_hatchling
+
+DEPENDS += "python3-pluggy-native python3-tomli-native python3-pathspec-native python3-packaging-native python3-editables-native"
+DEPENDS:remove:class-native = "python3-hatchling-native"
+
+SRC_URI[sha256sum] = "1401d45d3dd6a5910f64d539acaa943486d5e8b7dda1a97f2b0040fdddc5b85e"
+
+# Until we have a proper tool to invoke PEP517 builds, hatchling can't
+# bootstrap itself automatically.
+PEP517_BUILD_API = "hatchling.ouroboros"
+
+do_compile:prepend() {
+    export PYTHONPATH=src
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.1.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.1.0.bb
index 86eed73..df5a4e9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.1.0.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
 
-SRC_URI[sha256sum] = "ee1f872fdfc7d2ef4a28d4f80ddde9f96d36955b5d6b0dac4bdeb99502bddb00"
+SRC_URI[sha256sum] = "3a119b242ec872c029d8b7bf8435a61a5798f124b244a08013aec5617302f80e"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.18.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.19.3.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.18.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.19.3.bb
index 2aa6b09..8622932 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.18.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.19.3.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
 
-SRC_URI[sha256sum] = "090898c48532631ab11c74ae743e64c24dabda45c16db46f7e3bec9e2d8f422f"
+SRC_URI[sha256sum] = "0c9df80e42f2ee68bea92001e7fcf612aa149910efe040eb757f5ce323250ae1"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.0.1.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.0.1.bb
index ef5b006..0dd353b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.0.1.bb
@@ -11,7 +11,7 @@
 
 SRC_URI += "file://run-ptest"
 
-SRC_URI[sha256sum] = "57c5dfd3b7dae833b0d2b2c1aafd7f9d0dfcab40683d183d010c67c9fd1beca3"
+SRC_URI[sha256sum] = "efdfec2175715bf2d814ed72a7a185406f3456464eb3f343db1b87ed813e039c"
 
 inherit pkgconfig pypi python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
index b9eab3c..cd05b45 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.5.1.bb
@@ -50,6 +50,7 @@
     ${PYTHON_PN}-dateutil \
     ${PYTHON_PN}-kiwisolver \
     ${PYTHON_PN}-pytz \
+    ${PYTHON_PN}-pillow \
 "
 
 ENABLELTO:toolchain-clang:riscv64 = "echo enable_lto = False >> ${S}/mplsetup.cfg"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.950.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.960.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.950.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.960.bb
index c268ade..5d99b64 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.950.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.960.bb
@@ -7,7 +7,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "1b333cfbca1762ff15808a0ef4f71b5d3eed8528b23ea1c3fb50543c867d68de"
+SRC_URI[sha256sum] = "d4fccf04c1acf750babd74252e0f2db6bd2ac3aa8fe960797d9f3ef41cf2bfd4"
 
 BBCLASSEXTEND = "native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.10.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.9.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.10.bb
index 4dfd449..447c86d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-openpyxl_3.0.10.bb
@@ -9,7 +9,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "40f568b9829bf9e446acfffce30250ac1fa39035124d55fc024025c41481c90f"
+SRC_URI[sha256sum] = "e47805627aebcf860edb4edf7987b1309c1b3632f3750538ed962bbcc3bd7449"
 
 RDEPENDS:${PN} += "\
 	${PYTHON_PN}-compression \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.10.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.11.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.10.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.11.0.bb
index 3173687..5c0cb1e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.10.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-paramiko_2.11.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5"
 
-SRC_URI[sha256sum] = "3d2e650b6812ce6d160abff701d6ef4434ec97934b13e95cf1ad3da70ffb5c58"
+SRC_URI[sha256sum] = "003e6bee7c034c21fbb051bf83dc0a9ee4106204dd3c53054c71452cc4ec3938"
 
 PYPI_PACKAGE = "paramiko"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pathspec_0.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pathspec_0.9.0.bb
new file mode 100644
index 0000000..641f1cf
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pathspec_0.9.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Utility library for gitignore style pattern matching of file paths."
+HOMEPAGE = "https://github.com/cpburnz/python-path-specification"
+SECTION = "devel/python"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
+
+SRC_URI[sha256sum] = "e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.19.2.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.19.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.19.2.bb
index e1c471e..06337ed 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.19.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.19.2.bb
@@ -10,7 +10,7 @@
 
 inherit pypi ptest python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "3e5913e4ad125f672f72e19e06a8cb1f6d36a4922b6e5a49e04ff882511f82c8"
+SRC_URI[sha256sum] = "e1d4989ff510b378dad64f91711e7bdabe5ca78d75b06a18569ac454678c4baf"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.2.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.2.bb
index b34c78e..c8686ab 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
 
-SRC_URI[sha256sum] = "9545a22acdadc96603f76d7878c6ea17baf1328260cf560c887c8c12aad4c82c"
+SRC_URI[sha256sum] = "6be626e5ba2f6ffaefbc13ddced84e8b60a9ef1b012f71039fc0f7a0bcb4bda6"
 
 PYPI_PACKAGE = "PyChromecast"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.4.0.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.3.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.4.0.bb
index 19ba307..a540e36 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.4.0.bb
@@ -3,9 +3,9 @@
  Original implementation was written by https://github.com/progrium"
 HOMEPAGE = "http://github.com/jpadilla/pyjwt"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e4b56d2c9973d8cf54655555be06e551"
 
-SRC_URI[sha256sum] = "b888b4d56f06f6dcd777210c334e69c737be74755d3e5e9ee3fe67dc18a0ee41"
+SRC_URI[sha256sum] = "d42908208c699b3b973cbeb01a969ba6a96c821eefb1c5bfe4c390c01d67abba"
 
 PYPI_PACKAGE = "PyJWT"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.9.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.9.bb
index 0aa645c..1946a89 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.9.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
 
-SRC_URI[sha256sum] = "911d3a97c808f7554643bcc5416028cfdc42eae34ed129b150741888c688d5d5"
+SRC_URI[sha256sum] = "095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.2.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.2.bb
index 724bbd7..5b61c06 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.2.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=14a49c74a1d91829908ac756c07e6b91"
 DEPENDS += "python3-setuptools-scm-native"
 
-SRC_URI[sha256sum] = "c8cfa9983503f31b301f4b0bec0a8f41518f9a3a3853471ce94f9f9dc770a3e2"
+SRC_URI[sha256sum] = "11be56d21a0047ea604e7bc4349e95592cdc734b0a405082a6a4f2a7028dc896"
 
 inherit pypi python_setuptools_build_meta
 PYPI_PACKAGE = "PyScaffold"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.1.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.1.bb
index 1e70cf4..c0d9c00 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
 
-SRC_URI[sha256sum] = "0107dc8e98a4f1d1d4aa00100e044287f77121a1e6d2085545c4b7fa94a7a27f"
+SRC_URI[sha256sum] = "94b617b4cd296e94991146f66fc5559756fbefe9493604f0312e4d3298ac63e9"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_5.0.1.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_5.0.1.bb
index d66fd33..49c97ad 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_5.0.1.bb
@@ -13,7 +13,7 @@
 
 PYPI_PACKAGE_EXT = "zip"
 
-SRC_URI[sha256sum] = "bffecba8c43d4294936d921f0af4941079039edce88194769133719732c608bc"
+SRC_URI[sha256sum] = "cf5dc59777ed9d8c3e1e91fb4403454890242867735681f22f4f22dbb2a20fc8"
 
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-shell \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.12.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.10.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.12.bb
index 7076e19..36e48f9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.12.bb
@@ -7,7 +7,7 @@
 
 RDEPENDS:${PN} += "python3-urllib3"
 
-SRC_URI[sha256sum] = "0a9eb20a84f4c17c08c57488d59fdad18669db71ebecb28fb0721423a33535f9"
+SRC_URI[sha256sum] = "259535ba66933eacf85ab46524188c84dcb4c39f40348455ce15e2c0aca68863"
 
 PYPI_PACKAGE = "sentry-sdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.2.0.bb
new file mode 100644
index 0000000..9628656
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-declarative-requirements_1.2.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "File support for setuptools declarative setup.cfg"
+HOMEPAGE = "https://pypi.org/project/setuptools-declarative-requirements/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI[sha256sum] = "d11fdb5ef818c65b20bc241e0f5ef44905a5640b681dae21ba1ac1742dab1fd1"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += "python3-setuptools-scm-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm-git-archive_1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm-git-archive_1.1.bb
new file mode 100644
index 0000000..472c4eb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-setuptools-scm-git-archive_1.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "setuptools_scm plugin for git archives"
+HOMEPAGE = "https://pypi.org/project/setuptools-scm-git-archive/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=838c366f69b72c5df05c96dff79b35f2"
+
+SRC_URI[sha256sum] = "6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "setuptools_scm_git_archive"
+PYPI_SRC_URI = "https://files.pythonhosted.org/packages/7e/2c/0c15b29a1b5940250bfdc4a4f53272e35cd7cf8a34159291b6b4ec9eb291/${PYPI_ARCHIVE_NAME}"
+
+DEPENDS += "python3-setuptools-scm-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
index 06d98cb..472113b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-speedtest-cli_2.1.3.bb
@@ -7,4 +7,8 @@
 
 inherit pypi setuptools3
 
-RDEPENDS:${PN} = "${PYTHON_PN}-misc"
+RDEPENDS:${PN} += " \
+    python3-misc \
+    python3-threading \
+    python3-xml \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.35.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.36.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.35.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.36.bb
index 5d199db..b20c6c8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.35.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.36.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f4001d1ca15b69d096fa1b4fd1bdce79"
 
-SRC_URI[sha256sum] = "2ffc813b01dc6473990f5e575f210ca5ac2f5465ace3908b78ffd6d20058aab5"
+SRC_URI[sha256sum] = "64678ac321d64a45901ef2e24725ec5e783f1f4a588305e196431447e7ace243"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.1.bb
similarity index 67%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.1.bb
index 56ebaac..3bc9772 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.1.bb
@@ -4,13 +4,11 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING.md;md5=9c125dfc5ff5364d40b5f56f02cd9de3"
 
-PYPI_PACKAGE = "traitlets"
+SRC_URI[sha256sum] = "a415578cde1985f1b773faefe49e9f078d345f38665ce3e9e914ec7b41150ce9"
 
-SRC_URI[sha256sum] = "60474f39bf1d39a11e0233090b99af3acee93bbc2281777e61dd8c87da8a0014"
+inherit pypi python_hatchling
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-ipython-genutils \
     ${PYTHON_PN}-decorator \
 "
-
-inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch
new file mode 100644
index 0000000..4095fc9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch
@@ -0,0 +1,43 @@
+From 69adf9e32f5b11e15c0cbe17f9331c77fed65bf8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 May 2022 15:50:50 -0700
+Subject: [PATCH] Deal with 64bit time_t default on 32bit architectures
+
+Deal with Y2K38 concerns related to Linux input events on more recent
+kernels and libcs on 32-bit systems
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libsuinput/src/suinput.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/libsuinput/src/suinput.c b/libsuinput/src/suinput.c
+index 8d5fb71..13ff16a 100644
+--- a/libsuinput/src/suinput.c
++++ b/libsuinput/src/suinput.c
+@@ -45,11 +45,20 @@ int suinput_emit(int uinput_fd, uint16_t ev_type, uint16_t ev_code,
+         struct input_event event;
+ 
+         memset(&event, 0, sizeof(event));
+-        gettimeofday(&event.time, 0);
+         event.type = ev_type;
+         event.code = ev_code;
+         event.value = ev_value;
+ 
++/* attempt to deal with 64-bit time keeping on recent 32-bit systems */
++#if (__BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64))
++	gettimeofday(&event.time, 0);
++#else
++        struct timeval now;
++        memset(&now, 0, sizeof(now));
++        gettimeofday(&now, 0);
++        event.input_event_sec  = now.tv_sec;
++        event.input_event_usec = now.tv_usec;
++#endif
+         return suinput_write_event(uinput_fd, &event);
+ }
+ 
+-- 
+2.36.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch
new file mode 100644
index 0000000..54a3c18
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput/0001-setup-use-setuptools-instead-of-distutils.patch
@@ -0,0 +1,28 @@
+From 7a4dde83a9584adb42c7f810d882b1fbf5767e2c Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <brgl@bgdev.pl>
+Date: Tue, 24 May 2022 21:43:35 +0200
+Subject: [PATCH] setup: use setuptools instead of distutils
+
+The latter is deprecated, use setuptools instead.
+
+Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 3fa3343..4900b8b 100644
+--- a/setup.py
++++ b/setup.py
+@@ -3,7 +3,7 @@
+ import errno
+ import subprocess
+ 
+-from distutils.core import setup, Extension
++from setuptools import setup, Extension
+ 
+ libudev_so = "libudev.so.1"
+ 
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput_0.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput_0.11.2.bb
new file mode 100644
index 0000000..ef46653
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uinput_0.11.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Python interface to Linux uinput kernel module."
+HOMEPAGE = "https://pypi.org/project/python-uinput/"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+SRC_URI += "file://0001-setup-use-setuptools-instead-of-distutils.patch \
+            file://0001-Deal-with-64bit-time_t-default-on-32bit-architecture.patch \
+"
+SRC_URI[sha256sum] = "99392b676c77b5795b86b7d75274db33fe754fd1e06fb3d58b167c797dc47f0c"
+
+PYPI_PACKAGE = "python-uinput"
+
+inherit pypi setuptools3
+
+DEPENDS += "udev"
+RDEPENDS:${PN} += " \
+    python3-ctypes \
+    python3-distutils \
+"
+RRECOMMENDS:${PN} += "kernel-module-uinput"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.8.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.8.bb
index 7e91295..70af951 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.8.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[sha256sum] = "3fd47815353be9c44eebc94cc28fe26b2b0c5bd889dafc4a5a7cbdf924143480"
+SRC_URI[sha256sum] = "6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.1.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.1.bb
index 660d4f6..b0b636b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1dc2732bdc5e50382737979791cbb3b7"
 
-SRC_URI[sha256sum] = "a78acc0f0150013755398ae185c8c7063d9db0777aa09733de22242a746bd30c"
+SRC_URI[sha256sum] = "14d0c4ef5d693b6cc9a36ad4ff31201add8ef1f4c1cdb920f7ce07f81841e6bc"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.1.2.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.1.2.bb
index 476a3a5..74796d8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.1.2.bb
@@ -12,7 +12,7 @@
 
 PYPI_PACKAGE = "Werkzeug"
 
-SRC_URI[sha256sum] = "f8e89a20aeabbe8a893c24a461d3ee5dad2123b05cc6abd73ceed01d39c3ae74"
+SRC_URI[sha256sum] = "1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.14.1.bb
similarity index 66%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.14.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.14.1.bb
index 9dcab81..54bf1ee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.14.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wrapt_1.14.1.bb
@@ -2,9 +2,9 @@
 HOMEPAGE = "http://wrapt.readthedocs.org/"
 LICENSE = "BSD-2-Clause"
 SECTION = "devel/python"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fdfc019b57affbe1d7a32e3d34e83db4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7a4e084dbc322d180bc74f26cdf8236e"
 
-SRC_URI[sha256sum] = "8323a43bd9c91f62bb7d4be74cc9ff10090e7ef820e27bfe8815c57e68261311"
+SRC_URI[sha256sum] = "380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d"
 
 inherit pypi setuptools3 
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.0.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.0.bb
index 84050dc..759cf02 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f"
 
-SRC_URI[sha256sum] = "be1eedce6a4b911fd3a7f4060d0811951820a13410e61f0454b30e9f4e7cf197"
+SRC_URI[sha256sum] = "319f5e3e77beb6ab3b4166f699d9dafd59141487bd1a07675fd01af6483211a4"
 
 PYPI_PACKAGE = "xmlschema"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.5.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.5.bb
index 45a5f05..9b08f75 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yappi_1.3.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=71c208c9a4fd864385eb69ad4caa3bee"
 
-SRC_URI[sha256sum] = "855890cd9a90d833dd2df632d648de8ccd0a4c3131f1edc8abd004db0625b5e8"
+SRC_URI[sha256sum] = "f54c25f04aa7c613633b529bffd14e0699a4363f414dc9c065616fd52064a49b"
 
 SRC_URI += " \
     file://run-ptest \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.6.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.6.bb
index d305f2b..bf97e4f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.6.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3bb705b228ea4a14ea2728215b780d80"
 
-SRC_URI[sha256sum] = "080c540ea4b8b9defa9f3ac05823c1725ea2c8aacda917bfc0193f6758b95aeb"
+SRC_URI[sha256sum] = "c98f87a9145c58ad544cf1708b5eb2f444d40cd5defc69c88eeaac0527a28795"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass b/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
index 423f337..3719cba2 100644
--- a/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
+++ b/meta-openembedded/meta-xfce/classes/thunar-plugin.bbclass
@@ -1,6 +1,8 @@
 inherit xfce features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 DEPENDS += "thunar"
 
diff --git a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb b/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
index 6ed9cec..fb75896 100644
--- a/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-thunar-plugins/shares/thunar-shares-plugin_0.3.1.bb
@@ -3,8 +3,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 
 inherit thunar-plugin features_check
-# x11 is needed for thunar
-REQUIRED_DISTRO_FEATURES = "pam x11"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "pam"
 
 SRC_URI[md5sum] = "0884855d60cf1031b9013b6f5b125372"
 SRC_URI[sha256sum] = "dc1d8c7caa727e76d033d4653dc0742613f57a1711d0050900659c90a84452a0"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb
index 2b16444..32735bc 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb
@@ -2,11 +2,13 @@
 SECTION = "x11"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo"
+DEPENDS = "gtk+3 libxfce4ui liburi-perl-native cairo"
 
 inherit xfce perlnative gtk-doc features_check mime-xdg
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 # SRC_URI must follow inherited one
 SRC_URI += " \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.16.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.16.1.bb
index a6c56ed..14f0c4a 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.16.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_4.16.1.bb
@@ -6,7 +6,9 @@
 
 inherit xfce gtk-doc gobject-introspection features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
 SRC_URI[sha256sum] = "84914927a2c1fda167f67af26a6640630a744a22940df508aa6c752cdbd3d21d"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.16.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.16.1.bb
index e3d2a00..bb45ee6 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.16.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.16.1.bb
@@ -2,11 +2,13 @@
 SECTION = "x11/libs"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "intltool-native perl-native gtk+3 libice libsm libxfce4util xfce4-dev-tools xfconf virtual/libx11"
+DEPENDS = "intltool-native perl-native gtk+3 libxfce4util xfce4-dev-tools xfconf"
 
 inherit xfce gtk-doc gobject-introspection features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3. gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 # TODO: Check if 0001-... can go
 SRC_URI += "file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch"
@@ -15,9 +17,12 @@
 EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
 EXTRA_OECONF += "--disable-vala"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= " \
+       ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+"
 PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+PACKAGECONFIG[x11] = "--enable-startup-notification,--disable-startup-notification,libepoxy libice libsm startup-notification"
+
 
 PACKAGES += "${PN}-glade"
 FILES:${PN}-glade = " \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.9.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.9.bb
index 93c41ae..d3702c8 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.9.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.9.bb
@@ -2,16 +2,19 @@
 SECTION = "x11"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libxml-parser-perl-native exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev"
+DEPENDS = "libxml-parser-perl-native exo gdk-pixbuf libxfce4ui libnotify xfce4-panel udev"
 
 inherit xfce gobject-introspection features_check mime-xdg perlnative
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[sha256sum] = "520bf318eef8bc792db38ae4af343b648f87d4b8d66f5b5d6f092e15264ee5af"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+PACKAGECONFIG[x11] = ",,libsm startup-notification"
 
 FILES:${PN} += " \
     ${libdir}/thunarx-3/* \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb
index b9201bc..d47f9ce 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb
@@ -6,7 +6,9 @@
 
 inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg
 
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[sha256sum] = "5934eaed8a76da52c29b734ccd79600255420333dd6ebd8fd9f066379af1e092"
 SRC_URI += " \
diff --git a/meta-security/README b/meta-security/README
index 081669f..2d1996b 100644
--- a/meta-security/README
+++ b/meta-security/README
@@ -28,20 +28,10 @@
 This layer depends on:
 
   URI: git://git.openembedded.org/openembedded-core
-  branch: master
+  branch: [same one as checked out for this layer]
 
   URI: git://git.openembedded.org/meta-openembedded/meta-oe
-  branch: master
-
-  URI: git://git.openembedded.org/meta-openembedded/meta-perl
-  branch: master
-
-  URI: git://git.openembedded.org/meta-openembedded/meta-python
-  branch: master
-
-  URI: git://git.openembedded.org/meta-openembedded/meta-networking
-  branch: master
-
+  branch: [same one as checked out for this layer]
 
 Adding the security layer to your build
 ========================================
@@ -57,21 +47,22 @@
   BBLAYERS ?= " \
     /path/to/oe-core/meta \
     /path/to/meta-openembedded/meta-oe \
-    /path/to/meta-openembedded/meta-perl \
-    /path/to/meta-openembedded/meta-python \
-    /path/to/meta-openembedded/meta-networking \
     /path/to/layer/meta-security "
 
-Optional Rust dependancy
+Optional Dynamic layer dependancy
 ======================================
-If you want to use the latest Suricata that needs rust, you will need to clone
 
-  URI: https://github.com/meta-rust/meta-rust.git
-  branch: master
+  URI: git://git.openembedded.org/meta-openembedded/meta-oe
 
-  BBLAYERS += "/path/to/layer/meta-rust"
+  URI: git://git.openembedded.org/meta-openembedded/meta-perl
 
-This will activate the dynamic-layer mechanism and pull in the newer suricata
+  URI: git://git.openembedded.org/meta-openembedded/meta-python
+
+  BBLAYERS += "/path/to/layer/meta-openembedded/meta-oe"
+  BBLAYERS += "/path/to/layer/meta-openembedded/meta-perl"
+  BBLAYERS += "/path/to/layer/meta-openembedded/meta-python"
+
+This will activate the dynamic-layer mechanism.
 
 
 
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index 7d57f9c..fa7d79e 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -9,7 +9,7 @@
 BBFILE_PATTERN_security = "^${LAYERDIR}/"
 BBFILE_PRIORITY_security = "8"
 
-LAYERSERIES_COMPAT_security = "kirkstone"
+LAYERSERIES_COMPAT_security = "kirkstone langdale"
 
 LAYERDEPENDS_security = "core openembedded-layer"
 
diff --git a/meta-security/lib/oeqa/runtime/cases/smack.py b/meta-security/lib/oeqa/runtime/cases/smack.py
index 35e87ef..b8255c7 100644
--- a/meta-security/lib/oeqa/runtime/cases/smack.py
+++ b/meta-security/lib/oeqa/runtime/cases/smack.py
@@ -29,8 +29,6 @@
         status,output = self.target.run("cat /proc/self/attr/current")
         self.current_label = output.strip()
 
-class SmackAccessLabel(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_add_access_label(self):
         ''' Test if chsmack can correctly set a SMACK label '''
@@ -54,8 +52,6 @@
                 "%s %s" %(LABEL,label_retrieved))
 
 
-class SmackExecLabel(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_add_exec_label(self):
         '''Test if chsmack can correctly set a SMACK Exec label'''
@@ -79,8 +75,6 @@
                 "%s %s" %(LABEL,label_retrieved))
 
 
-class SmackMmapLabel(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_add_mmap_label(self):
         '''Test if chsmack can correctly set a SMACK mmap label'''
@@ -104,8 +98,6 @@
                 "%s %s" %(LABEL,label_retrieved))
 
 
-class SmackTransmutable(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_add_transmutable(self):
         '''Test if chsmack can correctly set a SMACK transmutable mode'''
@@ -128,8 +120,6 @@
                 "%s %s" %(LABEL,label_retrieved))
 
 
-class SmackChangeSelfLabelPrivilege(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_privileged_change_self_label(self):
         '''Test if privileged process (with CAP_MAC_ADMIN privilege)
@@ -145,8 +135,6 @@
         self.assertIn("PRIVILEGED", output,
                     "Privilege process did not change label.Output: %s" %output)
 
-class SmackChangeSelfLabelUnprivilege(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_unprivileged_change_self_label(self):
         '''Test if unprivileged process (without CAP_MAC_ADMIN privilege)
@@ -163,8 +151,6 @@
             "Unprivileged process should not be able to change its label")
 
 
-class SmackChangeFileLabelPrivilege(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_unprivileged_change_file_label(self):
         '''Test if unprivileged process cannot change file labels'''
@@ -183,8 +169,6 @@
         self.target.run("rm %s" % filename)
         self.assertEqual( status, 0, "Unprivileged process changed label for %s" %filename)
 
-class SmackLoadRule(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_load_smack_rule(self):
         '''Test if new smack access rules can be loaded'''
@@ -211,8 +195,6 @@
         self.target.run('echo -n "%s" > %s/load' %(clean, self.smack_path))
 
 
-class SmackOnlycap(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_onlycap(self):
         '''Test if smack onlycap label can be set
@@ -223,7 +205,6 @@
         status, output = self.target.run("sh /usr/sbin/test_smack_onlycap.sh")
         self.assertEqual(status, 0, output)
 
-class SmackNetlabel(SmackBasicTest):
 
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_netlabel(self):
@@ -246,7 +227,6 @@
             test_label, output,
             "Did not find expected label in output: %s" %output)
 
-class SmackCipso(SmackBasicTest):
 
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_cipso(self):
@@ -287,7 +267,6 @@
         self.assertEqual(status, 0, "Cipso rule C was not set")
         self.assertIn("/17,33", output, "Rule C was not set correctly")
 
-class SmackDirect(SmackBasicTest):
 
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_direct(self):
@@ -308,8 +287,6 @@
             "Smack direct label does not match.")
 
 
-class SmackAmbient(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_ambient(self):
         test_ambient = "test_ambient"
@@ -330,8 +307,6 @@
             "Ambient label does not match")
 
 
-class SmackloadBinary(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smackload(self):
         '''Test if smackload command works'''
@@ -345,8 +320,6 @@
         self.assertEqual(status, 0, "Smackload rule was loaded correctly")
 
 
-class SmackcipsoBinary(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smackcipso(self):
         '''Test if smackcipso command works'''
@@ -362,8 +335,6 @@
         self.assertIn( "2/2", output, "Rule was not set correctly. Got: %s" %output)
 
 
-class SmackEnforceFileAccess(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_enforce_file_access(self):
         '''Test if smack file access is enforced (rwx)
@@ -375,8 +346,6 @@
         self.assertEqual(status, 0, output)
 
 
-class SmackEnforceMmap(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_mmap_enforced(self):
         '''Test if smack mmap access is enforced'''
@@ -449,8 +418,6 @@
             "Output: %s" %output)
 
 
-class SmackEnforceTransmutable(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_transmute_dir(self):
         '''Test if smack transmute attribute works
@@ -473,8 +440,6 @@
             "Did not get expected label. Output: %s" % output)
 
 
-class SmackTcpSockets(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_tcp_sockets(self):
         '''Test if smack is enforced on tcp sockets
@@ -485,8 +450,6 @@
         self.assertEqual(status, 0, output)
 
 
-class SmackUdpSockets(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_udp_sockets(self):
         '''Test if smack is enforced on udp sockets
@@ -497,8 +460,6 @@
         self.assertEqual(status, 0, output)
 
 
-class SmackFileLabels(SmackBasicTest):
-
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_labels(self):
         '''Check for correct Smack labels.'''
diff --git a/meta-security/meta-hardening/conf/layer.conf b/meta-security/meta-hardening/conf/layer.conf
index bc33d97..5983161 100644
--- a/meta-security/meta-hardening/conf/layer.conf
+++ b/meta-security/meta-hardening/conf/layer.conf
@@ -8,6 +8,6 @@
 BBFILE_PATTERN_harden-layer = "^${LAYERDIR}/"
 BBFILE_PRIORITY_harden-layer = "10"
 
-LAYERSERIES_COMPAT_harden-layer = "kirkstone"
+LAYERSERIES_COMPAT_harden-layer = "kirkstone langdale"
 
 LAYERDEPENDS_harden-layer = "core openembedded-layer"
diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf
index 3d58be4..1fcf33c 100644
--- a/meta-security/meta-integrity/conf/layer.conf
+++ b/meta-security/meta-integrity/conf/layer.conf
@@ -20,7 +20,7 @@
 # interactive shell is enough.
 OE_TERMINAL_EXPORTS += "INTEGRITY_BASE"
 
-LAYERSERIES_COMPAT_integrity = "kirkstone"
+LAYERSERIES_COMPAT_integrity = "kirkstone langdale"
 # ima-evm-utils depends on keyutils from meta-oe
 LAYERDEPENDS_integrity = "core openembedded-layer"
 
diff --git a/meta-security/meta-parsec/conf/layer.conf b/meta-security/meta-parsec/conf/layer.conf
index 544cc4e..a748d77 100644
--- a/meta-security/meta-parsec/conf/layer.conf
+++ b/meta-security/meta-parsec/conf/layer.conf
@@ -8,7 +8,7 @@
 BBFILE_PATTERN_parsec-layer = "^${LAYERDIR}/"
 BBFILE_PRIORITY_parsec-layer = "5"
 
-LAYERSERIES_COMPAT_parsec-layer = "kirkstone"
+LAYERSERIES_COMPAT_parsec-layer = "kirkstone langdale"
 
 LAYERDEPENDS_parsec-layer = "core clang-layer"
 BBLAYERS_LAYERINDEX_NAME_parsec-layer = "meta-parsec"
diff --git a/meta-security/meta-security-compliance/conf/layer.conf b/meta-security/meta-security-compliance/conf/layer.conf
index 7c07625..ec57541 100644
--- a/meta-security/meta-security-compliance/conf/layer.conf
+++ b/meta-security/meta-security-compliance/conf/layer.conf
@@ -8,7 +8,7 @@
 BBFILE_PATTERN_scanners-layer = "^${LAYERDIR}/"
 BBFILE_PRIORITY_scanners-layer = "10"
 
-LAYERSERIES_COMPAT_scanners-layer = "kirkstone"
+LAYERSERIES_COMPAT_scanners-layer = "kirkstone langdale"
 
 LAYERDEPENDS_scanners-layer = "core openembedded-layer meta-python"
 
diff --git a/meta-security/meta-security-isafw/conf/layer.conf b/meta-security/meta-security-isafw/conf/layer.conf
index e8cdc1b..724742d 100644
--- a/meta-security/meta-security-isafw/conf/layer.conf
+++ b/meta-security/meta-security-isafw/conf/layer.conf
@@ -14,4 +14,4 @@
 
 LAYERDEPENDS_security-isafw = "core"
 
-LAYERSERIES_COMPAT_security-isafw = "kirkstone"
+LAYERSERIES_COMPAT_security-isafw = "kirkstone langdale"
diff --git a/meta-security/meta-tpm/conf/layer.conf b/meta-security/meta-tpm/conf/layer.conf
index 52e3ee0..1fd2e4c 100644
--- a/meta-security/meta-tpm/conf/layer.conf
+++ b/meta-security/meta-tpm/conf/layer.conf
@@ -8,7 +8,7 @@
 BBFILE_PATTERN_tpm-layer = "^${LAYERDIR}/"
 BBFILE_PRIORITY_tpm-layer = "10"
 
-LAYERSERIES_COMPAT_tpm-layer = "kirkstone"
+LAYERSERIES_COMPAT_tpm-layer = "kirkstone langdale"
 
 LAYERDEPENDS_tpm-layer = " \
     core \
diff --git a/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py b/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py
new file mode 100644
index 0000000..df47b35
--- /dev/null
+++ b/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py
@@ -0,0 +1,24 @@
+# Copyright (C) 2022 Armin Kuster <akuster808@gmail.com>
+#
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.data import skipIfNotFeature
+
+class SwTpmTest(OERuntimeTestCase):
+    @classmethod
+    def setUpClass(cls):
+        cls.tc.target.run('mkdir /tmp/myvtpm2')
+        cls.tc.target.run('chown tss:root /tmp/myvtpm2')
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.tc.target.run('rm -fr /tmp/myvtpm2')
+
+    @skipIfNotFeature('tpm2','Test tpm2_swtpm_socket requires tpm2 to be in DISTRO_FEATURES')
+    @OETestDepends(['ssh.SSHTest.test_ssh'])
+    @OEHasPackage(['swtpm'])
+    def test_swtpm2_ek_cert(self):
+            cmd = 'swtpm_setup --tpmstate /tmp/myvtpm2 --create-ek-cert --create-platform-cert --tpm2',
+            status, output = self.target.run(cmd)
+            self.assertEqual(status, 0, msg="swtpm create-ek-cert failed: %s" % output)
diff --git a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
index c2c95e7..e64d19d 100644
--- a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
+++ b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
@@ -1,11 +1,19 @@
-# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+# Copyright (C) 2019 - 2022 Armin Kuster <akuster808@gmail.com>
 #
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
 from oeqa.runtime.decorator.package import OEHasPackage
-
+from oeqa.core.decorator.data import skipIfNotFeature
 
 class Tpm2Test(OERuntimeTestCase):
+    @classmethod
+    def setUpClass(cls):
+        cls.tc.target.run('mkdir /tmp/myvtpm2')
+
+    @classmethod
+    def tearDownClass(cls):
+        cls.tc.target.run('rm -fr /tmp/myvtpm2')
+
     def check_endlines(self, results,  expected_endlines): 
         for line in results.splitlines():
             for el in expected_endlines:
@@ -19,20 +27,19 @@
     @OEHasPackage(['tpm2-tools'])
     @OEHasPackage(['tpm2-abrmd'])
     @OEHasPackage(['swtpm'])
+    @skipIfNotFeature('tpm2','Test tpm2_startup requires tpm2 to be in DISTRO_FEATURES')
     @OETestDepends(['ssh.SSHTest.test_ssh'])
-    def test_tpm2_swtpm_socket(self):
+    def test_tpm2_startup(self):
         cmds = [
-                'mkdir /tmp/myvtpm',
-                'swtpm socket --tpmstate dir=/tmp/myvtpm --tpm2 --ctrl type=tcp,port=2322 --server type=tcp,port=2321 --flags not-need-init &',
-                'export TPM2TOOLS_TCTI="swtpm:port=2321"',
-                'tpm2_startup -c'
+                'swtpm socket -d --tpmstate dir=/tmp/myvtpm2 --tpm2 --ctrl type=tcp,port=2322 --server type=tcp,port=2321 --flags not-need-init',
+                'tpm2_startup -c -T "swtpm:port=2321"',
                ]
 
         for cmd in cmds:
             status, output = self.target.run(cmd)
             self.assertEqual(status, 0, msg='\n'.join([cmd, output]))
 
-    @OETestDepends(['tpm2.Tpm2Test.test_tpm2_swtpm_socket'])
+    @OETestDepends(['tpm2.Tpm2Test.test_tpm2_startup'])
     def test_tpm2_pcrread(self):
          (status, output) = self.target.run('tpm2_pcrread')
          expected_endlines = []
@@ -49,7 +56,7 @@
 
     @OEHasPackage(['p11-kit'])
     @OEHasPackage(['tpm2-pkcs11'])
-    @OETestDepends(['tpm2.Tpm2Test.test_tpm2_swtpm_socket'])
+    @OETestDepends(['tpm2.Tpm2Test.test_tpm2_pcrread'])
     def test_tpm2_pkcs11(self):
          (status, output) = self.target.run('p11-kit list-modules -v')
          self.assertEqual(status, 0, msg="Modules missing: %s" % output)
diff --git a/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb b/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb
index 7e047d1..941a661 100644
--- a/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb
+++ b/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb
@@ -7,6 +7,7 @@
     packagegroup-core-boot \
     packagegroup-security-tpm2 \
     os-release \
+    swtpm \
 "
 
 IMAGE_LINGUAS ?= " "
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.7.1.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.7.1.bb
index 85e4c5d..03899d8 100644
--- a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.7.1.bb
+++ b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.7.1.bb
@@ -20,14 +20,15 @@
 TSS_USER="tss"
 TSS_GROUP="tss"
 
-PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG ?= "openssl gnutls"
 PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)}"
 PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}"
 PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
 # expect, bash, tpm2-pkcs11-tools (tpm2_ptool), tpmtool and certtool is
 # used by swtpm-create-tpmca (the last two is provided by gnutls)
 # gnutls is required by: swtpm-create-tpmca, swtpm-localca and swtpm_cert
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls, gnutls, expect bash tpm2-pkcs11-tools"
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls-native gnutls, gnutls-bin expect bash tpm2-pkcs11-tools"
 PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
 PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse"
 PACKAGECONFIG[seccomp] = "--with-seccomp, --without-seccomp, libseccomp"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb
index e8812d0..dd0a0b5 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb
@@ -25,15 +25,6 @@
 }
 
 do_install:append() {
-    install -d ${D}${libdir}/pkcs11
-    install -d ${D}${datadir}/p11-kit
-
-    # remove symlinks
-    rm -f ${D}${libdir}/pkcs11/libtpm2_pkcs11.so
-
-    #install lib
-    install -m 755 ${B}/src/.libs/libtpm2_pkcs11.so ${D}${libdir}/pkcs11/libtpm2_pkcs11.so
-
     cd ${S}/tools
     export PYTHONPATH="${D}${PYTHON_SITEPACKAGES_DIR}"
     ${PYTHON_PN} setup.py install --root="${D}" --prefix="${prefix}" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --optimize=1 --skip-build
@@ -53,5 +44,7 @@
     ${datadir}/p11-kit/* \
     "
 
+INSANE_SKIP:${PN}   += "dev-so"
+
 RDEPENDS:${PN} = "p11-kit tpm2-tools "
 RDEPENDS:${PN}-tools = "${PYTHON_PN}-pyyaml ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1-modules"
diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
index 9010054..f381d91 100644
--- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
@@ -42,10 +42,13 @@
 
 SUMMARY:packagegroup-security-scanners = "Security scanners"
 RDEPENDS:packagegroup-security-scanners = "\
+    ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " arpwatch",d)} \
+    chkrootkit \
     isic \
     ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " clamav clamav-daemon clamav-freshclam",d)} \
     "
 RDEPENDS:packagegroup-security-scanners:remove:libc-musl = "clamav clamav-daemon clamav-freshclam"
+RDEPENDS:packagegroup-security-scanners:remove:libc-musl = "arpwatch"
 
 SUMMARY:packagegroup-security-audit = "Security Audit tools "
 RDEPENDS:packagegroup-security-audit = " \
diff --git a/meta-security/recipes-mac/smack/smack-test_1.0.bb b/meta-security/recipes-mac/smack/smack-test_1.0.bb
index d7824ae..3ab57c6 100644
--- a/meta-security/recipes-mac/smack/smack-test_1.0.bb
+++ b/meta-security/recipes-mac/smack/smack-test_1.0.bb
@@ -22,4 +22,4 @@
     install -m 0755 *.sh ${D}${sbindir}
 }
 
-RDEPENDS:${PN} = "smack python mmap-smack-test tcp-smack-test udp-smack-test"
+RDEPENDS:${PN} = "smack python3-core mmap-smack-test tcp-smack-test udp-smack-test"
diff --git a/meta-security/recipes-scanners/arpwatch/arpwatch_3.1.bb b/meta-security/recipes-scanners/arpwatch/arpwatch_3.3.bb
similarity index 88%
rename from meta-security/recipes-scanners/arpwatch/arpwatch_3.1.bb
rename to meta-security/recipes-scanners/arpwatch/arpwatch_3.3.bb
index c8d31cf..8efb339 100644
--- a/meta-security/recipes-scanners/arpwatch/arpwatch_3.1.bb
+++ b/meta-security/recipes-scanners/arpwatch/arpwatch_3.3.bb
@@ -1,7 +1,7 @@
 SUMARRY = "The ethernet monitor program; for keeping track of ethernet/ip address pairings"
 LICENSE = "BSD-4-Clause"
 HOME_PAGE = "http://ee.lbl.gov/"
-LIC_FILES_CHKSUM = "file://configure;md5=74ca964ed34fda7b46c6fe3e50bded9d"
+LIC_FILES_CHKSUM = "file://configure;md5=0f6cca2f69f384a14e2f5803210ca92e"
 
 DEPENDS += "libpcap"
 
@@ -9,10 +9,10 @@
            file://arpwatch.conf \
            file://arpwatch.default \
            file://arpwatch_init  \
-           file://postfix_workaround.patch \
-           file://host_contam_fix.patch "
+           file://host_contam_fix.patch \
+           "
 
-SRC_URI[sha256sum] = "ee1d15d9a07952c0c017908b9dbfd5ac988fed0058c3cc4fa6c13e0be36f3a9f"
+SRC_URI[sha256sum] = "d47fa8b291fc37a25a2d0f3e1b64f451dc0be82d714a10ffa6ef8b0b9e33e166"
 
 inherit  autotools-brokensep update-rc.d useradd
 
@@ -80,4 +80,8 @@
 FILES:${PN} = "${bindir} ${sbindir} ${prefix}/etc/rc.d \
                ${sysconfdir} /var/lib/arpwatch"
 
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+OMPATIBLE_HOST:libc-musl = "null"
+
 RDEPENDS:${PN} = "libpcap"
diff --git a/meta-security/recipes-scanners/arpwatch/files/host_contam_fix.patch b/meta-security/recipes-scanners/arpwatch/files/host_contam_fix.patch
index 7d7ffac..2e27aa4 100644
--- a/meta-security/recipes-scanners/arpwatch/files/host_contam_fix.patch
+++ b/meta-security/recipes-scanners/arpwatch/files/host_contam_fix.patch
@@ -4,11 +4,11 @@
 
 Signed-off-by: Armin Kuster <akuster808@gmail.com>
 
-Index: arpwatch-3.0/configure
+Index: arpwatch-3.3/configure
 ===================================================================
---- arpwatch-3.0.orig/configure
-+++ arpwatch-3.0/configure
-@@ -4349,8 +4349,8 @@ fi
+--- arpwatch-3.3.orig/configure
++++ arpwatch-3.3/configure
+@@ -4353,8 +4353,8 @@ fi
  	    CC=cc
  	    export CC
      fi
diff --git a/meta-security/recipes-scanners/checksec/checksec_2.4.0.bb b/meta-security/recipes-scanners/checksec/checksec_2.6.0.bb
similarity index 64%
rename from meta-security/recipes-scanners/checksec/checksec_2.4.0.bb
rename to meta-security/recipes-scanners/checksec/checksec_2.6.0.bb
index 9a6e44a..f4a014e 100644
--- a/meta-security/recipes-scanners/checksec/checksec_2.4.0.bb
+++ b/meta-security/recipes-scanners/checksec/checksec_2.6.0.bb
@@ -4,10 +4,10 @@
 LICENSE = "BSD-3-Clause"
 HOMEPAGE="https://github.com/slimm609/checksec.sh"
 
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8d90285f711cf1f378e2c024457066d8"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=879b2147c754bc040c29e9c3b84da836"
 
-SRCREV = "c3754e45e04f9104db93b2048afd094427102d48"
-SRC_URI = "git://github.com/slimm609/checksec.sh;branch=master;protocol=https"
+SRCREV = "2753ebb89fcdc96433ae8a4c4e5a49214a845be2"
+SRC_URI = "git://github.com/slimm609/checksec.sh;branch=main;protocol=https"
 
 S = "${WORKDIR}/git"
 
@@ -17,3 +17,5 @@
 }
 
 RDEPENDS:${PN} = "bash openssl-bin binutils"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb b/meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb
index 20015a1..fe0e989 100644
--- a/meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb
+++ b/meta-security/recipes-scanners/rootkits/chkrootkit_0.55.bb
@@ -5,7 +5,8 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fdbe53788f7081c63387d8087273f5ff"
 
-SRC_URI = "ftp://ftp.pangeia.com.br/pub/seg/pac/${BPN}.tar.gz"
+SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/universe/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
+           file://musl_fix.patch"
 SRC_URI[sha256sum] = "a81c0286ec449313f953701202a00e81b204fc2cf43e278585a11c12a5e0258b"
 
 inherit autotools-brokensep
diff --git a/meta-security/recipes-scanners/rootkits/files/musl_fix.patch b/meta-security/recipes-scanners/rootkits/files/musl_fix.patch
new file mode 100644
index 0000000..a33523b
--- /dev/null
+++ b/meta-security/recipes-scanners/rootkits/files/musl_fix.patch
@@ -0,0 +1,58 @@
+chkrootkit: Fix missing includes for musl
+
+
+Upstream-Status: Backport
+https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07737b95af2452c0055e1ed0660590c1487befdb
+https://bugs.gentoo.org/715552
+
+Signed-off-by: Armin Kuster <akuster808@gamil.com>
+
+Index: chkrootkit-0.55/chkdirs.c
+===================================================================
+--- chkrootkit-0.55.orig/chkdirs.c
++++ chkrootkit-0.55/chkdirs.c
+@@ -33,7 +33,7 @@
+ #elif defined(__APPLE__) && defined(__MACH__)
+ #include <sys/syslimits.h>
+ #endif
+-
++#include <limits.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/types.h>
+Index: chkrootkit-0.55/chklastlog.c
+===================================================================
+--- chkrootkit-0.55.orig/chklastlog.c
++++ chkrootkit-0.55/chklastlog.c
+@@ -41,6 +41,7 @@ int main () { return 0; }
+ #include <stdlib.h>
+ #endif
+ #include <sys/stat.h>
++#include <fcntl.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <signal.h>
+Index: chkrootkit-0.55/chkproc.c
+===================================================================
+--- chkrootkit-0.55.orig/chkproc.c
++++ chkrootkit-0.55/chkproc.c
+@@ -65,6 +65,7 @@ int main (){ return 0; }
+ #include <string.h>
+ #include <errno.h>
+ #include <sys/types.h>
++#include <fcntl.h>
+ #include <dirent.h>
+ #include <ctype.h>
+ #include <stdlib.h>
+Index: chkrootkit-0.55/chkwtmp.c
+===================================================================
+--- chkrootkit-0.55.orig/chkwtmp.c
++++ chkrootkit-0.55/chkwtmp.c
+@@ -25,6 +25,7 @@ int main () { return 0; }
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <fcntl.h>
+ #include <string.h>
+ #include <utmp.h>
+ #include <time.h>
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index 042c918..b56f620 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -28,7 +28,7 @@
 if sys.getfilesystemencoding() != "utf-8":
     sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
 
-__version__ = "2.0.0"
+__version__ = "2.0.1"
 
 if __name__ == "__main__":
     if __version__ != bb.__version__:
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index b8333bd..6b470aa 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-__version__ = "2.0.0"
+__version__ = "2.0.1"
 
 import sys
 if sys.version_info < (3, 6, 0):
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index 92e9a3c..988c596 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -24,6 +24,7 @@
 import bb.utils
 from bb import PrefixLoggerAdapter
 import re
+import shutil
 
 logger = logging.getLogger("BitBake.Cache")
 
@@ -998,3 +999,11 @@
             p.dump([data, self.cacheversion])
 
         bb.utils.unlockfile(glf)
+
+    def copyfile(self, target):
+        if not self.cachefile:
+            return
+
+        glf = bb.utils.lockfile(self.cachefile + ".lock")
+        shutil.copy(self.cachefile, target)
+        bb.utils.unlockfile(glf)
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 6da9291..2adf4d2 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -13,7 +13,6 @@
 import itertools
 import logging
 import multiprocessing
-import sre_constants
 import threading
 from io import StringIO, UnsupportedOperation
 from contextlib import closing
@@ -1907,7 +1906,7 @@
                 try:
                     re.compile(mask)
                     bbmasks.append(mask)
-                except sre_constants.error:
+                except re.error:
                     collectlog.critical("BBMASK contains an invalid regular expression, ignoring: %s" % mask)
 
             # Then validate the combined regular expressions. This should never
@@ -1915,7 +1914,7 @@
             bbmask = "|".join(bbmasks)
             try:
                 bbmask_compiled = re.compile(bbmask)
-            except sre_constants.error:
+            except re.error:
                 collectlog.critical("BBMASK is not a valid regular expression, ignoring: %s" % bbmask)
                 bbmask = None
 
diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py
index df02055..9766860 100644
--- a/poky/bitbake/lib/bb/event.py
+++ b/poky/bitbake/lib/bb/event.py
@@ -132,8 +132,14 @@
     if not _uiready:
         from bb.msg import BBLogFormatter
         # Flush any existing buffered content
-        sys.stdout.flush()
-        sys.stderr.flush()
+        try:
+            sys.stdout.flush()
+        except:
+            pass
+        try:
+            sys.stderr.flush()
+        except:
+            pass
         stdout = logging.StreamHandler(sys.stdout)
         stderr = logging.StreamHandler(sys.stderr)
         formatter = BBLogFormatter("%(levelname)s: %(message)s")
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 23f8c0d..07b3d9a 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -353,10 +353,15 @@
         if ud.shallow and os.path.exists(ud.fullshallow) and self.need_update(ud, d):
             ud.localpath = ud.fullshallow
             return
-        elif os.path.exists(ud.fullmirror) and not os.path.exists(ud.clonedir):
-            bb.utils.mkdirhier(ud.clonedir)
-            runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=ud.clonedir)
-
+        elif os.path.exists(ud.fullmirror) and self.need_update(ud, d):
+            if not os.path.exists(ud.clonedir):
+                bb.utils.mkdirhier(ud.clonedir)
+                runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=ud.clonedir)
+            else:
+                tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR'))
+                runfetchcmd("tar -xzf %s" % ud.fullmirror, d, workdir=tmpdir)
+                fetch_cmd = "LANG=C %s fetch -f --progress %s " % (ud.basecmd, shlex.quote(tmpdir))
+                runfetchcmd(fetch_cmd, d, workdir=ud.clonedir)
         repourl = self._get_repo_url(ud)
 
         # If the repo still doesn't exist, fallback to cloning it
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index b3a3de5..b2b542e 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -106,10 +106,9 @@
 
         fetchcmd = self.basecmd
 
-        if 'downloadfilename' in ud.parm:
-            localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile)
-            bb.utils.mkdirhier(os.path.dirname(localpath))
-            fetchcmd += " -O %s" % shlex.quote(localpath)
+        localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile) + ".tmp"
+        bb.utils.mkdirhier(os.path.dirname(localpath))
+        fetchcmd += " -O %s" % shlex.quote(localpath)
 
         if ud.user and ud.pswd:
             fetchcmd += " --auth-no-challenge"
@@ -133,6 +132,10 @@
 
         self._runwget(ud, d, fetchcmd, False)
 
+        # Remove the ".tmp" and move the file into position atomically
+        # Our lock prevents multiple writers but mirroring code may grab incomplete files
+        os.rename(localpath, localpath[:-4])
+
         # Sanity check since wget can pretend it succeed when it didn't
         # Also, this used to happen if sourceforge sent us to the mirror page
         if not os.path.exists(ud.localpath):
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index f34f156..1e47fe7 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -2299,6 +2299,9 @@
                     self.rqdata.runtaskentries[hashtid].unihash = unihash
                     bb.parse.siggen.set_unihash(hashtid, unihash)
                     toprocess.add(hashtid)
+                if torehash:
+                    # Need to save after set_unihash above
+                    bb.parse.siggen.save_unitaskhashes()
 
         # Work out all tasks which depend upon these
         total = set()
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 613956f..43790b6 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -437,6 +437,7 @@
         self.socket_connection = sock
 
     def terminate(self):
+        self.events.close()
         self.socket_connection.close()
         self.connection.connection.close()
         self.connection.recv.close()
@@ -662,23 +663,18 @@
         self.reader = ConnectionReader(readfd)
 
         self.t = threading.Thread()
-        self.t.daemon = True
         self.t.run = self.startCallbackHandler
         self.t.start()
 
     def getEvent(self):
-        self.eventQueueLock.acquire()
+        with self.eventQueueLock:
+            if len(self.eventQueue) == 0:
+                return None
 
-        if len(self.eventQueue) == 0:
-            self.eventQueueLock.release()
-            return None
+            item = self.eventQueue.pop(0)
+            if len(self.eventQueue) == 0:
+                self.eventQueueNotify.clear()
 
-        item = self.eventQueue.pop(0)
-
-        if len(self.eventQueue) == 0:
-            self.eventQueueNotify.clear()
-
-        self.eventQueueLock.release()
         return item
 
     def waitEvent(self, delay):
@@ -686,10 +682,9 @@
         return self.getEvent()
 
     def queue_event(self, event):
-        self.eventQueueLock.acquire()
-        self.eventQueue.append(event)
-        self.eventQueueNotify.set()
-        self.eventQueueLock.release()
+        with self.eventQueueLock:
+            self.eventQueue.append(event)
+            self.eventQueueNotify.set()
 
     def send_event(self, event):
         self.queue_event(pickle.loads(event))
@@ -698,13 +693,17 @@
         bb.utils.set_process_name("UIEventQueue")
         while True:
             try:
-                self.reader.wait()
-                event = self.reader.get()
-                self.queue_event(event)
-            except EOFError:
+                ready = self.reader.wait(0.25)
+                if ready:
+                    event = self.reader.get()
+                    self.queue_event(event)
+            except (EOFError, OSError, TypeError):
                 # Easiest way to exit is to close the file descriptor to cause an exit
                 break
+
+    def close(self):
         self.reader.close()
+        self.t.join()
 
 class ConnectionReader(object):
 
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 08eca78..3f3d6df 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -120,6 +120,9 @@
     def save_unitaskhashes(self):
         return
 
+    def copy_unitaskhashes(self, targetdir):
+        return
+
     def set_setscene_tasks(self, setscene_tasks):
         return
 
@@ -358,6 +361,9 @@
     def save_unitaskhashes(self):
         self.unihash_cache.save(self.unitaskhashes)
 
+    def copy_unitaskhashes(self, targetdir):
+        self.unihash_cache.copyfile(targetdir)
+
     def dump_sigtask(self, fn, task, stampbase, runtime):
 
         tid = fn + ":" + task
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 1152e89..622c46a 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -2802,3 +2802,96 @@
         fetcher.unpack(self.unpackdir)
         alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates')
         self.assertFalse(os.path.exists(alt))
+
+
+class FetchPremirroronlyLocalTest(FetcherTest):
+
+    def setUp(self):
+        super(FetchPremirroronlyLocalTest, self).setUp()
+        self.mirrordir = os.path.join(self.tempdir, "mirrors")
+        os.mkdir(self.mirrordir)
+        self.reponame = "bitbake"
+        self.gitdir = os.path.join(self.tempdir, "git", self.reponame)
+        self.recipe_url = "git://git.fake.repo/bitbake"
+        self.d.setVar("BB_FETCH_PREMIRRORONLY", "1")
+        self.d.setVar("BB_NO_NETWORK", "1")
+        self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n")
+
+    def make_git_repo(self):
+        self.mirrorname = "git2_git.fake.repo.bitbake.tar.gz"
+        recipeurl = "git:/git.fake.repo/bitbake"
+        os.makedirs(self.gitdir)
+        self.git("init", self.gitdir)
+        for i in range(0):
+            self.git_new_commit()
+        bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd =  self.gitdir)
+
+    def git_new_commit(self):
+        import random
+        testfilename = "bibake-fetch.test"
+        os.unlink(os.path.join(self.mirrordir, self.mirrorname))
+        with open(os.path.join(self.gitdir, testfilename), "w") as testfile:
+            testfile.write("Useless random data {}".format(random.random()))
+        self.git("add {}".format(testfilename), self.gitdir)
+        self.git("commit -a -m \"This random commit {}. I'm useless.\"".format(random.random()), self.gitdir)
+        bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd =  self.gitdir)
+        return self.git("rev-parse HEAD", self.gitdir).strip()
+
+    def test_mirror_commit_nonexistent(self):
+        self.make_git_repo()
+        self.d.setVar("SRCREV", "0"*40)
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+        with self.assertRaises(bb.fetch2.NetworkAccess):
+            fetcher.download()
+
+    def test_mirror_commit_exists(self):
+        self.make_git_repo()
+        self.d.setVar("SRCREV", self.git_new_commit())
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+
+    def test_mirror_tarball_nonexistent(self):
+        self.d.setVar("SRCREV", "0"*40)
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+        with self.assertRaises(bb.fetch2.NetworkAccess):
+            fetcher.download()
+
+class FetchPremirroronlyNetworkTest(FetcherTest):
+
+    def setUp(self):
+        super(FetchPremirroronlyNetworkTest, self).setUp()
+        self.mirrordir = os.path.join(self.tempdir, "mirrors")
+        os.mkdir(self.mirrordir)
+        self.reponame = "fstests"
+        self.clonedir = os.path.join(self.tempdir, "git")
+        self.gitdir = os.path.join(self.tempdir, "git", "{}.git".format(self.reponame))
+        self.recipe_url = "git://git.yoctoproject.org/fstests"
+        self.d.setVar("BB_FETCH_PREMIRRORONLY", "1")
+        self.d.setVar("BB_NO_NETWORK", "0")
+        self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n")
+
+    def make_git_repo(self):
+        import shutil
+        self.mirrorname = "git2_git.yoctoproject.org.fstests.tar.gz"
+        os.makedirs(self.clonedir)
+        self.git("clone --bare --shallow-since=\"01.01.2013\" {}".format(self.recipe_url), self.clonedir)
+        bb.process.run('tar -czvf {} .'.format(os.path.join(self.mirrordir, self.mirrorname)), cwd =  self.gitdir)
+        shutil.rmtree(self.clonedir)
+
+    @skipIfNoNetwork()
+    def test_mirror_tarball_updated(self):
+        self.make_git_repo()
+        ## Upstream commit is in the mirror
+        self.d.setVar("SRCREV", "49d65d53c2bf558ae6e9185af0f3af7b79d255ec")
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+        fetcher.download()
+
+    @skipIfNoNetwork()
+    def test_mirror_tarball_outdated(self):
+        self.make_git_repo()
+        ## Upstream commit not in the mirror
+        self.d.setVar("SRCREV", "15413486df1f5a5b5af699b6f3ba5f0984e52a9f")
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+        with self.assertRaises(bb.fetch2.NetworkAccess):
+            fetcher.download()
diff --git a/poky/documentation/migration-guides/release-4.0.rst b/poky/documentation/migration-guides/release-4.0.rst
index 7062f9d..2ef7c97 100644
--- a/poky/documentation/migration-guides/release-4.0.rst
+++ b/poky/documentation/migration-guides/release-4.0.rst
@@ -5,3 +5,4 @@
 
    migration-4.0
    release-notes-4.0
+   release-notes-4.0.1
diff --git a/poky/documentation/migration-guides/release-notes-4.0.1.rst b/poky/documentation/migration-guides/release-notes-4.0.1.rst
new file mode 100644
index 0000000..81da6e5
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.0.1.rst
@@ -0,0 +1,248 @@
+Release notes for 4.0.1 (kirkstone)
+-----------------------------------
+
+Security Fixes in 4.0.1
+~~~~~~~~~~~~~~~~~~~~~~~
+
+-  linux-yocto/5.15: fix :cve:`2022-28796`
+-  python3: ignore :cve:`2015-20107`
+-  e2fsprogs: fix :cve:`2022-1304`
+-  lua: fix :cve:`2022-28805`
+-  busybox: fix :cve:`2022-28391`
+
+Fixes in 4.0.1
+~~~~~~~~~~~~~~
+
+-  abi_version/sstate: Bump hashequiv and sstate versions due to git changes
+-  apt: add apt selftest to test signed package feeds
+-  apt: upgrade 2.4.4 -> 2.4.5
+-  arch-armv8-2a.inc: fix a typo in TUNEVALID variable
+-  babeltrace: Disable warnings as errors
+-  base: Avoid circular references to our own scripts
+-  base: Drop git intercept
+-  build-appliance-image: Update to kirkstone head revision
+-  build-appliance: Switch to kirkstone branch
+-  buildtools-tarball: Only add cert envvars if certs are included
+-  busybox: Use base_bindir instead of hardcoding /bin path
+-  cases/buildepoxy.py: fix typo
+-  create-spdx: delete virtual/kernel dependency to fix FreeRTOS build
+-  create-spdx: fix error when symlink cannot be created
+-  cve-check: add JSON format to summary output
+-  cve-check: fix symlinks where link and output path are equal
+-  cve-check: no need to depend on the fetch task
+-  cve-update-db-native: let the user to drive the update interval
+-  cve-update-db-native: update the CVE database once a day only
+-  cve_check: skip remote patches that haven't been fetched when searching for CVE tags
+-  dev-manual: add command used to add the signed-off-by line.
+-  devshell.bbclass: Allow devshell & pydevshell to use the network
+-  docs: conf.py: fix cve extlinks caption for sphinx <4.0
+-  docs: migration-guides: migration-3.4: mention that hardcoded password are supported if hashed
+-  docs: migration-guides: release-notes-4.0: fix risc-v typo
+-  docs: migration-guides: release-notes-4.0: replace kernel placeholder with correct recipe name
+-  docs: ref-manual: variables: add hashed password example in EXTRA_USERS_PARAMS
+-  docs: set_versions.py: add information about obsolescence of a release
+-  docs: set_versions.py: fix latest release of a branch being shown twice in switchers.js
+-  docs: set_versions.py: fix latest version of an active release shown as obsolete
+-  docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases
+-  docs: sphinx-static: switchers.js.in: do not mark branches as outdated
+-  docs: sphinx-static: switchers.js.in: fix broken switcher for branches
+-  docs: sphinx-static: switchers.js.in: improve obsolete version detection
+-  docs: sphinx-static: switchers.js.in: remove duplicate for outdated versions
+-  docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions
+-  docs: update Bitbake objects.inv location for master branch
+-  documentation/brief-yoctoprojectqs: add directory for local.conf
+-  gcompat: Fix build when usrmerge distro feature is enabled
+-  git: correct license
+-  git: upgrade 2.35.2 -> 2.35.3
+-  glib: upgrade 2.72.0 -> 2.72.1
+-  glibc: ptest: Fix glibc-tests package issue
+-  gnupg: Disable FORTIFY_SOURCES on mips
+-  go.bbclass: disable the use of the default configuration file
+-  gstreamer1.0-plugins-bad: drop patch
+-  gstreamer1.0-plugins-good: Fix libsoup dependency
+-  gstreamer1.0: Minor documentation addition
+-  install/devshell: Introduce git intercept script due to fakeroot issues
+-  kernel-yocto.bbclass: Fixup do_kernel_configcheck usage of KMETA
+-  libc-glibc: Use libxcrypt to provide virtual/crypt
+-  libgit2: upgrade 1.4.2 -> 1.4.3
+-  libsoup: upgrade 3.0.5 -> 3.0.6
+-  libusb1: upgrade 1.0.25 -> 1.0.26
+-  linux-firmware: correct license for ar3k firmware
+-  linux-firmware: upgrade 20220310 -> 20220411
+-  linux-yocto/5.10: base: enable kernel crypto userspace API
+-  linux-yocto/5.10: update to v5.10.112
+-  linux-yocto/5.15: arm: poky-tiny cleanup and fixes
+-  linux-yocto/5.15: base: enable kernel crypto userspace API
+-  linux-yocto/5.15: fix -standard kernel build issue
+-  linux-yocto/5.15: fix ppc boot
+-  linux-yocto/5.15: fix qemuarm graphical boot
+-  linux-yocto/5.15: kasan: fix BUG: sleeping function called from invalid context
+-  linux-yocto/5.15: netfilter: conntrack: avoid useless indirection during conntrack destruction
+-  linux-yocto/5.15: update to v5.15.36
+-  linux-yocto: enable powerpc-debug fragment
+-  mdadm: Drop clang specific cflags
+-  migration-3.4: add missing entry on EXTRA_USERS_PARAMS
+-  migration-guides: add release notes for 4.0
+-  migration-guides: complete migration guide for 4.0
+-  migration-guides: release-notes-4.0: mention LTS release
+-  migration-guides: release-notes-4.0: update 'Repositories / Downloads' section
+-  migration-guides: stop including documents with ".. include"
+-  musl: Fix build when usrmerge distro feature is enabled
+-  ncurses: use COPYING file
+-  neard: Switch SRC_URI to git repo
+-  oeqa/selftest: add test for git working correctly inside pseudo
+-  openssl: minor security upgrade 3.0.2 -> 3.0.3
+-  package.bbclass: Prevent perform_packagecopy from removing /sysroot-only
+-  package: Ensure we track whether PRSERV was active or not
+-  package_manager: fix missing dependency on gnupg when signing deb package feeds
+-  poky-tiny: enable qemuarmv5/qemuarm64 and cleanups
+-  poky.conf: bump version for 4.0.1 release
+-  qemu.bbclass: Extend ppc/ppc64 extra options
+-  qemuarm64: use virtio pci interfaces
+-  qemuarmv5: use arm-versatile-926ejs KMACHINE
+-  ref-manual: Add XZ_THREADS and XZ_MEMLIMIT
+-  ref-manual: add KERNEL_DEBUG_TIMESTAMPS
+-  ref-manual: add ZSTD_THREADS
+-  ref-manual: add a note about hard-coded passwords
+-  ref-manual: add empty-dirs QA check and QA_EMPTY_DIRS*
+-  ref-manual: add mention of vendor filtering to CVE_PRODUCT
+-  ref-manual: mention wildcarding support in INCOMPATIBLE_LICENSE
+-  releases: update for yocto 4.0
+-  rootfs-postcommands: fix symlinks where link and output path are equal
+-  ruby: upgrade 3.1.1 -> 3.1.2
+-  sanity: skip make 4.2.1 warning for debian
+-  scripts/git: Ensure we don't have circular references
+-  scripts: Make git intercept global
+-  seatd: Disable overflow warning as error on ppc64/musl
+-  selftest/lic_checksum: Add test for filename containing space
+-  set_versions: update for 4.0 release
+-  staging: Ensure we filter out ourselves
+-  strace: fix ptest failure in landlock
+-  subversion: upgrade to 1.14.2
+-  systemd-boot: remove outdated EFI_LD comment
+-  systemtap: Fix build with gcc-12
+-  terminal.py: Restore error output from Terminal
+-  u-boot: Correct the SRC_URI
+-  u-boot: Inherit pkgconfig
+-  update_udev_hwdb: fix multilib issue with systemd
+-  util-linux: Create u-a symlink for findfs utility
+-  virgl: skip headless test on alma 8.6
+-  webkitgtk: adjust patch status
+-  wic: do not use PARTLABEL for msdos partition tables
+-  wireless-regdb: upgrade 2022.02.18 -> 2022.04.08
+-  xserver-xorg: Fix build with gcc12
+-  yocto-bsps: update to v5.15.36
+
+Contributors to 4.0.1
+~~~~~~~~~~~~~~~~~~~~~
+
+-  Abongwa Amahnui Bonalais
+-  Alexander Kanavin
+-  Bruce Ashfield
+-  Carlos Rafael Giani
+-  Chen Qi
+-  Davide Gardenal
+-  Dmitry Baryshkov
+-  Ferry Toth
+-  Henning Schild
+-  Jon Mason
+-  Justin Bronder
+-  Kai Kang
+-  Khem Raj
+-  Konrad Weihmann
+-  Lee Chee Yang
+-  Marta Rybczynska
+-  Martin Jansa
+-  Matt Madison
+-  Michael Halstead
+-  Michael Opdenacker
+-  Naveen Saini
+-  Nicolas Dechesne
+-  Paul Eggleton
+-  Paul Gortmaker
+-  Paulo Neves
+-  Peter Kjellerstedt
+-  Peter Marko
+-  Pgowda
+-  Portia
+-  Quentin Schulz
+-  Rahul Kumar
+-  Richard Purdie
+-  Robert Joslyn
+-  Robert Yang
+-  Roland Hieber
+-  Ross Burton
+-  Russ Dill
+-  Steve Sakoman
+-  wangmy
+-  zhengruoqin
+
+Repositories / Downloads for 4.0.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: https://git.yoctoproject.org/git/poky
+-  Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
+-  Tag: :yocto_git:`yocto-4.0.1 </poky/tag/?h=yocto-4.0.1>`
+-  Git Revision: :yocto_git:`8c489602f218bcf21de0d3c9f8cf620ea5f06430 </poky/commit/?id=8c489602f218bcf21de0d3c9f8cf620ea5f06430>`
+-  Release Artefact: poky-8c489602f218bcf21de0d3c9f8cf620ea5f06430
+-  sha: 65c545a316bd8efb13ae1358eeccc8953543be908008103b51f7f90aed960d00
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/poky-8c489602f218bcf21de0d3c9f8cf620ea5f06430.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/poky-8c489602f218bcf21de0d3c9f8cf620ea5f06430.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
+-  Tag: :oe_git:`yocto-4.0.1 </openembedded-core/tag/?h=yocto-4.0>`
+-  Git Revision: :oe_git:`cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee </openembedded-core/commit/?id=cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee>`
+-  Release Artefact: oecore-cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee
+-  sha: 43981b8fad82f601618a133dffbec839524f0d0a055efc3d8f808cbfd811ab17
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/oecore-cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/oecore-cb8647c08959abb1d6b7c2b3a34b4b415f66d7ee.tar.bz2
+
+meta-mingw
+
+-  Repository Location: https://git.yoctoproject.org/git/meta-mingw
+-  Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
+-  Tag: :yocto_git:`yocto-4.0.1 </meta-mingw/tag/?h=yocto-4.0.1>`
+-  Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
+-  Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
+-  sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+
+meta-gplv2
+
+-  Repository Location: https://git.yoctoproject.org/git/meta-gplv2
+-  Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
+-  Tag: :yocto_git:`yocto-4.0.1 </meta-gplv2/tag/?h=yocto-4.0.1>`
+-  Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-mingw/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
+-  Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
+-  sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
+-  Tag: :oe_git:`yocto-4.0 </bitbake/tag/?h=yocto-4.0>`
+-  Git Revision: :oe_git:`59c16ae6c55c607c56efd2287537a1b97ba2bf52 </bitbake/commit/?id=59c16ae6c55c607c56efd2287537a1b97ba2bf52>`
+-  Release Artefact: bitbake-59c16ae6c55c607c56efd2287537a1b97ba2bf52
+-  sha: 3ae466c31f738fc45c3d7c6f665952d59f01697f2667ea42f0544d4298dd6ef0
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.1/bitbake-59c16ae6c55c607c56efd2287537a1b97ba2bf52.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.1/bitbake-59c16ae6c55c607c56efd2287537a1b97ba2bf52.tar.bz2
+
+yocto-docs
+
+-  Repository Location: https://git.yoctoproject.org/git/yocto-docs
+-  Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
+-  Tag: :yocto_git:`yocto-4.0.1 </yocto-docs/tag/?h=yocto-4.0>`
+-  Git Revision: :yocto_git:`4ec9df3336a425719a9a35532504731ce56984ca </yocto-docs/commit/?id=4ec9df3336a425719a9a35532504731ce56984ca>`
diff --git a/poky/documentation/set_versions.py b/poky/documentation/set_versions.py
index c409d5e..a7ceb34 100755
--- a/poky/documentation/set_versions.py
+++ b/poky/documentation/set_versions.py
@@ -23,7 +23,7 @@
 if len(sys.argv) == 2:
     ourversion = sys.argv[1]
 
-activereleases = ["kirkstone", "honister", "dunfell"]
+activereleases = ["kirkstone", "dunfell"]
 devbranch = "langdale"
 ltsseries = ["kirkstone", "dunfell"]
 
@@ -86,7 +86,7 @@
 
 # Test tags exist and inform the user to fetch if not
 try:
-    subprocess.run(["git", "show", "yocto-3.4.2"], capture_output=True, check=True)
+    subprocess.run(["git", "show", "yocto-%s" % release_series[activereleases[0]]], capture_output=True, check=True)
 except subprocess.CalledProcessError:
     sys.exit("Please run 'git fetch --tags' before building the documentation")
 
diff --git a/poky/documentation/test-manual/intro.rst b/poky/documentation/test-manual/intro.rst
index eb9ebe2..12324e5 100644
--- a/poky/documentation/test-manual/intro.rst
+++ b/poky/documentation/test-manual/intro.rst
@@ -175,20 +175,26 @@
    which include the fetchers. The tests are located in
    ``bitbake/lib/*/tests``.
 
+   Some of these tests run the ``bitbake`` command, so ``bitbake/bin``
+   must be added to the ``PATH`` before running ``bitbake-selftest``.
    From within the BitBake repository, run the following::
 
+      $ export PATH=$PWD/bin:$PATH
+
+   After that, you can run the selftest script::
+
       $ bitbake-selftest
 
-   To skip tests that access the Internet, use the ``BB_SKIP_NETTESTS``
-   variable when running "bitbake-selftest" as follows::
-
-      $ BB_SKIP_NETTESTS=yes bitbake-selftest
-
    The default output is quiet and just prints a summary of what was
    run. To see more information, there is a verbose option::
 
       $ bitbake-selftest -v
 
+   To skip tests that access the Internet, use the ``BB_SKIP_NETTESTS``
+   variable when running "bitbake-selftest" as follows::
+
+      $ BB_SKIP_NETTESTS=yes bitbake-selftest
+
    Use this option when you wish to skip tests that access the network,
    which are mostly necessary to test the fetcher modules. To specify
    individual test modules to run, append the test module name to the
diff --git a/poky/meta-selftest/conf/multiconfig/muslmc.conf b/poky/meta-selftest/conf/multiconfig/muslmc.conf
new file mode 100644
index 0000000..043cd1c
--- /dev/null
+++ b/poky/meta-selftest/conf/multiconfig/muslmc.conf
@@ -0,0 +1,2 @@
+TCLIBC = "musl"
+TMPDIR = "${TOPDIR}/tmp-mc-musl"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index c19c770..8d02606 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -579,7 +579,7 @@
 
 SSTATETASKS += "do_deploy_archives"
 do_deploy_archives () {
-    echo "Deploying source archive files from ${ARCHIVER_TOPDIR} to ${DEPLOY_DIR_SRC}."
+    bbnote "Deploying source archive files from ${ARCHIVER_TOPDIR} to ${DEPLOY_DIR_SRC}."
 }
 python do_deploy_archives_setscene () {
     sstate_setscene(d)
diff --git a/poky/meta/classes/baremetal-image.bbclass b/poky/meta/classes/baremetal-image.bbclass
index 81f5e5e..cb9e250 100644
--- a/poky/meta/classes/baremetal-image.bbclass
+++ b/poky/meta/classes/baremetal-image.bbclass
@@ -47,9 +47,10 @@
     Path(manifest_name).touch()
     if os.path.exists(manifest_name) and link_name:
         manifest_link = deploy_dir + "/" + link_name + ".manifest"
-        if os.path.lexists(manifest_link):
-            os.remove(manifest_link)
-        os.symlink(os.path.basename(manifest_name), manifest_link)
+        if manifest_link != manifest_name:
+            if os.path.lexists(manifest_link):
+                os.remove(manifest_link)
+            os.symlink(os.path.basename(manifest_name), manifest_link)
     # A lot of postprocess commands assume the existence of rootfs/etc
     sysconfdir = d.getVar("IMAGE_ROOTFS") + d.getVar('sysconfdir')
     bb.utils.mkdirhier(sysconfdir)
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index bdb3ac3..20968a5 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -7,12 +7,11 @@
 inherit mirrors
 inherit utils
 inherit utility-tasks
-inherit metadata_scm
 inherit logging
 
 OE_EXTRA_IMPORTS ?= ""
 
-OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa oe.reproducible oe.rust ${OE_EXTRA_IMPORTS}"
+OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa oe.reproducible oe.rust oe.buildcfg ${OE_EXTRA_IMPORTS}"
 OE_IMPORTS[type] = "list"
 
 PACKAGECONFIG_CONFARGS ??= ""
@@ -35,6 +34,8 @@
 # We need the oe module name space early (before INHERITs get added)
 OE_IMPORTED := "${@oe_import(d)}"
 
+inherit metadata_scm
+
 def lsb_distro_identifier(d):
     adjust = d.getVar('LSB_DISTRO_ADJUST')
     adjust_func = None
@@ -217,11 +218,8 @@
     return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
 
 def get_layers_branch_rev(d):
-    layers = (d.getVar("BBLAYERS") or "").split()
-    layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \
-        base_get_metadata_git_branch(i, None).strip(), \
-        base_get_metadata_git_revision(i, None)) \
-            for i in layers]
+    revisions = oe.buildcfg.get_layer_revisions(d)
+    layers_branch_rev = ["%-20s = \"%s:%s\"" % (r[1], r[2], r[3]) for r in revisions]
     i = len(layers_branch_rev)-1
     p1 = layers_branch_rev[i].find("=")
     s1 = layers_branch_rev[i][p1:]
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 8db79a4..4ba9ec8 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -508,7 +508,7 @@
 
 	# Set correct pkgdatadir
 	pkgdatadir=${PKGDATA_DIR}
-	if [ "$2" == "sdk" ] && [ "$3" == "host" ]; then
+	if [ "$2" = "sdk" ] && [ "$3" = "host" ] ; then
 		pkgdatadir="${PKGDATA_DIR_SDK}"
 	fi
 
@@ -741,30 +741,10 @@
     statusheader = d.getVar('BUILDCFG_HEADER')
     return('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines)))
 
-def buildhistory_get_modified(path):
-    # copied from get_layer_git_status() in image-buildinfo.bbclass
-    import subprocess
-    try:
-        subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
-                                git diff --quiet --no-ext-diff
-                                git diff --quiet --no-ext-diff --cached""" % path,
-                                shell=True,
-                                stderr=subprocess.STDOUT)
-        return ""
-    except subprocess.CalledProcessError as ex:
-        # Silently treat errors as "modified", without checking for the
-        # (expected) return code 1 in a modified git repo. For example, we get
-        # output and a 129 return code when a layer isn't a git repo at all.
-        return " -- modified"
-
 def buildhistory_get_metadata_revs(d):
-    # We want an easily machine-readable format here, so get_layers_branch_rev isn't quite what we want
-    layers = (d.getVar("BBLAYERS") or "").split()
-    medadata_revs = ["%-17s = %s:%s%s" % (os.path.basename(i), \
-        base_get_metadata_git_branch(i, None).strip(), \
-        base_get_metadata_git_revision(i, None), \
-        buildhistory_get_modified(i)) \
-            for i in layers]
+    # We want an easily machine-readable format here
+    revisions = oe.buildcfg.get_layer_revisions(d)
+    medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions]
     return '\n'.join(medadata_revs)
 
 def outputvars(vars, listvars, d):
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index 3729d9c..1b4910f 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -48,6 +48,7 @@
 CVE_CHECK_CREATE_MANIFEST ??= "1"
 
 CVE_CHECK_REPORT_PATCHED ??= "1"
+CVE_CHECK_SHOW_WARNINGS ??= "1"
 
 # Provide text output
 CVE_CHECK_FORMAT_TEXT ??= "1"
@@ -82,7 +83,7 @@
 def generate_json_report(d, out_path, link_path):
     if os.path.exists(d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")):
         import json
-        from oe.cve_check import cve_check_merge_jsons
+        from oe.cve_check import cve_check_merge_jsons, update_symlinks
 
         bb.note("Generating JSON CVE summary")
         index_file = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")
@@ -98,14 +99,12 @@
         with open(out_path, "w") as f:
             json.dump(summary, f, indent=2)
 
-        if link_path != out_path:
-            if os.path.exists(os.path.realpath(link_path)):
-                os.remove(link_path)
-            os.symlink(os.path.basename(out_path), link_path)
+        update_symlinks(out_path, link_path)
 
 python cve_save_summary_handler () {
     import shutil
     import datetime
+    from oe.cve_check import update_symlinks
 
     cve_tmp_file = d.getVar("CVE_CHECK_TMP_FILE")
 
@@ -118,14 +117,9 @@
 
     if os.path.exists(cve_tmp_file):
         shutil.copyfile(cve_tmp_file, cve_summary_file)
-
-        if cve_summary_file and os.path.exists(cve_summary_file):
-            cvefile_link = os.path.join(cvelogpath, cve_summary_name)
-            # if the paths are the same don't create the link
-            if cvefile_link != cve_summary_file:
-                if os.path.exists(os.path.realpath(cvefile_link)):
-                    os.remove(cvefile_link)
-                os.symlink(os.path.basename(cve_summary_file), cvefile_link)
+        cvefile_link = os.path.join(cvelogpath, cve_summary_name)
+        update_symlinks(cve_summary_file, cvefile_link)
+        bb.plain("Complete CVE report summary created at: %s" % cvefile_link)
 
     if d.getVar("CVE_CHECK_FORMAT_JSON") == "1":
         json_summary_link_name = os.path.join(cvelogpath, d.getVar("CVE_CHECK_SUMMARY_FILE_NAME_JSON"))
@@ -178,7 +172,9 @@
     """
 
     import shutil
-    from oe.cve_check import cve_check_merge_jsons
+    import json
+    from oe.rootfs import image_list_installed_packages
+    from oe.cve_check import cve_check_merge_jsons, update_symlinks
 
     if d.getVar("CVE_CHECK_COPY_FILES") == "1":
         deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE")
@@ -188,32 +184,63 @@
         if os.path.exists(deploy_file_json):
             bb.utils.remove(deploy_file_json)
 
-    if os.path.exists(d.getVar("CVE_CHECK_TMP_FILE")):
-        bb.note("Writing rootfs CVE manifest")
-        deploy_dir = d.getVar("DEPLOY_DIR_IMAGE")
-        link_name = d.getVar("IMAGE_LINK_NAME")
+    # Create a list of relevant recipies
+    recipies = set()
+    for pkg in list(image_list_installed_packages(d)):
+        pkg_info = os.path.join(d.getVar('PKGDATA_DIR'),
+                                'runtime-reverse', pkg)
+        pkg_data = oe.packagedata.read_pkgdatafile(pkg_info)
+        recipies.add(pkg_data["PN"])
+
+    bb.note("Writing rootfs CVE manifest")
+    deploy_dir = d.getVar("DEPLOY_DIR_IMAGE")
+    link_name = d.getVar("IMAGE_LINK_NAME")
+
+    json_data = {"version":"1", "package": []}
+    text_data = ""
+    enable_json = d.getVar("CVE_CHECK_FORMAT_JSON") == "1"
+    enable_text = d.getVar("CVE_CHECK_FORMAT_TEXT") == "1"
+
+    save_pn = d.getVar("PN")
+
+    for pkg in recipies:
+        # To be able to use the CVE_CHECK_RECIPE_FILE variable we have to evaluate
+        # it with the different PN names set each time.
+        d.setVar("PN", pkg)
+        if enable_text:
+            pkgfilepath = d.getVar("CVE_CHECK_RECIPE_FILE")
+            if os.path.exists(pkgfilepath):
+                with open(pkgfilepath) as pfile:
+                    text_data += pfile.read()
+
+        if enable_json:
+            pkgfilepath = d.getVar("CVE_CHECK_RECIPE_FILE_JSON")
+            if os.path.exists(pkgfilepath):
+                with open(pkgfilepath) as j:
+                    data = json.load(j)
+                    cve_check_merge_jsons(json_data, data)
+
+    d.setVar("PN", save_pn)
+
+    if enable_text:
+        link_path = os.path.join(deploy_dir, "%s.cve" % link_name)
         manifest_name = d.getVar("CVE_CHECK_MANIFEST")
-        cve_tmp_file = d.getVar("CVE_CHECK_TMP_FILE")
 
-        bb.utils.mkdirhier(os.path.dirname(manifest_name))
-        shutil.copyfile(cve_tmp_file, manifest_name)
+        with open(manifest_name, "w") as f:
+            f.write(text_data)
 
-        if manifest_name and os.path.exists(manifest_name):
-            manifest_link = os.path.join(deploy_dir, "%s.cve" % link_name)
-            # if they are the same don't create the link
-            if manifest_link != manifest_name:
-                # If we already have another manifest, update symlinks
-                if os.path.exists(os.path.realpath(manifest_link)):
-                    os.remove(manifest_link)
-                os.symlink(os.path.basename(manifest_name), manifest_link)
-            bb.plain("Image CVE report stored in: %s" % manifest_name)
+        update_symlinks(manifest_name, link_path)
+        bb.plain("Image CVE report stored in: %s" % manifest_name)
 
-        if d.getVar("CVE_CHECK_FORMAT_JSON") == "1":
-            link_path = os.path.join(deploy_dir, "%s.json" % link_name)
-            manifest_path = d.getVar("CVE_CHECK_MANIFEST_JSON")
-            bb.note("Generating JSON CVE manifest")
-            generate_json_report(d, manifest_path, link_path)
-            bb.plain("Image CVE JSON report stored in: %s" % link_path)
+    if enable_json:
+        link_path = os.path.join(deploy_dir, "%s.json" % link_name)
+        manifest_name = d.getVar("CVE_CHECK_MANIFEST_JSON")
+
+        with open(manifest_name, "w") as f:
+            json.dump(json_data, f, indent=2)
+
+        update_symlinks(manifest_name, link_path)
+        bb.plain("Image CVE JSON report stored in: %s" % manifest_name)
 }
 
 ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
@@ -237,7 +264,7 @@
     products = d.getVar("CVE_PRODUCT").split()
     # If this has been unset then we're not scanning for CVEs here (for example, image recipes)
     if not products:
-        return ([], [], [], {})
+        return ([], [], [], [])
     pv = d.getVar("CVE_VERSION").split("+git")[0]
 
     # If the recipe has been skipped/ignored we return empty lists
@@ -405,26 +432,25 @@
         write_string += "VECTOR: %s\n" % cve_data[cve]["vector"]
         write_string += "MORE INFORMATION: %s%s\n\n" % (nvd_link, cve)
 
-    if unpatched_cves:
+    if unpatched_cves and d.getVar("CVE_CHECK_SHOW_WARNINGS") == "1":
         bb.warn("Found unpatched CVE (%s), for more information check %s" % (" ".join(unpatched_cves),cve_file))
 
-    if write_string:
-        with open(cve_file, "w") as f:
-            bb.note("Writing file %s with CVE information" % cve_file)
+    with open(cve_file, "w") as f:
+        bb.note("Writing file %s with CVE information" % cve_file)
+        f.write(write_string)
+
+    if d.getVar("CVE_CHECK_COPY_FILES") == "1":
+        deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE")
+        bb.utils.mkdirhier(os.path.dirname(deploy_file))
+        with open(deploy_file, "w") as f:
             f.write(write_string)
 
-        if d.getVar("CVE_CHECK_COPY_FILES") == "1":
-            deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE")
-            bb.utils.mkdirhier(os.path.dirname(deploy_file))
-            with open(deploy_file, "w") as f:
-                f.write(write_string)
+    if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1":
+        cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR")
+        bb.utils.mkdirhier(cvelogpath)
 
-        if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1":
-            cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR")
-            bb.utils.mkdirhier(cvelogpath)
-
-            with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f:
-                f.write("%s" % write_string)
+        with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f:
+            f.write("%s" % write_string)
 
 def cve_check_write_json_output(d, output, direct_file, deploy_file, manifest_file):
     """
diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass
index 1a9a0bc..cd2daed 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes/go.bbclass
@@ -45,7 +45,10 @@
 GO_LINKMODE:class-nativesdk = "--linkmode=external"
 GO_LINKMODE:class-native = "--linkmode=external"
 GO_EXTRA_LDFLAGS ?= ""
-GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} -I ${@get_linuxloader(d)} ${GO_EXTRA_LDFLAGS} -extldflags '${GO_EXTLDFLAGS}'"'
+GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}"
+# Use system loader. If uninative is used, the uninative loader will be patched automatically
+GO_LINUXLOADER:class-native = ""
+GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} ${GO_LINUXLOADER} ${GO_EXTRA_LDFLAGS} -extldflags '${GO_EXTLDFLAGS}'"'
 export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -trimpath"
 export GOPATH_OMIT_IN_ACTIONID ?= "1"
 export GOPTESTBUILDFLAGS ?= "${GOBUILDFLAGS} -c"
diff --git a/poky/meta/classes/image-buildinfo.bbclass b/poky/meta/classes/image-buildinfo.bbclass
index 94c585d..ef790bb 100644
--- a/poky/meta/classes/image-buildinfo.bbclass
+++ b/poky/meta/classes/image-buildinfo.bbclass
@@ -1,5 +1,5 @@
 #
-# Writes build information to target filesystem on /etc/build
+# Writes build information to target filesystem on /etc/buildinfo
 #
 # Copyright (C) 2014 Intel Corporation
 # Author: Alejandro Enedino Hernandez Samaniego <alejandro.hernandez@intel.com>
@@ -13,7 +13,8 @@
 IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
 
 # Desired location of the output file in the image.
-IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
+IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/buildinfo"
+SDK_BUILDINFO_FILE ??= "/buildinfo"
 
 # From buildhistory.bbclass
 def image_buildinfo_outputvars(vars, d):
@@ -26,30 +27,10 @@
         ret += "%s = %s\n" % (var, value)
     return ret.rstrip('\n')
 
-# Gets git branch's status (clean or dirty)
-def get_layer_git_status(path):
-    import subprocess
-    try:
-        subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
-                                git diff --quiet --no-ext-diff
-                                git diff --quiet --no-ext-diff --cached""" % path,
-                                shell=True,
-                                stderr=subprocess.STDOUT)
-        return ""
-    except subprocess.CalledProcessError as ex:
-        # Silently treat errors as "modified", without checking for the
-        # (expected) return code 1 in a modified git repo. For example, we get
-        # output and a 129 return code when a layer isn't a git repo at all.
-        return "-- modified"
-
 # Returns layer revisions along with their respective status
 def get_layer_revs(d):
-    layers = (d.getVar("BBLAYERS") or "").split()
-    medadata_revs = ["%-17s = %s:%s %s" % (os.path.basename(i), \
-        base_get_metadata_git_branch(i, None).strip(), \
-        base_get_metadata_git_revision(i, None), \
-        get_layer_git_status(i)) \
-            for i in layers]
+    revisions = oe.buildcfg.get_layer_revisions(d)
+    medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions]
     return '\n'.join(medadata_revs)
 
 def buildinfo_target(d):
@@ -60,11 +41,12 @@
         vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "")
         return image_buildinfo_outputvars(vars, d)
 
-# Write build information to target filesystem
-python buildinfo () {
+python buildinfo() {
     if not d.getVar('IMAGE_BUILDINFO_FILE'):
         return
-    with open(d.expand('${IMAGE_ROOTFS}${IMAGE_BUILDINFO_FILE}'), 'w') as build:
+    destfile = d.expand('${BUILDINFODEST}${IMAGE_BUILDINFO_FILE}')
+    bb.utils.mkdirhier(os.path.dirname(destfile))
+    with open(destfile, 'w') as build:
         build.writelines((
             '''-----------------------
 Build Configuration:  |
@@ -82,4 +64,18 @@
        ))
 }
 
-IMAGE_PREPROCESS_COMMAND += "buildinfo;"
+# Write build information to target filesystem
+python buildinfo_image () {
+    d.setVar("BUILDINFODEST", "${IMAGE_ROOTFS}")
+    bb.build.exec_func("buildinfo", d)
+}
+
+python buildinfo_sdk () {
+    d.setVar("BUILDINFODEST", "${SDK_OUTPUT}/${SDKPATH}")
+    d.setVar("IMAGE_BUILDINFO_FILE", d.getVar("SDK_BUILDINFO_FILE"))
+    bb.build.exec_func("buildinfo", d)
+}
+
+IMAGE_PREPROCESS_COMMAND += "buildinfo_image;"
+POPULATE_SDK_PRE_TARGET_COMMAND += "buildinfo_sdk;"
+
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 0bc6492..9ca84ba 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -1201,18 +1201,20 @@
        if '/meta/' not in fullpath:
            continue
 
-       content = open(fullpath, encoding='utf-8', errors='ignore').read()
        kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE)
        strict_status_re = re.compile(r"^Upstream-Status: (Pending|Submitted|Denied|Accepted|Inappropriate|Backport|Inactive-Upstream)( .+)?$", re.MULTILINE)
-       match_kinda = kinda_status_re.search(content)
-       match_strict = strict_status_re.search(content)
        guidelines = "https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status"
 
-       if not match_strict:
-           if match_kinda:
-               bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0)))
-           else:
-               bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines))
+       with open(fullpath, encoding='utf-8', errors='ignore') as f:
+           file_content = f.read()
+           match_kinda = kinda_status_re.search(file_content)
+           match_strict = strict_status_re.search(file_content)
+
+           if not match_strict:
+               if match_kinda:
+                   bb.error("Malformed Upstream-Status in patch\n%s\nPlease correct according to %s :\n%s" % (fullpath, guidelines, match_kinda.group(0)))
+               else:
+                   bb.error("Missing Upstream-Status in patch\n%s\nPlease add according to %s ." % (fullpath, guidelines))
 }
 
 python do_qa_configure() {
diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass
index b276ded..ce1446f 100644
--- a/poky/meta/classes/kernel-yocto.bbclass
+++ b/poky/meta/classes/kernel-yocto.bbclass
@@ -310,6 +310,8 @@
 		bbnote "KERNEL_FEATURES: $KERNEL_FEATURES_FINAL"
 		bbnote "Final scc/cfg list: $sccs_defconfig $bsp_definition $sccs $KERNEL_FEATURES_FINAL"
 	fi
+
+	set -e
 }
 
 do_patch() {
@@ -343,6 +345,8 @@
 			fi
 		done
 	fi
+
+	set -e
 }
 
 do_kernel_checkout() {
@@ -401,6 +405,8 @@
 		git commit -q -m "baseline commit: creating repo for ${PN}-${PV}"
 		git clean -d -f
 	fi
+
+	set -e
 }
 do_kernel_checkout[dirs] = "${S} ${WORKDIR}"
 
@@ -695,6 +701,8 @@
 			kgit-s2q --clean
 		fi
 	fi
+
+	set -e
 }
 
 OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT"
diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass
index 0c637e9..4ebfc4f 100644
--- a/poky/meta/classes/license.bbclass
+++ b/poky/meta/classes/license.bbclass
@@ -84,17 +84,17 @@
                     os.link(src, dst)
                 except OSError as err:
                     if err.errno == errno.EXDEV:
-                        # Copy license files if hard-link is not possible even if st_dev is the
+                        # Copy license files if hardlink is not possible even if st_dev is the
                         # same on source and destination (docker container with device-mapper?)
                         canlink = False
                     else:
                         raise
-                # Only chown if we did hardling, and, we're running under pseudo
+                # Only chown if we did hardlink and we're running under pseudo
                 if canlink and os.environ.get('PSEUDO_DISABLED') == '0':
                     os.chown(dst,0,0)
             if not canlink:
-                begin_idx = int(beginline)-1 if beginline is not None else None
-                end_idx = int(endline) if endline is not None else None
+                begin_idx = max(0, int(beginline) - 1) if beginline is not None else None
+                end_idx = max(0, int(endline)) if endline is not None else None
                 if begin_idx is None and end_idx is None:
                     shutil.copyfile(src, dst)
                 else:
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass
index 0bfe945..546cd04 100644
--- a/poky/meta/classes/meson.bbclass
+++ b/poky/meta/classes/meson.bbclass
@@ -59,6 +59,7 @@
 [binaries]
 c = ${@meson_array('CC', d)}
 cpp = ${@meson_array('CXX', d)}
+cython = 'cython3'
 ar = ${@meson_array('AR', d)}
 nm = ${@meson_array('NM', d)}
 strip = ${@meson_array('STRIP', d)}
@@ -98,6 +99,7 @@
 [binaries]
 c = ${@meson_array('BUILD_CC', d)}
 cpp = ${@meson_array('BUILD_CXX', d)}
+cython = 'cython3'
 ar = ${@meson_array('BUILD_AR', d)}
 nm = ${@meson_array('BUILD_NM', d)}
 strip = ${@meson_array('BUILD_STRIP', d)}
@@ -140,16 +142,6 @@
     # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3
     unset LD
 
-    # sstate.bbclass no longer removes empty directories to avoid a race (see
-    # commit 4f94d929 "sstate/staging: Handle directory creation race issue").
-    # Unfortunately Python apparently treats an empty egg-info directory as if
-    # the version it previously contained still exists and fails if a newer
-    # version is required, which Meson does. To avoid this, make sure there are
-    # no empty egg-info directories from previous versions left behind. Ignore
-    # all errors from rmdir since the egg-info may be a file rather than a
-    # directory.
-    rmdir ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info 2>/dev/null || :
-
     # Work around "Meson fails if /tmp is mounted with noexec #2972"
     mkdir -p "${B}/meson-private/tmp"
     export TMPDIR="${B}/meson-private/tmp"
diff --git a/poky/meta/classes/metadata_scm.bbclass b/poky/meta/classes/metadata_scm.bbclass
index 47cb969..f646b31 100644
--- a/poky/meta/classes/metadata_scm.bbclass
+++ b/poky/meta/classes/metadata_scm.bbclass
@@ -1,44 +1,5 @@
-def base_detect_revision(d):
-    path = base_get_scmbasepath(d)
-    return base_get_metadata_git_revision(path, d)
 
-def base_detect_branch(d):
-    path = base_get_scmbasepath(d)
-    return base_get_metadata_git_branch(path, d)
-
-def base_get_scmbasepath(d):
-    return os.path.join(d.getVar('COREBASE'), 'meta')
-
-def base_get_metadata_svn_revision(path, d):
-    # This only works with older subversion. For newer versions 
-    # this function will need to be fixed by someone interested
-    revision = "<unknown>"
-    try:
-        with open("%s/.svn/entries" % path) as f:
-            revision = f.readlines()[3].strip()
-    except (IOError, IndexError):
-        pass
-    return revision
-
-def base_get_metadata_git_branch(path, d):
-    import bb.process
-
-    try:
-        rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path)
-    except bb.process.ExecutionError:
-        rev = '<unknown>'
-    return rev.strip()
-
-def base_get_metadata_git_revision(path, d):
-    import bb.process
-
-    try:
-        rev, _ = bb.process.run('git rev-parse HEAD', cwd=path)
-    except bb.process.ExecutionError:
-        rev = '<unknown>'
-    return rev.strip()
-
-METADATA_BRANCH := "${@base_detect_branch(d)}"
+METADATA_BRANCH := "${@oe.buildcfg.detect_branch(d)}"
 METADATA_BRANCH[vardepvalue] = "${METADATA_BRANCH}"
-METADATA_REVISION := "${@base_detect_revision(d)}"
+METADATA_REVISION := "${@oe.buildcfg.detect_revision(d)}"
 METADATA_REVISION[vardepvalue] = "${METADATA_REVISION}"
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index e2019f9..d58b2ba 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -401,10 +401,9 @@
             if os.path.exists(builddir + dest_stub):
                 shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub)
 
-    if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
-        bb.parse.siggen.save_unitaskhashes()
-        bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
-        shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat')
+    cachedir = os.path.join(baseoutpath, 'cache')
+    bb.utils.mkdirhier(cachedir)
+    bb.parse.siggen.copy_unitaskhashes(cachedir)
 
     # If PR Service is in use, we need to export this as well
     bb.note('Do we have a pr database?')
@@ -492,10 +491,10 @@
     else:
         tasklistfn = None
 
-    if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
-        bb.parse.siggen.save_unitaskhashes()
-        bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
-        shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat')
+
+    cachedir = os.path.join(baseoutpath, 'cache')
+    bb.utils.mkdirhier(cachedir)
+    bb.parse.siggen.copy_unitaskhashes(cachedir)
 
     # Add packagedata if enabled
     if d.getVar('SDK_INCLUDE_PKGDATA') == '1':
diff --git a/poky/meta/classes/report-error.bbclass b/poky/meta/classes/report-error.bbclass
index de48e4f..6866d47 100644
--- a/poky/meta/classes/report-error.bbclass
+++ b/poky/meta/classes/report-error.bbclass
@@ -63,7 +63,7 @@
             data['target_sys'] = e.data.getVar("TARGET_SYS")
             data['failures'] = []
             data['component'] = " ".join(e.getPkgs())
-            data['branch_commit'] = str(base_detect_branch(e.data)) + ": " + str(base_detect_revision(e.data))
+            data['branch_commit'] = str(oe.buildcfg.detect_branch(e.data)) + ": " + str(oe.buildcfg.detect_revision(e.data))
             data['bitbake_version'] = e.data.getVar("BB_VERSION")
             data['layer_version'] = get_layers_branch_rev(e.data)
             data['local_conf'] = get_conf_data(e, 'local.conf')
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index d302c23..3f9fdb6 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -39,7 +39,7 @@
 
 ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;'
 
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check;", "", d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check; overlayfs_postprocess;", "", d)}'
 
 inherit image-artifact-names
 
@@ -422,3 +422,14 @@
     if not allUnitExist:
         bb.fatal('Not all mount paths and units are installed in the image')
 }
+
+python overlayfs_postprocess() {
+    import shutil
+
+    # install helper script
+    helperScriptName = "overlayfs-create-dirs.sh"
+    helperScriptSource = oe.path.join(d.getVar("COREBASE"), "meta/files", helperScriptName)
+    helperScriptDest = oe.path.join(d.getVar("IMAGE_ROOTFS"), "/usr/sbin/", helperScriptName)
+    shutil.copyfile(helperScriptSource, helperScriptDest)
+    os.chmod(helperScriptDest, 0o755)
+}
diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass
index b416918..eb0ca05 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes/sanity.bbclass
@@ -432,8 +432,7 @@
     except subprocess.CalledProcessError as e:
         return "Unable to execute patch --version, exit code %d:\n%s\n" % (e.returncode, e.output)
 
-# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
-# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
+# Glibc needs make 4.0 or later, we may as well match at this point
 def check_make_version(sanity_data):
     import subprocess
 
@@ -442,31 +441,8 @@
     except subprocess.CalledProcessError as e:
         return "Unable to execute make --version, exit code %d\n%s\n" % (e.returncode, e.output)
     version = result.split()[2]
-    if bb.utils.vercmp_string_op(version, "3.82", "=="):
-        # Construct a test file
-        f = open("makefile_test", "w")
-        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
-        f.write("\n")
-        f.write("makefile_test_a.c:\n")
-        f.write("	touch $@\n")
-        f.write("\n")
-        f.write("makefile_test_b.c:\n")
-        f.write("	touch $@\n")
-        f.close()
-
-        # Check if make 3.82 has been patched
-        try:
-            subprocess.check_call(['make', '-f', 'makefile_test'])
-        except subprocess.CalledProcessError as e:
-            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
-        finally:
-            os.remove("makefile_test")
-            if os.path.exists("makefile_test_a.c"):
-                os.remove("makefile_test_a.c")
-            if os.path.exists("makefile_test_b.c"):
-                os.remove("makefile_test_b.c")
-            if os.path.exists("makefile_test.a"):
-                os.remove("makefile_test.a")
+    if bb.utils.vercmp_string_op(version, "4.0", "<"):
+        return "Please install a make version of 4.0 or later.\n"
 
     if bb.utils.vercmp_string_op(version, "4.2.1", "=="):
         distro = oe.lsb.distro_identifier()
diff --git a/poky/meta/classes/setuptools3.bbclass b/poky/meta/classes/setuptools3.bbclass
index 556bc80..66c9466 100644
--- a/poky/meta/classes/setuptools3.bbclass
+++ b/poky/meta/classes/setuptools3.bbclass
@@ -1,7 +1,6 @@
 inherit setuptools3-base python_pep517
 
-# bdist_wheel builds in ./dist
-#B = "${WORKDIR}/build"
+DEPENDS += "python3-setuptools-native python3-wheel-native"
 
 SETUPTOOLS_BUILD_ARGS ?= ""
 
@@ -23,6 +22,7 @@
 setuptools3_do_compile[vardepsexclude] = "MACHINE"
 do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
 
+# This could be removed in the future but some recipes in meta-oe still use it
 setuptools3_do_install() {
         python_pep517_do_install
 }
@@ -30,4 +30,3 @@
 EXPORT_FUNCTIONS do_configure do_compile do_install
 
 export LDSHARED="${CCLD} -shared"
-DEPENDS += "python3-setuptools-native python3-wheel-native"
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index 8372a45..bf8ca58 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -352,7 +352,7 @@
     #bb.note(" start is %s" % str(start))
 
     # Direct dependencies should be present and can be depended upon
-    for dep in set(start):
+    for dep in sorted(set(start)):
         if setscenedeps[dep][1] == "do_populate_sysroot":
             if dep not in configuredeps:
                 configuredeps.append(dep)
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index 4ca8118..31ffe1f 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -134,6 +134,8 @@
 
 			if [ -n "${UBOOT_CONFIG}" ]
 			then
+				i=0
+				j=0
 				for config in ${UBOOT_MACHINE}; do
 					i=$(expr $i + 1);
 					for type in ${UBOOT_CONFIG}; do
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 0e939ac..2a3cf6f 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -386,8 +386,8 @@
 # General work and output directories for the build system.
 ##################################################################
 
-TCMODE ?= "default"
-TCLIBC ?= "glibc"
+TCMODE ??= "default"
+TCLIBC ??= "glibc"
 TMPDIR ?= "${TOPDIR}/tmp"
 
 CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('MACHINE'))]}${@['', '/' + str(d.getVar('SDKMACHINE'))][bool(d.getVar('SDKMACHINE'))]}"
diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
index 6c19cd2..993ee28 100644
--- a/poky/meta/conf/distro/include/cve-extra-exclusions.inc
+++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -53,6 +53,43 @@
 CVE-2015-4785 CVE-2015-4786 CVE-2015-4787 CVE-2015-4788 CVE-2015-4789 CVE-2015-4790 CVE-2016-0682 \
 CVE-2016-0689 CVE-2016-0692 CVE-2016-0694 CVE-2016-3418 CVE-2020-2981"
 
+
+#
+# Kernel CVEs, e.g. linux-yocto*
+#
+# For OE-Core our policy is to stay as close to the kernel stable releases as we can. This should
+# ensure the bulk of the major kernel CVEs are fixed and we don't dive into each individual issue
+# as the stable maintainers are much more able to do that.
+#
+# Rather than just ignore all kernel CVEs, list the ones we ignore on this basis here, allowing new
+# issues to be visible. If anyone wishes to clean up CPE entries with NIST for these, we'd
+# welcome than and then entries can likely be removed from here.
+#
+# 1999-2010
+CVE_CHECK_IGNORE += "CVE-1999-0524 CVE-1999-0656 CVE-2006-2932 CVE-2007-2764 CVE-2007-4998 CVE-2008-2544 \
+                     CVE-2008-4609 CVE-2010-0298 CVE-2010-4563"
+# 2011-2017
+CVE_CHECK_IGNORE += "CVE-2011-0640 CVE-2014-2648 CVE-2014-8171 CVE-2016-0774 CVE-2016-3695 CVE-2016-3699 \
+                     CVE-2017-1000255 CVE-2017-1000377 CVE-2017-5897 CVE-2017-6264"
+# 2018
+CVE_CHECK_IGNORE += "CVE-2018-1000026 CVE-2018-10840 CVE-2018-10876 CVE-2018-10882 CVE-2018-10901 CVE-2018-10902 \
+                     CVE-2018-14625 CVE-2018-16880 CVE-2018-16884 CVE-2018-5873 CVE-2018-6559"
+# 2019
+CVE_CHECK_IGNORE += "CVE-2019-10126 CVE-2019-14899 CVE-2019-18910 CVE-2019-3016 CVE-2019-3819 CVE-2019-3846 CVE-2019-3887"
+# 2020
+CVE_CHECK_IGNORE += "CVE-2020-10732 CVE-2020-10742 CVE-2020-16119 CVE-2020-1749 CVE-2020-25672 CVE-2020-27820 CVE-2020-35501 CVE-2020-8834"
+# 2021
+CVE_CHECK_IGNORE += "CVE-2021-20194 CVE-2021-20226 CVE-2021-20265 CVE-2021-3564 CVE-2021-3743 CVE-2021-3847 CVE-2021-4002 \
+                     CVE-2021-4090 CVE-2021-4095 CVE-2021-4197 CVE-2021-4202 CVE-2021-44879 CVE-2021-45402"
+# 2022
+CVE_CHECK_IGNORE += "CVE-2022-0185 CVE-2022-0264 CVE-2022-0286 CVE-2022-0330 CVE-2022-0382 CVE-2022-0433 CVE-2022-0435 \
+                     CVE-2022-0492 CVE-2022-0494 CVE-2022-0500 CVE-2022-0516 CVE-2022-0617 CVE-2022-0742 CVE-2022-0854 \
+                     CVE-2022-0995 CVE-2022-0998 CVE-2022-1011 CVE-2022-1015 CVE-2022-1048 CVE-2022-1055 CVE-2022-1195 \
+                     CVE-2022-1353 CVE-2022-24122 CVE-2022-24448 CVE-2022-24958 CVE-2022-24959 CVE-2022-25258 CVE-2022-25265 \
+                     CVE-2022-25375 CVE-2022-26490 CVE-2022-26878 CVE-2022-26966 CVE-2022-27223 CVE-2022-27666 CVE-2022-27950 \
+                     CVE-2022-28356 CVE-2022-28388 CVE-2022-28389 CVE-2022-28390 CVE-2022-28796 CVE-2022-28893 CVE-2022-29156 \
+                     CVE-2022-29582 CVE-2022-29968"
+
 #### CPE update pending ####
 
 # groff:groff-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0803
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 3990d1d..6ab2ed9 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -38,7 +38,6 @@
 RECIPE_MAINTAINER:pn-alsa-topology-conf = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
 RECIPE_MAINTAINER:pn-alsa-ucm-conf = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
 RECIPE_MAINTAINER:pn-alsa-utils = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
-RECIPE_MAINTAINER:pn-alsa-utils-scripts = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
 RECIPE_MAINTAINER:pn-apmd = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-apr = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER:pn-apr-util = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -472,7 +471,6 @@
 RECIPE_MAINTAINER:pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
-RECIPE_MAINTAINER:pn-lzop = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER:pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER:pn-make = "Robert Yang <liezhi.yang@windriver.com>"
diff --git a/poky/meta/conf/distro/include/security_flags.inc b/poky/meta/conf/distro/include/security_flags.inc
index 8374cb8..2972f05 100644
--- a/poky/meta/conf/distro/include/security_flags.inc
+++ b/poky/meta/conf/distro/include/security_flags.inc
@@ -61,6 +61,7 @@
 SECURITY_STACK_PROTECTOR:pn-gcc-runtime = ""
 SECURITY_STACK_PROTECTOR:pn-glibc = ""
 SECURITY_STACK_PROTECTOR:pn-glibc-testsuite = ""
+SECURITY_STACK_PROTECTOR:pn-ltp = ""
 # All xorg module drivers need to be linked this way as well and are
 # handled in recipes-graphics/xorg-driver/xorg-driver-common.inc
 SECURITY_LDFLAGS:pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 1179ba1..eb2f01b 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -26,7 +26,7 @@
 GOVERSION ?= "1.18%"
 # This can not use wildcards like 8.0.% since it is also used in mesa to denote
 # llvm version being used, so always bump it with llvm recipe version bump
-LLVMVERSION ?= "14.0.3"
+LLVMVERSION ?= "14.0.4"
 RUSTVERSION ?= "1.60%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
diff --git a/poky/meta/conf/sanity.conf b/poky/meta/conf/sanity.conf
index e6cb2b4..fff1ad8 100644
--- a/poky/meta/conf/sanity.conf
+++ b/poky/meta/conf/sanity.conf
@@ -3,7 +3,7 @@
 # See sanity.bbclass
 #
 # Expert users can confirm their sanity with "touch conf/sanity.conf"
-BB_MIN_VERSION = "1.53.1"
+BB_MIN_VERSION = "2.0.1"
 
 SANITY_ABIFILE = "${TMPDIR}/abi_version"
 
diff --git a/poky/meta/files/overlayfs-create-dirs.service.in b/poky/meta/files/overlayfs-create-dirs.service.in
index 61b2b93..c949a6d 100644
--- a/poky/meta/files/overlayfs-create-dirs.service.in
+++ b/poky/meta/files/overlayfs-create-dirs.service.in
@@ -6,8 +6,7 @@
 
 [Service]
 Type=oneshot
-ExecStart=mkdir -p {DATA_MOUNT_POINT}/upper{LOWERDIR}
-ExecStart=mkdir -p {DATA_MOUNT_POINT}/workdir{LOWERDIR}
+ExecStart=/usr/sbin/overlayfs-create-dirs.sh {LOWERDIR} {DATA_MOUNT_POINT}
 RemainAfterExit=true
 StandardOutput=journal
 
diff --git a/poky/meta/files/overlayfs-create-dirs.sh b/poky/meta/files/overlayfs-create-dirs.sh
new file mode 100644
index 0000000..9954c34
--- /dev/null
+++ b/poky/meta/files/overlayfs-create-dirs.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# This script is intended to be used sorely by overlayfs-create-dirs.service
+# Usage: overlayfs-create-dirs.sh <LOWERDIR> <DATA_MOUNT_POINT>
+
+lowerdir=$1
+datamountpoint=$2
+mkdir -p ${datamountpoint}/upper${lowerdir}
+mkdir -p ${datamountpoint}/workdir${lowerdir}
+if [ -d "$lowerdir" ]; then
+    chown $(stat -c "%U:%G" ${lowerdir}) ${datamountpoint}/upper${lowerdir}
+fi
diff --git a/poky/meta/lib/oe/buildcfg.py b/poky/meta/lib/oe/buildcfg.py
new file mode 100644
index 0000000..90f5e05
--- /dev/null
+++ b/poky/meta/lib/oe/buildcfg.py
@@ -0,0 +1,49 @@
+
+import subprocess
+import bb.process
+
+def detect_revision(d):
+    path = get_scmbasepath(d)
+    return get_metadata_git_revision(path, d)
+
+def detect_branch(d):
+    path = get_scmbasepath(d)
+    return get_metadata_git_branch(path, d)
+
+def get_scmbasepath(d):
+    return os.path.join(d.getVar('COREBASE'), 'meta')
+
+def get_metadata_git_branch(path, d):
+    try:
+        rev, _ = bb.process.run('git rev-parse --abbrev-ref HEAD', cwd=path)
+    except bb.process.ExecutionError:
+        rev = '<unknown>'
+    return rev.strip()
+
+def get_metadata_git_revision(path, d):
+    try:
+        rev, _ = bb.process.run('git rev-parse HEAD', cwd=path)
+    except bb.process.ExecutionError:
+        rev = '<unknown>'
+    return rev.strip()
+
+def is_layer_modified(path):
+    try:
+        subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
+                                git diff --quiet --no-ext-diff
+                                git diff --quiet --no-ext-diff --cached""" % path,
+                                shell=True,
+                                stderr=subprocess.STDOUT)
+        return ""
+    except subprocess.CalledProcessError as ex:
+        # Silently treat errors as "modified", without checking for the
+        # (expected) return code 1 in a modified git repo. For example, we get
+        # output and a 129 return code when a layer isn't a git repo at all.
+        return " -- modified"
+
+def get_layer_revisions(d):
+    layers = (d.getVar("BBLAYERS") or "").split()
+    revisions = []
+    for i in layers:
+        revisions.append((i, os.path.basename(i), get_metadata_git_branch(i, None).strip(), get_metadata_git_revision(i, None), is_layer_modified(i)))
+    return revisions
diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py
index dc7d2e2..aa06497 100644
--- a/poky/meta/lib/oe/cve_check.py
+++ b/poky/meta/lib/oe/cve_check.py
@@ -163,3 +163,13 @@
             return
 
     output["package"].append(data["package"][0])
+
+def update_symlinks(target_path, link_path):
+    """
+    Update a symbolic link link_path to point to target_path.
+    Remove the link and recreate it if exist and is different.
+    """
+    if link_path != target_path and os.path.exists(target_path):
+        if os.path.exists(os.path.realpath(link_path)):
+            os.remove(link_path)
+        os.symlink(os.path.basename(target_path), link_path)
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index 9034fca..95b915a 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -598,6 +598,8 @@
 
     def Clean(self):
         try:
+            # make sure that patches/series file exists before quilt pop to keep quilt-0.67 happy
+            open(os.path.join(self.dir, "patches","series"), 'a').close()
             self._runcmd(["pop", "-a", "-f"])
             oe.path.remove(os.path.join(self.dir, "patches","series"))
         except Exception:
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 98cf3f2..9e6b411 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -311,7 +311,7 @@
     def _check_for_kernel_modules(self, modules_dir):
         for root, dirs, files in os.walk(modules_dir, topdown=True):
             for name in files:
-                found_ko = name.endswith((".ko", ".ko.gz", ".ko.xz"))
+                found_ko = name.endswith((".ko", ".ko.gz", ".ko.xz", ".ko.zst"))
                 if found_ko:
                     return found_ko
         return False
@@ -328,7 +328,9 @@
         if not os.path.exists(kernel_abi_ver_file):
             bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
 
-        kernel_ver = open(kernel_abi_ver_file).read().strip(' \n')
+        with open(kernel_abi_ver_file) as f:
+            kernel_ver = f.read().strip(' \n')
+
         versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
 
         bb.utils.mkdirhier(versioned_modules_dir)
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 6d010b3..7deafef 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -164,14 +164,14 @@
         """
         Summary:     Check for chaining many CONVERSION_CMDs together
         Expected:    1. core-image-minimal can be built with
-                        ext4.bmap.gz.bz2.lzo.xz.u-boot and also create a
+                        ext4.bmap.gz.bz2.zst.xz.u-boot and also create a
                         sha256sum
                      2. The above image has a valid sha256sum
         Product:     oe-core
         Author:      Tom Rini <trini@konsulko.com>
         """
 
-        conv = "ext4.bmap.gz.bz2.lzo.xz.u-boot"
+        conv = "ext4.bmap.gz.bz2.zst.xz.u-boot"
         features = 'IMAGE_FSTYPES += "%s %s.sha256sum"' % (conv, conv)
         self.write_config(features)
 
@@ -201,7 +201,7 @@
         image_name = 'core-image-minimal'
 
         all_image_types = set(get_bb_var("IMAGE_TYPES", image_name).split())
-        skip_image_types = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst'))
+        skip_image_types = set(('container', 'elf', 'f2fs', 'multiubi', 'tar.zst', 'wic.zst', 'squashfs-lzo'))
         img_types = all_image_types - skip_image_types
 
         config = 'IMAGE_FSTYPES += "%s"\n'\
diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
index baae9b4..83cbd13 100644
--- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -70,3 +70,16 @@
 
         result = bitbake('mc:test:multiconfig-test-parse -c showvar')
         self.assertIn('MCTESTVAR=test2', result.output.splitlines())
+
+    def test_multiconfig_inlayer(self):
+        """
+        Test that a multiconfig from meta-selftest works.
+        """
+
+        config = """
+BBMULTICONFIG = "muslmc"
+"""
+        self.write_config(config)
+
+        # Build a core-image-minimal, only dry run needed to check config is present
+        bitbake('mc:muslmc:bash -n')
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index cd68781..bd84f15 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -129,7 +129,8 @@
     def check_endlines(self, results,  expected_endlines): 
         for line in results.output.splitlines():
             for el in expected_endlines:
-                if line.split() == el.split():
+                if line and line.split()[0] == el.split()[0] and \
+                   ' '.join(sorted(el.split())) in ' '.join(sorted(line.split())):
                     expected_endlines.remove(el)
                     break
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index de74c07..53058df 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -853,7 +853,7 @@
             status, output = qemu.run_serial(cmd)
             self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
             self.assertEqual(output, '4')
-            cmd = "grep UUID= /etc/fstab"
+            cmd = "grep UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba /etc/fstab"
             status, output = qemu.run_serial(cmd)
             self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
             self.assertEqual(output, 'UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba\t/media\text4\tdefaults\t0\t0')
diff --git a/poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch b/poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch
new file mode 100644
index 0000000..ec5b285
--- /dev/null
+++ b/poky/meta/recipes-bsp/efivar/efivar/efisecdb-fix-build-with-musl-libc.patch
@@ -0,0 +1,184 @@
+From cece3ffd5be2f8641eb694513f2b73e5eb97ffd3 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Fri, 28 Jan 2022 12:13:30 +0100
+Subject: [PATCH] efisecdb: fix build with musl libc
+
+Refactor code to use POSIX atexit(3) instead of the GNU specific
+on_exit(3).
+
+Resolves: #197
+Resolves: #202
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+
+Upstream-Status: Backport
+https://github.com/rhboot/efivar/commit/cece3ffd5be2f8641eb694513f2b73e5eb97ffd3
+
+Signed-off-by: Davide Gardenal <davide.gardenal@huawei.com>
+---
+ src/compiler.h |  2 --
+ src/efisecdb.c | 68 +++++++++++++++++++-------------------------------
+ 2 files changed, 26 insertions(+), 44 deletions(-)
+
+diff --git a/src/compiler.h b/src/compiler.h
+index e2f18f0b..d95fb014 100644
+--- a/src/compiler.h
++++ b/src/compiler.h
+@@ -7,8 +7,6 @@
+ #ifndef COMPILER_H_
+ #define COMPILER_H_
+ 
+-#include <sys/cdefs.h>
+-
+ /* GCC version checking borrowed from glibc. */
+ #if defined(__GNUC__) && defined(__GNUC_MINOR__)
+ #  define GNUC_PREREQ(maj,min) \
+diff --git a/src/efisecdb.c b/src/efisecdb.c
+index f8823737..6bd5ad90 100644
+--- a/src/efisecdb.c
++++ b/src/efisecdb.c
+@@ -25,6 +25,10 @@
+ extern char *optarg;
+ extern int optind, opterr, optopt;
+ 
++static efi_secdb_t *secdb = NULL;
++static list_t infiles;
++static list_t actions;
++
+ struct hash_param {
+ 	char *name;
+ 	efi_secdb_type_t algorithm;
+@@ -187,12 +191,11 @@ add_action(list_t *list, action_type_t action_type, const efi_guid_t *owner,
+ }
+ 
+ static void
+-free_actions(int status UNUSED, void *actionsp)
++free_actions(void)
+ {
+-	list_t *actions = (list_t *)actionsp;
+ 	list_t *pos, *tmp;
+ 
+-	for_each_action_safe(pos, tmp, actions) {
++	for_each_action_safe(pos, tmp, &actions) {
+ 		action_t *action = list_entry(pos, action_t, list);
+ 
+ 		list_del(&action->list);
+@@ -202,12 +205,11 @@ free_actions(int status UNUSED, void *actionsp)
+ }
+ 
+ static void
+-free_infiles(int status UNUSED, void *infilesp)
++free_infiles(void)
+ {
+-	list_t *infiles = (list_t *)infilesp;
+ 	list_t *pos, *tmp;
+ 
+-	for_each_ptr_safe(pos, tmp, infiles) {
++	for_each_ptr_safe(pos, tmp, &infiles) {
+ 		ptrlist_t *entry = list_entry(pos, ptrlist_t, list);
+ 
+ 		list_del(&entry->list);
+@@ -216,27 +218,12 @@ free_infiles(int status UNUSED, void *infilesp)
+ }
+ 
+ static void
+-maybe_free_secdb(int status UNUSED, void *voidp)
++maybe_free_secdb(void)
+ {
+-	efi_secdb_t **secdbp = (efi_secdb_t **)voidp;
+-
+-	if (secdbp == NULL || *secdbp == NULL)
++	if (secdb == NULL)
+ 		return;
+ 
+-	efi_secdb_free(*secdbp);
+-}
+-
+-static void
+-maybe_do_unlink(int status, void *filep)
+-{
+-	char **file = (char **)filep;
+-
+-	if (status == 0)
+-		return;
+-	if (file == NULL || *file == NULL)
+-		return;
+-
+-	unlink(*file);
++	efi_secdb_free(secdb);
+ }
+ 
+ static void
+@@ -323,15 +310,6 @@ parse_input_files(list_t *infiles, char **outfile, efi_secdb_t **secdb,
+ 	return status;
+ }
+ 
+-/*
+- * These need to be static globals so that they're not on main's stack when
+- * on_exit() fires.
+- */
+-static efi_secdb_t *secdb = NULL;
+-static list_t infiles;
+-static list_t actions;
+-static char *outfile = NULL;
+-
+ int
+ main(int argc, char *argv[])
+ {
+@@ -351,6 +329,7 @@ main(int argc, char *argv[])
+ 	bool do_sort_data = false;
+ 	bool sort_descending = false;
+ 	int status = 0;
++	char *outfile = NULL;
+ 
+ 	const char sopts[] = ":aAc:dfg:h:i:Lo:rs:t:v?";
+ 	const struct option lopts[] = {
+@@ -376,10 +355,9 @@ main(int argc, char *argv[])
+ 	INIT_LIST_HEAD(&infiles);
+ 	INIT_LIST_HEAD(&actions);
+ 
+-	on_exit(free_actions, &actions);
+-	on_exit(free_infiles, &infiles);
+-	on_exit(maybe_free_secdb, &secdb);
+-	on_exit(maybe_do_unlink, &outfile);
++	atexit(free_actions);
++	atexit(free_infiles);
++	atexit(maybe_free_secdb);
+ 
+ 	/*
+ 	 * parse the command line.
+@@ -587,24 +565,30 @@ main(int argc, char *argv[])
+ 	outfd = open(outfile, flags, 0600);
+ 	if (outfd < 0) {
+ 		char *tmpoutfile = outfile;
+-		if (errno == EEXIST)
+-			outfile = NULL;
++		if (errno != EEXIST)
++			unlink(outfile);
+ 		err(1, "could not open \"%s\"", tmpoutfile);
+ 	}
+ 
+ 	rc = ftruncate(outfd, 0);
+-	if (rc < 0)
++	if (rc < 0) {
++		unlink(outfile);
+ 		err(1, "could not truncate output file \"%s\"", outfile);
++	}
+ 
+ 	void *output;
+ 	size_t size = 0;
+ 	rc = efi_secdb_realize(secdb, &output, &size);
+-	if (rc < 0)
++	if (rc < 0) {
++		unlink(outfile);
+ 		secdb_err(1, "could not realize signature list");
++	}
+ 
+ 	rc = write(outfd, output, size);
+-	if (rc < 0)
++	if (rc < 0) {
++		unlink(outfile);
+ 		err(1, "could not write signature list");
++	}
+ 
+ 	close(outfd);
+ 	xfree(output);
diff --git a/poky/meta/recipes-bsp/efivar/efivar_38.bb b/poky/meta/recipes-bsp/efivar/efivar_38.bb
index 68c4b4b..53fe20a 100644
--- a/poky/meta/recipes-bsp/efivar/efivar_38.bb
+++ b/poky/meta/recipes-bsp/efivar/efivar_38.bb
@@ -10,6 +10,7 @@
 SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \
            file://0001-docs-do-not-build-efisecdb-manpage.patch \
            file://0001-src-Makefile-build-util.c-separately-for-makeguids.patch \
+           file://efisecdb-fix-build-with-musl-libc.patch \
            "
 SRCREV = "1753149d4176ebfb2b135ac0aaf79340bf0e7a93"
 
@@ -36,5 +37,3 @@
 RRECOMMENDS:${PN}:class-target = "kernel-module-efivarfs"
 
 CLEANBROKEN = "1"
-# https://github.com/rhboot/efivar/issues/202
-COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
index c746c2a..36d1035 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
@@ -20,7 +20,7 @@
 
 SRC_URI[sha256sum] = "b73b643a0d5697d1f396d7431448e886dd805668789578e3e1a28277c9528435"
 
-COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
 COMPATIBLE_HOST:armv4 = 'null'
 
 do_configure:linux-gnux32:prepend() {
diff --git a/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb b/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb
index f3a67d9..4f57342 100644
--- a/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb
+++ b/poky/meta/recipes-bsp/pciutils/pciutils_3.8.0.bb
@@ -16,7 +16,7 @@
 
 SRC_URI[sha256sum] = "91edbd0429a84705c9ad156d4ff38ccc724d41ea54c4c5b88e38e996f8a34f05"
 
-inherit multilib_header pkgconfig
+inherit multilib_header pkgconfig update-alternatives
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'hwdb', '', d)}"
 PACKAGECONFIG[hwdb] = "HWDB=yes,HWDB=no,udev"
@@ -59,3 +59,6 @@
 SUMMARY:${PN}-ids = "PCI utilities - device ID database"
 DESCRIPTION:${PN}-ids = "Package providing the PCI device ID database for pciutils."
 RDEPENDS:${PN} += "${PN}-ids"
+
+ALTERNATIVE:${PN} = "lspci"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-avoid-start-failure-with-bind-user.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-avoid-start-failure-with-bind-user.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-avoid-start-failure-with-bind-user.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-named-lwresd-V-and-start-log-hide-build-options.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/0001-named-lwresd-V-and-start-log-hide-build-options.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind-ensure-searching-for-json-headers-searches-sysr.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/bind-ensure-searching-for-json-headers-searches-sysr.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.3/bind9
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/bind9
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/bind9
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/conf.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/conf.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/conf.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.3/generate-rndc-key.sh
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/generate-rndc-key.sh
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/generate-rndc-key.sh
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/init.d-add-support-for-read-only-rootfs.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/init.d-add-support-for-read-only-rootfs.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/init.d-add-support-for-read-only-rootfs.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.3/make-etc-initd-bind-stop-work.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/make-etc-initd-bind-stop-work.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/make-etc-initd-bind-stop-work.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.2/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.3/named.service
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.18.2/named.service
rename to poky/meta/recipes-connectivity/bind/bind-9.18.3/named.service
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.2.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.3.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/bind/bind_9.18.2.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.3.bb
index 1c77ace..b511b77 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.2.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.3.bb
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "2e4b38779bba0a23ee634fdf7c525fd9794c41d692bfd83cda25823a2a3ed969"
+SRC_URI[sha256sum] = "0ad8da773bd93cba0ef66cc81999698ebdf9c3e51faed5e5c8c1eb75cad2ae6f"
 
 UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
 # follow the ESV versions divisible by 2
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb
similarity index 75%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb
index becbaa9..3e01c70 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb
@@ -4,7 +4,7 @@
            file://0001-libc-compat.h-add-musl-workaround.patch \
            "
 
-SRC_URI[sha256sum] = "6e384f1b42c75e1a9daac57866da37dcff909090ba86eb25a6e764da7893660e"
+SRC_URI[sha256sum] = "5ba3d464d51c8c283550d507ffac3d10f7aec587b7c66b0ccb6950643646389e"
 
 # CFLAGS are computed in Makefile and reference CCOPTS
 #
diff --git a/poky/meta/recipes-connectivity/iw/iw_5.16.bb b/poky/meta/recipes-connectivity/iw/iw_5.19.bb
similarity index 90%
rename from poky/meta/recipes-connectivity/iw/iw_5.16.bb
rename to poky/meta/recipes-connectivity/iw/iw_5.19.bb
index cf176a3..a19ae30 100644
--- a/poky/meta/recipes-connectivity/iw/iw_5.16.bb
+++ b/poky/meta/recipes-connectivity/iw/iw_5.19.bb
@@ -14,7 +14,7 @@
            file://separate-objdir.patch \
 "
 
-SRC_URI[sha256sum] = "9c91f2560b258d9660e656ad37fa5bd100ac255865dcfb26076a576b10d8f3a7"
+SRC_URI[sha256sum] = "2a44676d28a87bbc232903d5d573e7618e4fae0cea3a1aff067a26fa66652b75"
 
 inherit pkgconfig
 
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch b/poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch
new file mode 100644
index 0000000..0249d41
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch
@@ -0,0 +1,55 @@
+From 770aea88c3888cc5cb3ebc94ffcef706c68bc1d2 Mon Sep 17 00:00:00 2001
+From: Tomas Mraz <tomas@openssl.org>
+Date: Wed, 1 Jun 2022 12:06:33 +0200
+Subject: [PATCH] Update expired SCT issuer certificate
+
+Fixes #15179
+
+Reviewed-by: Matt Caswell <matt@openssl.org>
+Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
+(Merged from https://github.com/openssl/openssl/pull/18444)
+
+Upstream-Status: Backport
+[Fixes ptest failures in OE-Core]
+---
+ test/certs/embeddedSCTs1_issuer.pem | 30 ++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/test/certs/embeddedSCTs1_issuer.pem b/test/certs/embeddedSCTs1_issuer.pem
+index 1fa449d5a098..6aa9455f09ed 100644
+--- a/test/certs/embeddedSCTs1_issuer.pem
++++ b/test/certs/embeddedSCTs1_issuer.pem
+@@ -1,18 +1,18 @@
+ -----BEGIN CERTIFICATE-----
+-MIIC0DCCAjmgAwIBAgIBADANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJHQjEk
++MIIC0jCCAjugAwIBAgIBADANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJHQjEk
+ MCIGA1UEChMbQ2VydGlmaWNhdGUgVHJhbnNwYXJlbmN5IENBMQ4wDAYDVQQIEwVX
+-YWxlczEQMA4GA1UEBxMHRXJ3IFdlbjAeFw0xMjA2MDEwMDAwMDBaFw0yMjA2MDEw
+-MDAwMDBaMFUxCzAJBgNVBAYTAkdCMSQwIgYDVQQKExtDZXJ0aWZpY2F0ZSBUcmFu
+-c3BhcmVuY3kgQ0ExDjAMBgNVBAgTBVdhbGVzMRAwDgYDVQQHEwdFcncgV2VuMIGf
+-MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVimhTYhCicRmTbneDIRgcKkATxtB7
+-jHbrkVfT0PtLO1FuzsvRyY2RxS90P6tjXVUJnNE6uvMa5UFEJFGnTHgW8iQ8+EjP
+-KDHM5nugSlojgZ88ujfmJNnDvbKZuDnd/iYx0ss6hPx7srXFL8/BT/9Ab1zURmnL
+-svfP34b7arnRsQIDAQABo4GvMIGsMB0GA1UdDgQWBBRfnYgNyHPmVNT4DdjmsMEk
+-tEfDVTB9BgNVHSMEdjB0gBRfnYgNyHPmVNT4DdjmsMEktEfDVaFZpFcwVTELMAkG
+-A1UEBhMCR0IxJDAiBgNVBAoTG0NlcnRpZmljYXRlIFRyYW5zcGFyZW5jeSBDQTEO
+-MAwGA1UECBMFV2FsZXMxEDAOBgNVBAcTB0VydyBXZW6CAQAwDAYDVR0TBAUwAwEB
+-/zANBgkqhkiG9w0BAQUFAAOBgQAGCMxKbWTyIF4UbASydvkrDvqUpdryOvw4BmBt
+-OZDQoeojPUApV2lGOwRmYef6HReZFSCa6i4Kd1F2QRIn18ADB8dHDmFYT9czQiRy
+-f1HWkLxHqd81TbD26yWVXeGJPE3VICskovPkQNJ0tU4b03YmnKliibduyqQQkOFP
+-OwqULg==
++YWxlczEQMA4GA1UEBxMHRXJ3IFdlbjAgFw0yMjA2MDExMDM4MDJaGA8yMTIyMDUw
++ODEwMzgwMlowVTELMAkGA1UEBhMCR0IxJDAiBgNVBAoTG0NlcnRpZmljYXRlIFRy
++YW5zcGFyZW5jeSBDQTEOMAwGA1UECBMFV2FsZXMxEDAOBgNVBAcTB0VydyBXZW4w
++gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANWKaFNiEKJxGZNud4MhGBwqQBPG
++0HuMduuRV9PQ+0s7UW7Oy9HJjZHFL3Q/q2NdVQmc0Tq68xrlQUQkUadMeBbyJDz4
++SM8oMczme6BKWiOBnzy6N+Yk2cO9spm4Od3+JjHSyzqE/HuytcUvz8FP/0BvXNRG
++acuy98/fhvtqudGxAgMBAAGjga8wgawwHQYDVR0OBBYEFF+diA3Ic+ZU1PgN2Oaw
++wSS0R8NVMH0GA1UdIwR2MHSAFF+diA3Ic+ZU1PgN2OawwSS0R8NVoVmkVzBVMQsw
++CQYDVQQGEwJHQjEkMCIGA1UEChMbQ2VydGlmaWNhdGUgVHJhbnNwYXJlbmN5IENB
++MQ4wDAYDVQQIEwVXYWxlczEQMA4GA1UEBxMHRXJ3IFdlboIBADAMBgNVHRMEBTAD
++AQH/MA0GCSqGSIb3DQEBCwUAA4GBAD0aYh9OkFYfXV7kBfhrtD0PJG2U47OV/1qq
+++uFpqB0S1WO06eJT0pzYf1ebUcxjBkajbJZm/FHT85VthZ1lFHsky87aFD8XlJCo
++2IOhKOkvvWKPUdFLoO/ZVXqEVKkcsS1eXK1glFvb07eJZya3JVG0KdMhV2YoDg6c
++Doud4XrO
+ -----END CERTIFICATE-----
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb
index fd88ae8..35a6275 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.0.3.bb
@@ -12,6 +12,7 @@
            file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
            file://afalg.patch \
            file://0001-Configure-do-not-tweak-mips-cflags.patch \
+           file://770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch \
            "
 
 SRC_URI:append:class-nativesdk = " \
diff --git a/poky/meta/recipes-core/dbus/dbus_1.14.0.bb b/poky/meta/recipes-core/dbus/dbus_1.14.0.bb
index 7598c45..0046b9f 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.14.0.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.14.0.bb
@@ -24,6 +24,7 @@
                 --enable-tests \
                 --enable-checks \
                 --enable-asserts \
+                --runstatedir=/run \
                 "
 EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 
@@ -131,7 +132,7 @@
 		sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh
 		install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1
 		install -d ${D}${sysconfdir}/default/volatiles
-		echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
+		echo "d messagebus messagebus 0755 /run/dbus none" \
 		     > ${D}${sysconfdir}/default/volatiles/99_dbus
 	fi
 
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 816b790..fb50fff 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From d52b1b530c5d8a1e70ae45d6e2139e9d3f25207f Mon Sep 17 00:00:00 2001
+From a30eb17c20e070124b55523d86729348f2929f95 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 11 Mar 2016 15:35:55 +0000
 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb
similarity index 95%
rename from poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb
rename to poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb
index c9ccedd..c4a8a4b 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.1.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb
@@ -19,7 +19,7 @@
            "
 SRC_URI:append:class-native = " file://relocate-modules.patch"
 
-SRC_URI[sha256sum] = "c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2"
+SRC_URI[sha256sum] = "78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de"
 
 # Find any meson cross files in FILESPATH that are relevant for the current
 # build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/poky/meta/recipes-core/glibc/glibc_2.35.bb b/poky/meta/recipes-core/glibc/glibc_2.35.bb
index 6ea5b1e..96fe39c 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.35.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.35.bb
@@ -16,7 +16,7 @@
 # Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853
 CVE_CHECK_IGNORE += "CVE-2019-1010025"
 
-DEPENDS += "gperf-native bison-native make-native"
+DEPENDS += "gperf-native bison-native"
 
 NATIVESDKFIXES ?= ""
 NATIVESDKFIXES:class-nativesdk = "\
diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb
similarity index 96%
rename from poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb
rename to poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb
index d5c05ff..1251ddf 100644
--- a/poky/meta/recipes-core/initscripts/init-system-helpers_1.62.bb
+++ b/poky/meta/recipes-core/initscripts/init-system-helpers_1.63.bb
@@ -16,7 +16,7 @@
 LICENSE = "BSD-3-Clause & GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee2b1830fcfead84d07bc060ec43e072"
 
-SRCREV = "bbe4b508f3216cdc124683ba449e2295974a6b4a"
+SRCREV = "af94bae943a80954af7fd486c1cab3f900e0975f"
 SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/kbd/kbd_2.4.0.bb b/poky/meta/recipes-core/kbd/kbd_2.5.0.bb
similarity index 90%
rename from poky/meta/recipes-core/kbd/kbd_2.4.0.bb
rename to poky/meta/recipes-core/kbd/kbd_2.5.0.bb
index 4b23f1a..c0317a5 100644
--- a/poky/meta/recipes-core/kbd/kbd_2.4.0.bb
+++ b/poky/meta/recipes-core/kbd/kbd_2.5.0.bb
@@ -3,7 +3,7 @@
 DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps."
 # everything minus console-fonts is GPL-2.0-or-later
 LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 inherit autotools gettext pkgconfig
 
@@ -16,7 +16,7 @@
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \
            "
 
-SRC_URI[sha256sum] = "55f0740458cfd3a84e775e50d7e8b92dc01846db1edad8e2411ccc293ece9b9f"
+SRC_URI[sha256sum] = "ad95964a4dede55f9239dd63b455fa4498cf3db3a0075ccd1d65a9f0e622a0fd"
 
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
                   "
diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb
index c8c1cbf..18af89b 100644
--- a/poky/meta/recipes-core/meta/cve-update-db-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb
@@ -15,6 +15,7 @@
 NVDCVE_URL ?= "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-"
 # CVE database update interval, in seconds. By default: once a day (24*60*60).
 # Use 0 to force the update
+# Use a negative value to skip the update
 CVE_DB_UPDATE_INTERVAL ?= "86400"
 
 python () {
@@ -51,8 +52,9 @@
     try:
         import time
         update_interval = int(d.getVar("CVE_DB_UPDATE_INTERVAL"))
-        if (update_interval < 0):
-            update_interval = 0
+        if update_interval < 0:
+            bb.note("CVE database update skipped")
+            return
         if time.time() - os.path.getmtime(db_file) < update_interval:
             bb.debug(2, "Recently updated, skipping")
             return
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch
deleted file mode 100644
index 23366b4..0000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning-1.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From b0a0b7b605aeb8106e7b50d1efeb746f401498cc Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Thu, 24 Mar 2022 20:04:35 +0800
-Subject: [PATCH] BaseTools: fix gcc12 warning
-
-Sdk/C/LzmaEnc.c: In function ?LzmaEnc_CodeOneMemBlock?:
-Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ?outStream? in ?*p.rc.outStream? [-Werror=dangling-pointer=]
- 2828 |   p->rc.outStream = &outStream.vt;
-      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
-Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here
- 2811 |   CLzmaEnc_SeqOutStreamBuf outStream;
-      |                            ^~~~~~~~~
-Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here
-Sdk/C/LzmaEnc.c:2828:19: error: storing the address of local variable ?outStream? in ?*(CLzmaEnc *)pp.rc.outStream? [-Werror=dangling-pointer=]
- 2828 |   p->rc.outStream = &outStream.vt;
-      |   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
-Sdk/C/LzmaEnc.c:2811:28: note: ?outStream? declared here
- 2811 |   CLzmaEnc_SeqOutStreamBuf outStream;
-      |                            ^~~~~~~~~
-Sdk/C/LzmaEnc.c:2811:28: note: ?pp? declared here
-cc1: all warnings being treated as errors
-
-Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/85021f8cf22d1bd4114803c6c610dea5ef0059f1]
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Reviewed-by: Bob Feng <bob.c.feng@intel.com>
----
- BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
-index 4e9b499f8d..4b9f5fa692 100644
---- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
-+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
-@@ -2825,12 +2825,13 @@ SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, BoolInt reInit,
- 

-   nowPos64 = p->nowPos64;

-   RangeEnc_Init(&p->rc);

--  p->rc.outStream = &outStream.vt;

- 

-   if (desiredPackSize == 0)

-     return SZ_ERROR_OUTPUT_EOF;

- 

-+  p->rc.outStream = &outStream.vt;

-   res = LzmaEnc_CodeOneBlock(p, desiredPackSize, *unpackSize);

-+  p->rc.outStream = NULL;

- 

-   *unpackSize = (UInt32)(p->nowPos64 - nowPos64);

-   *destLen -= outStream.rem;

--- 
-2.36.1
-
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch
deleted file mode 100644
index 91c0164..0000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-fix-gcc12-warning.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 2435c17e56652479315853cec5b91fb0ea0911a3 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Thu, 24 Mar 2022 20:04:34 +0800
-Subject: [PATCH] BaseTools: fix gcc12 warning
-
-GenFfs.c:545:5: error: pointer ?InFileHandle? used after ?fclose? [-Werror=use-after-free]
-  545 |     Error(NULL, 0, 4001, "Resource", "memory cannot be allocated  of %s", InFileHandle);
-      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-GenFfs.c:544:5: note: call to ?fclose? here
-  544 |     fclose (InFileHandle);
-      |     ^~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Backport [https://github.com/tianocore/edk2/commit/7b005f344e533cd913c3ca05b266f9872df886d1]
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Reviewed-by: Bob Feng <bob.c.feng@intel.com>
----
- BaseTools/Source/C/GenFfs/GenFfs.c | 2 +-
- BaseTools/Source/C/GenSec/GenSec.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/BaseTools/Source/C/GenFfs/GenFfs.c b/BaseTools/Source/C/GenFfs/GenFfs.c
-index 949025c333..d78d62ab36 100644
---- a/BaseTools/Source/C/GenFfs/GenFfs.c
-+++ b/BaseTools/Source/C/GenFfs/GenFfs.c
-@@ -542,7 +542,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment)
-   PeFileBuffer = (UINT8 *) malloc (PeFileSize);

-   if (PeFileBuffer == NULL) {

-     fclose (InFileHandle);

--    Error(NULL, 0, 4001, "Resource", "memory cannot be allocated  of %s", InFileHandle);

-+    Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile);

-     return EFI_OUT_OF_RESOURCES;

-   }

-   fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle);

-diff --git a/BaseTools/Source/C/GenSec/GenSec.c b/BaseTools/Source/C/GenSec/GenSec.c
-index d54a4f9e0a..b1d05367ec 100644
---- a/BaseTools/Source/C/GenSec/GenSec.c
-+++ b/BaseTools/Source/C/GenSec/GenSec.c
-@@ -1062,7 +1062,7 @@ GetAlignmentFromFile(char *InFile, UINT32 *Alignment)
-   PeFileBuffer = (UINT8 *) malloc (PeFileSize);

-   if (PeFileBuffer == NULL) {

-     fclose (InFileHandle);

--    Error(NULL, 0, 4001, "Resource", "memory cannot be allocated  of %s", InFileHandle);

-+    Error(NULL, 0, 4001, "Resource", "memory cannot be allocated for %s", InFile);

-     return EFI_OUT_OF_RESOURCES;

-   }

-   fread (PeFileBuffer, sizeof (UINT8), PeFileSize, InFileHandle);

--- 
-2.36.1
-
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 84e3360..aac30ea 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -25,12 +25,10 @@
            file://0003-ovmf-Update-to-latest.patch \
            file://0005-debug-prefix-map.patch \
            file://0006-reproducible.patch \
-           file://0001-BaseTools-fix-gcc12-warning.patch \
-           file://0001-BaseTools-fix-gcc12-warning-1.patch \
            "
 
-PV = "edk2-stable202202"
-SRCREV = "b24306f15daa2ff8510b06702114724b33895d3c"
+PV = "edk2-stable202205"
+SRCREV = "16779ede2d366bfc6b702e817356ccf43425bcc8"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
 
 inherit deploy
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index 9523aad..772b86b 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -129,7 +129,6 @@
     libusb1 \
     libxml2 \
     lsof \
-    lzo \
     man \
     man-pages \
     mdadm \
diff --git a/poky/meta/recipes-core/seatd/seatd_0.6.4.bb b/poky/meta/recipes-core/seatd/seatd_0.7.0.bb
similarity index 89%
rename from poky/meta/recipes-core/seatd/seatd_0.6.4.bb
rename to poky/meta/recipes-core/seatd/seatd_0.7.0.bb
index 601736a..59ef6ad 100644
--- a/poky/meta/recipes-core/seatd/seatd_0.6.4.bb
+++ b/poky/meta/recipes-core/seatd/seatd_0.7.0.bb
@@ -6,9 +6,9 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a"
 
-SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;nobranch=1 \
+SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \
            file://init"
-SRCREV = "df13d03f9cfd0dc0c2b3298cd0e5eb4e4a10835e"
+SRCREV = "a803ba0502cccf147eec7fbcacd11c5b8643c0e0"
 S = "${WORKDIR}/git"
 
 inherit meson pkgconfig update-rc.d
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_250.5.bb b/poky/meta/recipes-core/systemd/systemd-boot_251.2.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot_250.5.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_251.2.bb
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 3091052..b8dbe22 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,8 +14,10 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "4a31fa2fb040005b73253da75cf84949b8485175"
-SRCBRANCH = "v250-stable"
-SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH}"
+SRCREV = "253052686cbd840ac69030d31c4b186af23aba4c"
+SRCBRANCH = "v251-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
+           file://38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch \
+"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-pass-correct-parameters-to-getdents64.patch b/poky/meta/recipes-core/systemd/systemd/0001-pass-correct-parameters-to-getdents64.patch
index 028f50b..9ebff98 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-pass-correct-parameters-to-getdents64.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-pass-correct-parameters-to-getdents64.patch
@@ -1,4 +1,4 @@
-From 8c8899b4641125cfe8e7baee32e5c5f452545d2c Mon Sep 17 00:00:00 2001
+From dab02796780f00d689cc1c7a0ba81abe7c5f28d0 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 21 Jan 2022 15:15:11 -0800
 Subject: [PATCH] pass correct parameters to getdents64
@@ -12,16 +12,16 @@
         n = getdents64(fd, &buffer, sizeof(buffer));
                            ^~~~~~~
 
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [musl specific]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
+Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
 ---
  src/basic/recurse-dir.c | 2 +-
  src/basic/stat-util.c   | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
-index efa1797b7b..797285e3be 100644
+index efa1797b7b..03ff10ebe9 100644
 --- a/src/basic/recurse-dir.c
 +++ b/src/basic/recurse-dir.c
 @@ -54,7 +54,7 @@ int readdir_all(int dir_fd,
@@ -29,7 +29,7 @@
                  assert(bs > de->buffer_size);
  
 -                n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
-+                n = getdents64(dir_fd, de->buffer + de->buffer_size, bs - de->buffer_size);
++                n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size);
                  if (n < 0)
                          return -errno;
                  if (n == 0)
@@ -46,3 +46,6 @@
          if (n < 0)
                  return -errno;
  
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch b/poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch
deleted file mode 100644
index 8567283..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-resolve-Use-sockaddr-pointer-type-for-bind.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From ad1428f29196bcc88ae382ee67ff705928e2be24 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 May 2022 20:25:37 -0700
-Subject: [PATCH] resolve: Use sockaddr pointer type for bind()
-
-bind() expects sockaddr* but SERVER_ADDRESS is sockaddr_in type struct
-
-Fixes errors with clang e.g.
-
-../git/src/resolve/test-resolved-stream.c:112:32: error: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types]
-        assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0);
-                               ^~~~~~~~~~~~~~~
-../git/src/resolve/test-resolved-stream.c:251:39: error: incompatible pointer types passing 'struct sockaddr_in *' to parameter of type 'const struct sockaddr *' [-Werror,-Wincompatible-pointer-types]
-                r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS));
-
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/23281]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/resolve/test-resolved-stream.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/resolve/test-resolved-stream.c b/src/resolve/test-resolved-stream.c
-index f12c729e50..504b532002 100644
---- a/src/resolve/test-resolved-stream.c
-+++ b/src/resolve/test-resolved-stream.c
-@@ -109,7 +109,7 @@ static void *tcp_dns_server(void *p) {
- 
-         assert_se((bindfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0);
-         assert_se(setsockopt(bindfd, SOL_SOCKET, SO_REUSEADDR, &(int){1}, sizeof(int)) >= 0);
--        assert_se(bind(bindfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0);
-+        assert_se(bind(bindfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS)) >= 0);
-         assert_se(listen(bindfd, 1) >= 0);
-         assert_se((acceptfd = accept(bindfd, NULL, NULL)) >= 0);
-         server_handle(acceptfd);
-@@ -248,7 +248,7 @@ static void test_dns_stream(bool tls) {
-         assert_se((clientfd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0)) >= 0);
- 
-         for (int i = 0; i < 100; i++) {
--                r = connect(clientfd, &SERVER_ADDRESS, sizeof(SERVER_ADDRESS));
-+                r = connect(clientfd, (struct sockaddr*)&SERVER_ADDRESS, sizeof(SERVER_ADDRESS));
-                 if (r >= 0)
-                         break;
-                 usleep(EVENT_TIMEOUT_USEC / 100);
--- 
-2.36.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch b/poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch
new file mode 100644
index 0000000..2bb9565
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch
@@ -0,0 +1,32 @@
+From d6e2c2d34d336398f5948a8b731fefff3dc0ff12 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Thu, 2 Jun 2022 20:49:46 +0200
+Subject: [PATCH] shared/utmp-wtmp: fix build without utmp
+
+Commit 16618332388442f2f1c3e52b0a9fde00121564a3 changed a function to
+add an extra argument. The data types used when building without utmp
+missed the change.
+
+Upstream-Status: Backport [d6e2c2d34d336398f5948a8b731fefff3dc0ff12]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ src/shared/utmp-wtmp.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/shared/utmp-wtmp.h b/src/shared/utmp-wtmp.h
+index 36e4203b4f..188d011fdd 100644
+--- a/src/shared/utmp-wtmp.h
++++ b/src/shared/utmp-wtmp.h
+@@ -59,7 +59,7 @@ static inline int utmp_wall(
+                 const char *message,
+                 const char *username,
+                 const char *origin_tty,
+-                bool (*match_tty)(const char *tty, void *userdata),
++                bool (*match_tty)(const char *tty, bool is_local, void *userdata),
+                 void *userdata) {
+         return 0;
+ }
+-- 
+2.36.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch b/poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch
new file mode 100644
index 0000000..2449023
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch
@@ -0,0 +1,41 @@
+From 38c87ca2ab96d085158485ecfc46c7cb6af0f166 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Fri, 3 Jun 2022 09:32:02 +0200
+Subject: [PATCH] sha256: fix compilation on efi-ia32
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+/usr/bin/gcc -c ../src/fundamental/sha256.c -o src/boot/efi/sha256.c.o -Wno-format-signedness -Wno-missing-field-initializers -Wno-unused-parameter -Wdate-time -Wendif-labels -Werror=format=2 -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=overflow -Werror=override-init -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=undef -Wfloat-equal -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-prototypes -Wsuggest-attribute=noreturn -Wunused-function -Wwrite-strings -Wno-unused-result -fno-stack-protector -fno-strict-aliasing -fpic -fwide-exec-charset=UCS2 -Wall -Wextra -Wsign-compare -nostdlib -std=gnu99 -ffreestanding -fshort-wchar -fvisibility=hidden -isystem /usr/include/efi -isystem /usr/include/efi/ia32 -I /builddir/build/BUILD/systemd-stable-250.7/src/fundamental -DSD_BOOT -DGNU_EFI_USE_MS_ABI -include src/boot/efi/efi_config.h -include version.h -mno-sse -mno-mmx -flto -O2 -flto=auto
+../src/fundamental/sha256.c: In function ‘sha256_finish_ctx’:
+../src/fundamental/sha256.c:61:25: error: ‘false’ undeclared (first use in this function)
+   61 | # define UNALIGNED_P(p) false
+      |                         ^~~~~
+../src/fundamental/sha256.c:136:21: note: in expansion of macro ‘UNALIGNED_P’
+  136 |                 if (UNALIGNED_P(resbuf))
+      |                     ^~~~~~~~~~~
+../src/fundamental/sha256.c:32:1: note: ‘false’ is defined in header ‘<stdbool.h>’; did you forget to ‘#include <stdbool.h>’?
+   31 | #include "sha256.h"
+  +++ |+#include <stdbool.h>
+   32 |
+...
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/fundamental/sha256.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/fundamental/sha256.c b/src/fundamental/sha256.c
+index 67d83b5f1cd6..f08959479643 100644
+--- a/src/fundamental/sha256.c
++++ b/src/fundamental/sha256.c
+@@ -60,7 +60,7 @@
+ #  define UNALIGNED_P(p) (((size_t) p) % sizeof(uint32_t) != 0)
+ # endif
+ #else
+-# define UNALIGNED_P(p) false
++# define UNALIGNED_P(p) sd_false
+ #endif
+ 
+ /* This array contains the bytes used to pad the buffer to the next
diff --git a/poky/meta/recipes-core/systemd/systemd_250.5.bb b/poky/meta/recipes-core/systemd/systemd_251.2.bb
similarity index 98%
rename from poky/meta/recipes-core/systemd/systemd_250.5.bb
rename to poky/meta/recipes-core/systemd/systemd_251.2.bb
index 006b2f8..8370bec 100644
--- a/poky/meta/recipes-core/systemd/systemd_250.5.bb
+++ b/poky/meta/recipes-core/systemd/systemd_251.2.bb
@@ -24,7 +24,7 @@
            file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0003-implment-systemd-sysv-install-for-OE.patch \
            file://0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \
-           file://0001-resolve-Use-sockaddr-pointer-type-for-bind.patch \
+           file://0001-shared-utmp-wtmp-fix-build-without-utmp.patch \
            "
 
 # patches needed by musl
@@ -238,6 +238,9 @@
                   -Dnologin-path=${base_sbindir}/nologin \
                   -Dumount-path=${base_bindir}/umount"
 
+# The 60 seconds is watchdog's default vaule.
+WATCHDOG_TIMEOUT ??= "60"
+
 do_install() {
 	meson_do_install
 	install -d ${D}/${base_sbindir}
@@ -337,6 +340,11 @@
 
 	# add a profile fragment to disable systemd pager with busybox less
 	install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
+
+    if [ -n "${WATCHDOG_TIMEOUT}" ]; then
+        sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \
+            ${D}/${sysconfdir}/systemd/system.conf
+    fi
 }
 
 python populate_packages:prepend (){
diff --git a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
index 5ba66e9..c8b773b 100644
--- a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -6,6 +6,7 @@
 
 BASE_INIT="`readlink -f "@base_sbindir@/init"`"
 INIT_SYSTEMD="@systemd_unitdir@/systemd"
+MOUNT_BASE="@MOUNT_BASE@"
 
 if [ "x$BASE_INIT" = "x$INIT_SYSTEMD" ];then
     # systemd as init uses systemd-mount to mount block devices
@@ -40,7 +41,7 @@
 
     # Skip already mounted partitions
     if [ -f /run/systemd/transient/run-media-$name.mount ]; then
-        logger "mount.sh/automount" "/run/media/$name already mounted"
+        logger "mount.sh/automount" "$MOUNT_BASE/$name already mounted"
         return
     fi
 
@@ -53,7 +54,7 @@
         grep "^[[:space:]]*$tmp" /etc/fstab && return
     done
 
-    [ -d "/run/media/$name" ] || mkdir -p "/run/media/$name"
+    [ -d "$MOUNT_BASE/$name" ] || mkdir -p "$MOUNT_BASE/$name"
 
     MOUNT="$MOUNT -o silent"
 
@@ -70,12 +71,12 @@
         ;;
     esac
 
-    if ! $MOUNT --no-block -t auto $DEVNAME "/run/media/$name"
+    if ! $MOUNT --no-block -t auto $DEVNAME "$MOUNT_BASE/$name"
     then
-        #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!"
-        rm_dir "/run/media/$name"
+        #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!"
+        rm_dir "$MOUNT_BASE/$name"
     else
-        logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful"
+        logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful"
         touch "/tmp/.automount-$name"
     fi
 }
@@ -93,7 +94,7 @@
 	# configured in fstab
 	grep -q "^$DEVNAME " /proc/mounts && return
 
-	! test -d "/run/media/$name" && mkdir -p "/run/media/$name"
+	! test -d "$MOUNT_BASE/$name" && mkdir -p "$MOUNT_BASE/$name"
 	# Silent util-linux's version of mounting auto
 	if [ "x`readlink $MOUNT`" = "x/bin/mount.util-linux" ] ;
 	then
@@ -113,12 +114,12 @@
 		;;
 	esac
 
-	if ! $MOUNT -t auto $DEVNAME "/run/media/$name"
+	if ! $MOUNT -t auto $DEVNAME "$MOUNT_BASE/$name"
 	then
-		#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/run/media/$name\" failed!"
-		rm_dir "/run/media/$name"
+		#logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"$MOUNT_BASE/$name\" failed!"
+		rm_dir "$MOUNT_BASE/$name"
 	else
-		logger "mount.sh/automount" "Auto-mount of [/run/media/$name] successful"
+		logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful"
 		touch "/tmp/.automount-$name"
 	fi
 }
@@ -157,5 +158,5 @@
 
     # Remove empty directories from auto-mounter
     name="`basename "$DEVNAME"`"
-    test -e "/tmp/.automount-$name" && rm_dir "/run/media/$name"
+    test -e "/tmp/.automount-$name" && rm_dir "$MOUNT_BASE/$name"
 fi
diff --git a/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb b/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb
index 7da0437..2b908ac 100644
--- a/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb
+++ b/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb
@@ -15,6 +15,7 @@
 
 S = "${WORKDIR}"
 
+MOUNT_BASE = "/run/media"
 
 do_install() {
     install -d ${D}${sysconfdir}/udev/rules.d
@@ -31,6 +32,7 @@
     install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
     sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
     sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
+    sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
 
     install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
 }
diff --git a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb
index 95c25e3..1d94dd1 100644
--- a/poky/meta/recipes-devtools/apt/apt_2.4.5.bb
+++ b/poky/meta/recipes-devtools/apt/apt_2.4.5.bb
@@ -31,8 +31,14 @@
 # the package is taken from snapshots.debian.org; that source is static and goes stale
 # so we check the latest upstream from a directory that does get updated
 UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
+# apt seems to follow a peculiar version policy, where every *other* even version
+# is considered stable, e.g. 1.0, 1.4, 1.8, 2.2, 2.6, etc. As there is no way
+# to express 'divisible by 4 plus 2' in regex (that I know of), let's hardcode a few.
+UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>((2\.2)|(2\.6)|(3\.0)|(3\.4)|(3\.8)|(4\.2))(\.\d+)+)\.tar"
+# needs be marked as unknown until 2.6 is out
+UPSTREAM_VERSION_UNKNOWN = "1"
 
-inherit cmake perlnative bash-completion upstream-version-is-even useradd
+inherit cmake perlnative bash-completion useradd
 
 # User is added to allow apt to drop privs, will runtime warn without
 USERADD_PACKAGES = "${PN}"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb
similarity index 93%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb
index 4ab486c..f5120d3 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.bb
@@ -13,12 +13,12 @@
     file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \
 "
 SECTION = "base"
-DEPENDS = "lzo util-linux zlib"
+DEPENDS = "util-linux zlib"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
            "
-SRCREV = "31458c9c81935abbed010221261897273a98d2c1"
+SRCREV = "f9e303584272b81b05b926a0cc9010f43af12a03"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= " \
@@ -27,11 +27,12 @@
     python \
     crypto-builtin \
 "
-PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
+PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, python3-sphinx-native"
 PACKAGECONFIG[programs] = "--enable-programs,--disable-programs"
 PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs"
 PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned"
 PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native"
+PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
 PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
 PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev"
 
diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.6.bb b/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb
similarity index 75%
rename from poky/meta/recipes-devtools/ccache/ccache_4.6.bb
rename to poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb
index f019679..0d6471d 100644
--- a/poky/meta/recipes-devtools/ccache/ccache_4.6.bb
+++ b/poky/meta/recipes-devtools/ccache/ccache_4.6.1.bb
@@ -7,12 +7,14 @@
 SECTION = "devel"
 
 LICENSE = "GPL-3.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=ff5327dc93e2b286c931dda3d6079da9"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=7a19377a02749d8a1281ed608169b0ee"
 
 DEPENDS = "zstd"
 
-SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "73a1767ac6b7c0404a1a55f761a746d338e702883c7137fbf587023062258625"
+SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \
+           file://0001-xxhash.h-Fix-build-with-gcc-12.patch \
+"
+SRC_URI[sha256sum] = "59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc"
 
 UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
 
diff --git a/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch b/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch
new file mode 100644
index 0000000..4c2623e
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch
@@ -0,0 +1,39 @@
+From cfde5ba7d10ae1e9d0c259dd1e7027e9bad8f83c Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 6 Jun 2022 17:53:20 +0800
+Subject: [PATCH] xxhash.h: Fix build with gcc-12
+
+Remove inline attribute to fix below build failure:
+  | /buildarea/tmp/work/core2-64-poky-linux/ccache/4.6.1-r0/ccache-4.6.1/src/third_party/xxhash.h:3932:1: error: inlining failed in call to 'always_inline' 'XXH3_accumulate_512_sse2': function not considered for inlining
+  3932 | XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc,
+       | ^~~~~~~~~~~~~~~~~~~~~~~~
+  /buildarea/tmp/work/core2-64-poky-linux/ccache/4.6.1-r0/ccache-4.6.1/src/third_party/xxhash.h:4369:9: note: called from here
+  4369 |         f_acc512(acc,
+       |         ^~~~~~~~~~~~~
+  4370 |                  in,
+       |                  ~~~
+  4371 |                  secret + n*XXH_SECRET_CONSUME_RATE);
+
+Upstream-Status: Submitted [https://github.com/ccache/ccache/pull/1089]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/third_party/xxhash.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/xxhash.h b/src/third_party/xxhash.h
+index 08ab794..c754e99 100644
+--- a/src/third_party/xxhash.h
++++ b/src/third_party/xxhash.h
+@@ -1501,7 +1501,7 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size)
+ #  define XXH_NO_INLINE static
+ /* enable inlining hints */
+ #elif defined(__GNUC__) || defined(__clang__)
+-#  define XXH_FORCE_INLINE static __inline__ __attribute__((always_inline, unused))
++#  define XXH_FORCE_INLINE static
+ #  define XXH_NO_INLINE static __attribute__((noinline))
+ #elif defined(_MSC_VER)  /* Visual Studio */
+ #  define XXH_FORCE_INLINE static __forceinline
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.23.1.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.23.1.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.23.2.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 934d577..4a6884e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -21,7 +21,7 @@
            file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
 "
 
-SRC_URI[sha256sum] = "33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3"
+SRC_URI[sha256sum] = "f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb b/poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake_3.23.1.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.23.2.bb
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb
similarity index 98%
rename from poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb
index d621e72..bf89ceb 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.12.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.13.0.bb
@@ -18,7 +18,7 @@
            file://0001-dnf-write-the-log-lock-to-root.patch \
            "
 
-SRCREV = "956b5c74bab2affde27f404e7aee98c10818b188"
+SRCREV = "ef09e48fc3ebbbaf4dfa478e6e0532706506f091"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb
similarity index 94%
rename from poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb
rename to poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb
index 902cc03..0d6b43a 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.7.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb
@@ -18,6 +18,6 @@
 
 SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
 
-SRCREV = "e61f582015a9c67bbb3791cb93a864cfeb9c7151"
+SRCREV = "a154134fe70c0b823ae14905bdc33b64e7dcd454"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb
index ec48f41..5b2d192 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.5.bb
@@ -51,6 +51,7 @@
 	oe_multilib_header ext2fs/ext2_types.h
 	install -d ${D}${base_bindir}
 	mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs
+	mv ${D}${bindir}/lsattr ${D}${base_bindir}/lsattr.e2fsprogs
 
 	install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/
 
@@ -99,10 +100,12 @@
 FILES:libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
 FILES:${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
 
-ALTERNATIVE:${PN} = "chattr"
+ALTERNATIVE:${PN} = "chattr lsattr"
 ALTERNATIVE_PRIORITY = "100"
 ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr"
 ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs"
+ALTERNATIVE_LINK_NAME[lsattr] = "${base_bindir}/lsattr"
+ALTERNATIVE_TARGET[lsattr] = "${base_bindir}/lsattr.e2fsprogs"
 
 ALTERNATIVE:${PN}-doc = "fsck.8"
 ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-12.1.inc b/poky/meta/recipes-devtools/gcc/gcc-12.1.inc
index c8c4ae9..250b587 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-12.1.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-12.1.inc
@@ -11,7 +11,7 @@
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
 
 DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
-NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
+NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native zstd-native"
 
 LICENSE = "GPL-3.0-with-GCC-exception & GPL-3.0-only"
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 168486b..a87b446 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -175,7 +175,7 @@
 }
 
 ELFUTILS = "nativesdk-elfutils"
-DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib"
+DEPENDS += "nativesdk-gmp nativesdk-mpfr nativesdk-libmpc ${ELFUTILS} nativesdk-zlib nativesdk-zstd"
 RDEPENDS:${PN} += "nativesdk-mpfr nativesdk-libmpc ${ELFUTILS}"
 
 SYSTEMHEADERS = "${target_includedir}/"
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 0b5301c..67ed1ea 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -19,14 +19,14 @@
 
 PROVIDES += "llvm${PV}"
 
-PV = "14.0.3"
+PV = "14.0.4"
 
 MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
 
 LLVM_RELEASE = "${PV}"
 
 BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "1f9140064dfbfb0bbda8e51306ea51080b2f7aac"
+SRCREV = "29f1039a7285a5c3a9c353d054140bf2556d4c4d"
 SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
            file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
            file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
diff --git a/poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch b/poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch
deleted file mode 100644
index 3a8902b..0000000
--- a/poky/meta/recipes-devtools/makedevs/makedevs/COPYING.patch
+++ /dev/null
@@ -1,346 +0,0 @@
-Upstream-Status: Inappropriate [licensing]
-
-diff -ruN makedevs-1.0.0-orig/COPYING makedevs-1.0.0/COPYING
---- makedevs-1.0.0-orig/COPYING	1970-01-01 08:00:00.000000000 +0800
-+++ makedevs-1.0.0/COPYING	2010-12-09 16:42:20.274984665 +0800
-@@ -0,0 +1,340 @@
-+		    GNU GENERAL PUBLIC LICENSE
-+		       Version 2, June 1991
-+
-+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-+ Everyone is permitted to copy and distribute verbatim copies
-+ of this license document, but changing it is not allowed.
-+
-+			    Preamble
-+
-+  The licenses for most software are designed to take away your
-+freedom to share and change it.  By contrast, the GNU General Public
-+License is intended to guarantee your freedom to share and change free
-+software--to make sure the software is free for all its users.  This
-+General Public License applies to most of the Free Software
-+Foundation's software and to any other program whose authors commit to
-+using it.  (Some other Free Software Foundation software is covered by
-+the GNU Library General Public License instead.)  You can apply it to
-+your programs, too.
-+
-+  When we speak of free software, we are referring to freedom, not
-+price.  Our General Public Licenses are designed to make sure that you
-+have the freedom to distribute copies of free software (and charge for
-+this service if you wish), that you receive source code or can get it
-+if you want it, that you can change the software or use pieces of it
-+in new free programs; and that you know you can do these things.
-+
-+  To protect your rights, we need to make restrictions that forbid
-+anyone to deny you these rights or to ask you to surrender the rights.
-+These restrictions translate to certain responsibilities for you if you
-+distribute copies of the software, or if you modify it.
-+
-+  For example, if you distribute copies of such a program, whether
-+gratis or for a fee, you must give the recipients all the rights that
-+you have.  You must make sure that they, too, receive or can get the
-+source code.  And you must show them these terms so they know their
-+rights.
-+
-+  We protect your rights with two steps: (1) copyright the software, and
-+(2) offer you this license which gives you legal permission to copy,
-+distribute and/or modify the software.
-+
-+  Also, for each author's protection and ours, we want to make certain
-+that everyone understands that there is no warranty for this free
-+software.  If the software is modified by someone else and passed on, we
-+want its recipients to know that what they have is not the original, so
-+that any problems introduced by others will not reflect on the original
-+authors' reputations.
-+
-+  Finally, any free program is threatened constantly by software
-+patents.  We wish to avoid the danger that redistributors of a free
-+program will individually obtain patent licenses, in effect making the
-+program proprietary.  To prevent this, we have made it clear that any
-+patent must be licensed for everyone's free use or not licensed at all.
-+
-+  The precise terms and conditions for copying, distribution and
-+modification follow.
-+
-+		    GNU GENERAL PUBLIC LICENSE
-+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-+
-+  0. This License applies to any program or other work which contains
-+a notice placed by the copyright holder saying it may be distributed
-+under the terms of this General Public License.  The "Program", below,
-+refers to any such program or work, and a "work based on the Program"
-+means either the Program or any derivative work under copyright law:
-+that is to say, a work containing the Program or a portion of it,
-+either verbatim or with modifications and/or translated into another
-+language.  (Hereinafter, translation is included without limitation in
-+the term "modification".)  Each licensee is addressed as "you".
-+
-+Activities other than copying, distribution and modification are not
-+covered by this License; they are outside its scope.  The act of
-+running the Program is not restricted, and the output from the Program
-+is covered only if its contents constitute a work based on the
-+Program (independent of having been made by running the Program).
-+Whether that is true depends on what the Program does.
-+
-+  1. You may copy and distribute verbatim copies of the Program's
-+source code as you receive it, in any medium, provided that you
-+conspicuously and appropriately publish on each copy an appropriate
-+copyright notice and disclaimer of warranty; keep intact all the
-+notices that refer to this License and to the absence of any warranty;
-+and give any other recipients of the Program a copy of this License
-+along with the Program.
-+
-+You may charge a fee for the physical act of transferring a copy, and
-+you may at your option offer warranty protection in exchange for a fee.
-+
-+  2. You may modify your copy or copies of the Program or any portion
-+of it, thus forming a work based on the Program, and copy and
-+distribute such modifications or work under the terms of Section 1
-+above, provided that you also meet all of these conditions:
-+
-+    a) You must cause the modified files to carry prominent notices
-+    stating that you changed the files and the date of any change.
-+
-+    b) You must cause any work that you distribute or publish, that in
-+    whole or in part contains or is derived from the Program or any
-+    part thereof, to be licensed as a whole at no charge to all third
-+    parties under the terms of this License.
-+
-+    c) If the modified program normally reads commands interactively
-+    when run, you must cause it, when started running for such
-+    interactive use in the most ordinary way, to print or display an
-+    announcement including an appropriate copyright notice and a
-+    notice that there is no warranty (or else, saying that you provide
-+    a warranty) and that users may redistribute the program under
-+    these conditions, and telling the user how to view a copy of this
-+    License.  (Exception: if the Program itself is interactive but
-+    does not normally print such an announcement, your work based on
-+    the Program is not required to print an announcement.)
-+
-+These requirements apply to the modified work as a whole.  If
-+identifiable sections of that work are not derived from the Program,
-+and can be reasonably considered independent and separate works in
-+themselves, then this License, and its terms, do not apply to those
-+sections when you distribute them as separate works.  But when you
-+distribute the same sections as part of a whole which is a work based
-+on the Program, the distribution of the whole must be on the terms of
-+this License, whose permissions for other licensees extend to the
-+entire whole, and thus to each and every part regardless of who wrote it.
-+
-+Thus, it is not the intent of this section to claim rights or contest
-+your rights to work written entirely by you; rather, the intent is to
-+exercise the right to control the distribution of derivative or
-+collective works based on the Program.
-+
-+In addition, mere aggregation of another work not based on the Program
-+with the Program (or with a work based on the Program) on a volume of
-+a storage or distribution medium does not bring the other work under
-+the scope of this License.
-+
-+  3. You may copy and distribute the Program (or a work based on it,
-+under Section 2) in object code or executable form under the terms of
-+Sections 1 and 2 above provided that you also do one of the following:
-+
-+    a) Accompany it with the complete corresponding machine-readable
-+    source code, which must be distributed under the terms of Sections
-+    1 and 2 above on a medium customarily used for software interchange; or,
-+
-+    b) Accompany it with a written offer, valid for at least three
-+    years, to give any third party, for a charge no more than your
-+    cost of physically performing source distribution, a complete
-+    machine-readable copy of the corresponding source code, to be
-+    distributed under the terms of Sections 1 and 2 above on a medium
-+    customarily used for software interchange; or,
-+
-+    c) Accompany it with the information you received as to the offer
-+    to distribute corresponding source code.  (This alternative is
-+    allowed only for noncommercial distribution and only if you
-+    received the program in object code or executable form with such
-+    an offer, in accord with Subsection b above.)
-+
-+The source code for a work means the preferred form of the work for
-+making modifications to it.  For an executable work, complete source
-+code means all the source code for all modules it contains, plus any
-+associated interface definition files, plus the scripts used to
-+control compilation and installation of the executable.  However, as a
-+special exception, the source code distributed need not include
-+anything that is normally distributed (in either source or binary
-+form) with the major components (compiler, kernel, and so on) of the
-+operating system on which the executable runs, unless that component
-+itself accompanies the executable.
-+
-+If distribution of executable or object code is made by offering
-+access to copy from a designated place, then offering equivalent
-+access to copy the source code from the same place counts as
-+distribution of the source code, even though third parties are not
-+compelled to copy the source along with the object code.
-+
-+  4. You may not copy, modify, sublicense, or distribute the Program
-+except as expressly provided under this License.  Any attempt
-+otherwise to copy, modify, sublicense or distribute the Program is
-+void, and will automatically terminate your rights under this License.
-+However, parties who have received copies, or rights, from you under
-+this License will not have their licenses terminated so long as such
-+parties remain in full compliance.
-+
-+  5. You are not required to accept this License, since you have not
-+signed it.  However, nothing else grants you permission to modify or
-+distribute the Program or its derivative works.  These actions are
-+prohibited by law if you do not accept this License.  Therefore, by
-+modifying or distributing the Program (or any work based on the
-+Program), you indicate your acceptance of this License to do so, and
-+all its terms and conditions for copying, distributing or modifying
-+the Program or works based on it.
-+
-+  6. Each time you redistribute the Program (or any work based on the
-+Program), the recipient automatically receives a license from the
-+original licensor to copy, distribute or modify the Program subject to
-+these terms and conditions.  You may not impose any further
-+restrictions on the recipients' exercise of the rights granted herein.
-+You are not responsible for enforcing compliance by third parties to
-+this License.
-+
-+  7. If, as a consequence of a court judgment or allegation of patent
-+infringement or for any other reason (not limited to patent issues),
-+conditions are imposed on you (whether by court order, agreement or
-+otherwise) that contradict the conditions of this License, they do not
-+excuse you from the conditions of this License.  If you cannot
-+distribute so as to satisfy simultaneously your obligations under this
-+License and any other pertinent obligations, then as a consequence you
-+may not distribute the Program at all.  For example, if a patent
-+license would not permit royalty-free redistribution of the Program by
-+all those who receive copies directly or indirectly through you, then
-+the only way you could satisfy both it and this License would be to
-+refrain entirely from distribution of the Program.
-+
-+If any portion of this section is held invalid or unenforceable under
-+any particular circumstance, the balance of the section is intended to
-+apply and the section as a whole is intended to apply in other
-+circumstances.
-+
-+It is not the purpose of this section to induce you to infringe any
-+patents or other property right claims or to contest validity of any
-+such claims; this section has the sole purpose of protecting the
-+integrity of the free software distribution system, which is
-+implemented by public license practices.  Many people have made
-+generous contributions to the wide range of software distributed
-+through that system in reliance on consistent application of that
-+system; it is up to the author/donor to decide if he or she is willing
-+to distribute software through any other system and a licensee cannot
-+impose that choice.
-+
-+This section is intended to make thoroughly clear what is believed to
-+be a consequence of the rest of this License.
-+
-+  8. If the distribution and/or use of the Program is restricted in
-+certain countries either by patents or by copyrighted interfaces, the
-+original copyright holder who places the Program under this License
-+may add an explicit geographical distribution limitation excluding
-+those countries, so that distribution is permitted only in or among
-+countries not thus excluded.  In such case, this License incorporates
-+the limitation as if written in the body of this License.
-+
-+  9. The Free Software Foundation may publish revised and/or new versions
-+of the General Public License from time to time.  Such new versions will
-+be similar in spirit to the present version, but may differ in detail to
-+address new problems or concerns.
-+
-+Each version is given a distinguishing version number.  If the Program
-+specifies a version number of this License which applies to it and "any
-+later version", you have the option of following the terms and conditions
-+either of that version or of any later version published by the Free
-+Software Foundation.  If the Program does not specify a version number of
-+this License, you may choose any version ever published by the Free Software
-+Foundation.
-+
-+  10. If you wish to incorporate parts of the Program into other free
-+programs whose distribution conditions are different, write to the author
-+to ask for permission.  For software which is copyrighted by the Free
-+Software Foundation, write to the Free Software Foundation; we sometimes
-+make exceptions for this.  Our decision will be guided by the two goals
-+of preserving the free status of all derivatives of our free software and
-+of promoting the sharing and reuse of software generally.
-+
-+			    NO WARRANTY
-+
-+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-+REPAIR OR CORRECTION.
-+
-+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-+POSSIBILITY OF SUCH DAMAGES.
-+
-+		     END OF TERMS AND CONDITIONS
-+
-+	    How to Apply These Terms to Your New Programs
-+
-+  If you develop a new program, and you want it to be of the greatest
-+possible use to the public, the best way to achieve this is to make it
-+free software which everyone can redistribute and change under these terms.
-+
-+  To do so, attach the following notices to the program.  It is safest
-+to attach them to the start of each source file to most effectively
-+convey the exclusion of warranty; and each file should have at least
-+the "copyright" line and a pointer to where the full notice is found.
-+
-+    <one line to give the program's name and a brief idea of what it does.>
-+    Copyright (C) <year>  <name of author>
-+
-+    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.
-+
-+    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
-+    GNU General Public License for more details.
-+
-+    You should have received a copy of the GNU General Public License
-+    along with this program; if not, write to the Free Software
-+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-+
-+
-+Also add information on how to contact you by electronic and paper mail.
-+
-+If the program is interactive, make it output a short notice like this
-+when it starts in an interactive mode:
-+
-+    Gnomovision version 69, Copyright (C) year name of author
-+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-+    This is free software, and you are welcome to redistribute it
-+    under certain conditions; type `show c' for details.
-+
-+The hypothetical commands `show w' and `show c' should show the appropriate
-+parts of the General Public License.  Of course, the commands you use may
-+be called something other than `show w' and `show c'; they could even be
-+mouse-clicks or menu items--whatever suits your program.
-+
-+You should also get your employer (if you work as a programmer) or your
-+school, if any, to sign a "copyright disclaimer" for the program, if
-+necessary.  Here is a sample; alter the names:
-+
-+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-+
-+  <signature of Ty Coon>, 1 April 1989
-+  Ty Coon, President of Vice
-+
-+This General Public License does not permit incorporating your program into
-+proprietary programs.  If your program is a subroutine library, you may
-+consider it more useful to permit linking proprietary applications with the
-+library.  If this is what you want to do, use the GNU Library General
-+Public License instead of this License.
diff --git a/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c b/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c
index 32b9872..df2e3cf 100644
--- a/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c
+++ b/poky/meta/recipes-devtools/makedevs/makedevs/makedevs.c
@@ -1,3 +1,7 @@
+/*
+ * SPDX-License-Identifier: GPL-2.0-only
+ */
+
 #define _GNU_SOURCE
 #include <stdio.h>
 #include <errno.h>
diff --git a/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb b/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb
index 007ebbc..0d6c7a0 100644
--- a/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb
+++ b/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb
@@ -1,10 +1,9 @@
 SUMMARY = "Tool for creating device nodes"
 DESCRIPTION = "${SUMMARY}"
 LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+LIC_FILES_CHKSUM = "file://makedevs.c;beginline=2;endline=2;md5=c3817b10013a30076c68a90e40a55570"
 SECTION = "base"
-SRC_URI = "file://makedevs.c \
-           file://COPYING.patch"
+SRC_URI = "file://makedevs.c"
 
 S = "${WORKDIR}"
 
diff --git a/poky/meta/recipes-devtools/meson/meson_0.62.1.bb b/poky/meta/recipes-devtools/meson/meson_0.62.2.bb
similarity index 97%
rename from poky/meta/recipes-devtools/meson/meson_0.62.1.bb
rename to poky/meta/recipes-devtools/meson/meson_0.62.2.bb
index dabdcaa..acfc64f 100644
--- a/poky/meta/recipes-devtools/meson/meson_0.62.1.bb
+++ b/poky/meta/recipes-devtools/meson/meson_0.62.2.bb
@@ -17,7 +17,7 @@
            file://0001-is_debianlike-always-return-False.patch \
            file://0001-Check-for-clang-before-guessing-gcc-or-lcc.patch \
            "
-SRC_URI[sha256sum] = "a0f5caa1e70da12d5e63aa6a9504273759b891af36c8d87de381a4ed1380e845"
+SRC_URI[sha256sum] = "a7669e4c4110b06b743d57cc5d6432591a6677ef2402139fe4f3d42ac13380b0"
 
 UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
 UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index 25ee2b7..8f46174 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,4 +1,4 @@
-From 142f40b80ea908831ef7a4d694cec6a5985a0724 Mon Sep 17 00:00:00 2001
+From 3a05dc2c0acff1713dd44cef5e9f328f0706eb3e Mon Sep 17 00:00:00 2001
 From: Ed Bartosh <ed.bartosh@linux.intel.com>
 Date: Tue, 13 Jun 2017 14:55:52 +0300
 Subject: [PATCH] Disabled reading host configs.
@@ -12,10 +12,10 @@
  1 file changed, 8 deletions(-)
 
 diff --git a/config.c b/config.c
-index 173eae0..0654cc1 100644
+index 630f99d..07dbf53 100644
 --- a/config.c
 +++ b/config.c
-@@ -836,14 +836,6 @@ void read_config(void)
+@@ -834,14 +834,6 @@ void read_config(void)
  	memcpy(devices, const_devices,
  	       nr_const_devices*sizeof(struct device));
  
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb
similarity index 93%
rename from poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb
rename to poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb
index 564ef02..200c7c7 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.39.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.40.bb
@@ -24,7 +24,7 @@
 	glibc-gconv-ibm866 \
 	glibc-gconv-ibm869 \
 	"
-SRC_URI[sha256sum] = "397f1e2b7b7a2a270eb7970fa363e445f956926ec51e8170c3869da85b0987bd"
+SRC_URI[sha256sum] = "a22fca42354011dd2293a7f51f228b46ebbd802e7740b0975912afecb79d5df4"
 
 SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
            file://mtools-makeinfo.patch \
diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb b/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb
similarity index 94%
rename from poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb
rename to poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb
index 7270321..4ec361c 100644
--- a/poky/meta/recipes-devtools/ninja/ninja_1.10.2.bb
+++ b/poky/meta/recipes-devtools/ninja/ninja_1.11.0.bb
@@ -6,7 +6,7 @@
 
 DEPENDS = "re2c-native ninja-native"
 
-SRCREV = "e72d1d581c945c158ed68d9bc48911063022a2c6"
+SRCREV = "51edeeb063a82693573db43782d9e3733b2840e4"
 
 SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb
rename to poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb
index e91d725..7b351e8 100644
--- a/poky/meta/recipes-devtools/opkg/opkg_0.5.0.bb
+++ b/poky/meta/recipes-devtools/opkg/opkg_0.6.0.bb
@@ -18,7 +18,7 @@
            file://run-ptest \
 "
 
-SRC_URI[sha256sum] = "559c3e1b893abaa1dd473ce3a9a5f7dd3f60ceb6cd14caaef76ddf0f7721ad1c"
+SRC_URI[sha256sum] = "56844722eff237daf14aa6e681436f3245213c5590ed0cda37a79df637ff3a4c"
 
 # This needs to be before ptest inherit, otherwise all ptest files end packaged
 # in libopkg package if OPKGLIBDIR == libdir, because default
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
new file mode 100644
index 0000000..80388fa
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-correctly-list-modules-when-cleaning-them.patch
@@ -0,0 +1,24 @@
+From 7b8d819e012c24df228a313beb86e1942611c904 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sat, 4 Jun 2022 13:00:12 +0200
+Subject: [PATCH] Makefile: correctly list modules when cleaning them
+
+Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/133]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6b35fb0..9ef9324 100644
+--- a/Makefile
++++ b/Makefile
+@@ -462,7 +462,7 @@ clean-subdirs:
+ 
+ # assuming modules w/o Makefiles were never built and need no cleaning
+ clean-modules: config.h
+-	@for i in $(modules disabled); do \
++	@for i in $(modules) $(disabled); do \
+ 		test -f $$i/Makefile && \
+ 		touch $$i/Makefile && \
+ 		$(MAKE) -C $$i clean \
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
new file mode 100644
index 0000000..cbb935c
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-do-not-clean-config.h-xconfig.h.patch
@@ -0,0 +1,28 @@
+From ade4a70308d3b9d79cc3db841c0f60385780fe1a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sat, 4 Jun 2022 13:45:20 +0200
+Subject: [PATCH] Makefile: do not clean config.h/xconfig.h
+
+These are generated by ./configure and not by make.
+
+Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/134]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 9ef9324..3de2c2e 100644
+--- a/Makefile
++++ b/Makefile
+@@ -473,7 +473,6 @@ clean-generated-files:
+ 	-rm -f uudmap.h opmini.c generate_uudmap$X bitcount.h $(CONFIGPM)
+ 	-rm -f git_version.h lib/re.pm lib/Config_git.pl
+ 	-rm -f perlmini.c perlmain.c
+-	-rm -f config.h xconfig.h
+ 	-rm -f pod/perlmodlib.pod
+ 	-rm -f ext.libs static.list
+ 	-rm -f $(patsubst %,%/ppport.h,$(mkppport_lst))
+-- 
+2.30.2
+
diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
similarity index 82%
rename from poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb
rename to poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
index 99a9ca1..2704976 100644
--- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb
+++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.bb
@@ -15,10 +15,12 @@
            file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
            file://determinism.patch \
            file://0001-Makefile-check-the-file-if-patched-or-not.patch \
+           file://0001-Makefile-correctly-list-modules-when-cleaning-them.patch \
+           file://0001-Makefile-do-not-clean-config.h-xconfig.h.patch \
            "
 UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/"
 
-SRC_URI[perl-cross.sha256sum] = "77f13ca84a63025053852331b72d4046c1f90ded98bd45ccedea738621907335"
+SRC_URI[perl-cross.sha256sum] = "be9d9f9f7148edff7a2f9695ba3cb7e3975eff6b25a9a81dd311725fd757aa91"
 
 S = "${WORKDIR}/perl-cross-${PV}"
 
diff --git a/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch b/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch
new file mode 100644
index 0000000..1d98e13
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/0001-Fix-build-with-gcc-12.patch
@@ -0,0 +1,143 @@
+From ee957eb9e4ec29a462cdbb2f3bbe29d4270534ef Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 2 Jun 2022 13:01:37 +0800
+Subject: [PATCH] proto.h: Fix build with gcc-12
+
+Fixes:
+  In function 'dynprep',
+    inlined from 'S_sortsv_flags_impl' at pp_sort.c:358:20,
+    inlined from 'sortsv_amagic_i_ncmp' at pp_sort.c:572:5:
+    pp_sort.c:1232:1: error: inlining failed in call to 'always_inline' 'S_amagic_i_ncmp': function not considered for inlining
+  1232 | S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
+
+Upstream-Status: Submitted [https://github.com/Perl/perl5/pull/19808]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ proto.h | 42 ++++++++++++++----------------------------
+ 1 file changed, 14 insertions(+), 28 deletions(-)
+
+diff --git a/proto.h b/proto.h
+index faca6d1..3a76c04 100644
+--- a/proto.h
++++ b/proto.h
+@@ -5606,50 +5606,43 @@ STATIC SSize_t	S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c
+ #endif
+ #if defined(PERL_IN_PP_SORT_C)
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp(pTHX_ SV *const str1, SV *const str2);
+ #define PERL_ARGS_ASSERT_AMAGIC_CMP	\
+ 	assert(str1); assert(str2)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2);
+ #define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC	\
+ 	assert(str1); assert(str2)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_AMAGIC_NCMP	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_cmp_desc(pTHX_ SV *const str1, SV *const str2)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_cmp_desc(pTHX_ SV *const str1, SV *const str2);
+ #define PERL_ARGS_ASSERT_CMP_DESC	\
+ 	assert(str1); assert(str2)
+ #endif
+@@ -5671,51 +5664,44 @@ PERL_STATIC_FORCE_INLINE void	S_sortsv_flags_impl(pTHX_ SV** array, size_t num_e
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_SV_I_NCMP	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_SV_I_NCMP_DESC	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_SV_NCMP	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b);
+ #define PERL_ARGS_ASSERT_SV_NCMP_DESC	\
+ 	assert(a); assert(b)
+ #endif
+ 
+ #  if defined(USE_LOCALE_COLLATE)
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2);
+ #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE	\
+ 	assert(str1); assert(str2)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
+ #define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC	\
+ 	assert(str1); assert(str2)
+ #endif
+ 
+ #ifndef PERL_NO_INLINE_FUNCTIONS
+-PERL_STATIC_FORCE_INLINE I32	S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
+-			__attribute__always_inline__;
++PERL_STATIC_FORCE_INLINE I32	S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
+ #define PERL_ARGS_ASSERT_CMP_LOCALE_DESC	\
+ 	assert(str1); assert(str2)
+ #endif
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
index 15189a0..f80de88 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
@@ -1,4 +1,4 @@
-From 1f7cc5db2ca549c37c6a7923368e1a0104f31b99 Mon Sep 17 00:00:00 2001
+From 055d4c31f41611b7d7fb6b0e38b3818a053de38d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Sun, 27 May 2007 21:04:11 +0000
 Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE)
diff --git a/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch
index b49e6e4..887f7c0 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch
@@ -22,7 +22,7 @@
 +        my $hostlib = $ENV{PERLHOSTLIB};
 +        my $hostarchlib = $ENV{PERLHOSTARCHLIB};
 +        print STDERR "*** Module name IN: $modlibname\n";
-+        ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/;
++        my ($p1, $p2, $p3, $p4, $p5, $p6, $p7) = $modlibname =~ m/(^(.*lib\w*\/)?)((perl5\/[0-9\.]*\/)?)(([^\/]*)\/)?(.*)$/;
 +        print STDERR "*** p1: $p1  p3: $p3  p5: $p5 p7: $p7\n";
 +        if ( $p1 ne "" ) {
 +            $modlibname = $hostlib.$p7;
diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
index 74c24c3..e5f45bf 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
+++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
@@ -131,28 +131,23 @@
 RDEPENDS:perl-module-b-concise += "perl-module-warnings"
 RDEPENDS:perl-module-benchmark += "perl-module-exporter"
 RDEPENDS:perl-module-benchmark += "perl-module-strict"
+RDEPENDS:perl-module-bigfloat += "perl-module-constant"
+RDEPENDS:perl-module-bigfloat += "perl-module-exporter"
+RDEPENDS:perl-module-bigfloat += "perl-module-overload"
+RDEPENDS:perl-module-bigfloat += "perl-module-strict"
+RDEPENDS:perl-module-bigfloat += "perl-module-warnings"
 RDEPENDS:perl-module-bigint += "perl-module-constant"
 RDEPENDS:perl-module-bigint += "perl-module-exporter"
-RDEPENDS:perl-module-bigint += "perl-module-math-bigint"
-RDEPENDS:perl-module-bigint += "perl-module-math-bigint-trace"
 RDEPENDS:perl-module-bigint += "perl-module-overload"
 RDEPENDS:perl-module-bigint += "perl-module-strict"
 RDEPENDS:perl-module-bigint += "perl-module-warnings"
-RDEPENDS:perl-module-bignum += "perl-module-bigint"
+RDEPENDS:perl-module-bignum += "perl-module-constant"
 RDEPENDS:perl-module-bignum += "perl-module-exporter"
-RDEPENDS:perl-module-bignum += "perl-module-math-bigfloat"
-RDEPENDS:perl-module-bignum += "perl-module-math-bigfloat-trace"
-RDEPENDS:perl-module-bignum += "perl-module-math-bigint"
-RDEPENDS:perl-module-bignum += "perl-module-math-bigint-trace"
 RDEPENDS:perl-module-bignum += "perl-module-overload"
 RDEPENDS:perl-module-bignum += "perl-module-strict"
 RDEPENDS:perl-module-bignum += "perl-module-warnings"
-RDEPENDS:perl-module-bigrat += "perl-module-bigint"
+RDEPENDS:perl-module-bigrat += "perl-module-constant"
 RDEPENDS:perl-module-bigrat += "perl-module-exporter"
-RDEPENDS:perl-module-bigrat += "perl-module-math-bigfloat"
-RDEPENDS:perl-module-bigrat += "perl-module-math-bigint"
-RDEPENDS:perl-module-bigrat += "perl-module-math-bigint-trace"
-RDEPENDS:perl-module-bigrat += "perl-module-math-bigrat"
 RDEPENDS:perl-module-bigrat += "perl-module-overload"
 RDEPENDS:perl-module-bigrat += "perl-module-strict"
 RDEPENDS:perl-module-bigrat += "perl-module-warnings"
@@ -166,6 +161,8 @@
 RDEPENDS:perl-module-b-terse += "perl-module-b"
 RDEPENDS:perl-module-b-terse += "perl-module-b-concise"
 RDEPENDS:perl-module-b-terse += "perl-module-strict"
+RDEPENDS:perl-module-builtin += "perl-module-strict"
+RDEPENDS:perl-module-builtin += "perl-module-warnings"
 RDEPENDS:perl-module-b-xref += "perl-module-b"
 RDEPENDS:perl-module-b-xref += "perl-module-config"
 RDEPENDS:perl-module-b-xref += "perl-module-strict"
@@ -257,7 +254,6 @@
 RDEPENDS:perl-module-cwd += "perl-module-exporter"
 RDEPENDS:perl-module-cwd += "perl-module-strict"
 RDEPENDS:perl-module-cwd += "perl-module-xsloader"
-RDEPENDS:perl-module-data-dumper += "perl-module-config"
 RDEPENDS:perl-module-data-dumper += "perl-module-constant"
 RDEPENDS:perl-module-data-dumper += "perl-module-exporter"
 RDEPENDS:perl-module-data-dumper += "perl-module-strict"
@@ -313,6 +309,8 @@
 RDEPENDS:perl-module-digest-sha += "perl-module-warnings"
 RDEPENDS:perl-module-digest-sha += "perl-module-xsloader"
 RDEPENDS:perl-module-dynaloader += "perl-module-config"
+RDEPENDS:perl-module-dynaloader += "perl-module-strict"
+RDEPENDS:perl-module-dynaloader += "perl-module-vars"
 RDEPENDS:perl-module-encode-alias += "perl-module-constant"
 RDEPENDS:perl-module-encode-alias += "perl-module-encode"
 RDEPENDS:perl-module-encode-alias += "perl-module-exporter"
@@ -796,11 +794,12 @@
 RDEPENDS:perl-module-filecache += "perl-module-parent"
 RDEPENDS:perl-module-filecache += "perl-module-strict"
 RDEPENDS:perl-module-file-compare += "perl-module-exporter"
-RDEPENDS:perl-module-file-compare += "perl-module-strict"
 RDEPENDS:perl-module-file-compare += "perl-module-warnings"
+RDEPENDS:perl-module-file-copy += "perl-module-builtin"
 RDEPENDS:perl-module-file-copy += "perl-module-config"
 RDEPENDS:perl-module-file-copy += "perl-module-exporter"
 RDEPENDS:perl-module-file-copy += "perl-module-file-basename"
+RDEPENDS:perl-module-file-copy += "perl-module-overload"
 RDEPENDS:perl-module-file-copy += "perl-module-strict"
 RDEPENDS:perl-module-file-copy += "perl-module-warnings"
 RDEPENDS:perl-module-file-dosglob += "perl-module-strict"
@@ -887,10 +886,12 @@
 RDEPENDS:perl-module-getopt-std += "perl-module-exporter"
 RDEPENDS:perl-module-getopt-std += "perl-module-strict"
 RDEPENDS:perl-module-getopt-std += "perl-module-warnings"
+RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-builtin"
 RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-exporter"
 RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-strict"
 RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-warnings"
 RDEPENDS:perl-module-hash-util-fieldhash += "perl-module-xsloader"
+RDEPENDS:perl-module-hash-util += "perl-module-builtin"
 RDEPENDS:perl-module-hash-util += "perl-module-exporter"
 RDEPENDS:perl-module-hash-util += "perl-module-hash-util-fieldhash"
 RDEPENDS:perl-module-hash-util += "perl-module-strict"
@@ -1258,6 +1259,7 @@
 RDEPENDS:perl-module-math-bigint-calc += "perl-module-math-bigint-lib"
 RDEPENDS:perl-module-math-bigint-calc += "perl-module-strict"
 RDEPENDS:perl-module-math-bigint-calc += "perl-module-warnings"
+RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-config"
 RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-math-bigint-calc"
 RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-strict"
 RDEPENDS:perl-module-math-bigint-fastcalc += "perl-module-warnings"
@@ -1278,9 +1280,15 @@
 RDEPENDS:perl-module-math-bigint-trace += "perl-module-warnings"
 RDEPENDS:perl-module-math-bigrat += "perl-module-math-bigfloat"
 RDEPENDS:perl-module-math-bigrat += "perl-module-math-bigint"
+RDEPENDS:perl-module-math-bigrat += "perl-module-math-complex"
 RDEPENDS:perl-module-math-bigrat += "perl-module-overload"
 RDEPENDS:perl-module-math-bigrat += "perl-module-strict"
 RDEPENDS:perl-module-math-bigrat += "perl-module-warnings"
+RDEPENDS:perl-module-math-bigrat-trace += "perl-module-exporter"
+RDEPENDS:perl-module-math-bigrat-trace += "perl-module-math-bigrat"
+RDEPENDS:perl-module-math-bigrat-trace += "perl-module-overload"
+RDEPENDS:perl-module-math-bigrat-trace += "perl-module-strict"
+RDEPENDS:perl-module-math-bigrat-trace += "perl-module-warnings"
 RDEPENDS:perl-module-math-complex += "perl-module-config"
 RDEPENDS:perl-module-math-complex += "perl-module-exporter"
 RDEPENDS:perl-module-math-complex += "perl-module-overload"
@@ -1665,6 +1673,7 @@
 RDEPENDS:perl-module-socket += "perl-module-warnings-register"
 RDEPENDS:perl-module-socket += "perl-module-xsloader"
 RDEPENDS:perl-module-sort += "perl-module-strict"
+RDEPENDS:perl-module-sort += "perl-module-warnings"
 RDEPENDS:perl-module-storable += "perl-module-exporter"
 RDEPENDS:perl-module-storable += "perl-module-io-file"
 RDEPENDS:perl-module-subs += "perl-module-strict"
@@ -1697,6 +1706,7 @@
 RDEPENDS:perl-module-tap-base += "perl-module-strict"
 RDEPENDS:perl-module-tap-base += "perl-module-warnings"
 RDEPENDS:perl-module-tap-formatter-base += "perl-module-base"
+RDEPENDS:perl-module-tap-formatter-base += "perl-module-config"
 RDEPENDS:perl-module-tap-formatter-base += "perl-module-posix"
 RDEPENDS:perl-module-tap-formatter-base += "perl-module-strict"
 RDEPENDS:perl-module-tap-formatter-base += "perl-module-tap-formatter-color"
@@ -1770,6 +1780,7 @@
 RDEPENDS:perl-module-tap-parser-iterator-stream += "perl-module-warnings"
 RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-base"
 RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-constant"
+RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-errno"
 RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-io-select"
 RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-strict"
 RDEPENDS:perl-module-tap-parser-multiplexer += "perl-module-warnings"
@@ -1947,6 +1958,7 @@
 RDEPENDS:perl-module-test2-api += "perl-module-test2-hub-subtest"
 RDEPENDS:perl-module-test2-api += "perl-module-test2-util"
 RDEPENDS:perl-module-test2-api += "perl-module-test2-util-trace"
+RDEPENDS:perl-module-test2-api += "perl-module-time-hires"
 RDEPENDS:perl-module-test2-api += "perl-module-warnings"
 RDEPENDS:perl-module-test2-api-stack += "perl-module-strict"
 RDEPENDS:perl-module-test2-api-stack += "perl-module-test2-api"
@@ -2197,14 +2209,11 @@
 RDEPENDS:perl-module-text-balanced += "perl-module-vars"
 RDEPENDS:perl-module-text-parsewords += "perl-module-exporter"
 RDEPENDS:perl-module-text-parsewords += "perl-module-strict"
-RDEPENDS:perl-module-text-tabs += "perl-module-exporter"
+RDEPENDS:perl-module-text-parsewords += "perl-module-warnings"
 RDEPENDS:perl-module-text-tabs += "perl-module-strict"
-RDEPENDS:perl-module-text-tabs += "perl-module-vars"
-RDEPENDS:perl-module-text-wrap += "perl-module-exporter"
 RDEPENDS:perl-module-text-wrap += "perl-module-re"
 RDEPENDS:perl-module-text-wrap += "perl-module-strict"
 RDEPENDS:perl-module-text-wrap += "perl-module-text-tabs"
-RDEPENDS:perl-module-text-wrap += "perl-module-vars"
 RDEPENDS:perl-module-text-wrap += "perl-module-warnings-register"
 RDEPENDS:perl-module-thread += "perl-module-config"
 RDEPENDS:perl-module-thread += "perl-module-exporter"
@@ -2246,6 +2255,8 @@
 RDEPENDS:perl-module-tie-stdhandle += "perl-module-strict"
 RDEPENDS:perl-module-tie-stdhandle += "perl-module-tie-handle"
 RDEPENDS:perl-module-tie-substrhash += "perl-module-integer"
+RDEPENDS:perl-module-tie-substrhash += "perl-module-strict"
+RDEPENDS:perl-module-tie-substrhash += "perl-module-warnings"
 RDEPENDS:perl-module-time-gmtime += "perl-module-exporter"
 RDEPENDS:perl-module-time-gmtime += "perl-module-strict"
 RDEPENDS:perl-module-time-gmtime += "perl-module-time-tm"
@@ -2295,6 +2306,7 @@
 RDEPENDS:perl-module-unicode-collate += "perl-module-strict"
 RDEPENDS:perl-module-unicode-collate += "perl-module-warnings"
 RDEPENDS:perl-module-unicode-collate += "perl-module-xsloader"
+RDEPENDS:perl-module-unicode-normalize += "perl-module-bytes"
 RDEPENDS:perl-module-unicode-normalize += "perl-module-exporter"
 RDEPENDS:perl-module-unicode-normalize += "perl-module-strict"
 RDEPENDS:perl-module-unicode-normalize += "perl-module-warnings"
@@ -2323,3 +2335,4 @@
 RDEPENDS:perl-module-version += "perl-module-warnings-register"
 RDEPENDS:perl-module-version-regex += "perl-module-strict"
 RDEPENDS:perl-module-xsloader += "perl-module-dynaloader"
+RDEPENDS:perl-module-xsloader += "perl-module-strict"
diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.1.bb b/poky/meta/recipes-devtools/perl/perl_5.36.0.bb
similarity index 97%
rename from poky/meta/recipes-devtools/perl/perl_5.34.1.bb
rename to poky/meta/recipes-devtools/perl/perl_5.36.0.bb
index 0e9d0c0..4456cdb 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.34.1.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.36.0.bb
@@ -17,6 +17,7 @@
            file://0002-Constant-Fix-up-shebang.patch \
            file://determinism.patch \
            file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \
+           file://0001-Fix-build-with-gcc-12.patch \
            "
 SRC_URI:append:class-native = " \
            file://perl-configpm-switch.patch \
@@ -25,13 +26,15 @@
            file://encodefix.patch \
 "
 
-SRC_URI[perl.sha256sum] = "357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1"
+SRC_URI[perl.sha256sum] = "e26085af8ac396f62add8a533c3a0ea8c8497d836f0689347ac5abd7b7a4e00a"
 
 S = "${WORKDIR}/perl-${PV}"
 
 inherit upstream-version-is-even update-alternatives
 
 DEPENDS += "perlcross-native zlib virtual/crypt"
+# make 4.1 has race issues with the double-colon usage of MakeMaker, see #14096
+DEPENDS += "make-native"
 
 PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0"
 
@@ -58,6 +61,7 @@
     -Dlibpth='${libdir} ${base_libdir}' \
     -Dglibpth='${libdir} ${base_libdir}' \
     -Alddlflags=' ${LDFLAGS}' \
+    -Dd_gnulibc=define \
     ${PACKAGECONFIG_CONFARGS}
 
     #perl.c uses an ARCHLIB_EXP define to generate compile-time code that
@@ -110,18 +114,11 @@
             ")"
         echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h
     fi
+    oe_runmake clean
 }
 
 do_compile() {
     oe_runmake
-    # This isn't generated reliably so delete and re-generate.
-    # https://github.com/arsv/perl-cross/issues/86
-
-    if [ -e pod/perltoc.pod ]; then
-        bbnote Rebuilding perltoc.pod
-        rm -f pod/perltoc.pod
-        oe_runmake pod/perltoc.pod
-    fi
 }
 
 do_install() {
diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index a2b7a51..b288652 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From d1b4fa4a99774878035a0f664ec0d9686e7f0c89 Mon Sep 17 00:00:00 2001
+From d03595e69cc532e27c0d3d535f08107349669d3d Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 17 Jul 2018 10:13:38 +0800
 Subject: [PATCH] conditionally do not fetch code by easy_install
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index 5050dfd..ab8c4d6 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -9,7 +9,7 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "d6fac2342802c30e51426828fe084ff4deb1b3387367cf98976bb2e64b6f8e45"
+SRC_URI[sha256sum] = "2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb b/poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb
rename to poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb
index 4c376da..ff460d4 100644
--- a/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb
+++ b/poky/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb
@@ -7,7 +7,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8"
 
-SRC_URI[sha256sum] = "78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"
+SRC_URI[sha256sum] = "9c5705e395cd70084351dd8ad5c41e65655e08ce46f2ec9cf6c2c08390f71eb7"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb
index d7a720b..470cf43 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb
@@ -104,6 +104,9 @@
     install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/
     install -d ${D}${PTEST_PATH}/tests
     cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    # remove test_x509.py as it needs benchmark and we don't
+    # want to introduce the benchmark dependency
+    rm -rf ${D}${PTEST_PATH}/tests/bench/test_x509.py
     install -d ${D}${PTEST_PATH}/tests/hazmat
     cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
     cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.30.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb
rename to poky/meta/recipes-devtools/python/python3-cython_0.29.30.bb
diff --git a/poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb b/poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb
similarity index 83%
rename from poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb
rename to poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb
index 7bc89c8..0520dd7 100644
--- a/poky/meta/recipes-devtools/python/python3-dtschema_2022.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-dtschema_2022.5.bb
@@ -7,7 +7,7 @@
 
 PYPI_PACKAGE = "dtschema"
 
-SRC_URI[sha256sum] = "c70a644e0100b5bacd44839a2316291d8eee91f6535a8419459de59fd0fcf6ce"
+SRC_URI[sha256sum] = "147ff18bf446131d3ba14bc751febd84f4fdedf06130f53e193d3370052dfe3f"
 
 DEPENDS += "python3-setuptools-scm-native"
 RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987"
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb
index 86d6793..1d9772d 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "f5c24a3d3f8a0d8de2dd33079bf1580a3cfbfe74763187d47570fc9beea84c9b"
+SRC_URI[sha256sum] = "f5c1cf61b24b094355577a6b8fbbb8eb54c1b0216fbc0519af97c46bddf43c42"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb
rename to poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb
index d8e56cc..807a16d 100644
--- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb
@@ -8,7 +8,7 @@
 PYPI_PACKAGE = "importlib_metadata"
 UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
 
-SRC_URI[sha256sum] = "ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"
+SRC_URI[sha256sum] = "5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700"
 
 S = "${WORKDIR}/importlib_metadata-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb
rename to poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb
index efc8b6d..89495ec 100644
--- a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb
+++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.26.bb
@@ -11,7 +11,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "21f5f542aa0330f5c8a64442528542f6215c8e18d2466b399b0d9d39356d83fc"
+SRC_URI[sha256sum] = "8262c13001f904ad5b724d38b5e5b5f17ec0450ae249def398a62e4e33108a50"
 
 RDEPENDS:${PN} += "file \
                    ${PYTHON_PN}-ctypes \
diff --git a/poky/meta/recipes-devtools/python/python3-pip_22.1.bb b/poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-pip_22.1.bb
rename to poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb
index 1aef9bc..5fe59a4 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_22.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_22.1.2.bb
@@ -37,7 +37,7 @@
 SRC_URI += "file://no_shebang_mangling.patch"
 SRC_URI += "file://reproducible.patch"
 
-SRC_URI[sha256sum] = "2debf847016cfe643fa1512e2d781d3ca9e5c878ba0652583842d50cc2bcc605"
+SRC_URI[sha256sum] = "6d55b27e10f506312894a87ccc59f280136bad9061719fac9101bdad5a6bce69"
 
 do_install:append() {
     rm -f ${D}/${bindir}/pip
@@ -54,6 +54,8 @@
   python3-unixadmin \
   python3-xmlrpc \
   python3-pickle \
+  python3-distutils \
+  python3-image \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
index 3f2895a..2935acf 100644
--- a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
@@ -24,3 +24,5 @@
 	install -d ${D}${PTEST_PATH}/testing
 	cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/
 }
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch b/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch
deleted file mode 100644
index 99bfccc..0000000
--- a/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-From 8b4e38958ff8bdbb3ece4796bfa2d3b6f7536f71 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 23 Feb 2022 11:54:40 +0800
-Subject: [PATCH] fix failure test cases
-
-The test cases is not robust enough. skip some cases that is
-not suitable for all conditions.
-
-* test_io_counters failed when kernel config CONFIG_TASKSTATS
-  and CONFIG_TASK_IO_ACCOUNTING are not enable in OE 
-* test_setup_script failed since oe don't install setup.py
-* test_used failed since oe use git source for free, so the version
-  is 3.3.17-dirty
-* test_weird_environ failed since gcc not installed
-* test_debug failed since it is designed to run when PSUTIL_DEBUG is set
-* test_against_findmnt/test_comparisons/test_disk_partitions_mocked/
-  test_disk_partitions is not suitable for Linux nfs boot
-
-Upstream-Status: Submitted [https://github.com/giampaolo/psutil/pull/2097]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- psutil/tests/test_contracts.py | 1 +
- psutil/tests/test_linux.py     | 8 ++++++--
- psutil/tests/test_misc.py      | 4 ++++
- psutil/tests/test_process.py   | 5 +++++
- psutil/tests/test_system.py    | 1 +
- psutil/tests/test_unicode.py   | 4 +++-
- 6 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/psutil/tests/test_contracts.py b/psutil/tests/test_contracts.py
-index 7401cc1..bf0fca0 100755
---- a/psutil/tests/test_contracts.py
-+++ b/psutil/tests/test_contracts.py
-@@ -172,6 +172,7 @@ class TestAvailProcessAPIs(PsutilTestCase):
-     def test_rlimit(self):
-         self.assertEqual(hasattr(psutil.Process, "rlimit"), LINUX or FREEBSD)
- 
-+    @unittest.skip("broken on OE since kernel config maye not be enabled")
-     def test_io_counters(self):
-         hasit = hasattr(psutil.Process, "io_counters")
-         self.assertEqual(hasit, False if MACOS or SUNOS else True)
-diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
-index 20e28d2..66b6dda 100755
---- a/psutil/tests/test_linux.py
-+++ b/psutil/tests/test_linux.py
-@@ -196,8 +196,9 @@ def get_free_version_info():
-     out = sh(["free", "-V"]).strip()
-     if 'UNKNOWN' in out:
-         raise unittest.SkipTest("can't determine free version")
--    return tuple(map(int, out.split()[-1].split('.')))
--
-+    vlist = out.split()[-1].split('.')
-+    vlist[:] = [n.split('-')[0] for n in vlist]
-+    return tuple(map(int, vlist))
- 
- @contextlib.contextmanager
- def mock_open_content(for_path, content):
-@@ -1289,6 +1290,7 @@ class TestRootFsDeviceFinder(PsutilTestCase):
-         finder.ask_sys_class_block()
- 
-     @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS")
-+    @unittest.skip("Broken for oe")
-     def test_comparisons(self):
-         finder = RootFsDeviceFinder()
-         self.assertIsNotNone(finder.find())
-@@ -1311,11 +1313,13 @@ class TestRootFsDeviceFinder(PsutilTestCase):
- 
-     @unittest.skipIf(not which("findmnt"), "findmnt utility not available")
-     @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS")
-+    @unittest.skip("Broken for oe")
-     def test_against_findmnt(self):
-         psutil_value = RootFsDeviceFinder().find()
-         findmnt_value = sh("findmnt -o SOURCE -rn /")
-         self.assertEqual(psutil_value, findmnt_value)
- 
-+    @unittest.skip("Broken for oe")
-     def test_disk_partitions_mocked(self):
-         with mock.patch(
-                 'psutil._pslinux.cext.disk_partitions',
-diff --git a/psutil/tests/test_misc.py b/psutil/tests/test_misc.py
-index d946eb6..121004a 100755
---- a/psutil/tests/test_misc.py
-+++ b/psutil/tests/test_misc.py
-@@ -54,6 +54,8 @@ from psutil.tests import unittest
- # ===================================================================
- 
- 
-+PSUTIL_DEBUG = bool(os.getenv('PSUTIL_DEBUG', 0))
-+
- class TestMisc(PsutilTestCase):
- 
-     def test_process__repr__(self, func=repr):
-@@ -368,6 +370,7 @@ class TestMisc(PsutilTestCase):
- 
-     # XXX: https://github.com/pypa/setuptools/pull/2896
-     @unittest.skipIf(APPVEYOR, "temporarily disabled due to setuptools bug")
-+    @unittest.skip("OE run this test outof source tree")
-     def test_setup_script(self):
-         setup_py = os.path.join(ROOT_DIR, 'setup.py')
-         if CI_TESTING and not os.path.exists(setup_py):
-@@ -401,6 +404,7 @@ class TestMisc(PsutilTestCase):
-                 reload_module(psutil)
-             self.assertIn("version conflict", str(cm.exception).lower())
- 
-+    @unittest.skipIf(not PSUTIL_DEBUG, "env PSUTIL_DEBUG not set")
-     def test_debug(self):
-         if PY3:
-             from io import StringIO
-diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py
-index c9059e3..a34ba3d 100755
---- a/psutil/tests/test_process.py
-+++ b/psutil/tests/test_process.py
-@@ -36,6 +36,7 @@ from psutil._compat import PY3
- from psutil._compat import FileNotFoundError
- from psutil._compat import long
- from psutil._compat import super
-+from psutil._compat import which
- from psutil.tests import APPVEYOR
- from psutil.tests import CI_TESTING
- from psutil.tests import GITHUB_ACTIONS
-@@ -726,6 +727,7 @@ class TestProcess(PsutilTestCase):
-             self.assertEqual(' '.join(p.cmdline()), ' '.join(cmdline))
- 
-     @unittest.skipIf(PYPY, "broken on PYPY")
-+    @unittest.skipIf(not which("gcc"), "gcc not installed")
-     def test_long_cmdline(self):
-         testfn = self.get_testfn()
-         create_exe(testfn)
-@@ -740,6 +742,7 @@ class TestProcess(PsutilTestCase):
-         assert pyexe.startswith(name), (pyexe, name)
- 
-     @unittest.skipIf(PYPY, "unreliable on PYPY")
-+    @unittest.skipIf(not which("gcc"), "gcc not installed")
-     def test_long_name(self):
-         testfn = self.get_testfn(suffix="0123456789" * 2)
-         create_exe(testfn)
-@@ -750,6 +753,7 @@ class TestProcess(PsutilTestCase):
-     @unittest.skipIf(SUNOS, "broken on SUNOS")
-     @unittest.skipIf(AIX, "broken on AIX")
-     @unittest.skipIf(PYPY, "broken on PYPY")
-+    @unittest.skipIf(not which("gcc"), "gcc not installed")
-     def test_prog_w_funky_name(self):
-         # Test that name(), exe() and cmdline() correctly handle programs
-         # with funky chars such as spaces and ")", see:
-@@ -1408,6 +1412,7 @@ class TestProcess(PsutilTestCase):
- 
-     @unittest.skipIf(not HAS_ENVIRON, "not supported")
-     @unittest.skipIf(not POSIX, "POSIX only")
-+    @unittest.skipIf(not which("gcc"), "gcc not installed")
-     def test_weird_environ(self):
-         # environment variables can contain values without an equals sign
-         code = textwrap.dedent("""
-diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py
-index db2cb34..5ee519f 100755
---- a/psutil/tests/test_system.py
-+++ b/psutil/tests/test_system.py
-@@ -580,6 +580,7 @@ class TestDiskAPIs(PsutilTestCase):
-     def test_disk_usage_bytes(self):
-         psutil.disk_usage(b'.')
- 
-+    @unittest.skip("Broken for oe")
-     def test_disk_partitions(self):
-         def check_ntuple(nt):
-             self.assertIsInstance(nt.device, str)
-diff --git a/psutil/tests/test_unicode.py b/psutil/tests/test_unicode.py
-index e635726..7ba5b0f 100755
---- a/psutil/tests/test_unicode.py
-+++ b/psutil/tests/test_unicode.py
-@@ -86,6 +86,7 @@ from psutil import POSIX
- from psutil import WINDOWS
- from psutil._compat import PY3
- from psutil._compat import u
-+from psutil._compat import which
- from psutil.tests import APPVEYOR
- from psutil.tests import ASCII_FS
- from psutil.tests import CI_TESTING
-@@ -156,7 +157,7 @@ def try_unicode(suffix):
- # FS APIs
- # ===================================================================
- 
--
-+@unittest.skipIf(not which("gcc"), "gcc not installed")
- class BaseUnicodeTest(PsutilTestCase):
-     funky_suffix = None
- 
-@@ -169,6 +170,7 @@ class BaseUnicodeTest(PsutilTestCase):
- @serialrun
- @unittest.skipIf(ASCII_FS, "ASCII fs")
- @unittest.skipIf(PYPY and not PY3, "too much trouble on PYPY2")
-+@unittest.skipIf(not which("gcc"), "gcc not installed")
- class TestFSAPIs(BaseUnicodeTest):
-     """Test FS APIs with a funky, valid, UTF8 path name."""
- 
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb b/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb
similarity index 81%
rename from poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb
rename to poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb
index df304f0..04b6fb0 100644
--- a/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-psutil_5.9.1.bb
@@ -3,12 +3,10 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b"
 HOMEPAGE = "https://pypi.org/project/psutil/"
 
-SRC_URI[sha256sum] = "869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25"
+SRC_URI[sha256sum] = "57f1819b5d9e95cdfb0c881a8a5b7d542ed0b7c522d575706a80bedc848c8954"
 
 inherit pypi setuptools3
 
-SRC_URI += "file://0001-fix-failure-test-cases.patch"
-
 PACKAGES =+ "${PN}-tests"
 
 FILES:${PN}-tests += " \
diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb
rename to poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb
index 060a6ff..b092912 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.8.0.bb
@@ -7,7 +7,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1"
 
-SRC_URI[sha256sum] = "95c44c77e3fbede9848bb88ca90b384815fcba8090ef9a9f55659ab163b1681c"
+SRC_URI[sha256sum] = "46eb376022e926950816ccc23502de3277adcc1396652ddb3328ce0289052c4d"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb b/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb
similarity index 75%
rename from poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb
rename to poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb
index 4101f48..0a24ca9 100644
--- a/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb
@@ -4,11 +4,15 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4fb31e3c1c7eeb8b5e8c07657cdd54e2"
 
-SRC_URI[sha256sum] = "abf54873553e5e07a6fd4d5f653b781f5ae41297a493666b59dcf214006a12b2"
+SRC_URI[sha256sum] = "bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c"
 
 PYPI_PACKAGE = "semantic_version"
 inherit pypi setuptools3
 
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-pkg-resources \
+"
+
 BBCLASSEXTEND = "native nativesdk"
 
 UPSTREAM_CHECK_REGEX = "/semantic-version/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb
index c9367c1..406a4bd 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_62.3.2.bb
@@ -11,7 +11,7 @@
 SRC_URI += "file://0001-change-shebang-to-python3.patch \
             file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
 
-SRC_URI[sha256sum] = "28c79c24d83c42a5e6d6cc711e5e9a6c1b89326229feaa5807fc277040658600"
+SRC_URI[sha256sum] = "a43bdedf853c670e5fed28e5623403bad2f73cf02f9a2774e91def6bda8265a7"
 
 DEPENDS += "${PYTHON_PN}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb
rename to poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb
index f4d27f3..93edd9d 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx_4.5.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb
@@ -6,7 +6,7 @@
 
 PYPI_PACKAGE = "Sphinx"
 
-SRC_URI[sha256sum] = "7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6"
+SRC_URI[sha256sum] = "464d9c1bd5613bcebe76b46658763f3f3dbb184da7406e632a84596d3cd8ee90"
 
 inherit setuptools3 pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb b/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb
similarity index 69%
rename from poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb
rename to poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb
index 26dbe51..39ff19c 100644
--- a/poky/meta/recipes-devtools/python/python3-webcolors_1.11.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-webcolors_1.12.bb
@@ -1,10 +1,9 @@
 SUMMARY = "Simple Python module for working with HTML/CSS color definitions."
 HOMEPAGE = "https://pypi.org/project/webcolors/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=25b90379a52351261c51272e7923d240"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bcf737478d2fa8af5bc954231df056c6"
 
-SRC_URI[md5sum] = "54d28a7c80b3e4d974ec2fee86768be9"
-SRC_URI[sha256sum] = "76f360636957d1c976db7466bc71dcb713bb95ac8911944dffc55c01cb516de6"
+SRC_URI[sha256sum] = "16d043d3a08fd6a1b1b7e3e9e62640d09790dce80d2bdd4792a175b35fe794a9"
 
 inherit pypi setuptools3 ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch b/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch
new file mode 100644
index 0000000..296b413
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch
@@ -0,0 +1,32 @@
+There are two issues here. Firstly, the modules are accessed in on disk order. This
+means behaviour seen on one system might not reproduce on another and is a real headache.
+
+Secondly, empty directories left behind by previous modules might be looked at. This
+has caused a long string of different issues for us.
+
+As a result, patch this to a behaviour which works for us.
+
+Upstream-Status: Pending [need to talk to upstream to see if they'll take one or both fixes]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+
+Index: Python-3.10.4/Lib/importlib/metadata/__init__.py
+===================================================================
+--- Python-3.10.4.orig/Lib/importlib/metadata/__init__.py
++++ Python-3.10.4/Lib/importlib/metadata/__init__.py
+@@ -819,7 +819,14 @@ class Lookup:
+         self.infos = FreezableDefaultDict(list)
+         self.eggs = FreezableDefaultDict(list)
+ 
+-        for child in path.children():
++        for child in sorted(path.children()):
++            childpath = pathlib.Path(path.root, child)
++            try:
++                if childpath.is_dir() and not any(childpath.iterdir()):
++                    # Empty directories aren't interesting
++                    continue
++            except PermissionError:
++                continue
+             low = child.lower()
+             if low.endswith((".dist-info", ".egg-info")):
+                 # rpartition is faster than splitext and suitable for this purpose.
diff --git a/poky/meta/recipes-devtools/python/python3_3.10.4.bb b/poky/meta/recipes-devtools/python/python3_3.10.4.bb
index 2ef3203..6bd3a6a 100644
--- a/poky/meta/recipes-devtools/python/python3_3.10.4.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.10.4.bb
@@ -33,6 +33,7 @@
            file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \
            file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \
            file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \
+           file://deterministic_imports.patch \
            "
 
 SRC_URI:append:class-native = " \
@@ -165,6 +166,9 @@
         # tarballs and sysroot creation.
         find ${D} -name *.pyc -delete
 
+        # Nothing should be looking into ${B} for python3-native
+        sed -i -e 's:${B}:/build/path/unavailable/:g' \
+                ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile
 }
 
 do_install:append() {
@@ -175,15 +179,16 @@
 
         mkdir -p ${D}${libdir}/python-sysconfigdata
         sysconfigfile=`find ${D} -name _sysconfig*.py`
-        cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
-
         sed -i  \
                 -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
                 -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
                 -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
                 -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \
                 -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
-                ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+                -e "s,${B},/build/path/unavailable/,g" \
+                $sysconfigfile
+        cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+
 
         # Unfortunately the following pyc files are non-deterministc due to 'frozenset'
         # being written without strict ordering, even with PYTHONHASHSEED = 0
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 5f30399..e4ced6a 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -9,7 +9,7 @@
 RDEPENDS:${PN}-ptest = "bash"
 
 require qemu-targets.inc
-inherit pkgconfig ptest python3-dir
+inherit pkgconfig ptest
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
                     file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
@@ -111,11 +111,7 @@
 }
 
 do_configure() {
-	# This is taken from meson.bbclass to avoid errors when updating to a
-	# new version of meson.
-	rmdir ${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages/*.egg-info 2>/dev/null || :
-
-	${S}/configure ${EXTRA_OECONF}
+    ${S}/configure ${EXTRA_OECONF}
 }
 do_configure[cleandirs] += "${B}"
 
diff --git a/poky/meta/recipes-devtools/repo/repo_2.25.bb b/poky/meta/recipes-devtools/repo/repo_2.26.bb
similarity index 94%
rename from poky/meta/recipes-devtools/repo/repo_2.25.bb
rename to poky/meta/recipes-devtools/repo/repo_2.26.bb
index b733251..ff5b7eb 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.25.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.26.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
            file://0001-python3-shebang.patch \
            "
-SRCREV = "501733c2abb1180679f25b2f78970d73a2f8d413"
+SRCREV = "bdcba7dc36f1c8e6041681eb5b3b5229c93c7c5c"
 
 MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
 
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 4e009d2..0a7e0f2 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -18,7 +18,7 @@
 
 EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
 
-PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible"
+PACKAGECONFIG ??= "gzip xz lz4 lzma xattr zstd reproducible"
 PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
 PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
 PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch
index 9f1da7b..073713c 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch
@@ -10,7 +10,7 @@
 Fixes
 | cc1: warning: switch -mcpu=cortex-a8 conflicts with -march=armv7ve switch
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch b/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
index 5fcfec0..82b8344 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
@@ -8,7 +8,7 @@
 possible, but fallback to C when building for ARM targets which don't
 support neon.
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346]
 
 Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
 ---
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
index adea405..f15d04b 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
@@ -15,7 +15,7 @@
 
 See similar cases in none/tests/arm/Makefile.am
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346]
 
 Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
 ---
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
similarity index 94%
rename from poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb
rename to poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
index 4ab9edb..e112eb5 100644
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.0.bb
@@ -10,7 +10,7 @@
                     "
 
 SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
-SRCREV = "c724bbf95b1840b04bb298a61a72b6a5ea94c2ef"
+SRCREV = "545b79b8d7dae70d12bf0657359bdd36de0c5c26"
 
 DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 
diff --git a/poky/meta/recipes-extended/bash/bash/makerace2.patch b/poky/meta/recipes-extended/bash/bash/makerace2.patch
index 43cdd04..abb51a5 100644
--- a/poky/meta/recipes-extended/bash/bash/makerace2.patch
+++ b/poky/meta/recipes-extended/bash/bash/makerace2.patch
@@ -11,7 +11,7 @@
 
 See [YOCTO #14227]
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://savannah.gnu.org/patch/index.php?10210]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
 Index: bash-5.1.8/builtins/Makefile.in
diff --git a/poky/meta/recipes-extended/cups/cups_2.4.1.bb b/poky/meta/recipes-extended/cups/cups_2.4.1.bb
deleted file mode 100644
index 27c88f8..0000000
--- a/poky/meta/recipes-extended/cups/cups_2.4.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[sha256sum] = "c7339f75f8d4f2dec50c673341a45fc06b6885bb6d4366d6bf59a4e6c10ae178"
diff --git a/poky/meta/recipes-extended/cups/cups_2.4.2.bb b/poky/meta/recipes-extended/cups/cups_2.4.2.bb
new file mode 100644
index 0000000..f5ca749
--- /dev/null
+++ b/poky/meta/recipes-extended/cups/cups_2.4.2.bb
@@ -0,0 +1,5 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "f03ccb40b087d1e30940a40e0141dcbba263f39974c20eb9f2521066c9c6c908"
diff --git a/poky/meta/recipes-extended/less/less_600.bb b/poky/meta/recipes-extended/less/less_600.bb
index 9ebe39d..f51083e 100644
--- a/poky/meta/recipes-extended/less/less_600.bb
+++ b/poky/meta/recipes-extended/less/less_600.bb
@@ -31,6 +31,7 @@
 SRC_URI[sha256sum] = "6633d6aa2b3cc717afb2c205778c7c42c4620f63b1d682f3d12c98af0be74d20"
 
 UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 inherit autotools update-alternatives
 
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb
index c795b41..761cfca 100644
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.6.1.bb
@@ -7,7 +7,7 @@
 
 DEPENDS = "e2fsprogs-native"
 
-PACKAGECONFIG ?= "zlib bz2 xz lzo zstd"
+PACKAGECONFIG ?= "zlib bz2 xz zstd"
 
 PACKAGECONFIG:append:class-target = "\
 	${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb
similarity index 97%
rename from poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb
rename to poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb
index 2a60d9b..3597753 100644
--- a/poky/meta/recipes-extended/logrotate/logrotate_3.19.0.bb
+++ b/poky/meta/recipes-extended/logrotate/logrotate_3.20.1.bb
@@ -15,7 +15,7 @@
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
 
-SRC_URI[sha256sum] = "ddd5274d684c5c99ca724e8069329f343ebe376e07493d537d9effdc501214ba"
+SRC_URI[sha256sum] = "742f6d6e18eceffa49a4bacd933686d3e42931cfccfb694d7f6369b704e5d094"
 
 # These CVEs are debian, gentoo or SUSE specific on the way logrotate was installed/used
 CVE_CHECK_IGNORE += "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550"
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch b/poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch
deleted file mode 100644
index e8d9f21..0000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4aad23f208cc7725cd61bbe5aaadb9994c794cd0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Wed, 26 Jan 2022 20:58:46 +0100
-Subject: [PATCH] metadata/parse.sh: sort filelist for reproducibility
-
-find does not guarantee the order of the files.
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/907]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- metadata/parse.sh | 2 +-
-
-diff --git a/metadata/parse.sh b/metadata/parse.sh
-index b43d024c68..1811665bfe 100755
---- a/metadata/parse.sh
-+++ b/metadata/parse.sh
-@@ -29,7 +29,7 @@ echo ' "tests": {'
- 
- first=1
- 
--for test in `find testcases/ -name '*.c'`; do
-+for test in `find testcases/ -name '*.c'|sort`; do
- 	a=$($top_builddir/metadata/metaparse -Iinclude -Itestcases/kernel/syscalls/utils/ "$test")
- 	if [ -n "$a" ]; then
- 		if [ -z "$first" ]; then
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp_20220121.bb b/poky/meta/recipes-extended/ltp/ltp_20220527.bb
similarity index 91%
rename from poky/meta/recipes-extended/ltp/ltp_20220121.bb
rename to poky/meta/recipes-extended/ltp/ltp_20220527.bb
index 8a13dcf..b3ef8f5 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20220121.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20220527.bb
@@ -22,11 +22,10 @@
 
 CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
 CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "b0561ad8d9ee9fe1244b5385e941eb65a21e91a1"
+SRCREV = "6f88e0f6f1d6eb12c48c902f50f47ecbd3b0f18a"
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
            file://0001-Remove-OOM-tests-from-runtest-mm.patch \
-           file://0001-metadata-parse.sh-sort-filelist-for-reproducibility.patch \
            file://disable_hanging_tests.patch \
            "
 
@@ -34,6 +33,12 @@
 
 inherit autotools-brokensep pkgconfig
 
+# Version 20220527 added KVM test infrastructure which currently fails to build with gold due to
+# SORT_NONE in linker script which isn't supported by gold:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
+# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
+
 TARGET_CC_ARCH += "${LDFLAGS}"
 
 export prefix = "/opt/${PN}"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb
similarity index 96%
rename from poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb
rename to poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb
index 7043f3d..4e6da70 100644
--- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb
@@ -14,7 +14,7 @@
            file://sysklogd \
            "
 
-SRCREV = "03c2c9c68d5d02675326527774e7e9cba3490ba0"
+SRCREV = "7dc4783af8e8e0d200d38a87b6a4bc9bbec5ce92"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb
similarity index 65%
rename from poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb
rename to poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb
index fe3db4d..273c5c1 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb
+++ b/poky/meta/recipes-extended/sysstat/sysstat_12.6.0.bb
@@ -4,4 +4,4 @@
 
 SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch"
 
-SRC_URI[sha256sum] = "ef445acea301bbb996e410842f6290a8d049e884d4868cfef7e85dc04b7eee5b"
+SRC_URI[sha256sum] = "699fd948836d77f9ad0541fd5dcf75cd2505f9da4ec14df669286ad047c23d97"
diff --git a/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
index 716766d..5a6d194 100644
--- a/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
+++ b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
@@ -6,7 +6,7 @@
 Ensures that right flags from recipes are honored, otherwise tests fail
 which otherwise should not.
 
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  unix/configure | 28 ++++++++++++++--------------
diff --git a/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch b/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
index 6ba2b87..c010344 100644
--- a/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
+++ b/poky/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
@@ -20,7 +20,7 @@
 
 CVE: CVE-2021-4217
 
-Upstream-Status: Pending [infozip upstream inactive]
+Upstream-Status: Inactive-Upstream [infozip upstream inactive]
 
 Signed-off-by: Joe Slater <joe.slater@windriver.com>
 
diff --git a/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch b/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch
index e0c89d8..70bedc8 100644
--- a/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch
+++ b/poky/meta/recipes-extended/unzip/unzip/avoid-strip.patch
@@ -1,4 +1,4 @@
-Upstream-Status: Inappropriate [need a new release]
+Upstream-Status: Inactive-Upstream [need a new release]
 
 unix/Makefile: remove hard coded strip commands
 
diff --git a/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch b/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch
index dc554c3..dd01c01 100644
--- a/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch
+++ b/poky/meta/recipes-extended/unzip/unzip/define-ldflags.patch
@@ -1,6 +1,6 @@
 Pass LDFLAGS to the linker 
 
-Upstream-Status: Inappropriate [need a new release]
+Upstream-Status: Inactive-Upstream [need a new release]
 
 Signed-off-by: Mikhail Durnev <Mikhail_Durnev@mentor.com>
 
diff --git a/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch b/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch
index ba6ead3..2889c65 100644
--- a/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch
+++ b/poky/meta/recipes-extended/unzip/unzip/fix-security-format.patch
@@ -5,7 +5,7 @@
 [YOCTO #9551]
 [https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551]
 
-Upstream-Status: Inappropriate [need a new release]
+Upstream-Status: Inactive-Upstream [need a new release]
 
 Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
 
diff --git a/poky/meta/recipes-extended/unzip/unzip/symlink.patch b/poky/meta/recipes-extended/unzip/unzip/symlink.patch
index c1d82ac..26f1c8b 100644
--- a/poky/meta/recipes-extended/unzip/unzip/symlink.patch
+++ b/poky/meta/recipes-extended/unzip/unzip/symlink.patch
@@ -6,7 +6,7 @@
 
 This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427)
 
-Upstream-Status: Inappropriate [need a new release]
+Upstream-Status: Inactive-Upstream [need a new release]
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 
 --- unzip60/process.c.sav	2013-06-09 12:08:57.070392264 +0200
diff --git a/poky/meta/recipes-extended/watchdog/watchdog-config.bb b/poky/meta/recipes-extended/watchdog/watchdog-config.bb
index a28d280..f138952 100644
--- a/poky/meta/recipes-extended/watchdog/watchdog-config.bb
+++ b/poky/meta/recipes-extended/watchdog/watchdog-config.bb
@@ -13,8 +13,15 @@
     file://watchdog.conf \
 "
 
+# The default value is 60 seconds when null.
+WATCHDOG_TIMEOUT ??= ""
+
 do_install() {
     install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog
     install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf
+
+    if [ -n "${WATCHDOG_TIMEOUT}" ]; then
+        echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf
+    fi
 }
 
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
index 475a653..92d0d5d 100644
--- a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
+++ b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
@@ -8,7 +8,7 @@
 configure detection go wrong, ensure these flags are used along with CC
 when tests involve linking
 
-Upstream-Status: Pending
+Upstream-Status: Inactive-Upstream
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
  unix/configure | 16 ++++++++--------
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
index 244ddea..6fd04df 100644
--- a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
+++ b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
@@ -2,7 +2,7 @@
 Subject: Remove (optional) build date to make the build reproducible
 Bug-Debian: http://bugs.debian.org/779042
 
-Upstream-Status: Inappropriate [no upstream]
+Upstream-Status: Inactive-Upstream [no upstream]
 
 Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
 
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch b/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
index 5cdbf22..f85fddb 100644
--- a/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
+++ b/poky/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
@@ -14,7 +14,7 @@
 [YOCTO #9552]
 [https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552]
 
-Upstream-Status: Inappropriate [need a new release]
+Upstream-Status: Inactive-Upstream [need a new release]
 
 Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
 
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch b/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
index ce6caff..77ade40 100644
--- a/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
+++ b/poky/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
@@ -4,7 +4,7 @@
 
 Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
 
-Upstream-Status: Inappropriate [no upstream]
+Upstream-Status: Inactive-Upstream [no upstream]
 
 diff --git a/zipnote.c b/zipnote.c
 index 5e02cb6..996f012 100644
diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb
index 717c31c..b6e591f 100644
--- a/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb
+++ b/poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb
@@ -22,7 +22,10 @@
 
 SRC_URI[archive.sha256sum] = "b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5"
 
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
+PACKAGECONFIG ??= " \
+	${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
+"
 PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3"
 
 FILES:${PN} += " \
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb
similarity index 88%
rename from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb
rename to poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb
index fb9e29d..f862e14 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.34.bb
@@ -7,7 +7,7 @@
            file://0003-Add-disable-opengl-configure-option.patch \
            file://link_fribidi.patch \
            "
-SRC_URI[sha256sum] = "588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801"
+SRC_URI[sha256sum] = "dbc69f90ddc821b8d1441f00374dc1da4323a2eafa9078e61edbe5eeefa852ec"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb
similarity index 95%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb
index 05d5aef..909b8c5 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.2.1.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb
@@ -12,7 +12,7 @@
 UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "bd17916513829aeff961359a5ccebba6de2f4bf37a91faee3ac29c120e3d7ee1"
+SRC_URI[sha256sum] = "a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530"
 
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection
 
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
index b112d63..8519e7f 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.22.bb
@@ -43,7 +43,9 @@
                  -DSDL_PTHREADS=ON \
                  -DSDL_RPATH=OFF \
                  -DSDL_SNDIO=OFF \
+                 -DSDL_X11_XVM=OFF \
                  -DSDL_X11_XCURSOR=OFF \
+                 -DSDL_X11_XINERAMA=OFF \
                  -DSDL_X11_XDBE=OFF \
                  -DSDL_X11_XFIXES=OFF \
                  -DSDL_X11_XINPUT=OFF \
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch
deleted file mode 100644
index e31827d..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch
+++ /dev/null
@@ -1,382 +0,0 @@
-From 779438770bedf3d53e6ad8f7cd6889b7f50daf3b Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Wed, 9 Jul 2014 14:23:41 +0200
-Subject: [PATCH] configure: Allow to disable demos which require GLEW or GLU
-
-* in some systems without X11 support we don't have GLEW, but
-  mesa-demos are still useful
-
-This isn't currently appropriate for upstream submission as glew has
-been replaced with glad there; glu situation would need to be re-assesed
-when upstream makes a new release, requested here:
-https://gitlab.freedesktop.org/mesa/demos/-/issues/22
-
-Upstream-Status: Inappropriate [see above]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Port to 8.3.0
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- configure.ac                  | 49 ++++++++++++++++++++---------
- src/Makefile.am               | 18 ++++++++---
- src/demos/Makefile.am         | 73 ++++++++++++++++++++++++-------------------
- src/egl/Makefile.am           |  8 +++--
- src/egl/opengles1/Makefile.am | 10 ++++--
- src/egl/opengles2/Makefile.am | 29 ++++++++---------
- 6 files changed, 117 insertions(+), 70 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0525b09..28834cd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile],
- 		[AC_DEFINE(HAVE_FREEGLUT)],
- 		[])
- 
--dnl Check for GLEW
--PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4])
--DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS"
--DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS"
-+AC_ARG_ENABLE([glew],
-+    [AS_HELP_STRING([--enable-glew],
-+        [build demos which require glew @<:@default=yes@:>@])],
-+    [enable_glew="$enableval"],
-+    [enable_glew=yes]
-+)
-+
-+if test "x$enable_glew" = xyes; then
-+    dnl Check for GLEW
-+    PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4], [glew_enabled=yes], [glew_enabled=no])
-+    DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS"
-+    DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS"
-+fi
- 
- # LIBS was set by AC_CHECK_LIB above
- LIBS=""
- 
--PKG_CHECK_MODULES(GLU, [glu], [],
--		  [AC_CHECK_HEADER([GL/glu.h],
--				   [],
--		  		   AC_MSG_ERROR([GLU not found]))
--		   AC_CHECK_LIB([GLU],
--				[gluBeginCurve],
--				[GLU_LIBS=-lGLU],
--				AC_MSG_ERROR([GLU required])) ])
-+AC_ARG_ENABLE([glu],
-+    [AS_HELP_STRING([--enable-glu],
-+        [build demos which require glu @<:@default=yes@:>@])],
-+    [enable_glu="$enableval"],
-+    [enable_glu=yes]
-+)
- 
--DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
--DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
-+if test "x$enable_glu" = xyes; then
-+    PKG_CHECK_MODULES(GLU, [glu], [glu_enabled=yes],
-+                     [AC_CHECK_HEADER([GL/glu.h],
-+                                      [],
-+                                      AC_MSG_ERROR([GLU not found]))
-+                      AC_CHECK_LIB([GLU],
-+                                   [gluBeginCurve],
-+                                   [GLU_LIBS=-lGLU
-+				    glu_enabled=yes],
-+                                   AC_MSG_ERROR([GLU required])) ])
-+
-+    DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS"
-+    DEMO_LIBS="$DEMO_LIBS $GLU_LIBS"
-+fi
- 
- AC_ARG_ENABLE([egl],
-     [AS_HELP_STRING([--enable-egl],
-@@ -304,6 +323,8 @@ AC_SUBST([WAYLAND_CFLAGS])
- AC_SUBST([WAYLAND_LIBS])
- 
- 
-+AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes")
-+AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes")
- AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes")
- AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes")
- AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes")
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 1647d64..8b89dee 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -22,15 +22,19 @@
- # Authors:
- #    Eric Anholt <eric@anholt.net>
- 
-+if HAVE_GLEW
-+UTIL = util
-+endif
-+
- SUBDIRS = \
--	util \
-+	$(UTIL) \
- 	data \
- 	demos \
- 	egl \
- 	fp \
- 	fpglsl \
- 	glsl \
--        gs \
-+	gs \
- 	objviewer \
- 	osdemos \
- 	perf \
-@@ -40,8 +44,12 @@ SUBDIRS = \
- 	slang \
- 	tests \
- 	tools \
--	trivial \
--	vp \
--	vpglsl \
- 	wgl \
- 	xdemos
-+
-+if HAVE_GLEW
-+SUBDIRS += \
-+	vp \
-+	vpglsl \
-+	trivial
-+endif
-diff --git a/src/demos/Makefile.am b/src/demos/Makefile.am
-index 41603fa..ab1e3ab 100644
---- a/src/demos/Makefile.am
-+++ b/src/demos/Makefile.am
-@@ -30,91 +30,100 @@ AM_LDFLAGS = \
- 	$(DEMO_LIBS) \
- 	$(GLUT_LIBS)
- 
-+bin_PROGRAMS =
-+
- if HAVE_GLUT
--bin_PROGRAMS = \
-+if HAVE_GLEW
-+bin_PROGRAMS += \
- 	arbfplight \
- 	arbfslight \
- 	arbocclude \
- 	arbocclude2 \
--	bounce \
--	clearspd \
- 	copypix \
- 	cubemap \
- 	cuberender \
- 	dinoshade \
--	dissolve \
--	drawpix \
- 	engine \
- 	fbo_firecube \
- 	fbotexture \
--	fire \
- 	fogcoord \
- 	fplight \
- 	fslight \
-+	gloss \
-+	isosurf \
-+	multiarb \
-+	paltex \
-+	pointblast \
-+	projtex \
-+	shadowtex \
-+	spriteblast \
-+	stex3d \
-+	textures \
-+	vao_demo \
-+	winpos
-+
-+copypix_LDADD = ../util/libutil.la
-+cubemap_LDADD = ../util/libutil.la
-+cuberender_LDADD = ../util/libutil.la
-+engine_LDADD = ../util/libutil.la
-+fbo_firecube_LDADD = ../util/libutil.la
-+gloss_LDADD = ../util/libutil.la
-+isosurf_LDADD = ../util/libutil.la
-+multiarb_LDADD = ../util/libutil.la
-+projtex_LDADD = ../util/libutil.la
-+textures_LDADD = ../util/libutil.la
-+winpos_LDADD = ../util/libutil.la
-+endif
-+
-+if HAVE_GLU
-+bin_PROGRAMS += \
-+	bounce \
-+	clearspd \
-+	dissolve \
-+	drawpix \
-+	fire \
- 	gamma \
- 	gearbox \
- 	gears \
- 	geartrain \
- 	glinfo \
--	gloss \
- 	gltestperf \
- 	ipers \
--	isosurf \
- 	lodbias \
- 	morph3d \
--	multiarb \
--	paltex \
- 	pixeltest \
--	pointblast \
--	projtex \
- 	ray \
- 	readpix \
- 	reflect \
- 	renormal \
--	shadowtex \
- 	singlebuffer \
- 	spectex \
--	spriteblast \
--	stex3d \
- 	teapot \
- 	terrain \
- 	tessdemo \
- 	texcyl \
- 	texenv \
--	textures \
- 	trispd \
- 	tunnel2 \
--	tunnel \
--	vao_demo \
--	winpos
--endif
-+	tunnel
- 
- tunnel_SOURCES = \
- 	tunnel.c \
- 	tunneldat.h
- 
--copypix_LDADD = ../util/libutil.la
--cubemap_LDADD = ../util/libutil.la
--cuberender_LDADD = ../util/libutil.la
--drawpix_LDADD = ../util/libutil.la
- dissolve_LDADD = ../util/libutil.la
--engine_LDADD = ../util/libutil.la
--fbo_firecube_LDADD = ../util/libutil.la
-+drawpix_LDADD = ../util/libutil.la
- fire_LDADD = ../util/libutil.la
--gloss_LDADD = ../util/libutil.la
- ipers_LDADD = ../util/libutil.la
--isosurf_LDADD = ../util/libutil.la
- lodbias_LDADD = ../util/libutil.la
--multiarb_LDADD = ../util/libutil.la
--projtex_LDADD = ../util/libutil.la
- readpix_LDADD = ../util/libutil.la
- reflect_LDADD = ../util/libutil.la
- teapot_LDADD = ../util/libutil.la
- texcyl_LDADD = ../util/libutil.la
--textures_LDADD = ../util/libutil.la
- tunnel_LDADD = ../util/libutil.la
- tunnel2_LDADD = ../util/libutil.la
--winpos_LDADD = ../util/libutil.la
-+endif
-+endif
- 
- EXTRA_DIST = \
- 	README
-diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am
-index d64a49e..4fe1ca8 100644
---- a/src/egl/Makefile.am
-+++ b/src/egl/Makefile.am
-@@ -24,8 +24,12 @@
- 
- SUBDIRS = \
- 	eglut \
--	opengl \
--	openvg \
- 	opengles1 \
- 	opengles2 \
- 	oes_vg
-+
-+if HAVE_GLU
-+SUBDIRS += \
-+	opengl \
-+	openvg
-+endif
-diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am
-index fa397c2..21853e8 100644
---- a/src/egl/opengles1/Makefile.am
-+++ b/src/egl/opengles1/Makefile.am
-@@ -36,9 +36,12 @@ AM_LDFLAGS = \
- 	$(EGL_LIBS) \
- 	-lm
- 
-+noinst_PROGRAMS =
-+
- if HAVE_EGL
- if HAVE_GLESV1
--noinst_PROGRAMS = \
-+if HAVE_X11
-+bin_PROGRAMS = \
- 	bindtex \
- 	clear \
- 	drawtex_x11 \
-@@ -52,8 +55,6 @@ noinst_PROGRAMS = \
- 	torus_x11 \
- 	tri_x11 \
- 	two_win
--endif
--endif
- 
- bindtex_LDADD = $(X11_LIBS)
- es1_info_LDADD = $(X11_LIBS)
-@@ -76,3 +77,6 @@ drawtex_x11_LDADD = ../eglut/libeglut_x11.la
- gears_x11_LDADD = ../eglut/libeglut_x11.la
- torus_x11_LDADD = ../eglut/libeglut_x11.la
- tri_x11_LDADD = ../eglut/libeglut_x11.la
-+endif
-+endif
-+endif
-diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am
-index b80ba50..17f8d49 100644
---- a/src/egl/opengles2/Makefile.am
-+++ b/src/egl/opengles2/Makefile.am
-@@ -33,27 +33,28 @@ AM_LDFLAGS = \
- 	$(EGL_LIBS) \
- 	-lm
- 
-+bin_PROGRAMS =
-+
- if HAVE_EGL
- if HAVE_GLESV2
--bin_PROGRAMS =
--if HAVE_X11
--bin_PROGRAMS += \
--	es2_info \
--	es2gears_x11 \
--	es2tri
--endif
- if HAVE_WAYLAND
- bin_PROGRAMS += es2gears_wayland
--endif
--endif
-+
-+es2gears_wayland_SOURCES = es2gears.c
-+es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
- endif
- 
--es2_info_LDADD = $(X11_LIBS)
--es2tri_LDADD = $(X11_LIBS)
-+if HAVE_X11
-+bin_PROGRAMS += \
-+	es2tri \
-+	es2_info \
-+	es2gears_x11
- 
-+es2_info_LDADD = $(X11_LIBS)
- es2gears_x11_SOURCES = es2gears.c
--
- es2gears_x11_LDADD = ../eglut/libeglut_x11.la
-+es2tri_LDADD = $(X11_LIBS)
-+endif
-+endif
-+endif
- 
--es2gears_wayland_SOURCES = es2gears.c
--es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
deleted file mode 100644
index b27d9ea..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 2e0367a941445a862ab99c54ec85d1357d0f73c0 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 10 Jul 2014 14:30:52 +0200
-Subject: [PATCH] Install few more test programs
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
----
- src/egl/opengl/Makefile.am | 3 +--
- src/egl/openvg/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am
-index 6d184ff6..ab09d028 100644
---- a/src/egl/opengl/Makefile.am
-+++ b/src/egl/opengl/Makefile.am
-@@ -57,8 +57,7 @@ endif
- 
- if HAVE_EGL
- bin_PROGRAMS = \
--	eglinfo
--noinst_PROGRAMS = \
-+	eglinfo \
- 	peglgears \
- 	$(EGL_DRM_DEMOS) \
- 	$(EGL_X11_DEMOS) \
-diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am
-index b0f1212f..5fd1cf83 100644
---- a/src/egl/openvg/Makefile.am
-+++ b/src/egl/openvg/Makefile.am
-@@ -49,7 +49,7 @@ endif
- 
- if HAVE_EGL
- if HAVE_VG
--noinst_PROGRAMS = \
-+bin_PROGRAMS = \
- 	$(EGL_X11_DEMOS)
- endif
- endif
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
deleted file mode 100644
index a6d1681..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 894add34c2b5e6b4ccc78996bf681d7ec7bc9e36 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 10 Jul 2014 14:29:27 +0200
-Subject: [PATCH] glsl, perf: Add few missing .glsl, .vert, .frag files to
- EXTRA_DATA
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- src/fpglsl/Makefile.am |  2 ++
- src/glsl/Makefile.am   | 10 ++++++++--
- src/perf/Makefile.am   |  6 ++++++
- src/vpglsl/Makefile.am |  1 +
- 4 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
-index 47c1039f..fd43c919 100644
---- a/src/fpglsl/Makefile.am
-+++ b/src/fpglsl/Makefile.am
-@@ -39,10 +39,12 @@ noinst_PROGRAMS = \
- endif
- 
- EXTRA_DIST = \
-+	depth-read.glsl \
- 	dowhile2.glsl \
- 	dowhile.glsl \
- 	forbreak.glsl \
- 	for.glsl \
-+	infinite-loop.glsl \
- 	mov.glsl \
- 	mov-imm.glsl \
- 	simpleif.glsl \
-diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
-index 4faa8dbf..079a29d8 100644
---- a/src/glsl/Makefile.am
-+++ b/src/glsl/Makefile.am
-@@ -37,7 +37,7 @@ AM_LDFLAGS = \
- if HAVE_GLUT
- bin_PROGRAMS = \
- 	array \
--        bezier \
-+	bezier \
- 	bitmap \
- 	brick \
- 	bump \
-@@ -123,12 +123,16 @@ EXTRA_DIST = \
- 	CH06-brick.vert \
- 	CH11-bumpmap.frag \
- 	CH11-bumpmap.vert \
-+	CH11-bumpmaptex.frag \
- 	CH11-toyball.frag \
- 	CH11-toyball.vert \
- 	CH18-mandel.frag \
- 	CH18-mandel.vert \
--        bezier.geom \
-+	bezier.geom \
- 	brick.shtest \
-+	blinking-teapot.frag \
-+	blinking-teapot.vert \
-+	convolution.frag \
- 	convolution.vert \
- 	cubemap.frag \
- 	mandelbrot.shtest \
-@@ -138,5 +142,7 @@ EXTRA_DIST = \
- 	reflect.vert \
- 	shadowtex.frag \
- 	simple.vert \
-+	simplex-noise.glsl \
- 	skinning.frag \
-+	skinning.vert \
- 	toyball.shtest
-diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
-index f0031fea..60069396 100644
---- a/src/perf/Makefile.am
-+++ b/src/perf/Makefile.am
-@@ -59,3 +59,9 @@ endif
- 
- glslstateschange_LDADD = libperf.la ../util/libutil.la
- glsl_compile_time_LDADD = ../util/libutil.la
-+
-+EXTRA_DIST = \
-+	glslstateschange1.frag \
-+	glslstateschange1.vert \
-+	glslstateschange2.frag \
-+	glslstateschange2.vert
-diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
-index 4a85ed40..48b08f48 100644
---- a/src/vpglsl/Makefile.am
-+++ b/src/vpglsl/Makefile.am
-@@ -44,6 +44,7 @@ EXTRA_DIST = \
- 	func2.glsl \
- 	ifelse.glsl \
- 	if.glsl \
-+	infinite-loop.glsl \
- 	mov.glsl \
- 	nestedifs.glsl \
- 	nestedswizzle.glsl \
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
deleted file mode 100644
index 8a98ba6..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 477ab6d90a17d8e4d3935be6ce8b8e154db0e3e5 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 10 Jul 2014 14:48:12 +0200
-Subject: [PATCH] glsl, perf: Install .glsl, .vert, .frag files
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- src/fpglsl/Makefile.am | 3 ++-
- src/glsl/Makefile.am   | 3 ++-
- src/perf/Makefile.am   | 3 ++-
- src/vpglsl/Makefile.am | 3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am
-index fd43c919..2bf51de4 100644
---- a/src/fpglsl/Makefile.am
-+++ b/src/fpglsl/Makefile.am
-@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
- 	fp-tri
- endif
- 
--EXTRA_DIST = \
-+demosdatadir=$(datadir)/$(PACKAGE)/
-+dist_demosdata_DATA= \
- 	depth-read.glsl \
- 	dowhile2.glsl \
- 	dowhile.glsl \
-diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
-index 079a29d8..f66ec299 100644
---- a/src/glsl/Makefile.am
-+++ b/src/glsl/Makefile.am
-@@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la
- vert_tex_LDADD = ../util/libutil.la
- vsraytrace_LDADD = ../util/libutil.la
- 
--EXTRA_DIST = \
-+demosdatadir=$(datadir)/$(PACKAGE)/
-+dist_demosdata_DATA= \
- 	CH06-brick.frag \
- 	CH06-brick.vert \
- 	CH11-bumpmap.frag \
-diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am
-index 60069396..469bdf45 100644
---- a/src/perf/Makefile.am
-+++ b/src/perf/Makefile.am
-@@ -60,7 +60,8 @@ endif
- glslstateschange_LDADD = libperf.la ../util/libutil.la
- glsl_compile_time_LDADD = ../util/libutil.la
- 
--EXTRA_DIST = \
-+demosdatadir=$(datadir)/$(PACKAGE)/
-+dist_demosdata_DATA= \
- 	glslstateschange1.frag \
- 	glslstateschange1.vert \
- 	glslstateschange2.frag \
-diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am
-index 48b08f48..55268675 100644
---- a/src/vpglsl/Makefile.am
-+++ b/src/vpglsl/Makefile.am
-@@ -38,7 +38,8 @@ noinst_PROGRAMS = \
- 	vp-tris
- endif
- 
--EXTRA_DIST = \
-+demosdatadir=$(datadir)/$(PACKAGE)/
-+dist_demosdata_DATA= \
- 	for.glsl \
- 	func.glsl \
- 	func2.glsl \
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch
deleted file mode 100644
index c687647..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-demos/0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 3aa84c47e88a4c38446ce1323abf6f2c77389104 Mon Sep 17 00:00:00 2001
-From: Prabhu <prabhu.sundararaj@freescale.com>
-Date: Mon, 16 Nov 2015 17:09:32 -0600
-Subject: [PATCH] mesa-demos: OpenVG demos with single frame need eglSwapBuffer
-
-sp and text demos rendering single frame. to display the
-single frame rendered needed a eglSwapBuffer to diplay to window.
-Hence added eglutPostRedisplay to display the frame
-
-Upstream-Status: Pending
-
-Signed-off-by: Prabhu <prabhu.sundararaj@freescale.com>
----
- src/egl/openvg/sp.c   | 1 +
- src/egl/openvg/text.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/src/egl/openvg/sp.c b/src/egl/openvg/sp.c
-index a20c0a3..468e91e 100644
---- a/src/egl/openvg/sp.c
-+++ b/src/egl/openvg/sp.c
-@@ -500,6 +500,7 @@ draw(void)
-    }
- 
-    vgFlush();
-+   eglutPostRedisplay();
- }
- 
- 
-diff --git a/src/egl/openvg/text.c b/src/egl/openvg/text.c
-index f5c6de8..492581c 100644
---- a/src/egl/openvg/text.c
-+++ b/src/egl/openvg/text.c
-@@ -360,6 +360,7 @@ display(void)
- {
-    vgClear(0, 0, width, height);
-    glyph_string_draw(10.0, 10.0);
-+   eglutPostRedisplay();
- }
- 
- 
--- 
-2.5.1
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
deleted file mode 100644
index 01e5b35..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Mesa demo applications"
-DESCRIPTION = "This package includes the demonstration application, such as glxgears. \
-These applications can be used for Mesa validation and benchmarking."
-HOMEPAGE = "http://mesa3d.org"
-BUGTRACKER = "https://bugs.freedesktop.org"
-SECTION = "x11"
-
-LICENSE = "MIT & PD"
-LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
-                    file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
-
-SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \
-           file://0001-mesa-demos-Add-missing-data-files.patch \
-           file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \
-           file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
-           file://0007-Install-few-more-test-programs.patch \
-           file://0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch \
-           file://0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch \
-           file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \
-           "
-SRC_URI[md5sum] = "6b65a02622765522176d00f553086fa3"
-SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d"
-
-inherit autotools pkgconfig features_check
-# depends on virtual/egl, virtual/libgl ...
-REQUIRED_DISTRO_FEATURES = "opengl x11"
-
-PACKAGECONFIG ?= "drm osmesa freetype2 gbm egl gles1 gles2 \
-                  x11 glew glu"
-
-# The Wayland code doesn't work with Wayland 1.0, so disable it for now
-#${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
-
-EXTRA_OECONF = "--with-system-data-files"
-
-PACKAGECONFIG[drm] = "--enable-libdrm,--disable-libdrm,libdrm"
-PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
-PACKAGECONFIG[freetype2] = "--enable-freetype2,--disable-freetype2,freetype"
-PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgl"
-PACKAGECONFIG[gles1] = "--enable-gles1,--disable-gles1,virtual/libgles1"
-PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
-PACKAGECONFIG[glut] = "--with-glut=${STAGING_EXECPREFIXDIR},--without-glut,freeglut"
-PACKAGECONFIG[osmesa] = "--enable-osmesa,--disable-osmesa,"
-PACKAGECONFIG[vg] = "--enable-vg,--disable-vg,virtual/libopenvg"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,virtual/libgl wayland"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11"
-PACKAGECONFIG[glew] = "--enable-glew,--disable-glew,glew"
-PACKAGECONFIG[glu] = "--enable-glu,--disable-glu,virtual/libgl"
-
-do_install:append() {
-	# it can be completely empty when all PACKAGECONFIG options are disabled
-	rmdir --ignore-fail-on-non-empty ${D}${bindir}
-
-	if [ -f ${D}${bindir}/clear ]; then
-        	mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos
-	fi
-}
diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb
new file mode 100644
index 0000000..6e9b95e
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.5.0.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Mesa demo applications"
+DESCRIPTION = "This package includes the demonstration application, such as glxgears. \
+These applications can be used for Mesa validation and benchmarking."
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+
+LICENSE = "MIT & PD"
+LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \
+                    file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
+
+SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \
+           file://0001-mesa-demos-Add-missing-data-files.patch \
+           file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \
+           "
+SRC_URI[sha256sum] = "cea2df0a80f09a30f635c4eb1a672bf90c5ddee0b8e77f4d70041668ef71aac1"
+
+inherit meson pkgconfig features_check
+# depends on virtual/egl, virtual/libgl ...
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+EXTRA_OEMESON = "-Dwith-system-data-files=true"
+
+PACKAGECONFIG ?= "drm egl gles1 gles2 \
+                  ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"
+
+PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm"
+PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
+PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1"
+PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2"
+PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},,freeglut"
+PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled,"
+PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native"
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu"
+
+do_install:append() {
+	# it can be completely empty when all PACKAGECONFIG options are disabled
+	rmdir --ignore-fail-on-non-empty ${D}${bindir}
+
+	if [ -f ${D}${bindir}/clear ]; then
+		mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos
+	fi
+}
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 28f76fe..08f664c 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -14,7 +14,7 @@
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "65892137809f7d0d4d7d65dd84af59902b3e7f1e"
+SRCREV = "a1a1824b38f1d7bfe851633db416c6bed84ba557"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr${SRCPV}"
 
diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb
index bd43776..dd48a29 100644
--- a/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb
@@ -20,6 +20,7 @@
 SRC_URI[sha256sum] = "b8a034154c7059772e0fdbd27dbfcda6c732df29cae56a82274f6ec5d7cd8725"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
 inherit meson pkgconfig ptest
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb
similarity index 94%
rename from poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb
index 34652e9..89093e6 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.4.1.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "106cec5263f9100a7e79b5f7220f889bc78e7d7ffc55d2b6fdb1efefb8024031"
+SRC_URI[sha256sum] = "943c07a1e2198026d8102b17270a1f406e4d3d6bbc4ae105b9e1b82d7d136b39"
 
 UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb
similarity index 91%
rename from poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb
rename to poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb
index 5215131..9e6d17c 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.35.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.36.bb
@@ -13,7 +13,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
 
 SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "18ce50ff0c74ae6093062bce1aeab3d363913ea35162fe271f8a0ce399de85cc"
+SRC_URI[sha256sum] = "1f1bb1292a161d520a3485d378609277d108cd07cde0327c16811ff54c3e1595"
 
 SECTION = "x11/libs"
 DEPENDS = "util-macros libxslt-native"
diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb
similarity index 95%
rename from poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb
rename to poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb
index b512b99..8c52613 100644
--- a/poky/meta/recipes-graphics/xwayland/xwayland_22.1.1.bb
+++ b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
 
 SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
-SRC_URI[sha256sum] = "f5d0e0ba37e19bb87c62f61da5970bd204939f2120620964bed4cc8495baa657"
+SRC_URI[sha256sum] = "743c4d56cfc0818755e2281d625d51860b41a473c641e179649a4f41776d1fca"
 
 UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb
index 6e328e5..10a7036 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220509.bb
@@ -69,6 +69,7 @@
     & WHENCE \
 "
 
+WHENCE_CHKSUM = "d3eb82686904888f8bbbe8d865371404"
 LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
                     file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
                     file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
@@ -132,7 +133,7 @@
                     file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
                     file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
                     file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-                    file://WHENCE;md5=d3eb82686904888f8bbbe8d865371404 \
+                    file://WHENCE;md5=${WHENCE_CHKSUM} \
                     "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -208,6 +209,11 @@
   file://0001-Makefile-replace-mkdir-by-install.patch \
 "
 
+BBCLASSEXTEND = "devupstream:target"
+SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git;protocol=https;branch=main"
+# Pin this to the 20220509 release, override this in local.conf
+SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
+
 SRC_URI[sha256sum] = "376e0b3d7b4f8aaa2abf7f5ab74803dcf14b06b94e3d841b1467cd9a2848255e"
 
 inherit allarch
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index ad206e4..ce903a7 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "a8d19259c63cbf1254fe545d0a1aacf8f82547ac"
-SRCREV_meta ?= "b368b4c1c8ee0e0e7573caa7f1596c3385ad855f"
+SRCREV_machine ?= "5629d552de7759e4bb9821e210f3673c14900dd0"
+SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.10.114"
+LINUX_VERSION ?= "5.10.119"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
index 6bfb8de..b052db8 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "b028c4baada43d48014d4350dd66debe7e4cf362"
-SRCREV_meta ?= "37891dc371e83a3451781dd81a8a85cccd60084b"
+SRCREV_machine ?= "83bec9a458bfdfb46c5dc62342bafae2806043d4"
+SRCREV_meta ?= "947149960e1426ace478e4b52c28a28ef8d6e74b"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.15.38"
+LINUX_VERSION ?= "5.15.44"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index 9a8e6ec..625cdfd 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.10.114"
+LINUX_VERSION ?= "5.10.119"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine:qemuarm ?= "a0664baa09b1c6265bd404e4d3a7ceb14577dcb8"
-SRCREV_machine ?= "63b2e48029f00bfc90371adc378050181ba5d253"
-SRCREV_meta ?= "b368b4c1c8ee0e0e7573caa7f1596c3385ad855f"
+SRCREV_machine:qemuarm ?= "50342ca6fc7dd66bfde9dfd1d6c336f99c55e0ab"
+SRCREV_machine ?= "d2cfd8b4499710877d54129a9137351a9de166fb"
+SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
index 0cf2d68..f611035 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
@@ -5,7 +5,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.15.38"
+LINUX_VERSION ?= "5.15.44"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -14,8 +14,8 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "7b1fe61102fd6efc26373305417cd683687eb7a0"
-SRCREV_meta ?= "37891dc371e83a3451781dd81a8a85cccd60084b"
+SRCREV_machine ?= "768cd295dfc0a311d2e53c1b05e19a246e184d0e"
+SRCREV_meta ?= "947149960e1426ace478e4b52c28a28ef8d6e74b"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index ffd9538..fcb7b83 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -13,23 +13,23 @@
 KBRANCH:qemux86-64 ?= "v5.10/standard/base"
 KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "49e2af0d85dc824c7829427c18e06ad2b1abbb8d"
-SRCREV_machine:qemuarm64 ?= "2b403ec0a7f60be807890902dbd0d5467bdef545"
-SRCREV_machine:qemumips ?= "793de0c2e4a3aa0e2f3091af8ff06df35f156fb3"
-SRCREV_machine:qemuppc ?= "9875eb3923e3d20893774ee7304142e2ce5ab22b"
-SRCREV_machine:qemuriscv64 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437"
-SRCREV_machine:qemuriscv32 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437"
-SRCREV_machine:qemux86 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437"
-SRCREV_machine:qemux86-64 ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437"
-SRCREV_machine:qemumips64 ?= "4c3d57cc8bec91ea6225a7c9f134fd97bc1e8e0d"
-SRCREV_machine ?= "8ce5741d3f6c0aa649aca5f89ee8d1022f530437"
-SRCREV_meta ?= "b368b4c1c8ee0e0e7573caa7f1596c3385ad855f"
+SRCREV_machine:qemuarm ?= "68264cfbddebea663543a7c4ad5131c6cf63d3d2"
+SRCREV_machine:qemuarm64 ?= "b95be3e8c15d939ce402775de98ab80eda493b11"
+SRCREV_machine:qemumips ?= "c6a8eaf00384dcce14bb9e28f2d68b5004e8c6f3"
+SRCREV_machine:qemuppc ?= "6c1e46f34c6b9ababf8c6fcb4c01274099bb034f"
+SRCREV_machine:qemuriscv64 ?= "f844c3765c3270321f0b3347992565cfdb938c99"
+SRCREV_machine:qemuriscv32 ?= "f844c3765c3270321f0b3347992565cfdb938c99"
+SRCREV_machine:qemux86 ?= "f844c3765c3270321f0b3347992565cfdb938c99"
+SRCREV_machine:qemux86-64 ?= "f844c3765c3270321f0b3347992565cfdb938c99"
+SRCREV_machine:qemumips64 ?= "8d66b3ad7fbc8554ba2248cfbe755f8d24cb5a1a"
+SRCREV_machine ?= "f844c3765c3270321f0b3347992565cfdb938c99"
+SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.114"
+LINUX_VERSION ?= "5.10.119"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
index 206cc06..3cb5f93 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
@@ -13,24 +13,24 @@
 KBRANCH:qemux86-64 ?= "v5.15/standard/base"
 KBRANCH:qemumips64 ?= "v5.15/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "5a68f2d15d17f0f3c397e7f8c83f3f664f7037e5"
-SRCREV_machine:qemuarm64 ?= "00e666e6154fcdf52268f2a5a612b96afad073b0"
-SRCREV_machine:qemumips ?= "fb9e75076deade31754b7ad644952d63137e616b"
-SRCREV_machine:qemuppc ?= "49f6567f3b85a843e8b6042a79c58aab0bdbd0c9"
-SRCREV_machine:qemuriscv64 ?= "cc9695f5fd3b520464eb2ded66950734f308525c"
-SRCREV_machine:qemuriscv32 ?= "cc9695f5fd3b520464eb2ded66950734f308525c"
-SRCREV_machine:qemux86 ?= "cc9695f5fd3b520464eb2ded66950734f308525c"
-SRCREV_machine:qemux86-64 ?= "cc9695f5fd3b520464eb2ded66950734f308525c"
-SRCREV_machine:qemumips64 ?= "1ad01ab47ec056d4126798f6d57a33b65b2be49c"
-SRCREV_machine ?= "cc9695f5fd3b520464eb2ded66950734f308525c"
-SRCREV_meta ?= "37891dc371e83a3451781dd81a8a85cccd60084b"
+SRCREV_machine:qemuarm ?= "1585df4dbb1e353cc1472748186504a377de5dce"
+SRCREV_machine:qemuarm64 ?= "363482e730cbf7f772430c99c83f60ddc01d7518"
+SRCREV_machine:qemumips ?= "f534cfa2119dc7cf07d546d9fed2b822af1bc838"
+SRCREV_machine:qemuppc ?= "c019857d9af595336bb272c981150952b87d2639"
+SRCREV_machine:qemuriscv64 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df"
+SRCREV_machine:qemuriscv32 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df"
+SRCREV_machine:qemux86 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df"
+SRCREV_machine:qemux86-64 ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df"
+SRCREV_machine:qemumips64 ?= "a26ad766d7372a98d4d1f11d50953c45782f3a37"
+SRCREV_machine ?= "eb3df10e3f3146911fc3235c458c8ef1660ae9df"
+SRCREV_meta ?= "947149960e1426ace478e4b52c28a28ef8d6e74b"
 
 # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
 # get the <version>/base branch, which is pure upstream -stable, and the same
 # meta SRCREV as the linux-yocto-standard builds. Select your version using the
 # normal PREFERRED_VERSION settings.
 BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "3fbf24b73f4a5bc8fd39a6b7a29145451c1039ce"
+SRCREV_machine:class-devupstream ?= "4e67be407725b1d8b829ed2075987037abec98ec"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v5.15/base"
 
@@ -38,7 +38,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.15.38"
+LINUX_VERSION ?= "5.15.44"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch
new file mode 100644
index 0000000..d27cbc3
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch
@@ -0,0 +1,44 @@
+From 13e4c978d45237b8780f1de6d404812b3af26a49 Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Thu, 2 Jun 2022 06:36:08 +0000
+Subject: [PATCH] fix: random: remove unused tracepoints (v5.10, v5.15)
+
+The following kernel commit has been back ported to v5.10.119 and v5.15.44.
+
+commit 14c174633f349cb41ea90c2c0aaddac157012f74
+Author: Jason A. Donenfeld <Jason@zx2c4.com>
+Date:   Thu Feb 10 16:40:44 2022 +0100
+
+  random: remove unused tracepoints
+
+  These explicit tracepoints aren't really used and show sign of aging.
+  It's work to keep these up to date, and before I attempted to keep them
+  up to date, they weren't up to date, which indicates that they're not
+  really used. These days there are better ways of introspecting anyway.
+
+Upstream-Status: Pending
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ src/probes/Kbuild | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/probes/Kbuild b/src/probes/Kbuild
+index 5478447..31e0ee8 100644
+--- a/src/probes/Kbuild
++++ b/src/probes/Kbuild
+@@ -204,7 +204,10 @@ endif
+ 
+ # Introduced in v3.6, remove in v5.18
+ obj-$(CONFIG_LTTNG) +=  $(shell \
+-    if [ \( ! \( $(VERSION) -ge 6 -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) \) \
++    if [ \( ! \( $(VERSION) -ge 6 \
++      -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \
++      -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 15 -a $(SUBLEVEL) -ge 44 \) \
++      -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 10 -a $(SUBLEVEL) -ge 119 \) \) \) \
+       -a \
+       $(VERSION) -ge 4 \
+       -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 6 \) \
+-- 
+2.32.0
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb
index a5e6b90..e049bdc 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb
@@ -21,6 +21,7 @@
            file://0009-Rename-genhd-wrapper-to-blkdev.patch \
            file://0010-fix-mm-compaction-cleanup-the-compaction-trace-event.patch \
            file://0001-fix-sched-tracing-Append-prev_state-to-tp-args-inste.patch \
+           file://0001-fix-random-remove-unused-tracepoints-v5.10-v5.15.patch \
           "
 
 # Use :append here so that the patch is applied also when using devupstream
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb
similarity index 95%
rename from poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb
rename to poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb
index 516d90a..cc88bf5 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.3.bb
@@ -34,7 +34,7 @@
            file://0001-Makefile.am-update-rpath-link.patch \
            "
 
-SRC_URI[sha256sum] = "08679a1dfc2c9428885273861628aa5d828972f389a38bb08fdce39adee589b7"
+SRC_URI[sha256sum] = "2cc42f51145050430ac4ab72b32d95fd78d5566ccbe44e14a8fcdd23c0ed8f6f"
 
 CVE_PRODUCT = "ust"
 
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb
similarity index 93%
rename from poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb
index ca6beda..1832ce7 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.7.bb
@@ -10,7 +10,7 @@
                     "
 
 SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "ad582993d52cdb5fb159a0beab60a6ac57eab0cc1bdf85dc4db6d6197f02333f"
+SRC_URI[sha256sum] = "8814e61f7ec6812c76e23a85cab00e0b0d3bba40816af36b726beb1bc04c74a7"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
index c435f61..560fd80 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
@@ -34,7 +34,7 @@
         speexdsp \
         ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
 "
-PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp"
+PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,libavtp"
 PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
 PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav"
 PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb
similarity index 89%
rename from poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb
rename to poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb
index a493269..d60f22e 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.3.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
 
 SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "b8a03aa387a624a2f65edc201bf777421190b60529a92087646823afbd96c5cd"
+SRC_URI[sha256sum] = "b97f2395ca2c1fd9bfab7627f0178f9069868e2a42a35894dacd280e7e40680e"
 # Something went wrong at upstream tarballing
 
 inherit allarch
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb
deleted file mode 100644
index 000e984..0000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require alsa-utils.inc
-
-SUMMARY = "Shell scripts that show help info and create ALSA configuration files"
-PROVIDES = "alsa-utils-alsaconf"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/alsa-utils:"
-
-PACKAGES = "${PN}"
-RDEPENDS:${PN} += "bash"
-
-FILES:${PN} = "${sbindir}/alsaconf \
-               ${sbindir}/alsa-info.sh \
-               ${sbindir}/alsabat-test.sh \
-              "
-
-S = "${WORKDIR}/alsa-utils-${PV}"
-
-do_install() {
-	install -d ${D}${sbindir}
-	install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/
-	install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/
-	if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then
-		install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/
-	fi
-}
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb
deleted file mode 100644
index 3430288..0000000
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require alsa-utils.inc
-
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb
similarity index 85%
rename from poky/meta/recipes-multimedia/alsa/alsa-utils.inc
rename to poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb
index bca7cdd..a78df2e 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.7.bb
@@ -25,7 +25,7 @@
 
 # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
 SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "6a1efd8a1f1d9d38e489633eaec1fffa5c315663b316cab804be486887e6145d"
+SRC_URI[sha256sum] = "e906bf2404ff04c448eaa3d226d283a62b9a283f12e4fd8457fb24bac274e678"
 
 # On build machines with python-docutils (not python3-docutils !!) installed
 # rst2man (not rst2man.py) is detected and compile fails with
@@ -53,6 +53,7 @@
              alsa-utils-alsactl \
              alsa-utils-alsaloop \
              alsa-utils-alsaucm \
+             alsa-utils-scripts \
             "
 
 PACKAGES += "${ALSA_UTILS_PKGS}"
@@ -61,7 +62,7 @@
 FILES:${PN} = ""
 ALLOW_EMPTY:alsa-utils = "1"
 FILES:alsa-utils-alsabat     = "${bindir}/alsabat"
-FILES:alsa-utils-alsatplg    = "${bindir}/alsatplg"
+FILES:alsa-utils-alsatplg    = "${bindir}/alsatplg ${libdir}/alsa-topology"
 FILES:alsa-utils-aplay       = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
 FILES:alsa-utils-amixer      = "${bindir}/amixer"
 FILES:alsa-utils-alsamixer   = "${bindir}/alsamixer"
@@ -74,6 +75,10 @@
 FILES:alsa-utils-aseqdump    = "${bindir}/aseqdump"
 FILES:alsa-utils-alsaloop    = "${bindir}/alsaloop"
 FILES:alsa-utils-alsaucm     = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
+FILES:alsa-utils-scripts     = "${sbindir}/alsaconf \
+               ${sbindir}/alsa-info.sh \
+               ${sbindir}/alsabat-test.sh \
+              "
 
 SUMMARY:alsa-utils-alsabat      = "Command-line sound tester for ALSA sound card driver"
 SUMMARY:alsa-utils-alsatplg     = "Converts topology text files into binary format for kernel"
@@ -89,20 +94,27 @@
 SUMMARY:alsa-utils-aseqdump     = "Shows the events received at an ALSA sequencer port"
 SUMMARY:alsa-utils-alsaloop     = "ALSA PCM loopback utility"
 SUMMARY:alsa-utils-alsaucm      = "ALSA Use Case Manager"
+SUMMARY:alsa-utils-scripts      = "Shell scripts that show help info and create ALSA configuration files"
 
 RRECOMMENDS:alsa-utils-alsactl = "alsa-states"
 
 do_install() {
 	autotools_do_install
 
-	# We don't ship this here because it requires a dependency on bash.
-	# See alsa-utils-scripts_${PV}.bb
-	rm ${D}${sbindir}/alsaconf
-	rm ${D}${sbindir}/alsa-info.sh
-	rm -f ${D}${sbindir}/alsabat-test.sh
+	install -d ${D}${sbindir}
+	install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/
+	install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/
+	if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then
+		install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/
+	fi
 
 	# If udev is disabled, we told configure to install the rules
 	# in /unwanted, so we can remove them now. If udev is enabled,
 	# then /unwanted won't exist and this will have no effect.
 	rm -rf ${D}/unwanted
 }
+
+
+PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts"
+
+RDEPENDS:${PN}-scripts += "bash"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb
index bb33e38..53c78d4 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb
@@ -35,6 +35,7 @@
 
 PACKAGECONFIG[aom]             = "-Daom=enabled,-Daom=disabled,aom"
 PACKAGECONFIG[assrender]       = "-Dassrender=enabled,-Dassrender=disabled,libass"
+PACKAGECONFIG[avtp]            = "-Davtp=enabled,-Davtp=disabled,libavtp"
 PACKAGECONFIG[bluez]           = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
 PACKAGECONFIG[bz2]             = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
 PACKAGECONFIG[closedcaption]   = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
@@ -112,7 +113,6 @@
     -Dandroidmedia=disabled \
     -Dapplemedia=disabled \
     -Dasio=disabled \
-    -Davtp=disabled \
     -Dbs2b=disabled \
     -Dchromaprint=disabled \
     -Dd3dvideosink=disabled \
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch
deleted file mode 100644
index f1a4ab4..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-CVE: CVE-2022-0865
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 88da11ae3c4db527cb870fb1017456cc8fbac2e7 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Thu, 24 Feb 2022 22:26:02 +0100
-Subject: [PATCH 1/6] tif_jbig.c: fix crash when reading a file with multiple
- IFD in memory-mapped mode and when bit reversal is needed (fixes #385)
-
----
- libtiff/tif_jbig.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/libtiff/tif_jbig.c b/libtiff/tif_jbig.c
-index 74086338..8bfa4cef 100644
---- a/libtiff/tif_jbig.c
-+++ b/libtiff/tif_jbig.c
-@@ -209,6 +209,16 @@ int TIFFInitJBIG(TIFF* tif, int scheme)
- 	 */
- 	tif->tif_flags |= TIFF_NOBITREV;
- 	tif->tif_flags &= ~TIFF_MAPPED;
-+	/* We may have read from a previous IFD and thus set TIFF_BUFFERMMAP and
-+	 * cleared TIFF_MYBUFFER. It is necessary to restore them to their initial
-+	 * value to be consistent with the state of a non-memory mapped file.
-+	 */
-+	if (tif->tif_flags&TIFF_BUFFERMMAP) {
-+		tif->tif_rawdata = NULL;
-+		tif->tif_rawdatasize = 0;
-+		tif->tif_flags &= ~TIFF_BUFFERMMAP;
-+		tif->tif_flags |= TIFF_MYBUFFER;
-+	}
- 
- 	/* Setup the function pointers for encode, decode, and cleanup. */
- 	tif->tif_setupdecode = JBIGSetupDecode;
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch
deleted file mode 100644
index 72776f0..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-CVE: CVE-2022-22844
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From b12a0326e6064b6e0b051d1184a219877472f69b Mon Sep 17 00:00:00 2001
-From: 4ugustus <wangdw.augustus@qq.com>
-Date: Tue, 25 Jan 2022 16:25:28 +0000
-Subject: [PATCH] tiffset: fix global-buffer-overflow for ASCII tags where
- count is required (fixes #355)
-
----
- tools/tiffset.c | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
-
-diff --git a/tools/tiffset.c b/tools/tiffset.c
-index 8c9e23c5..e7a88c09 100644
---- a/tools/tiffset.c
-+++ b/tools/tiffset.c
-@@ -146,9 +146,19 @@ main(int argc, char* argv[])
- 
-             arg_index++;
-             if (TIFFFieldDataType(fip) == TIFF_ASCII) {
--                if (TIFFSetField(tiff, TIFFFieldTag(fip), argv[arg_index]) != 1)
--                    fprintf( stderr, "Failed to set %s=%s\n",
--                             TIFFFieldName(fip), argv[arg_index] );
-+                if(TIFFFieldPassCount( fip )) {
-+                    size_t len;
-+                    len = strlen(argv[arg_index]) + 1;
-+                    if (len > UINT16_MAX || TIFFSetField(tiff, TIFFFieldTag(fip),
-+                            (uint16_t)len, argv[arg_index]) != 1)
-+                        fprintf( stderr, "Failed to set %s=%s\n",
-+                            TIFFFieldName(fip), argv[arg_index] );
-+                } else {
-+                    if (TIFFSetField(tiff, TIFFFieldTag(fip),
-+                            argv[arg_index]) != 1)
-+                        fprintf( stderr, "Failed to set %s=%s\n",
-+                            TIFFFieldName(fip), argv[arg_index] );
-+                }
-             } else if (TIFFFieldWriteCount(fip) > 0
- 		       || TIFFFieldWriteCount(fip) == TIFF_VARIABLE) {
-                 int     ret = 1;
--- 
-2.25.1
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch
deleted file mode 100644
index 812ffb2..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-CVE: CVE-2022-0891
-CVE: CVE-2022-1056
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From e46b49e60fddb2e924302fb1751f79eb9cfb2253 Mon Sep 17 00:00:00 2001
-From: Su Laus <sulau@freenet.de>
-Date: Tue, 8 Mar 2022 17:02:44 +0000
-Subject: [PATCH 2/6] tiffcrop: fix issue #380 and #382 heap buffer overflow in
- extractImageSection
-
----
- tools/tiffcrop.c | 92 +++++++++++++++++++-----------------------------
- 1 file changed, 36 insertions(+), 56 deletions(-)
-
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index b85c2ce7..302a7e91 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -105,8 +105,8 @@
-  *                of messages to monitor progress without enabling dump logs.
-  */
- 
--static   char tiffcrop_version_id[] = "2.4";
--static   char tiffcrop_rev_date[] = "12-13-2010";
-+static   char tiffcrop_version_id[] = "2.4.1";
-+static   char tiffcrop_rev_date[] = "03-03-2010";
- 
- #include "tif_config.h"
- #include "libport.h"
-@@ -6710,10 +6710,10 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- #ifdef DEVELMODE
-   uint32_t    img_length;
- #endif
--  uint32_t    j, shift1, shift2, trailing_bits;
-+  uint32_t    j, shift1, trailing_bits;
-   uint32_t    row, first_row, last_row, first_col, last_col;
-   uint32_t    src_offset, dst_offset, row_offset, col_offset;
--  uint32_t    offset1, offset2, full_bytes;
-+  uint32_t    offset1, full_bytes;
-   uint32_t    sect_width;
- #ifdef DEVELMODE
-   uint32_t    sect_length;
-@@ -6723,7 +6723,6 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- #ifdef DEVELMODE
-   int      k;
-   unsigned char bitset;
--  static char *bitarray = NULL;
- #endif
- 
-   img_width = image->width;
-@@ -6741,17 +6740,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
-   dst_offset = 0;
- 
- #ifdef DEVELMODE
--  if (bitarray == NULL)
--    {
--    if ((bitarray = (char *)malloc(img_width)) == NULL)
--      {
--      TIFFError ("", "DEBUG: Unable to allocate debugging bitarray");
--      return (-1);
--      }
--    }
-+  char bitarray[39];
- #endif
- 
--  /* rows, columns, width, length are expressed in pixels */
-+  /* rows, columns, width, length are expressed in pixels
-+   * first_row, last_row, .. are index into image array starting at 0 to width-1,
-+   * last_col shall be also extracted.  */
-   first_row = section->y1;
-   last_row  = section->y2;
-   first_col = section->x1;
-@@ -6761,9 +6755,14 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- #ifdef DEVELMODE
-   sect_length = last_row - first_row + 1;
- #endif
--  img_rowsize = ((img_width * bps + 7) / 8) * spp;
--  full_bytes = (sect_width * spp * bps) / 8;   /* number of COMPLETE bytes per row in section */
--  trailing_bits = (sect_width * bps) % 8;
-+    /* The read function loadImage() used copy separate plane data into a buffer as interleaved
-+     * samples rather than separate planes so the same logic works to extract regions
-+     * regardless of the way the data are organized in the input file.
-+     * Furthermore, bytes and bits are arranged in buffer according to COMPRESSION=1 and FILLORDER=1 
-+     */
-+    img_rowsize = (((img_width * spp * bps) + 7) / 8);    /* row size in full bytes of source image */
-+    full_bytes = (sect_width * spp * bps) / 8;            /* number of COMPLETE bytes per row in section */
-+    trailing_bits = (sect_width * spp * bps) % 8;         /* trailing bits within the last byte of destination buffer */
- 
- #ifdef DEVELMODE
-     TIFFError ("", "First row: %"PRIu32", last row: %"PRIu32", First col: %"PRIu32", last col: %"PRIu32"\n",
-@@ -6776,10 +6775,9 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- 
-   if ((bps % 8) == 0)
-     {
--    col_offset = first_col * spp * bps / 8;
-+    col_offset = (first_col * spp * bps) / 8;
-     for (row = first_row; row <= last_row; row++)
-       {
--      /* row_offset = row * img_width * spp * bps / 8; */
-       row_offset = row * img_rowsize;
-       src_offset = row_offset + col_offset;
- 
-@@ -6792,14 +6790,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
-     }
-   else
-     { /* bps != 8 */
--    shift1  = spp * ((first_col * bps) % 8);
--    shift2  = spp * ((last_col * bps) % 8);
-+    shift1 = ((first_col * spp * bps) % 8);           /* shift1 = bits to skip in the first byte of source buffer*/
-     for (row = first_row; row <= last_row; row++)
-       {
-       /* pull out the first byte */
-       row_offset = row * img_rowsize;
--      offset1 = row_offset + (first_col * bps / 8);
--      offset2 = row_offset + (last_col * bps / 8);
-+      offset1 = row_offset + ((first_col * spp * bps) / 8);   /* offset1 = offset into source of byte with first bits to be extracted */
- 
- #ifdef DEVELMODE
-       for (j = 0, k = 7; j < 8; j++, k--)
-@@ -6811,12 +6807,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
-       sprintf(&bitarray[9], " ");
-       for (j = 10, k = 7; j < 18; j++, k--)
-         {
--        bitset = *(src_buff + offset2) & (((unsigned char)1 << k)) ? 1 : 0;
-+        bitset = *(src_buff + offset1 + full_bytes) & (((unsigned char)1 << k)) ? 1 : 0;
-         sprintf(&bitarray[j], (bitset) ? "1" : "0");
-         }
-       bitarray[18] = '\0';
--      TIFFError ("", "Row: %3d Offset1: %"PRIu32",  Shift1: %"PRIu32",    Offset2: %"PRIu32",  Shift2:  %"PRIu32"\n", 
--                 row, offset1, shift1, offset2, shift2); 
-+      TIFFError ("", "Row: %3d Offset1: %"PRIu32",  Shift1: %"PRIu32",    Offset2: %"PRIu32",  Trailing_bits:  %"PRIu32"\n", 
-+                 row, offset1, shift1, offset1+full_bytes, trailing_bits); 
- #endif
- 
-       bytebuff1 = bytebuff2 = 0;
-@@ -6840,11 +6836,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- 
-         if (trailing_bits != 0)
-           {
--	  bytebuff2 = src_buff[offset2] & ((unsigned char)255 << (7 - shift2));
-+      /* Only copy higher bits of samples and mask lower bits of not wanted column samples to zero */
-+	  bytebuff2 = src_buff[offset1 + full_bytes] & ((unsigned char)255 << (8 - trailing_bits));
-           sect_buff[dst_offset] = bytebuff2;
- #ifdef DEVELMODE
- 	  TIFFError ("", "        Trailing bits src offset:  %8"PRIu32", Dst offset: %8"PRIu32"\n",
--                              offset2, dst_offset); 
-+          offset1 + full_bytes, dst_offset);
-           for (j = 30, k = 7; j < 38; j++, k--)
-             {
-             bitset = *(sect_buff + dst_offset) & (((unsigned char)1 << k)) ? 1 : 0;
-@@ -6863,8 +6860,10 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- #endif
-         for (j = 0; j <= full_bytes; j++) 
-           {
--	  bytebuff1 = src_buff[offset1 + j] & ((unsigned char)255 >> shift1);
--	  bytebuff2 = src_buff[offset1 + j + 1] & ((unsigned char)255 << (7 - shift1));
-+          /* Skip the first shift1 bits and shift the source up by shift1 bits before save to destination.*/
-+          /* Attention: src_buff size needs to be some bytes larger than image size, because could read behind image here. */
-+          bytebuff1 = src_buff[offset1 + j] & ((unsigned char)255 >> shift1);
-+          bytebuff2 = src_buff[offset1 + j + 1] & ((unsigned char)255 << (8 - shift1));
-           sect_buff[dst_offset + j] = (bytebuff1 << shift1) | (bytebuff2 >> (8 - shift1));
-           }
- #ifdef DEVELMODE
-@@ -6880,36 +6879,17 @@ extractImageSection(struct image_data *image, struct pageseg *section,
- #endif
-         dst_offset += full_bytes;
- 
-+        /* Copy the trailing_bits for the last byte in the destination buffer. 
-+           Could come from one ore two bytes of the source buffer. */
-         if (trailing_bits != 0)
-           {
- #ifdef DEVELMODE
--	    TIFFError ("", "        Trailing bits   src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", offset1 + full_bytes, dst_offset);
--#endif
--	  if (shift2 > shift1)
--            {
--	    bytebuff1 = src_buff[offset1 + full_bytes] & ((unsigned char)255 << (7 - shift2));
--            bytebuff2 = bytebuff1 & ((unsigned char)255 << shift1);
--            sect_buff[dst_offset] = bytebuff2;
--#ifdef DEVELMODE
--	    TIFFError ("", "        Shift2 > Shift1\n"); 
-+          TIFFError("", "        Trailing bits %4"PRIu32"   src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", trailing_bits, offset1 + full_bytes, dst_offset);
- #endif
-+          /* More than necessary bits are already copied into last destination buffer, 
-+           * only masking of last byte in destination buffer is necessary.*/ 
-+          sect_buff[dst_offset] &= ((uint8_t)0xFF << (8 - trailing_bits));
-             }
--          else
--            {
--	    if (shift2 < shift1)
--              {
--              bytebuff2 = ((unsigned char)255 << (shift1 - shift2 - 1));
--	      sect_buff[dst_offset] &= bytebuff2;
--#ifdef DEVELMODE
--	      TIFFError ("", "        Shift2 < Shift1\n"); 
--#endif
--              }
--#ifdef DEVELMODE
--            else
--	      TIFFError ("", "        Shift2 == Shift1\n"); 
--#endif
--            }
--	  }
- #ifdef DEVELMODE
- 	  sprintf(&bitarray[28], " ");
- 	  sprintf(&bitarray[29], " ");
-@@ -7062,7 +7042,7 @@ writeImageSections(TIFF *in, TIFF *out, struct image_data *image,
-     width  = sections[i].x2 - sections[i].x1 + 1;
-     length = sections[i].y2 - sections[i].y1 + 1;
-     sectsize = (uint32_t)
--	    ceil((width * image->bps + 7) / (double)8) * image->spp * length;
-+	    ceil((width * image->bps * image->spp + 7) / (double)8) * length;
-     /* allocate a buffer if we don't have one already */
-     if (createImageSection(sectsize, sect_buff_ptr))
-       {
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch
deleted file mode 100644
index a0b856b..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-CVE: CVE-2022-0907
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From a139191cc86f4dc44c74a0f22928e0fb38ed2485 Mon Sep 17 00:00:00 2001
-From: Augustus <wangdw.augustus@qq.com>
-Date: Mon, 7 Mar 2022 18:21:49 +0800
-Subject: [PATCH 3/6] add checks for return value of limitMalloc (#392)
-
----
- tools/tiffcrop.c | 33 +++++++++++++++++++++------------
- 1 file changed, 21 insertions(+), 12 deletions(-)
-
-diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
-index 302a7e91..e407bf51 100644
---- a/tools/tiffcrop.c
-+++ b/tools/tiffcrop.c
-@@ -7357,7 +7357,11 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
-   if (!sect_buff)
-     {
-     sect_buff = (unsigned char *)limitMalloc(sectsize);
--    *sect_buff_ptr = sect_buff;
-+    if (!sect_buff)
-+    {
-+        TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
-+        return (-1);
-+    }
-     _TIFFmemset(sect_buff, 0, sectsize);
-     }
-   else
-@@ -7373,15 +7377,15 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
-       else
-         sect_buff = new_buff;
- 
-+      if (!sect_buff)
-+      {
-+          TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
-+          return (-1);
-+      }
-       _TIFFmemset(sect_buff, 0, sectsize);
-       }
-     }
- 
--  if (!sect_buff)
--    {
--    TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
--    return (-1);
--    }
-   prev_sectsize = sectsize;
-   *sect_buff_ptr = sect_buff;
- 
-@@ -7648,7 +7652,11 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop,
-   if (!crop_buff)
-     {
-     crop_buff = (unsigned char *)limitMalloc(cropsize);
--    *crop_buff_ptr = crop_buff;
-+    if (!crop_buff)
-+    {
-+        TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
-+        return (-1);
-+    }
-     _TIFFmemset(crop_buff, 0, cropsize);
-     prev_cropsize = cropsize;
-     }
-@@ -7664,15 +7672,15 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop,
-         }
-       else
-         crop_buff = new_buff;
-+      if (!crop_buff)
-+      {
-+          TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
-+          return (-1);
-+      }
-       _TIFFmemset(crop_buff, 0, cropsize);
-       }
-     }
- 
--  if (!crop_buff)
--    {
--    TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
--    return (-1);
--    }
-   *crop_buff_ptr = crop_buff;
- 
-   if (crop->crop_mode & CROP_INVERT)
-@@ -9231,3 +9239,4 @@ invertImage(uint16_t photometric, uint16_t spp, uint16_t bps, uint32_t width, ui
-  * fill-column: 78
-  * End:
-  */
-+
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch
deleted file mode 100644
index 719daba..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-CVE: CVE-2022-0908
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From ef5a0bf271823df168642444d051528a68205cb0 Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Thu, 17 Feb 2022 15:28:43 +0100
-Subject: [PATCH 4/6] TIFFFetchNormalTag(): avoid calling memcpy() with a null
- source pointer and size of zero (fixes #383)
-
----
- libtiff/tif_dirread.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
-index d84147a0..4e8ce729 100644
---- a/libtiff/tif_dirread.c
-+++ b/libtiff/tif_dirread.c
-@@ -5079,7 +5079,10 @@ TIFFFetchNormalTag(TIFF* tif, TIFFDirEntry* dp, int recover)
- 								_TIFFfree(data);
- 							return(0);
- 						}
--						_TIFFmemcpy(o,data,(uint32_t)dp->tdir_count);
-+						if (dp->tdir_count > 0 )
-+						{
-+							_TIFFmemcpy(o,data,(uint32_t)dp->tdir_count);
-+						}
- 						o[(uint32_t)dp->tdir_count]=0;
- 						if (data!=0)
- 							_TIFFfree(data);
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch
deleted file mode 100644
index 64dbe9e..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-CVE: CVE-2022-0909
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 4768355a074d562177e0a8b551c561d1af7eb74a Mon Sep 17 00:00:00 2001
-From: 4ugustus <wangdw.augustus@qq.com>
-Date: Tue, 8 Mar 2022 16:22:04 +0000
-Subject: [PATCH 5/6] fix the FPE in tiffcrop (#393)
-
----
- libtiff/tif_dir.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
-index a6c254fc..77da6ea4 100644
---- a/libtiff/tif_dir.c
-+++ b/libtiff/tif_dir.c
-@@ -335,13 +335,13 @@ _TIFFVSetField(TIFF* tif, uint32_t tag, va_list ap)
- 		break;
- 	case TIFFTAG_XRESOLUTION:
-         dblval = va_arg(ap, double);
--        if( dblval < 0 )
-+        if( dblval != dblval || dblval < 0 )
-             goto badvaluedouble;
- 		td->td_xresolution = _TIFFClampDoubleToFloat( dblval );
- 		break;
- 	case TIFFTAG_YRESOLUTION:
-         dblval = va_arg(ap, double);
--        if( dblval < 0 )
-+        if( dblval != dblval || dblval < 0 )
-             goto badvaluedouble;
- 		td->td_yresolution = _TIFFClampDoubleToFloat( dblval );
- 		break;
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch
deleted file mode 100644
index afd5e59..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-CVE: CVE-2022-0924
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 1074b9691322b1e3671cd8ea0b6b3509d08978fb Mon Sep 17 00:00:00 2001
-From: 4ugustus <wangdw.augustus@qq.com>
-Date: Thu, 10 Mar 2022 08:48:00 +0000
-Subject: [PATCH 6/6] fix heap buffer overflow in tiffcp (#278)
-
----
- tools/tiffcp.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/tools/tiffcp.c b/tools/tiffcp.c
-index 1f889516..552d8fad 100644
---- a/tools/tiffcp.c
-+++ b/tools/tiffcp.c
-@@ -1661,12 +1661,27 @@ DECLAREwriteFunc(writeBufferToSeparateStrips)
- 	tdata_t obuf;
- 	tstrip_t strip = 0;
- 	tsample_t s;
-+	uint16_t bps = 0, bytes_per_sample;
- 
- 	obuf = limitMalloc(stripsize);
- 	if (obuf == NULL)
- 		return (0);
- 	_TIFFmemset(obuf, 0, stripsize);
- 	(void) TIFFGetFieldDefaulted(out, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);
-+	(void) TIFFGetField(out, TIFFTAG_BITSPERSAMPLE, &bps);
-+	if( bps == 0 )
-+        {
-+            TIFFError(TIFFFileName(out), "Error, cannot read BitsPerSample");
-+            _TIFFfree(obuf);
-+            return 0;
-+        }
-+        if( (bps % 8) != 0 )
-+        {
-+            TIFFError(TIFFFileName(out), "Error, cannot handle BitsPerSample that is not a multiple of 8");
-+            _TIFFfree(obuf);
-+            return 0;
-+        }
-+	bytes_per_sample = bps/8;
- 	for (s = 0; s < spp; s++) {
- 		uint32_t row;
- 		for (row = 0; row < imagelength; row += rowsperstrip) {
-@@ -1676,7 +1691,7 @@ DECLAREwriteFunc(writeBufferToSeparateStrips)
- 
- 			cpContigBufToSeparateBuf(
- 			    obuf, (uint8_t*) buf + row * rowsize + s,
--			    nrows, imagewidth, 0, 0, spp, 1);
-+			    nrows, imagewidth, 0, 0, spp, bytes_per_sample);
- 			if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0) {
- 				TIFFError(TIFFFileName(out),
- 				    "Error, can't write strip %"PRIu32,
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch b/poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch
deleted file mode 100644
index 0b41dde..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/561599c99f987dc32ae110370cfdd7df7975586b.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 561599c99f987dc32ae110370cfdd7df7975586b Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Sat, 5 Feb 2022 20:36:41 +0100
-Subject: [PATCH] TIFFReadDirectory(): avoid calling memcpy() with a null
- source pointer and size of zero (fixes #362)
-
-Upstream-Status: Backport
-CVE: CVE-2022-0562
-
----
- libtiff/tif_dirread.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
-index 2bbc4585..23194ced 100644
---- a/libtiff/tif_dirread.c
-+++ b/libtiff/tif_dirread.c
-@@ -4177,7 +4177,8 @@ TIFFReadDirectory(TIFF* tif)
-                     goto bad;
-                 }
- 
--                memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16_t));
-+                if (old_extrasamples > 0)
-+                    memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16_t));
-                 _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, new_sampleinfo, tif->tif_dir.td_extrasamples);
-                 _TIFFfree(new_sampleinfo);
-         }
--- 
-GitLab
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch b/poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch
deleted file mode 100644
index 74f9649..0000000
--- a/poky/meta/recipes-multimedia/libtiff/tiff/eecb0712f4c3a5b449f70c57988260a667ddbdef.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From eecb0712f4c3a5b449f70c57988260a667ddbdef Mon Sep 17 00:00:00 2001
-From: Even Rouault <even.rouault@spatialys.com>
-Date: Sun, 6 Feb 2022 13:08:38 +0100
-Subject: [PATCH] TIFFFetchStripThing(): avoid calling memcpy() with a null
- source pointer and size of zero (fixes #362)
-
-Upstream-Status: Backport
-CVE: CVE-2022-0561
-
----
- libtiff/tif_dirread.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
-index 23194ced..50ebf8ac 100644
---- a/libtiff/tif_dirread.c
-+++ b/libtiff/tif_dirread.c
-@@ -5777,8 +5777,9 @@ TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32_t nstrips, uint64_t** l
- 			_TIFFfree(data);
- 			return(0);
- 		}
--                _TIFFmemcpy(resizeddata,data, (uint32_t)dir->tdir_count * sizeof(uint64_t));
--                _TIFFmemset(resizeddata+(uint32_t)dir->tdir_count, 0, (nstrips - (uint32_t)dir->tdir_count) * sizeof(uint64_t));
-+		if( dir->tdir_count )
-+			_TIFFmemcpy(resizeddata,data, (uint32_t)dir->tdir_count * sizeof(uint64_t));
-+		_TIFFmemset(resizeddata+(uint32_t)dir->tdir_count, 0, (nstrips - (uint32_t)dir->tdir_count) * sizeof(uint64_t));
- 		_TIFFfree(data);
- 		data=resizeddata;
- 	}
--- 
-GitLab
-
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
similarity index 71%
rename from poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
rename to poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
index 9c9108a..c82965f 100644
--- a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
+++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.4.0.bb
@@ -8,19 +8,9 @@
 
 CVE_PRODUCT = "libtiff"
 
-SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
-           file://0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch \
-           file://561599c99f987dc32ae110370cfdd7df7975586b.patch \
-           file://eecb0712f4c3a5b449f70c57988260a667ddbdef.patch \
-           file://0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch \
-           file://0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch \
-           file://0003-add-checks-for-return-value-of-limitMalloc-392.patch \
-           file://0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch \
-           file://0005-fix-the-FPE-in-tiffcrop-393.patch \
-           file://0006-fix-heap-buffer-overflow-in-tiffcp-278.patch \
-           "
+SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8"
+SRC_URI[sha256sum] = "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed"
 
 # exclude betas
 UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
@@ -28,6 +18,12 @@
 # Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313
 # and 4.3.0 doesn't have the issue
 CVE_CHECK_IGNORE += "CVE-2015-7313"
+# These issues only affect libtiff post-4.3.0 but before 4.4.0,
+# caused by 3079627e and fixed by b4e79bfa.
+CVE_CHECK_IGNORE += "CVE-2022-1622 CVE-2022-1623"
+
+# Issue is in jbig which we don't enable
+CVE_CHECK_IGNORE += "CVE-2022-1210"
 
 inherit autotools multilib_header
 
@@ -37,6 +33,7 @@
                   strip-chopping extrasample-as-alpha check-ycbcr-subsampling"
 
 PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,,"
+PACKAGECONFIG[jbig] = "--enable-jbig,--disable-jbig,jbig,"
 PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg,"
 PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
 PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz,"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 821ce7d..602d726 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -213,7 +213,7 @@
 }
 
 python populate_packages:prepend() {
-    plugindir = d.expand('${libdir}/pulse-${PV}/modules/')
+    plugindir = d.expand('${libdir}/pulseaudio/modules/')
     do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
     do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
 }
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch
deleted file mode 100644
index c9d8abc..0000000
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 9d0dc8aedd08d77797f90fa6075a59613f18bf0d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 20 Dec 2020 07:56:07 -0800
-Subject: [PATCH] meson: Check for __get_cpuid
-
-checking for presence of cpuid.h header alone is not sufficient in some case to use
-cpuid related functions. e.g. when using clang which is built for
-multiple targets will have cpuid.h header as part of compiler headers in
-distribution but one maybe compiling pulseaudion for non-x86 target. The
-current check in meson succeeds and then compile fails later because
-cpuid.h is x86-specific header. Therefore checking for symbol that is
-needed makes this robust, so even if header exist it will try to ensure
-the given symbol can be used
-
-Fixes
-src/pulsecore/core-util.c:113:
-| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/pulseaudio/14.0-r0/recipe-sysroot-native/usr/lib/clang/11.0.1/include/cpuid.h:11:2: error: this header is for x86 only
-| #error this header is for x86 only
-|  ^
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Tanu Kaskinen <tanuk@iki.fi>
----
- meson.build               | 5 ++++-
- src/pulsecore/core-util.c | 2 +-
- src/pulsecore/cpu-x86.c   | 2 +-
- 3 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 2589627..5f5127e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -185,7 +185,6 @@ endif
- check_headers = [
-   'arpa/inet.h',
-   'byteswap.h',
--  'cpuid.h',
-   'dlfcn.h',
-   'execinfo.h',
-   'grp.h',
-@@ -243,6 +242,10 @@ if cc.has_header_symbol('pthread.h', 'PTHREAD_PRIO_INHERIT')
-   cdata.set('HAVE_PTHREAD_PRIO_INHERIT', 1)
- endif
- 
-+if cc.has_header_symbol('cpuid.h', '__get_cpuid')
-+  cdata.set('HAVE_GET_CPUID', 1)
-+endif
-+
- # Functions
- 
- check_functions = [
-diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
-index 601b1d1..6f34e7c 100644
---- a/src/pulsecore/core-util.c
-+++ b/src/pulsecore/core-util.c
-@@ -109,7 +109,7 @@
- #include <sys/personality.h>
- #endif
- 
--#ifdef HAVE_CPUID_H
-+#ifdef HAVE_GET_CPUID
- #include <cpuid.h>
- #endif
- 
-diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c
-index 4e59e14..86595d4 100644
---- a/src/pulsecore/cpu-x86.c
-+++ b/src/pulsecore/cpu-x86.c
-@@ -24,7 +24,7 @@
- 
- #include <stdint.h>
- 
--#ifdef HAVE_CPUID_H
-+#ifdef HAVE_GET_CPUID
- #include <cpuid.h>
- #endif
- 
--- 
-2.29.2
-
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb
similarity index 75%
rename from poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb
rename to poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb
index 239d318..f9940d4 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb
@@ -3,9 +3,8 @@
 SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
            file://0001-client-conf-Add-allow-autospawn-for-root.patch \
            file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
-           file://0001-meson-Check-for-__get_cpuid.patch \
            file://volatiles.04_pulse \
            file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \
            "
-SRC_URI[sha256sum] = "a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0"
+SRC_URI[sha256sum] = "b4ec6271910a1a86803f165056547f700dfabaf8d5c6c69736f706b5bb889f47"
 UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb
similarity index 98%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb
index 65757c3..83b6f8a 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.36.1.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.36.3.bb
@@ -17,7 +17,7 @@
            file://0001-When-building-introspection-files-do-not-quote-CFLAG.patch \
            "
 
-SRC_URI[sha256sum] = "0149ea5fb1d20f2a9981677d45c952a047330001ea24a8dc29035239f12c0c8f"
+SRC_URI[sha256sum] = "732fcf8c4ec644b8ed28b46ebbd7c1ebab9d9e0afea9bdf5e5d12786afc478d1"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
 
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_212.bb b/poky/meta/recipes-support/diffoscope/diffoscope_215.bb
similarity index 92%
rename from poky/meta/recipes-support/diffoscope/diffoscope_212.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_215.bb
index 41f896d..a61d68f 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_212.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_215.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "744260ccf2bb869c58c50dfab68957dd494b12e446520993d0925b2394ea1db7"
+SRC_URI[sha256sum] = "4754ad3356b0acc1d2ceffbfa516961a7df0a2d816cd3cce6c9d084ce54d9433"
 
 RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm"
 
diff --git a/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch b/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch
new file mode 100644
index 0000000..e40b2be
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch
@@ -0,0 +1,28 @@
+From b729a356538d499fe25e82bfc78ea663bdaca0a8 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@fujitsu.com>
+Date: Mon, 23 May 2022 10:44:43 +0900
+Subject: [PATCH] Creating .hmac file should be excuted in target environment,
+ so deleted it from build process.
+
+Upstream-Status: Inappropriate [https://gitlab.com/gnutls/gnutls/-/issues/1373]
+Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
+---
+ lib/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index 0b43ef9..cf263f0 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -206,8 +206,7 @@ hmac_files = .libs/.gnutls.hmac
+
+ all-local: $(hmac_files)
+
+-.libs/.gnutls.hmac: libgnutls.la fipshmac
+-	$(AM_V_GEN) $(builddir)/fipshmac > $@-t && mv $@-t $@
++.libs/.gnutls.hmac:
+
+ CLEANFILES = $(hmac_files)
+ endif
+--
+2.25.1
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb
similarity index 68%
rename from poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb
index 5feedb7..6a0eb97 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.7.5.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.6.bb
@@ -21,9 +21,10 @@
 
 SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
            file://arm_eabi.patch \
+           file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \
            "
 
-SRC_URI[sha256sum] = "1f85028475b4f255cc5b480af0c37e61eab43024c1507c8b75d6be506c0553ad"
+SRC_URI[sha256sum] = "77065719a345bfb18faa250134be4c53bef70c1bd61f6c0c23ceb8b44f0262ff"
 
 inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
 
@@ -36,6 +37,7 @@
 PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1"
 PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit"
 PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers"
+PACKAGECONFIG[fips] = "--enable-fips140-mode --with-libdl-prefix=${STAGING_BASELIBDIR}"
 
 EXTRA_OECONF = " \
     --enable-doc \
@@ -59,10 +61,30 @@
 	done
 }
 
-PACKAGES =+ "${PN}-openssl ${PN}-xx"
+do_install:append:class-target() {
+        if ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'true', 'false', d)}; then
+          install -d ${D}${bindir}/bin
+          install -m 0755 ${B}/lib/.libs/fipshmac ${D}/${bindir}/
+        fi
+}
+
+PACKAGES =+ "${PN}-openssl ${PN}-xx ${PN}-fips"
 
 FILES:${PN}-dev += "${bindir}/gnutls-cli-debug"
 FILES:${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
 FILES:${PN}-xx = "${libdir}/libgnutlsxx.so.*"
+FILES:${PN}-fips = "${bindir}/fipshmac"
 
 BBCLASSEXTEND = "native nativesdk"
+
+pkg_postinst_ontarget:${PN}-fips () {
+    if test -x ${bindir}/fipshmac
+    then
+        mkdir ${sysconfdir}/gnutls
+        touch ${sysconfdir}/gnutls/config
+        ${bindir}/fipshmac ${libdir}/libgnutls.so.30.*.* > ${libdir}/.libgnutls.so.30.hmac
+        ${bindir}/fipshmac ${libdir}/libnettle.so.8.* > ${libdir}/.libnettle.so.8.hmac
+        ${bindir}/fipshmac ${libdir}/libgmp.so.10.*.* > ${libdir}/.libgmp.so.10.hmac
+        ${bindir}/fipshmac ${libdir}/libhogweed.so.6.* > ${libdir}/.libhogweed.so.6.hmac
+    fi
+}
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb
similarity index 93%
rename from poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb
rename to poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb
index f51edf0..857fe46 100644
--- a/poky/meta/recipes-support/iso-codes/iso-codes_4.9.0.bb
+++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.10.0.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
 SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=https;branch=main;"
-SRCREV = "35ae2024024eb8e6603d3034dbbc406594f3874c"
+SRCREV = "9a6c24ee40e737ab34273c1af13a8dabcae888dd"
 
 # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
 # are inhibited by allarch
diff --git a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb
index c76f3c3..e89b8f7 100644
--- a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb
+++ b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.4.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "https://github.com/seccomp/libseccomp"
 SECTION = "security"
 LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=0;endline=1;md5=8eac08d22113880357ceb8e7c37f989f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
 
 DEPENDS += "gperf-native"
 
@@ -37,6 +37,10 @@
     for file in $(find tests/*.tests -type f); do
         install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests
     done
+        for file in $(find tests/*.pfc -type f); do
+        install -m 644 ${S}/${file} ${D}/${PTEST_PATH}/tests
+    done
+    install -m 644 ${S}/tests/valgrind_test.supp ${D}/${PTEST_PATH}/tests
     for file in $(find tools/* -executable -type f); do
         install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools
     done
diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb
index 51cfb2e..2fd7777 100644
--- a/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb
+++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb
@@ -19,6 +19,10 @@
 
 UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar"
 
+# We have libxml2 2.9.14 and we don't link statically with it anyway
+# so this isn't an issue.
+CVE_CHECK_IGNORE += "CVE-2022-29824"
+
 S = "${WORKDIR}/libxslt-${PV}"
 
 BINCONFIG = "${bindir}/xslt-config"
diff --git a/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch b/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
index db3a70e..a0d2502 100644
--- a/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
+++ b/poky/meta/recipes-support/lzo/lzo/0001-Use-memcpy-instead-of-reinventing-it.patch
@@ -10,7 +10,15 @@
 
 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757037
 
-Upstream-Status: Pending
+RP: Patch is still in debian as of 20220524 in a revised form:
+https://sources.debian.org/patches/lzo2/2.10-2/
+https://sources.debian.org/patches/lzo2/2.10-2/0001-Conditionally-replace-reinvention-of-memcpy-with-cal.patch/
+It was submitted in 2015, no reply to an email from RP in 2022 either.
+
+We likely need this in OE to prevent against unaligned accesses
+on systems such as armv5.
+
+Upstream-Status: Inactive-Upstream
 Signed-off-by: Saul Wold <sgw@linux.intel.com>
 ---
  minilzo/minilzo.c | 14 ++++++++++++++
diff --git a/poky/meta/recipes-support/nettle/nettle_3.7.3.bb b/poky/meta/recipes-support/nettle/nettle_3.8.bb
similarity index 95%
rename from poky/meta/recipes-support/nettle/nettle_3.7.3.bb
rename to poky/meta/recipes-support/nettle/nettle_3.8.bb
index 889dc74..0d6562d 100644
--- a/poky/meta/recipes-support/nettle/nettle_3.7.3.bb
+++ b/poky/meta/recipes-support/nettle/nettle_3.8.bb
@@ -24,7 +24,7 @@
             file://dlopen-test.patch \
             "
 
-SRC_URI[sha256sum] = "661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0"
+SRC_URI[sha256sum] = "7576c68481c198f644b08c160d1a4850ba9449e308069455b5213319f234e8e6"
 
 UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index c5922b7..b22e801 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -21,8 +21,8 @@
            file://racefix.patch \
            "
 
-PV .= ".4912"
-SRCREV = "a7583c42cd6b64fd276a5d7bb0db5ce7bfafa730"
+PV .= ".5034"
+SRCREV = "5a6ec10cc80ab02eeff644ab19b82312630ea855"
 
 # Remove when 8.3 is out
 UPSTREAM_VERSION_UNKNOWN = "1"
diff --git a/poky/meta/recipes-support/vim/vim_8.2.bb b/poky/meta/recipes-support/vim/vim_8.2.bb
index f358e61..fee9f05 100644
--- a/poky/meta/recipes-support/vim/vim_8.2.bb
+++ b/poky/meta/recipes-support/vim/vim_8.2.bb
@@ -2,14 +2,18 @@
 
 PROVIDES = "xxd"
 
-RDEPENDS:${PN} = "ncurses-terminfo-base"
+RDEPENDS:${PN} = "ncurses-terminfo-base ${PN}-xxd"
 # Recommend that runtime data is installed along with vim
 RRECOMMENDS:${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
 
 PACKAGECONFIG:class-native = ""
 BBCLASSEXTEND = "native nativesdk"
 
-ALTERNATIVE:${PN}:append = " xxd"
+PACKAGES =+ "${PN}-xxd"
+FILES:${PN}-xxd = "${bindir}/xxd"
+RPROVIDES:${PN}-xxd = "xxd"
+
+ALTERNATIVE:${PN}-xxd = "xxd"
 ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd"
 ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd"
 
diff --git a/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb b/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb
index b3b9702..222ba7b 100644
--- a/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb
+++ b/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb
@@ -14,6 +14,8 @@
 
 S = "${WORKDIR}/git"
 
+CFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}"
+
 do_compile () {
 	oe_runmake all
 }
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index 01fb5ad..4b50e3c 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -353,7 +353,7 @@
             bb.utils.mkdirhier(dst_d)
         shutil.move(src, dst)
 
-def _copy_file(src, dst, dry_run_outdir=None):
+def _copy_file(src, dst, dry_run_outdir=None, base_outdir=None):
     """Copy a file. Creates all the directory components of destination path."""
     dry_run_suffix = ' (dry-run)' if dry_run_outdir else ''
     logger.debug('Copying %s to %s%s' % (src, dst, dry_run_suffix))
diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py
index da483da..c44159b 100644
--- a/poky/scripts/lib/wic/plugins/imager/direct.py
+++ b/poky/scripts/lib/wic/plugins/imager/direct.py
@@ -117,7 +117,7 @@
         updated = False
         for part in self.parts:
             if not part.realnum or not part.mountpoint \
-               or part.mountpoint == "/" or not part.mountpoint.startswith('/'):
+               or not part.mountpoint.startswith('/'):
                 continue
 
             if part.use_uuid:
diff --git a/poky/scripts/oe-depends-dot b/poky/scripts/oe-depends-dot
index 5eb3e12..1c2d51c 100755
--- a/poky/scripts/oe-depends-dot
+++ b/poky/scripts/oe-depends-dot
@@ -15,7 +15,7 @@
     def __init__(self):
         parser = argparse.ArgumentParser(
             description="Analyse recipe-depends.dot generated by bitbake -g",
-            epilog="Use %(prog)s --help to get help")
+            formatter_class=argparse.RawDescriptionHelpFormatter)
         parser.add_argument("dotfile",
             help = "Specify the dotfile", nargs = 1, action='store', default='')
         parser.add_argument("-k", "--key",
@@ -32,6 +32,21 @@
                     " For example, A->B, B->C, A->C, then A->C can be removed.",
             action="store_true", default=False)
 
+        parser.epilog = """
+Examples:
+First generate the .dot file:
+    bitbake -g core-image-minimal
+
+To find out why a package is being built:
+    %(prog)s -k <package> -w ./task-depends.dot
+
+To find out what a package depends on:
+    %(prog)s -k <package> -d ./task-depends.dot
+
+Reduce the .dot file packages only, no tasks:
+    %(prog)s -r ./task-depends.dot
+"""
+
         self.args = parser.parse_args()
 
         if len(sys.argv) != 3 and len(sys.argv) < 5:
@@ -99,6 +114,10 @@
                 if key == "meta-world-pkgdata":
                     continue
                 dep = m.group(2)
+                key = key.split('.')[0]
+                dep = dep.split('.')[0]
+                if key == dep:
+                    continue
                 if key in depends:
                     if not key in depends[key]:
                         depends[key].add(dep)