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-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 = ""
+