subtree updates

meta-openembedded: f3cdc9d7ee..0474e0b870:
  Alexander Amelkin (1):
        ipmitool: Update links

  Bhargav Das (1):
        python3-libevdev: Add recipe for python libevdev module.

  Changqing Li (1):
        redis: upgrade 6.2.11 -> 6.2.12

  Chen Qi (1):
        frr: add CVE_PRODUCT

  Diego Dassie (2):
        paho-mqtt-c: Disable building tests
        paho-mqtt-c: Improve performance

  Fabio Estevam (1):
        lvgl: lvgl-demo-fb: Inherit features_check

  Johannes Kauffmann (2):
        open62541: allow overriding encryption providers
        open62541: disable warnings as errors

  Jun Nie (3):
        libcbor: Add initial support
        python3-pefile: Add initial support
        python3-uswid: Add initial support

  Khem Raj (27):
        gitpkgv: Fix python deprecation warning
        python3-pyzstd: Disable LTO on clang+arm
        libftdi: Remove sysroot paths from .cmake files
        libencode-perl: Remove buildpaths from generated .exh files
        libcdio: Drop need for LIBCDIO_SOURCE_PATH
        enca: Remove buildpaths from target scripts
        libirecovery: Add missing build dependency on readline
        usbmuxd: Remove recipe for 1.1.1
        usbmuxd: Updgrade to latest on master branch
        packagegroup-meta-oe: Add kpatch for glibc + x86_64 only
        packagegroup-meta-oe: Remove minicoredumper-ptest for musl
        libimobiledevice: Delete recipe for 1.3.0
        libimobiledevice: Update to latest tip
        libimobiledevice: Fix build with clang
        idevicerestore: Update to latest on master branch
        libpaper: Add recipe
        psutils: Add recipe
        nodejs: Upgrade to 18.16.0
        python3-pylint: Fix missing deps for ptests
        etcd: Inherit missing features_check
        fftw: Remove hardcoded sysroot into binaries
        lmdb: Pass CFLAGS to Makefile
        squid: Remove buildpaths from generated binaries
        libiio: Do not generate lineinfo in lex/yacc generated files
        php: Remove buildpaths from scripts and generated headers
        uw-imap: Pass CFLAGS from environment
        libmad: Add a patch to pass cflags to build

  Marcel Ziswiler (1):
        libusbgx: fix device hot-plug use case

  Marek Vasut (7):
        lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0
        lvgl: Activate custom tick implementation
        lvgl: Add configurable color depth, default to 32bpp
        lvgl: Support both fbdev and wayland backends
        lvgl: Update lvgl-demo-fb to 8.3.0
        lvgl: Upgrade dialog-lvgl to next/main version
        lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES

  Markus Volk (12):
        xdg-desktop-portal-wlr: update 0.6.0 -> 0.7.0
        python3-pillow: add libxcb to RDEPENDS for x11
        adw-gtk3: update 4.5 -> 4.6
        paprefs: add recipe
        imaagemagick: update 7.1.1-5 -> 7.1.1-8
        fuse3: update 3.12.0 -> 3.14.1
        gnome-software: update 44.0 -> 44.1
        gjs: update 1.75.1 -> 1.76.0
        evince: update 44.0 -> 44.1
        gdm: update 44.0 -> 44.1
        xdg-desktop-portal-gnome: update 44.0 -> 44.1
        libcamera: update 0.0.4 -> 0.0.5

  Martin Jansa (18):
        glfw: respect DISTRO_FEATURES when enabling x11 in default PACKAGECONFIG and return it to REQUIRED_DISTRO_FEATURES
        libreport: add dependency on libarchive
        libxmlb: add missing dependency on glib-2.0 and xz
        geoclue: fix build without gobject-introspection-data
        appstream: fix build without gobject-introspection-data
        ostree: fix build without gobject-introspection-data
        rdfind: fix build with -Werror=return-type
        spice-gtk: respect gobject-introspection-data
        cpulimit: fix do_install with multilib
        libnfs: fix installed-vs-shipped issues with multilib
        btrfsmaintenance: install to ${datadir}/${BPN}
        libtomcrypt: pass LIBPATH to fix installed-vs-shipped with multilib
        nanopb: fix installed-vs-shipped with multilib
        nv-codec-headers: fix installed-vs-shipped with multilib
        zfs: fix installation paths for multilib
        poppler: add dependency on glib-2.0-native
        paprefs: add x11 to REQUIRED_DISTRO_FEATURES
        etcd: don't hardcode /usr/lib in do_install

  Matija Tudan (1):
        serial: add recipe for version 1.2.1

  Ming Liu (4):
        libusbgx: uprev to the latest commit
        libusbgx: fix some systemd service conditions
        libusbgx: drop hard-coded /usr/bin,/etc
        libusbgx: check scripts in /etc/usbgx.d

  Mingli Yu (1):
        minicoredumper: correct the sysvinit service file attribute

  Petr Gotthard (4):
        strongswan: add PACKAGECONFIG for the NetworkManager module
        openfortivpn: add new recipe
        networkmanager-fortisslvpn: add new recipe
        networkmanager-openconnect: add new recipe

  Ross Burton (6):
        v4l-utils: do out-of-tree builds
        python3-ninja: simplify recipe
        libisofs: add new recipe
        libburn: move to meta-filesystems
        libisoburn: add new recipe
        xorriso: remove obsolete recipe

  Trevor Gamblin (9):
        python3-pytest-mock: Add recipe
        python3-tomlkit: Add recipe
        ptest-packagelists-meta-python: Add new tests
        python3-platformdirs: Add recipe
        python3-pylint: upgrade 2.14.5 -> 2.17.3
        python3-pylint: add ptest
        ptest-packagelists-meta-python: Add new tests
        python3-pylint: upgrade 2.17.3 -> 2.17.4
        python3-pylint: omit failing pickle test

  Vasileios Anagnostopoulos (1):
        asio: update to 1.28.0

  Wang Mingyu (74):
        abseil-cpp: upgrade 20230125.2 -> 20230125.3
        appstream: upgrade 0.16.1 -> 0.16.2
        babl: upgrade 0.1.104 -> 0.1.106
        audit: upgrade 3.1 -> 3.1.1
        boost-sml: upgrade 1.1.6 -> 1.1.8
        ctags: upgrade 6.0.20230416.0 -> 6.0.20230430.0
        eog: upgrade 44.0 -> 44.1
        gspell: upgrade 1.12.0 -> 1.12.1
        etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3
        googlebenchmark: upgrade 1.7.1 -> 1.8.0
        hwdata: upgrade 0.369 -> 0.370
        libbpf: upgrade 1.1.0 -> 1.2.0
        iozone3: upgrade 492 -> 506
        libadwaita: upgrade 1.3.1 -> 1.3.2
        libcgi-perl: upgrade 4.56 -> 4.57
        libjs-jquery-cookie: upgrade 3.0.1 -> 3.0.5
        libmodule-build-tiny-perl: upgrade 0.043 -> 0.045
        log4cpp: upgrade 1.1.3 -> 1.1.4
        nautilus: upgrade 44.0 -> 44.1
        makedumpfile: upgrade 1.7.2 -> 1.7.3
        mg: upgrade 20230406 -> 20230501
        python3-yarl: upgrade 1.8.2 -> 1.9.2
        python3-alembic: upgrade 1.10.3 -> 1.10.4
        python3-cassandra-driver: upgrade 3.26.0 -> 3.27.0
        python3-can: upgrade 4.1.0 -> 4.2.0
        python3-astroid: upgrade 2.15.3 -> 2.15.4
        python3-argcomplete: upgrade 3.0.5 -> 3.0.8
        python3-coverage: upgrade 7.2.3 -> 7.2.5
        python3-imageio: upgrade 2.27.0 -> 2.28.1
        python3-gast: upgrade 0.5.3 -> 0.5.4
        python3-langtable: upgrade 0.0.61 -> 0.0.62
        python3-flask-socketio: upgrade 5.3.3 -> 5.3.4
        python3-elementpath: upgrade 4.1.1 -> 4.1.2
        python3-nocasedict: upgrade 2.0.0 -> 2.0.1
        python3-protobuf: upgrade 4.22.3 -> 4.22.4
        python3-pint: upgrade 0.20.1 -> 0.21
        python3-pulsectl: upgrade 22.3.2 -> 23.5.0
        python3-pika: upgrade 1.3.1 -> 1.3.2
        python3-pymisp: upgrade 2.4.170.1 -> 2.4.170.2
        python3-pyudev: upgrade 0.24.0 -> 0.24.1
        python3-regex: upgrade 2023.3.23 -> 2023.5.5
        python3-rich: upgrade 13.3.4 -> 13.3.5
        python3-smpplib: upgrade 2.2.2 -> 2.2.3
        python3-sentry-sdk: upgrade 1.20.0 -> 1.22.1
        python3-sqlalchemy: upgrade 2.0.9 -> 2.0.12
        python3-termcolor: upgrade 2.2.0 -> 2.3.0
        python3-twitter: upgrade 4.13.0 -> 4.14.0
        python3-web3: upgrade 6.2.0 -> 6.3.0
        tracker: upgrade 3.5.0 -> 3.5.1
        python3-zeroconf: upgrade 0.56.0 -> 0.62.0
        python3-xstatic: upgrade 1.0.2 -> 1.0.3
        python3-requests-toolbelt: upgrade 0.10.1 -> 1.0.0
        libimobiledevice-glue: SRCREV bump d2ff796..114098d
        libplist: upgrade 2.2.0 -> 2.3.0
        ctags: upgrade 6.0.20230430.0 -> 6.0.20230507.0
        libnet-dns-perl: upgrade 1.37 -> 1.38
        libdivecomputer: upgrade 0.7.0 -> 0.8.0
        python3-platformdirs: upgrade 3.5.0 -> 3.5.1
        python3-sympy: upgrade 1.11.1 -> 1.12
        python3-google-auth: upgrade 2.17.3 -> 2.18.0
        php: upgrade 8.2.5 -> 8.2.6
        postgresql: upgrade 15.2 -> 15.3
        python3-protobuf: upgrade 4.22.4 -> 4.23.0
        python3-pulsectl: upgrade 23.5.0 -> 23.5.1
        python3-pymisp: upgrade 2.4.170.2 -> 2.4.171
        python3-pyjwt: upgrade 2.6.0 -> 2.7.0
        python3-redis: upgrade 4.5.4 -> 4.5.5
        python3-pytest-xdist: upgrade 3.2.1 -> 3.3.0
        python3-sentry-sdk: upgrade 1.22.1 -> 1.22.2
        python3-typeguard: upgrade 3.0.2 -> 4.0.0
        python3-sqlalchemy: upgrade 2.0.12 -> 2.0.13
        python3-websockets: upgrade 11.0.2 -> 11.0.3
        xterm: upgrade 379 -> 380
        wavpack: upgrade 4.60.1 -> 5.1.0

  Xiangyu Chen (1):
        pahole: fix native package build error

  ojayanth (2):
        etcd: systemd unit support to start existing etcd node
        etcd: add systemd unit support for clustering

poky: 76cec94fad..35e5d29a7d:
  Alexander Kanavin (1):
        gcr: consider all versions, not only x.even.y

  Andrew Jeffery (1):
        Revert "ipk: Decode byte data to string in manifest handling"

  Anuj Mittal (2):
        gstreamer1.0: upgrade 1.22.0 -> 1.22.2
        vte: upgrade 0.72.0 -> 0.72.1

  Chen Qi (1):
        sqlite3: update CVE_PRODUCT

  Frederic Martinsons (1):
        ptest-cargo.bbclass: add the possibility to define test arguments

  Khem Raj (3):
        musl: Update to 1.2.4 release
        cpio: Run ptests under ptest user
        python3-requests: Upgrade to 2.30.0

  Luca Ceresoli (2):
        ref-manual: classes: kernel: remove incorrect sentence opening
        ref-manual: classes: kernel: document automatic defconfig usage

  Martin Jansa (1):
        populate_sdk_base.bbclass: respect MLPREFIX for ptest-pkgs's ptest-runner

  Michael Opdenacker (2):
        migration-guides: start of 4.3 migration and release notes
        ref-manual: document FIT_ADDRESS_CELLS

  Paul Gortmaker (1):
        yocto-bsp: drop MIPS Edgerouter support

  Qiu Tingting (1):
        e2fsprogs: fix ptest bug for second running

  Richard Purdie (5):
        migration/release-notes-4.3: Add extra notes
        qemu: Update ppc instruction fix to match revised upstream version
        glib-networking: Add test retry to avoid failures
        glib-networking: Correct glib error handling in test patch
        qemu: Further updates to the ppc patch after upstream discussion

  Ross Burton (6):
        gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled
        Revert "ffmpeg: move ffmpeg config into packageconfig"
        ffmpeg: add v4l2 PACKAGECONFIG
        python3: use libedit instead of readline
        python3: clean up PACKAGECONFIG
        python3: use system expat

  Tim Orling (2):
        python3-urllib3: upgrade 1.26.15 -> 2.0.2
        python3-attrs: upgrade 22.2.0 -> 23.1.0

  Trevor Gamblin (3):
        python3-trove-classifiers: Add recipe
        python3-hatchling: upgrade 1.13.0 -> 1.14.1
        python3-calver: Add recipe

  Zang Ruochen (1):
        elfutils: upgrade 0.188 -> 0.189

  nikhil (1):
        tiff: Remove unused patch from tiff

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.4.bb
new file mode 100644
index 0000000..4f8c183
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libburn_1.5.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "library to write an ISO-9660 file system to physical media"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+                    file://COPYRIGHT;md5=a91b9b862895b64e68e5b321873c9111"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "525059d10759c5cb8148eebc863bb510e311c663603da7bd2d21c46b7cf63b54"
+
+inherit autotools pkgconfig lib_package
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb
new file mode 100644
index 0000000..f263b51
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisoburn_1.5.4.bb
@@ -0,0 +1,27 @@
+SUMMARY = "library and tool to create and burn ISO-9660 images"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+                    file://COPYRIGHT;md5=43cfe25a7e4a65f722d6253fa0649bb1"
+
+SRC_URI = "http://files.libburnia-project.org/releases/libisoburn-${PV}.tar.gz"
+SRC_URI[sha256sum] = "2d89846d43880f17fa591c53b3bea42ffb803628e4e630c680fc2c9184f79132"
+
+DEPENDS = "libisofs libburn"
+# This replaces the xorriso recipe
+PROVIDES += "xorriso"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-pkg-check-modules"
+
+do_install:append() {
+    # This is a proof-of-concept UI using Tk, don't ship it
+    rm -f ${D}${bindir}/xorriso-tcltk
+}
+
+PACKAGE_BEFORE_PN = "xorriso"
+FILES:xorriso = "${bindir}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb
new file mode 100644
index 0000000..1754db7
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/burnia/libisofs_1.5.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "library to create an ISO-9660 filesystem"
+HOMEPAGE = "https://libburnia-project.org/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+                    file://COPYRIGHT;md5=1c1e5a960562d65f6449bb1d21e1dffc"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "aaa0ed80a7501979316f505b0b017f29cba0ea5463b751143bad2c360215a88e"
+
+DEPENDS = "acl zlib"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
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 1954b59..361972a 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
@@ -18,6 +18,9 @@
 
 RDEPENDS:packagegroup-meta-filesystems = "\
     ifuse \
+    libisofs \
+    libburn \
+    libisoburn \
     logfsprogs \
     fuse-exfat \
     owfs \
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb
index 77daab7..573561d 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/zfs/zfs_2.1.9.bb
@@ -27,12 +27,16 @@
     --with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
     --with-mounthelperdir=${base_sbin} \
     --with-udevdir=${base_libdir}/udev \
+    --with-systemdunitdir=${systemd_system_unitdir} \
+    --with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \
+    --with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \
+    --with-systemdmodulesloaddir=${sysconfdir}/module-load.d \
     --without-dracutdir \
-    "
+"
 
 EXTRA_OEMAKE:append = " \
     INSTALL_MOD_PATH=${D}${root_prefix} \
-    "
+"
 
 do_install:append() {
     # /usr/share/zfs contains the zfs-tests folder which we do not need:
@@ -42,19 +46,25 @@
 }
 
 FILES:${PN} += "\
-    ${base_sbindir}/* \
-    ${base_libdir}/* \
-    ${sysconfdir}/* \
-    ${sbindir}/* \
-    ${bindir}/* \
-    ${libexecdir}/${BPN}/* \
-    ${libdir}/* \
-    "
+    ${nonarch_base_libdir}/modules \
+    ${systemd_system_unitdir} \
+    ${nonarch_base_libdir}/systemd/system-generators \
+    ${nonarch_base_libdir}/systemd/system-preset \
+    ${sysconfdir}/modules-load.d/${BPN}.conf \
+    ${sysconfdir}/default/${BPN} \
+    ${sysconfdir}/sudoers.d/${BPN} \
+    ${sysconfdir}/${BPN} \
+    ${base_libdir}/udev \
+    ${sbindir} \
+    ${bindir} \
+    ${libexecdir}/${BPN} \
+    ${libdir} \
+"
 
 FILES:${PN}-dev += "\
-    ${prefix}/src/zfs-${PV}/* \
-    ${prefix}/src/spl-${PV}/* \
-    "
+    ${prefix}/src/zfs-${PV} \
+    ${prefix}/src/spl-${PV} \
+"
 # Not yet ported to rv32
 COMPATIBLE_HOST:riscv32 = "null"
 # conflicting definition of ABS macro from asm/asm.h from kernel
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.12.0.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb
similarity index 96%
rename from meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.12.0.bb
rename to meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb
index b886eff..c8a820a 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.12.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.14.1.bb
@@ -13,7 +13,7 @@
 
 SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
 "
-SRC_URI[sha256sum] = "33b8a92d6f7a88e6a889f0009206933482f48f3eb85d88cf09ef551313ac7373"
+SRC_URI[sha256sum] = "126919d72b46b3e0eb58a9c6933a2a50c36f2ea69f61fe9e78bdba9f463ffa20"
 
 S = "${WORKDIR}/fuse-${PV}"
 
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb b/meta-openembedded/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb
index a4573cf..5761844 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/btrfsmaintenance/btrfsmaintenance_0.5.bb
@@ -38,9 +38,9 @@
         ${D}${systemd_system_unitdir}
 
     install -Dm0644 ${S}/btrfsmaintenance-functions \
-        ${D}${datadir}/${PN}/btrfsmaintenance-functions
+        ${D}${datadir}/${BPN}/btrfsmaintenance-functions
     install -Dm0755 ${S}/*.sh \
-        ${D}${datadir}/${PN}
+        ${D}${datadir}/${BPN}
 
     install -Dm0644 ${S}/sysconfig.btrfsmaintenance \
         ${D}${sysconfdir}/default/btrfsmaintenance
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb b/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb
deleted file mode 100644
index a83950d..0000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.5.5.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \
-into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \
-manipulation of such filesystems"
-
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "a5e3dc4e0b92be6837f9ed6cbf7f9df5"
-SRC_URI[sha256sum] = "91663d61bee61ff790b3f6861fdf57c54af0e238ab14f297b55bae8ab5d17684"
-
-PACKAGECONFIG ??= "acl attr zlib bzip2 readline"
-PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl,"
-PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr,"
-PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
-PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2,"
-PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline,"
-
-inherit autotools-brokensep pkgconfig features_check
-
-do_configure:prepend () {
-    touch NEWS
-}
-
-RDEPENDS:${PN} = "tk"
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.104.bb b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb
similarity index 83%
rename from meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.104.bb
rename to meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb
index a79dd4d..5a5f4f5 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.104.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.106.bb
@@ -11,7 +11,7 @@
 DEPENDS += "lcms"
 
 SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz"
-SRC_URI[sha256sum] = "22e38e1d19c5391abc8ccf936033a9d035e8a8ec7523e5cd76a4c01137d7160c"
+SRC_URI[sha256sum] = "d325135d3304f088c134cc620013acf035de2e5d125a50a2d91054e7377c415f"
 
 FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_44.1.bb
similarity index 86%
rename from meta-openembedded/meta-gnome/recipes-gnome/eog/eog_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/eog/eog_44.1.bb
index c95d0e6..fad7de6 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eog/eog_44.1.bb
@@ -21,7 +21,7 @@
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
-SRC_URI[archive.sha256sum] = "41d85fab05c430898dbfd847e48e1f5b4935dc3cbcee546e759a907eda671054"
+SRC_URI[archive.sha256sum] = "e2c963f232fe5a1091dcc18bec25a730e91b02af6e466601efa55e500cd74cab"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.1.bb
similarity index 84%
rename from meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.1.bb
index 1c7103c..a2a6f9a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.1.bb
@@ -34,7 +34,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "339ee9e005dd7823a13fe21c71c2ec6d2c4cb74548026e4741eee7b2703e09da"
+SRC_URI[archive.sha256sum] = "15afd3bb15ffb38fecab34c23350950ad270ab03a85b94e333d9dd7ee6a74314"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
@@ -46,6 +46,11 @@
 
 PACKAGES =+ "${PN}-nautilus-extension"
 
+do_install:prepend() {
+    sed -i -e 's|${B}/||g' ${B}/libview/ev-view-type-builtins.c
+    sed -i -e 's|${B}/||g' ${B}/libdocument/ev-document-type-builtins.c
+}
+
 FILES:${PN} += "${datadir}/dbus-1 \
                 ${datadir}/metainfo \
                 ${datadir}/thumbnailers \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_44.1.bb
similarity index 79%
rename from meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_44.1.bb
index 09e8acc..cd90133 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gdm/gdm_44.1.bb
@@ -21,7 +21,7 @@
 
 inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check
 
-SRC_URI[archive.sha256sum] = "ce20b0a221dbf8cde0064b501fd8f38f73839152857c4535337eb09cc52f7f6c"
+SRC_URI[archive.sha256sum] = "68266b3abe7d28fc469d0067aac9c5dabb0ca7952cc1f7c238a04951f3dc5b0d"
 
 EXTRA_OEMESON = " \
     -Dplymouth=disabled \
@@ -29,6 +29,13 @@
     -Dpam-mod-dir=${base_libdir}/security \
 "
 
+do_install:prepend() {
+    sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.c
+    sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.h
+    sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.c
+    sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.h
+}
+
 do_install:append() {
     rm -rf ${D}/run ${D}${localstatedir}/run
 }
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.75.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.76.0.bb
similarity index 92%
rename from meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.75.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.76.0.bb
index b2c2b58..e6d377c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.75.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.76.0.bb
@@ -8,7 +8,7 @@
 
 inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
 
-SRC_URI[archive.sha256sum] = "81dcdf49d2665d08fa7e251700ea36466d77877418e9186d3a7e7efcd31aa960"
+SRC_URI[archive.sha256sum] = "a63f156964b136053eab51ea013114e7d7c193b7518d28c040b6b02c3c933a6d"
 SRC_URI += " \
     file://0001-Support-cross-builds-a-bit-better.patch \
     file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.1.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.1.bb
index f497f5b..beec3de 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-software/gnome-software_44.1.bb
@@ -29,7 +29,7 @@
 
 EXTRA_OEMESON += "-Dtests=false -Dsoup2=false"
 
-SRC_URI[archive.sha256sum] = "619719f9529e0bb1dad30fadbb780d7b1d99940a6db1f71df51bc737341830af"
+SRC_URI[archive.sha256sum] = "9dc6551512cf0a26d03e0d79f494870a6916d43c14d82199c43a11d9cc0ad5aa"
 
 PACKAGECONFIG ?= "flatpak"
 PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.1.bb
similarity index 75%
rename from meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.1.bb
index b7e4954..6b65af3 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.12.1.bb
@@ -7,4 +7,4 @@
 
 inherit gnomebase gettext gobject-introspection vala
 
-SRC_URI[archive.sha256sum] = "40d2850f1bb6e8775246fa1e39438b36caafbdbada1d28a19fa1ca07e1ff82ad"
+SRC_URI[archive.sha256sum] = "8ec44f32052e896fcdd4926eb814a326e39a5047e251eec7b9056fbd9444b0f1"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.2.bb
similarity index 85%
rename from meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.2.bb
index 8f927e3..b661734 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.3.2.bb
@@ -10,7 +10,7 @@
 
 inherit gnomebase gobject-introspection gtk-doc vala features_check
 
-SRC_URI[archive.sha256sum] = "6b8bbf413c501b46c8616a0e5b836d7a34091140941412520bbd9ddda6df8cbd"
+SRC_URI[archive.sha256sum] = "b38c91658b2d1fcb7eedf687858b0a54de39af6357661912b54271884c8e195e"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-initialize-GdkDragAction-action-to-0.patch b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-initialize-GdkDragAction-action-to-0.patch
deleted file mode 100644
index abe5848..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-initialize-GdkDragAction-action-to-0.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From d8f8859369b228d86aeeb043d732b9c60fdce289 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 24 Mar 2023 15:29:04 -0700
-Subject: [PATCH] initialize GdkDragAction action to 0
-
-This helps in silencing clang found warning
-
-autilus-pathbar.c:759:9: error: variable 'action' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
-    if (G_VALUE_HOLDS (value, GDK_TYPE_FILE_LIST))
-        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/1158]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/nautilus-pathbar.c | 2 +-
- src/nautilus-window.c  | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c
-index 1b6ea6a..a5ab780 100644
---- a/src/nautilus-pathbar.c
-+++ b/src/nautilus-pathbar.c
-@@ -746,7 +746,7 @@ on_drag_motion (GtkDropTarget *target,
-                 gpointer       user_data)
- {
-     ButtonData *button_data = user_data;
--    GdkDragAction action;
-+    GdkDragAction action = 0;
-     const GValue *value;
-     graphene_point_t start;
- 
-diff --git a/src/nautilus-window.c b/src/nautilus-window.c
-index 30299b1..74c548f 100644
---- a/src/nautilus-window.c
-+++ b/src/nautilus-window.c
-@@ -1476,7 +1476,7 @@ extra_drag_value_cb (AdwTabBar    *self,
- {
-     NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (adw_tab_page_get_child (page));
-     g_autoptr (NautilusFile) file = nautilus_file_get (nautilus_window_slot_get_location (slot));
--    GdkDragAction action;
-+    GdkDragAction action = 0;
- 
-     if (value == NULL)
-     {
--- 
-2.40.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.1.bb
similarity index 88%
rename from meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.1.bb
index e066556..9c60d15 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.1.bb
@@ -26,8 +26,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI += "file://0001-initialize-GdkDragAction-action-to-0.patch"
-SRC_URI[archive.sha256sum] = "57b99ebb8e2b9c1512d381e53096188c087b33410d6c52d87a27bd60ee76ac7f"
+SRC_URI[archive.sha256sum] = "360802a595e3edbad962c8cea353b62baa8be407513b5162c89c933ca5387aa9"
 
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb
index 6b0e75b..8489043 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb
@@ -22,7 +22,7 @@
 
 inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native
 
-SRC_URI[archive.sha256sum] = "13294275dbbbad9634b3a8390c08e6f12bebfe84f6ccafb72b27b0c23ba8da2f"
+SRC_URI[archive.sha256sum] = "f972d50ac7bafdccf113b1eb99dcae35404685a99e55bfef16f3ac83b4de974d"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.0.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb
similarity index 94%
rename from meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb
index c92037d..d6bc0e9 100644
--- a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb
@@ -24,7 +24,7 @@
 SRC_URI = "git://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome.git;protocol=https;nobranch=1"
 
 S = "${WORKDIR}/git"
-SRCREV = "8e1c4fd928be500208ca1df62441a56e2569bfb8"
+SRCREV = "89203bf3522556965fc225782d1a635afdac611e"
 
 PACKAGECONFIG ?= "screenshot screencast ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
 
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch
deleted file mode 100644
index 55a5977..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-file_sink.cpp-Avoid-dangling-reference.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 2eaffc9ac8b47c354404075761fe8f76fad0ced4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 24 Jan 2023 01:18:25 -0800
-Subject: [PATCH] file_sink.cpp: Avoid dangling-reference
-
-Fixes following errors with gcc-13
-
-../git/src/cam/file_sink.cpp:92:45: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
-   92 |                 const FrameMetadata::Plane &meta = buffer->metadata().planes()[i];
-      |                                             ^~~~
-../git/src/cam/file_sink.cpp:92:81: note: the temporary was destroyed at the end of the full expression '(& buffer->libcamera::FrameBuffer::metadata())->libcamera::FrameMetadata::planes().libcamera::Span<const libcamera::FrameMetadata::Plane>::operator[](i)'
-   92 |                 const FrameMetadata::Plane &meta = buffer->metadata().planes()[i];
-      |                                                                                 ^
-cc1plus: all warnings being treated as errors
-
-Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2023-January/036575.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/apps/cam/file_sink.cpp | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/apps/cam/file_sink.cpp b/src/apps/cam/file_sink.cpp
-index b32aad24..9f4c5648 100644
---- a/src/apps/cam/file_sink.cpp
-+++ b/src/apps/cam/file_sink.cpp
-@@ -114,13 +114,13 @@ void FileSink::writeBuffer(const Stream *stream, FrameBuffer *buffer,
- 	}
- 
- 	for (unsigned int i = 0; i < buffer->planes().size(); ++i) {
--		const FrameMetadata::Plane &meta = buffer->metadata().planes()[i];
-+		unsigned int bytesused = buffer->metadata().planes()[i].bytesused;
- 
- 		Span<uint8_t> data = image->data(i);
--		unsigned int length = std::min<unsigned int>(meta.bytesused, data.size());
-+		unsigned int length = std::min<unsigned int>(bytesused, data.size());
- 
--		if (meta.bytesused > data.size())
--			std::cerr << "payload size " << meta.bytesused
-+		if (bytesused > data.size())
-+			std::cerr << "payload size " << bytesused
- 				  << " larger than plane size " << data.size()
- 				  << std::endl;
- 
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb
similarity index 94%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb
index 12d4299..14a20b4 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.4.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb
@@ -10,10 +10,9 @@
 
 SRC_URI = " \
         git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \
-        file://0001-file_sink.cpp-Avoid-dangling-reference.patch \
 "
 
-SRCREV = "6cf637eb253a68edebe59505bea55435fafb00cd"
+SRCREV = "fb44403f1c5571549ac128c21daee9761eb9249c"
 
 PE = "1"
 
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb
index 5ef7ead..4bff4f2 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.0.16.0.bb
@@ -10,7 +10,7 @@
 SRCREV = "c5e4af74850a616c42d39ed45b9b8568b71bf8bf"
 S = "${WORKDIR}/git"
 
-EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D}"
+EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} LIBDIR=${baselib}"
 
 do_install() {
     oe_runmake install
diff --git a/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.6.0.bb b/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
similarity index 94%
rename from meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.6.0.bb
rename to meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
index 3838927..cfc7109 100644
--- a/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.6.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
@@ -19,7 +19,7 @@
 SRC_URI = "git://github.com/emersion/xdg-desktop-portal-wlr.git;protocol=https;nobranch=1"
 
 S = "${WORKDIR}/git"
-SRCREV = "6737c209578e7f17536dbcb8fb2169dcf86ce528"
+SRCREV = "776113a4f014639c29d8de8fcb513493ef7b491f"
 
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'basu', d)}"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch
new file mode 100644
index 0000000..0a568fa
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0001-fix-ppp-2.5.0-build.patch
@@ -0,0 +1,306 @@
+From 084ef529c5fb816927ca54866f66b340265aa9f6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Sat, 4 Mar 2023 21:20:43 +0000
+Subject: [PATCH] Adding support for compiling against pppd-2.5.0 (or master
+ branch)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Accepted
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+---
+ Makefile.am                                   |  5 +-
+ configure.ac                                  | 37 +++++++-
+ src/nm-fortisslvpn-pppd-compat.h              | 93 +++++++++++++++++++
+ src/nm-fortisslvpn-pppd-plugin.c              | 24 ++---
+ ...-status.h => nm-fortisslvpn-pppd-status.h} |  0
+ src/nm-fortisslvpn-service.c                  |  2 +-
+ 6 files changed, 145 insertions(+), 16 deletions(-)
+ create mode 100644 src/nm-fortisslvpn-pppd-compat.h
+ rename src/{nm-ppp-status.h => nm-fortisslvpn-pppd-status.h} (100%)
+
+diff --git a/Makefile.am b/Makefile.am
+index b2e5533..e1e5ec9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -81,7 +81,7 @@ libexec_PROGRAMS += src/nm-fortisslvpn-service
+ src_nm_fortisslvpn_service_SOURCES = \
+ 	shared/nm-utils/nm-shared-utils.c \
+ 	shared/nm-utils/nm-shared-utils.h \
+-	src/nm-ppp-status.h \
++	src/nm-fortisslvpn-pppd-status.h \
+ 	src/nm-fortisslvpn-service.h \
+ 	src/nm-fortisslvpn-service.c \
+ 	shared/nm-fortissl-properties.c \
+@@ -106,7 +106,8 @@ src_nm_fortisslvpn_pppd_plugin_la_SOURCES = \
+ 	shared/nm-utils/nm-shared-utils.c \
+ 	shared/nm-utils/nm-shared-utils.h \
+ 	src/nm-fortisslvpn-pppd-plugin.c \
+-	src/nm-ppp-status.h
++	src/nm-fortisslvpn-pppd-compat.h \
++	src/nm-fortisslvpn-pppd-status.h
+ nodist_src_nm_fortisslvpn_pppd_plugin_la_SOURCES = \
+ 	src/nm-fortisslvpn-pppd-service-dbus.h
+ src_nm_fortisslvpn_pppd_plugin_la_CPPFLAGS = $(src_cppflags)
+diff --git a/configure.ac b/configure.ac
+index a998707..877493e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,10 @@ AC_PROG_CC
+ AM_PROG_CC_C_O
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
++AC_PROG_CPP
++AC_PROG_EGREP
+ AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources)
++PKG_PROG_PKG_CONFIG()
+ 
+ AC_GNU_SOURCE
+ 
+@@ -37,20 +40,50 @@ dnl
+ dnl Required headers
+ dnl
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h)
++AC_CHECK_HEADERS(fcntl.h paths.h stdarg.h stdbool.h sys/ioctl.h sys/time.h syslog.h unistd.h)
+ 
+ AC_CHECK_HEADERS(pppd/pppd.h,,
+   AC_MSG_ERROR(couldn't find pppd.h. pppd development headers are required.))
+ 
++dnl
++dnl Check the presense of other pppd/*.h files
++AC_CHECK_HEADERS([
++    pppd/chap.h
++    pppd/chap-new.h
++    pppd/chap_ms.h
++    ])
++
++dnl
++dnl Versions >= 2.5.0 will have pkg-config support
++PKG_CHECK_EXISTS([pppd],
++    [AS_VAR_SET([pppd_pkgconfig_support],[yes])])
++
++dnl
++dnl Get the version of pppd using pkg-config, assume 2.4.9 if not present
++PPPD_VERSION=2.4.5
++if test x"$pppd_pkgconfig_support" = xyes; then
++    PPPD_VERSION=`$PKG_CONFIG --modversion pppd`
++fi
++
++
+ AC_ARG_WITH([pppd-plugin-dir], AS_HELP_STRING([--with-pppd-plugin-dir=DIR], [path to the pppd plugins directory]))
+ 
+ if test -n "$with_pppd_plugin_dir" ; then
+ 	PPPD_PLUGIN_DIR="$with_pppd_plugin_dir"
+ else
+-	PPPD_PLUGIN_DIR="${libdir}/pppd/2.4.5"
++	PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION"
+ fi
+ AC_SUBST(PPPD_PLUGIN_DIR)
+ 
++dnl The version of pppd dictates what code can be included, i.e. enable use of
++dnl   #if WITH_PPP_VERSION >= PPP_VERSION(2,5,0) in the code
++AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)],
++    [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)],
++    [Macro to help determine the particular version of pppd])
++PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g")
++AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION),
++    [The real version of pppd represented as an int])
++
+ dnl
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ dnl
+diff --git a/src/nm-fortisslvpn-pppd-compat.h b/src/nm-fortisslvpn-pppd-compat.h
+new file mode 100644
+index 0000000..9a02908
+--- /dev/null
++++ b/src/nm-fortisslvpn-pppd-compat.h
+@@ -0,0 +1,93 @@
++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
++/* nm-sstp-service - sstp (and other pppd) integration with NetworkManager
++ *
++ * Copyright (C) Eivind Næss, eivnaes@yahoo.com
++ *
++ * 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.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ */
++
++#ifndef __NM_FORTISSLVPN_PPPD_COMPAT_H__
++#define __NM_FORTISSLVPN_PPPD_COMPAT_H__
++
++#define INET6      1
++
++// PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
++//   this silly macro magic is to work around that.
++
++#undef VERSION
++#include <pppd/pppd.h>
++
++#ifndef PPPD_VERSION
++#define PPPD_VERSION VERSION
++#endif
++
++#include <pppd/fsm.h>
++#include <pppd/ccp.h>
++#include <pppd/eui64.h>
++#include <pppd/ipcp.h>
++#include <pppd/ipv6cp.h>
++#include <pppd/eap.h>
++#include <pppd/upap.h>
++
++#ifdef HAVE_PPPD_CHAP_H
++ #include <pppd/chap.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_NEW_H
++ #include <pppd/chap-new.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_MS_H
++ #include <pppd/chap_ms.h>
++#endif
++
++#ifndef PPP_PROTO_CHAP
++#define PPP_PROTO_CHAP              0xc223
++#endif 
++
++#ifndef PPP_PROTO_EAP
++#define PPP_PROTO_EAP               0xc227
++#endif
++
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++
++static inline bool debug_on(void)
++{
++    return debug;
++}
++
++static inline const char *ppp_ipparam(void)
++{
++    return ipparam;
++}
++
++static inline int ppp_ifunit(void)
++{
++    return ifunit;
++}
++
++static inline const char *ppp_ifname(void)
++{
++    return ifname;
++}
++
++static inline int ppp_get_mtu(int idx)
++{
++    return netif_get_mtu(idx);
++}
++
++#endif // #if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++#endif // #ifdef __NM_FORTISSLVPN_PPPD_COMPAT_H__
+diff --git a/src/nm-fortisslvpn-pppd-plugin.c b/src/nm-fortisslvpn-pppd-plugin.c
+index f2ad262..c2efb9a 100644
+--- a/src/nm-fortisslvpn-pppd-plugin.c
++++ b/src/nm-fortisslvpn-pppd-plugin.c
+@@ -23,12 +23,6 @@
+ #define ___CONFIG_H__
+ #include <config.h>
+ 
+-#include <pppd/pppd.h>
+-#include <pppd/fsm.h>
+-#include <pppd/ipcp.h>
+-
+-#include "nm-default.h"
+-
+ #include <sys/types.h>
+ #include <string.h>
+ #include <sys/socket.h>
+@@ -42,10 +36,12 @@
+ #include <grp.h>
+ #include <glib/gstdio.h>
+ 
++#include "nm-fortisslvpn-pppd-status.h"
++#include "nm-fortisslvpn-pppd-compat.h"
+ #include "nm-fortisslvpn-pppd-service-dbus.h"
+-#include "nm-fortisslvpn-service.h"
+-#include "nm-ppp-status.h"
+ 
++#include "nm-default.h"
++#include "nm-fortisslvpn-service.h"
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-vpn-plugin-macros.h"
+ 
+@@ -80,7 +76,7 @@ static struct {
+ 
+ int plugin_init (void);
+ 
+-char pppd_version[] = VERSION;
++char pppd_version[] = PPPD_VERSION;
+ 
+ static void
+ chroot_sandbox (void)
+@@ -296,7 +292,7 @@ get_ip4_routes (in_addr_t ouraddr)
+ static void
+ nm_ip_up (void *data, int arg)
+ {
+-	guint32 pppd_made_up_address = htonl (0x0a404040 + ifunit);
++	guint32 pppd_made_up_address = htonl (0x0a404040 + ppp_ifunit());
+ 	ipcp_options opts = ipcp_gotoptions[0];
+ 	ipcp_options peer_opts = ipcp_hisoptions[0];
+ 	GVariantBuilder builder;
+@@ -317,7 +313,7 @@ nm_ip_up (void *data, int arg)
+ 
+ 	g_variant_builder_add (&builder, "{sv}",
+ 	                       NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV,
+-	                       g_variant_new_string (ifname));
++	                       g_variant_new_string (ppp_ifname()));
+ 
+ 	str = g_getenv ("VPN_GATEWAY");
+ 	if (str) {
+@@ -442,8 +438,14 @@ plugin_init (void)
+ 		return -1;
+ 	}
+ 
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
+ 	add_notifier (&phasechange, nm_phasechange, NULL);
+ 	add_notifier (&ip_up_notifier, nm_ip_up, NULL);
+ 	add_notifier (&exitnotify, nm_exit_notify, NULL);
++#else
++	ppp_add_notify (NF_PHASE_CHANGE, nm_phasechange, NULL);
++	ppp_add_notify (NF_IP_UP, nm_ip_up, NULL);
++	ppp_add_notify (NF_EXIT, nm_exit_notify, NULL);
++#endif	
+ 	return 0;
+ }
+diff --git a/src/nm-ppp-status.h b/src/nm-fortisslvpn-pppd-status.h
+similarity index 100%
+rename from src/nm-ppp-status.h
+rename to src/nm-fortisslvpn-pppd-status.h
+diff --git a/src/nm-fortisslvpn-service.c b/src/nm-fortisslvpn-service.c
+index 6c340d0..a8483c2 100644
+--- a/src/nm-fortisslvpn-service.c
++++ b/src/nm-fortisslvpn-service.c
+@@ -40,7 +40,7 @@
+ #include <glib/gstdio.h>
+ 
+ #include "nm-fortissl-properties.h"
+-#include "nm-ppp-status.h"
++#include "nm-fortisslvpn-pppd-status.h"
+ #include "nm-fortisslvpn-pppd-service-dbus.h"
+ #include "nm-utils/nm-shared-utils.h"
+ #include "nm-utils/nm-vpn-plugin-macros.h"
+-- 
+GitLab
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch
new file mode 100644
index 0000000..798a57b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn/0002-fix-ppp-2.5.0-build.patch
@@ -0,0 +1,34 @@
+From 8773f772d39f8eee6edc1fd2e5437c754ed41e1e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
+Date: Sat, 4 Mar 2023 21:29:54 +0000
+Subject: [PATCH] Fixing configure.ac from previous change
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Accepted
+Signed-off-by: Eivind Næss <eivnaes@yahoo.com>
+---
+ configure.ac | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 877493e..a5b4abb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -47,11 +47,7 @@ AC_CHECK_HEADERS(pppd/pppd.h,,
+ 
+ dnl
+ dnl Check the presense of other pppd/*.h files
+-AC_CHECK_HEADERS([
+-    pppd/chap.h
+-    pppd/chap-new.h
+-    pppd/chap_ms.h
+-    ])
++AC_CHECK_HEADERS(pppd/chap.h pppd/chap-new.h pppd/chap_ms.h)
+ 
+ dnl
+ dnl Versions >= 2.5.0 will have pkg-config support
+-- 
+GitLab
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
new file mode 100644
index 0000000..a251e8b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-fortisslvpn_1.4.0.bb
@@ -0,0 +1,70 @@
+SUMMARY = "Fortinet SSLVPN support for NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "glib-2.0-native libxml2-native networkmanager ppp"
+
+inherit gnomebase gettext useradd
+
+SRC_URI = " \
+    ${GNOME_MIRROR}/NetworkManager-fortisslvpn/${@gnome_verdir("${PV}")}/NetworkManager-fortisslvpn-${PV}.tar.xz \
+    file://0001-fix-ppp-2.5.0-build.patch \
+    file://0002-fix-ppp-2.5.0-build.patch \
+"
+SRC_URI[sha256sum] = "b055e26349b516b23585798ab3ef57b436b014800e92a8ac732cfc8e76c5dafa"
+
+S = "${WORKDIR}/NetworkManager-fortisslvpn-${PV}"
+
+# meta-gnome in layers is required using gnome:
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 libnma libsecret,"
+PACKAGECONFIG[gtk4] = "--with-gtk4,--without-gtk4,gtk4,"
+
+EXTRA_OECONF = "--with-pppd-plugin-dir=${libdir}/pppd/${@get_ppp_version(d)}"
+
+def get_ppp_version(d):
+    import re
+
+    pppd_plugin = d.expand('${STAGING_LIBDIR}/pppd')
+    if not os.path.isdir(pppd_plugin):
+        return None
+
+    bb.debug(1, "pppd plugin dir %s" % pppd_plugin)
+    r = re.compile(r"\d*\.\d*\.\d*")
+    for f in os.listdir(pppd_plugin):
+        if os.path.isdir(os.path.join(pppd_plugin, f)):
+            ma = r.match(f)
+            if ma:
+                bb.debug(1, "pppd version dir %s" % f)
+                return f
+            else:
+                bb.debug(1, "under pppd plugin dir %s" % f)
+
+    return None
+
+# gdbus-codegen requires target directories to exist
+do_configure:append() {
+    mkdir -p ${B}/properties
+    mkdir -p ${B}/src
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system nm-fortisslvpn"
+
+FILES:${PN} += " \
+    ${libdir}/NetworkManager/*.so \
+    ${libdir}/pppd/*/*.so \
+    ${nonarch_libdir}/NetworkManager/VPN/nm-fortisslvpn-service.name \
+"
+
+FILES:${PN}-staticdev += " \
+    ${libdir}/NetworkManager/*.a \
+    ${libdir}/pppd/*/*.a \
+"
+
+RDEPENDS:${PN} = " \
+    networkmanager \
+    openfortivpn \
+    ppp \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
new file mode 100644
index 0000000..c978def
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openconnect_1.2.8.bb
@@ -0,0 +1,46 @@
+SUMMARY = "OpenConnect VPN client for NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=186e8b54342da4f753a62b7748c947db"
+
+DEPENDS = "glib-2.0-native intltool-native libxml2 networkmanager openconnect"
+
+inherit gnomebase useradd
+
+SRC_URI = "${GNOME_MIRROR}/NetworkManager-openconnect/${@gnome_verdir("${PV}")}/NetworkManager-openconnect-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "5dedaa785d82d8e239ddd082bfac5250c691e964464be1807b6827263633cdcc"
+
+S = "${WORKDIR}/NetworkManager-openconnect-${PV}"
+
+# meta-gnome in layers is required using gnome:
+PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome,gtk+3 gcr3 libnma libsecret,"
+PACKAGECONFIG[gtk4] = "--with-gtk4,--without-gtk4,gtk4,"
+
+do_configure:append() {
+    # network-manager-openconnect.metainfo.xml is created in source folder but
+    # compile expects it in build folder. As long as nobody comes up with a
+    # better solution just support build:
+    if [ -e ${S}/appdata/network-manager-openconnect.metainfo.xml ]; then
+        mkdir -p ${B}/appdata
+        cp -f ${S}/appdata/network-manager-openconnect.metainfo.xml ${B}/appdata/
+    fi
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system nm-openconnect"
+
+FILES:${PN} += " \
+    ${libdir}/NetworkManager/*.so \
+    ${nonarch_libdir}/NetworkManager/VPN/nm-openconnect-service.name \
+"
+
+FILES:${PN}-staticdev += " \
+    ${libdir}/NetworkManager/*.a \
+"
+
+RDEPENDS:${PN} = " \
+    networkmanager \
+    openconnect \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb
new file mode 100644
index 0000000..bfd51f7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openfortivpn/openfortivpn_1.20.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Client for PPP+SSL VPN tunnel services"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d575262a651a6f1a17210ce41bf907d"
+
+SRC_URI = "git://github.com/adrienverge/openfortivpn.git;protocol=https;branch=master"
+SRCREV = "45cb8e0f9984f1d54b648e499bda637d96568908"
+
+DEPENDS = "openssl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf --enable-resolvconf,--with-resolvconf=DISABLED,,"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir},--without-systemdsystemunitdir,,"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd
+
+EXTRA_OECONF = " \
+    --with-pppd=${sbindir}/pppd \
+    --disable-proc \
+"
+
+SYSTEMD_SERVICE:${PN} = "openfortivpn@.service"
+
+RDEPENDS:${PN} = "ppp"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb
index a208a2a..2a5de18 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_5.7.bb
@@ -69,6 +69,10 @@
     export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
 }
 
+do_configure:append() {
+   sed -i -e 's|${WORKDIR}||g' ${B}/include/autoconf.h
+}
+
 do_compile_ptest() {
     oe_runmake -C ${TESTDIR} buildtest-TESTS
 }
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb
index d01d895..9669260 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.2.bb
@@ -18,6 +18,8 @@
 
 UPSTREAM_CHECK_GITTAGREGEX = "frr-(?P<pver>\d+(\.\d+)+)$"
 
+CVE_PRODUCT = "frrouting"
+
 S = "${WORKDIR}/git"
 
 inherit autotools-brokensep python3native pkgconfig useradd systemd
diff --git a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb
index 5af856a..883bb2e 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541_1.3.3.bb
@@ -33,9 +33,10 @@
 
 PACKAGECONFIG ?= "encryption pubsub pubsub-eth"
 PACKAGECONFIG[amalgamation] = "-DUA_ENABLE_AMALGAMATION=ON, -DUA_ENABLE_AMALGAMATION=OFF"
-PACKAGECONFIG[encryption] = "-DUA_ENABLE_ENCRYPTION=ON, -DUA_ENABLE_ENCRYPTION=OFF, mbedtls"
+PACKAGECONFIG[encryption] = "-DUA_ENABLE_ENCRYPTION=MBEDTLS, , mbedtls"
 PACKAGECONFIG[pubsub] = "-DUA_ENABLE_PUBSUB=ON, -DUA_ENABLE_PUBSUB=OFF"
 PACKAGECONFIG[pubsub-eth] = "-DUA_ENABLE_PUBSUB_ETH_UADP=ON, -DUA_ENABLE_PUBSUB_ETH_UADP=OFF"
+PACKAGECONFIG[werror] = "-DUA_FORCE_WERROR=ON, -DUA_FORCE_WERROR=OFF"
 
 do_configure:prepend:toolchain-clang:riscv64() {
     sed -i -e 's/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)/set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF)/' ${S}/CMakeLists.txt
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
index 2d1b649..542ddb6 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
@@ -46,8 +46,13 @@
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
-EXTRA_OEMESON = "-Dpie=true -Dvapi=enabled -Dintrospection=enabled"
-EXTRA_OEMESON:append:libc-musl = " -Dcoroutine=libucontext"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
 
+PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}"
+PACKAGECONFIG[vapi] = "-Dvapi=enabled,-Dvapi=disabled"
+
+EXTRA_OEMESON = "-Dpie=true"
+EXTRA_OEMESON:append:libc-musl = " -Dcoroutine=libucontext"
 
 FILES:${PN} += "${datadir}"
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.10.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.10.bb
index 9caa248..aecd321 100644
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.10.bb
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.10.bb
@@ -38,6 +38,7 @@
 PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
 PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
 PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
+PACKAGECONFIG[nm] = "--enable-nm,--disable-nm,networkmanager,${PN}-nm"
 PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
 PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
 PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
@@ -101,6 +102,10 @@
 FILES:${PN}-imcvs = "${libdir}/ipsec/imcvs/*.so"
 FILES:${PN}-imcvs-dbg += "${libdir}/ipsec/imcvs/.debug"
 
+PACKAGES =+ "${PN}-nm ${PN}-nm-dbg"
+FILES:${PN}-nm = "${libexecdir}/ipsec/charon-nm ${datadir}/dbus-1/system.d/nm-strongswan-service.conf"
+FILES:${PN}-nm-dbg = "${libexecdir}/ipsec/.debug/charon-nm"
+
 PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
 NOAUTOPACKAGEDEBUG = "1"
 
diff --git a/meta-openembedded/meta-oe/classes/gitpkgv.bbclass b/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
index 180421e..cb2cea2 100644
--- a/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
+++ b/meta-openembedded/meta-oe/classes/gitpkgv.bbclass
@@ -56,7 +56,7 @@
 def get_git_pkgv(d, use_tags):
     import os
     import bb
-    from pipes import quote
+    from shlex import quote
 
     src_uri = d.getVar('SRC_URI').split()
     fetcher = bb.fetch2.Fetch(src_uri, d)
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb/0001-CMakeLists.txt-allow-to-set-PYTHON_INSTDIR-from-outs.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb/0001-CMakeLists.txt-allow-to-set-PYTHON_INSTDIR-from-outs.patch
new file mode 100644
index 0000000..474f0f1
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb/0001-CMakeLists.txt-allow-to-set-PYTHON_INSTDIR-from-outs.patch
@@ -0,0 +1,67 @@
+From 30c79d1b49839a15c05a0d0ca7e54787cd7988c6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 4 May 2023 07:17:57 +0000
+Subject: [PATCH] CMakeLists.txt: allow to set PYTHON_INSTDIR from outside
+
+CMakeLists.txt used:
+
+find_package(Python REQUIRED COMPONENTS Interpreter)
+execute_process(
+    COMMAND ${Python_EXECUTABLE} -c
+        "import os.path, sys, sysconfig; print(os.path.relpath(sysconfig.get_path('purelib'), start=sys.prefix))"
+    OUTPUT_VARIABLE PYTHON_INSTDIR
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+
+but with python3native this returns:
+
+nanopb/0.4.7-r0/git $ ../recipe-sysroot-native/usr/bin/python3-native/python3 -c "import os.path, sys, sysconfig; print(os.path.relpath(sysconfig.get_path('purelib'), start=sys.prefix))"
+lib/python3.11/site-packages
+
+which doesn't respect target libdir which might be lib64 with multilib and with python3targetconfig
+it also doesn't work right because of the long relative path:
+
+nanopb/0.4.7-r0/build $ ../recipe-sysroot-native/usr/bin/python3-native/python3 -c "import os.path, sys, sysconfig; print(os.path.relpath(sysconfig.get_path('purelib'), start=sys.prefix))"
+../../../../../../../../../../../../usr/lib64/python3.11/site-packages
+
+CMake Error at cmake_install.cmake:46 (file):
+  file cannot create directory:
+  /OE/lge/build/starfish/nanbield/BUILD/work/o22-starfish-linux/nanopb/0.4.7-r0/image/usr/../../../../../../../../../../../../usr/lib64/python3.11/site-packages/proto.
+  Maybe need administrative privileges.
+
+Let CMake variable to be passed from the recipe to avoid this as we're already using
+${D}${PYTHON_SITEPACKAGES_DIR} in do_install:append anyway.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Pending
+---
+ CMakeLists.txt | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8d241c5..7d3f993 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,13 +39,15 @@ if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR)
+     set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/nanopb")
+ endif()
+ 
+-find_package(Python REQUIRED COMPONENTS Interpreter)
+-execute_process(
+-    COMMAND ${Python_EXECUTABLE} -c
+-        "import os.path, sys, sysconfig; print(os.path.relpath(sysconfig.get_path('purelib'), start=sys.prefix))"
+-    OUTPUT_VARIABLE PYTHON_INSTDIR
+-    OUTPUT_STRIP_TRAILING_WHITESPACE
+-)
++if(NOT DEFINED PYTHON_INSTDIR)
++    find_package(Python REQUIRED COMPONENTS Interpreter)
++    execute_process(
++        COMMAND ${Python_EXECUTABLE} -c
++            "import os.path, sys, sysconfig; print(os.path.relpath(sysconfig.get_path('purelib'), start=sys.prefix))"
++        OUTPUT_VARIABLE PYTHON_INSTDIR
++        OUTPUT_STRIP_TRAILING_WHITESPACE
++    )
++endif()
+ 
+ if(nanopb_BUILD_GENERATOR)
+     set(generator_protos nanopb)
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.7.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.7.bb
index 897caea..9ad5581 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.7.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.7.bb
@@ -4,13 +4,17 @@
 
 DEPENDS = "protobuf-native"
 
-SRC_URI = "git://github.com/nanopb/nanopb.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/nanopb/nanopb.git;branch=master;protocol=https \
+    file://0001-CMakeLists.txt-allow-to-set-PYTHON_INSTDIR-from-outs.patch \
+"
 SRCREV = "b97aa657a706d3ba4a9a6ccca7043c9d6fe41cba"
 
 S = "${WORKDIR}/git"
 
 inherit cmake python3native
 
+EXTRA_OECMAKE += "-DPYTHON_INSTDIR=${PYTHON_SITEPACKAGES_DIR}"
+
 do_install:append() {
     install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py
     install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_492.bb b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_492.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
index ba3eaec..3b6df0b 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_492.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
@@ -11,8 +11,7 @@
     file://0001-let-system-headers-provide-pread64.patch \
     file://copyright.txt \
 "
-SRC_URI[md5sum] = "228f54482c01d1c04c571a9414cd20e5"
-SRC_URI[sha256sum] = "322981e168f32bd39f54772b82b2906d598d958c37e954e75742e71baf58bb9b"
+SRC_URI[sha256sum] = "114ce5c071873b9a2c7ba6e73d05d5ef7e66564392acbfcdc0b3261db10fcbe7"
 
 UPSTREAM_CHECK_REGEX = "iozone3_(?P<pver>\d+).tar"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
index 7e9299c..b63aabd 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
@@ -10,7 +10,7 @@
 
 PV = "1.0.0+git${SRCPV}"
 
-SRCREV = "d2ff7969dcd0a12e4f18f63dab03e6cd03054fcb"
+SRCREV = "114098d30e783fbb3def5c9b49427a86621cfcb1"
 SRC_URI = "git://github.com/libimobiledevice/libimobiledevice-glue;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch
new file mode 100644
index 0000000..424a203
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch
@@ -0,0 +1,31 @@
+From 6cb8069cfe08114f1dc7b50a7fcd4dc040cd1bbb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 May 2023 20:19:23 -0700
+Subject: [PATCH] include unistd.h for usleep()
+
+clang16 flags the missing header
+
+Fixes
+../../git/tools/idevicedevmodectl.c:363:2: error: call to undeclared function 'usleep'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+
+Upstream-Status: Submitted [https://github.com/libimobiledevice/libimobiledevice/pull/1444]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/idevicedevmodectl.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/idevicedevmodectl.c b/tools/idevicedevmodectl.c
+index 739bc13..9fe8d6a 100644
+--- a/tools/idevicedevmodectl.c
++++ b/tools/idevicedevmodectl.c
+@@ -34,6 +34,7 @@
+ #ifndef WIN32
+ #include <signal.h>
+ #endif
++#include <unistd.h>
+ 
+ #ifdef WIN32
+ #include <windows.h>
+-- 
+2.40.1
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
deleted file mode 100644
index 41b8d94..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A protocol library to access an iPhone or iPod Touch in Linux"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "\
-    file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
-    file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
-"
-HOMEPAGE = "http://www.libimobiledevice.org/"
-
-DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt"
-
-SRCREV = "15f8652126664e3a4b980e5d1c039b9053ce8566"
-SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master"
-
-S = "${WORKDIR}/git"
-inherit autotools pkgconfig
-
-EXTRA_OECONF = " --without-cython "
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
index 5217687..1a0590c 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
@@ -10,8 +10,9 @@
 
 PV = "1.3.0+git${SRCPV}"
 
-SRCREV = "2eec1b9a172354c8521123a767d998b17bd2ac18"
-SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master"
+SRCREV = "860ffb707af3af94467d2ece4ad258dda957c6cd"
+SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master \
+           file://0001-include-unistd.h-for-usleep.patch"
 
 S = "${WORKDIR}/git"
 inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
index e3da181..dcce524 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
@@ -6,7 +6,7 @@
 
 HOMEPAGE = "http://www.libimobiledevice.org/"
 
-DEPENDS = "libimobiledevice-glue libusb1"
+DEPENDS = "libimobiledevice-glue libusb1 readline"
 
 PV = "1.0.1+git${SRCPV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch b/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch
new file mode 100644
index 0000000..5559510
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch
@@ -0,0 +1,61 @@
+From 95708ff427c12b58e53fab225a08c811ca358394 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 3 May 2023 22:27:10 +0200
+Subject: [PATCH] CMakeLists.txt: respect ${CMAKE_INSTALL_LIBDIR} for multilib
+
+* fixes:
+  ERROR: libnfs-5.0.2-r0 do_package: QA Issue: libnfs: Files/directories were installed but not shipped in any package:
+    /usr/lib/libnfs.so
+    /usr/lib/libnfs.so.11.1.0
+    /usr/lib/libnfs.so.5.0.2
+    /usr/lib/pkgconfig
+    /usr/lib/cmake
+    /usr/lib/pkgconfig/libnfs.pc
+    /usr/lib/cmake/libnfs
+    /usr/lib/cmake/libnfs/libnfs-config-version.cmake
+    /usr/lib/cmake/libnfs/libnfs-config.cmake
+    /usr/lib/cmake/libnfs/libnfs-config-noconfig.cmake
+    /usr/lib/cmake/libnfs/FindNFS.cmake
+  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
+  libnfs: 11 installed and not shipped files. [installed-vs-shipped]
+
+  when libdir is /usr/lib64 with multilib
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Pending
+---
+ CMakeLists.txt     | 6 +++---
+ lib/CMakeLists.txt | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4fb0fe7..8e5a0e4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,11 +6,11 @@ project(libnfs
+ 
+ set(SOVERSION 11.1.0 CACHE STRING "" FORCE)
+ 
+-set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
++set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installation directory for libraries")
+ set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
+ set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
+-set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
+-set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/lib/cmake/libnfs" CACHE PATH "Installation directory for cmake (.cmake) files")
++set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
++set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/libnfs" CACHE PATH "Installation directory for cmake (.cmake) files")
+ 
+ option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+ option(ENABLE_TESTS "Build and run test programs" OFF)
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 88ba7b8..5ff89dc 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -23,5 +23,5 @@ set_target_properties(nfs PROPERTIES
+ 
+ install(TARGETS nfs EXPORT libnfs
+                     RUNTIME DESTINATION bin
+-                    ARCHIVE DESTINATION lib
+-                    LIBRARY DESTINATION lib)
++                    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++                    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.2.bb
index 7a40f4e..e0df18a 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.2.bb
@@ -3,7 +3,9 @@
 LICENSE = "LGPL-2.1-only & BSD-2-Clause & GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=825301ba17efc9d188ee0abd4b924ada"
 
-SRC_URI = "git://github.com/sahlberg/libnfs.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/sahlberg/libnfs.git;protocol=https;branch=master \
+    file://0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch \
+"
 SRCREV = "40348f45d6beb8a8f50b6b63414a98fc1a061b7d"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb
index 6578bcf..4decb09 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.12.bb
@@ -30,4 +30,4 @@
     find ${D}${prefix} -maxdepth 1 -type f -delete
 }
 
-EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON"
+EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
deleted file mode 100644
index 3f4f846..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
-HOMEPAGE = "https://github.com/libimobiledevice/usbmuxd"
-LICENSE = "GPL-3.0-only & GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=ebb5c50ab7cab4baeffba14977030c07 \
-                    file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "udev libusb1 libplist"
-
-inherit autotools pkgconfig gitpkgv systemd
-
-PKGV = "${GITPKGVTAG}"
-
-SRCREV = "79c8b38d1488a6b07e1e68f39d8caec3f1a45622"
-SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https;branch=master"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--without-preflight"
-
-FILES:${PN} += "${base_libdir}/udev/rules.d/"
-
-SYSTEMD_SERVICE:${PN} = "usbmuxd.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
index e9afaf5..1492234 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
@@ -11,7 +11,7 @@
 PKGV = "${GITPKGVTAG}"
 PV = "1.1.2+git${SRCPV}"
 
-SRCREV = "f50e52f3393a9149ac65fdda8f0d425109efc7fe"
+SRCREV = "01c94c77f59404924f1c46d99c4e5e0c7817281b"
 SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
index 5b0d612..f4d983a 100644
--- a/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
+++ b/meta-openembedded/meta-oe/recipes-core/glfw/glfw_3.3.bb
@@ -20,17 +20,17 @@
 
 CFLAGS += "-fPIC"
 
-DEPENDS = "libpng libglu zlib"
-REQUIRED_DISTRO_FEATURES = "opengl"
+DEPENDS = "libpng zlib"
+REQUIRED_DISTRO_FEATURES = "opengl x11"
 ANY_OF_DISTRO_FEATURES = "wayland x11"
 
 # upstream considers x11 and wayland backends mutually exclusive and will
 # prioritize wayland if it is enabled, but wayland has dependencies that cannot
 # be satisfied by this layer so it is disabled by default
 
-PACKAGECONFIG ??= "x11"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
 PACKAGECONFIG[wayland] = "-DGLFW_USE_WAYLAND=ON,,wayland wayland-native wayland-protocols extra-cmake-modules libxkbcommon"
-PACKAGECONFIG[x11] = ",,libxrandr libxinerama libxi libxcursor"
+PACKAGECONFIG[x11] = ",,libxrandr libxinerama libxi libxcursor libglu"
 
 COMPATIBLE_HOST:libc-musl = "null"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 3188725..21d07a1 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -641,7 +641,8 @@
     usbip-tools \
 "
 RDEPENDS:packagegroup-meta-oe-kernel:append:x86 = " intel-speed-select ipmiutil pm-graph turbostat"
-RDEPENDS:packagegroup-meta-oe-kernel:append:x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat bpftool"
+RDEPENDS:packagegroup-meta-oe-kernel:append:x86-64 = " intel-speed-select ipmiutil pm-graph turbostat bpftool"
+RDEPENDS:packagegroup-meta-oe-kernel:append:x86-64:libc-glibc = " kpatch"
 RDEPENDS:packagegroup-meta-oe-kernel:append:powerpc64 = " libpfm4"
 
 # Kernel-selftest does not build with 5.8 and its exluded from build too so until its fixed remove it
@@ -667,7 +668,6 @@
     jack-server \
     jack-utils \
     libass \
-    libburn \
     libcdio-paranoia \
     libcdio \
     ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "libmad", "", d)} \
@@ -989,6 +989,7 @@
 RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:riscv64 = "oprofile-ptest"
 RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:riscv32 = "oprofile-ptest"
 RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:arm = "numactl-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:libc-musl = "minicoredumper-ptest"
 
 
 RDEPENDS:packagegroup-meta-oe-fortran-packages = "\
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
index 357fd0a..b144338 100644
--- 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
@@ -17,5 +17,5 @@
 }
 
 do_install() {
-    oe_runmake -f makefile.shared 'PREFIX=${prefix}' 'DESTDIR=${D}' install
+    oe_runmake -f makefile.shared 'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' install
 }
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
index a76d388..35242be 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -21,11 +21,11 @@
 S = "${WORKDIR}/git/libraries/liblmdb"
 
 do_compile() {
-    oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}"
+    oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" XCFLAGS="${CFLAGS}"
 }
 
 do_install() {
-    oe_runmake CC="${CC}" DESTDIR="${D}" prefix="${prefix}" libprefix="${libdir}" manprefix="${mandir}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" install
+    oe_runmake CC="${CC}" DESTDIR="${D}" prefix="${prefix}" libprefix="${libdir}" manprefix="${mandir}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" XCFLAGS="${CFLAGS}" install
     cd ${D}${libdir}
     ln -s liblmdb.so.${PV} liblmdb.so
     rm liblmdb.a
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
index 467b5c4..3c8187d 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -1,4 +1,4 @@
-From 258c6bd2ad96f2c42f1cb5f4c84e4ca5865059f0 Mon Sep 17 00:00:00 2001
+From 5f9dedc91a0a9710033fa155ea759f765ce5b58b Mon Sep 17 00:00:00 2001
 From: Yi Fan Yu <yifan.yu@windriver.com>
 Date: Fri, 5 Feb 2021 17:15:42 -0500
 Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
@@ -8,17 +8,18 @@
 Upstream-Status: Inappropriate [disable feature]
 
 Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+
 ---
  configure.ac | 4 ----
  1 file changed, 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 48d7256..9bee38f 100644
+index 998ff31..912e490 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
  
- AC_INIT([PostgreSQL], [15.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [15.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
  
 -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 -Untested combinations of 'autoconf' and PostgreSQL versions are not
@@ -27,6 +28,3 @@
  AC_COPYRIGHT([Copyright (c) 1996-2022, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.2.bb
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
index 5c95e4d..c4d4124 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.2.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
@@ -11,7 +11,7 @@
    file://0001-postgresql-fix-ptest-failure-of-sysviews.patch \
 "
 
-SRC_URI[sha256sum] = "99a2171fc3d6b5b5f56b757a7a3cb85d509a38e4273805def23941ed2b8468c7"
+SRC_URI[sha256sum] = "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932"
 
 CVE_CHECK_IGNORE += "\
    CVE-2017-8806 \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index 8617ba5..dd7ce4a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -7,8 +7,8 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
 
-PV = "20230125.2"
-SRCREV = "b971ac5250ea8de900eae9f95e06548d14cd95fe"
+PV = "20230125.3"
+SRCREV = "c2435f8342c2d0ed8101cb43adfd605fdc52dca2"
 BRANCH = "lts_2023_01_25"
 SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
            file://0001-absl-always-use-asm-sgidefs.h.patch             \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230416.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230507.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230416.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230507.0.bb
index cc82d99..b8df3b0 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230416.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230507.0.bb
@@ -14,7 +14,7 @@
 
 inherit autotools-brokensep pkgconfig manpages
 
-SRCREV = "5ba7dfcc55471e599375281f52ad2bebdc527c62"
+SRCREV = "6b06565cd3b9c351835aea80a07efd55a9b2d77a"
 SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.14/oe-npm-cache b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.16/oe-npm-cache
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.14/oe-npm-cache
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-18.16/oe-npm-cache
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.14.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.16.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.14.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_18.16.bb
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
index 356c98d..12f6cd8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -41,6 +41,6 @@
  out/Makefile: config.gypi common.gypi node.gyp \
 -	deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \
 +	deps/llhttp/llhttp.gyp \
- 	deps/simdutf/simdutf.gyp \
+ 	deps/simdutf/simdutf.gyp deps/ada/ada.gyp \
  	tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \
  	tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.14.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.14.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
index 19df7d5..06631f2 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.14.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
@@ -1,7 +1,7 @@
 DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
 HOMEPAGE = "http://nodejs.org"
 LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2dff1ccca11e333f1388e34f7e2d1de3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0be148d0e7298c5c94f7501affafbce5"
 
 CVE_PRODUCT = "nodejs node.js"
 
@@ -39,7 +39,7 @@
 SRC_URI:append:toolchain-clang:powerpc64le = " \
            file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
            "
-SRC_URI[sha256sum] = "fbc364dd25fee2cacc0f2033db2d86115fc07575310ea0e64408b8170d09c685"
+SRC_URI[sha256sum] = "33d81a233e235a509adda4a4f2209008d04591979de6b3f0f67c1c906093f118"
 
 S = "${WORKDIR}/node-v${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb
index 2bb73c3..f44b0ce 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.24.bb
@@ -4,6 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
 DEPENDS = "elfutils zlib libbpf"
+DEPENDS:append:class-native = " linux-libc-headers"
 
 # Depends on MACHINE_ARCH libbpf
 PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.5.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.6.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.5.bb
rename to meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.6.bb
index ff432f3..7e2ea78 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.6.bb
@@ -34,7 +34,7 @@
           "
 
 S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "e5a80663cca4f6044ad86a489798147c7af037eca96f6cd357ab36d28cb63757"
+SRC_URI[sha256sum] = "44a70c52f537662c10d91eedbf51fd765c9961be6ba2508ed63bf7a26cdd3100"
 
 CVE_CHECK_IGNORE += "\
     CVE-2007-2728 \
@@ -143,6 +143,13 @@
     # No, libtool, we really don't want rpath set...
     sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
     sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+    sed -i -e's@${RECIPE_SYSROOT}@@g' \
+        -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \
+        -e's@-fdebug-prefix-map=[^ ]*[ ]*@@g' \
+        -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \
+        -e's@-fmacro-prefix-map=[^ ]*[ ]*@@g' \
+        ${B}/main/build-defs.h \
+        ${B}/scripts/php-config
 }
 
 do_install:append:class-native() {
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index 2f4261b..ea76d48 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -29,7 +29,7 @@
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
 PACKAGECONFIG[pam] = ",,libpam"
 
-EXTRA_OEMAKE = "CC='${CC} -std=c99 -D_GNU_SOURCE' ARRC='${AR} -rc' RANLIB='${RANLIB}'"
+EXTRA_OEMAKE = "CC='${CC} -std=c99 -D_GNU_SOURCE' ARRC='${AR} -rc' RANLIB='${RANLIB}' EXTRACFLAGS='${CFLAGS}'"
 
 HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.14.2.bb b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.14.3.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.14.2.bb
rename to meta-openembedded/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.14.3.bb
index 2994df3..7174402 100644
--- a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.14.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.14.3.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eae7da6a2cd1788a5cf8a9f838cf6450"
 
 SRC_URI += "git://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3.git;branch=master;protocol=https"
-SRCREV = "91c64e18d325f4b63f0dfbd795c50c9c3ec3d3e0"
+SRCREV = "5e2884f36276e44f683fa02fca39807716fdbc16"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf
new file mode 100644
index 0000000..fc32cc8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf
@@ -0,0 +1,37 @@
+# This is the configuration file to start the etcd server with
+# existing cluster configuration in the data directory.
+
+# Initial cluster state ('new' or 'existing').
+ETCD_INITIAL_CLUSTER_STATE='existing'
+
+# Path to the data directory.
+ETCD_DATA_DIR='/var/lib/etcd'
+
+# Time (in milliseconds) of a heartbeat interval.
+ETCD_HEARTBEAT_INTERVAL=100
+
+# Time (in milliseconds) for an election to timeout.
+ETCD_ELECTION_TIMEOUT=1000
+
+# List of comma separated URLs to listen on for peer traffic.
+ETCD_LISTEN_PEER_URLS=http://localhost:2380
+
+# List of comma separated URLs to listen on for client traffic.
+ETCD_LISTEN_CLIENT_URLS=http://localhost:2379
+
+# List of this member's peer URLs to advertise to the rest of the cluster.
+# The URLs needed to be a comma-separated list.
+ETCD_INITIAL_ADVERTISE_PEER_URLS=http://localhost:2380
+
+# List of this member's client URLs to advertise to the public.
+# The URLs needed to be a comma-separated list.
+ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379
+
+# Enable info-level logging for etcd.
+ETCD_LOG_LEVEL='info'
+
+# Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
+ETCD_LOG_OUTPUTS='default'
+
+# etcd is not officially supported on arm64
+ETCD_UNSUPPORTED_ARCH='arm'
diff --git a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-new.path b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-new.path
new file mode 100644
index 0000000..1a18a40
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-new.path
@@ -0,0 +1,9 @@
+[Unit]
+Description=Monitor the etcd config file changes
+
+[Path]
+PathChanged=/run/etcd-new.conf
+Unit=etcd-new.service
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-new.service b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-new.service
new file mode 100644
index 0000000..479678d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd-new.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=etcd cluster member start/add service
+Documentation=https://etcd.io/docs/v3.5/op-guide/clustering/
+ConditionPathExists=!/var/lib/etcd/member
+ConditionPathExists=/run/etcd-new.conf
+OnFailure=etcd.service
+
+[Service]
+Type=notify
+EnvironmentFile=/run/etcd-new.conf
+ExecStart=/usr/bin/etcd
+Restart=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd.service b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd.service
new file mode 100644
index 0000000..782ef4e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd/etcd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=etcd key-value store
+Documentation=https://github.com/etcd-io/etcd
+After=network-online.target local-fs.target remote-fs.target time-sync.target
+Wants=network-online.target local-fs.target remote-fs.target time-sync.target
+ConditionPathExists=/var/lib/etcd/member
+
+[Service]
+Type=notify
+EnvironmentFile=/etc/etcd.d/etcd-existing.conf
+ExecStart=/usr/bin/etcd
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb
index 346b305..0794158 100644
--- a/meta-openembedded/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb
@@ -8,6 +8,10 @@
     git://github.com/etcd-io/etcd;branch=release-3.5;protocol=https \
     file://0001-xxhash-bump-to-v2.1.2.patch;patchdir=src/${GO_IMPORT} \
     file://0001-test_lib.sh-remove-gobin-requirement-during-build.patch;patchdir=src/${GO_IMPORT} \
+    file://etcd.service \
+    file://etcd-existing.conf \
+    file://etcd-new.service \
+    file://etcd-new.path \
 "
 
 SRCREV = "215b53cf3b48ee761f4c40908b3874b2e5e95e9f"
@@ -22,7 +26,7 @@
 
 export GO111MODULE="on"
 
-inherit go
+inherit go systemd pkgconfig features_check
 
 # Go based binaries do not handle being stripped
 INHIBIT_PACKAGE_STRIP = "1"
@@ -49,10 +53,21 @@
     chmod u+w -R ${WORKDIR}/build/pkg/mod
 }
 
+REQUIRED_DISTRO_FEATURES = "systemd"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN}:append = " etcd.service etcd-new.service etcd-new.path"
+
 do_install:append() {
     install -d ${D}${bindir}/
-    install -m 0755 ${D}/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcd ${D}${bindir}
-    install -m 0755 ${D}/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcdctl ${D}${bindir}
-    install -m 0755 ${D}/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcdutl ${D}${bindir}
+    install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcd ${D}${bindir}
+    install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcdctl ${D}${bindir}
+    install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcdutl ${D}${bindir}
+    install -m 0644 ${WORKDIR}/etcd-existing.conf -D -t ${D}${sysconfdir}/etcd.d
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/etcd.service ${D}${systemd_system_unitdir}/
+    install -m 0644 ${WORKDIR}/etcd-new.service ${D}${systemd_system_unitdir}/
+    install -m 0644 ${WORKDIR}/etcd-new.path ${D}${systemd_system_unitdir}/
 }
 
+FILES:${PN}:append = " ${sysconfdir}/etcd.d/etcd-existing.conf"
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libcbor/libcbor_0.10.2.bb b/meta-openembedded/meta-oe/recipes-extended/libcbor/libcbor_0.10.2.bb
new file mode 100755
index 0000000..3ac270e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libcbor/libcbor_0.10.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "library for CBOR"
+DESCRIPTION = "C library for parsing and generating CBOR, the general-purpose schema-less binary data format."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f3b3881df62ca763a02d359a6e94071"
+
+SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master"
+SRCREV = "efa6c0886bae46bdaef9b679f61f4b9d8bc296ae"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
index 2f67b12..87778c6 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
@@ -8,9 +8,9 @@
 
 inherit autotools pkgconfig
 
-PV = "0.7.0"
+PV = "0.8.0"
 
-SRCREV = "47cbed5355ffda7b952193a770a9a9fa9f89b25b"
+SRCREV = "db9371cf9f38b5a3b2f6e4fae3f92eb052d2d929"
 SRC_URI = "git://github.com/libdivecomputer/libdivecomputer.git;protocol=https;branch=master \
           "
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
index daaff00..0ca2131 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
@@ -8,7 +8,7 @@
 
 inherit autotools pkgconfig python3native python3targetconfig
 
-SRCREV = "c5a30e9267068436a75b5d00fcbf95cb9c1f4dcd"
+SRCREV = "72480212cd8ec0ab8d0b5064df52c146cac603b4"
 SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
index 82f3e4d..8f5a7f1 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
@@ -8,9 +8,9 @@
 
 inherit autotools pkgconfig python3native python3targetconfig
 
-PV = "2.2.0+git${SRCPV}"
+PV = "2.3.0"
 
-SRCREV = "db93bae96d64140230ad050061632531644c46ad"
+SRCREV = "72480212cd8ec0ab8d0b5064df52c146cac603b4"
 SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.17.8.bb b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.17.8.bb
index a8d1db6..1f2c55c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.17.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.17.8.bb
@@ -4,7 +4,7 @@
 HOMEPAGE = "https://abrt.readthedocs.org/"
 LICENSE = "GPL-2.0-or-later"
 DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
-        json-c libtar libnewt libproxy rpm \
+        json-c libarchive libtar libnewt libproxy rpm \
         augeas satyr systemd \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.2.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.2.bb
index 2990122..7eeb774 100644
--- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2023.2.bb
@@ -9,6 +9,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
 
 DEPENDS = " \
+    glib-2.0-native \
     glib-2.0 \
     e2fsprogs \
     libcap \
@@ -28,6 +29,8 @@
 
 inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd
 
+UNKNOWN_CONFIGURE_OPT_IGNORE = "--disable-introspection --enable-introspection"
+
 # Workaround compile failure:
 # |../git/src/libotutil/zbase32.c:37:1: error: function returns an aggregate [-Werror=aggregate-return]
 # so remove -Og and use -O2 as workaround
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.11.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.12.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.11.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.12.bb
index 5a410bf..3ed6867 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.11.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.12.bb
@@ -17,7 +17,7 @@
            file://GNU_SOURCE.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "8c75fb9cdd01849e92c23f30cb7fe205ea0032a38d11d46af191014e9acc3098"
+SRC_URI[sha256sum] = "75352eef41e97e84bfa94292cbac79e5add5345fc79787df5cbdff703353fb1b"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.5.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.6.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.5.bb
rename to meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.6.bb
index cb79b5d..0b12118 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.5.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.6.bb
@@ -11,6 +11,6 @@
 SRC_URI = "git://github.com/lassekongo83/adw-gtk3.git;protocol=https;branch=main"
 
 S = "${WORKDIR}/git"
-SRCREV = "bbc539534e881aa9c554665bd3cbf42ffeec6b76"
+SRCREV = "f26e86c8a7b40ac23f165efdb620f734c0f1db23"
 
 FILES:${PN} = "${datadir}/themes"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.10.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.10.bb
index 3366b7e..61abd07 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.10.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.10.bb
@@ -8,6 +8,8 @@
 SRCREV = "a6cac6a715d57c393bbddee4d0381ad943341af9"
 S = "${WORKDIR}/git"
 
+DEPENDS = "glib-2.0 xz"
+
 inherit gobject-introspection gtk-doc meson ptest-gnome lib_package
 
 PACKAGECONFIG ??= "\
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch
new file mode 100644
index 0000000..5149002
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch
@@ -0,0 +1,72 @@
+From 1d92e1854c19c06c553243d29170bb4d1a9e3863 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 9 May 2023 02:57:30 +0200
+Subject: [PATCH 1/2] wayland: Switch to custom timer tick
+
+The OE LVGL is configured to obtain timer tick from system timer
+instead of using ad-hoc mechanisms to emulate timer tick using
+threads or such. Use system timer to provide the tick.
+
+The tick handling implementation comes from:
+https://github.com/lvgl/lv_port_linux_frame_buffer.git
+as of commit adf2c4490e17a1b9ec1902cc412a24b3b8235c8e
+
+Upstream-Status: Inappropriate [Upstream repo is archived]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ src/drivers/wayland.c | 24 ++++++++++++++++--------
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/src/drivers/wayland.c b/src/drivers/wayland.c
+index 633dc18..bcebf4d 100644
+--- a/src/drivers/wayland.c
++++ b/src/drivers/wayland.c
+@@ -6,6 +6,7 @@
+ #if defined(USE_WAYLAND) && USE_WAYLAND
+ 
+ #include <pthread.h>
++#include <sys/time.h>
+ #include <unistd.h>
+ 
+ #include <lv_drivers/wayland/wayland.h>
+@@ -18,13 +19,22 @@
+ #define WAYLAND_VER_RES      320
+ #endif
+ 
+-static void * tick_thread(void * data)
++uint32_t custom_tick_get(void)
+ {
+-    (void) data;
+-    while(true) {
+-        usleep(5 * 1000);
+-        lv_tick_inc(5);
+-    }
++	static uint64_t start_ms = 0;
++	if(start_ms == 0) {
++		struct timeval tv_start;
++		gettimeofday(&tv_start, NULL);
++		start_ms = (tv_start.tv_sec * 1000000 + tv_start.tv_usec) / 1000;
++	}
++
++	struct timeval tv_now;
++	gettimeofday(&tv_now, NULL);
++	uint64_t now_ms;
++	now_ms = (tv_now.tv_sec * 1000000 + tv_now.tv_usec) / 1000;
++
++	uint32_t time_ms = now_ms - start_ms;
++	return time_ms;
+ }
+ 
+ 
+@@ -47,8 +57,6 @@ void hal_init(void)
+ 
+     lv_group_t * g = lv_group_create();
+     lv_group_set_default(g);
+-    static pthread_t hal_thread;
+-    pthread_create(&hal_thread, NULL, tick_thread, NULL);
+ }
+ 
+ #endif
+-- 
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch
new file mode 100644
index 0000000..8919a1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch
@@ -0,0 +1,30 @@
+From b7af695d79820adf53e7d612120bda12ed2886e2 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 9 May 2023 02:57:38 +0200
+Subject: [PATCH 2/2] wayland: Fix callback data type
+
+The LVGL 8.3.y changed the callback data type, update it accordingly.
+
+Upstream-Status: Inappropriate [Upstream repo is archived]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ src/drivers/wayland.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/drivers/wayland.c b/src/drivers/wayland.c
+index bcebf4d..cfefa88 100644
+--- a/src/drivers/wayland.c
++++ b/src/drivers/wayland.c
+@@ -37,8 +37,7 @@ uint32_t custom_tick_get(void)
+ 	return time_ms;
+ }
+ 
+-
+-static lv_wayland_display_close_f_t close_cb()
++static bool close_cb(lv_disp_t * disp)
+ {
+ }
+ 
+-- 
+2.39.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb
index 7e24c51..9e820d0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb
@@ -1,8 +1,11 @@
 # SPDX-FileCopyrightText: Huawei Inc.
 # SPDX-License-Identifier: MIT
 
-SRC_URI = "gitsm://git.ostc-eu.org/rzr/dialog-lvgl;destsuffix=${S};protocol=https;nobranch=1"
-SRCREV = "5d2121457a6988c97cacb0790594440693fc3d29"
+SRC_URI = "git://git.ostc-eu.org/rzr/dialog-lvgl;destsuffix=${S};protocol=https;nobranch=1 \
+           file://0001-wayland-Switch-to-custom-timer-tick.patch \
+           file://0002-wayland-Fix-callback-data-type.patch \
+           "
+SRCREV = "cdf8d38acca87e871c3a488fd07f1e4779590f8e"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8ce0a84e5276f01364119c873b712c4f"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
similarity index 61%
rename from meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
index cf33c69..a0a2ee0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
@@ -8,16 +8,18 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
 
-# TODO: Pin upstream release (current v7.11.0-80-g419a757)
-SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;nobranch=1"
-SRCREV = "419a757c23aaa67c676fe3a2196d64808fcf2254"
+SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3"
+SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1"
 
-DEPENDS = "libxkbcommon lvgl wayland"
+DEPENDS = "lvgl"
 
-REQUIRED_DISTRO_FEATURES = "wayland"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland fbdev', d)}"
+PACKAGECONFIG[fbdev] = ",,"
+PACKAGECONFIG[wayland] = ",,libxkbcommon wayland"
+LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}"
+LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1', '0', d)}"
 
 inherit cmake
-inherit features_check
 
 S = "${WORKDIR}/git"
 
@@ -35,7 +37,11 @@
 do_configure:append() {
     [ -r "${S}/lv_drv_conf.h" ] \
         || sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \
-               -e "s|#  define USE_WAYLAND       0|#  define USE_WAYLAND       1|g" \
+	       \
+               -e "s|\(^#  define USE_FBDEV \).*|#  define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
+               -e "s|\(^#  define USE_EVDEV \).*|#  define USE_EVDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
+	       \
+               -e "s|\(^#  define USE_WAYLAND \).*|#  define USE_WAYLAND ${LVGL_CONFIG_USE_WAYLAND}|g" \
 	       -e "s|\(^ *# *define *WAYLAND_HOR_RES *\).*|\1${LVGL_CONFIG_WAYLAND_HOR_RES}|g" \
  	       -e "s|\(^ *# *define *WAYLAND_VER_RES *\).*|\1${LVGL_CONFIG_WAYLAND_VER_RES}|g" \
           < "${S}/lv_drv_conf_template.h" > "${S}/lv_drv_conf.h"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb.bb
rename to meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb
index 3430c24..1dfb199 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb
@@ -6,10 +6,14 @@
                     file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
 
 SRC_URI = "gitsm://github.com/lvgl/lv_port_linux_frame_buffer.git;branch=master;protocol=https"
-SRCREV = "dd010430b959f40b8f25a51c76bc920cbc2550cc"
+SRCREV = "adf2c4490e17a1b9ec1902cc412a24b3b8235c8e"
 
 S = "${WORKDIR}/git"
 
+REQUIRED_DISTRO_FEATURES = "fbdev"
+
+inherit features_check
+
 EXTRA_OEMAKE = "DESTDIR=${D}"
 
 do_install() {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
similarity index 66%
rename from meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.1.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
index ea74c59..860ee7a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
@@ -8,18 +8,16 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
 
-SRC_URI = "gitsm://github.com/lvgl/lvgl;protocol=https;nobranch=1"
-SRCREV = "d38eb1e689fa5a64c25e677275172d9c8a4ab2f0"
-
-REQUIRED_DISTRO_FEATURES = "wayland"
+SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
+SRCREV = "2b56e04205481daa6575bd5f7ab5df59d11676eb"
 
 inherit cmake
-inherit features_check
 
 EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
 S = "${WORKDIR}/git"
 
 LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
+LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
 
 # Upstream does not support a default configuration
 # but propose a default "disabled" template, which is used as reference
@@ -27,7 +25,14 @@
 do_configure:prepend() {
     [ -r "${S}/lv_conf.h" ] \
         || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \
+	    -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
+	    \
 	    -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
+	    \
+	    -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
+	    -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
+	    -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
+	    \
             < "${S}/lv_conf_template.h" > "${S}/lv_conf.h"
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_379.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_380.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_379.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_380.bb
index 1c32b5d..377c275 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_379.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_380.bb
@@ -8,7 +8,7 @@
            file://0001-Add-configure-time-check-for-setsid.patch \
           "
 
-SRC_URI[sha256sum] = "a7ddf274ee84b97fb1283675009d53ca2d02a0ffd5ce5a5118dafc3623ebb310"
+SRC_URI[sha256sum] = "0c1dc1fa800fa64b5c58d16ddb905e700b27ca538a65be8c03b2ba5761106c38"
 
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
index 0340901..ab9074b 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
@@ -14,7 +14,7 @@
 setting LAN configuration, and chassis power control. \
 "
 
-HOMEPAGE = "http://ipmitool.sourceforge.net/"
+HOMEPAGE = "http://codeberg.org/IPMITool/ipmitool"
 SECTION = "kernel/userland"
 
 LICENSE = "BSD-3-Clause"
@@ -22,14 +22,14 @@
 
 DEPENDS = "openssl readline ncurses"
 SRCREV = "19d78782d795d0cf4ceefe655f616210c9143e62"
-SRC_URI = "git://github.com/ipmitool/ipmitool;protocol=https;branch=master \
+SRC_URI = "git://codeberg.org/ipmitool/ipmitool;protocol=https;branch=master \
            ${IANA_ENTERPRISE_NUMBERS} \
            file://0001-configure-Remove-the-logic-to-download-IANA-PEN-data.patch \
            "
 IANA_ENTERPRISE_NUMBERS ?= ""
 
 # Add these via bbappend if this database is needed by the system
-#IANA_ENTERPRISE_NUMBERS = "http://www.iana.org/assignments/enterprise-numbers;name=iana-enterprise-numbers;downloadfilename=iana-enterprise-numbers"
+#IANA_ENTERPRISE_NUMBERS = "http://www.iana.org/assignments/enterprise-numbers.txt;name=iana-enterprise-numbers;downloadfilename=iana-enterprise-numbers"
 #SRC_URI[iana-enterprise-numbers.sha256sum] = "cdd97fc08325667434b805eb589104ae63f7a9eb720ecea73cb55110b383934c"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.1.0.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.1.0.bb
rename to meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
index 1aee51f..7c3df5f 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
@@ -9,7 +9,7 @@
 DEPENDS = "zlib elfutils"
 
 SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master"
-SRCREV = "6597330c45d185381900037f0130712cd326ae59"
+SRCREV = "fbd60dbff51c870f5e80a17c4f2fd639eb80af90"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_HOST = "(x86_64|i.86|aarch64|riscv64|powerpc64).*-linux"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.2.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.3.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.2.bb
rename to meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.3.bb
index 1c3538a..0ae691b 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.3.bb
@@ -11,7 +11,7 @@
 LICENSE = "GPL-2.0-only"
 
 SRCBRANCH ?= "master"
-SRCREV = "9fefc6848d0b3765760e709cfe92fb9d76d5d452"
+SRCREV = "ecc9355e1344d3de94870e855e380ee84224e552"
 
 DEPENDS = "bzip2 zlib elfutils xz"
 RDEPENDS:${PN}-tools = "perl ${PN}"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.3.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.3.bb
index 2c4111b..1e8ce7e 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.3.bb
@@ -37,7 +37,7 @@
     install -d ${D}${systemd_system_unitdir}
     install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
     install -d ${D}${sysconfdir}/init.d
-    install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
+    install -m 0755 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
 
     # correct path of minicoredumper
     sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
deleted file mode 100644
index 99eda69..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Library for reading, mastering and writing optical discs"
-HOMEPAGE = "http://libburnia-project.org/"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-
-SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "454d03ce31addb5b7dca62d213c9660e"
-SRC_URI[sha256sum] = "525059d10759c5cb8148eebc863bb510e311c663603da7bd2d21c46b7cf63b54"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
new file mode 100644
index 0000000..0b25dff
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
@@ -0,0 +1,43 @@
+From 08c1768aaeea86c522c0ef1705b9b6d434ebd3ae Mon Sep 17 00:00:00 2001
+From: Chris Lamb <chris@chris-lamb.co.uk>
+Date: Fri, 28 Jul 2017 11:49:13 +0100
+Subject: [PATCH] Drop LIBCDIO_SOURCE_PATH by dropping STRIP_FROM_PATH Doxygen
+ setup; it's not used as FULL_PATH_NAMES = no
+
+Source: https://sources.debian.org/data/main/libc/libcdio/2.1.0-4/debian/patches/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac            | 5 -----
+ doc/doxygen/Doxyfile.in | 2 +-
+ 2 files changed, 1 insertion(+), 6 deletions(-)
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -557,11 +557,6 @@ AC_SUBST(HAVE_SOLARIS_CDROM)
+ AC_SUBST(HAVE_WIN32_CDROM)
+ AC_SUBST(HAVE_OS2_CDROM)
+ 
+-LIBCDIO_SOURCE_PATH="`pwd`"
+-AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
+-	[Full path to libcdio top_sourcedir.])
+-AC_SUBST(LIBCDIO_SOURCE_PATH)
+-
+ AC_CHECK_FUNCS( [chdir drand48 fseeko fseeko64 ftruncate geteuid getgid \
+ 		 getuid getpwuid gettimeofday lseek64 lstat memcpy memset mkstemp rand \
+ 		 seteuid setegid snprintf setenv strndup unsetenv tzset sleep \
+Index: b/doc/doxygen/Doxyfile.in
+===================================================================
+--- a/doc/doxygen/Doxyfile.in
++++ b/doc/doxygen/Doxyfile.in
+@@ -138,7 +138,7 @@ FULL_PATH_NAMES        = NO
+ # If left blank the directory from which doxygen is run is used as the
+ # path to strip.
+ 
+-STRIP_FROM_PATH        = @LIBCDIO_SOURCE_PATH@
++STRIP_FROM_PATH        =
+ 
+ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+ # the path mentioned in the documentation of a class, which tells
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
index 62004ac..8562462 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
@@ -6,6 +6,7 @@
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2 \
            file://0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch \
+           file://Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch \
            "
 
 SRC_URI[md5sum] = "aa7629e8f73662a762f64c444b901055"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch
new file mode 100644
index 0000000..586782a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch
@@ -0,0 +1,47 @@
+From 26342d1c775205f661f5cf005b7e054a04f5d32e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 May 2023 10:14:57 -0700
+Subject: [PATCH] configure: Respect the cflags from environment
+
+This is needed with OE like cross-build envs where certain important
+flags maybe passed as global policy to aid cross compiling or
+reproducibility etc.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,12 +73,9 @@ debug=""
+ optimize=""
+ profile=""
+ 
+-set -- $CFLAGS
+-CFLAGS=""
+-
+ if test "$GCC" = yes
+ then
+-    CFLAGS="-Wall"
++    CFLAGS="$CFLAGS -Wall"
+ fi
+ 
+ while test $# -gt 0
+@@ -115,10 +112,13 @@ do
+ 	    optimize="$optimize $1"
+ 	    shift
+ 	    ;;
+-	*)
++	-*)
+ 	    CFLAGS="$CFLAGS $1"
+ 	    shift
+ 	    ;;
++	*)
++	    shift
++	    ;;
+     esac
+ done
+ 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
index d3ac85e..5b089a0 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -16,6 +16,7 @@
     file://fix_for_mips_with_gcc-4.5.0.patch \
     file://obsolete_automake_macros.patch \
     file://automake-foreign.patch \
+    file://0001-configure-Respect-the-cflags-from-environment.patch \
 "
 SRC_URI:append:toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb
new file mode 100644
index 0000000..6e4321d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "PulseAudio Preferences (paprefs) is a simple GTK based configuration dialog for the PulseAudio sound server."
+HOMEPAGE = "https://freedesktop.org/software/pulseaudio/paprefs/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "pulseaudio gtkmm3 gtk+3 libsigc++-3 glibmm"
+
+inherit meson pkgconfig features_check
+
+# paprefs.cc includes gdk/gdkx.h and gdkx.h isn't provided by gtk3 without x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://freedesktop.org/software/pulseaudio/paprefs/${BP}.tar.xz"
+
+SRC_URI[sha256sum] = "b3f21e40dc3936d15e3ffc910fb0c07c14b88e8c287715b456a948c17638f633"
+
+EXTRA_OEMESON = "-Dlynx=false"
+
+RDEPENDS:${PN} += "pulseaudio-server"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
index c23b6e3..21a0802 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.23.0.bb
@@ -38,15 +38,11 @@
 PV .= "+git${SRCPV}"
 
 S = "${WORKDIR}/git"
-B = "${S}"
 
 do_configure:prepend() {
-    ${S}/bootstrap.sh
+    cd ${S}; ./bootstrap.sh; cd -
 }
 
-SRC_URI[md5sum] = "8aa73287320a49e9170a8255d7b2c7e6"
-SRC_URI[sha256sum] = "65c6fbe830a44ca105c443b027182c1b2c9053a91d1e72ad849dfab388b94e31"
-
 EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \
                 --disable-v4l2-compliance-32 --disable-v4l2-ctl-32"
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
deleted file mode 100644
index 021496b..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=f596650807588c61fcab60bec8242df8"
-
-SRC_URI = "http://wavpack.com/wavpack-${PV}.tar.bz2"
-SRC_URI[md5sum] = "7bb1528f910e4d0003426c02db856063"
-SRC_URI[sha256sum] = "175ee4f2effd6f51e6ec487956f41177256bf892c2e8e07de5d27ed4ee6888c5"
-
-inherit autotools lib_package
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_5.1.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_5.1.0.bb
new file mode 100644
index 0000000..9096123
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/wavpack/wavpack_5.1.0.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=8c1a910e5c2a8b30ec8ffb2ffa63d9b2"
+
+SRC_URI = "git://github.com/dbry/WavPack.git;branch=master;protocol=https"
+SRCREV = "9ccc3fe4a37d069137ceabe513a4dd9b0a09c1c2"
+S = "${WORKDIR}/git"
+
+inherit autotools lib_package
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch
new file mode 100644
index 0000000..18e7185
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch
@@ -0,0 +1,30 @@
+From 6c434bdd31d674f85a82cb83248571813c7a37ff Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 3 May 2023 18:06:46 +0200
+Subject: [PATCH] libgeoclue: don't try to use g-ir-scanner when introspection
+ isn't enabled
+
+* it finds target g-ir-scanner, so gir is found(), but when it tries to call it, it fails:
+  http://errors.yoctoproject.org/Errors/Details/702778/
+  geoclue/2.7.0-r0/recipe-sysroot/usr/bin/g-ir-scanner-wrapper: line 5: g-ir-scanner: command not found
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Pending
+
+ libgeoclue/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build
+index 5f05dad..7ed06a1 100644
+--- a/libgeoclue/meson.build
++++ b/libgeoclue/meson.build
+@@ -77,7 +77,7 @@ gir_sources = [ libgeoclue_sources,
+                 libgeoclue_headers,
+                 libgeoclue_public_api_gen_sources[1] ]
+ 
+-if gir.found()
++if gir.found() and get_option('introspection')
+   geo_gir = gnome.generate_gir(libgeoclue,
+                                sources: gir_sources,
+                                namespace: 'Geoclue',
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb
index f7039b5..d05a309 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb
@@ -13,7 +13,9 @@
 inherit meson pkgconfig gtk-doc gobject-introspection vala useradd
 
 SRCREV = "bbfb6289dedb88cb8155d9f6868787d5432e1f90"
-SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;nobranch=1"
+SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;nobranch=1 \
+    file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \
+"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.1.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.1.1.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-security/audit/audit_3.1.bb
rename to meta-openembedded/meta-oe/recipes-security/audit/audit_3.1.1.bb
index 8bd8179..7ed2fd2 100644
--- a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.1.1.bb
@@ -16,7 +16,7 @@
 "
 
 S = "${WORKDIR}/git"
-SRCREV = "81c813fc4ebb11bf1eca8b8bdb5b253dff31e68e"
+SRCREV = "6e367585a899231da05797c6126f8bb01febb2f5"
 
 inherit autotools python3targetconfig update-rc.d systemd
 
diff --git a/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.1.bb b/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.1.bb
rename to meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb
index 50d8cdb..1ba4521 100644
--- a/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb
@@ -21,11 +21,11 @@
 
 inherit meson gobject-introspection gettext gtk-doc pkgconfig vala
 
-GIR_MESON_OPTION = ""
+GIR_MESON_OPTION = "gir"
 
 SRC_URI = "https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz"
 SRC_URI:append:class-target = " file://0001-fix-crosscompile.patch"
-SRC_URI[sha256sum] = "77e274e163db1f0a1bec8f4134b1d0f31e9c0a8c54cd37f724a7d30a71cf41d2"
+SRC_URI[sha256sum] = "f9cb80bd388fbf06be268afa7f2d65863c85d605ad874b905094f3982d03f232"
 
 S = "${WORKDIR}/AppStream-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.20.0.bb b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb
similarity index 69%
rename from meta-openembedded/meta-oe/recipes-support/asio/asio_1.20.0.bb
rename to meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb
index cedcf9f..ae72126 100644
--- a/meta-openembedded/meta-oe/recipes-support/asio/asio_1.20.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/asio/asio_1.28.0.bb
@@ -9,17 +9,18 @@
 
 DEPENDS = "openssl"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
+SRC_URI = " \
+    ${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2 \
+    file://0001-Add-the-pkgconfigdir-location.patch \
+"
 
 inherit autotools
 
 ALLOW_EMPTY:${PN} = "1"
 
-LIC_FILES_CHKSUM = "file://COPYING;md5=416f4cc4f79551b690babb14ef1a5799"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ff668366bbdb687b6029d33a5fe4b999"
 
-SRC_URI[sha256sum] = "204374d3cadff1b57a63f4c343cbadcee28374c072dc04b549d772dbba9f650c"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "d0ddc2361abd2f4c823e970aaf8e28b4b31ab21b1a68af16b114fc093661e232"
 
 PACKAGECONFIG ??= "boost"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch b/meta-openembedded/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch
new file mode 100644
index 0000000..3f93e7e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch
@@ -0,0 +1,30 @@
+From 248e87869d748cfb72d3a5d3b2b91ad178172e30 Mon Sep 17 00:00:00 2001
+From: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
+Date: Tue, 9 May 2023 12:48:29 +0200
+Subject: [PATCH] Add the pkgconfigdir location
+
+This change is necessary, because while building asio in yocto the
+compilation is failing and is complaining because the variable is
+undefined
+
+Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
+Upstream status: Submitted [https://github.com/chriskohlhoff/asio/pull/1294]
+---
+ asio/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index b7760851..bc4f75b3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,7 @@
+ AUTOMAKE_OPTIONS = foreign dist-bzip2 dist-zip
+ 
+ pkgconfig_DATA = asio.pc
++pkgconfigdir = $(libdir)/pkgconfig
+ 
+ SUBDIRS = include src
+ 
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
index c83181c..a06122a 100644
--- a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
@@ -9,10 +9,10 @@
 
 DEPENDS += "boost qemu-native"
 
-PV = "1.1.6"
+PV = "1.1.8"
 
 SRC_URI = "git://github.com/boost-ext/sml.git;protocol=https;branch=master"
-SRCREV = "23e9a24e434cac9922039cbb43ca54ab70bef72c"
+SRCREV = "8eb63a8b77bb662075dd36b316e53f75e605fd0f"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
index 86a58be..58e4fd6 100644
--- a/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86c1c0d961a437e529db93aa3bb32dc4"
 SRCREV ?= "f4d2682804931e7aea02a869137344bb5452a3cd"
 
-SRC_URI = "git://g...@github.com/opsengine/cpulimit.git;protocol=https;branch=master \
+SRC_URI = "git://github.com/opsengine/cpulimit.git;protocol=https;branch=master \
            file://0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch \
            "
 
@@ -15,7 +15,7 @@
 }
 do_install() {
     install -d ${D}${sbindir}
-    install -m 0755 ${B}/src/${PN} ${D}${sbindir}/
+    install -m 0755 ${B}/src/${BPN} ${D}${sbindir}/
 }
 
 CFLAGS += "-D_GNU_SOURCE ${LDFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch b/meta-openembedded/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch
new file mode 100644
index 0000000..32fa239
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch
@@ -0,0 +1,30 @@
+From c6a59d512706978e8c67f9a2d84ec650f8763368 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 May 2023 18:02:52 -0700
+Subject: [PATCH] Do not use $MKTEMP_PROG in cross-build
+
+$MKTEMP_PROG points to native location which could be absolute path that
+wont exist on target rootfs. Therefore use it from PATH
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4852a2f..d23b384 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -186,7 +186,7 @@ ye_PATH_LOCALE_ALIAS
+ 
+ dnl Random filename generation in scripts
+ if test -n "$MKTEMP_PROG"; then
+-  SHELL_RANDOM_FILENAME='`'$MKTEMP_PROG' /tmp/enca-$$-XXXXXXXX`'
++  SHELL_RANDOM_FILENAME='`mktemp /tmp/enca-$$-XXXXXXXX`'
+ else
+   SHELL_RANDOM_FILENAME='/tmp/enca-$$-$RANDOM'
+ fi
+-- 
+2.40.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb
index eed0ad1..774f05f 100644
--- a/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb
+++ b/meta-openembedded/meta-oe/recipes-support/enca/enca_1.19.bb
@@ -10,8 +10,8 @@
 SRC_URI = "https://dl.cihar.com/enca/enca-${PV}.tar.gz \
     file://dont-run-tests.patch \
     file://makefile-remove-tools.patch \
-    file://libenca-003-iconv.patch "
-
+    file://libenca-003-iconv.patch \
+    file://0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch"
 SRC_URI[sha256sum] = "4c305cc59f3e57f2cfc150a6ac511690f43633595760e1cb266bf23362d72f8a"
 
 inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb
index cb45e2b..1fead4d 100644
--- a/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb
+++ b/meta-openembedded/meta-oe/recipes-support/fftw/fftw_3.3.10.bb
@@ -55,6 +55,7 @@
 do_compile() {
     for lib in fftw fftwl fftwf; do
         cd ${WORKDIR}/build-$lib
+        sed -i -e 's|${TOOLCHAIN_OPTIONS}||g' config.h
         autotools_do_compile
     done
 }
diff --git a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.7.1.bb b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.7.1.bb
rename to meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb
index 1a56563..209f51e 100644
--- a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.0.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
 SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main"
-SRCREV = "d572f4777349d43653b21d6c2fc63020ab326db2"
+SRCREV = "2dd015dfef425c866d9a43f2c67d8b52d709acb6"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb
rename to meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb
index c20e243..56d4253 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.370.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPL-2.0-or-later | XFree86-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-SRCREV = "ced93f9d1c15e45e35378e82b8da96027e58174a"
+SRCREV = "21cb47beb1716545b25dfe8ae1b9e079c73b85d9"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
index d7c76a5..2a0a129 100644
--- a/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
@@ -10,7 +10,7 @@
 
 PV = "1.0.1+git${SRCPV}"
 
-SRCREV = "7d622d916be16f2df5a72bf53a42f3a326bbfaa4"
+SRCREV = "163a1647dedb7ca4656c0f072e4733573f9f982b"
 SRC_URI = "git://github.com/libimobiledevice/idevicerestore;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
index 07434c0..e59b511 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
@@ -10,23 +10,19 @@
 DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
 
 BASE_PV := "${PV}"
-PV .= "-5"
+PV .= "-8"
 SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https \
            file://0001-m4-Use-autconf-provided-AC_FUNC_FSEEKO.patch"
-SRCREV = "2d24be538f286962c355cf422bb525375ac77998"
+SRCREV = "920f79206ff59f30a4cff22c9c9c393508b82663"
 
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig update-alternatives
 export ac_cv_sys_file_offset_bits="64"
 
-# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
-# if someone needs xml support then fix it first
-EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl \
-                --disable-openmp --without-xml --disable-opencl \
-                --enable-largefile"
+EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml"
 PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus"
 PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
 PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
@@ -38,6 +34,17 @@
 PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
 PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
 PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
+PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2"
+
+do_install:append:class-target() {
+    for file in MagickCore-config.im7 MagickWand-config.im7 Magick++-config.im7; do
+        sed -i 's,${STAGING_DIR_NATIVE},,g' ${D}${bindir}/"$file"
+    done
+    sed -i 's,${S},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml
+    sed -i 's,${B},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml
+    sed -i 's,${RECIPE_SYSROOT},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml
+    sed -i 's,${HOSTTOOLS_DIR},${bindir},g' ${D}${sysconfdir}/ImageMagick-7/delegates.xml
+}
 
 FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
                 ${datadir}/ImageMagick-7"
diff --git a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
index bc58974..7f0cfa2 100644
--- a/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
@@ -27,6 +27,11 @@
                  -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
                  -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
 
+do_install:append() {
+    # remove absolute paths
+    sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/libftdi1/LibFTDI1Config.cmake
+}
+
 BBCLASSEXTEND = "native nativesdk"
 
 PACKAGES =+ "${PN}-python ftdi-eeprom"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index bb253f4..c8ff0d3 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -24,6 +24,8 @@
 
 EXTRA_OECMAKE = " \
     -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+    -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
+    -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
     -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \
     ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \
 "
diff --git a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb
rename to meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb
index 53882b2..38ffd03 100644
--- a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb
@@ -3,9 +3,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e16cf0e247d84f8999bf55865a9c98cf"
 
-SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=https;branch=main"
 
-SRCREV = "0ba77141dd215782cc7770347a457906908c66ff"
+SRCREV = "ab3f67fc4fad88cdf07b258c08e4164e06bf7506"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libpaper/libpaper_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/libpaper/libpaper_2.1.0.bb
new file mode 100644
index 0000000..26f8fab
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libpaper/libpaper_2.1.0.bb
@@ -0,0 +1,11 @@
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://github.com/rrthomas/libpaper/releases/download/v${PV}/libpaper-${PV}.tar.gz"
+SRC_URI[sha256sum] = "474e9575e1235a0d8e3661f072de0193bab6ea1023363772f698a2cc39d640cf"
+
+inherit perlnative autotools
+
+EXTRA_AUTORECONF += "--install"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch
new file mode 100644
index 0000000..1ab3494
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch
@@ -0,0 +1,796 @@
+From fc7855891c66599487265701294963bb0772bb80 Mon Sep 17 00:00:00 2001
+From: Wlodzimierz Lipert <wlodzimierz.lipert@gmail.com>
+Date: Mon, 28 Nov 2022 08:29:54 +0100
+Subject: [PATCH] fix: stack-buffer-overflow in usbg_f_foo_attr_val processing.
+ Changed ABI version from 2 to 3.
+
+Upstream-Status: Submitted [https://github.com/linux-usb-gadgets/libusbgx/pull/72]
+
+Signed-off-by: Wlodzimierz Lipert <wlodzimierz.lipert@gmail.com>
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ include/usbg/function/hid.h  | 28 ++++++++++++----------------
+ include/usbg/function/midi.h | 35 +++++++++++++----------------------
+ include/usbg/function/ms.h   | 30 +++++++++++-------------------
+ include/usbg/function/net.h  | 34 ++++++++++++++--------------------
+ include/usbg/function/uac2.h | 29 +++++++++++++----------------
+ include/usbg/usbg_internal.h | 10 +++++-----
+ src/Makefile.am              |  2 +-
+ src/function/ether.c         | 10 +++++-----
+ src/function/hid.c           | 12 ++++++------
+ src/function/midi.c          | 10 +++++-----
+ src/function/ms.c            | 10 +++++-----
+ src/function/uac2.c          | 10 +++++-----
+ src/function/uvc.c           | 10 +++++-----
+ src/usbg_common.c            |  2 +-
+ 14 files changed, 101 insertions(+), 131 deletions(-)
+
+diff --git a/include/usbg/function/hid.h b/include/usbg/function/hid.h
+index 3463140..3b3907b 100644
+--- a/include/usbg/function/hid.h
++++ b/include/usbg/function/hid.h
+@@ -56,11 +56,6 @@ union usbg_f_hid_attr_val {
+ 	unsigned int subclass;
+ };
+ 
+-#define USBG_F_HID_UINT_TO_ATTR_VAL(WHAT)			\
+-	USBG_TO_UNION(usbg_f_hid_attr_val, protocol, WHAT)
+-
+-#define USBG_F_HID_RDESC_TO_ATTR_VAL(WHAT)			\
+-	USBG_TO_UNION(usbg_f_hid_attr_val, report_desc, WHAT)
+ /**
+  * @brief Cast from generic function to hid function
+  * @param[in] f function to be converted to hid funciton.
+@@ -137,7 +132,7 @@ int usbg_f_hid_get_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+  * @return 0 on success usbg_error if error occurred.
+  */
+ int usbg_f_hid_set_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+-			    union usbg_f_hid_attr_val val);
++			    const union usbg_f_hid_attr_val *val);
+ 
+ /**
+  * @brief Get the minor and major of corresponding character device
+@@ -173,8 +168,9 @@ static inline int usbg_f_hid_get_protocol(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_protocol(usbg_f_hid *hf,
+ 					  unsigned int protocol)
+ {
+-	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_PROTOCOL,
+-				       USBG_F_HID_UINT_TO_ATTR_VAL(protocol));
++
++	union usbg_f_hid_attr_val val = {.protocol = protocol};
++	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_PROTOCOL, &val);
+ }
+ 
+ /**
+@@ -199,8 +195,8 @@ static inline int usbg_f_hid_get_report_desc(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_report_desc(usbg_f_hid *hf,
+ 					     struct usbg_f_hid_report_desc report_desc)
+ {
+-	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC,
+-				       USBG_F_HID_RDESC_TO_ATTR_VAL(report_desc));
++	union usbg_f_hid_attr_val val = {.report_desc = report_desc};
++	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, &val);
+ }
+ 
+ /**
+@@ -242,8 +238,8 @@ static inline int usbg_f_hid_set_report_desc_raw(usbg_f_hid *hf,
+ 		.len = len,
+ 	};
+ 
+-	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC,
+-				       USBG_F_HID_RDESC_TO_ATTR_VAL(report_desc));
++	union usbg_f_hid_attr_val val = {.report_desc = report_desc};
++	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, &val);
+ }
+ 
+ /**
+@@ -268,8 +264,8 @@ static inline int usbg_f_hid_get_report_length(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_report_length(usbg_f_hid *hf,
+ 					  unsigned int report_length)
+ {
+-	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_LENGTH,
+-				       USBG_F_HID_UINT_TO_ATTR_VAL(report_length));
++	union usbg_f_hid_attr_val val = {.report_length = report_length};
++	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_LENGTH, &val);
+ }
+ 
+ /**
+@@ -294,8 +290,8 @@ static inline int usbg_f_hid_get_subclass(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_subclass(usbg_f_hid *hf,
+ 					  unsigned int subclass)
+ {
+-	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_SUBCLASS,
+-				       USBG_F_HID_UINT_TO_ATTR_VAL(subclass));
++	union usbg_f_hid_attr_val val = {.subclass = subclass};
++	return usbg_f_hid_set_attr_val(hf, USBG_F_HID_SUBCLASS, &val);
+ }
+ 
+ #ifdef __cplusplus
+diff --git a/include/usbg/function/midi.h b/include/usbg/function/midi.h
+index 39df047..b9d9d4f 100644
+--- a/include/usbg/function/midi.h
++++ b/include/usbg/function/midi.h
+@@ -53,15 +53,6 @@ union usbg_f_midi_attr_val {
+ 	unsigned int qlen;
+ };
+ 
+-#define USBG_F_MIDI_INT_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_midi_attr_val, index, WHAT)
+-
+-#define USBG_F_MIDI_UINT_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_midi_attr_val, qlen, WHAT)
+-
+-#define USBG_F_MIDI_CCHAR_PTR_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_midi_attr_val, id, WHAT)
+-
+ /**
+  * @brief Cast from generic function to midi function
+  * @param[in] f function to be converted to midi funciton.
+@@ -126,7 +117,7 @@ int usbg_f_midi_get_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+  * @return 0 on success usbg_error if error occurred.
+  */
+ int usbg_f_midi_set_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+-			    union usbg_f_midi_attr_val val);
++			    const union usbg_f_midi_attr_val *val);
+ 
+ /**
+  * @brief Get the index value of MIDI adapter
+@@ -148,8 +139,8 @@ static inline int usbg_f_midi_get_index(usbg_f_midi *mf, int *index)
+  */
+ static inline int usbg_f_midi_set_index(usbg_f_midi *mf, int index)
+ {
+-	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_INDEX,
+-					USBG_F_MIDI_INT_TO_ATTR_VAL(index));
++	union usbg_f_midi_attr_val val = {.index = index};
++	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_INDEX, &val);
+ }
+ 
+ /**
+@@ -188,8 +179,8 @@ int usbg_f_midi_get_id_s(usbg_f_midi *mf, char *buf, int len);
+  */
+ static inline int usbg_f_midi_set_id(usbg_f_midi *mf, const char *id)
+ {
+-	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_ID,
+-					USBG_F_MIDI_CCHAR_PTR_TO_ATTR_VAL(id));
++	union usbg_f_midi_attr_val val = {.id = id};
++	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_ID, &val);
+ }
+ 
+ /**
+@@ -212,8 +203,8 @@ static inline int usbg_f_midi_get_in_ports(usbg_f_midi *mf, unsigned *in_ports)
+  */
+ static inline int usbg_f_midi_set_in_ports(usbg_f_midi *mf, unsigned in_ports)
+ {
+-	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_IN_PORTS,
+-					USBG_F_MIDI_UINT_TO_ATTR_VAL(in_ports));
++	union usbg_f_midi_attr_val val = {.in_ports = in_ports};
++	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_IN_PORTS, &val);
+ }
+ 
+ /**
+@@ -236,8 +227,8 @@ static inline int usbg_f_midi_get_out_ports(usbg_f_midi *mf, unsigned *out_ports
+  */
+ static inline int usbg_f_midi_set_out_ports(usbg_f_midi *mf, unsigned out_ports)
+ {
+-	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_OUT_PORTS,
+-					USBG_F_MIDI_UINT_TO_ATTR_VAL(out_ports));
++	union usbg_f_midi_attr_val val = {.out_ports = out_ports};
++	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_OUT_PORTS, &val);
+ }
+ 
+ /**
+@@ -264,8 +255,8 @@ static inline int usbg_f_midi_get_buflen(usbg_f_midi *mf, int *buflen)
+  */
+ static inline int usbg_f_midi_set_buflen(usbg_f_midi *mf, unsigned buflen)
+ {
+-	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_BUFLEN,
+-					USBG_F_MIDI_UINT_TO_ATTR_VAL(buflen));
++	union usbg_f_midi_attr_val val = {.buflen = buflen};
++	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_BUFLEN, &val);
+ }
+ 
+ /**
+@@ -288,8 +279,8 @@ static inline int usbg_f_midi_get_qlen(usbg_f_midi *mf, unsigned *qlen)
+  */
+ static inline int usbg_f_midi_set_qlen(usbg_f_midi *mf, unsigned qlen)
+ {
+-	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_QLEN,
+-					USBG_F_MIDI_UINT_TO_ATTR_VAL(qlen));
++	union usbg_f_midi_attr_val val = {.qlen = qlen};
++	return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_QLEN, &val);
+ }
+ 
+ #ifdef __cplusplus
+diff --git a/include/usbg/function/ms.h b/include/usbg/function/ms.h
+index 780464c..f52eb78 100644
+--- a/include/usbg/function/ms.h
++++ b/include/usbg/function/ms.h
+@@ -56,14 +56,6 @@ union usbg_f_ms_lun_attr_val {
+ 	const char *file;
+ };
+ 
+-#define USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_ms_lun_attr_val, cdrom, WHAT)
+-
+-#define USBG_F_MS_LUN_CCHAR_PTR_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_ms_lun_attr_val, file, WHAT)
+-
+-
+-
+ /**
+  * @brief Cast from generic function to mass storage function
+  * @param[in] f function to be converted to ms funciton.
+@@ -157,7 +149,7 @@ int usbg_f_ms_get_lun_attr_val(usbg_f_ms *mf, int lun_id,
+  */
+ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ 			       enum usbg_f_ms_lun_attr lattr,
+-			       const union usbg_f_ms_lun_attr_val val);
++			       const union usbg_f_ms_lun_attr_val *val);
+ 
+ /**
+  * @brief Get the value which determines if lun is visible as a cdrom
+@@ -183,8 +175,8 @@ static inline int usbg_f_ms_get_lun_cdrom(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_cdrom(usbg_f_ms *mf, int lun_id,
+ 					  bool cdrom)
+ {
+-	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_CDROM,
+-					  USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(cdrom));
++	union usbg_f_ms_lun_attr_val val = {.cdrom = cdrom};
++	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_CDROM, &val);
+ }
+ 
+ /**
+@@ -209,8 +201,8 @@ static inline int usbg_f_ms_get_lun_ro(usbg_f_ms *mf, int lun_id, bool *ro)
+  */
+ static inline int usbg_f_ms_set_lun_ro(usbg_f_ms *mf, int lun_id, bool ro)
+ {
+-	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_RO,
+-					  USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(ro));
++	union usbg_f_ms_lun_attr_val val = {.ro = ro};
++	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_RO, &val);
+ }
+ 
+ /**
+@@ -239,8 +231,8 @@ static inline int usbg_f_ms_get_lun_nofua(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_nofua(usbg_f_ms *mf, int lun_id,
+ 				bool nofua)
+ {
+-	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_NOFUA,
+-					  USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(nofua));
++	union usbg_f_ms_lun_attr_val val = {.nofua = nofua};
++	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_NOFUA, &val);
+ }
+ 
+ /**
+@@ -267,8 +259,8 @@ static inline int usbg_f_ms_get_lun_removable(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_removable(usbg_f_ms *mf, int lun_id,
+ 				bool removable)
+ {
+-	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_REMOVABLE,
+-					  USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(removable));
++	union usbg_f_ms_lun_attr_val val = {.removable = removable};
++	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_REMOVABLE, &val);
+ }
+ 
+ /**
+@@ -313,8 +305,8 @@ int usbg_f_ms_get_lun_file_s(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_file(usbg_f_ms *mf, int lun_id,
+ 			   const char *file)
+ {
+-	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_FILE,
+-					  USBG_F_MS_LUN_CCHAR_PTR_TO_ATTR_VAL(file));
++	union usbg_f_ms_lun_attr_val val = {.file = file};
++	return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_FILE, &val);
+ }
+ 
+ /**
+diff --git a/include/usbg/function/net.h b/include/usbg/function/net.h
+index b0409f1..06cee30 100644
+--- a/include/usbg/function/net.h
++++ b/include/usbg/function/net.h
+@@ -56,12 +56,6 @@ union usbg_f_net_attr_val {
+ 	unsigned int protocol;
+ };
+ 
+-#define USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_net_attr_val, dev_addr, WHAT)
+-
+-#define USBG_F_NET_INT_TO_ATTR_VAL(WHAT)		\
+-	USBG_TO_UNION(usbg_f_net_attr_val, qmult, WHAT)
+-
+ /**
+  * @brief Cast from generic function to net function
+  * @param[in] f function to be converted to net funciton.
+@@ -125,7 +119,7 @@ int usbg_f_net_get_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+  * @return 0 on success usbg_error if error occurred.
+  */
+ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+-			    const union usbg_f_net_attr_val val);
++			    const union usbg_f_net_attr_val *val);
+ 
+ /**
+  * @brief Get the value of device side MAC address
+@@ -136,7 +130,7 @@ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+ static inline int usbg_f_net_get_dev_addr(usbg_f_net *nf,
+ 					  struct ether_addr *addr)
+ {
+-	union usbg_f_net_attr_val val = { .dev_addr = *addr, };
++	union usbg_f_net_attr_val val = {.dev_addr = *addr};
+ 	return usbg_f_net_get_attr_val(nf, USBG_F_NET_DEV_ADDR, &val);
+ }
+ 
+@@ -149,8 +143,8 @@ static inline int usbg_f_net_get_dev_addr(usbg_f_net *nf,
+ static inline int usbg_f_net_set_dev_addr(usbg_f_net *nf,
+ 			     const struct ether_addr *addr)
+ {
+-	return usbg_f_net_set_attr_val(nf, USBG_F_NET_DEV_ADDR,
+-				       USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(*addr));
++	union usbg_f_net_attr_val val = {.dev_addr = *addr};
++	return usbg_f_net_set_attr_val(nf, USBG_F_NET_DEV_ADDR, &val);
+ }
+ 
+ /**
+@@ -175,8 +169,8 @@ static inline int usbg_f_net_get_host_addr(usbg_f_net *nf,
+ static inline int usbg_f_net_set_host_addr(usbg_f_net *nf,
+ 					   const struct ether_addr *addr)
+ {
+-	return usbg_f_net_set_attr_val(nf, USBG_F_NET_HOST_ADDR,
+-				       USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(*addr));
++	union usbg_f_net_attr_val val = {.host_addr = *addr};
++	return usbg_f_net_set_attr_val(nf, USBG_F_NET_HOST_ADDR, &val);
+ }
+ 
+ /**
+@@ -226,8 +220,8 @@ static inline int usbg_f_net_get_qmult(usbg_f_net *nf, int *qmult)
+  */
+ static inline int usbg_f_net_set_qmult(usbg_f_net *nf, int qmult)
+ {
+-	return usbg_f_net_set_attr_val(nf, USBG_F_NET_QMULT,
+-				       USBG_F_NET_INT_TO_ATTR_VAL(qmult));
++	union usbg_f_net_attr_val val = {.qmult = qmult};
++	return usbg_f_net_set_attr_val(nf, USBG_F_NET_QMULT, &val);
+ }
+ 
+ /**
+@@ -250,8 +244,8 @@ static inline int usbg_f_net_get_class(usbg_f_net *nf, unsigned int *class_)
+  */
+ static inline int usbg_f_net_set_class(usbg_f_net *nf, unsigned int class_)
+ {
+-	return usbg_f_net_set_attr_val(nf, USBG_F_NET_CLASS,
+-				       USBG_F_NET_INT_TO_ATTR_VAL(class_));
++	union usbg_f_net_attr_val val = {.class_ = class_};
++	return usbg_f_net_set_attr_val(nf, USBG_F_NET_CLASS, &val);
+ }
+ 
+ /**
+@@ -274,8 +268,8 @@ static inline int usbg_f_net_get_subclass(usbg_f_net *nf, int *subclass)
+  */
+ static inline int usbg_f_net_set_subclass(usbg_f_net *nf, unsigned int subclass)
+ {
+-	return usbg_f_net_set_attr_val(nf, USBG_F_NET_SUBCLASS,
+-				       USBG_F_NET_INT_TO_ATTR_VAL(subclass));
++	union usbg_f_net_attr_val val = {.subclass = subclass};
++	return usbg_f_net_set_attr_val(nf, USBG_F_NET_SUBCLASS, &val);
+ }
+ 
+ /**
+@@ -298,8 +292,8 @@ static inline int usbg_f_net_get_protocol(usbg_f_net *nf, int *protocol)
+  */
+ static inline int usbg_f_net_set_protocol(usbg_f_net *nf, unsigned int protocol)
+ {
+-	return usbg_f_net_set_attr_val(nf, USBG_F_NET_PROTOCOL,
+-				       USBG_F_NET_INT_TO_ATTR_VAL(protocol));
++	union usbg_f_net_attr_val val = {.protocol = protocol};
++	return usbg_f_net_set_attr_val(nf, USBG_F_NET_PROTOCOL, &val);
+ }
+ 
+ #ifdef __cplusplus
+diff --git a/include/usbg/function/uac2.h b/include/usbg/function/uac2.h
+index c1bbb14..1ea55dc 100644
+--- a/include/usbg/function/uac2.h
++++ b/include/usbg/function/uac2.h
+@@ -53,9 +53,6 @@ union usbg_f_uac2_attr_val {
+ 	int p_ssize;
+ };
+ 
+-#define USBG_F_UAC2_INT_TO_ATTR_VAL(WHAT)			\
+-	USBG_TO_UNION(usbg_f_uac2_attr_val, c_chmask, WHAT)
+-
+ /**
+  * @brief Cast from generic function to uac2 function
+  * @param[in] f function to be converted to uac2 funciton.
+@@ -115,7 +112,7 @@ int usbg_f_uac2_get_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+  * @return 0 on success usbg_error if error occurred.
+  */
+ int usbg_f_uac2_set_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+-			     union usbg_f_uac2_attr_val val);
++			     const union usbg_f_uac2_attr_val *val);
+ 
+ /**
+  * @brief Get the capture channel mask of UAC2 adapter
+@@ -137,8 +134,8 @@ static inline int usbg_f_uac2_get_c_chmask(usbg_f_uac2 *af, int *c_chmask)
+  */
+ static inline int usbg_f_uac2_set_c_chmask(usbg_f_uac2 *af, int c_chmask)
+ {
+-	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_CHMASK,
+-					USBG_F_UAC2_INT_TO_ATTR_VAL(c_chmask));
++	union usbg_f_uac2_attr_val val = {.c_chmask = c_chmask};
++	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_CHMASK, &val);
+ }
+ 
+ /**
+@@ -161,8 +158,8 @@ static inline int usbg_f_uac2_get_c_srate(usbg_f_uac2 *af, int *c_srate)
+  */
+ static inline int usbg_f_uac2_set_c_srate(usbg_f_uac2 *af, int c_srate)
+ {
+-	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SRATE,
+-					USBG_F_UAC2_INT_TO_ATTR_VAL(c_srate));
++	union usbg_f_uac2_attr_val val = {.c_srate = c_srate};
++	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SRATE, &val);
+ }
+ 
+ /**
+@@ -185,8 +182,8 @@ static inline int usbg_f_uac2_get_c_ssize(usbg_f_uac2 *af, int *c_ssize)
+  */
+ static inline int usbg_f_uac2_set_c_ssize(usbg_f_uac2 *af, int c_ssize)
+ {
+-	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SSIZE,
+-					USBG_F_UAC2_INT_TO_ATTR_VAL(c_ssize));
++	union usbg_f_uac2_attr_val val = {.c_ssize = c_ssize};
++	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SSIZE, &val);
+ }
+ 
+ /**
+@@ -209,8 +206,8 @@ static inline int usbg_f_uac2_get_p_chmask(usbg_f_uac2 *af, int *p_chmask)
+  */
+ static inline int usbg_f_uac2_set_p_chmask(usbg_f_uac2 *af, int p_chmask)
+ {
+-	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_CHMASK,
+-					USBG_F_UAC2_INT_TO_ATTR_VAL(p_chmask));
++	union usbg_f_uac2_attr_val val = {.p_chmask = p_chmask};
++	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_CHMASK, &val);
+ }
+ 
+ /**
+@@ -233,8 +230,8 @@ static inline int usbg_f_uac2_get_p_srate(usbg_f_uac2 *af, int *p_srate)
+  */
+ static inline int usbg_f_uac2_set_p_srate(usbg_f_uac2 *af, int p_srate)
+ {
+-	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SRATE,
+-					USBG_F_UAC2_INT_TO_ATTR_VAL(p_srate));
++	union usbg_f_uac2_attr_val val = {.p_srate = p_srate};
++	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SRATE, &val);
+ }
+ 
+ /**
+@@ -257,8 +254,8 @@ static inline int usbg_f_uac2_get_p_ssize(usbg_f_uac2 *af, int *p_ssize)
+  */
+ static inline int usbg_f_uac2_set_p_ssize(usbg_f_uac2 *af, int p_ssize)
+ {
+-	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SSIZE,
+-					USBG_F_UAC2_INT_TO_ATTR_VAL(p_ssize));
++	union usbg_f_uac2_attr_val val = {.p_ssize = p_ssize};
++	return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SSIZE, &val);
+ }
+ 
+ #ifdef __cplusplus
+diff --git a/include/usbg/usbg_internal.h b/include/usbg/usbg_internal.h
+index 1d8dfe2..d6a3e3a 100644
+--- a/include/usbg/usbg_internal.h
++++ b/include/usbg/usbg_internal.h
+@@ -322,7 +322,7 @@ void usbg_cleanup_function(struct usbg_function *f);
+ 	}
+ 
+ typedef int (*usbg_attr_get_func)(const char *, const char *, const char *, void *);
+-typedef int (*usbg_attr_set_func)(const char *, const char *, const char *, void *);
++typedef int (*usbg_attr_set_func)(const char *, const char *, const char *, const void *);
+ 
+ static inline int usbg_get_dec(const char *path, const char *name,
+ 			   const char *attr, void *val)
+@@ -331,7 +331,7 @@ static inline int usbg_get_dec(const char *path, const char *name,
+ }
+ 
+ static inline int usbg_set_dec(const char *path, const char *name,
+-			   const char *attr, void *val)
++			   const char *attr, const void *val)
+ {
+ 	return usbg_write_dec(path, name, attr, *((int *)val));
+ }
+@@ -343,7 +343,7 @@ static inline int usbg_get_bool(const char *path, const char *name,
+ }
+ 
+ static inline int usbg_set_bool(const char *path, const char *name,
+-			   const char *attr, void *val)
++			   const char *attr, const void *val)
+ {
+ 	return usbg_write_bool(path, name, attr, *((bool *)val));
+ }
+@@ -355,7 +355,7 @@ static inline int usbg_get_string(const char *path, const char *name,
+ }
+ 
+ static inline int usbg_set_string(const char *path, const char *name,
+-			      const char *attr, void *val)
++			      const char *attr, const void *val)
+ {
+ 	return usbg_write_string(path, name, attr, *(char **)val);
+ }
+@@ -364,7 +364,7 @@ int usbg_get_ether_addr(const char *path, const char *name, const char *attr,
+ 			void *val);
+ 
+ int usbg_set_ether_addr(const char *path, const char *name, const char *attr,
+-			void *val);
++			const void *val);
+ 
+ int usbg_get_dev(const char *path, const char *name, const char *attr,
+ 		 void *val);
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 634209f..ac97bc8 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -7,6 +7,6 @@ else
+ libusbgx_la_SOURCES += usbg_schemes_none.c
+ endif
+ libusbgx_la_LDFLAGS = $(LIBCONFIG_LIBS)
+-libusbgx_la_LDFLAGS += -version-info 2:0:0
++libusbgx_la_LDFLAGS += -version-info 3:0:0
+ libusbgx_la_CFLAGS = $(LIBCONFIG_CFLAGS)
+ AM_CPPFLAGS=-I$(top_srcdir)/include/ -I$(top_builddir)/include/usbg
+diff --git a/src/function/ether.c b/src/function/ether.c
+index ab91af9..d7dcd5d 100644
+--- a/src/function/ether.c
++++ b/src/function/ether.c
+@@ -124,7 +124,7 @@ static int ether_libconfig_import(struct usbg_function *f,
+ 		if (ret < 0)
+ 			break;
+ 
+-		ret = usbg_f_net_set_attr_val(nf, i, val);
++		ret = usbg_f_net_set_attr_val(nf, i, &val);
+ 		if (ret)
+ 			break;
+ 	}
+@@ -258,8 +258,8 @@ int usbg_f_net_set_attrs(usbg_f_net *nf,
+ 			continue;
+ 
+ 		ret = usbg_f_net_set_attr_val(nf, i,
+-					       *(union usbg_f_net_attr_val *)
+-					       ((char *)attrs
++					       (const union usbg_f_net_attr_val *)
++					       ((const char *)attrs
+ 						+ net_attr[i].offset));
+ 		if (ret)
+ 			break;
+@@ -277,12 +277,12 @@ int usbg_f_net_get_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+ }
+ 
+ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+-			    union usbg_f_net_attr_val val)
++			    const union usbg_f_net_attr_val *val)
+ {
+ 	return net_attr[attr].ro ?
+ 		USBG_ERROR_INVALID_PARAM :
+ 		net_attr[attr].set(nf->func.path, nf->func.name,
+-				   net_attr[attr].name, &val);
++				   net_attr[attr].name, val);
+ }
+ 
+ int usbg_f_net_get_ifname_s(usbg_f_net *nf, char *buf, int len)
+diff --git a/src/function/hid.c b/src/function/hid.c
+index 4d075cf..895c2c6 100644
+--- a/src/function/hid.c
++++ b/src/function/hid.c
+@@ -69,9 +69,9 @@ static int hid_get_report(const char *path, const char *name, const char *attr,
+ }
+ 
+ static int hid_set_report(const char *path, const char *name, const char *attr,
+-			  void *val)
++			  const void *val)
+ {
+-	struct usbg_f_hid_report_desc *report_desc = val;
++	const struct usbg_f_hid_report_desc *report_desc = val;
+ 	char *buf = report_desc->desc;
+ 	int len = report_desc->len;
+ 	int ret;
+@@ -239,7 +239,7 @@ static int hid_libconfig_import(struct usbg_function *f,
+ 		if (ret < 0)
+ 			break;
+ 
+-		ret = usbg_f_hid_set_attr_val(hf, i, val);
++		ret = usbg_f_hid_set_attr_val(hf, i, &val);
+ 		if (ret)
+ 			break;
+ 	}
+@@ -327,7 +327,7 @@ int usbg_f_hid_set_attrs(usbg_f_hid *hf,
+ 			continue;
+ 
+ 		ret = usbg_f_hid_set_attr_val(hf, i,
+-					       *(union usbg_f_hid_attr_val *)
++					       (union usbg_f_hid_attr_val *)
+ 					       ((char *)attrs
+ 						+ hid_attr[i].offset));
+ 		if (ret)
+@@ -346,11 +346,11 @@ int usbg_f_hid_get_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+ }
+ 
+ int usbg_f_hid_set_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+-			    union usbg_f_hid_attr_val val)
++			    const union usbg_f_hid_attr_val *val)
+ {
+ 	return hid_attr[attr].ro ?
+ 		USBG_ERROR_INVALID_PARAM :
+ 		hid_attr[attr].set(hf->func.path, hf->func.name,
+-				  hid_attr[attr].name, &val);
++				  hid_attr[attr].name, val);
+ }
+ 
+diff --git a/src/function/midi.c b/src/function/midi.c
+index 1cedb97..2318b49 100644
+--- a/src/function/midi.c
++++ b/src/function/midi.c
+@@ -100,7 +100,7 @@ static int midi_libconfig_import(struct usbg_function *f,
+ 		if (ret < 0)
+ 			break;
+ 
+-		ret = usbg_f_midi_set_attr_val(mf, i, val);
++		ret = usbg_f_midi_set_attr_val(mf, i, &val);
+ 		if (ret)
+ 			break;
+ 	}
+@@ -185,8 +185,8 @@ int usbg_f_midi_set_attrs(usbg_f_midi *mf,
+ 
+ 	for (i = USBG_F_MIDI_ATTR_MIN; i < USBG_F_MIDI_ATTR_MAX; ++i) {
+ 		ret = usbg_f_midi_set_attr_val(mf, i,
+-					       *(union usbg_f_midi_attr_val *)
+-					       ((char *)attrs
++					       (const union usbg_f_midi_attr_val *)
++					       ((const char *)attrs
+ 						+ midi_attr[i].offset));
+ 		if (ret)
+ 			break;
+@@ -204,10 +204,10 @@ int usbg_f_midi_get_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+ }
+ 
+ int usbg_f_midi_set_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+-			    union usbg_f_midi_attr_val val)
++			    const union usbg_f_midi_attr_val *val)
+ {
+ 	return midi_attr[attr].set(mf->func.path, mf->func.name,
+-				    midi_attr[attr].name, &val);
++				    midi_attr[attr].name, val);
+ }
+ 
+ int usbg_f_midi_get_id_s(usbg_f_midi *mf, char *buf, int len)
+diff --git a/src/function/ms.c b/src/function/ms.c
+index 519b012..5cdd814 100644
+--- a/src/function/ms.c
++++ b/src/function/ms.c
+@@ -207,7 +207,7 @@ static int ms_import_lun_attrs(struct usbg_f_ms *mf, int lun_id,
+ 		if (ret < 0)
+ 			break;
+ 
+-		ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, val);
++		ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, &val);
+ 		if (ret)
+ 			break;
+ 	}
+@@ -605,8 +605,8 @@ int usbg_f_ms_set_lun_attrs(usbg_f_ms *mf, int lun_id,
+ 
+ 	for (i = USBG_F_MS_LUN_ATTR_MIN; i < USBG_F_MS_LUN_ATTR_MAX; ++i) {
+ 		ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i,
+-					       *(union usbg_f_ms_lun_attr_val *)
+-					       ((char *)lattrs
++					       (const union usbg_f_ms_lun_attr_val *)
++					       ((const char *)lattrs
+ 						+ ms_lun_attr[i].offset));
+ 		if (ret)
+ 			break;
+@@ -633,7 +633,7 @@ int usbg_f_ms_get_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ 
+ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ 			       enum usbg_f_ms_lun_attr lattr,
+-			       union usbg_f_ms_lun_attr_val val)
++			       const union usbg_f_ms_lun_attr_val *val)
+ {
+ 	char lpath[USBG_MAX_PATH_LENGTH];
+ 	int ret;
+@@ -644,7 +644,7 @@ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ 		return USBG_ERROR_PATH_TOO_LONG;
+ 
+ 	return 	ms_lun_attr[lattr].set(lpath, "",
+-				       ms_lun_attr[lattr].name, &val);
++				       ms_lun_attr[lattr].name, val);
+ }
+ 
+ int usbg_f_ms_get_lun_file_s(usbg_f_ms *mf, int lun_id,
+diff --git a/src/function/uac2.c b/src/function/uac2.c
+index f2c1a49..38a9b0f 100644
+--- a/src/function/uac2.c
++++ b/src/function/uac2.c
+@@ -89,7 +89,7 @@ static int uac2_libconfig_import(struct usbg_function *f,
+ 		if (ret < 0)
+ 			break;
+ 
+-		ret = usbg_f_uac2_set_attr_val(af, i, val);
++		ret = usbg_f_uac2_set_attr_val(af, i, &val);
+ 		if (ret)
+ 			break;
+ 	}
+@@ -174,8 +174,8 @@ int usbg_f_uac2_set_attrs(usbg_f_uac2 *af,
+ 
+ 	for (i = USBG_F_UAC2_ATTR_MIN; i < USBG_F_UAC2_ATTR_MAX; ++i) {
+ 		ret = usbg_f_uac2_set_attr_val(af, i,
+-					       *(union usbg_f_uac2_attr_val *)
+-					       ((char *)attrs
++					       (const union usbg_f_uac2_attr_val *)
++					       ((const char *)attrs
+ 						+ uac2_attr[i].offset));
+ 		if (ret)
+ 			break;
+@@ -193,8 +193,8 @@ int usbg_f_uac2_get_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+ }
+ 
+ int usbg_f_uac2_set_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+-			     union usbg_f_uac2_attr_val val)
++			     const union usbg_f_uac2_attr_val *val)
+ {
+ 	return uac2_attr[attr].set(af->func.path, af->func.name,
+-				    uac2_attr[attr].name, &val);
++				    uac2_attr[attr].name, val);
+ }
+diff --git a/src/function/uvc.c b/src/function/uvc.c
+index f39594b..947b94e 100644
+--- a/src/function/uvc.c
++++ b/src/function/uvc.c
+@@ -303,7 +303,7 @@ int usbg_f_uvc_get_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr
+ }
+ 
+ int usbg_f_uvc_set_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr iattr,
+-			       union usbg_f_uvc_config_attr_val val)
++			       const union usbg_f_uvc_config_attr_val *val)
+ {
+ 	char ipath[USBG_MAX_PATH_LENGTH];
+ 	int nmb;
+@@ -314,7 +314,7 @@ int usbg_f_uvc_set_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr
+ 		return USBG_ERROR_PATH_TOO_LONG;
+ 
+ 	return uvc_config_attr[iattr].set(ipath, "",
+-				       uvc_config_attr[iattr].name, &val);
++				       uvc_config_attr[iattr].name, val);
+ }
+ 
+ int usbg_f_uvc_get_config_attrs(usbg_f_uvc *uvcf, struct usbg_f_uvc_config_attrs *iattrs)
+@@ -341,8 +341,8 @@ int usbg_f_uvc_set_config_attrs(usbg_f_uvc *uvcf, const struct usbg_f_uvc_config
+ 
+ 	for (i = USBG_F_UVC_FRAME_ATTR_MIN; i < USBG_F_UVC_FRAME_ATTR_MAX; ++i) {
+ 		ret = usbg_f_uvc_set_config_attr_val(uvcf, i,
+-					       *(union usbg_f_uvc_config_attr_val *)
+-					       ((char *)iattrs
++					       (const union usbg_f_uvc_config_attr_val *)
++					       ((const char *)iattrs
+ 						+ uvc_config_attr[i].offset));
+ 		if (ret)
+ 			break;
+@@ -774,7 +774,7 @@ static int uvc_import_config(struct usbg_f_uvc *uvcf, config_setting_t *root)
+ 		if (ret < 0)
+ 			break;
+ 
+-		ret = usbg_f_uvc_set_config_attr_val(uvcf, i, val);
++		ret = usbg_f_uvc_set_config_attr_val(uvcf, i, &val);
+ 		if (ret)
+ 			break;
+ 	}
+diff --git a/src/usbg_common.c b/src/usbg_common.c
+index 5f7f4e5..7234649 100644
+--- a/src/usbg_common.c
++++ b/src/usbg_common.c
+@@ -337,7 +337,7 @@ int usbg_get_ether_addr(const char *path, const char *name,
+ }
+ 
+ int usbg_set_ether_addr(const char *path, const char *name,
+-			      const char *attr, void *val)
++			      const char *attr, const void *val)
+ {
+ 	char str_addr[USBG_MAX_STR_LENGTH];
+ 
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch
new file mode 100644
index 0000000..cc122c8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch
@@ -0,0 +1,52 @@
+From 4f3f2ad08e6ca132bd1dd388e02b57223bf4219d Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Sun, 11 Dec 2022 14:11:49 +0100
+Subject: [PATCH] libusbgx: Add interface name for NCM Feature Descriptors
+
+In commit: abf422bffca4a4767e7e242c44910dbf5ef7094f
+[
+Author: Stefan Agner <stefan.agner@toradex.com>
+Date:   Tue Jan 24 14:22:25 2017 -0800
+
+    libusbgx: Add interface name for Feature Descriptors
+
+    This adds interface name required for "Feature Descriptors". If
+    specified, we can assume that a Feature Descriptor with the
+    interface name of the specified string is understood by the
+    kernel (e.g. interface.rndis).
+]
+
+it only added Feature Descriptors for RNDIS, NCM also needs that, or
+else it could not be recognized by Windows systems.
+
+Add Feature Descriptors interface name for NCM.
+
+Upstream-Status: Submitted [https://github.com/linux-usb-gadgets/libusbgx/pull/73]
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ src/function/ether.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/function/ether.c b/src/function/ether.c
+index b1fe1d2..a9eaf33 100644
+--- a/src/function/ether.c
++++ b/src/function/ether.c
+@@ -184,8 +184,14 @@ struct usbg_function_type usbg_f_type_subset = {
+ 	ETHER_FUNCTION_OPTS
+ };
+ 
++static char *ncm_os_desc_ifnames[] = {
++	"ncm",
++	NULL
++};
++
+ struct usbg_function_type usbg_f_type_ncm = {
+ 	.name = "ncm",
++	.os_desc_iname = ncm_os_desc_ifnames,
+ 	ETHER_FUNCTION_OPTS
+ };
+ 
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
index 9e22671..e80cb2c 100755
--- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
@@ -6,6 +6,10 @@
     /usr/bin/gadget-import "$i" /etc/usbgx/"$i".schema
 done
 
+for script in $(find -L /etc/usbgx.d -type f -exec test -e {} \; -print 2>/dev/null); do
+    $script
+done
+
 for i in $ENABLED_SCHEMAS; do
     configured_udc=$(eval 'echo ${UDC_FOR_SCHEMA_'"$i"'}')
     if [ -n "${configured_udc}" ] && [ -e "/sys/class/udc/${configured_udc}" ]; then
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
index 74541d3..ba92f1a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
@@ -1,9 +1,11 @@
 [Unit]
 Description=Load USB gadget schemas
+Requires=sys-kernel-config.mount
+After=sys-kernel-config.mount
 
 [Service]
-Type=oneshot
+Type=simple
 ExecStart=/usr/bin/gadget-start
 
 [Install]
-WantedBy=multi-user.target
+WantedBy=usb-gadget.target
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
index 11e8893..7998b0c 100644
--- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
@@ -6,10 +6,12 @@
 inherit autotools pkgconfig systemd update-rc.d update-alternatives
 
 PV = "0.2.0+git${SRCPV}"
-SRCREV = "45c14ef4d5d7ced0fbf984208de44ced6d5ed898"
+SRCREV = "721e3a1cbd7e2b6361bb439d3959e7403e4f0092"
 SRCBRANCH = "master"
 SRC_URI = " \
     git://github.com/libusbgx/libusbgx.git;branch=${SRCBRANCH};protocol=https \
+    file://0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch \
+    file://0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch \
     file://gadget-start \
     file://usbgx.initd \
     file://usbgx.service \
@@ -35,7 +37,9 @@
 INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '1', '0', d)}"
 
 do_install:append() {
-    install -Dm 0755 ${WORKDIR}/gadget-start ${D}/${bindir}/gadget-start
+    install -Dm 0755 ${WORKDIR}/gadget-start ${D}${bindir}/gadget-start
+    sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-start
+
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         install -Dm 0644 ${WORKDIR}/usbgx.service ${D}${systemd_system_unitdir}/usbgx.service
     fi
diff --git a/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb b/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb
rename to meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb
index 8e6d455..729857e 100644
--- a/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb
@@ -6,8 +6,7 @@
 SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \
            file://fix-pc.patch;striplevel=2 \
           "
-SRC_URI[md5sum] = "b9e2cee932da987212f2c74b767b4d8b"
-SRC_URI[sha256sum] = "2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d"
+SRC_URI[sha256sum] = "696113659e426540625274a8b251052cc04306d8ee5c42a0c7639f39ca90c9d6"
 
 S = "${WORKDIR}/${BPN}"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20230501.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb
rename to meta-openembedded/meta-oe/recipes-support/mg/mg_20230501.bb
index 8d61b7f..ee00003 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg_20230501.bb
@@ -1,11 +1,11 @@
 SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
 HOMEPAGE = "http://homepage.boetes.org/software/mg/"
 LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://version.c;md5=36d8ace99e6cd003132975a9266d3f77"
+LIC_FILES_CHKSUM = "file://version.c;md5=a8e0b53d89d277bf3b40878ac568bedd"
 DEPENDS = "ncurses libbsd"
 SECTION = "console/editors"
 
-SRCREV = "4e6d2de9582cfe7f0977be4ce9532e3d33c5be15"
+SRCREV = "f21c2ba36772ffa68d9cfa55305e427d37903b4a"
 SRC_URI = "git://github.com/hboetes/mg;branch=master;protocol=https \
            file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \
            file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
index 19bdce4..099be58 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
@@ -10,7 +10,7 @@
            "
 SRC_URI[sha256sum] = "b6d893dc7dcd4138b9e9df59a13c59695e50e80dc5c2cacee0674670693951a1"
 
-DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
+DEPENDS = "fontconfig zlib cairo lcms glib-2.0 glib-2.0-native"
 
 inherit cmake pkgconfig gobject-introspection
 
diff --git a/meta-openembedded/meta-oe/recipes-support/psutils/psutils_2.10.bb b/meta-openembedded/meta-oe/recipes-support/psutils/psutils_2.10.bb
new file mode 100644
index 0000000..1f1894a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/psutils/psutils_2.10.bb
@@ -0,0 +1,24 @@
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=87212b5f1ae096371049a12f80034f32"
+
+SRC_URI = "https://github.com/rrthomas/psutils/releases/download/v${PV}/psutils-${PV}.tar.gz"
+SRC_URI[sha256sum] = "6f8339fd5322df5c782bfb355d9f89e513353220fca0700a5a28775404d7e98b"
+
+inherit perlnative autotools
+
+export PERL="/usr/bin/env perl"
+
+DEPENDS += "libpaper-native"
+
+do_install:append() {
+    sed -i -e 's|${STAGING_BINDIR_NATIVE}/perl-native/|/usr/bin/env |g' ${D}${bindir}/pstops
+    for f in psbook psresize psnup psselect; do
+        grep -v '${B}' ${D}${bindir}/$f > ${D}${bindir}/$f.temp
+        install -m 0755 ${D}${bindir}/$f.temp ${D}${bindir}/$f
+        rm -f ${D}${bindir}/$f.temp
+    done
+}
+
+BBCLASSEXTEND += "native"
+# /usr/bin/pstops contained in package psutils requires perl
+RDEPENDS:${PN} += "perl"
diff --git a/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind/0001-configure.ac-fix-C-11-support-check.patch b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind/0001-configure.ac-fix-C-11-support-check.patch
new file mode 100644
index 0000000..815939b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind/0001-configure.ac-fix-C-11-support-check.patch
@@ -0,0 +1,37 @@
+From 9070bc210b2ecff641b73e4ade30040c1461969c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 3 May 2023 18:31:57 +0200
+Subject: [PATCH] configure.ac: fix C++11 support check
+
+* with -Werror=return-type in CFLAGS this test fails with:
+
+  configure:4290: checking for C++11 support or better
+  configure:4303: x86_64-webos-linux-g++  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot -c  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/rdfind-1.5.0=/usr/src/debug/rdfind/1.5.0-r0  -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/rdfind-1.5.0=/usr/src/debug/rdfind/1.5.0-r0  -fmacro-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/build=/usr/src/debug/rdfind/1.5.0-r0  -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/build=/usr/src/debug/rdfind/1.5.0-r0  -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot=  -fmacro-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot=  -fdebug-prefix-map=/OE/lge/build/webos/mickledore/BUILD/work/qemux86_64-webos-linux/rdfind/1.5.0-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden   conftest.cpp >&5
+  conftest.cpp: In function 'int f()':
+  conftest.cpp:22:20: error: no return statement in function returning non-void [-Werror=return-type]
+     22 | int f() { auto a=1;}                                                                                                                                                                                                                        |                    ^
+  cc1plus: some warnings being treated as errors
+  ...
+  configure:4308: error: no c++11 support, please set CXXFLAGS properly
+
+* fix the test to pass
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Submitted [https://github.com/pauldreik/rdfind/pull/132]
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index be1b2fd..9c3513c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -64,7 +64,7 @@ AC_SYS_LARGEFILE
+ 
+ dnl make sure we have c++11 or better,
+ AC_MSG_CHECKING([for C++11 support or better])
+-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int f() { auto a=1;}])],
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int f() { auto a=1;return a;}])],
+                   [AC_MSG_RESULT([yes])],
+ 		  [AC_MSG_ERROR([no c++11 support, please set CXXFLAGS properly])])
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb
index 8f2c5e8..dab66c3 100644
--- a/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/rdfind/rdfind_1.5.0.bb
@@ -8,6 +8,7 @@
 SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \
            file://0001-configure-Fix-check-for-AC_CHECK_LIB.patch \
            file://0001-include-standard-headers-limits-and-cstdint.patch \
+           file://0001-configure.ac-fix-C-11-support-check.patch \
 "
 
 SRC_URI[sha256sum] = "4150ed1256f7b12b928c65113c485761552b9496c433778aac3f9afc3e767080"
diff --git a/meta-openembedded/meta-oe/recipes-support/serial/serial/Findcatkin.cmake b/meta-openembedded/meta-oe/recipes-support/serial/serial/Findcatkin.cmake
new file mode 100644
index 0000000..2f93564
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/serial/serial/Findcatkin.cmake
@@ -0,0 +1,5 @@
+# Work-around for https://github.com/wjwwood/serial/issues/135
+
+function(catkin_package)
+endfunction()
+
diff --git a/meta-openembedded/meta-oe/recipes-support/serial/serial_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/serial/serial_1.2.1.bb
new file mode 100644
index 0000000..8c1fb06
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/serial/serial_1.2.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Cross-platform library for interfacing with rs-232 serial like ports"
+HOMEPAGE = "http://wjwwood.io/serial/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;beginline=53;endline=62;md5=049c68d559533f90250404746e6a1045"
+
+SRC_URI = " \
+    git://github.com/wjwwood/${BPN}.git;protocol=https;branch=main \
+    file://Findcatkin.cmake \
+"
+SRCREV = "10ac4e1c25c2cda1dc0a32a8e12b87fd89f3bb4f"
+SRC_URI[sha256sum] = "c8cd235dda2ef7d977ba06dfcb35c35e42f45cfd9149ba3ad257756123d8ff96"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# Work-around for https://github.com/wjwwood/serial/issues/135
+EXTRA_OECMAKE = " \
+    -DCMAKE_MODULE_PATH=${WORKDIR} \
+    -DCATKIN_PACKAGE_LIB_DESTINATION=${libdir} \
+    -DCATKIN_PACKAGE_BIN_DESTINATION=${bindir} \
+    -DCATKIN_GLOBAL_INCLUDE_DESTINATION=${includedir} \
+    -DCATKIN_ENABLE_TESTING=OFF \
+"
+
+# Do not depend on the main package since it will be empty
+RDEPENDS:${PN}-dev = ""
+
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.56.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.57.bb
similarity index 93%
rename from meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.56.bb
rename to meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.57.bb
index 341d348..dea5f7a 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.56.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.57.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "http://search.cpan.org/CPAN/authors/id/L/LE/LEEJO/CGI-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "2d36d930b89ecdfbcc7d6d4740821bd466a0218abf1bd413568640b2f43799b7"
+SRC_URI[sha256sum] = "4e6ca634fe0d5621bb55b0fce5c1d08e6f643c65eecdfffbb4b344fd51b963ac"
 
 S = "${WORKDIR}/CGI-${PV}"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
index 352517c..79934e2 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.19.bb
@@ -21,8 +21,8 @@
 
 S = "${WORKDIR}/Encode-${PV}"
 
+#EXTRA_CPANFLAGS:append = "PERL=../recipe-sysroot-native/usr/bin/perl-native/perl"
 inherit cpan ptest-perl
-
 do_install:prepend() {
     # Requires "-T" (taint) option on command line
     rm -rf ${B}/t/taint.t
@@ -32,6 +32,10 @@
     rm -rf ${B}/t/use-Encode-Alias.t
 }
 
+do_install:append() {
+    sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native||g" ${S}/*/*.exh ${S}/*.exh
+}
+
 do_install_ptest() {
     mkdir ${D}${PTEST_PATH}/bin
     cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin
diff --git a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.043.bb b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.045.bb
similarity index 95%
rename from meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.043.bb
rename to meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.045.bb
index dd60d01..17ee50d 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.043.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.045.bb
@@ -15,7 +15,7 @@
 DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native"
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz"
-SRC_URI[sha256sum] = "68f4e4620e8a75124ce2dadee48d2ba5160b9167012924588d6fb242ff2d7206"
+SRC_URI[sha256sum] = "d20692eee246d0b329b7f7659f36286b14ae0696fe91078a64b7078f8876d300"
 
 S = "${WORKDIR}/Module-Build-Tiny-${PV}"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.37.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.38.bb
similarity index 94%
rename from meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.37.bb
rename to meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.38.bb
index e20e84d..fcba788 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.37.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.38.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] = "e672031158942a7016c0480ab3c1fd0d7f81ea5dd650d1ecca7116d5fd348565"
+SRC_URI[sha256sum] = "d8a34341649882d6e2bdf95d046e74c83a150b5e5d818941c1e341f48fba88e0"
 
 UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
index ef5d20b..acb853c 100644
--- a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -23,6 +23,7 @@
     python3-ipy \
     python3-iso3166 \
     python3-parse-type \
+    python3-platformdirs \
     python3-polyline \
     python3-precise-runner \
     python3-prettytable \
@@ -30,6 +31,7 @@
     python3-pyasn1-modules \
     python3-pyroute2 \
     python3-pyserial \
+    python3-pytest-mock \
     python3-pytoml \
     python3-requests-file \
     python3-requests-toolbelt \
@@ -39,6 +41,7 @@
     python3-smpplib \
     python3-soupsieve \
     python3-sqlparse \
+    python3-tomlkit \
     python3-u-msgpack-python \
     python3-unidiff \
     python3-uritemplate \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.10.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.10.4.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.10.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.10.4.bb
index 6bdc9cf..071f40b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.10.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.10.4.bb
@@ -4,7 +4,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "32a69b13a613aeb7e8093f242da60eff9daed13c0df02fff279c1b06c32965d2"
+SRC_URI[sha256sum] = "295b54bbb92c4008ab6a7dcd1e227e668416d6f84b98b3c4446a2bc6214a556b"
 
 PYPI_PACKAGE = "alembic"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.0.8.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.0.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.0.8.bb
index 1e884f4..19b5131 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.0.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_3.0.8.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "fe3ce77125f434a0dd1bffe5f4643e64126d5731ce8d173d36f62fa43d6eb6f7"
+SRC_URI[sha256sum] = "b9ca96448e14fa459d7450a4ab5a22bbf9cee4ba7adddf03e65c398b5daeea28"
 
 PYPI_PACKAGE = "argcomplete"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.15.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.15.4.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.15.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.15.4.bb
index bcde069..6053728 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.15.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.15.4.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
 
-SRC_URI[sha256sum] = "44224ad27c54d770233751315fa7f74c46fa3ee0fab7beef1065f99f09897efe"
+SRC_URI[sha256sum] = "c81e1c7fbac615037744d067a9bb5f9aeb655edf59b63ee8b59585475d6f80d8"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.0.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.0.bb
index 3d90c7f..7562b97 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-3.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
-SRC_URI[sha256sum] = "3f2b6b0dc5f459591d171ee0c0136dce79acedc2740ce695024aa3444e911bb9"
+SRC_URI[sha256sum] = "0fbda7217523b802f36a8d5a3cd26a35baad2795965f7f09bfa3dd1dfb6fbaf0"
 
 PYPI_PACKAGE="python-can"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.26.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.27.0.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.26.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.27.0.bb
index 4c5c781..679b51f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.26.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cassandra-driver_3.27.0.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
 SRCNAME = "cassandra-driver"
 
-SRC_URI[sha256sum] = "425338478c14324704f6973451f3c54f7ffa65b49be045ad1de19628ab6e9492"
+SRC_URI[sha256sum] = "3f43b6023d3d2b34ceaea0a33abf9d9602c41cf316f283f651d835d0c4924124"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.5.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.5.bb
index 057c119..fa6c520 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.5.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "d298c2815fa4891edd9abe5ad6e6cb4207104c7dd9fd13aea3fdebf6f9b91259"
+SRC_URI[sha256sum] = "f99ef080288f09ffc687423b8d60978cf3a465d3f404a18d1a05474bd8575a47"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.2.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.2.bb
index c5f96f2..4a49e0c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_4.1.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf"
 
-SRC_URI[sha256sum] = "cd2bff3de8cddf8a480f728e648c6cae47d8ab66696c7d830a7a84536d8cae58"
+SRC_URI[sha256sum] = "0bd0ef5bad559b677ba499e9c7342ca1f2ae2bace90808ee52528ec8d9f6e12b"
 
 PYPI_PACKAGE = "elementpath"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.4.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.4.bb
index 0327d0d..4dae0d1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.3.4.bb
@@ -9,7 +9,7 @@
 
 PYPI_PACKAGE = "Flask-SocketIO"
 
-SRC_URI[sha256sum] = "8f47762dd1b76916cbc01f4f8661dd4670dbeb418ca0e1aaedab909b85efee5d"
+SRC_URI[sha256sum] = "1cbd379c9bf68ac37bcc4750d01708922fa6365d13a5447d3f8893792879410c"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-flask \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.4.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.4.bb
index 7fd4945..9c750ea 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gast_0.5.4.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3ad9b6802e713fc5e307e1230f1ea90"
 
-SRC_URI[sha256sum] = "cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea"
+SRC_URI[sha256sum] = "9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.17.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.18.0.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.17.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.18.0.bb
index a767710..5b4f13a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.17.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.18.0.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "ce311e2bc58b130fddf316df57c9b3943c2a7b4f6ec31de9663a9333e4064efc"
+SRC_URI[sha256sum] = "c66b488a8b005b23ccb97b1198b6cece516c91869091ac5b7c267422db2733c7"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.27.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.28.1.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.27.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.28.1.bb
index be0de47..a747609 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.27.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.28.1.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
 
-SRC_URI[sha256sum] = "ee269c957785ef0373cc7a7323185956d83ec05e6cdf20b42a03ba7b74ac58c6"
+SRC_URI[sha256sum] = "5db5087be5c814ecf7e2c7d30a1a15c97eca97d8c26f31ddc54d767d4a43bce8"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.61.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.61.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
index 6e924ac..df6d14e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.61.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
@@ -6,7 +6,7 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-SRC_URI[sha256sum] = "2c09f561463f18b038373b1fa8a4f68143dd3bfb59fdc8edbbba00548fc70db4"
+SRC_URI[sha256sum] = "df8d5daedaa5c0d4e72dace925733376ba705d9330f63934f122eacf4746f360"
 
 inherit pypi setuptools3 python3native
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb
new file mode 100644
index 0000000..c728cd0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "python-libevdev is a Python wrapper around the libevdev C library."
+HOMEPAGE = "https://gitlab.freedesktop.org/libevdev/python-libevdev"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI[md5sum] = "34b48098c1fba26de79a0d67a17a588a"
+SRC_URI[sha256sum] = "e9ca006a4df2488a60bd9a740011ee948d81904be2364f017e560169508f560f"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "libevdev"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch
new file mode 100644
index 0000000..276fb50
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/no-scikit-build.patch
@@ -0,0 +1,31 @@
+We don't need to build ninja so there's no need to use scikit-build,
+as we just need the python module with it's one ninja() function.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/pyproject.toml b/pyproject.toml
+index b895c20..577b642 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,7 +1,6 @@
+ [build-system]
+ requires = [
+     "setuptools>=42",
+-    "scikit-build>=0.12",
+ ]
+ build-backend = "setuptools.build_meta"
+ 
+diff --git a/setup.py b/setup.py
+index dbe1fbc..3259754 100755
+--- a/setup.py
++++ b/setup.py
+@@ -5,7 +5,7 @@ import os
+ import sys
+ from distutils.text_file import TextFile
+ 
+-from skbuild import setup
++from setuptools import setup
+ 
+ # Add current folder to path
+ # This is required to import versioneer in an isolated pip build
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch
index 26bd037..0068efc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja/run-ninja-from-path.patch
@@ -1,7 +1,40 @@
---- ninja-1.11.1/src/ninja/__init__.py.old	2022-11-05 09:49:23.000000000 +0100
-+++ ninja-1.11.1/src/ninja/__init__.py	2023-03-10 09:45:13.452082888 +0100
-@@ -44,7 +44,7 @@
+There's no need to hunt around source or install trees when we're just running ninja
+from PATH.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/src/ninja/__init__.py b/src/ninja/__init__.py
+index f83767e..31bb926 100644
+--- a/src/ninja/__init__.py
++++ b/src/ninja/__init__.py
+@@ -19,32 +19,9 @@ except ImportError:
+             os.path.dirname(__file__), '../../Ninja-src/misc')))
+     from ninja_syntax import Writer, escape, expand  # noqa: F401
  
+-DATA = os.path.join(os.path.dirname(__file__), 'data')
+-
+-# Support running tests from the source tree
+-if not os.path.exists(DATA):
+-    from skbuild.constants import CMAKE_INSTALL_DIR as SKBUILD_CMAKE_INSTALL_DIR
+-    from skbuild.constants import set_skbuild_plat_name
+-
+-    if platform.system().lower() == "darwin":
+-        # Since building the project specifying --plat-name or CMAKE_OSX_* variables
+-        # leads to different SKBUILD_DIR, the code below attempt to guess the most
+-        # likely plat-name.
+-        _skbuild_dirs = os.listdir(os.path.join(os.path.dirname(__file__), '..', '..', '_skbuild'))
+-        if _skbuild_dirs:
+-            _likely_plat_name = '-'.join(_skbuild_dirs[0].split('-')[:3])
+-            set_skbuild_plat_name(_likely_plat_name)
+-
+-    _data = os.path.abspath(os.path.join(
+-        os.path.dirname(__file__), '..', '..', SKBUILD_CMAKE_INSTALL_DIR(), 'src/ninja/data'))
+-    if os.path.exists(_data):
+-        DATA = _data
+-
+-BIN_DIR = os.path.join(DATA, 'bin')
+-
  
  def _program(name, args):
 -    return subprocess.call([os.path.join(BIN_DIR, name)] + args, close_fds=False)
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb
index 635fd07..47a70aa 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ninja_1.11.1.bb
@@ -2,33 +2,19 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5"
 
-DEPENDS = "ninja-native cmake-native python3-scikit-build-native"
-
 PYPI_PACKAGE = "ninja"
 PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
 
 inherit pypi python_setuptools_build_meta
 SRC_URI[sha256sum] = "c833a47d39b2d1eee3f9ca886fa1581efd5be6068b82734ac229961ee8748f90"
 
-SRC_URI += " \
-	file://CMakeLists.txt \
-	file://run-ninja-from-path.patch \
-"
-
-addtask do_patchbuild after do_patch before do_configure
-
-do_patchbuild () {
-	rm -f ${S}/CMakeLists.txt
-	cp ${WORKDIR}/CMakeLists.txt ${S}/
-}
+SRC_URI += "file://no-scikit-build.patch \
+            file://run-ninja-from-path.patch"
 
 do_install:append () {
 	rm -rf ${D}${bindir}
 }
 
-RDEPENDS:${PN} = " \
-	ninja \
-	python3-scikit-build \
-"
+RDEPENDS:${PN} = "ninja"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_2.0.1.bb
similarity index 76%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_2.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_2.0.1.bb
index a5bc40d..6185b7b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_2.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_2.0.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
 
-SRC_URI[sha256sum] = "33bf7b0ea50eee6bad16dc7400fd89dd2d5379d9ba9cf17634bf2a59ae36ff0a"
+SRC_URI[sha256sum] = "960cb699f1209da80ac39e3ab50aa7342fe8ca9f70606c23447a510550435e50"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pefile_2023.2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pefile_2023.2.7.bb
new file mode 100644
index 0000000..580b174
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pefile_2023.2.7.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python PE parsing module"
+DESCRIPTION = "A multi-platform Python module to parse and work with Portable Executable (PE) files."
+HOMEPAGE = "https://github.com/erocarrera/pefile"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38066667888b01d8118ff9cc23da1873"
+
+inherit setuptools3 pypi ptest
+SRC_URI[sha256sum] = "82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc"
+
+PIP_INSTALL_PACKAGE = "pefile"
+PIP_INSTALL_DIST_PATH = "${S}/dist"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.2.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.2.bb
index 075f3bb..d5100dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.2.bb
@@ -8,7 +8,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=678ec81495ba50edf81e84e4f1aa69f3"
 
-SRC_URI[sha256sum] = "beb19ff6dd1547f99a29acc2c6987ebb2ba7c44bf44a3f8e305877c5ef7d2fdc"
+SRC_URI[sha256sum] = "b2a327ddddf8570b4965b3576ac77091b850262d34ce8c1d8cb4e4146aa4145f"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.5.0.bb
index 76b3a82..7ec43c6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.5.0.bb
@@ -30,6 +30,7 @@
     ${PYTHON_PN}-misc \
     ${PYTHON_PN}-logging \
     ${PYTHON_PN}-numbers \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcb', '', d)} \
 "
 
 RDEPENDS:${PN}-ptest += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.20.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.21.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.20.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.21.bb
index 625f50f..13944ec 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.20.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.21.bb
@@ -10,7 +10,7 @@
 
 inherit pypi ptest python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067"
+SRC_URI[sha256sum] = "3e98bdf01f4dcf840cc0207c0b6f7510d4e0c6288efc1bf470626e875c831172"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.5.1.bb
new file mode 100644
index 0000000..4fefe56
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.5.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE = "https://github.com/platformdirs/platformdirs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4f5a41454746a9ed111e3d8723d17a"
+
+SRC_URI = " \
+    git://github.com/platformdirs/platformdirs.git;branch=main;protocol=https \
+    file://run-ptest \
+"
+
+SRCREV ?= "b8c42ddca4def1fba38b9815a7d94ec2ac630b29"
+SRC_URI[sha256sum] = "7954a68d0ba23558d753f73437c55f89027cf8f5108c19844d4b82e5af396335"
+
+inherit python_setuptools_build_meta ptest
+
+DEPENDS += " \
+    python3-hatch-vcs-native \
+    python3-setuptools-scm-native \
+    python3-toml-native \
+"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN}-ptest += " \
+    ${PYTHON_PN}-appdirs \
+    ${PYTHON_PN}-pytest \
+    ${PYTHON_PN}-pytest-mock \
+"
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/Tests
+        cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.22.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.0.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.22.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.0.bb
index 5b2ff30..52f34cf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.22.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.0.bb
@@ -7,7 +7,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "23452f2fdea754a8251d0fc88c0317735ae47217e0d27bf330a30eec2848811a"
+SRC_URI[sha256sum] = "5f1eba1da2a2f3f7df469fccddef3cc060b8a16cfe3cc65961ad36b4dbcf59c5"
 
 # http://errors.yoctoproject.org/Errors/Details/184715/
 # Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_22.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_23.5.1.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_22.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_23.5.1.bb
index c13c677..ca4cdce 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_22.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_23.5.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d"
 
-SRC_URI[sha256sum] = "cc174e1ceebd4e6222c5b78f4f415f12e80753c9ab75ab354159b4cb5950b084"
+SRC_URI[sha256sum] = "8efc260ed7212ee4f9e50a8b856c84911265f4eac42cc6c02c7b37c851a2834b"
 
 RDEPENDS:${PN} += " \
 	libpulse \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.7.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.7.0.bb
index d6ca242..e1e3358 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.7.0.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e4b56d2c9973d8cf54655555be06e551"
 
-SRC_URI[sha256sum] = "69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd"
+SRC_URI[sha256sum] = "bd6ca4a3c4285c1a2d4349e5a035fdf8fb94e04ccd0fcbe6ba289dae9cc3e074"
 
 PYPI_PACKAGE = "PyJWT"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pylint-remove-plugin-pickle-test.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pylint-remove-plugin-pickle-test.patch
new file mode 100644
index 0000000..a7637a5
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pylint-remove-plugin-pickle-test.patch
@@ -0,0 +1,53 @@
+From 341e19dd69d847f84859e85cabff5846e7da24c4 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Mon, 15 May 2023 09:26:04 -0400
+Subject: [PATCH] pylint: remove plugin pickle test
+
+Upstream-Status: Inappropriate (oe-specific)
+
+Upstream uses an assertion in the removed test to state that the test
+needs changing if the plugin loading succeeds. The same failure wasn't
+seen when running the tests on the host with pytest, so disable it by
+removing the test from the suite.
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ tests/test_check_parallel.py | 22 ----------------------
+ 1 file changed, 22 deletions(-)
+
+diff --git a/tests/test_check_parallel.py b/tests/test_check_parallel.py
+index d56502eaf..34fec140f 100644
+--- a/tests/test_check_parallel.py
++++ b/tests/test_check_parallel.py
+@@ -257,28 +257,6 @@ class TestCheckParallelFramework:
+         assert stats.statement == 18
+         assert stats.warning == 0
+ 
+-    def test_linter_with_unpickleable_plugins_is_pickleable(self) -> None:
+-        """The linter needs to be pickle-able in order to be passed between workers"""
+-        linter = PyLinter(reporter=Reporter())
+-        # We load an extension that we know is not pickle-safe
+-        linter.load_plugin_modules(["pylint.extensions.overlapping_exceptions"])
+-        try:
+-            dill.dumps(linter)
+-            raise AssertionError(
+-                "Plugins loaded were pickle-safe! This test needs altering"
+-            )
+-        except (KeyError, TypeError, PickleError, NotImplementedError):
+-            pass
+-
+-        # And expect this call to make it pickle-able
+-        linter.load_plugin_configuration()
+-        try:
+-            dill.dumps(linter)
+-        except KeyError as exc:
+-            raise AssertionError(
+-                "Cannot pickle linter when using non-pickleable plugin"
+-            ) from exc
+-
+     def test_worker_check_sequential_checker(self) -> None:
+         """Same as test_worker_check_single_file_no_checkers with SequentialTestChecker."""
+         linter = PyLinter(reporter=Reporter())
+-- 
+2.40.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pyproject.toml-Remove-hard-coded-dependencies.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pyproject.toml-Remove-hard-coded-dependencies.patch
new file mode 100644
index 0000000..267e4c3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pyproject.toml-Remove-hard-coded-dependencies.patch
@@ -0,0 +1,24 @@
+From c5c415a240189ac6730ba95de0bb5883dfb53609 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Mon, 1 May 2023 11:32:24 -0400
+Subject: [PATCH] pyproject.toml: Remove hard-coded dependencies
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index bd542646b..2c0ed9485 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools~=62.6", "wheel~=0.37.1"]
++requires = ["setuptools", "wheel"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
+-- 
+2.40.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
new file mode 100644
index 0000000..7a5ceed
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --benchmark-disable -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.14.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.14.5.bb
deleted file mode 100644
index 738b925..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.14.5.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY="Pylint is a Python source code analyzer"
-HOMEPAGE= "http://www.pylint.org/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
-
-SRC_URI[sha256sum] = "487ce2192eee48211269a0e976421f334cf94de1806ca9d0a99449adcdf0285e"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "${PYTHON_PN}-astroid \
-                   ${PYTHON_PN}-isort \
-                   ${PYTHON_PN}-numbers \
-                   ${PYTHON_PN}-shell \
-                   ${PYTHON_PN}-json \
-                   ${PYTHON_PN}-pkgutil \
-                   ${PYTHON_PN}-difflib \
-                   ${PYTHON_PN}-netserver \
-                  "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.17.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.17.4.bb
new file mode 100644
index 0000000..96fce2e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.17.4.bb
@@ -0,0 +1,51 @@
+SUMMARY="Pylint is a Python source code analyzer"
+HOMEPAGE= "http://www.pylint.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
+
+SRC_URI += " \
+        git://github.com/pylint-dev/pylint;branch=main;protocol=https \
+        file://run-ptest \
+        file://0001-pyproject.toml-Remove-hard-coded-dependencies.patch \
+        file://0001-pylint-remove-plugin-pickle-test.patch \
+        "
+SRCREV ?= "fc34a4b6abe56f3ac07ca15d846b1c1955545f85"
+
+inherit python_setuptools_build_meta ptest
+
+RDEPENDS:${PN} += "${PYTHON_PN}-astroid \
+                   ${PYTHON_PN}-dill \
+                   ${PYTHON_PN}-isort \
+                   ${PYTHON_PN}-mccabe \
+                   ${PYTHON_PN}-numbers \
+                   ${PYTHON_PN}-platformdirs \
+                   ${PYTHON_PN}-shell \
+                   ${PYTHON_PN}-json \
+                   ${PYTHON_PN}-pkgutil \
+                   ${PYTHON_PN}-difflib \
+                   ${PYTHON_PN}-netserver \
+                   ${PYTHON_PN}-tomlkit \
+                  "
+
+RDEPENDS:${PN}-ptest += " \
+        ${PYTHON_PN}-core \
+        ${PYTHON_PN}-git \
+        ${PYTHON_PN}-py \
+        ${PYTHON_PN}-pytest \
+        ${PYTHON_PN}-pytest-benchmark \
+        ${PYTHON_PN}-pytest-runner \
+        ${PYTHON_PN}-pytest-timeout \
+        ${PYTHON_PN}-pytest-xdist \
+        ${PYTHON_PN}-requests \
+        ${PYTHON_PN}-statistics \
+        ${PYTHON_PN}-tomllib \
+        ${PYTHON_PN}-typing-extensions \
+        "
+
+S = "${WORKDIR}/git"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/ascript
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.170.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.171.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.170.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.171.bb
index 5fc33d6..d2d9ed1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.170.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.171.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
 SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "75435df663376d26bf8044b76906ecadba112000"
+SRCREV = "5c56fccfafa9ef335b9300499d12633368889f55"
 S = "${WORKDIR}/git"
 
 inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.10.0.bb
new file mode 100644
index 0000000..c4e672f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-mock_3.10.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Thin-wrapper around the mock package for easier use with pytest"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-mock/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+    file://LICENSE;md5=b2ddb1e69238461b7e4ef2a84d874109 \
+"
+
+SRC_URI = " \
+    git://github.com/pytest-dev/pytest-mock;branch=main;protocol=https \
+    file://run-ptest \
+"
+
+SRCREV ?= "6c03dfd4240de4a178bab67c0a32fba28d8bcf91"
+
+SRC_URI[sha256sum] = "fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"
+
+inherit setuptools3 ptest
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+S = "${WORKDIR}/git"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.3.0.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.3.0.bb
index 02e5400..aa36066 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-xdist_3.3.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=772fcdaca14b378878d05c7d857e6c3e"
 
-SRC_URI[sha256sum] = "1849bd98d8b242b948e472db7478e090bf3361912a8fed87992ed94085f54727"
+SRC_URI[sha256sum] = "d42c9efb388da35480878ef4b2993704c6cea800c8bafbe85a8cdc461baf0748"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb
index 8415464..98817f9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyudev_0.24.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
 
-SRC_URI[sha256sum] = "b2a3afe1c99ea751f8296652557eac559874da2a1b1ec0625178706ec5a345f3"
+SRC_URI[sha256sum] = "75e54d37218f5ac45b0da1f0fd9cc5e526a3cac3ef1cfad410cf7ab338b01471"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzstd_0.15.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzstd_0.15.7.bb
index e7a6c21..f132d91 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzstd_0.15.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzstd_0.15.7.bb
@@ -11,3 +11,8 @@
 SRC_URI[sha256sum] = "55e503f28f5a9d225ce9d0639e3f5b1801bacace5aea926ec2998e73c5150fe7"
 
 inherit pypi setuptools3
+
+# clang-16 with -flto segfaults on arm, therefore ignore flto for now
+do_configure:append:arm:toolchain-clang() {
+    sed -i -e "s|'-flto'|''|" ${S}/setup.py
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.5.5.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.5.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.5.5.bb
index 1a439cd..40210b5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.5.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.5.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1db1f331d351900707368237cc4880cf"
 
-SRC_URI[sha256sum] = "73ec35da4da267d6847e47f68730fdd5f62e2ca69e3ef5885c6a78a9374c3893"
+SRC_URI[sha256sum] = "dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.3.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.5.5.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.3.23.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.5.5.bb
index 176f79e..ddd8402 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.3.23.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.5.5.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "dc80df325b43ffea5cdea2e3eaa97a44f3dd298262b1c7fe9dbb2a9522b956a7"
+SRC_URI[sha256sum] = "7d76a8a1fc9da08296462a18f16620ba73bcbf5909e42383b253ef34d9d5141e"
 
 RDEPENDS:${PN} += " \
 	python3-stringold \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_0.10.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_0.10.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
index b1399c3..6e5491e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_0.10.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-toolbelt_1.0.0.bb
@@ -8,7 +8,7 @@
 SRC_URI = "file://run-ptest \
           "
 
-SRC_URI[sha256sum] = "62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"
+SRC_URI[sha256sum] = "7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.20.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.22.2.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.20.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.22.2.bb
index 174545d..359090c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.20.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.22.2.bb
@@ -15,7 +15,7 @@
 	${PYTHON_PN}-datetime \
 "
 
-SRC_URI[sha256sum] = "a3410381ae769a436c0852cce140a5e5e49f566a07fb7c2ab445af1302f6ad89"
+SRC_URI[sha256sum] = "5932c092c6e6035584eb74d77064e4bce3b7935dfc4a331349719a40db265840"
 
 PYPI_PACKAGE = "sentry-sdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb
index 5c635d6..25f8f6a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-smpplib_2.2.3.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://README.md;md5=8b4e2ac8cf248f7b991784f88b630852"
 
 PYPI_PACKAGE = "smpplib"
-SRC_URI[sha256sum] = "f2191e73b24dba94f2889bf2ea1a60aeef6bd43afd3ddbbc632d7e41d9f30e47"
+SRC_URI[sha256sum] = "5215a95b0538d26f189600e0982b31da8281f7453cd6e2862c5b21e3e1002331"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.13.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.9.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.13.bb
index 743d76a..3963f06 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.13.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d"
 
-SRC_URI[sha256sum] = "95719215e3ec7337b9f57c3c2eda0e6a7619be194a5166c07c1e599f6afc20fa"
+SRC_URI[sha256sum] = "8d97b37b4e60073c38bcf94e289e3be09ef9be870de88d163f16e08f2b9ded1a"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.11.1.bb
deleted file mode 100644
index 4e32936..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.11.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Computer algebra system (CAS) in Python"
-HOMEPAGE = "https://pypi.org/project/sympy/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9f6c7fdc2d69e31ad7abaea029c8ac16"
-
-SRC_URI[sha256sum] = "e32380dce63cb7c0108ed525570092fd45168bdae2faa17e528221ef72e88658"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-mpmath"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.12.bb
new file mode 100644
index 0000000..bfb0985
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sympy_1.12.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Computer algebra system (CAS) in Python"
+HOMEPAGE = "https://pypi.org/project/sympy/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ea48085d7dff75b49271b25447e8cdca"
+
+SRC_URI[sha256sum] = "ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "python3-mpmath"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.3.0.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.2.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.3.0.bb
index 05c39c2..bbaefc7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-termcolor_2.3.0.bb
@@ -6,7 +6,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "dfc8ac3f350788f23b2947b3e6cfa5a53b630b612e6cd8965a015a776020b99a"
+SRC_URI[sha256sum] = "b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"
 
 DEPENDS += " \
 	${PYTHON_PN}-toml-native \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.11.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.11.8.bb
new file mode 100644
index 0000000..71a43c4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tomlkit_0.11.8.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Style preserving TOML library"
+HOMEPAGE = "https://pypi.org/project/tomlkit/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=31aac0dbc1babd278d5386dadb7f8e82"
+
+SRC_URI[sha256sum] = "9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"
+
+inherit pypi python_poetry_core ptest
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+        ${PYTHON_PN}-poetry-core \
+        ${PYTHON_PN}-pytest \
+        ${PYTHON_PN}-pyyaml \
+"
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/tests
+        cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.14.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.13.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.14.0.bb
index e780a75..68908bb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.13.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twitter_4.14.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=9;endline=9;md5=8227180126797a0148f94f483f3e1489"
 
-SRC_URI[sha256sum] = "097425335f9f6674826ba7e72b2247bbca39c9ca0a0bd82f30a38a5bef8c6c88"
+SRC_URI[sha256sum] = "1f9f1707d6972de6cff6c5fd90dfe6a449cd2e0d70bd40043ffab01e07a06c8c"
 
 PYPI_PACKAGE = "tweepy"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_3.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.0.0.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_3.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.0.0.bb
index 1661e71..54ba612 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_3.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.0.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53"
 
-SRC_URI[sha256sum] = "fee5297fdb28f8e9efcb8142b5ee219e02375509cd77ea9d270b5af826358d5a"
+SRC_URI[sha256sum] = "194fb3dbcb06ea9caf7088f3befee014de57961689f9c859ac5239b1ef61d987"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_git.bb
new file mode 100644
index 0000000..6b20898
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uswid_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A pure-python library for embedding CoSWID data"
+HOMEPAGE = "https://github.com/hughsie/python-uswid"
+SECTION = "devel/python"
+LICENSE = "LGPL-2.1-or-later"
+
+DEPENDS += " python3-cbor2 python3-lxml python3-pefile"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=40d2542b8c43a3ec2b7f5da31a697b88"
+
+SRC_URI = "git://github.com/hughsie/python-uswid.git;branch=main;protocol=https"
+SRCREV = "3223034abef88ae29cf79fdc7fe11ec7e21e11ff"
+S = "${WORKDIR}/git"
+
+inherit setuptools3 python3native
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.3.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.2.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.3.0.bb
index 8e09cab..3c617b2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.3.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1dc2732bdc5e50382737979791cbb3b7"
 
-SRC_URI[sha256sum] = "7695ee81162c644de0dfd0f5372f96a73be557b46365d218f581ca10197c6389"
+SRC_URI[sha256sum] = "d13f17d18eaacd87f7d233b4b2c70d1579b39573628b71ec996adfcd4dac9cab"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.3.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.3.bb
index 1653c77..92dbd20 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_11.0.3.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b1a69701eb98ed83dd099de4a686dc892c413d974fa31602bc00aca7cb988ac9"
+SRC_URI[sha256sum] = "88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb
similarity index 69%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb
index 8de3959..df4b7c8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xstatic_1.0.3.bb
@@ -6,8 +6,7 @@
 
 PYPI_PACKAGE = "XStatic"
 
-SRC_URI[md5sum] = "dea172b7b14b0dbcd5ed63075221af4b"
-SRC_URI[sha256sum] = "80b78dfe37bce6dee4343d64c65375a80bcf399b46dd47c0c7d56161568a23a8"
+SRC_URI[sha256sum] = "402544cc9e179489441054f09c807804e115ea246907de87c0355fb4f5a31268"
 
 DEPENDS += " \
     ${PYTHON_PN}-pip \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.8.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.2.bb
similarity index 75%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.8.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.2.bb
index 6f6f85d..6370002 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.8.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yarl_1.9.2.bb
@@ -1,9 +1,9 @@
 SUMMARY = "The module provides handy URL class for url parsing and changing"
 HOMEPAGE = "https://github.com/aio-libs/yarl/"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e581798a7b985311f29fa3e163ea27ae"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[sha256sum] = "49d43402c6e3013ad0978602bf6bf5328535c48d192304b91b97a3c6790b1562"
+SRC_URI[sha256sum] = "04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"
 
 SRC_URI += "file://run-ptest"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.56.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.62.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.56.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.62.0.bb
index 20dc962..6e82c68 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.56.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.62.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3"
 
-SRC_URI[sha256sum] = "d21916e98de8d4cb822134b25746dcf321531b8662757a7da402798ba627062e"
+SRC_URI[sha256sum] = "c51340a8a7f13d7265dcc582c4a97907c11e4f3d23d5234d3c2c0e44fb446717"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.3.4.bb b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.3.5.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.3.4.bb
rename to meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.3.5.bb
index 2a832f1..cedbed3 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.3.5.bb
@@ -8,7 +8,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303"
 
-SRC_URI[sha256sum] = "b5d573e13605423ec80bdd0cd5f8541f7844a0e71a13f74cf454ccb2f490708b"
+SRC_URI[sha256sum] = "2d11b9b8dd03868f09b4fffadc84a6a8cda574e40dc90821bd845720ebb8e89c"
 
 inherit pypi python_poetry_core
 
diff --git a/poky/documentation/migration-guides/index.rst b/poky/documentation/migration-guides/index.rst
index 6f7bcbe..a3bddb3 100644
--- a/poky/documentation/migration-guides/index.rst
+++ b/poky/documentation/migration-guides/index.rst
@@ -12,6 +12,7 @@
 .. toctree::
 
    migration-general
+   release-4.3
    release-4.2
    release-4.1
    release-4.0
diff --git a/poky/documentation/migration-guides/migration-4.3.rst b/poky/documentation/migration-guides/migration-4.3.rst
new file mode 100644
index 0000000..c2e5699
--- /dev/null
+++ b/poky/documentation/migration-guides/migration-4.3.rst
@@ -0,0 +1,102 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release 4.3 (nanbield)
+========================
+
+Migration notes for 4.3 (nanbield)
+------------------------------------
+
+This section provides migration information for moving to the Yocto
+Project 4.3 Release (codename "nanbield") from the prior release.
+
+.. _migration-4.3-supported-kernel-versions:
+
+Supported kernel versions
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The :term:`OLDEST_KERNEL` setting has been changed to "5.15" in this release, meaning that
+out the box, older kernels are not supported. There were two reasons for this.
+Firstly it allows glibc optimisations that improve the performance of the system
+by removing compatibility code and using modern kernel APIs exclusively. The second
+issue was this allows 64 bit time support even on 32 bit platforms and resolves Y2038
+issues.
+
+It is still possible to override this value and build for older kernels, this is just
+no longer the default supported configuration. This setting does not affect which
+kernel versions SDKs will run against and does not affect which versions of the kernel
+can be used to run builds.
+
+.. _migration-4.3-supported-distributions:
+
+Supported distributions
+~~~~~~~~~~~~~~~~~~~~~~~
+
+This release supports running BitBake on new GNU/Linux distributions:
+
+On the other hand, some earlier distributions are no longer supported:
+
+See :ref:`all supported distributions <system-requirements-supported-distros>`.
+
+.. _migration-4.3-go-changes:
+
+Go language changes
+~~~~~~~~~~~~~~~~~~~
+
+-  Support for the Glide package manager has been removed, as ``go mod``
+   has become the standard.
+
+.. _migration-4.3-recipe-changes:
+
+Recipe changes
+~~~~~~~~~~~~~~
+
+-  Runtime testing of ptest now fails if no test results are returned by
+   any given ptest.
+
+.. _migration-4.3-class-changes:
+
+Class changes
+~~~~~~~~~~~~~
+
+-  The ``perl-version`` class no longer provides the ``PERLVERSION`` and ``PERLARCH`` variables
+   as there were no users in any core layer. The functions for this functionality
+   are still available.
+
+.. _migration-4.3-removed-variables:
+
+Removed variables
+~~~~~~~~~~~~~~~~~
+
+The following variables have been removed:
+
+-  ``PERLARCH``
+-  ``PERLVERSION``
+
+.. _migration-4.3-removed-recipes:
+
+Removed recipes
+~~~~~~~~~~~~~~~
+
+The following recipes have been removed in this release:
+
+-  ``glide``, as explained in :ref:`migration-4.3-go-changes`.
+
+.. _migration-4.3-removed-classes:
+
+Removed classes
+~~~~~~~~~~~~~~~
+
+The following classes have been removed in this release:
+
+
+.. _migration-4.3-misc-changes:
+
+Miscellaneous changes
+~~~~~~~~~~~~~~~~~~~~~
+
+-  The ``-crosssdk`` suffix and any :term:`MLPREFIX` were removed from
+   ``virtual/XXX`` provider/dependencies where a ``PREFIX`` was used as well,
+   as we don't need both and it made automated dependency rewriting
+   unnecessarily complex. In general this only affects internal toolchain
+   dependencies so isn't end user visible.
+
diff --git a/poky/documentation/migration-guides/release-4.3.rst b/poky/documentation/migration-guides/release-4.3.rst
new file mode 100644
index 0000000..92516ae
--- /dev/null
+++ b/poky/documentation/migration-guides/release-4.3.rst
@@ -0,0 +1,9 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release 4.3 (nanbield)
+========================
+
+.. toctree::
+
+   migration-4.3
+   release-notes-4.3
diff --git a/poky/documentation/migration-guides/release-notes-4.3.rst b/poky/documentation/migration-guides/release-notes-4.3.rst
new file mode 100644
index 0000000..ede3dc4
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.3.rst
@@ -0,0 +1,71 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for 4.3 (nandbield)
+----------------------------------
+
+New Features / Enhancements in 4.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Linux kernel 6.x, glibc 2.xx and ~xxx other recipe upgrades
+
+-  New variables:
+
+-  Architecture-specific enhancements:
+
+-  Kernel-related enhancements:
+
+-  New core recipes:
+
+-  New classes:
+
+   - A ``ptest-cargo`` class was added to allow Cargo based recipes to easily add ptests
+
+-  QEMU/runqemu enhancements:
+
+-  Image-related enhancements:
+
+-  wic Image Creator enhancements:
+
+-  FIT image related improvements:
+
+   -  New :term:`FIT_ADDRESS_CELLS` variable allowing
+      to specify 64 bit addresses.
+
+-  SDK-related improvements:
+
+-  Testing:
+
+-  Utility script changes:
+
+-  BitBake improvements:
+
+   -  The BitBake Cooker log now contains notes when the caches are
+      invalidated which is useful for memory resident bitbake debugging.
+
+-  Packaging changes:
+
+-  Miscellaneous changes:
+
+   -  Git based recipes in OE-Core which used the git protocol have been
+      changed to use https where possibile. https is now believed to be
+      faster and more reliable.
+
+   -  The ``os-release`` recipe added a ``CPE_NAME`` to the fields provided, with the
+      default being populated from :term:`DISTRO`.
+
+Known Issues in 4.3
+~~~~~~~~~~~~~~~~~~~
+
+Recipe License changes in 4.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following corrections have been made to the :term:`LICENSE` values set by recipes:
+
+Security Fixes in 4.3
+~~~~~~~~~~~~~~~~~~~~~
+
+Recipe Upgrades in 4.3
+~~~~~~~~~~~~~~~~~~~~~~
+
+Contributors to 4.3
+~~~~~~~~~~~~~~~~~~~
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index a78368b..ab16284 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -1532,11 +1532,18 @@
 :term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds
 using the :ref:`ref-classes-module` class.
 
-This means that each built kernel module is packaged separately and
-inter-module dependencies are created by parsing the ``modinfo`` output.
-If all modules are required, then installing the ``kernel-modules``
-package installs all packages with modules and various other kernel
-packages such as ``kernel-vmlinux``.
+If a file named ``defconfig`` is listed in :term:`SRC_URI`, then by default
+:ref:`ref-tasks-configure` copies it as ``.config`` in the build directory,
+so it is automatically used as the kernel configuration for the build. This
+copy is not performed in case ``.config`` already exists there: this allows
+recipes to produce a configuration by other means in
+``do_configure:prepend``.
+
+Each built kernel module is packaged separately and inter-module
+dependencies are created by parsing the ``modinfo`` output.  If all modules
+are required, then installing the ``kernel-modules`` package installs all
+packages with modules and various other kernel packages such as
+``kernel-vmlinux``.
 
 The :ref:`ref-classes-kernel` class contains logic that allows you to embed an initial
 RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For
@@ -1590,7 +1597,8 @@
 :ref:`ref-classes-kernel-fitimage` and the kernel image in FIT is mandatory. The
 address where the kernel image is to be loaded by U-Boot is
 specified by :term:`UBOOT_LOADADDRESS` and the entrypoint by
-:term:`UBOOT_ENTRYPOINT`.
+:term:`UBOOT_ENTRYPOINT`. Setting :term:`FIT_ADDRESS_CELLS` to "2"
+is necessary if such addresses are 64 bit ones.
 
 Multiple device trees can be added to the FIT image created by
 :ref:`ref-classes-kernel-fitimage` and the device tree is optional.
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 574af2c..6ee65e1 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -2898,6 +2898,26 @@
       For guidance on how to create your own file permissions settings
       table file, examine the existing ``fs-perms.txt``.
 
+   :term:`FIT_ADDRESS_CELLS`
+
+      Specifies the value of the ``#address-cells`` value for the
+      description of the kernel FIT image.  
+
+      The default value is set to "1" by the :ref:`ref-classes-kernel-fitimage`
+      class, which corresponds to 32 bit addresses. 
+
+      For platforms who need to set 64 bit addresses in
+      :term:`UBOOT_LOADADDRESS` and :term:`UBOOT_ENTRYPOINT`, you need to
+      set this value to "2", as two 32 bit values (cells) will be needed 
+      to represent such addresses.
+
+      Here is an example setting "0x400000000" as a load address::
+    
+         FIT_ADDRESS_CELLS = "2"
+         UBOOT_LOADADDRESS= "0x04 0x00000000"
+
+      See `more details about #address-cells <https://elinux.org/Device_Tree_Usage#How_Addressing_Works>`__.
+
    :term:`FIT_CONF_DEFAULT_DTB`
       Specifies the default device tree binary (dtb) file for a fitImage when
       multiple are provided.
@@ -9041,11 +9061,17 @@
       creation, the :term:`UBOOT_ENTRYPOINT` variable is passed as a
       command-line parameter to the ``uboot-mkimage`` utility.
 
+      To pass a 64 bit address for FIT image creation, you will need to set
+      the :term:`FIT_ADDRESS_CELLS` variable too.
+
    :term:`UBOOT_LOADADDRESS`
       Specifies the load address for the U-Boot image. During U-Boot image
       creation, the :term:`UBOOT_LOADADDRESS` variable is passed as a
       command-line parameter to the ``uboot-mkimage`` utility.
 
+      To pass a 64 bit address for FIT image creation, you will need to set
+      the :term:`FIT_ADDRESS_CELLS` variable too.
+
    :term:`UBOOT_LOCALVERSION`
       Appends a string to the name of the local version of the U-Boot
       image. For example, assuming the version of the U-Boot image built
diff --git a/poky/meta-yocto-bsp/README.hardware.md b/poky/meta-yocto-bsp/README.hardware.md
index 44dbb35..8ea0ef1 100644
--- a/poky/meta-yocto-bsp/README.hardware.md
+++ b/poky/meta-yocto-bsp/README.hardware.md
@@ -28,7 +28,6 @@
 The following boards are supported by the meta-yocto-bsp layer:
 
   * Texas Instruments Beaglebone (beaglebone-yocto)
-  * Ubiquiti Networks EdgeRouter Lite (edgerouter)
   * General IA platforms (genericx86 and genericx86-64)
 
 For more information see the board's section below. The appropriate MACHINE
@@ -48,7 +47,6 @@
 The following consumer devices are supported by the meta-yocto-bsp layer:
 
   * Intel x86 based PCs and devices (genericx86)
-  * Ubiquiti Networks EdgeRouter Lite (edgerouter)
 
 For more information see the device's section below. The appropriate MACHINE
 variable value corresponding to the device is given in brackets.
@@ -153,113 +151,3 @@
      # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb
 
   3. Insert the SD card into the Beaglebone and boot the board.
-
-Ubiquiti Networks EdgeRouter Lite (edgerouter)
-==============================================
-
-The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router
-(based on the Cavium Octeon processor) with 512MB of RAM, which uses an
-internal USB pendrive for storage.
-
-Setup instructions
-------------------
-
-You will need the following:
-* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE
-  port on the device
-* Ethernet connected to the first ethernet port on the board
-
-If using NFS as part of the setup process, you will also need:
-* NFS root setup on your workstation
-* TFTP server installed on your workstation (if fetching the kernel from
-  TFTP, see below).
-
---- Preparation ---
-
-Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE.
-In the following instruction it is based on core-image-minimal. Another target
-may be similiar with it.
-
---- Booting from NFS root / kernel via TFTP ---
-
-Load the kernel, and boot the system as follows:
-
- 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter
-    directory, and make them available on your TFTP server.
-
- 2. Connect the board's first serial port to your workstation and then start up
-    your favourite serial terminal so that you will be able to interact with
-    the serial console. If you don't have a favourite, picocom is suggested:
-
-  $ picocom /dev/ttyS0 -b 115200
-
- 3. Power up or reset the board and press a key on the terminal when prompted
-    to get to the U-Boot command line
-
- 4. Set up the environment in U-Boot:
-
- => setenv ipaddr <board ip>
- => setenv serverip <tftp server ip>
-
- 5. Download the kernel and boot:
-
- => tftp $loadaddr vmlinux
- => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=<nfsroot ip>:<rootfs path> ip=<board ip>:<server ip>:<gateway ip>:<netmask>:edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
-
---- Booting from USB disk ---
-
-To boot from the USB disk, you either need to remove it from the edgerouter
-box and populate it from another computer, or use a previously booted NFS
-image and populate from the edgerouter itself.
-
-Type 1: Use partitioned image
------------------------------
-
-Steps:
-
- 1. Remove the USB disk from the edgerouter and insert it into a computer
-    that has access to your build artifacts.
-
- 2. Flash the image.
-
-    # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb
-
- 3. Insert USB disk into the edgerouter and boot it.
-
-Type 2: NFS
------------
-
-Note: If you place the kernel on the ext3 partition, you must re-create the
-      ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and
-      cannot read the partition otherwise.
-
-      These boot instructions assume that you have recreated the ext3 filesystem with
-      128 byte inodes, you have an updated uboot or you are running and image capable
-      of making the filesystem on the board itself.
-
-
- 1. Boot from NFS root
-
- 2. Mount the USB disk partition 2 and then extract the contents of
-    tmp/deploy/core-image-XXXX.tar.bz2 into it.
-
-    Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into
-    rootfs path on your workstation.
-
-    and then,
-  
-      # mount /dev/sda2 /media/sda2
-      # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2
-      # cp vmlinux /media/sda2/boot/vmlinux
-      # umount /media/sda2
-      # reboot
-
- 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot
-    command line:
-
-    # reboot
-
- 4. Load the kernel and boot:
-
-      => ext2load usb 0:2 $loadaddr boot/vmlinux
-      => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)
diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
deleted file mode 100644
index ffdcf55..0000000
--- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ /dev/null
@@ -1,26 +0,0 @@
-#@TYPE: Machine
-#@NAME: Edgerouter
-#@DESCRIPTION: Machine configuration for a generic edgerouter
-
-require conf/machine/include/mips/tune-mips64.inc
-
-MACHINE_FEATURES = "pci ext2 ext3 serial"
-
-KERNEL_IMAGETYPE = "vmlinux"
-KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
-KERNEL_IMAGE_STRIP_EXTRA_SECTIONS  = ".comment"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "6.1%"
-
-SERIAL_CONSOLES = "115200;ttyS0"
-USE_VT ?= "0"
-
-MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
-
-IMAGE_FSTYPES ?= "jffs2 tar.bz2 wic wic.bmap"
-JFFS2_ERASEBLOCK = "0x10000"
-
-WKS_FILE ?= "edgerouter.wks"
-IMAGE_BOOT_FILES ?= "vmlinux;vmlinux.64"
-do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
diff --git a/poky/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py b/poky/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
deleted file mode 100644
index e31670d..0000000
--- a/poky/meta-yocto-bsp/lib/oeqa/controllers/edgeroutertarget.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (C) 2014 Intel Corporation
-#
-# Released under the MIT license (see COPYING.MIT)
-
-# This module adds support to testimage.bbclass to deploy images and run
-# tests on a Ubiquiti Networks EdgeRouter Lite. The device must be set up
-# to boot into the master image already - the easiest way to do that is as
-# follows:
-#
-# 1. Take out the internal USB drive and plug it into your PC
-# 2. Repartition the USB drive so that you have three partitions in this
-#    order:
-#      1: vfat, labelled "boot" (it will need to be formatted with mkfs.vfat
-#         for this to be possible, since FAT partitions formatted under
-#         DOS/Windows will only support uppercase labels)
-#      2: ext3 (for master image) labelled "testmaster"
-#      3: ext3 (for image under test) labelled "testrootfs"
-# 3. Copy the kernel to be used by the master image to the FAT partition
-#    (it should be named "vmlinux.64" with the factory u-boot configuration)
-# 4. Install the master image onto the "testmaster" ext3 partition. If
-#    you do this by just extracting the contents of an image onto the
-#    partition, you will also likely need to create the master image marker
-#    file /etc/masterimage within this partition so that we can tell when
-#    we're booted into it that it is the master image.
-# 5. Put the USB drive back into the device, and ensure the console port
-#    and first ethernet port are connected before powering on
-#
-# TEST_SERIALCONTROL_CMD will need to be set in local.conf so that we can
-# interact with u-boot over the serial console port.
-
-import os
-import bb
-import time
-import subprocess
-import sys
-import pexpect
-
-from oeqa.controllers.controllerimage import ControllerImageHardwareTarget
-
-
-class EdgeRouterTarget(ControllerImageHardwareTarget):
-
-    def __init__(self, d):
-        super(EdgeRouterTarget, self).__init__(d)
-
-        self.image_fstype = self.get_image_fstype(d)
-        self.deploy_cmds = [
-                'mount -L boot /boot',
-                'mkdir -p /mnt/testrootfs',
-                'mount -L testrootfs /mnt/testrootfs',
-                'cp ~/test-kernel /boot',
-                'rm -rf /mnt/testrootfs/*',
-                'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype
-                ]
-        if not self.serialcontrol_cmd:
-            bb.fatal("This TEST_TARGET needs a TEST_SERIALCONTROL_CMD defined in local.conf.")
-
-
-    def _deploy(self):
-        self.controller.run("umount /mnt/testrootfs;")
-        self.controller.ignore_status = False
-        self.controller.copy_to(self.kernel, "~/test-kernel")
-        self.controller.copy_to(self.rootfs, "~/test-rootfs.%s" % self.image_fstype)
-        for cmd in self.deploy_cmds:
-            self.controller.run(cmd)
-
-    def _start(self, params=None):
-        self.power_cycle(self.controller)
-        try:
-            serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
-            serialconn.expect("U-Boot")
-            serialconn.sendline("a")
-            serialconn.expect("Octeon ubnt_e100#")
-            serialconn.sendline("fatload usb 0:1 $loadaddr test-kernel")
-            serialconn.expect(" bytes read")
-            serialconn.expect("Octeon ubnt_e100#")
-            serialconn.sendline("bootoctlinux $loadaddr coremask=0x3 root=/dev/sda3 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)")
-            serialconn.expect("login:", timeout=120)
-            serialconn.close()
-        except pexpect.ExceptionPexpect as e:
-            bb.fatal('Serial interaction failed: %s' % str(e))
-
-    def _wait_until_booted(self):
-        try:
-            serialconn = pexpect.spawn(self.serialcontrol_cmd, env=self.origenv, logfile=sys.stdout)
-            serialconn.expect("login:", timeout=120)
-            serialconn.close()
-        except pexpect.ExceptionPexpect as e:
-            bb.fatal('Serial interaction failed: %s' % str(e))
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
index a90958f..4a62ac9 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -1,6 +1,5 @@
 KBRANCH:genericx86  = "standard/base"
 KBRANCH:genericx86-64  = "standard/base"
-KBRANCH:edgerouter = "standard/edgerouter"
 KBRANCH:beaglebone-yocto = "standard/beaglebone"
 
 KMACHINE:genericx86 ?= "common-pc"
@@ -9,5 +8,4 @@
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
index 87aa38a..7a33505 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
@@ -1,6 +1,5 @@
 KBRANCH:genericx86  = "v5.15/standard/base"
 KBRANCH:genericx86-64  = "v5.15/standard/base"
-KBRANCH:edgerouter = "v5.15/standard/edgerouter"
 KBRANCH:beaglebone-yocto = "v5.15/standard/beaglebone"
 
 KMACHINE:genericx86 ?= "common-pc"
@@ -9,15 +8,12 @@
 
 SRCREV_machine:genericx86 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6"
 SRCREV_machine:genericx86-64 ?= "024d08fb706170a9723e9751e505681f9d4c7ab6"
-SRCREV_machine:edgerouter ?= "2ac6461adfceb54f47a756046fbdd142adce4301"
 SRCREV_machine:beaglebone-yocto ?= "26aee42556a000123129552b73de6bf2ac039034"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
 LINUX_VERSION:genericx86 = "5.15.103"
 LINUX_VERSION:genericx86-64 = "5.15.103"
-LINUX_VERSION:edgerouter = "5.15.103"
 LINUX_VERSION:beaglebone-yocto = "5.15.103"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend
index dc58f98..b80c518 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.1.bbappend
@@ -1,6 +1,5 @@
 KBRANCH:genericx86  = "v6.1/standard/base"
 KBRANCH:genericx86-64  = "v6.1/standard/base"
-KBRANCH:edgerouter = "v6.1/standard/edgerouter"
 KBRANCH:beaglebone-yocto = "v6.1/standard/beaglebone"
 
 KMACHINE:genericx86 ?= "common-pc"
@@ -9,15 +8,12 @@
 
 SRCREV_machine:genericx86 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
 SRCREV_machine:genericx86-64 ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
-SRCREV_machine:edgerouter ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
 SRCREV_machine:beaglebone-yocto ?= "423e1996694b61fbfc8ec3bf062fc6461d64fde1"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
 LINUX_VERSION:genericx86 = "6.1.20"
 LINUX_VERSION:genericx86-64 = "6.1.20"
-LINUX_VERSION:edgerouter = "6.1.20"
 LINUX_VERSION:beaglebone-yocto = "6.1.20"
diff --git a/poky/meta-yocto-bsp/wic/edgerouter.wks b/poky/meta-yocto-bsp/wic/edgerouter.wks
deleted file mode 100644
index 7176fe4..0000000
--- a/poky/meta-yocto-bsp/wic/edgerouter.wks
+++ /dev/null
@@ -1,4 +0,0 @@
-# short-description: Create SD card image for Edgerouter
-# long-description: Create a partitioned SD card image for MIPS64 Edgerouter reference hardware.
-part /boot --source bootimg-partition --ondisk sda --fstype=vfat --label boot --active --align 4 --size 16
-part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4
diff --git a/poky/meta/classes-recipe/populate_sdk_base.bbclass b/poky/meta/classes-recipe/populate_sdk_base.bbclass
index 1c619ef..b23ea26 100644
--- a/poky/meta/classes-recipe/populate_sdk_base.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_base.bbclass
@@ -15,7 +15,7 @@
 COMPLEMENTARY_GLOB[doc-pkgs] = '*-doc'
 COMPLEMENTARY_GLOB[dbg-pkgs] = '*-dbg'
 COMPLEMENTARY_GLOB[src-pkgs] = '*-src'
-COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest ptest-runner'
+COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest ${MLPREFIX}ptest-runner'
 COMPLEMENTARY_GLOB[bash-completion-pkgs] = '*-bash-completion'
 
 def complementary_globs(featurevar, d):
diff --git a/poky/meta/classes-recipe/ptest-cargo.bbclass b/poky/meta/classes-recipe/ptest-cargo.bbclass
index f28bc7a..4ed5284 100644
--- a/poky/meta/classes-recipe/ptest-cargo.bbclass
+++ b/poky/meta/classes-recipe/ptest-cargo.bbclass
@@ -1,5 +1,8 @@
 inherit cargo ptest
 
+RUST_TEST_ARGS ??= ""
+RUST_TEST_ARGS[doc] = "Arguments to give to the test binaries (e.g. --shuffle)"
+
 # I didn't find a cleaner way to share data between compile and install tasks
 CARGO_TEST_BINARIES_FILES ?= "${B}/test_binaries_list"
 
@@ -74,6 +77,7 @@
     pn = d.getVar("PN", True)
     ptest_path = d.getVar("PTEST_PATH", True)
     cargo_test_binaries_file = d.getVar('CARGO_TEST_BINARIES_FILES', True)
+    rust_test_args = d.getVar('RUST_TEST_ARGS') or ""
 
     ptest_dir = os.path.join(dest_dir, ptest_path.lstrip('/'))
     os.makedirs(ptest_dir, exist_ok=True)
@@ -94,12 +98,12 @@
             f.write(f"\necho \"\"\n")
             f.write(f"echo \"## starting to run rust tests ##\"\n")
             for test_path in test_paths:
-                f.write(f"{test_path}\n")
+                f.write(f"{test_path} {rust_test_args}\n")
     else:
         with open(ptest_script, "a") as f:
             f.write("#!/bin/sh\n")
             for test_path in test_paths:
-                f.write(f"{test_path}\n")
+                f.write(f"{test_path} {rust_test_args}\n")
         os.chmod(ptest_script, 0o755)
 
     # this is chown -R root:root ${D}${PTEST_PATH}
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index e24d854..395c187 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -607,6 +607,7 @@
 RECIPE_MAINTAINER:pn-python3-babel = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-bcrypt = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-build = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-python3-calver = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-certifi = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-cffi = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>"
@@ -702,6 +703,7 @@
 RECIPE_MAINTAINER:pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-toml = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-tomli = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-trove-classifiers = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-typing-extensions = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-unittest-automake-output = "Ross Burton <ross.burton@arm.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index 2f83132..faa9bd6 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -56,6 +56,7 @@
     popt \
     python3-atomicwrites \
     python3-bcrypt \
+    python3-calver \
     python3-hypothesis \
     python3-jinja2 \
     python3-jsonpointer \
@@ -64,6 +65,7 @@
     python3-pluggy \
     python3-pyasn1 \
     python3-pytz \
+    python3-trove-classifiers \
     python3-wcwidth \
     python3-webcolors \
     qemu \
diff --git a/poky/meta/lib/oe/package_manager/ipk/manifest.py b/poky/meta/lib/oe/package_manager/ipk/manifest.py
index 469e14c..3549d74 100644
--- a/poky/meta/lib/oe/package_manager/ipk/manifest.py
+++ b/poky/meta/lib/oe/package_manager/ipk/manifest.py
@@ -64,7 +64,7 @@
         if len(pkgs_to_install) == 0:
             return
 
-        output = pm.dummy_install(pkgs_to_install).decode('utf-8')
+        output = pm.dummy_install(pkgs_to_install)
 
         with open(self.full_manifest, 'w+') as manifest:
             pkg_re = re.compile('^Installing ([^ ]+) [^ ].*')
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch b/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch
new file mode 100644
index 0000000..ac6592f
--- /dev/null
+++ b/poky/meta/recipes-core/glib-networking/glib-networking/eagain.patch
@@ -0,0 +1,29 @@
+In autobuilder testing we regularly see glib-networking ptest fail with:
+
+GLib-Net:ERROR:/usr/src/debug/glib-networking/2.74.0-r0/tls/tests/connection.c:1944:simul_read_thread: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27)
+Bail out! GLib-Net:ERROR:/usr/src/debug/glib-networking/2.74.0-r0/tls/tests/connection.c:1944:simul_read_thread: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27)
+FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6)
+SUMMARY: total=4; passed=3; skipped=0; failed=1; user=0.9s; system=0.4s; maxrss=10708
+FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6)
+
+The test should probably retry in this situation so test a patch which does this.
+
+Upstream-Status: Pending [testing to see if patch resolves the issue]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: glib-networking-2.74.0/tls/tests/connection.c
+===================================================================
+--- glib-networking-2.74.0.orig/tls/tests/connection.c
++++ glib-networking-2.74.0/tls/tests/connection.c
+@@ -1941,6 +1941,10 @@ simul_read_thread (gpointer user_data)
+                                    test->buf + test->nread,
+                                    MIN (TEST_DATA_LENGTH / 2, TEST_DATA_LENGTH - test->nread),
+                                    NULL, &error);
++
++      if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BUSY))
++          continue;
++
+       g_assert_no_error (error);
+ 
+       test->nread += nread;
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb
index dc0be23..b3a88ac 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.74.0.bb
@@ -24,6 +24,7 @@
 inherit gnomebase gettext upstream-version-is-even gio-module-cache ptest-gnome
 
 SRC_URI += "file://run-ptest"
+SRC_URI += "file://eagain.patch"
 
 FILES:${PN} += "\
                 ${libdir}/gio/modules/libgio*.so \
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 7c9a9cd..19b07d6 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,9 +4,9 @@
 require musl.inc
 inherit linuxloader
 
-SRCREV = "b928c7234f62c35a9b4927586ff4c3cbf6e513b5"
+SRCREV = "f5f55d6589940fd2c2188d76686efe3a530e64e0"
 
-BASEVER = "1.2.3"
+BASEVER = "1.2.4"
 
 PV = "${BASEVER}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest
index c97c037..279923d 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/run-ptest
@@ -8,3 +8,4 @@
 rm -f *.ok
 rm -f *.failed
 rm -f *.log
+cp ../data/test_data.tmp ./
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
index f29c55e..d3786d6 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.47.0.bb
@@ -141,4 +141,7 @@
 
         install -d ${D}${PTEST_PATH}/lib
         install -m 0644 ${B}/lib/config.h  ${D}${PTEST_PATH}/lib/
+
+        install -d ${D}${PTEST_PATH}/data
+        install -m 0644 ${B}/tests/test_data.tmp ${D}${PTEST_PATH}/data/
 }
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.188.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb
similarity index 95%
rename from poky/meta/recipes-devtools/elfutils/elfutils_0.188.bb
rename to poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb
index 74271b2..236f8ce 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.188.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.189.bb
@@ -21,15 +21,12 @@
            file://0001-skip-the-test-when-gcc-not-deployed.patch \
            file://ptest.patch \
            file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
-           file://0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch \
-           file://0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch \
-           file://handle_DW_TAG_unspecified_type.patch \
            "
 SRC_URI:append:libc-musl = " \
            file://0003-musl-utils.patch \
            file://0015-config-eu.am-do-not-use-Werror.patch \
            "
-SRC_URI[sha256sum] = "fb8b0e8d0802005b9a309c60c1d8de32dd2951b56f0c3a3cb56d21ce01595dff"
+SRC_URI[sha256sum] = "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8"
 
 inherit autotools gettext ptest pkgconfig
 
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch b/poky/meta/recipes-devtools/elfutils/files/0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch
deleted file mode 100644
index ee192e3..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d2bf497b12fbd49b4996ccf0744303ffd67735b1 Mon Sep 17 00:00:00 2001
-From: Andrew Paprocki <andrew@ishiboo.com>
-Date: Wed, 21 Dec 2022 11:15:00 -0500
-Subject: [PATCH] PR29926: debuginfod: Fix usage of deprecated CURLINFO_*
-
-The `CURLINFO_SIZE_DOWNLOAD_T` and `CURLINFO_CONTENT_LENGTH_DOWNLOAD_T`
-identifiers are `enum`s, not pre-processor definitions, so the current
-`#ifdef` logic is not selecting the newer API.  This results in the
-older identifiers being used and they now generate errors when compiled
-against Curl 7.87, which has silently deprecated them, causing GCC to
-emit `-Werror=deprecated-declarations`.
-
-Instead, the newer identifiers were added in Curl 7.55, so explicitly
-check for `CURL_AT_LEAST_VERSION(7, 55, 0)` instead of the current
-logic.  This eliminates the error when compiling against Curl 7.87.
-
-Ref: https://github.com/curl/curl/pull/1511
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=d2bf497b12fbd49b4996ccf0744303ffd67735b1]
-Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
----
- debuginfod/debuginfod-client.c | 4 ++--
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
-index 8873fcc8..692aecce 100644
---- a/debuginfod/debuginfod-client.c
-+++ b/debuginfod/debuginfod-client.c
-@@ -1456,7 +1456,7 @@ debuginfod_query_server (debuginfod_client *c,
-              deflate-compressing proxies, this number is likely to be
-              unavailable, so -1 may show. */
-           CURLcode curl_res;
--#ifdef CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
-+#if CURL_AT_LEAST_VERSION(7, 55, 0)
-           curl_off_t cl;
-           curl_res = curl_easy_getinfo(target_handle,
-                                        CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
-@@ -1491,7 +1491,7 @@ debuginfod_query_server (debuginfod_client *c,
-           if (target_handle) /* we've committed to a server; report its download progress */
-             {
-               CURLcode curl_res;
--#ifdef CURLINFO_SIZE_DOWNLOAD_T
-+#if CURL_AT_LEAST_VERSION(7, 55, 0)
-               curl_off_t dl;
-               curl_res = curl_easy_getinfo(target_handle,
-                                            CURLINFO_SIZE_DOWNLOAD_T,
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch b/poky/meta/recipes-devtools/elfutils/files/0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch
deleted file mode 100644
index 2d4c912..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6560fb26a62ef135a804357ef4f15a47de3e49b3 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Tue, 10 Jan 2023 23:20:41 +0100
-Subject: [PATCH] debuginfod-client: Use CURLOPT_PROTOCOLS_STR for libcurl >= 7.85.0
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=29926
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=6560fb26a62ef135a804357ef4f15a47de3e49b3]
-Signed-off-by: Mark Wielaard <mark@klomp.org>
----
- debuginfod/debuginfod-client.c | 5 +++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
-index a16165bd..1ce45632 100644
---- a/debuginfod/debuginfod-client.c
-+++ b/debuginfod/debuginfod-client.c
-@@ -1336,8 +1336,13 @@ debuginfod_query_server (debuginfod_client *c,
- 
-       /* Only allow http:// + https:// + file:// so we aren't being
- 	 redirected to some unsupported protocol.  */
-+#if CURL_AT_LEAST_VERSION(7, 85, 0)
-+      curl_easy_setopt_ck(data[i].handle, CURLOPT_PROTOCOLS_STR,
-+			  "http,https,file");
-+#else
-       curl_easy_setopt_ck(data[i].handle, CURLOPT_PROTOCOLS,
- 			  (CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FILE));
-+#endif
-       curl_easy_setopt_ck(data[i].handle, CURLOPT_URL, data[i].url);
-       if (vfd >= 0)
- 	curl_easy_setopt_ck(data[i].handle, CURLOPT_ERRORBUFFER,
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
index a771558..fd1ec01 100644
--- a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch
@@ -14,20 +14,19 @@
 ---
  config/eu.am | 2 --
  1 file changed, 2 deletions(-)
-
 diff --git a/config/eu.am b/config/eu.am
-index 58cd3c4..ac42390 100644
+index e6c241f..4136e7c 100644
 --- a/config/eu.am
 +++ b/config/eu.am
-@@ -91,7 +91,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
- 	    -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \
+@@ -99,7 +99,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
  	    $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
  	    $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
+ 	    $(USE_AFTER_FREE3_WARNING) \
 -	    $(if $($(*F)_no_Werror),,-Werror) \
  	    $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
  	    $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
  	    $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \
-@@ -101,7 +100,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \
+@@ -109,7 +108,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \
  	   $(TRAMPOLINES_WARNING) \
  	   $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
  	   $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
@@ -35,3 +34,4 @@
  	   $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
  	   $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \
  	   $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \
+-- 
diff --git a/poky/meta/recipes-devtools/elfutils/files/handle_DW_TAG_unspecified_type.patch b/poky/meta/recipes-devtools/elfutils/files/handle_DW_TAG_unspecified_type.patch
deleted file mode 100644
index 8cab01c..0000000
--- a/poky/meta/recipes-devtools/elfutils/files/handle_DW_TAG_unspecified_type.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From: Mark Wielaard <mark@klomp.org>
-Date: Thu, 26 Jan 2023 17:19:15 +0000 (+0100)
-Subject: backends: Handle DW_TAG_unspecified_type in dwarf_peeled_die_type
-X-Git-Url: https://sourceware.org/git/?p=elfutils.git;a=commitdiff_plain;h=f2c522567ad63ac293535fba9704895e685ab5bc;hp=3fa98a6f29b0f370e32549ead7eb897c839af980
-
-backends: Handle DW_TAG_unspecified_type in dwarf_peeled_die_type
-
-binutils 2.40 introduces DW_TAG_unspecified_type for assembly
-functions with an unknown return type. This breaks the
-run-funcretval.sh testcase because dwfl_module_return_value_location
-returns an error for such functions because it cannot determine the
-return value location. Fix that by treating DW_TAG_unspecified_type
-as if the DIE doesn't have a DW_AT_type.
-
-Also update the testcase to explicitly checking for
-DW_TAG_unspecified_type and printing "returns unspecified type".
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=30047
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commitdiff;h=f2c522567ad63ac293535fba9704895e685ab5bc;hp=3fa98a6f29b0f370e32549ead7eb897c839af980]
-Signed-off-by: Mark Wielaard <mark@klomp.org>
----
-
---- a/backends/libebl_CPU.h
-+++ b/backends/libebl_CPU.h
-@@ -1,5 +1,6 @@
- /* Common interface for libebl modules.
-    Copyright (C) 2000, 2001, 2002, 2003, 2005, 2013, 2014 Red Hat, Inc.
-+   Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
-    This file is part of elfutils.
- 
-    This file is free software; you can redistribute it and/or modify
-@@ -53,7 +54,9 @@ extern bool (*generic_debugscn_p) (const
-      dwarf_tag (_die); })
- 
- /* Get a type die corresponding to DIE.  Peel CV qualifiers off
--   it.  */
-+   it.  Returns zero if the DIE doesn't have a type, or the type
-+   is DW_TAG_unspecified_type.  Returns -1 on error.  Otherwise
-+   returns the result tag DW_AT value.  */
- static inline int
- dwarf_peeled_die_type (Dwarf_Die *die, Dwarf_Die *result)
- {
-@@ -69,7 +72,14 @@ dwarf_peeled_die_type (Dwarf_Die *die, D
-   if (dwarf_peel_type (result, result) != 0)
-     return -1;
- 
--  return DWARF_TAG_OR_RETURN (result);
-+  if (result == NULL)
-+    return -1;
-+
-+  int tag = dwarf_tag (result);
-+  if (tag == DW_TAG_unspecified_type)
-+    return 0; /* Treat an unspecified type as if there was no type.  */
-+
-+  return tag;
- }
- 
- #endif	/* libebl_CPU.h */
---- a/tests/funcretval.c
-+++ b/tests/funcretval.c
-@@ -1,5 +1,6 @@
- /* Test program for dwfl_module_return_value_location.
-    Copyright (C) 2005 Red Hat, Inc.
-+   Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
-    This file is part of elfutils.
- 
-    This file is free software; you can redistribute it and/or modify
-@@ -67,7 +68,18 @@ handle_function (Dwarf_Die *funcdie, voi
-     error (EXIT_FAILURE, 0, "dwfl_module_return_value_location: %s",
- 	   dwfl_errmsg (-1));
-   else if (nlocops == 0)
--    puts ("returns no value");
-+    {
-+      // Check if this is the special unspecified type
-+      // https://sourceware.org/bugzilla/show_bug.cgi?id=30047
-+      Dwarf_Die die_mem, *typedie = &die_mem;
-+      Dwarf_Attribute attr_mem, *attr;
-+      attr = dwarf_attr_integrate (funcdie, DW_AT_type, &attr_mem);
-+      if (dwarf_formref_die (attr, typedie) != NULL
-+	  && dwarf_tag (typedie) == DW_TAG_unspecified_type)
-+	puts ("returns unspecified type");
-+      else
-+	puts ("returns no value");
-+    }
-   else
-     {
-       printf ("return value location:");
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index 9457c27..8589de6 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -15,6 +15,7 @@
            file://0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
            file://0009-gdbserver-linux-low.cc-Fix-a-typo-in-ternary-operato.patch \
            file://add-missing-ldflags.patch \
+           file://0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch \
            "
 SRC_URI[sha256sum] = "115ad5c18d69a6be2ab15882d365dda2a2211c14f480b3502c6eba576e2e95a0"
 
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch
new file mode 100644
index 0000000..9adf4a4
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb/0001-aarch64-Check-for-valid-inferior-thread-regcache-bef.patch
@@ -0,0 +1,286 @@
+From b3eff3e15576229af9bae026c5c23ee694b90389 Mon Sep 17 00:00:00 2001
+From: Luis Machado <luis.machado@arm.com>
+Date: Fri, 24 Mar 2023 07:58:38 +0000
+Subject: [PATCH] aarch64: Check for valid inferior thread/regcache before
+ reading pauth registers
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+There were reports of gdb throwing internal errors when calling
+inferior_thread ()/get_current_regcache () on a system with
+Pointer Authentication enabled.
+
+In such cases, gdb produces the following backtrace, or a variation
+of it (for gdb's with the non-address removal implemented only in
+the aarch64-linux-tdep.c file).
+
+../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed.
+A problem internal to GDB has been detected,
+further debugging may prove unreliable.
+----- Backtrace -----
+0xaaaae04a571f gdb_internal_backtrace_1
+        ../../../repos/binutils-gdb/gdb/bt-utils.c:122
+0xaaaae04a57f3 _Z22gdb_internal_backtracev
+        ../../../repos/binutils-gdb/gdb/bt-utils.c:168
+0xaaaae0b52ccf internal_vproblem
+        ../../../repos/binutils-gdb/gdb/utils.c:401
+0xaaaae0b5310b _Z15internal_verrorPKciS0_St9__va_list
+        ../../../repos/binutils-gdb/gdb/utils.c:481
+0xaaaae0e24b8f _Z18internal_error_locPKciS0_z
+        ../../../repos/binutils-gdb/gdbsupport/errors.cc:58
+0xaaaae0a88983 _Z15inferior_threadv
+        ../../../repos/binutils-gdb/gdb/thread.c:86
+0xaaaae0956c87 _Z20get_current_regcachev
+        ../../../repos/binutils-gdb/gdb/regcache.c:428
+0xaaaae035223f aarch64_remove_non_address_bits
+        ../../../repos/binutils-gdb/gdb/aarch64-tdep.c:3572
+0xaaaae03e8abb _Z31gdbarch_remove_non_address_bitsP7gdbarchm
+        ../../../repos/binutils-gdb/gdb/gdbarch.c:3109
+0xaaaae0a692d7 memory_xfer_partial
+        ../../../repos/binutils-gdb/gdb/target.c:1620
+0xaaaae0a695e3 _Z19target_xfer_partialP10target_ops13target_objectPKcPhPKhmmPm
+        ../../../repos/binutils-gdb/gdb/target.c:1684
+0xaaaae0a69e9f target_read_partial
+        ../../../repos/binutils-gdb/gdb/target.c:1937
+0xaaaae0a69fdf _Z11target_readP10target_ops13target_objectPKcPhml
+        ../../../repos/binutils-gdb/gdb/target.c:1977
+0xaaaae0a69937 _Z18target_read_memorymPhl
+        ../../../repos/binutils-gdb/gdb/target.c:1773
+0xaaaae08be523 ps_xfer_memory
+        ../../../repos/binutils-gdb/gdb/proc-service.c:90
+0xaaaae08be6db ps_pdread
+        ../../../repos/binutils-gdb/gdb/proc-service.c:124
+0x40001ed7c3b3 _td_fetch_value
+        /build/glibc-RIFKjK/glibc-2.31/nptl_db/fetch-value.c:115
+0x40001ed791ef td_ta_map_lwp2thr
+        /build/glibc-RIFKjK/glibc-2.31/nptl_db/td_ta_map_lwp2thr.c:194
+0xaaaae07f4473 thread_from_lwp
+        ../../../repos/binutils-gdb/gdb/linux-thread-db.c:413
+0xaaaae07f6d6f _ZN16thread_db_target4waitE6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE
+        ../../../repos/binutils-gdb/gdb/linux-thread-db.c:1420
+0xaaaae0a6b33b _Z11target_wait6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE
+        ../../../repos/binutils-gdb/gdb/target.c:2586
+0xaaaae0789cf7 do_target_wait_1
+        ../../../repos/binutils-gdb/gdb/infrun.c:3825
+0xaaaae0789e6f operator()
+        ../../../repos/binutils-gdb/gdb/infrun.c:3884
+0xaaaae078a167 do_target_wait
+        ../../../repos/binutils-gdb/gdb/infrun.c:3903
+0xaaaae078b0af _Z20fetch_inferior_eventv
+        ../../../repos/binutils-gdb/gdb/infrun.c:4314
+0xaaaae076652f _Z22inferior_event_handler19inferior_event_type
+        ../../../repos/binutils-gdb/gdb/inf-loop.c:41
+0xaaaae07dc68b handle_target_event
+        ../../../repos/binutils-gdb/gdb/linux-nat.c:4206
+0xaaaae0e25fbb handle_file_event
+        ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:573
+0xaaaae0e264f3 gdb_wait_for_event
+        ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:694
+0xaaaae0e24f9b _Z16gdb_do_one_eventi
+        ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:217
+0xaaaae080f033 start_event_loop
+        ../../../repos/binutils-gdb/gdb/main.c:411
+0xaaaae080f1b7 captured_command_loop
+        ../../../repos/binutils-gdb/gdb/main.c:475
+0xaaaae0810b97 captured_main
+        ../../../repos/binutils-gdb/gdb/main.c:1318
+0xaaaae0810c1b _Z8gdb_mainP18captured_main_args
+        ../../../repos/binutils-gdb/gdb/main.c:1337
+0xaaaae0338453 main
+        ../../../repos/binutils-gdb/gdb/gdb.c:32
+---------------------
+../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed.
+A problem internal to GDB has been detected,
+further debugging may prove unreliable.
+Quit this debugging session? (y or n)
+
+We also see failures across the testsuite if the tests get executed on a target
+that has native support for the pointer authentication feature. But
+gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of
+tests that run into errors and internal errors.
+
+This issue started after commit d88cb738e6a7a7179dfaff8af78d69250c852af1, which
+enabled more broad use of pointer authentication masks to remove non-address
+bits of pointers, but wasn't immediately detected because systems with native
+support for pointer authentication are not that common yet.
+
+The above crash happens because gdb is in the middle of handling an event,
+and do_target_wait_1 calls switch_to_inferior_no_thread, nullifying the
+current thread.  This means a call to inferior_thread () will assert, and
+attempting to call get_current_regcache () will also call inferior_thread (),
+resulting in an assertion as well.
+
+target_has_registers was one function that seemed useful for detecting these
+types of situation where we don't have a register cache. The problem with that
+is the inconsistent state of inferior_ptid, which is used by
+target_has_registers.
+
+Despite the call to switch_to_no_thread in switch_to_inferior_no_thread from
+do_target_wait_1 in the backtrace above clearing inferior_ptid, the call to
+ps_xfer_memory sets inferior_ptid momentarily before reading memory:
+
+static ps_err_e
+ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr,
+                gdb_byte *buf, size_t len, int write)
+{
+  scoped_restore_current_inferior restore_inferior;
+  set_current_inferior (ph->thread->inf);
+
+  scoped_restore_current_program_space restore_current_progspace;
+  set_current_program_space (ph->thread->inf->pspace);
+
+  scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
+  inferior_ptid = ph->thread->ptid;
+
+  CORE_ADDR core_addr = ps_addr_to_core_addr (addr);
+
+  int ret;
+  if (write)
+    ret = target_write_memory (core_addr, buf, len);
+  else
+    ret = target_read_memory (core_addr, buf, len);
+  return (ret == 0 ? PS_OK : PS_ERR);
+}
+
+Maybe this shouldn't happen, or maybe it is just an unfortunate state to be
+in. But this prevents the use of target_has_registers to guard against the
+lack of registers, since, although current_thread_ is still nullptr,
+inferior_ptid is valid and is not null_ptid.
+
+There is another crash scenario after we kill a previously active inferior, in
+which case the gdbarch will still say we support pointer authentication but we
+will also have no current thread (inferior_thread () will assert etc).
+
+If the target has support for pointer authentication, gdb needs to use
+a couple (or 4, for bare-metal) mask registers to mask off some bits of
+pointers, and for that it needs to access the registers.
+
+At some points, like the one from the backtrace above, there is no active
+thread/current regcache because gdb is in the middle of doing event handling
+and switching between threads.
+
+Simon suggested the use of inferior_ptid to fetch the register cache, as
+opposed to relying on the current register cache.  Though we need to make sure
+inferior_ptid is valid (not null_ptid), I think this works nicely.
+
+With inferior_ptid, we can do safety checks along the way, making sure we have
+a thread to fetch a register cache from and checking if the thread is actually
+stopped or running.
+
+The following patch implements this idea with safety checks to make sure we
+don't run into assertions or errors.  If any of the checks fail, we fallback to
+using a default mask to remove non-address bits of a pointer.
+
+I discussed with Pedro the possibility of caching the mask register values
+(which are per-process and can change mid-execution), but there isn't a good
+spot to cache those values. Besides, the mask registers can change constantly
+for bare-metal debugging when switching between exception levels.
+
+In some cases, it is just not possible to get access to these mask registers,
+like the case where threads are running. In those cases, using a default mask
+to remove the non-address bits should be enough.
+
+This can happen when we let threads run in the background and then we attempt
+to access a memory address (now that gdb is capable of reading memory even
+with threads running).  Thus gdb will attempt to remove non-address bits
+of that memory access, will attempt to access registers, running into errors.
+
+Regression-tested on aarch64-linux Ubuntu 20.04.
+---
+ gdb/aarch64-linux-tdep.c | 64 ++++++++++++++++++++++++++++++----------
+ 1 file changed, 49 insertions(+), 15 deletions(-)
+
+diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
+index 20a041c599e..4b2915b8e99 100644
+--- a/gdb/aarch64-linux-tdep.c
++++ b/gdb/aarch64-linux-tdep.c
+@@ -57,6 +57,9 @@
+ #include "elf/common.h"
+ #include "elf/aarch64.h"
+ 
++/* For inferior_ptid and current_inferior ().  */
++#include "inferior.h"
++
+ /* Signal frame handling.
+ 
+       +------------+  ^
+@@ -1986,29 +1989,60 @@ aarch64_linux_decode_memtag_section (struct gdbarch *gdbarch,
+ static CORE_ADDR
+ aarch64_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer)
+ {
+-  aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch);
+-
+   /* By default, we assume TBI and discard the top 8 bits plus the VA range
+-     select bit (55).  */
++     select bit (55).  Below we try to fetch information about pointer
++     authentication masks in order to make non-address removal more
++     precise.  */
+   CORE_ADDR mask = AARCH64_TOP_BITS_MASK;
+ 
+-  if (tdep->has_pauth ())
++  /* Check if we have an inferior first.  If not, just use the default
++     mask.
++
++     We use the inferior_ptid here because the pointer authentication masks
++     should be the same across threads of a process.  Since we may not have
++     access to the current thread (gdb may have switched to no inferiors
++     momentarily), we use the inferior ptid.  */
++  if (inferior_ptid != null_ptid)
+     {
+-      /* Fetch the PAC masks.  These masks are per-process, so we can just
+-	 fetch data from whatever thread we have at the moment.
++      /* If we do have an inferior, attempt to fetch its thread's thread_info
++	 struct.  */
++      thread_info *thread
++	= find_thread_ptid (current_inferior ()->process_target (),
++			    inferior_ptid);
+ 
+-	 Also, we have both a code mask and a data mask.  For now they are the
+-	 same, but this may change in the future.  */
+-      struct regcache *regs = get_current_regcache ();
+-      CORE_ADDR cmask, dmask;
++      /* If the thread is running, we will not be able to fetch the mask
++	 registers.  */
++      if (thread != nullptr && thread->state != THREAD_RUNNING)
++	{
++	  /* Otherwise, fetch the register cache and the masks.  */
++	  struct regcache *regs
++	    = get_thread_regcache (current_inferior ()->process_target (),
++				   inferior_ptid);
++
++	  /* Use the gdbarch from the register cache to check for pointer
++	     authentication support, as it matches the features found in
++	     that particular thread.  */
++	  aarch64_gdbarch_tdep *tdep
++	    = gdbarch_tdep<aarch64_gdbarch_tdep> (regs->arch ());
++
++	  /* Is there pointer authentication support?  */
++	  if (tdep->has_pauth ())
++	    {
++	      /* We have both a code mask and a data mask.  For now they are
++		 the same, but this may change in the future.  */
++	      CORE_ADDR cmask, dmask;
+ 
+-      if (regs->cooked_read (tdep->pauth_reg_base, &dmask) != REG_VALID)
+-	dmask = mask;
++	      if (regs->cooked_read (tdep->pauth_reg_base, &dmask)
++		  != REG_VALID)
++		dmask = mask;
+ 
+-      if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) != REG_VALID)
+-	cmask = mask;
++	      if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask)
++		  != REG_VALID)
++		cmask = mask;
+ 
+-      mask |= aarch64_mask_from_pac_registers (cmask, dmask);
++	      mask |= aarch64_mask_from_pac_registers (cmask, dmask);
++	    }
++	}
+     }
+ 
+   return aarch64_remove_top_bits (pointer, mask);
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-attrs_22.2.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_23.1.0.bb
similarity index 63%
rename from poky/meta/recipes-devtools/python/python3-attrs_22.2.0.bb
rename to poky/meta/recipes-devtools/python/python3-attrs_23.1.0.bb
index 8c1ff33..c8e2e51 100644
--- a/poky/meta/recipes-devtools/python/python3-attrs_22.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-attrs_23.1.0.bb
@@ -3,9 +3,14 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887"
 
-SRC_URI[sha256sum] = "c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"
+SRC_URI[sha256sum] = "6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"
 
-inherit pypi python_setuptools_build_meta
+inherit pypi python_hatchling
+
+DEPENDS += " \
+    ${PYTHON_PN}-hatch-vcs-native \
+    ${PYTHON_PN}-hatch-fancy-pypi-readme-native \
+"
 
 RDEPENDS:${PN}:class-target += " \
     ${PYTHON_PN}-crypt \
diff --git a/poky/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch b/poky/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch
new file mode 100644
index 0000000..43f8a78
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-calver/0001-setup.py-hard-code-version.patch
@@ -0,0 +1,32 @@
+From 390a233ed969f82b2ef209b23bfb523e785603f9 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <tgamblin@baylibre.com>
+Date: Tue, 9 May 2023 10:19:41 -0400
+Subject: [PATCH] setup.py: hard-code version
+
+setup.py is pulling the build version from the current date rather than
+a release tag or other predictable method, causing reproducibility 
+issues in builds. Patch this to make reproducible builds work while
+discussing this with upstream maintainer (or developing a patch that can
+make calver rely on a more standard pyproject.toml solution).
+
+Upstream-Status: Inappropriate (configuration)
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 73f6b10..2e27cf1 100644
+--- a/setup.py
++++ b/setup.py
+@@ -42,5 +42,5 @@ setup(
+             "use_calver = calver.integration:version",
+         ],
+     },
+-    version=calver_version(True),
++    version=calver_version("2022.6.26"),
+ )
+-- 
+2.40.0
+
diff --git a/poky/meta/recipes-devtools/python/python3-calver/run-ptest b/poky/meta/recipes-devtools/python/python3-calver/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-calver/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb b/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb
new file mode 100644
index 0000000..58b33f1
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Setuptools extension for CalVer package versions"
+HOMEPAGE = "https://github.com/di/calver"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = " \
+    git://github.com/di/calver;branch=master;protocol=https \
+    file://run-ptest \
+    file://0001-setup.py-hard-code-version.patch \
+"
+SRCREV = "3268d8acf2c345f32a1c5f08ba25dc67f76cca81"
+
+inherit python_setuptools_build_meta ptest
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN}-ptest += " \
+    ${PYTHON_PN}-pretend \
+    ${PYTHON_PN}-pytest \
+    ${PYTHON_PN}-unittest-automake-output \
+"
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/tests
+        cp -rf ${S}/tests ${D}${PTEST_PATH}/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-hatchling_1.13.0.bb b/poky/meta/recipes-devtools/python/python3-hatchling_1.14.1.bb
similarity index 72%
rename from poky/meta/recipes-devtools/python/python3-hatchling_1.13.0.bb
rename to poky/meta/recipes-devtools/python/python3-hatchling_1.14.1.bb
index 17e7f86..a3d2b74 100644
--- a/poky/meta/recipes-devtools/python/python3-hatchling_1.13.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hatchling_1.14.1.bb
@@ -5,10 +5,10 @@
 
 inherit pypi python_hatchling
 
-DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native"
+DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native"
 DEPENDS:remove:class-native = "python3-hatchling-native"
 
-SRC_URI[sha256sum] = "f8d275a2cc720735286b7c2e2bc35da05761e6d3695c2fa416550395f10c53c7"
+SRC_URI[sha256sum] = "55fbc88cbd0d96c09c3e9392b51db513fd4cb4caf47615d65f935a5ef1756133"
 
 do_compile:prepend() {
     export PYTHONPATH=src
diff --git a/poky/meta/recipes-devtools/python/python3-requests_2.28.2.bb b/poky/meta/recipes-devtools/python/python3-requests_2.30.0.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-requests_2.28.2.bb
rename to poky/meta/recipes-devtools/python/python3-requests_2.30.0.bb
index 8ab1ec0..1286eba 100644
--- a/poky/meta/recipes-devtools/python/python3-requests_2.28.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-requests_2.30.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
 
-SRC_URI[sha256sum] = "98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"
+SRC_URI[sha256sum] = "239d7d4458afcb28a692cdd298d87542235f4ca8d36d03a15bfc128a6559a2f4"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest b/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.4.29.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.4.29.bb
new file mode 100644
index 0000000..4bbcea5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.4.29.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Canonical source for classifiers on PyPI (pypi.org)."
+HOMEPAGE = "https://github.com/pypa/trove-classifiers"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI[sha256sum] = "8adcc06f1eb7c495f0bdceb698bd9c044b3e57b0d5767d99ec4b6b17c9bbe957"
+
+inherit pypi python_setuptools_build_meta ptest
+
+DEPENDS += " python3-calver-native"
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+       ${PYTHON_PN}-pytest \
+       ${PYTHON_PN}-unittest-automake-output \
+"
+
+do_install_ptest() {
+      install -d ${D}${PTEST_PATH}/tests
+      cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb b/poky/meta/recipes-devtools/python/python3-urllib3_2.0.2.bb
similarity index 79%
rename from poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb
rename to poky/meta/recipes-devtools/python/python3-urllib3_2.0.2.bb
index d2de7c4..bc1cdb0 100644
--- a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.15.bb
+++ b/poky/meta/recipes-devtools/python/python3-urllib3_2.0.2.bb
@@ -3,15 +3,16 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c"
 
-SRC_URI[sha256sum] = "8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"
+SRC_URI[sha256sum] = "61717a1095d7e155cdb737ac7bb2f4324a858a1e2e6466f6d03ff630ca68d3cc"
 
-inherit pypi setuptools3
+inherit pypi python_hatchling
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-certifi \
     ${PYTHON_PN}-cryptography \
     ${PYTHON_PN}-email \
     ${PYTHON_PN}-idna \
+    ${PYTHON_PN}-json \
     ${PYTHON_PN}-netclient \
     ${PYTHON_PN}-pyopenssl \
     ${PYTHON_PN}-threading \
diff --git a/poky/meta/recipes-devtools/python/python3_3.11.2.bb b/poky/meta/recipes-devtools/python/python3_3.11.2.bb
index 5bd8d32..421a305 100644
--- a/poky/meta/recipes-devtools/python/python3_3.11.2.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.11.2.bb
@@ -72,11 +72,11 @@
 ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
 
 
-DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses"
+DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses"
 DEPENDS:append:class-target = " python3-native"
 DEPENDS:append:class-nativesdk = " python3-native"
 
-EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}"
+EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib} --with-system-expat"
 EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}"
 EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3"
 EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3"
@@ -95,17 +95,15 @@
 "
 
 # PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407
-PACKAGECONFIG:class-target ??= "readline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
-PACKAGECONFIG:class-native ??= "readline gdbm"
-PACKAGECONFIG:class-nativesdk ??= "readline gdbm"
-PACKAGECONFIG[readline] = ",,readline"
+PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
+PACKAGECONFIG[readline] = "--with-readline=readline,,readline,,,editline"
 PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline"
 # Use profile guided optimisation by running PyBench inside qemu-user
 PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
 PACKAGECONFIG[tk] = ",,tk"
 PACKAGECONFIG[tcl] = ",,tcl"
 PACKAGECONFIG[gdbm] = ",,gdbm"
-PACKAGECONFIG[lto] = "--with-lto,,"
+PACKAGECONFIG[lto] = "--with-lto,--without-lto"
 
 do_configure:prepend () {
     mkdir -p ${B}/Modules
diff --git a/poky/meta/recipes-devtools/qemu/qemu/ppc.patch b/poky/meta/recipes-devtools/qemu/qemu/ppc.patch
index ade1daf..e14c48c 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/ppc.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/ppc.patch
@@ -1,70 +1,148 @@
-target/ppc: Fix fallback to MFSS for MFFSCRN, MFFSCRNI, MFFSCE and MFFSL
+From 31f02021ac17442c514593f7b9ed750ea87c21b1 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sat, 6 May 2023 07:42:35 +0100
+Cc: Víctor Colombo <victor.colombo@eldorado.org.br>
+Cc: Matheus Ferst <matheus.ferst@eldorado.org.br>
+Cc: Daniel Henrique Barboza <danielhb413@gmail.com>
+Cc: Richard Henderson <richard.henderson@linaro.org>
+Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
+Subject: [PATCH v3] target/ppc: Fix fallback to MFSS for MFFS* instructions on
+ pre 3.0 ISAs
 
-The following commits changed the code such that these instructions became invalid
-on pre 3.0 ISAs:
+The following commits changed the code such that the fallback to MFSS for MFFSCRN,
+MFFSCRNI, MFFSCE and MFFSL on pre 3.0 ISAs was removed and became an illegal instruction:
 
-  bf8adfd88b547680aa857c46098f3a1e94373160 - target/ppc: Move mffscrn[i] to decodetree 
+  bf8adfd88b547680aa857c46098f3a1e94373160 - target/ppc: Move mffscrn[i] to decodetree
   394c2e2fda70da722f20fb60412d6c0ca4bfaa03 - target/ppc: Move mffsce to decodetree
-  3e5bce70efe6bd1f684efbb21fd2a316cbf0657e - target/ppc: Move mffsl to decodetree 
+  3e5bce70efe6bd1f684efbb21fd2a316cbf0657e - target/ppc: Move mffsl to decodetree
 
 The hardware will handle them as a MFFS instruction as the code did previously.
-Restore that behaviour. This means applications that were segfaulting under qemu 
-when encountering these instructions now operate correctly. The instruction
-is used in glibc libm functions for example.
+This means applications that were segfaulting under qemu when encountering these
+instructions which is used in glibc libm functions for example.
 
-Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20230504110150.3044402-1-richard.purdie@linuxfoundation.org/]
+The fallback for MFFSCDRN and MFFSCDRNI added in a later patch was also missing.
+
+This patch restores the fallback to MFSS for these instructions on pre 3.0s ISAs
+as the hardware decoder would, fixing the segfaulting libm code. It doesn't have
+the fallback for 3.0 onwards to match hardware behaviour.
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ target/ppc/insn32.decode           | 20 +++++++++++++-------
+ target/ppc/translate/fp-impl.c.inc | 22 ++++++++++++++++------
+ 2 files changed, 29 insertions(+), 13 deletions(-)
 
-Index: qemu-8.0.0/target/ppc/translate/fp-impl.c.inc
-===================================================================
---- qemu-8.0.0.orig/target/ppc/translate/fp-impl.c.inc
-+++ qemu-8.0.0/target/ppc/translate/fp-impl.c.inc
-@@ -584,7 +584,10 @@ static bool trans_MFFSCE(DisasContext *c
+v3 - drop fallback to MFFS for 3.0 ISA to match hardware
+v2 - switch to use decodetree pattern groups per feedback
+
+Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20230506065240.3177798-1-richard.purdie@linuxfoundation.org/]
+
+diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode
+index f8f589e9fd..4fcf3af8d0 100644
+--- a/target/ppc/insn32.decode
++++ b/target/ppc/insn32.decode
+@@ -390,13 +390,19 @@ SETNBCR         011111 ..... ..... ----- 0111100000 -   @X_bi
+ 
+ ### Move To/From FPSCR
+ 
+-MFFS            111111 ..... 00000 ----- 1001000111 .   @X_t_rc
+-MFFSCE          111111 ..... 00001 ----- 1001000111 -   @X_t
+-MFFSCRN         111111 ..... 10110 ..... 1001000111 -   @X_tb
+-MFFSCDRN        111111 ..... 10100 ..... 1001000111 -   @X_tb
+-MFFSCRNI        111111 ..... 10111 ---.. 1001000111 -   @X_imm2
+-MFFSCDRNI       111111 ..... 10101 --... 1001000111 -   @X_imm3
+-MFFSL           111111 ..... 11000 ----- 1001000111 -   @X_t
++{
++  # Before Power ISA v3.0, MFFS bits 11~15 were reserved and should be ignored
++  MFFS_ISA207     111111 ..... ----- ----- 1001000111 .   @X_t_rc
++  [
++    MFFS            111111 ..... 00000 ----- 1001000111 .   @X_t_rc
++    MFFSCE          111111 ..... 00001 ----- 1001000111 -   @X_t
++    MFFSCRN         111111 ..... 10110 ..... 1001000111 -   @X_tb
++    MFFSCDRN        111111 ..... 10100 ..... 1001000111 -   @X_tb
++    MFFSCRNI        111111 ..... 10111 ---.. 1001000111 -   @X_imm2
++    MFFSCDRNI       111111 ..... 10101 --... 1001000111 -   @X_imm3
++    MFFSL           111111 ..... 11000 ----- 1001000111 -   @X_t
++  ]
++}
+ 
+ ### Decimal Floating-Point Arithmetic Instructions
+ 
+diff --git a/target/ppc/translate/fp-impl.c.inc b/target/ppc/translate/fp-impl.c.inc
+index 57d8437851..874774eade 100644
+--- a/target/ppc/translate/fp-impl.c.inc
++++ b/target/ppc/translate/fp-impl.c.inc
+@@ -568,6 +568,22 @@ static void store_fpscr_masked(TCGv_i64 fpscr, uint64_t clear_mask,
+     gen_helper_store_fpscr(cpu_env, fpscr_masked, st_mask);
+ }
+ 
++static bool trans_MFFS_ISA207(DisasContext *ctx, arg_X_t_rc *a)
++{
++    if (!(ctx->insns_flags2 & PPC2_ISA300)) {
++        /*
++         * Before Power ISA v3.0, MFFS bits 11~15 were reserved, any instruction
++         * with OPCD=63 and XO=583 should be decoded as MFFS.
++         */
++        return trans_MFFS(ctx, a);
++    }
++    /*
++     * For Power ISA v3.0+, return false and let the pattern group
++     * select the correct instruction.
++     */
++    return false;
++}
++
+ static bool trans_MFFS(DisasContext *ctx, arg_X_t_rc *a)
+ {
+     REQUIRE_FPU(ctx);
+@@ -584,7 +600,6 @@ static bool trans_MFFSCE(DisasContext *ctx, arg_X_t *a)
  {
      TCGv_i64 fpscr;
  
 -    REQUIRE_INSNS_FLAGS2(ctx, ISA300);
-+    if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) {
-+        return trans_MFFS(ctx, a);
-+    }
-+
      REQUIRE_FPU(ctx);
  
      gen_reset_fpstatus();
-@@ -597,7 +600,10 @@ static bool trans_MFFSCRN(DisasContext *
+@@ -597,7 +612,6 @@ static bool trans_MFFSCRN(DisasContext *ctx, arg_X_tb *a)
  {
      TCGv_i64 t1, fpscr;
  
 -    REQUIRE_INSNS_FLAGS2(ctx, ISA300);
-+    if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) {
-+        return trans_MFFS(ctx, a);
-+    }
-+
      REQUIRE_FPU(ctx);
  
      t1 = tcg_temp_new_i64();
-@@ -631,7 +637,10 @@ static bool trans_MFFSCRNI(DisasContext
+@@ -614,7 +628,6 @@ static bool trans_MFFSCDRN(DisasContext *ctx, arg_X_tb *a)
  {
      TCGv_i64 t1, fpscr;
  
 -    REQUIRE_INSNS_FLAGS2(ctx, ISA300);
-+    if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) {
-+        return trans_MFFS(ctx, a);
-+    }
-+
      REQUIRE_FPU(ctx);
  
      t1 = tcg_temp_new_i64();
-@@ -661,7 +670,10 @@ static bool trans_MFFSCDRNI(DisasContext
+@@ -631,7 +644,6 @@ static bool trans_MFFSCRNI(DisasContext *ctx, arg_X_imm2 *a)
+ {
+     TCGv_i64 t1, fpscr;
+ 
+-    REQUIRE_INSNS_FLAGS2(ctx, ISA300);
+     REQUIRE_FPU(ctx);
+ 
+     t1 = tcg_temp_new_i64();
+@@ -647,7 +659,6 @@ static bool trans_MFFSCDRNI(DisasContext *ctx, arg_X_imm3 *a)
+ {
+     TCGv_i64 t1, fpscr;
+ 
+-    REQUIRE_INSNS_FLAGS2(ctx, ISA300);
+     REQUIRE_FPU(ctx);
+ 
+     t1 = tcg_temp_new_i64();
+@@ -661,7 +672,6 @@ static bool trans_MFFSCDRNI(DisasContext *ctx, arg_X_imm3 *a)
  
  static bool trans_MFFSL(DisasContext *ctx, arg_X_t *a)
  {
 -    REQUIRE_INSNS_FLAGS2(ctx, ISA300);
-+    if (unlikely(!(ctx->insns_flags2 & PPC2_ISA300))) {
-+        return trans_MFFS(ctx, a);
-+    }
-+
      REQUIRE_FPU(ctx);
  
      gen_reset_fpstatus();
+-- 
+2.39.2
+
diff --git a/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest b/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest
old mode 100644
new mode 100755
index f027574..f35a756
--- a/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest
+++ b/poky/meta/recipes-extended/cpio/cpio-2.13/run-ptest
@@ -1,10 +1,3 @@
 #!/bin/sh
 
-# Define cpio test work dir
-WORKDIR=@PTEST_PATH@/tests/
-
-# Run test
-cd ${WORKDIR}
-./atconfig ./atlocal ./testsuite
-
-./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g'
+su -c ./test.sh ptest
diff --git a/poky/meta/recipes-extended/cpio/cpio-2.13/test.sh b/poky/meta/recipes-extended/cpio/cpio-2.13/test.sh
new file mode 100644
index 0000000..f027574
--- /dev/null
+++ b/poky/meta/recipes-extended/cpio/cpio-2.13/test.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Define cpio test work dir
+WORKDIR=@PTEST_PATH@/tests/
+
+# Run test
+cd ${WORKDIR}
+./atconfig ./atlocal ./testsuite
+
+./testsuite 2>&1 | grep -E '[0-9]{1,3}: ' | sed -e 's/^.....//' -e '/[ok]$/s/^/PASS: /;/FAILED (.*)/s/^/FAIL: /;/skipped (.*)/s/^/SKIP: /;/expected failure/ s/^/PASS: /;/UNEXPECTED PASS/s/^/FAIL: /' -e 's/ok$//g' -e 's/FAILED.*//g' -e 's/skipped.*//g' -e 's/expected failure.*//g' -e 's/UNEXPECTED PASS.*//g'
diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb
index df5e09c..55bcc60 100644
--- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb
+++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -14,6 +14,7 @@
            file://0001-Use-__alignof__-with-clang.patch \
            file://0001-Wrong-CRC-with-ASCII-CRC-for-large-files.patch \
            file://run-ptest \
+           file://test.sh \
            "
 
 SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"
@@ -57,9 +58,24 @@
     install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
     install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
     install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
-    sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest
+    install --mode=755 ${WORKDIR}/test.sh ${D}${PTEST_PATH}/test.sh
+    sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh
 }
 
+# ptest.bbclass currently chowns the ptest directory explicitly, so we need to
+# change permission after that has happened so the ptest user can write a
+# temporary directory.
+do_install_ptest_base:append() {
+    chgrp -R ptest ${D}${PTEST_PATH}/
+    chmod -R g+w ${D}${PTEST_PATH}/
+}
+
+# The tests need to run as a non-root user, so pull in the ptest user
+DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}"
+PACKAGE_WRITE_DEPS += "ptest-runner"
+
+RDEPENDS:${PN}-ptest += "ptest-runner"
+
 PACKAGES =+ "${PN}-rmt"
 
 FILES:${PN}-rmt = "${sbindir}/rmt*"
diff --git a/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb b/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb
index 0cc466b..239d980 100644
--- a/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb
+++ b/poky/meta/recipes-gnome/gcr/gcr_4.1.0.bb
@@ -17,8 +17,7 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 GTKDOC_MESON_OPTION = "gtk_doc"
-inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
-UPSTREAM_CHECK_REGEX = "gcr-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
+inherit gnomebase gtk-icon-cache gi-docgen features_check vala gobject-introspection gettext mime mime-xdg
 
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
 
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
index 7db43a8..f84d9bb 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
@@ -40,8 +40,7 @@
 inherit autotools pkgconfig
 
 PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc \
-                   alsa bzlib lzma pic pthreads shared theora zlib \
-                   ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
+                   alsa bzlib lzma theora zlib \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
 
 # libraries to build in addition to avutil
@@ -71,6 +70,7 @@
 PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
 PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt"
 PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
+PACKAGECONFIG[v4l2] = "--enable-libv4l2,--disable-libv4l2,v4l-utils"
 PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
 PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
 PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
@@ -80,13 +80,6 @@
 PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
 PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
 
-# other configuration options
-PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
-PACKAGECONFIG[pic] = "--enable-pic"
-PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
-PACKAGECONFIG[shared] = "--enable-shared"
-PACKAGECONFIG[strip] = ",--disable-stripping"
-
 # Check codecs that require --enable-nonfree
 USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
 
@@ -97,6 +90,10 @@
     return 'generic'
 
 EXTRA_OECONF = " \
+    --disable-stripping \
+    --enable-pic \
+    --enable-shared \
+    --enable-pthreads \
     ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
     \
     --cross-prefix=${TARGET_PREFIX} \
@@ -114,6 +111,7 @@
     --libdir=${libdir} \
     --shlibdir=${libdir} \
     --datadir=${datadir}/ffmpeg \
+    ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
     --cpu=${@cpu(d)} \
     --pkg-config=pkg-config \
 "
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.2.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.2.bb
index 3e9a789..8b282bb 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.2.bb
@@ -12,7 +12,7 @@
            file://0001-connect-has-a-different-signature-on-musl.patch \
            "
 
-SRC_URI[sha256sum] = "4d21fee5c15f2877c0b1f6c2da0cdba67ce7caab2c199ab27e91a1394d5ba195"
+SRC_URI[sha256sum] = "eb62726d3e27a8782369a24fd6364a8885ed2462b3bbdab091dffc8139ee06d8"
 
 DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
 RRECOMMENDS:${PN} = "git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
deleted file mode 100644
index 0a06540..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/ffmpeg-6.0.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From cde31d23c071ee93fae96331805f696856084254 Mon Sep 17 00:00:00 2001
-From: "U. Artie Eoff" <ullysses.a.eoff@intel.com>
-Date: Mon, 13 Feb 2023 17:02:01 -0500
-Subject: [PATCH] avviddec: change
- AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
-
-This fixes a compile error with recent upstream FFmpeg.
-
-The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
-AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
-7d09579190de (lavc 58.132.100).
-
-The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
-commit 10c9a0874cb3 (lavc 59.63.100).
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3964>
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/cde31d23c071ee93fae96331805f696856084254?merge_request_iid=3964]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- ext/libav/gstavviddec.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
-index 43cea456ae8..6d7c4cd0de8 100644
---- a/ext/libav/gstavviddec.c
-+++ b/ext/libav/gstavviddec.c
-@@ -35,6 +35,10 @@
- 
- GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
- 
-+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,132,100)
-+#define AV_CODEC_CAP_OTHER_THREADS AV_CODEC_CAP_AUTO_THREADS
-+#endif
-+
- #define GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED (1<<15)
- 
- #define MAX_TS_MASK 0xff
-@@ -615,7 +619,7 @@ gst_ffmpegviddec_set_format (GstVideoDecoder * decoder,
-   if (ffmpegdec->max_threads == 0) {
-     /* When thread type is FF_THREAD_FRAME, extra latency is introduced equal
-      * to one frame per thread. We thus need to calculate the thread count ourselves */
--    if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_AUTO_THREADS)) ||
-+    if ((!(oclass->in_plugin->capabilities & AV_CODEC_CAP_OTHER_THREADS)) ||
-         (ffmpegdec->context->thread_type & FF_THREAD_FRAME))
-       ffmpegdec->context->thread_count =
-           MIN (gst_ffmpeg_auto_max_threads (), 16);
--- 
-GitLab
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.2.bb
similarity index 85%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.2.bb
index d1dce67..ed3dbac 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.2.bb
@@ -11,10 +11,8 @@
                     file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
                     "
 
-SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \
-           file://ffmpeg-6.0.patch \
-          "
-SRC_URI[sha256sum] = "0e48407b4905227a260213dbda84cba3812f0530fc7a75b43829102ef82810f1"
+SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
+SRC_URI[sha256sum] = "fcaaf9878fe8f3bc82317ef13a1558824cb68df1f8968c6797f556c5e33bcffd"
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.2.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.2.bb
index ed4c445..d2d2305 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.2.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "dbc951a99af532380e599aa8acd9e1385fdb299b46b5868cd2be4230ad888341"
+SRC_URI[sha256sum] = "1b0c57f2cc4ddeec5e7f0c436e502f06665c4e93c73261855b94e04fc94337b2"
 
 S = "${WORKDIR}/gst-omx-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.2.bb
similarity index 98%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.2.bb
index bb6bcb4..6260f95 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.2.bb
@@ -10,7 +10,7 @@
            file://0002-avoid-including-sys-poll.h-directly.patch \
            file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
            "
-SRC_URI[sha256sum] = "3c9d9300f5f4fb3e3d36009379d1fb6d9ecd79c1a135df742b8a68417dd663a1"
+SRC_URI[sha256sum] = "3d8faf1ce3402c8535ce3a8c4e1a6c960e4b5655dbda6b55943db9ac79022d0f"
 
 S = "${WORKDIR}/gst-plugins-bad-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.2.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.2.bb
index 91c072a..c1e5d0c 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.2.bb
@@ -11,7 +11,7 @@
            file://0003-viv-fb-Make-sure-config.h-is-included.patch \
            file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
            "
-SRC_URI[sha256sum] = "f53672294f3985d56355c8b1df8f6b49c8c8721106563e19f53be3507ff2229d"
+SRC_URI[sha256sum] = "eb65120c4ee79b7a153c3c1972d5c0158c2151877cc51ec7725bba5749679d49"
 
 S = "${WORKDIR}/gst-plugins-base-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.2.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.2.bb
index 67a6a22..a935294 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.2.bb
@@ -8,7 +8,7 @@
            file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
            file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
 
-SRC_URI[sha256sum] = "582e617271e7f314d1a2211e3e3856ae2e4303c8c0d6114e9c4a5ea5719294b0"
+SRC_URI[sha256sum] = "7c8cc59425f2b232f60ca7d13e56edd615da4f711e73dd01a7cffa46e6bc0cdd"
 
 S = "${WORKDIR}/gst-plugins-good-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.2.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.2.bb
index 35baaea..dc81bf2 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.2.bb
@@ -14,7 +14,7 @@
 SRC_URI = " \
             https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
             "
-SRC_URI[sha256sum] = "a644dc981afa2d8d3a913f763ab9523c0620ee4e65a7ec73c7721c29da3c5a0c"
+SRC_URI[sha256sum] = "8f30f44db0bd063709bf6fbe55138e3a98af0abcb61c360f35582bbe10e80691"
 
 S = "${WORKDIR}/gst-plugins-ugly-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb
index c447f2c..52d987e 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6c63ad364ca4617eb2cbb3975ab26c66760eb3c7a6adf5be69f99c11e21ef3a5"
+SRC_URI[sha256sum] = "bef2b3d82ce4be46b775b1bb56305c1003ee01b535a53a82f9fe8924972153ad"
 
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
 RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.2.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.2.bb
index f943c82..02c2bad 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.2.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "aea24eeb59ee5fadfac355de2f7cecb51966c3e147e5ad7cfb4c314f1a4086ed"
+SRC_URI[sha256sum] = "2be4aecfb88710100ea7115ed0216403e8094344ebf146094271b8d4d73828bf"
 
 S = "${WORKDIR}/${PNREAL}-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.2.bb
similarity index 85%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.2.bb
index 8a703f5..6111720 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.2.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "593ccad19f88e5fa29f40f98356c007806bd535828707b1406944d16a90bdff5"
+SRC_URI[sha256sum] = "d2e642f9745f97d9f73a7f5085e7659a9a31fe209b774e6e45dae041b435df06"
 
 S = "${WORKDIR}/${REALPN}-${PV}"
 DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
@@ -51,10 +51,3 @@
 FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
 FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
 FILES:${PN}-tests = "${bindir}/*"
-
-# correct .pc install location - fixed in upstream trunk
-do_install:append() {
-    mkdir -p ${D}/${libdir}/pkgconfig
-    mv ${D}/${libdir}/gstreamer-1.0/pkgconfig/*.pc ${D}/${libdir}/pkgconfig
-    rmdir ${D}/${libdir}/gstreamer-1.0/pkgconfig/
-}
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.2.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.2.bb
index 11002e6..f6dd2c1 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.2.bb
@@ -22,7 +22,7 @@
            file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
            file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
            "
-SRC_URI[sha256sum] = "78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09"
+SRC_URI[sha256sum] = "b2afe73603921c608ba48969dbb7d743776744bfe5d8059ece241137b7f88e21"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
                    check \
diff --git a/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch b/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch
deleted file mode 100644
index 17b37be..0000000
--- a/poky/meta/recipes-multimedia/libtiff/files/0001-Revised-handling-of-TIFFTAG_INKNAMES-and-related-TIF.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From f00484b9519df933723deb38fff943dc291a793d Mon Sep 17 00:00:00 2001
-From: Su_Laus <sulau@freenet.de>
-Date: Tue, 30 Aug 2022 16:56:48 +0200
-Subject: [PATCH] Revised handling of TIFFTAG_INKNAMES and related
- TIFFTAG_NUMBEROFINKS value
-
-In order to solve the buffer overflow issues related to TIFFTAG_INKNAMES and related TIFFTAG_NUMBEROFINKS value, a revised handling of those tags within LibTiff is proposed:
-
-Behaviour for writing:
-    `NumberOfInks`  MUST fit to the number of inks in the `InkNames` string.
-    `NumberOfInks` is automatically set when `InkNames` is set.
-    If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
-    If `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
-
-Behaviour for reading:
-    When reading `InkNames` from a TIFF file, the `NumberOfInks` will be set automatically to the number of inks in `InkNames` string.
-    If `NumberOfInks` is different to the number of inks within `InkNames` string, that will be corrected and a warning is issued.
-    If  `NumberOfInks` is not equal to samplesperpixel only a warning will be issued.
-
-This allows the safe use of the NumberOfInks value to read out the InkNames without buffer overflow
-
-This MR will close the following issues:  #149, #150, #152, #168 (to be checked), #250, #269, #398 and #456.
-
-It also fixes the old bug at http://bugzilla.maptools.org/show_bug.cgi?id=2599, for which the limitation of `NumberOfInks = SPP` was introduced, which is in my opinion not necessary and does not solve the general issue.
-
-CVE: CVE-2022-3599 CVE-2022-4645
-Upstream-Status: Backport [https://gitlab.com/libtiff/libtiff/-/commit/e813112545942107551433d61afd16ac094ff246.patch]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-Signed-off-by: Pawan Badganchi <Pawan.Badganchi@kpit.com>
----
- libtiff/tif_dir.c      | 119 ++++++++++++++++++++++++-----------------
- libtiff/tif_dir.h      |   2 +
- libtiff/tif_dirinfo.c  |   2 +-
- libtiff/tif_dirwrite.c |   5 ++
- libtiff/tif_print.c    |   4 ++
- 5 files changed, 82 insertions(+), 50 deletions(-)
-
-diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
-index 793e8a79..816f7756 100644
---- a/libtiff/tif_dir.c
-+++ b/libtiff/tif_dir.c
-@@ -136,32 +136,30 @@ setExtraSamples(TIFF* tif, va_list ap, uint32_t* v)
- }
- 
- /*
-- * Confirm we have "samplesperpixel" ink names separated by \0.  Returns 
-+ * Count ink names separated by \0.  Returns
-  * zero if the ink names are not as expected.
-  */
--static uint32_t
--checkInkNamesString(TIFF* tif, uint32_t slen, const char* s)
-+static uint16_t
-+countInkNamesString(TIFF *tif, uint32_t slen, const char *s)
- {
--	TIFFDirectory* td = &tif->tif_dir;
--	uint16_t i = td->td_samplesperpixel;
-+	uint16_t i = 0;
-+	const char *ep = s + slen;
-+	const char *cp = s;
- 
- 	if (slen > 0) {
--		const char* ep = s+slen;
--		const char* cp = s;
--		for (; i > 0; i--) {
-+		do {
- 			for (; cp < ep && *cp != '\0'; cp++) {}
- 			if (cp >= ep)
- 				goto bad;
- 			cp++;				/* skip \0 */
--		}
--		return ((uint32_t)(cp - s));
-+			i++;
-+		} while (cp < ep);
-+		return (i);
- 	}
- bad:
- 	TIFFErrorExt(tif->tif_clientdata, "TIFFSetField",
--	    "%s: Invalid InkNames value; expecting %"PRIu16" names, found %"PRIu16,
--	    tif->tif_name,
--	    td->td_samplesperpixel,
--	    (uint16_t)(td->td_samplesperpixel-i));
-+		"%s: Invalid InkNames value; no NUL at given buffer end location %"PRIu32", after %"PRIu16" ink",
-+		tif->tif_name, slen, i);
- 	return (0);
- }
- 
-@@ -478,13 +476,61 @@ _TIFFVSetField(TIFF* tif, uint32_t tag, va_list ap)
- 		_TIFFsetFloatArray(&td->td_refblackwhite, va_arg(ap, float*), 6);
- 		break;
- 	case TIFFTAG_INKNAMES:
--		v = (uint16_t) va_arg(ap, uint16_vap);
--		s = va_arg(ap, char*);
--		v = checkInkNamesString(tif, v, s);
--		status = v > 0;
--		if( v > 0 ) {
--			_TIFFsetNString(&td->td_inknames, s, v);
--			td->td_inknameslen = v;
-+		{
-+			v = (uint16_t) va_arg(ap, uint16_vap);
-+			s = va_arg(ap, char*);
-+			uint16_t ninksinstring;
-+			ninksinstring = countInkNamesString(tif, v, s);
-+			status = ninksinstring > 0;
-+			if(ninksinstring > 0 ) {
-+				_TIFFsetNString(&td->td_inknames, s, v);
-+				td->td_inknameslen = v;
-+				/* Set NumberOfInks to the value ninksinstring */
-+				if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS))
-+				{
-+					if (td->td_numberofinks != ninksinstring) {
-+						TIFFErrorExt(tif->tif_clientdata, module,
-+							"Warning %s; Tag %s:\n  Value %"PRIu16" of NumberOfInks is different from the number of inks %"PRIu16".\n  -> NumberOfInks value adapted to %"PRIu16"",
-+							tif->tif_name, fip->field_name, td->td_numberofinks, ninksinstring, ninksinstring);
-+						td->td_numberofinks = ninksinstring;
-+					}
-+				} else {
-+					td->td_numberofinks = ninksinstring;
-+					TIFFSetFieldBit(tif, FIELD_NUMBEROFINKS);
-+				}
-+				if (TIFFFieldSet(tif, FIELD_SAMPLESPERPIXEL))
-+				{
-+					if (td->td_numberofinks != td->td_samplesperpixel) {
-+						TIFFErrorExt(tif->tif_clientdata, module,
-+							"Warning %s; Tag %s:\n  Value %"PRIu16" of NumberOfInks is different from the SamplesPerPixel value %"PRIu16"",
-+							tif->tif_name, fip->field_name, td->td_numberofinks, td->td_samplesperpixel);
-+					}
-+				}
-+			}
-+		}
-+		break;
-+	case TIFFTAG_NUMBEROFINKS:
-+		v = (uint16_t)va_arg(ap, uint16_vap);
-+		/* If InkNames already set also NumberOfInks is set accordingly and should be equal */
-+		if (TIFFFieldSet(tif, FIELD_INKNAMES))
-+		{
-+			if (v != td->td_numberofinks) {
-+				TIFFErrorExt(tif->tif_clientdata, module,
-+					"Error %s; Tag %s:\n  It is not possible to set the value %"PRIu32" for NumberOfInks\n  which is different from the number of inks in the InkNames tag (%"PRIu16")",
-+					tif->tif_name, fip->field_name, v, td->td_numberofinks);
-+				/* Do not set / overwrite number of inks already set by InkNames case accordingly. */
-+				status = 0;
-+			}
-+		} else {
-+			td->td_numberofinks = (uint16_t)v;
-+			if (TIFFFieldSet(tif, FIELD_SAMPLESPERPIXEL))
-+			{
-+				if (td->td_numberofinks != td->td_samplesperpixel) {
-+					TIFFErrorExt(tif->tif_clientdata, module,
-+						"Warning %s; Tag %s:\n  Value %"PRIu32" of NumberOfInks is different from the SamplesPerPixel value %"PRIu16"",
-+						tif->tif_name, fip->field_name, v, td->td_samplesperpixel);
-+				}
-+			}
- 		}
- 		break;
- 	case TIFFTAG_PERSAMPLE:
-@@ -986,34 +1032,6 @@ _TIFFVGetField(TIFF* tif, uint32_t tag, va_list ap)
- 	if (fip->field_bit == FIELD_CUSTOM) {
- 		standard_tag = 0;
- 	}
--	
--        if( standard_tag == TIFFTAG_NUMBEROFINKS )
--        {
--            int i;
--            for (i = 0; i < td->td_customValueCount; i++) {
--                uint16_t val;
--                TIFFTagValue *tv = td->td_customValues + i;
--                if (tv->info->field_tag != standard_tag)
--                    continue;
--                if( tv->value == NULL )
--                    return 0;
--                val = *(uint16_t *)tv->value;
--                /* Truncate to SamplesPerPixel, since the */
--                /* setting code for INKNAMES assume that there are SamplesPerPixel */
--                /* inknames. */
--                /* Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2599 */
--                if( val > td->td_samplesperpixel )
--                {
--                    TIFFWarningExt(tif->tif_clientdata,"_TIFFVGetField",
--                                   "Truncating NumberOfInks from %u to %"PRIu16,
--                                   val, td->td_samplesperpixel);
--                    val = td->td_samplesperpixel;
--                }
--                *va_arg(ap, uint16_t*) = val;
--                return 1;
--            }
--            return 0;
--        }
- 
- 	switch (standard_tag) {
- 		case TIFFTAG_SUBFILETYPE:
-@@ -1195,6 +1213,9 @@ _TIFFVGetField(TIFF* tif, uint32_t tag, va_list ap)
- 		case TIFFTAG_INKNAMES:
- 			*va_arg(ap, const char**) = td->td_inknames;
- 			break;
-+		case TIFFTAG_NUMBEROFINKS:
-+			*va_arg(ap, uint16_t *) = td->td_numberofinks;
-+			break;
- 		default:
- 			{
- 				int i;
-diff --git a/libtiff/tif_dir.h b/libtiff/tif_dir.h
-index 09065648..0c251c9e 100644
---- a/libtiff/tif_dir.h
-+++ b/libtiff/tif_dir.h
-@@ -117,6 +117,7 @@ typedef struct {
- 	/* CMYK parameters */
- 	int     td_inknameslen;
- 	char*   td_inknames;
-+	uint16_t td_numberofinks;                 /* number of inks in InkNames string */
- 
- 	int     td_customValueCount;
-         TIFFTagValue *td_customValues;
-@@ -174,6 +175,7 @@ typedef struct {
- #define FIELD_TRANSFERFUNCTION         44
- #define FIELD_INKNAMES                 46
- #define FIELD_SUBIFD                   49
-+#define FIELD_NUMBEROFINKS             50
- /*      FIELD_CUSTOM (see tiffio.h)    65 */
- /* end of support for well-known tags; codec-private tags follow */
- #define FIELD_CODEC                    66  /* base of codec-private tags */
-diff --git a/libtiff/tif_dirinfo.c b/libtiff/tif_dirinfo.c
-index 3371cb5c..3b4bcd33 100644
---- a/libtiff/tif_dirinfo.c
-+++ b/libtiff/tif_dirinfo.c
-@@ -114,7 +114,7 @@ tiffFields[] = {
- 	{ TIFFTAG_SUBIFD, -1, -1, TIFF_IFD8, 0, TIFF_SETGET_C16_IFD8, TIFF_SETGET_UNDEFINED, FIELD_SUBIFD, 1, 1, "SubIFD", (TIFFFieldArray*) &tiffFieldArray },
- 	{ TIFFTAG_INKSET, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "InkSet", NULL },
- 	{ TIFFTAG_INKNAMES, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_C16_ASCII, TIFF_SETGET_UNDEFINED, FIELD_INKNAMES, 1, 1, "InkNames", NULL },
--	{ TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "NumberOfInks", NULL },
-+	{ TIFFTAG_NUMBEROFINKS, 1, 1, TIFF_SHORT, 0, TIFF_SETGET_UINT16, TIFF_SETGET_UNDEFINED, FIELD_NUMBEROFINKS, 1, 0, "NumberOfInks", NULL },
- 	{ TIFFTAG_DOTRANGE, 2, 2, TIFF_SHORT, 0, TIFF_SETGET_UINT16_PAIR, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 0, 0, "DotRange", NULL },
- 	{ TIFFTAG_TARGETPRINTER, -1, -1, TIFF_ASCII, 0, TIFF_SETGET_ASCII, TIFF_SETGET_UNDEFINED, FIELD_CUSTOM, 1, 0, "TargetPrinter", NULL },
- 	{ TIFFTAG_EXTRASAMPLES, -1, -1, TIFF_SHORT, 0, TIFF_SETGET_C16_UINT16, TIFF_SETGET_UNDEFINED, FIELD_EXTRASAMPLES, 0, 1, "ExtraSamples", NULL },
-diff --git a/libtiff/tif_dirwrite.c b/libtiff/tif_dirwrite.c
-index 6c86fdca..062e4610 100644
---- a/libtiff/tif_dirwrite.c
-+++ b/libtiff/tif_dirwrite.c
-@@ -626,6 +626,11 @@ TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64_t* pdiroff)
- 				if (!TIFFWriteDirectoryTagAscii(tif,&ndir,dir,TIFFTAG_INKNAMES,tif->tif_dir.td_inknameslen,tif->tif_dir.td_inknames))
- 					goto bad;
- 			}
-+			if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS))
-+			{
-+				if (!TIFFWriteDirectoryTagShort(tif, &ndir, dir, TIFFTAG_NUMBEROFINKS, tif->tif_dir.td_numberofinks))
-+					goto bad;
-+			}
- 			if (TIFFFieldSet(tif,FIELD_SUBIFD))
- 			{
- 				if (!TIFFWriteDirectoryTagSubifd(tif,&ndir,dir))
-diff --git a/libtiff/tif_print.c b/libtiff/tif_print.c
-index 16ce5780..a91b9e7b 100644
---- a/libtiff/tif_print.c
-+++ b/libtiff/tif_print.c
-@@ -397,6 +397,10 @@ TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
- 		}
-                 fputs("\n", fd);
- 	}
-+	if (TIFFFieldSet(tif, FIELD_NUMBEROFINKS)) {
-+		fprintf(fd, "  NumberOfInks: %d\n",
-+			td->td_numberofinks);
-+	}
- 	if (TIFFFieldSet(tif,FIELD_THRESHHOLDING)) {
- 		fprintf(fd, "  Thresholding: ");
- 		switch (td->td_threshholding) {
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc
index 9a0de08..c246d42 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3.inc
+++ b/poky/meta/recipes-support/sqlite/sqlite3.inc
@@ -18,7 +18,7 @@
 UPSTREAM_CHECK_URI = "http://www.sqlite.org/"
 UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html"
 
-CVE_PRODUCT = "sqlite"
+CVE_PRODUCT = "sqlite sqlite3"
 
 inherit autotools pkgconfig siteinfo
 
diff --git a/poky/meta/recipes-support/vte/vte_0.72.0.bb b/poky/meta/recipes-support/vte/vte_0.72.1.bb
similarity index 94%
rename from poky/meta/recipes-support/vte/vte_0.72.0.bb
rename to poky/meta/recipes-support/vte/vte_0.72.1.bb
index 5eaff99..b9ff318 100644
--- a/poky/meta/recipes-support/vte/vte_0.72.0.bb
+++ b/poky/meta/recipes-support/vte/vte_0.72.1.bb
@@ -21,7 +21,7 @@
 
 # vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.sha256sum] = "40fe914d6c70db34176c922725b6c6ea15d5f3cb2a9b44c57e200a5f950a6736"
+SRC_URI[archive.sha256sum] = "0554f9f88d56ce2d78398fcc7f69bc00e53bbbc5f694e0ae1dcaf5286f89d7e4"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"