master: subtree updates oct 12 2023

poky: e444d2bed0..8d0ba08aa6:
  Alassane Yattara (1):
        bitbake: toaster: Monitoring - implement Django logging system

  Alexander Kanavin (1):
        nghttp2: update 1.56.0 -> 1.57.0

  Alexis Lothoré (2):
        oeqa/utils/gitarchive: fix tag pattern searching
        oeqa/utils/gitarchive: ensure tag matches regex before getting its fields

  Andreas Cord-Landwehr (1):
        wayland: consider pkgconfig sysroot for pkgdatadir

  André Draszik (1):
        wic: fix a typo in help output

  Archana Polampalli (1):
        gstreamer: upgrade 1.22.5 -> 1.22.6

  Bruce Ashfield (1):
        linux-yocto/6.5: integrate fixes for sanity issues

  Chris Laplante (1):
        recipetool/create_buildsys_python: use importlib instead of imp

  Daniel McGregor (2):
        meson: upgrade 1.2.1 -> 1.2.2
        libtirpc: conditionally enable gssapi

  Daniel Semkowicz (3):
        uboot-extlinux-config.bbclass: Remove repeated space character
        uboot-extlinux-config.bbclass: Uppercase "menu title" entry
        uboot-extlinux-config.bbclass: Add menu title configuration

  Fabio Estevam (1):
        u-boot: Upgrade to 2023.10

  Fahad Arslan (1):
        linux-firmware: create separate package for cirrus and cnm firmwares

  Jermain Horsman (1):
        scripts/oe-setup-layers: Update how to determine if directory is git repo

  Jose Quaresma (4):
        curl: 8.3.0 -> 8.4.0
        go: update 1.20.7 -> 1.20.8
        go: update 1.20.8 -> 1.20.9
        go: update 1.20.9 -> 1.20.10

  Joshua Watt (6):
        bitbake: hashserv: Add remove API
        bitbake: bitbake-hashclient: Add remove subcommand
        bitbake: hashserv: Extend get_outhash API to optionally include unihash
        bitbake: hashserv: Add API to clean unused entries
        bitbake: bitbake-hashclient: Add clean-unused subcommand
        overview: Add note about non-reproducibility side effects

  Julien Stephan (4):
        bitbake.conf: include bblock.conf
        sstatesig: add a new info level for SIGGEN_LOCKEDSIGS_TASKSIG_CHECK
        scripts/bblock: add a script to lock/unlock recipes
        oeqa/selftest/bblock: add self test for bblock tool

  Khem Raj (1):
        python3-docutils: Rename utilities to their canonical names

  Lee Chee Yang (1):
        migration-guides: add release notes for 4.0.13

  Marcus Flyckt (1):
        devtool/upgrade: check all git config locations

  Markus Volk (2):
        mesa: Upgrade 23.1.8 -> 23.2.1
        gtk: Upgrade 4.12.1 -> 4.12.3

  Marlon Rodriguez Garcia (1):
        bitbake: toaster: update selenium version and code syntax

  Martijn de Gouw (1):
        busybox: Set PATH in syslog initscript

  Michael Opdenacker (1):
        ref-manual: releases.svg: Scarthgap is now version 5.0

  Mikko Rapeli (2):
        qemurunner.py: detect login prompt without without utf-8 conversion
        openssh: drop sudo from ptest dependencies

  Peter Kjellerstedt (4):
        externalsrc.bbclass: Support specifying patterns in CONFIGURE_FILES
        autotools.bbclass: Add *.m4 to CONFIGURE_FILES
        packages.bbclass: Correct the check for conflicts with renamed packages
        cmake.bbclass: Add *.cmake to CONFIGURE_FILES

  Quentin Schulz (1):
        uboot-extlinux-config.bbclass: fix missed override syntax migration

  Randy MacLeod (1):
        strace: skip so_peerpidfd test

  Rasmus Villemoes (1):
        openssh: update sshd_check_keys script to make use of 'sshd -G'

  Richard Purdie (14):
        wic: Add console parameters to qemux86 canned-wks
        qemurunner: Skip conversion from/to binary data for logfile
        qemurunner: Use backslashreplace with utf8 to make invalid characters clear
        qemurunner: Log the second serial console as well as the first
        qemurunner: Show both the login console log and all logging upon failure
        oeqa/concurrencytest: Remove invalid buffering option
        bitbake: selftest/fetch: Ensure top level directory timestamp doesn't break test
        cryptodev: Update to latest git for 6.5 kernel fixes
        qemux86/qemuarm: Drop kernel version overrides
        oeqa/qemurunner: Add newlines serial workaround
        runqemu/qemurunner: Use nodelay with tcp serial connections
        oeqa/qemurunner: Add extra logging when console doesn't appear
        poky/poky-tiny: Switch to the 6.5 kernel
        oeqa/qemurunner: Ensure we retry after BrokenPipeError

  Ross Burton (12):
        python3-numpy: remove obsolete reproducible workaround
        libx11: upgrade to 1.8.7
        libxpm: upgrade to 3.5.17
        qemuboot: reduce default size of software I/O translation buffer
        sysvinit-initab: rewrite loop to generate inittab
        ttyrun: add new recipe
        sysvinit-inittab: use ttyrun to run getty only if the terminal exists
        busybox: use ttyrun to run getty only if the terminal exists
        oeqa/selftest: don't skip test_read_only_image on qemuarm64
        meta/conf/machine: remove SERIAL_CONSOLES_CHECK
        busybox-inittab: fix console handling
        oeqa/runtime/_qemutiny: rewrite test to be functional

  Sundeep KOKKONDA (1):
        rust: reproducibility issue fix

  Trevor Gamblin (1):
        dev-manual: fix testimage usage instructions

  Yogita Urade (1):
        qemu: fix CVE-2023-42467

meta-openembedded: ea42cec2ec..62039a2c33:
  Ahmad Fatoum (1):
        signing.bbclass: don't export OPENSSL environment variables globally

  Beniamin Sandu (1):
        libnet: upgrade version v1.2 -> v1.3

  Benjamin Bara (1):
        libvpx: upgrade 1.13.0 -> 1.13.1

  Chen Qi (1):
        libblockdev: fix QA error in case of multilib

  Christophe Vu-Brugier (3):
        libnvme: upgrade 1.5 -> 1.6
        nvme-cli: upgrade 2.5 -> 2.6
        libnvme: apply patch already upstream to fix build with musl

  Clément Péron (1):
        Revert "protobuf: stage protoc binary to sysroot"

  Daniel Klauer (1):
        graphviz: Fix build to not use $prefix as search dir

  Denys Zagorui (1):
        libbpf: add arm, powerpc and mips64 to COMPATIBLE_HOST

  Fabien Thomas (8):
        meta-filesystems/layer.conf : Add meta-networking dependency
        Add static-passwd and static-group files
        Add static-passwd and static-group files
        Add static-passwd and static-group files
        Add static-passwd and static-group files
        Add static-passwd and static-group files
        Add static-passwd and static-group files
        Add static-passwd and static-group files

  Gianfranco Costamagna (6):
        dlt-daemon: Make it work without systemd
        dlt-daemon: Enable experimental coredumphandler feature
        dlt-daemon: update patch 544.patch
        dlt-daemon: do not disable dlt-system build when systemd is set to off
        dlt-daemon: Add an additional fix for non-systemd builds
        cpprestsdk: fix typo in comment, tag is actually 2.0.18

  Jeffrey Pautler (1):
        bolt: change product name used for CVE checking

  Joe Slater (1):
        nginx: add configure option

  Johannes Kauffmann (1):
        open62541: add Backport status and link to patch

  Jörg Sommer (1):
        collectd: Use https in SRC_URI, add HOMEPAGE

  Khem Raj (16):
        python3-pyroute2: Add missing dependency on sqlite3 for ptests
        python3-pylint: Upgrade to 3.0.0
        python3-lz4: use python3-unittest-automake-output
        minicoredumber: Fix ptest reporting
        images: Inherit from core-image-base
        images: Delete layer specific base images
        images: Rename <layer>-image to <layer>-image-all
        images: Rename ptest images to rhyme with oe-core ptest images
        ptest-image: Switch to using core-image-minimal
        stressapptest: Upgrade to 1.0.11 release
        klibc: Upgrade to 2.0.13 release
        libnvme: Fix test builds on musl
        kernel-selftest: Build bpf tests again
        ptest-packagelists-meta-oe: Add kernel-selftest to x86/x86-64 images
        kernel-selftest: Copy the .config from kernel build
        kernel-selftest: Use clang options when clang is available

  Markus Volk (3):
        pugixml: Update 1.13 -> 1.14
        pipewire: Upgrade 0.3.80 -> 0.3.81
        gnome-control-center: Fix polkit gettext issue

  Martin Jansa (1):
        opencv: Fix build with protobuf v22 and dnn enabled

  Mickael RAMILISON (1):
        python3-rapidjson: add ptest

  Pawel Langowski (1):
        recipes-connectivity: Add tayga recipe

  Philip-Dylan Gleonec (1):
        cukinia: Fix license field

  Thomas Roos (1):
        python3-boto3, python3-botocore: remove recipes

  Tom Hochstein (1):
        libcamera: Avoid build break in signature recalculation

meta-arm: 95789365f7..e914891eee:
  Jon Mason (1):
        arm-bsp/u-boot: add recipe for 2023.07.02

meta-security: aca6d4a9e7..3f7d40b0fc:
  Rasmus Villemoes (3):
        fail2ban: add systemd support
        fail2ban: change sqlite3 dependency to python3-sqlite3
        fail2ban: add useful recommendations
Change-Id: I93672642f4e0392adc6223fdc4e073910b817bc9
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-openembedded/meta-filesystems/conf/layer.conf b/meta-openembedded/meta-filesystems/conf/layer.conf
index 318e992..4f13bd9 100644
--- a/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -13,6 +13,6 @@
 # cause compatibility issues with other layers
 LAYERVERSION_filesystems-layer = "1"
 
-LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
+LAYERDEPENDS_filesystems-layer = "core openembedded-layer networking-layer"
 
 LAYERSERIES_COMPAT_filesystems-layer = "nanbield"
diff --git a/meta-openembedded/meta-filesystems/files/static-passwd-meta-filesystems b/meta-openembedded/meta-filesystems/files/static-passwd-meta-filesystems
new file mode 100644
index 0000000..157697f
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/files/static-passwd-meta-filesystems
@@ -0,0 +1,3 @@
+fsgqa:x:700:nogroup::/:/bin/nologin
+123456-fsgqa:x:701:nogroup::/:/bin/nologin
+fsgqa2:x:702:nogroup::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb
new file mode 100644
index 0000000..80fb9f9
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-all.bb
@@ -0,0 +1,3 @@
+require recipes-core/images/core-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-filesystems"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
deleted file mode 100644
index c89b1e1..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-filesystems build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb
deleted file mode 100644
index ca21d2a..0000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/images/meta-filesystems-image.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require  meta-filesystems-image-base.bb
-
-IMAGE_INSTALL += "packagegroup-meta-filesystems"
diff --git a/meta-openembedded/meta-gnome/files/static-passwd-meta-gnome b/meta-openembedded/meta-gnome/files/static-passwd-meta-gnome
new file mode 100644
index 0000000..4502d8b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/files/static-passwd-meta-gnome
@@ -0,0 +1 @@
+gdm:x:680:nogroup::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb
index 1122ee5..29c9f3c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_45.0.bb
@@ -48,6 +48,8 @@
 
 EXTRA_OEMESON += "-Doe_sysroot=${STAGING_DIR_HOST}"
 
+export XDG_DATA_DIRS = "${STAGING_DATADIR}"
+
 USERADD_PACKAGES = "${PN}"
 USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
 
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch
deleted file mode 100644
index 4fc4b45..0000000
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From a33c262f828f803fffdad8e1f44d524dc9c75856 Mon Sep 17 00:00:00 2001
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Wed, 3 Aug 2022 01:10:01 +0200
-Subject: [PATCH] fcntl: Fix build failure for some architectures with Linux
- 5.19
-
-Starting from Linux 5.19, the kernel UAPI headers now only define
-__ARCH_FLOCK64_PAD if the architecture actually needs padding in
-struct flock64.  Wrap its use with #ifdef,
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=bb2fde5ddbc18a2e7795ca4d24759230c2aae9d0]
-Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- usr/include/fcntl.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/usr/include/fcntl.h b/usr/include/fcntl.h
-index ed703a6..cb2e4e5 100644
---- a/usr/include/fcntl.h
-+++ b/usr/include/fcntl.h
-@@ -33,7 +33,9 @@ struct flock {
- 	__kernel_loff_t l_start;
- 	__kernel_loff_t l_len;
- 	__kernel_pid_t  l_pid;
-+#ifdef __ARCH_FLOCK64_PAD
-         __ARCH_FLOCK64_PAD
-+#endif
- };
- 
- #ifdef F_GETLK64
--- 
-2.37.2
-
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
index 15b5144..e4ae372 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
@@ -14,8 +14,8 @@
 
 --- a/usr/klibc/Kbuild
 +++ b/usr/klibc/Kbuild
-@@ -183,7 +183,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
- targets += interp.o
+@@ -190,7 +190,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
+ targets += shared-stub.o
  
  quiet_cmd_interp = BUILD   $@
 -      cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__     \
@@ -23,4 +23,4 @@
 +                             -D__ASSEMBLY__     \
                               -DLIBDIR=\"$(SHLIBDIR)\"         \
  			     -DSOHASH=\"$(SOLIBHASH)\" \
-                              $(KLIBCSTACKFLAGS) \
+ 			     -c -o $@ $<
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
index 585fb2d..7b29eaf 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/armv4-fix-v4bx.patch
@@ -16,8 +16,8 @@
 
 --- a/usr/klibc/arch/arm/MCONFIG
 +++ b/usr/klibc/arch/arm/MCONFIG
-@@ -27,6 +27,7 @@ else
- KLIBCSHAREDFLAGS = $(LD_IMAGE_BASE_OPT) 0x01800000
+@@ -23,6 +23,7 @@ else
+ # Extra linkflags when building the shared version of the library
  ifeq ($(CONFIG_AEABI),y)
  KLIBCREQFLAGS += -mabi=aapcs-linux -mno-thumb-interwork
 +KLIBCLDFLAGS += $(FIX_ARMV4_EABI_BX)
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.10.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.13.bb
similarity index 100%
rename from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.10.bb
rename to meta-openembedded/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.13.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.10.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.13.bb
similarity index 100%
rename from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.10.bb
rename to meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.13.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.10.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.13.bb
similarity index 100%
rename from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.10.bb
rename to meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.13.bb
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index 5acf679..113459b 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -20,7 +20,6 @@
            file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
            file://cross-clang.patch \
            file://0001-workaround-for-overlapping-sections-in-binary.patch \
-           file://0001-fcntl-Fix-build-failure-for-some-architectures-with-.patch \
            "
 
 ARMPATCHES ?= ""
@@ -28,7 +27,7 @@
 ARMPATCHES:arm = " \
                   file://armv4-fix-v4bx.patch \
                  "
-SRC_URI[sha256sum] = "662753da8889e744dfc0db6eb4021c3377ee7ef8ed66d7d57765f8c9e25939cd"
+SRC_URI[sha256sum] = "d673a294f742d59368222ff5c38462d81098c55063799de6fb8a7ba3d4af0436"
 
 S = "${WORKDIR}/klibc-${PV}"
 
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.10.bb b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.13.bb
similarity index 100%
rename from meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.10.bb
rename to meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc_2.0.13.bb
diff --git a/meta-openembedded/meta-multimedia/files/static-group-meta-multimedia b/meta-openembedded/meta-multimedia/files/static-group-meta-multimedia
new file mode 100644
index 0000000..c762331
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/files/static-group-meta-multimedia
@@ -0,0 +1,2 @@
+pipewire:x:660:
+mpd:x:665:
\ No newline at end of file
diff --git a/meta-openembedded/meta-multimedia/files/static-passwd-meta-multimedia b/meta-openembedded/meta-multimedia/files/static-passwd-meta-multimedia
new file mode 100644
index 0000000..94e1310
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/files/static-passwd-meta-multimedia
@@ -0,0 +1,2 @@
+pipewire:x:660:660::/:/bin/nologin
+mpd:x:665:665::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-all.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-all.bb
new file mode 100644
index 0000000..dc76265
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-all.bb
@@ -0,0 +1,3 @@
+require recipes-core/images/core-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-multimedia"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
deleted file mode 100644
index 249f989..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-multimedia build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb
deleted file mode 100644
index 9f2fda9..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require  meta-multimedia-image-base.bb
-
-IMAGE_INSTALL += "packagegroup-meta-multimedia"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
index bc1c52a..bc2e858 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
@@ -4,7 +4,7 @@
 DESCRIPTION = "libcamera image"
 LICENSE = "MIT"
 
-require  meta-multimedia-image.bb
+require  meta-multimedia-image-all.bb
 
 IMAGE_INSTALL += " \
         kernel-modules \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb
index ece1be6..2a3c647 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.1.0.bb
@@ -50,8 +50,11 @@
     chrpath -d ${D}${libexecdir}/libcamera/v4l2-compat.so
 }
 
-addtask do_recalculate_ipa_signatures_package after do_package before do_packagedata
-do_recalculate_ipa_signatures_package() {
+do_package:append() {
+    bb.build.exec_func("do_package_recalculate_ipa_signatures", d)
+}
+
+do_package_recalculate_ipa_signatures() {
     local modules
     for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do
         module="${module%.sign}"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.80.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.81.bb
similarity index 99%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.80.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.81.bb
index a134820..2a3699f 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.80.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.81.bb
@@ -13,7 +13,7 @@
 
 DEPENDS = "dbus ncurses"
 
-SRCREV = "35cca08d2bef14248ac25ff2a1efb0bf274d0a6f"
+SRCREV = "181fbfee6d3fcc3afd3c93613f126a8346dad586"
 SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/files/static-group-meta-networking b/meta-openembedded/meta-networking/files/static-group-meta-networking
new file mode 100644
index 0000000..0aada6c
--- /dev/null
+++ b/meta-openembedded/meta-networking/files/static-group-meta-networking
@@ -0,0 +1,14 @@
+ftp:x:630:
+dovecot:x:631:
+dovenull:x:632:
+postfix:x:633:
+postdrop:x:634:
+vmail:x:635:
+rasvd:x:636:
+frr:x:637:
+frrvty:x:638:
+nogroup:x:639:
+ftp:x:640:
+rwhod:x:641:
+lldpd:x:642:
+opensaf:x:643:
\ No newline at end of file
diff --git a/meta-openembedded/meta-networking/files/static-passwd-meta-networking b/meta-openembedded/meta-networking/files/static-passwd-meta-networking
new file mode 100644
index 0000000..77c2b36
--- /dev/null
+++ b/meta-openembedded/meta-networking/files/static-passwd-meta-networking
@@ -0,0 +1,19 @@
+ftp:x:630:630::/:/bin/nologin
+dovecot:x:631:631::/:/bin/nologin
+dovenull:x:632:632::/:/bin/nologin
+postfix:x:633:633::/:/bin/nologin
+vmail:x:635:635::/:/bin/nologin
+radvd:x:636:636::/:/bin/nologin
+frr:x:637:637::/:/bin/nologin
+ftp:x:640:640::/:/bin/nologin
+rwhod:x:641:641::/:/bin/nologin
+lldpd:x:642:642::/:/bin/nologin
+opensaf:x:643:643::/:/bin/nologin
+tinyproxy:x:650:nogroup::/:/bin/nologin
+radiusd:x:651:nogroup::/:/bin/nologin
+nm-openconnect:x:652:nogroup::/:/bin/nologin
+ntp:x:653:nogroup::/:/bin/nologin
+nm-fortisslvpn:x:654:nogroup::/:/bin/nologin
+nm-openvpn:x:655:nogroup::/:/bin/nologin
+squid:x:656:nogroup::/:/bin/nologin
+mosquitto:x:657:nogroup::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch b/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch
new file mode 100644
index 0000000..0c6f160
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/0001-include-sys-uio.patch
@@ -0,0 +1,18 @@
+
+This patch addresses the following clang failure: tayga-0.9.2/nat64.c:119:6:
+error: call to undeclared function 'writev'; ISO C99 and later do not support
+implicit function declarations [-Wimplicit-function-declaration]
+
+Upstream-Status: Pending
+Signed-off-by: Pawel Langowski <pawel.langowski@3mdeb.com>
+
+--- tayga.h	2023-09-29 14:38:05.005837695 +0200
++++ tayga-2.h	2023-09-29 14:37:45.560837257 +0200
+@@ -20,6 +20,7 @@
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
++#include <sys/uio.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <unistd.h>
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/tayga.conf b/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/tayga.conf
new file mode 100644
index 0000000..c1b6163
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/tayga.conf
@@ -0,0 +1,103 @@
+#
+# Sample configuration file for TAYGA 0.9.2
+#
+# Modify this to use your own addresses!!
+#
+
+#
+# TUN device that TAYGA will use to exchange IPv4 and IPv6 packets with the
+# kernel.  You may use any name you like, but `nat64' is recommended.
+#
+# This device may be created before starting the tayga daemon by running
+# `tayga --mktun`.  This allows routing and firewall rules to be set up prior
+# to commencement of packet translation.
+#
+# Mandatory.
+#
+tun-device nat64
+
+#
+# TAYGA's IPv4 address.  This is NOT your router's IPv4 address!  TAYGA
+# requires its own address because it acts as an IPv4 and IPv6 router, and
+# needs to be able to send ICMP messages.  TAYGA will also respond to ICMP
+# echo requests (ping) at this address.
+#
+# This address can safely be located inside the dynamic-pool prefix.
+#
+# Mandatory.
+#
+ipv4-addr 192.168.254.1
+
+#
+# TAYGA's IPv6 address.  This is NOT your router's IPv6 address!  TAYGA
+# requires its own address because it acts as an IPv4 and IPv6 router, and
+# needs to be able to send ICMP messages.  TAYGA will also respond to ICMP
+# echo requests (ping6) at this address.
+#
+# You can leave ipv6-addr unspecified and TAYGA will construct its IPv6
+# address using ipv4-addr and the NAT64 prefix.
+#
+# Optional if the NAT64 prefix is specified, otherwise mandatory.  It is also
+# mandatory if the NAT64 prefix is 64:ff9b::/96 and ipv4-addr is a private
+# (RFC1918) address.
+#
+#ipv6-addr 2001:db8:1::2
+ipv6-addr fdaa:bb:1::1
+
+#
+# The NAT64 prefix.  The IPv4 address space is mapped into the IPv6 address
+# space by prepending this prefix to the IPv4 address.  Using a /96 prefix is
+# recommended in most situations, but all lengths specified in RFC 6052 are
+# supported.
+#
+# This must be a prefix selected from your organization's IPv6 address space
+# or the Well-Known Prefix 64:ff9b::/96.  Note that using the Well-Known
+# Prefix will prohibit IPv6 hosts from contacting IPv4 hosts that have private
+# (RFC1918) addresses, per RFC 6052.
+#
+# The NAT64 prefix need not be specified if all required address mappings are
+# listed in `map' directives.  (See below.)
+#
+# Optional.
+#
+##prefix 2001:db8:1:ffff::/96
+prefix 64:ff9b::/96
+
+#
+# Dynamic pool prefix.  IPv6 hosts which send traffic through TAYGA (and do
+# not correspond to a static map or an IPv4-translatable address in the NAT64
+# prefix) will be assigned an IPv4 address from the dynamic pool.  Dynamic
+# maps are valid for 124 minutes after the last matching packet is seen.
+#
+# If no unassigned addresses remain in the dynamic pool (or no dynamic pool is
+# configured), packets from unknown IPv6 hosts will be rejected with an ICMP
+# unreachable error.
+#
+# Optional.
+#
+dynamic-pool 192.168.254.0/24
+
+#
+# Persistent data storage directory.  The dynamic.map file, which saves the
+# dynamic maps that are created from dynamic-pool, is stored in this
+# directory.  Omit if you do not need these maps to be persistent between
+# instances of TAYGA.
+#
+# Optional.
+#
+data-dir /var/spool/tayga
+
+#
+# Establishes a single-host map.  If an IPv6 host should be consistently
+# reachable at a specific IPv4 address, the mapping can be specified in a
+# `map' directive.  (IPv6 hosts numbered with an IPv4-translatable address do
+# not need map directives.)
+#
+# IPv4 addresses specified in the `map' directive can safely be located inside
+# the dynamic-pool prefix.
+#
+# Optional.
+#
+#map 192.168.5.42 2001:db8:1:4444::1
+#map 192.168.5.43 2001:db8:1:4444::2
+#map 192.168.255.2 2001:db8:1:569::143
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/tayga.service b/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/tayga.service
new file mode 100644
index 0000000..0bffeb9
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/tayga/files/tayga.service
@@ -0,0 +1,12 @@
+[Unit]
+SourcePath=/usr/sbin/tayga
+Description=LSB: userspace NAT64
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/tayga -d --config /etc/tayga.conf
+RemainAfterExit=yes
+TimeoutStopSec=infinity
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb
new file mode 100644
index 0000000..36d35e6
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/tayga/tayga_0.9.2.bb
@@ -0,0 +1,21 @@
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = " \
+        http://www.litech.org/tayga/tayga-${PV}.tar.bz2 \
+        file://tayga.conf \
+        file://tayga.service \
+        file://0001-include-sys-uio.patch;striplevel=0 \
+        "
+SRC_URI[sha256sum] = "2b1f7927a9d2dcff9095aff3c271924b052ccfd2faca9588b277431a44f0009c"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "tayga.service"
+
+do_install:append() {
+  install -m 0644 ${WORKDIR}/tayga.conf ${D}${sysconfdir}/tayga.conf
+  install -d ${D}${systemd_unitdir}/system/
+  install -m 0644 ${WORKDIR}/tayga.service ${D}${systemd_unitdir}/system/
+}
+
+inherit autotools systemd
diff --git a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-all.bb b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-all.bb
new file mode 100644
index 0000000..20d3271
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-all.bb
@@ -0,0 +1,3 @@
+require recipes-core/images/core-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-networking"
diff --git a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb
deleted file mode 100644
index eaf1409..0000000
--- a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-networking build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb
deleted file mode 100644
index f4c7401..0000000
--- a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require  meta-networking-image-base.bb
-
-IMAGE_INSTALL += "packagegroup-meta-networking"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch
index a842902..b93e311 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch
+++ b/meta-openembedded/meta-networking/recipes-protocols/opcua/open62541/0001-fix-build-do-not-install-git-files.patch
@@ -5,7 +5,7 @@
 
 Signed-off-by: Vyacheslav Yurkov <v.yurkov@precitec.de>
 ---
-Upstream-Status: Pending
+Upstream-Status: Backport [https://github.com/open62541/open62541/commit/a0328d4cb527f9778a262fc4a6b42bfbdffc38e9]
 
  CMakeLists.txt | 1 +
  1 file changed, 1 insertion(+)
diff --git a/meta-openembedded/meta-oe/classes/signing.bbclass b/meta-openembedded/meta-oe/classes/signing.bbclass
index 5c74a31..79944e3 100644
--- a/meta-openembedded/meta-oe/classes/signing.bbclass
+++ b/meta-openembedded/meta-oe/classes/signing.bbclass
@@ -224,6 +224,12 @@
 }
 
 signing_prepare() {
+    export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules"
+    export OPENSSL_ENGINES="${STAGING_LIBDIR_NATIVE}/engines-3"
+    export OPENSSL_CONF="${STAGING_LIBDIR_NATIVE}/ssl-3/openssl.cnf"
+    export SSL_CERT_DIR="${STAGING_LIBDIR_NATIVE}/ssl-3/certs"
+    export SSL_CERT_FILE="${STAGING_LIBDIR_NATIVE}/ssl-3/cert.pem"
+
     if [ -f ${OPENSSL_CONF} ]; then
         echo "Using '${OPENSSL_CONF}' for OpenSSL configuration"
     else
@@ -308,9 +314,3 @@
 python () {
     signing_class_prepare(d)
 }
-
-export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules"
-export OPENSSL_ENGINES="${STAGING_LIBDIR_NATIVE}/engines-3"
-export OPENSSL_CONF="${STAGING_LIBDIR_NATIVE}/ssl-3/openssl.cnf"
-export SSL_CERT_DIR="${STAGING_LIBDIR_NATIVE}/ssl-3/certs"
-export SSL_CERT_FILE="${STAGING_LIBDIR_NATIVE}/ssl-3/cert.pem"
diff --git a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index 81094bf..a2b2ce4 100644
--- a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -50,10 +50,12 @@
     rsyslog \
     mariadb \
 "
+PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest"
+PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest"
+PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest"
 
 PTESTS_PROBLEMS_META_OE ="\
     jemalloc \
-    kernel-selftest \
     keyutils \
     libdbi-perl \
     libgpiod \
diff --git a/meta-openembedded/meta-oe/files/static-group-meta-oe b/meta-openembedded/meta-oe/files/static-group-meta-oe
new file mode 100644
index 0000000..79c9bb6
--- /dev/null
+++ b/meta-openembedded/meta-oe/files/static-group-meta-oe
@@ -0,0 +1,8 @@
+redis:x:600:
+xrdp:x:601:
+sanlock:x:602:
+mysql:x:603:
+postgres:x:604:
+zabbix:x:605:
+mail:x:606:
+nogroup:x:607:
\ No newline at end of file
diff --git a/meta-openembedded/meta-oe/files/static-passwd-meta-oe b/meta-openembedded/meta-oe/files/static-passwd-meta-oe
new file mode 100644
index 0000000..4c312b7
--- /dev/null
+++ b/meta-openembedded/meta-oe/files/static-passwd-meta-oe
@@ -0,0 +1,11 @@
+redis:x:600:600::/:/bin/nologin
+xrdp:x:601:601::/:/bin/nologin
+sanlock:x:602:602::/:/bin/nologin
+mysql:x:603:603::/:/bin/nologin
+postgres:x:604:604::/:/bin/nologin
+zabbix:x:605:605::/:/bin/nologin
+cyrus:x:606:nogroup::/:/bin/nologin
+pcp:x:620:nogroup::/:/bin/nologin
+pcpqa:x:621:nogroup::/:/bin/nologin
+influxdb:x:622:nogroup::/:/bin/nologin
+mongodb:x:623:nogroup::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0001-configure-Add-with-cpu.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0001-configure-Add-with-cpu.patch
deleted file mode 100644
index 41fb456..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0001-configure-Add-with-cpu.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 73049e5a9e3698cc6d51471d70ac5e06bed803cc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 17 Dec 2022 10:24:48 -0800
-Subject: [PATCH] configure: Add --with-cpu
-
-Some cross build systems e.g. yocto may use architectures different from cross compiler target tuple
-arm-yoe-gnueabi but build for armv7a, AC_CANONICAL_HOST will fail in
-this case even though target will be armv7a it will detect it as arm and
-disable armv7a specific optimization paths. This option provides the
-needed knob so it can be set explicitly e.g. --with-cpu=armv7a etc. if needed.
-
-Upstream-Status: Submitted [https://github.com/stressapptest/stressapptest/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index c839c87..403728c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -11,7 +11,14 @@ else
-   AC_MSG_NOTICE([Compiling with dynamically linked libraries.])
- fi
- 
--AC_CANONICAL_HOST
-+AC_ARG_WITH(cpu, [  --with-cpu            define host cpu])
-+
-+if test -z "$with_cpu"
-+then
-+  AC_CANONICAL_HOST
-+else
-+  host_cpu=$with_cpu
-+fi
- # Checking for target cpu and setting custom configuration
- # for the different platforms
- AS_CASE(["$host_cpu"],
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0002-Replace-lfs64-functions-and-defines.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0002-Replace-lfs64-functions-and-defines.patch
deleted file mode 100644
index 48ff3ef..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0002-Replace-lfs64-functions-and-defines.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 9ab360fd018d267fe174713d7e14454408b26043 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 17 Dec 2022 10:33:01 -0800
-Subject: [PATCH] Replace lfs64 functions and defines
-
-AC_SYS_LARGEFILE is already in use in configure.ac which detects
-enabling lfs64 functions as needed, it will define _FILE_OFFSET_BITS=64
-which should make lseek same as lseek64 since off_t is 64bit on most of
-current 32bit linux platforms
-
-Upstream-Status: Submitted [https://github.com/stressapptest/stressapptest/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/os.cc     | 18 ++++++------------
- src/worker.cc |  6 +++---
- 2 files changed, 9 insertions(+), 15 deletions(-)
-
-diff --git a/src/os.cc b/src/os.cc
-index 1928e0a..faa6068 100644
---- a/src/os.cc
-+++ b/src/os.cc
-@@ -142,7 +142,7 @@ int OsLayer::AddressMode() {
- uint64 OsLayer::VirtualToPhysical(void *vaddr) {
-   uint64 frame, paddr, pfnmask, pagemask;
-   int pagesize = sysconf(_SC_PAGESIZE);
--  off64_t off = ((uintptr_t)vaddr) / pagesize * 8;
-+  off_t off = ((uintptr_t)vaddr) / pagesize * 8;
-   int fd = open(kPagemapPath, O_RDONLY);
- 
-   /*
-@@ -154,7 +154,7 @@ uint64 OsLayer::VirtualToPhysical(void *vaddr) {
-   if (fd < 0)
-     return 0;
- 
--  if (lseek64(fd, off, SEEK_SET) != off || read(fd, &frame, 8) != 8) {
-+  if (lseek(fd, off, SEEK_SET) != off || read(fd, &frame, 8) != 8) {
-     int err = errno;
-     string errtxt = ErrorString(err);
-     logprintf(0, "Process Error: failed to access %s with errno %d (%s)\n",
-@@ -607,9 +607,9 @@ bool OsLayer::AllocateTestMem(int64 length, uint64 paddr_base) {
-         dynamic_mapped_shmem_ = true;
-       } else {
-         // Do a full mapping here otherwise.
--        shmaddr = mmap64(NULL, length, PROT_READ | PROT_WRITE,
--                         MAP_SHARED | MAP_NORESERVE | MAP_LOCKED | MAP_POPULATE,
--                         shm_object, 0);
-+        shmaddr = mmap(NULL, length, PROT_READ | PROT_WRITE,
-+                       MAP_SHARED | MAP_NORESERVE | MAP_LOCKED | MAP_POPULATE,
-+                       shm_object, 0);
-         if (shmaddr == reinterpret_cast<void*>(-1)) {
-           int err = errno;
-           string errtxt = ErrorString(err);
-@@ -704,18 +704,12 @@ void *OsLayer::PrepareTestMem(uint64 offset, uint64 length) {
-   if (dynamic_mapped_shmem_) {
-     // TODO(nsanders): Check if we can support MAP_NONBLOCK,
-     // and evaluate performance hit from not using it.
--#ifdef HAVE_MMAP64
--    void * mapping = mmap64(NULL, length, PROT_READ | PROT_WRITE,
--                     MAP_SHARED | MAP_NORESERVE | MAP_LOCKED | MAP_POPULATE,
--                     shmid_, offset);
--#else
-     void * mapping = mmap(NULL, length, PROT_READ | PROT_WRITE,
-                      MAP_SHARED | MAP_NORESERVE | MAP_LOCKED | MAP_POPULATE,
-                      shmid_, offset);
--#endif
-     if (mapping == MAP_FAILED) {
-       string errtxt = ErrorString(errno);
--      logprintf(0, "Process Error: PrepareTestMem mmap64(%llx, %llx) failed. "
-+      logprintf(0, "Process Error: PrepareTestMem mmap(%llx, %llx) failed. "
-                    "error: %s.\n",
-                 offset, length, errtxt.c_str());
-       sat_assert(0);
-diff --git a/src/worker.cc b/src/worker.cc
-index 745a816..41e93a0 100644
---- a/src/worker.cc
-+++ b/src/worker.cc
-@@ -1705,7 +1705,7 @@ bool FileThread::WritePages(int fd) {
-   int strict = sat_->strict();
- 
-   // Start fresh at beginning of file for each batch of pages.
--  lseek64(fd, 0, SEEK_SET);
-+  lseek(fd, 0, SEEK_SET);
-   for (int i = 0; i < sat_->disk_pages(); i++) {
-     struct page_entry src;
-     if (!GetValidPage(&src))
-@@ -1943,7 +1943,7 @@ bool FileThread::ReadPages(int fd) {
-   bool result = true;
- 
-   // Read our data back out of the file, into it's new location.
--  lseek64(fd, 0, SEEK_SET);
-+  lseek(fd, 0, SEEK_SET);
-   for (int i = 0; i < sat_->disk_pages(); i++) {
-     struct page_entry dst;
-     if (!GetEmptyPage(&dst))
-@@ -3153,7 +3153,7 @@ bool DiskThread::ValidateBlockOnDisk(int fd, BlockData *block) {
- 
-   // Read block from disk and time the read.  If it takes longer than the
-   // threshold, complain.
--  if (lseek64(fd, address * kSectorSize, SEEK_SET) == -1) {
-+  if (lseek(fd, address * kSectorSize, SEEK_SET) == -1) {
-     logprintf(0, "Process Error: Unable to seek to sector %lld in "
-               "DiskThread::ValidateSectorsOnDisk on disk %s "
-               "(thread %d).\n", address, device_name_.c_str(), thread_num_);
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0003-configure-Check-for-pthread_rwlockattr_setkind_np-be.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0003-configure-Check-for-pthread_rwlockattr_setkind_np-be.patch
deleted file mode 100644
index b21a534..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/0003-configure-Check-for-pthread_rwlockattr_setkind_np-be.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From d64a282b57352dde5f5b007947c005e504dc9a6b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 17 Dec 2022 10:46:31 -0800
-Subject: [PATCH] configure: Check for pthread_rwlockattr_setkind_np before use
-
-musl does not implement this therefore detect this non-posix API before
-using it
-
-Upstream-Status: Submitted [https://github.com/stressapptest/stressapptest/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac  | 1 +
- src/worker.cc | 2 ++
- 2 files changed, 3 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 403728c..47968cb 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -157,6 +157,7 @@ AC_FUNC_STRERROR_R
- AC_FUNC_VPRINTF
- AC_CHECK_FUNCS([ftruncate gettimeofday memset munmap select socket strtol strtoull])
- AC_CHECK_FUNCS([mmap64 posix_memalign rand_r sched_getaffinity])
-+AC_CHECK_FUNCS([pthread_rwlockattr_setkind_np])
- 
- AC_CONFIG_FILES([Makefile src/Makefile])
- AC_OUTPUT
-diff --git a/src/worker.cc b/src/worker.cc
-index 41e93a0..c4abc87 100644
---- a/src/worker.cc
-+++ b/src/worker.cc
-@@ -133,9 +133,11 @@ void WorkerStatus::Initialize() {
- 
-   pthread_rwlockattr_t attrs;
-   sat_assert(0 == pthread_rwlockattr_init(&attrs));
-+#ifdef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP
-   // Avoid writer lock starvation.
-   sat_assert(0 == pthread_rwlockattr_setkind_np(
-                       &attrs, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP));
-+#endif
-   sat_assert(0 == pthread_rwlock_init(&status_rwlock_, &attrs));
- 
- #ifdef HAVE_PTHREAD_BARRIERS
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
deleted file mode 100644
index 8754e40..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fix compile on sytems using libc++ instead of libstdc++
-
-libc++ does not really implement __gnu_cxx namespace and it
-compiles fine without this namespace, therefore detect libc++
-and if it is used them exclude this namespace 
-
-See https://github.com/stressapptest/stressapptest/issues/47
-
-Fixes
-
-./sattypes.h:33:17: error: expected namespace name
-using namespace __gnu_cxx; //NOLINT
-
-Upstream-Status: Submitted [https://github.com/stressapptest/stressapptest/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- stressapptest-1.0.9.orig/src/sattypes.h
-+++ stressapptest-1.0.9/src/sattypes.h
-@@ -30,7 +30,9 @@
- #include "stressapptest_config_android.h"  // NOLINT
- #else
- #include "stressapptest_config.h"  // NOLINT
-+#ifndef _LIBCPP_VERSION
- using namespace __gnu_cxx;  //NOLINT
-+#endif  // _LIBCPP_VERSION
- #endif  // __ANDROID__
- using namespace std;
-
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
deleted file mode 100644
index 1926165..0000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally
-implemented, therefore check for them being available, if not there
-then read the sysfs directly to get the value
-
-Upstream-Status: Submitted [https://github.com/stressapptest/stressapptest/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/sat.cc
-+++ b/src/sat.cc
-@@ -1482,15 +1482,47 @@ int Sat::CpuCount() {
-   return sysconf(_SC_NPROCESSORS_CONF);
- }
- 
-+int Sat::ReadInt(const char *filename, int *value) {
-+  char line[64];
-+  int fd = open(filename, O_RDONLY), err = -1;
-+
-+  if (fd < 0)
-+    return -1;
-+  if (read(fd, line, sizeof(line)) > 0) {
-+    *value = atoi(line);
-+    err = 0;
-+  }
-+
-+  close(fd);
-+  return err;
-+}
-+
- // Return the worst case (largest) cache line size of the various levels of
- // cache actually prsent in the machine.
- int Sat::CacheLineSize() {
--  int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
--  int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
-+  int max_linesize, linesize;
-+#ifdef _SC_LEVEL1_DCACHE_LINESIZE
-+  max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
-+#else
-+  ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize);
-+#endif
-+#ifdef _SC_LEVEL2_DCACHE_LINESIZE
-+  linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE);
-+#else
-+  ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize);
-+#endif
-   if (linesize > max_linesize) max_linesize = linesize;
--  linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE);
-+#ifdef _SC_LEVEL3_DCACHE_LINESIZE
-+  linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE);
-+#else
-+  ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize);
-+#endif
-   if (linesize > max_linesize) max_linesize = linesize;
--  linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE);
-+#ifdef _SC_LEVEL4_DCACHE_LINESIZE
-+  linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE);
-+#else
-+  ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize);
-+#endif
-   if (linesize > max_linesize) max_linesize = linesize;
-   return max_linesize;
- }
---- a/src/sat.h
-+++ b/src/sat.h
-@@ -136,7 +136,8 @@ class Sat {
-   int CpuCount();
-   // Return the worst-case (largest) cache line size of the system.
-   int CacheLineSize();
--
-+  // Read int values from kernel file system e.g. sysfs
-+  int ReadInt(const char *filename, int *value);
-   // Collect error counts from threads.
-   int64 GetTotalErrorCount();
- 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb
similarity index 66%
rename from meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb
index 02144c5..ba61ff9 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb
@@ -9,22 +9,14 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58"
 
-SRCREV = "9146a8bfe3e3daefa95f7a61b75183e5fc64af2c"
-
-PV .= "+1.0.10git${SRCPV}"
+SRCREV = "25e31a2c1fcc66f3a43e91998f0819b016322a70"
 
 EXTRA_AUTOCONF:append:armv7a = " --with-cpu=armv7a"
 EXTRA_AUTOCONF:append:armv7ve = " --with-cpu=armv7a"
 
 GI_DATA_ENABLED:libc-musl:armv7a = "False"
 GI_DATA_ENABLED:libc-musl:armv7ve = "False"
-SRC_URI = "git://github.com/stressapptest/stressapptest;branch=master;protocol=https \
-           file://libcplusplus-compat.patch \
-           file://read_sysfs_for_cachesize.patch \
-           file://0001-configure-Add-with-cpu.patch \
-           file://0002-Replace-lfs64-functions-and-defines.patch \
-           file://0003-configure-Check-for-pthread_rwlockattr_setkind_np-be.patch \
-           "
+SRC_URI = "git://github.com/stressapptest/stressapptest;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
index 583cc63..0cc9d85 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
@@ -12,7 +12,7 @@
 
 S = "${WORKDIR}/git"
 
-CVE_CHECK_SKIP_RECIPE = "${PN}"
+CVE_PRODUCT = "freedesktop:bolt"
 
 inherit cmake pkgconfig meson features_check
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.5.bb b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.6.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.5.bb
rename to meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.6.bb
index 492de65..0d8923f 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.6.bb
@@ -6,7 +6,7 @@
                     file://ccan/licenses/CC0;md5=c17af43b05840255a6fedc5eda9d56cc \
                     file://ccan/licenses/BSD-MIT;md5=838c366f69b72c5df05c96dff79b35f2"
 DEPENDS = "json-c libnvme"
-SRCREV = "d6c07e0de9be777009ebb9ab7475bee1ae3e0e95"
+SRCREV = "bd2f882a49a14b0e21a94c928128b1979e4316fd"
 
 SRC_URI = "git://github.com/linux-nvme/nvme-cli.git;branch=master;protocol=https"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch
deleted file mode 100644
index a32414b..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet/0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a1659e261888bdbed51803132d52d9a6c6803c8a Mon Sep 17 00:00:00 2001
-From: Joachim Nilsson <troglobit@gmail.com>
-Date: Sat, 19 Oct 2019 12:26:26 +0200
-Subject: [PATCH] Use standard int64_t instead of __int64_t for mingw cross
- build
-
-Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
----
-Upstream-Status: Pending
-
- include/libnet/libnet-structures.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/include/libnet/libnet-structures.h b/include/libnet/libnet-structures.h
-index 6084caa..34fffc6 100644
---- a/include/libnet/libnet-structures.h
-+++ b/include/libnet/libnet-structures.h
-@@ -49,9 +49,9 @@ struct libnet_port_list_chain
- /* libnet statistics structure */
- struct libnet_stats
- {
--    __int64_t packets_sent;               /* packets sent */
--    __int64_t packet_errors;              /* packets errors */
--    __int64_t bytes_written;              /* bytes written */
-+    int64_t packets_sent;               /* packets sent */
-+    int64_t packet_errors;              /* packets errors */
-+    int64_t bytes_written;              /* bytes written */
- };
- 
- 
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.3.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.3.bb
index eaa0a04..b464883 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libnet/libnet_1.3.bb
@@ -8,11 +8,10 @@
 
 DEPENDS = "libpcap"
 
-SRC_URI = "git://github.com/libnet/libnet.git;protocol=https;branch=master \
-	file://0001-Use-standard-int64_t-instead-of-__int64_t-for-mingw-.patch"
+SRC_URI = "git://github.com/libnet/libnet.git;protocol=https;branch=master"
 
 SRC_URI[sha256sum] = "1e9e9054d688b059bcbaf878d8c4fbf69bfc0c9386cd4e7779fbb53339050d2e"
-SRCREV = "deeeeaeb84f8bc5d2299913d4ccf53d0d4c26966"
+SRCREV = "deaebdfe2743e8a6f04d3c307d9272afeeecfade"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image.bb b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-all.bb
similarity index 62%
rename from meta-openembedded/meta-oe/recipes-core/images/meta-oe-image.bb
rename to meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-all.bb
index 1565549..1338adf 100644
--- a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image.bb
+++ b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-all.bb
@@ -1,4 +1,4 @@
-require  meta-oe-image-base.bb
+require recipes-core/images/core-image-base.bb
 
 SUMMARY = "meta-oe build test image"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-base.bb b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-base.bb
deleted file mode 100644
index df92f16..0000000
--- a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-oe build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-all-image.bb b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-all-image.bb
rename to meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb
index 0ea03dd..e8e1750 100644
--- a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-all-image.bb
+++ b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb
@@ -12,9 +12,9 @@
 PTESTS_META_OE = "${PTESTS_FAST_META_OE} ${PTESTS_SLOW_META_OE}"
 
 do_testimage[noexec] = "1"
-do_testimage[depends] = "${@' '.join(['meta-oe-ptest-image-'+x+':do_testimage' for x in d.getVar('PTESTS_META_OE').split()])}"
+do_testimage[depends] = "${@' '.join(['meta-oe-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_OE').split()])}"
 
-do_build[depends] = "${@' '.join(['meta-oe-ptest-image-'+x+':do_build' for x in d.getVar('PTESTS_META_OE').split()])}"
+do_build[depends] = "${@' '.join(['meta-oe-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_OE').split()])}"
 
 # normally image.bbclass would do this
 EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-fast-image.bb b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-fast-image.bb
rename to meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb
index f56e841..46b48d6 100644
--- a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-fast-image.bb
+++ b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb
@@ -1,4 +1,4 @@
-require meta-oe-ptest-all-image.bb
+require meta-oe-image-ptest-all.bb
 
 DESCRIPTION = "Recipe to trigger execution of all fast meta-oe ptest images."
 
diff --git a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-image.bb b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-image.bb
rename to meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest.bb
index 613da02..4cd1f44 100644
--- a/meta-openembedded/meta-oe/recipes-core/images/meta-oe-ptest-image.bb
+++ b/meta-openembedded/meta-oe/recipes-core/images/meta-oe-image-ptest.bb
@@ -1,10 +1,9 @@
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "ptest"
 
+require recipes-core/images/core-image-minimal.bb
 require conf/include/ptest-packagelists-meta-oe.inc
 
-require  meta-oe-image-base.bb
-
 SUMMARY = "meta-oe ptest test image"
 
 DESCRIPTION += "Also including the ${MCNAME} ptest package."
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb
index 06d73d6..1edc21c 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_4.23.4.bb
@@ -101,9 +101,6 @@
 FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
 FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
 
-# CMake requires binaries to exist in sysroot, even if they have wrong architecture.
-SYSROOT_DIRS += "${bindir}"
-
 RDEPENDS:${PN}-compiler = "${PN}"
 RDEPENDS:${PN}-dev += "${PN}-compiler"
 RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.13.bb b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.13.bb
rename to meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb
index 7df8fc4..458958e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.13.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb
@@ -7,10 +7,10 @@
 HOMEPAGE = "https://pugixml.org/"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=d11b640daff611273752ec136394347c"
+LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=ad370df61d83846cf9e4726244671201"
 
 SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "40c0b3914ec131485640fa57e55bf1136446026b41db91c1bef678186a12abbe"
+SRC_URI[sha256sum] = "2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015"
 
 UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
index 479c12d..bd4a5b3 100644
--- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
@@ -1,11 +1,12 @@
 SUMMARY = "Collects and summarises system performance statistics"
 DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files."
+HOMEPAGE = "https://collectd.org/"
 LICENSE = "GPL-2.0-only & MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854"
 
 DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2"
 
-SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
+SRC_URI = "https://collectd.org/files/collectd-${PV}.tar.bz2 \
            file://collectd.init \
            file://collectd.service \
            file://no-gcrypt-badpath.patch \
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
new file mode 100644
index 0000000..3699b8c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
@@ -0,0 +1,80 @@
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
+
+From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Thu, 28 Sep 2023 12:54:23 +0200
+Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
+ and i386 arcs
+
+---
+ src/core_dump_handler/dlt_cdh.h         |  2 ++
+ src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
+ src/core_dump_handler/dlt_cdh_crashid.c |  2 +-
+ 3 files changed, 36 insertions(+), 1 deletion(-)
+ create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
+
+diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
+index d572ecf3..8608c6c4 100644
+--- a/src/core_dump_handler/dlt_cdh.h
++++ b/src/core_dump_handler/dlt_cdh.h
+@@ -55,6 +55,8 @@ typedef struct
+     uint64_t pc;
+     uint64_t ip;
+     uint64_t lr;
++    uint64_t sp;
++    uint64_t fp;
+ 
+ } cdh_registers_t;
+ 
+diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c
+new file mode 100644
+index 00000000..03509fda
+--- /dev/null
++++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
+@@ -0,0 +1,33 @@
++/*
++ * SPDX license identifier: MPL-2.0
++ *
++ * Copyright (C) 2011-2015, BMW AG
++ *
++ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
++ *
++ * This Source Code Form is subject to the terms of the
++ * Mozilla Public License (MPL), v. 2.0.
++ * If a copy of the MPL was not distributed with this file,
++ * You can obtain one at http://mozilla.org/MPL/2.0/.
++ *
++ * For further information see http://www.covesa.org/.
++ */
++
++/*!
++ * \author Gianfranco Costamagna <locutusofborg@debian.org>
++ *
++ * \copyright Copyright © 2011-2015 BMW AG. \n
++ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
++ *
++ * \file dlt_cdh_cpuinfo.c
++ */
++
++#include "dlt_cdh_cpuinfo.h"
++
++void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
++{
++/*    struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg;
++
++    registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
++
++}
+diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c
+index bca44e0e..8dd98d70 100644
+--- a/src/core_dump_handler/dlt_cdh_crashid.c
++++ b/src/core_dump_handler/dlt_cdh_crashid.c
+@@ -30,7 +30,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+-#include <asm/prctl.h>
++#include <sys/prctl.h>
+ #include <inttypes.h>
+ 
+ #include "dlt_cdh.h"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
index 33fae06..410fffa 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
@@ -17,17 +17,19 @@
 SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
            file://0002-Don-t-execute-processes-as-a-specific-user.patch \
            file://0004-Modify-systemd-config-directory.patch \
+           file://544.patch \
            "
 SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
 
 S = "${WORKDIR}/git"
 
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-adaptor-stdin dlt-adaptor-udp dlt-console ', '', d)} \
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \
+ dlt-examples dlt-adaptor dlt-adaptor-stdin dlt-adaptor-udp dlt-console \
  udp-connection dlt-system dlt-filetransfer "
 # dlt-dbus
 
 # General options
-PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF"
 
 # Linux options
 PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF -DWITH_DLT_SYSTEM=OFF,systemd"
@@ -38,26 +40,28 @@
 
 # Command line options
 PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
-PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF,,dlt-daemon-systemd"
-PACKAGECONFIG[dlt-adaptor-stdin] = "-DWITH_DLT_ADAPTOR_STDIN=ON,-DWITH_DLT_ADAPTOR_STDIN=OFF,,dlt-daemon-systemd"
-PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF"
+PACKAGECONFIG[dlt-adaptor-stdin] = "-DWITH_DLT_ADAPTOR_STDIN=ON,-DWITH_DLT_ADAPTOR_STDIN=OFF"
+PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF"
 PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
-PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF"
 
 inherit autotools gettext cmake pkgconfig systemd
 
+# -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now
+#FILES:${PN} += "${libdir}/sysctl.d"
 EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
 
 PACKAGES += "${PN}-systemd"
 SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
 SYSTEMD_SERVICE:${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \
-                          ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', 'dlt-system.service', '', d)} \
-                          ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.service', '', d)}"
+                          ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-system', 'dlt-system.service', '', d)} \
+                          ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-dbus', 'dlt-dbus.service', '', d)}"
 SYSTEMD_AUTO_ENABLE:${PN} = "enable"
 SYSTEMD_SERVICE:${PN}-systemd = " \
-    ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \
-    ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples', 'dlt-example-user.service', '', d)} \
-    ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples', 'dlt-example-user.service', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
 "
 SYSTEMD_AUTO_ENABLE:${PN}-systemd = "disable"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch
new file mode 100644
index 0000000..ec3a9fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch
@@ -0,0 +1,32 @@
+From 297abed277ce3aa0cf12adbfda3c8581afdba850 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 8 Oct 2023 19:30:29 -0700
+Subject: [PATCH] fix pythondir for multilib when cross compiling
+
+In case of cross compiling + multilib, the 'shell python3' line is
+not likely to give out correct result. Make use of pythondir instead.
+
+This patch is related to meta/recipes-devtools/automake/automake/0001-automake-Update-for-python.m4-to-respect-libdir.patch
+in oe-core, so this one is marked as oe specific.
+
+Upstream-Status: Inappropriate [OE Specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/python/gi/overrides/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/python/gi/overrides/Makefile.am b/src/python/gi/overrides/Makefile.am
+index 5e8e75f7..7c30601c 100644
+--- a/src/python/gi/overrides/Makefile.am
++++ b/src/python/gi/overrides/Makefile.am
+@@ -1,5 +1,5 @@
+ if WITH_PYTHON3
+-py3libdir = $(shell python3 -c "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '${exec_prefix}'}))")
++py3libdir = $(pythondir)
+ py3overridesdir = $(py3libdir)/gi/overrides
+ dist_py3overrides_DATA = BlockDev.py
+ endif
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb
index 670bebd..99175e6 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_3.03.bb
@@ -13,7 +13,8 @@
 DEPENDS = "autoconf-archive-native glib-2.0 kmod udev libnvme"
 
 SRC_URI = "git://github.com/storaged-project/libblockdev;branch=master;protocol=https \
-"
+           file://0001-fix-pythondir-for-multilib-when-cross-compiling.patch \
+           "
 SRCREV = "38378931d285b91333ff2e2a391b1fe91072f9bb"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch
new file mode 100644
index 0000000..0d3f412
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch
@@ -0,0 +1,58 @@
+From 671e0d091b40ef7deb4a9d43e0dbed2a44edbec8 Mon Sep 17 00:00:00 2001
+From: Matthew Fernandez <matthew.fernandez@gmail.com>
+Date: Sat, 9 Sep 2023 01:03:04 -0700
+Subject: [PATCH] Autotools: fix: do not put '$prefix' based paths in
+ compilation flags
+
+This was causing problems with cross-compilation with a dedicated sysroot,
+because compilation would incorrectly use headers and libraries from the
+`--prefix` path. The `--prefix` path is meant to indicate a target path to
+install to, not a path from which to source dependent libraries.
+
+Gitlab: fixes #2442
+Reported-by: Daniel Klauer
+Suggested-by: Daniel Klauer
+
+Upstream-Status: Backport [https://gitlab.com/graphviz/graphviz/-/commit/012d250a903e13114bce3ba40995fb957fed7848]
+Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
+---
+ CHANGELOG.md | 3 +++
+ configure.ac | 8 --------
+ 2 files changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/CHANGELOG.md b/CHANGELOG.md
+index b9b7e8e08..3a15fd256 100644
+--- a/CHANGELOG.md
++++ b/CHANGELOG.md
+@@ -39,6 +39,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
+   longer fails due to missing PHP files. #2388
+ - Syntax for a loop in `gvmap.sh` has been corrected. This was a regression in
+   Graphviz 2.50.0. #2404
++- The Autotools build system no longer uses headers and libraries from the
++  `--prefix` path given on the command line. This previously caused
++  cross-compilation to incorrectly pick up host headers and libraries. #2442
+ 
+ ## [8.0.5] – 2023-04-30
+ 
+diff --git a/configure.ac b/configure.ac
+index 573a3ee5d..7d53346de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -190,14 +190,6 @@ if test "x${prefix}" = "xNONE"; then
+ 	AC_SUBST([prefix])
+ fi
+ 
+-# automatically check for other dependencies in $prefix first
+-if test "x${prefix}" != "x/usr"; then
+-	CPPFLAGS="$CPPFLAGS -I${prefix}/include"
+-	LDFLAGS="$LDFLAGS -L${prefix}/lib"
+-	PKG_CONFIG_PATH="$prefix/lib/pkgconfig$PATHSEPARATOR$PKG_CONFIG_PATH"
+-	export PKG_CONFIG_PATH
+-fi
+-
+ dnl -----------------------------------
+ # Static/Shared binaries
+ 
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
index ccc1140..4d40ee4 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
@@ -19,6 +19,7 @@
 inherit autotools-brokensep pkgconfig gettext qemu
 
 SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \
+           file://0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch \
            "
 # Use native mkdefs
 SRC_URI:append:class-target = "\
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
index 4d6e0e3..291a83a 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
@@ -19,6 +19,8 @@
 # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d
 # if you have older kernel than that you need to remove it from PACKAGECONFIG
 PACKAGECONFIG ??= "firmware"
+# bpf needs working clang compiler anyway
+PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf"
 PACKAGECONFIG:remove:x86 = "bpf"
 PACKAGECONFIG:remove:arm = "bpf vm"
 # host ptrace.h is used to compile BPF target but mips ptrace.h is needed
@@ -28,34 +30,41 @@
 PACKAGECONFIG:remove:qemumips = "bpf vm"
 
 # riscv does not support libhugetlbfs yet
-PACKAGECONFIG:remove:riscv64 = "vm"
-PACKAGECONFIG:remove:riscv32 = "vm"
+PACKAGECONFIG:remove:riscv64 = "bpf vm"
+PACKAGECONFIG:remove:riscv32 = "bpf vm"
 
-PACKAGECONFIG[bpf] = ",,elfutils libcap libcap-ng rsync-native,"
+PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native,"
 PACKAGECONFIG[firmware] = ",,libcap, bash"
 PACKAGECONFIG[vm] = ",,libcap libhugetlbfs,libgcc bash"
 
 do_patch[depends] += "virtual/kernel:do_shared_workdir"
+do_compile[depends] += "virtual/kernel:do_install"
 
-inherit linux-kernel-base kernel-arch ptest
+inherit linux-kernel-base module-base kernel-arch ptest siteinfo
 
 S = "${WORKDIR}/${BP}"
 
+DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
+
 TEST_LIST = "\
     ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware vm', d)} \
     rtc \
 "
-
 EXTRA_OEMAKE = '\
     CROSS_COMPILE=${TARGET_PREFIX} \
     ARCH=${ARCH} \
     CC="${CC}" \
-    CLANG="clang -fno-stack-protector -target ${TARGET_ARCH} ${TOOLCHAIN_OPTIONS}" \
     AR="${AR}" \
     LD="${LD}" \
+    CLANG="clang -fno-stack-protector -target ${TARGET_ARCH} ${TOOLCHAIN_OPTIONS} -isystem ${S} -D__WORDSIZE=\'64\' -Wno-error=unused-command-line-argument" \
     DESTDIR="${D}" \
-    MACHINE="${ARCH}" \
+    V=1 \
 '
+EXTRA_OEMAKE:append:toolchain-clang = "\
+    LLVM=1 CONFIG_CC_IS_GCC= CONFIG_CC_IS_CLANG=y CONFIG_CC_IMPLICIT_FALLTHROUGH= \
+    HOSTCC="clang -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ ${BUILD_CFLAGS} ${BUILD_LDFLAGS} -Wno-error=unused-command-line-argument" \
+    HOSTLD="clang ${BUILD_LDFLAGS} -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++" \
+"
 
 KERNEL_SELFTEST_SRC ?= "Makefile \
                         include \
@@ -66,7 +75,6 @@
                         arch \
                         LICENSES \
 "
-
 do_compile() {
     if [ ${@bb.utils.contains('PACKAGECONFIG', 'bpf', 'True', 'False', d)} = 'True' ]; then
     if [ ${@bb.utils.contains('DEPENDS', 'clang-native', 'True', 'False', d)} = 'False' ]; then
@@ -74,7 +82,17 @@
 either install it and add it to HOSTTOOLS, or add clang-native from meta-clang to dependency"
     fi
     fi
+    mkdir -p ${S}/include/config ${S}/bits
+    install -Dm 0644 ${STAGING_KERNEL_BUILDDIR}/.config ${S}/include/config/auto.conf
+    if [ "${SITEINFO_BITS}" != "32" ]; then
+        for f in long-double endianness floatn struct_rwlock; do
+            cp ${RECIPE_SYSROOT}${includedir}/bits/$f-64.h ${S}/bits/$f-32.h
+        done
+    fi
     oe_runmake -C ${S} headers
+    sed -i -e 's|^all: docs|all:|' ${S}/tools/testing/selftests/bpf/Makefile
+    sed -i -e '/mrecord-mcount/d' ${S}/Makefile
+    sed -i -e '/Wno-alloc-size-larger-than/d' ${S}/Makefile
     for i in ${TEST_LIST}
     do
         oe_runmake -C ${S}/tools/testing/selftests/${i}
@@ -133,9 +151,9 @@
 INHIBIT_PACKAGE_DEBUG_SPLIT="1"
 FILES:${PN} += "/usr/kernel-selftest"
 
-RDEPENDS:${PN} += "python3 perl"
+RDEPENDS:${PN} += "python3 perl perl-module-io-handle"
 # tools/testing/selftests/vm/Makefile doesn't respect LDFLAGS and tools/testing/selftests/Makefile explicitly overrides to empty
-INSANE_SKIP:${PN} += "ldflags"
+INSANE_SKIP:${PN} += "ldflags libdir"
 
 SECURITY_CFLAGS = ""
 COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest
index d40b957..0903d09 100755
--- a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest
@@ -1,11 +1,7 @@
 #!/bin/sh
-export PATH=$PATH:/usr/kernel-selftest/bpf
-
-# test_align
-test_align | grep "12 pass" &> /dev/null
+/usr/kernel-selftest/run_kselftest.sh -s
 if [ $? == 0 ]; then
-    echo "[PASS]: test_align"
+    echo "PASS: kernel-selftest"
 else
-    echo "[FAIL]: test_align"
+    echo "[FAIL]: kernel-selftest"
 fi
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
index 71ca10e..a8e1e5c 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_1.2.0.bb
@@ -12,7 +12,7 @@
 SRCREV = "fbd60dbff51c870f5e80a17c4f2fd639eb80af90"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_HOST = "(x86_64|i.86|aarch64|riscv64|powerpc64).*-linux"
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux"
 
 S = "${WORKDIR}/git/src"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/run-ptest b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
index fbddc07..6746132 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
@@ -6,7 +6,7 @@
 minicoredumper_demo 6 & sleep 3 && minicoredumper_demo
 
 if ls /var/crash/ | grep minicoredumper; then
-	echo SUCCESS
+	echo "PASS: minicoredumper"
 else
-	echo FAIL
+	echo "FAIL: minicoredumper"
 fi
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb
index 558b448..eab5546 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.1.bb
@@ -7,7 +7,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
 
-SRCREV = "d6eb9696aa72473c1a11d34d928d35a3acc0c9a9"
+SRCREV = "10b9492dcf05b652e2e4b370e205bd605d421972"
 SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https;branch=main \
            file://libvpx-configure-support-blank-prefix.patch \
            "
diff --git a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
index 1633412..3654550 100644
--- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
@@ -11,7 +11,7 @@
            file://disable-float-tests.patch \
            file://disable-outside-tests.patch "
 
-# tag 2.10.17
+# tag 2.10.18
 SRCREV= "122d09549201da5383321d870bed45ecb9e168c5"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme/0001-test-handle-POSIX-ioctl-prototype.patch b/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme/0001-test-handle-POSIX-ioctl-prototype.patch
new file mode 100644
index 0000000..ef9cc47
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme/0001-test-handle-POSIX-ioctl-prototype.patch
@@ -0,0 +1,68 @@
+From ca47ba3119365eafac0ab25a86cab9d9a1b29bd4 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 30 Sep 2023 06:38:53 +0100
+Subject: [PATCH] test: handle POSIX ioctl prototype
+
+glibc has the following prototype for ioctl: int ioctl(int fd, unsigned long request, ...)
+POSIX (inc. musl) has the following for ioctl: int ioctl(int fd, int request, ...)
+
+Check which prototype is used in <sys/ioctl.h> to avoid a conflict and conditionally
+define the right one for the system.
+
+Bug: https://bugs.gentoo.org/914921
+Signed-off-by: Sam James <sam@gentoo.org>
+Upstream-Status: Backport [https://github.com/linux-nvme/libnvme/commit/ca47ba3119365eafac0ab25a86cab9d9a1b29bd4]
+---
+ meson.build       | 10 ++++++++++
+ test/ioctl/mock.c |  6 +++++-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 6fcf1da..2c979cc 100644
+--- a/meson.build
++++ b/meson.build
+@@ -230,6 +230,16 @@ conf.set(
+     ),
+     description: 'Is network address and service translation available'
+ )
++conf.set(
++    'HAVE_GLIBC_IOCTL',
++    cc.compiles(
++        '''#include <sys/ioctl.h>
++        int ioctl(int fd, unsigned long request, ...);
++        ''',
++        name: 'ioctl has glibc-style prototype'
++    ),
++    description: 'Is ioctl the glibc interface (rather than POSIX)'
++)
+ 
+ if cc.has_function_attribute('fallthrough')
+   conf.set('fallthrough', '__attribute__((__fallthrough__))')
+diff --git a/test/ioctl/mock.c b/test/ioctl/mock.c
+index e917244..5d2ac94 100644
+--- a/test/ioctl/mock.c
++++ b/test/ioctl/mock.c
+@@ -114,7 +114,11 @@ void end_mock_cmds(void)
+ 	} \
+ })
+ 
++#ifdef HAVE_GLIBC_IOCTL
+ int ioctl(int fd, unsigned long request, ...)
++#else
++int ioctl(int fd, int request, ...)
++#endif
+ {
+ 	struct mock_cmds *mock_cmds;
+ 	bool result64;
+@@ -141,7 +145,7 @@ int ioctl(int fd, unsigned long request, ...)
+ 		result64 = true;
+ 		break;
+ 	default:
+-		fail("unexpected %s %lu", __func__, request);
++		fail("unexpected %s %lu", __func__, (unsigned long) request);
+ 	}
+ 	check(mock_cmds->remaining_cmds,
+ 	      "unexpected %s command", mock_cmds->name);
+-- 
+2.40.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.5.bb b/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.6.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.5.bb
rename to meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.6.bb
index 4b6f1e3..802edac 100644
--- a/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libnvme/libnvme_1.6.bb
@@ -11,9 +11,11 @@
                     file://ccan/licenses/CC0;md5=c17af43b05840255a6fedc5eda9d56cc \
                     file://ccan/licenses/BSD-MIT;md5=838c366f69b72c5df05c96dff79b35f2"
 DEPENDS = "json-c"
-SRCREV = "4fea83db8328ea788ea8f1001e8ce1cb80ef5fae"
+SRCREV = "37a803cf77e224f66d86b1e1d9e74a15f55ea600"
 
-SRC_URI = "git://github.com/linux-nvme/libnvme;protocol=https;branch=master"
+SRC_URI = "git://github.com/linux-nvme/libnvme;protocol=https;branch=master \
+           file://0001-test-handle-POSIX-ioctl-prototype.patch \
+"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
new file mode 100644
index 0000000..536060c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fix-build-with-protobuf-v22.patch
@@ -0,0 +1,412 @@
+From 5e4150826fea6f37276f348c65d94ce4847d1211 Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Sat, 7 Oct 2023 10:11:25 +0900
+Subject: [PATCH] 3rdparty: supporting protobuf v22 and later
+
+Upstream-Status: Submitted [https://github.com/opencv/opencv/pull/24372]
+---
+ cmake/OpenCVFindProtobuf.cmake | 37 ++++++++++++++++++++++++++++++++++
+ modules/dnn/CMakeLists.txt     |  9 +++++++++
+ 2 files changed, 46 insertions(+)
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index 8835347d1d..9bd5c28db8 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -67,6 +67,38 @@ else()
+   endif()
+ endif()
+ 
++# See https://github.com/opencv/opencv/issues/24369
++# In Protocol Buffers v22.0 and later drops C++11 support and depends abseil-cpp.
++#   Details: https://protobuf.dev/news/2022-08-03/
++# And if std::text_view is in abseil-cpp requests C++17 and later.
++if(HAVE_PROTOBUF)
++    if("${Protobuf_VERSION}" MATCHES [[[0-9]+.([0-9]+).[0-9]+]])
++        string(COMPARE GREATER_EQUAL "${CMAKE_MATCH_1}" "22" REQUEST_ABSL)
++
++        if(REQUEST_ABSL)
++            string(COMPARE GREATER_EQUAL "${CMAKE_CXX_STANDARD}" "17" USED_AFTER_CXX17)
++            if(NOT USED_AFTER_CXX17)
++                message("CMAKE_CXX_STANDARD : ${CMAKE_CXX_STANDARD}")
++                message("protobuf           : ${Protobuf_VERSION}")
++                message(FATAL_ERROR "protobuf(v22 and later) and abseil-cpp request CMAKE_CXX_STANDARD=17 and later.")
++            endif()
++
++            ocv_check_modules(ABSL_STRINGS absl_strings)
++            if(NOT ABSL_STRINGS_FOUND)
++                message(FATAL_ERROR "protobuf(v22 and later) requests abseil-cpp(strings), but missing.")
++            endif()
++
++            ocv_check_modules(ABSL_LOG absl_log)
++            if(NOT ABSL_LOG_FOUND)
++                message(FATAL_ERROR "protobuf(v22 and later) requests abseil-cpp(log), but missing.")
++            endif()
++
++        endif()
++    else()
++        message(FATAL_ERROR "Protobuf version(${Protobuf_VERSION}) is unexpected to split.")
++    endif()
++endif()
++
+ if(HAVE_PROTOBUF AND PROTOBUF_UPDATE_FILES AND NOT COMMAND PROTOBUF_GENERATE_CPP)
+   message(FATAL_ERROR "Can't configure protobuf dependency (BUILD_PROTOBUF=${BUILD_PROTOBUF} PROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES})")
+ endif()
+@@ -89,3 +121,8 @@ if(HAVE_PROTOBUF)
+     BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})"
+     ELSE "${__location} (${Protobuf_VERSION})")
+ endif()
++
++if(HAVE_ABSL_STRINGS AND HAVE_ABSL_LOG)
++  list(APPEND CUSTOM_STATUS absl)
++  list(APPEND CUSTOM_STATUS_absl "      abseil-cpp:" "YES (${ABSL_STRINGS_VERSION})" )
++endif()
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index 804b78ead2..d32007b37e 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -149,6 +149,15 @@ if(NOT BUILD_PROTOBUF)
+   list(APPEND include_dirs ${Protobuf_INCLUDE_DIRS})
+ endif()
+ 
++if(HAVE_ABSL_STRINGS)
++  list(APPEND libs ${ABSL_STRINGS_LIBRARIES})
++  list(APPEND include_dirs ${ABSL_STRTRINGS_INCLUDE_DIRS})
++endif()
++if(HAVE_ABSL_LOG)
++  list(APPEND libs ${ABSL_LOG_LIBRARIES})
++  list(APPEND include_dirs ${ABSL_LOG_INCLUDE_DIRS})
++endif()
++
+ set(sources_options "")
+ 
+ list(APPEND libs ${LAPACK_LIBRARIES})
+From 06a7669521d205f647d3e718322ccd153cdbbb77 Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Sun, 8 Oct 2023 09:39:35 +0900
+Subject: [PATCH] dnn: disable some tests for external protobuf
+
+---
+ modules/dnn/CMakeLists.txt         |  5 +++++
+ modules/dnn/src/caffe/caffe_io.cpp | 24 ++++++++++++++++++++++--
+ modules/dnn/test/test_layers.cpp   | 16 ++++++++++++++++
+ 3 files changed, 43 insertions(+), 2 deletions(-)
+
+diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
+index d32007b37e..face38465f 100644
+--- a/modules/dnn/CMakeLists.txt
++++ b/modules/dnn/CMakeLists.txt
+@@ -254,6 +254,12 @@ ocv_create_module(${libs} ${dnn_runtime_libs})
+ ocv_add_samples()
+ ocv_add_accuracy_tests(${dnn_runtime_libs})
+ 
++if(NOT BUILD_PROTOBUF)
++  if(TARGET opencv_test_dnn)
++    ocv_target_compile_definitions(opencv_test_dnn PRIVATE "OPENCV_DNN_EXTERNAL_PROTOBUF=1")
++  endif()
++endif()
++
+ set(perf_path "${CMAKE_CURRENT_LIST_DIR}/perf")
+ file(GLOB_RECURSE perf_srcs "${perf_path}/*.cpp")
+ file(GLOB_RECURSE perf_hdrs "${perf_path}/*.hpp" "${perf_path}/*.h")
+@@ -318,3 +322,4 @@ if(OPENCV_TEST_DNN_TFLITE)
+     ocv_target_compile_definitions(opencv_perf_dnn PRIVATE "OPENCV_TEST_DNN_TFLITE=1")
+   endif()
+ endif()
++
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index ebecf95eea..ebceca84cf 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -1130,7 +1130,17 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
+     parser.AllowUnknownField(true);
+     parser.SetRecursionLimit(1000);
+ #endif
+-    return parser.Parse(&input, proto);
++    const bool ret = parser.Parse(&input, proto);
++
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    if(!ret)
++    {
++        LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
++        CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
++    }
++#endif
++
++    return ret;
+ }
+ 
+ bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
+@@ -1148,7 +1158,17 @@ bool ReadProtoFromTextBuffer(const char* data, size_t len, Message* proto) {
+     parser.AllowUnknownField(true);
+     parser.SetRecursionLimit(1000);
+ #endif
+-    return parser.Parse(&input, proto);
++    const bool ret = parser.Parse(&input, proto);
++
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    if(!ret)
++    {
++        LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
++        CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
++    }
++#endif
++
++    return ret;
+ }
+ 
+ 
+diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
+index 763d94b99c..a07d442d76 100644
+--- a/modules/dnn/test/test_layers.cpp
++++ b/modules/dnn/test/test_layers.cpp
+@@ -754,7 +754,11 @@ TEST_F(Layer_RNN_Test, get_set_test)
+     EXPECT_EQ(shape(outputs[1]), shape(nT, nS, nH));
+ }
+ 
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Accum)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_Accum)  // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+     if (backend == DNN_BACKEND_OPENCV && target != DNN_TARGET_CPU)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+@@ -778,7 +782,11 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
+     testLayerUsingCaffeModels("channel_norm", false, false);
+ }
+ 
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, DataAugmentation)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_DataAugmentation)  // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+     if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+@@ -787,7 +795,11 @@ TEST_P(Test_Caffe_layers, DataAugmentation)
+     testLayerUsingCaffeModels("data_augmentation_8x6", true, false);
+ }
+ 
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Resample)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_Resample)  // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+     if (backend != DNN_BACKEND_OPENCV)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);
+@@ -795,7 +807,11 @@ TEST_P(Test_Caffe_layers, Resample)
+     testLayerUsingCaffeModels("nearest", false, false);
+ }
+ 
++#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Correlation)
++#else
++TEST_P(Test_Caffe_layers, DISABLED_Correlation)  // requires patched protobuf (available in OpenCV source tree only)
++#endif
+ {
+     if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER,
+From 2c33798f41942aefc203183d673ce4846f32dba4 Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Sun, 8 Oct 2023 13:28:40 +0900
+Subject: [PATCH] use GREATER instead of GREATER_EQUAL and remove new blank
+ line at EOF
+
+---
+ cmake/OpenCVFindProtobuf.cmake | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index 9bd5c28db8..ba147526d6 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -71,12 +71,14 @@ endif()
+ # In Protocol Buffers v22.0 and later drops C++11 support and depends abseil-cpp.
+ #   Details: https://protobuf.dev/news/2022-08-03/
+ # And if std::text_view is in abseil-cpp requests C++17 and later.
++
+ if(HAVE_PROTOBUF)
+     if("${Protobuf_VERSION}" MATCHES [[[0-9]+.([0-9]+).[0-9]+]])
+-        string(COMPARE GREATER_EQUAL "${CMAKE_MATCH_1}" "22" REQUEST_ABSL)
++        string(COMPARE GREATER "${CMAKE_MATCH_1}" "21" REQUEST_ABSL)  # >=22
+ 
+         if(REQUEST_ABSL)
+-            string(COMPARE GREATER_EQUAL "${CMAKE_CXX_STANDARD}" "17" USED_AFTER_CXX17)
++            string(COMPARE GREATER "${CMAKE_CXX_STANDARD}" "16" USED_AFTER_CXX17)  # >=17
++
+             if(NOT USED_AFTER_CXX17)
+                 message("CMAKE_CXX_STANDARD : ${CMAKE_CXX_STANDARD}")
+                 message("protobuf           : ${Protobuf_VERSION}")
+From cd709eefbeedd116bf3495b42280323b932791ff Mon Sep 17 00:00:00 2001
+From: Kumataro <Kumataro@users.noreply.github.com>
+Date: Mon, 9 Oct 2023 21:51:04 +0900
+Subject: [PATCH] fix for review
+
+---
+ cmake/OpenCVFindProtobuf.cmake     |  5 ----
+ modules/dnn/src/caffe/caffe_io.cpp | 24 ++----------------
+ modules/dnn/test/test_layers.cpp   | 40 +++++++++++++++---------------
+ 3 files changed, 22 insertions(+), 47 deletions(-)
+
+diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake
+index ba147526d6..2faf1010bf 100644
+--- a/cmake/OpenCVFindProtobuf.cmake
++++ b/cmake/OpenCVFindProtobuf.cmake
+@@ -123,8 +123,3 @@ if(HAVE_PROTOBUF)
+     BUILD_PROTOBUF THEN "build (${Protobuf_VERSION})"
+     ELSE "${__location} (${Protobuf_VERSION})")
+ endif()
+-
+-if(HAVE_ABSL_STRINGS AND HAVE_ABSL_LOG)
+-  list(APPEND CUSTOM_STATUS absl)
+-  list(APPEND CUSTOM_STATUS_absl "      abseil-cpp:" "YES (${ABSL_STRINGS_VERSION})" )
+-endif()
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index ebceca84cf..ebecf95eea 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -1130,17 +1130,7 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
+     parser.AllowUnknownField(true);
+     parser.SetRecursionLimit(1000);
+ #endif
+-    const bool ret = parser.Parse(&input, proto);
+-
+-#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+-    if(!ret)
+-    {
+-        LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
+-        CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
+-    }
+-#endif
+-
+-    return ret;
++    return parser.Parse(&input, proto);
+ }
+ 
+ bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
+@@ -1158,17 +1148,7 @@ bool ReadProtoFromTextBuffer(const char* data, size_t len, Message* proto) {
+     parser.AllowUnknownField(true);
+     parser.SetRecursionLimit(1000);
+ #endif
+-    const bool ret = parser.Parse(&input, proto);
+-
+-#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
+-    if(!ret)
+-    {
+-        LOG(ERROR) << "Some data requires patched protobuf (available in OpenCV source tree only).";
+-        CV_Error_(Error::StsError,("Some data requires patched protobuf (available in OpenCV source tree only)."));
+-    }
+-#endif
+-
+-    return ret;
++    return parser.Parse(&input, proto);
+ }
+ 
+ 
+diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
+index a07d442d76..5c6fc541d7 100644
+--- a/modules/dnn/test/test_layers.cpp
++++ b/modules/dnn/test/test_layers.cpp
+@@ -754,17 +754,17 @@ TEST_F(Layer_RNN_Test, get_set_test)
+     EXPECT_EQ(shape(outputs[1]), shape(nT, nS, nH));
+ }
+ 
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Accum)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Accum)  // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    throw SkipTestException("Requires patched protobuf");
++#else
+     if (backend == DNN_BACKEND_OPENCV && target != DNN_TARGET_CPU)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+ 
+     testLayerUsingCaffeModels("accum", false, false, 0.0, 0.0, 2);
+     testLayerUsingCaffeModels("accum_ref", false, false, 0.0, 0.0, 2);
++#endif
+ }
+ 
+ TEST_P(Test_Caffe_layers, FlowWarp)
+@@ -782,42 +782,42 @@ TEST_P(Test_Caffe_layers, ChannelNorm)
+     testLayerUsingCaffeModels("channel_norm", false, false);
+ }
+ 
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, DataAugmentation)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_DataAugmentation)  // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    throw SkipTestException("Requires patched protobuf");
++#else
+     if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+     testLayerUsingCaffeModels("data_augmentation", true, false);
+     testLayerUsingCaffeModels("data_augmentation_2x1", true, false);
+     testLayerUsingCaffeModels("data_augmentation_8x6", true, false);
++#endif
+ }
+ 
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Resample)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Resample)  // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    throw SkipTestException("Requires patched protobuf");
++#else
+     if (backend != DNN_BACKEND_OPENCV)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);
+     testLayerUsingCaffeModels("nearest_2inps", false, false, 0.0, 0.0, 2);
+     testLayerUsingCaffeModels("nearest", false, false);
++#endif
+ }
+ 
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Correlation)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Correlation)  // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    throw SkipTestException("Requires patched protobuf");
++#else
+     if (backend == DNN_BACKEND_OPENCV && target == DNN_TARGET_OPENCL_FP16)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_NGRAPH, CV_TEST_TAG_DNN_SKIP_IE_NN_BUILDER,
+                      CV_TEST_TAG_DNN_SKIP_OPENCL, CV_TEST_TAG_DNN_SKIP_OPENCL_FP16);
+     testLayerUsingCaffeModels("correlation", false, false, 0.0, 0.0, 2);
+ }
++#endif
+ 
+ TEST_P(Test_Caffe_layers, Convolution2Inputs)
+ {
+@@ -1657,12 +1657,11 @@ private:
+     int outWidth, outHeight, zoomFactor;
+ };
+ 
+-#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
+ TEST_P(Test_Caffe_layers, Interp)
+-#else
+-TEST_P(Test_Caffe_layers, DISABLED_Interp)  // requires patched protobuf (available in OpenCV source tree only)
+-#endif
+ {
++#ifdef OPENCV_DNN_EXTERNAL_PROTOBUF
++    throw SkipTestException("Requires patched protobuf");
++#else
+ #if defined(INF_ENGINE_RELEASE) && INF_ENGINE_VER_MAJOR_EQ(2021030000)
+     if (backend == DNN_BACKEND_INFERENCE_ENGINE_NGRAPH && target == DNN_TARGET_MYRIAD)
+         applyTestTag(CV_TEST_TAG_DNN_SKIP_IE_MYRIAD, CV_TEST_TAG_DNN_SKIP_IE_NGRAPH);  // exception
+@@ -1686,6 +1685,7 @@ TEST_P(Test_Caffe_layers, DISABLED_Interp)  // requires patched protobuf (availa
+ 
+     // Test an implemented layer.
+     testLayerUsingCaffeModels("layer_interp", false, false);
++#endif
+ }
+ 
+ INSTANTIATE_TEST_CASE_P(/*nothing*/, Test_Caffe_layers, dnnBackendsAndTargets());
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.8.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.8.0.bb
index 9564bbb..85eb230 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.8.0.bb
@@ -31,6 +31,7 @@
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
            file://0008-Do-not-embed-build-directory-in-binaries.patch \
+           file://fix-build-with-protobuf-v22.patch \
            "
 SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
 
@@ -98,7 +99,7 @@
 PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade"
 PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
 PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF -DCMAKE_CXX_STANDARD=17,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
 PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
 PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
 PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
diff --git a/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb b/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb
index ed7a3f0..1bcfb0a 100644
--- a/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Cukinia is designed to help Linux-based embedded firmware \
 developers run simple system-level validation tests on their firmware."
 HOMEPAGE = "https://github.com/savoirfairelinux/cukinia"
-LICENSE = "GPL-3.0-only & Apache-2.0"
+LICENSE = "GPL-3.0-only | Apache-2.0"
 
 LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
                     file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
diff --git a/meta-openembedded/meta-perl/files/static-group-meta-perl b/meta-openembedded/meta-perl/files/static-group-meta-perl
new file mode 100644
index 0000000..7dd58bb
--- /dev/null
+++ b/meta-openembedded/meta-perl/files/static-group-meta-perl
@@ -0,0 +1 @@
+logcheck:x:670:
\ No newline at end of file
diff --git a/meta-openembedded/meta-perl/files/static-passwd-meta-perl b/meta-openembedded/meta-perl/files/static-passwd-meta-perl
new file mode 100644
index 0000000..7b3591a
--- /dev/null
+++ b/meta-openembedded/meta-perl/files/static-passwd-meta-perl
@@ -0,0 +1 @@
+logcheck:x:670:670::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-base.bb b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-base.bb
deleted file mode 100644
index 2af10b2..0000000
--- a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-perl build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image.bb b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-all.bb
similarity index 70%
rename from meta-openembedded/meta-perl/recipes-core/images/meta-perl-image.bb
rename to meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-all.bb
index b8d3a76..c46cba2 100644
--- a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image.bb
+++ b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-all.bb
@@ -1,4 +1,4 @@
-require  meta-perl-base.bb
+require recipes-core/images/core-image-base.bb
 
 SUMMARY = "meta-perl build test image"
 
diff --git a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-all-image.bb b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest-all.bb
similarity index 84%
rename from meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-all-image.bb
rename to meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest-all.bb
index 236043c..e2cafa9 100644
--- a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-all-image.bb
+++ b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest-all.bb
@@ -12,9 +12,9 @@
 PTESTS_META_PERL = "${PTESTS_FAST_META_PERL} ${PTESTS_SLOW_META_PERL}"
 
 do_testimage[noexec] = "1"
-do_testimage[depends] = "${@' '.join(['meta-perl-ptest-image-'+x+':do_testimage' for x in d.getVar('PTESTS_META_PERL').split()])}"
+do_testimage[depends] = "${@' '.join(['meta-perl-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_PERL').split()])}"
 
-do_build[depends] = "${@' '.join(['meta-perl-ptest-image-'+x+':do_build' for x in d.getVar('PTESTS_META_PERL').split()])}"
+do_build[depends] = "${@' '.join(['meta-perl-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_PERL').split()])}"
 
 # normally image.bbclass would do this
 EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-fast-image.bb b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest-fast.bb
similarity index 77%
rename from meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-fast-image.bb
rename to meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest-fast.bb
index 5d8afa0..1ac78f3 100644
--- a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-fast-image.bb
+++ b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest-fast.bb
@@ -1,4 +1,4 @@
-require meta-perl-ptest-all-image.bb
+require meta-perl-image-ptest-all.bb
 
 DESCRIPTION = "Recipe to trigger execution of all fast meta-perl ptest images."
 
diff --git a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-image.bb b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest.bb
similarity index 96%
rename from meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-image.bb
rename to meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest.bb
index 7cca640..7905977 100644
--- a/meta-openembedded/meta-perl/recipes-core/images/meta-perl-ptest-image.bb
+++ b/meta-openembedded/meta-perl/recipes-core/images/meta-perl-image-ptest.bb
@@ -1,10 +1,9 @@
 inherit features_check
 REQUIRED_DISTRO_FEATURES += "ptest"
 
-require  meta-perl-base.bb
-
 SUMMARY = "meta-perl build ptest image"
 
+require recipes-core/images/core-image-minimal.bb
 require conf/include/ptest-packagelists-meta-perl.inc
 
 DESCRIPTION += "Also including the ${MCNAME} ptest package."
diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-all.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb
rename to meta-openembedded/meta-python/recipes-core/images/meta-python-image-all.bb
index 6353d38..fbe3efc 100644
--- a/meta-openembedded/meta-python/recipes-core/images/meta-python-image.bb
+++ b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-all.bb
@@ -1,4 +1,4 @@
-require  meta-python-image-base.bb
+require recipes-core/images/core-image-base.bb
 
 SUMMARY = "meta-python build test image"
 
diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb
deleted file mode 100644
index 81081e6..0000000
--- a/meta-openembedded/meta-python/recipes-core/images/meta-python-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-python build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-all-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest-all.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-all-image.bb
rename to meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest-all.bb
index fd4dc42..56c392f 100644
--- a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-all-image.bb
+++ b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest-all.bb
@@ -12,9 +12,9 @@
 PTESTS_META_PYTHON = "${PTESTS_FAST_META_PYTHON} ${PTESTS_SLOW_META_PYTHON}"
 
 do_testimage[noexec] = "1"
-do_testimage[depends] = "${@' '.join(['meta-python-ptest-image-'+x+':do_testimage' for x in d.getVar('PTESTS_META_PYTHON').split()])}"
+do_testimage[depends] = "${@' '.join(['meta-python-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_PYTHON').split()])}"
 
-do_build[depends] = "${@' '.join(['meta-python-ptest-image-'+x+':do_build' for x in d.getVar('PTESTS_META_PYTHON').split()])}"
+do_build[depends] = "${@' '.join(['meta-python-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_PYTHON').split()])}"
 
 # normally image.bbclass would do this
 EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-fast-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest-fast.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-fast-image.bb
rename to meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest-fast.bb
index 4f93a15..bb6e821 100644
--- a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-fast-image.bb
+++ b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest-fast.bb
@@ -1,4 +1,4 @@
-require meta-python-ptest-all-image.bb
+require meta-python-image-ptest-all.bb
 
 DESCRIPTION = "Recipe to trigger execution of all fast meta-python ptest images."
 
diff --git a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest.bb
similarity index 96%
rename from meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb
rename to meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest.bb
index a649cbb..fed676c 100644
--- a/meta-openembedded/meta-python/recipes-core/images/meta-python-ptest-image.bb
+++ b/meta-openembedded/meta-python/recipes-core/images/meta-python-image-ptest.bb
@@ -1,10 +1,9 @@
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "ptest"
 
+require recipes-core/images/core-image-minimal.bb
 require conf/include/ptest-packagelists-meta-python.inc
 
-require  meta-python-image-base.bb
-
 SUMMARY = "meta-python ptest test image"
 
 DESCRIPTION += "Also including the ${MCNAME} ptest package."
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-boto3_1.28.57.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-boto3_1.28.57.bb
deleted file mode 100644
index ad40fd0..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-boto3_1.28.57.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-HOMEPAGE = "https://github.com/boto/boto"
-SUMMARY = "Amazon Web Services API"
-DESCRIPTION = "\
-  Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, \
-  which allows Python developers to write software that makes use of services like \
-  Amazon S3 and Amazon EC2. \
-  "
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[sha256sum] = "e2d2824ba6459b330d097e94039a9c4f96ae3f4bcdc731d620589ad79dcd16d3"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-botocore python3-urllib3 python3-unixadmin"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-botocore_1.31.57.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-botocore_1.31.57.bb
deleted file mode 100644
index d0c3ff2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-botocore_1.31.57.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "A low-level interface to a growing number of Amazon Web Services."
-HOMEPAGE = "https://github.com/boto/botocore"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[sha256sum] = "301436174635bec739b225b840fc365ca00e5c1a63e5b2a19ee679d204e01b78"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-jmespath python3-dateutil python3-logging"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4/run-ptest
index 1b245bc..8d2017d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-pytest -v
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
index 9d31ab6..f0c8684 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
@@ -22,6 +22,7 @@
     python3-pytest-runner \
     python3-multiprocessing \
     python3-psutil \
+    python3-unittest-automake-output \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pylint-remove-plugin-pickle-test.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pylint-remove-plugin-pickle-test.patch
deleted file mode 100644
index a7637a5..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pylint-remove-plugin-pickle-test.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 341e19dd69d847f84859e85cabff5846e7da24c4 Mon Sep 17 00:00:00 2001
-From: Trevor Gamblin <tgamblin@baylibre.com>
-Date: Mon, 15 May 2023 09:26:04 -0400
-Subject: [PATCH] pylint: remove plugin pickle test
-
-Upstream-Status: Inappropriate (oe-specific)
-
-Upstream uses an assertion in the removed test to state that the test
-needs changing if the plugin loading succeeds. The same failure wasn't
-seen when running the tests on the host with pytest, so disable it by
-removing the test from the suite.
-
-Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
----
- tests/test_check_parallel.py | 22 ----------------------
- 1 file changed, 22 deletions(-)
-
-diff --git a/tests/test_check_parallel.py b/tests/test_check_parallel.py
-index d56502eaf..34fec140f 100644
---- a/tests/test_check_parallel.py
-+++ b/tests/test_check_parallel.py
-@@ -257,28 +257,6 @@ class TestCheckParallelFramework:
-         assert stats.statement == 18
-         assert stats.warning == 0
- 
--    def test_linter_with_unpickleable_plugins_is_pickleable(self) -> None:
--        """The linter needs to be pickle-able in order to be passed between workers"""
--        linter = PyLinter(reporter=Reporter())
--        # We load an extension that we know is not pickle-safe
--        linter.load_plugin_modules(["pylint.extensions.overlapping_exceptions"])
--        try:
--            dill.dumps(linter)
--            raise AssertionError(
--                "Plugins loaded were pickle-safe! This test needs altering"
--            )
--        except (KeyError, TypeError, PickleError, NotImplementedError):
--            pass
--
--        # And expect this call to make it pickle-able
--        linter.load_plugin_configuration()
--        try:
--            dill.dumps(linter)
--        except KeyError as exc:
--            raise AssertionError(
--                "Cannot pickle linter when using non-pickleable plugin"
--            ) from exc
--
-     def test_worker_check_sequential_checker(self) -> None:
-         """Same as test_worker_check_single_file_no_checkers with SequentialTestChecker."""
-         linter = PyLinter(reporter=Reporter())
--- 
-2.40.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pyproject.toml-Remove-hard-coded-dependencies.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pyproject.toml-Remove-hard-coded-dependencies.patch
deleted file mode 100644
index 7950e72..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint/0001-pyproject.toml-Remove-hard-coded-dependencies.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From c5c415a240189ac6730ba95de0bb5883dfb53609 Mon Sep 17 00:00:00 2001
-From: Trevor Gamblin <tgamblin@baylibre.com>
-Date: Mon, 1 May 2023 11:32:24 -0400
-Subject: [PATCH] pyproject.toml: Remove hard-coded dependencies
-
-Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
----
-Upstream-Status: Pending
-
- pyproject.toml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index bd542646b..2c0ed9485 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -1,5 +1,5 @@
- [build-system]
--requires = ["setuptools~=62.6", "wheel~=0.37.1"]
-+requires = ["setuptools", "wheel"]
- build-backend = "setuptools.build_meta"
- 
- [project]
--- 
-2.40.0
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.17.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.17.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.0.bb
index 96fce2e..413e659 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.17.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_3.0.0.bb
@@ -6,10 +6,8 @@
 SRC_URI += " \
         git://github.com/pylint-dev/pylint;branch=main;protocol=https \
         file://run-ptest \
-        file://0001-pyproject.toml-Remove-hard-coded-dependencies.patch \
-        file://0001-pylint-remove-plugin-pickle-test.patch \
         "
-SRCREV ?= "fc34a4b6abe56f3ac07ca15d846b1c1955545f85"
+SRCREV ?= "4a7ad5ea9f1c5a98ccf736578a00554be0da6dc7"
 
 inherit python_setuptools_build_meta ptest
 
@@ -47,5 +45,6 @@
 do_install_ptest() {
     install -d ${D}${PTEST_PATH}/tests
     cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    install -Dm 0644 ${S}/tests/.pylint_primer_tests/.gitkeep ${D}${PTEST_PATH}/tests/.pylint_primer_tests/.gitkeep
     sed -i 's#/usr/bin/python$#/usr/bin/python3#g' ${D}${PTEST_PATH}/tests/data/ascript
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
index 39fbd1a..baf3cf8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
@@ -30,6 +30,7 @@
 RDEPENDS:${PN}-ptest += " \
     python3-pytest \
     python3-fcntl \
+    python3-sqlite3 \
 "
 
 do_install_ptest() {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb
index 930ad34..3ea5594 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rapidjson_1.11.bb
@@ -9,14 +9,32 @@
 
 S = "${WORKDIR}/git"
 
-inherit setuptools3
+# Inheriting ptest provides functionality for packaging and installing runtime tests for this recipe
+inherit setuptools3 ptest
 
 SETUPTOOLS_BUILD_ARGS += " --rj-include-dir=${RECIPE_SYSROOT}${includedir}"
 
+# run-ptest is a shell script that starts the test suite
+SRC_URI += " \
+    file://run-ptest \
+"
+
 DEPENDS += " \
     rapidjson \
 "
 
+# Adding required python package for the ptest (pytest and pytest->automake report translation)
+RDEPENDS:${PN}-ptest += " \
+    ${PYTHON_PN}-pytest \
+    ${PYTHON_PN}-unittest-automake-output \
+"
+
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-core \
 "
+
+# Installing the test suite on the target
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver b/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver
new file mode 100644
index 0000000..028cf8d
--- /dev/null
+++ b/meta-openembedded/meta-webserver/files/static-passwd-meta-webserver
@@ -0,0 +1,2 @@
+www:x:690:nogroup::/:/bin/nologin
+netdata:x:691:nogroup::/:/bin/nologin
\ No newline at end of file
diff --git a/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-all.bb b/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-all.bb
new file mode 100644
index 0000000..9d2badc
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-all.bb
@@ -0,0 +1,3 @@
+require recipes-core/images/core-image-base.bb
+
+IMAGE_INSTALL += "packagegroup-meta-webserver"
diff --git a/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb b/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb
deleted file mode 100644
index a4ce10f..0000000
--- a/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-webserver build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb b/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb
deleted file mode 100644
index ce4f8a0..0000000
--- a/meta-openembedded/meta-webserver/recipes-core/images/meta-webserver-image.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require  meta-webserver-image-base.bb
-
-IMAGE_INSTALL += "packagegroup-meta-webserver"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch
new file mode 100644
index 0000000..7ba2a1f
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/0001-configure-libxslt-conf.patch
@@ -0,0 +1,39 @@
+From 0c3c669464a514cf8d0cac08282ecb2b486f440f Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 3 Oct 2023 19:21:17 +0000
+Subject: [PATCH] configure: libxslt conf
+
+Modify to find libxslt related include files under sysroot.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ auto/lib/libxslt/conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/auto/lib/libxslt/conf b/auto/lib/libxslt/conf
+index 3063ac7..eb77886 100644
+--- a/auto/lib/libxslt/conf
++++ b/auto/lib/libxslt/conf
+@@ -12,7 +12,7 @@
+                       #include <libxslt/xsltInternals.h>
+                       #include <libxslt/transform.h>
+                       #include <libxslt/xsltutils.h>"
+-    ngx_feature_path="/usr/include/libxml2"
++    ngx_feature_path="=/usr/include/libxml2"
+     ngx_feature_libs="-lxml2 -lxslt"
+     ngx_feature_test="xmlParserCtxtPtr    ctxt = NULL;
+                       xsltStylesheetPtr   sheet = NULL;
+@@ -100,7 +100,7 @@ fi
+     ngx_feature_name=NGX_HAVE_EXSLT
+     ngx_feature_run=no
+     ngx_feature_incs="#include <libexslt/exslt.h>"
+-    ngx_feature_path="/usr/include/libxml2"
++    ngx_feature_path="=/usr/include/libxml2"
+     ngx_feature_libs="-lexslt"
+     ngx_feature_test="exsltRegisterAll();"
+     . auto/feature
+-- 
+2.35.5
+
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index 1ea32f7..8890e0b 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -22,6 +22,7 @@
     file://nginx-volatile.conf \
     file://nginx.service \
     file://nginx-fix-pidfile.patch \
+    file://0001-configure-libxslt-conf.patch \
 "
 
 inherit siteinfo update-rc.d useradd systemd
@@ -47,6 +48,8 @@
 PACKAGECONFIG[webdav] = "--with-http_dav_module,,"
 PACKAGECONFIG[stream] = "--with-stream,,"
 
+PACKAGECONFIG[xslt] = "--with-http_xslt_module,,libxslt"
+
 do_configure () {
     if [ "${SITEINFO_BITS}" = "64" ]; then
         PTRSIZE=8