diff --git a/meta-arm/.gitlab-ci.yml b/meta-arm/.gitlab-ci.yml
index d6ac361..4f16fcf 100644
--- a/meta-arm/.gitlab-ci.yml
+++ b/meta-arm/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: ${MIRROR_GHCR}/siemens/kas/kas:4.3.1
+image: ${MIRROR_GHCR}/siemens/kas/kas:4.3.2
 
 variables:
   # These are needed as the k8s executor doesn't respect the container
@@ -260,14 +260,6 @@
 sgi575:
   extends: .build
 
-tc1:
-  extends: .build
-  parallel:
-    matrix:
-      - TESTING: testimage
-  tags:
-    - x86_64
-
 toolchains:
   extends: .build
 
diff --git a/meta-arm/ci/check-warnings b/meta-arm/ci/check-warnings
index cdf84aa..89ae955 100755
--- a/meta-arm/ci/check-warnings
+++ b/meta-arm/ci/check-warnings
@@ -7,7 +7,7 @@
 
 LOGFILE=$1
 
-LINES=$(sed -e "/attempting MIRRORS if available/d" -e "/Error parsing .*netrc:/d" $LOGFILE | wc -l)
+LINES=$(grep --invert-match "attempting MIRRORS if available" $LOGFILE | wc -l)
 if test "$LINES" -ne 0; then
     echo ==============================
     echo The build had warnings/errors:
diff --git a/meta-arm/ci/fvps.yml b/meta-arm/ci/fvps.yml
index a89df05..c651614 100644
--- a/meta-arm/ci/fvps.yml
+++ b/meta-arm/ci/fvps.yml
@@ -22,4 +22,3 @@
   - nativesdk-fvp-corstone1000
   - nativesdk-fvp-n1-edge
   - nativesdk-fvp-sgi575
-  - nativesdk-fvp-tc1
diff --git a/meta-arm/ci/tc1.yml b/meta-arm/ci/tc1.yml
deleted file mode 100644
index 77d67d2..0000000
--- a/meta-arm/ci/tc1.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-header:
-  version: 14
-  includes:
-    - ci/base.yml
-    - ci/fvp.yml
-    - ci/meta-openembedded.yml
-
-machine: tc1
-
-target:
-  - core-image-minimal
diff --git a/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
index a82d007..7a8905d 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
@@ -8,7 +8,7 @@
 # TF-A
 TFA_PLATFORM = "corstone1000"
 PREFERRED_VERSION_trusted-firmware-a ?= "2.10.%"
-PREFERRED_VERSION_tf-a-tests ?= "2.8.%"
+PREFERRED_VERSION_tf-a-tests ?= "2.10.%"
 
 TFA_BL2_BINARY = "bl2-corstone1000.bin"
 TFA_FIP_BINARY = "fip-corstone1000.bin"
diff --git a/meta-arm/meta-arm-bsp/conf/machine/include/tc.inc b/meta-arm/meta-arm-bsp/conf/machine/include/tc.inc
deleted file mode 100644
index 872f58c..0000000
--- a/meta-arm/meta-arm-bsp/conf/machine/include/tc.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-TUNE_FEATURES = "aarch64"
-
-require conf/machine/include/arm/arch-armv8a.inc
-
-MACHINEOVERRIDES =. "tc:"
-
-# Das U-boot
-UBOOT_MACHINE ?= "total_compute_defconfig"
-UBOOT_RD_LOADADDRESS = "0x88000000"
-UBOOT_RD_ENTRYPOINT = "0x88000000"
-UBOOT_LOADADDRESS = "0x80080000"
-UBOOT_ENTRYPOINT = "0x80080000"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-
-# OP-TEE
-PREFERRED_VERSION_optee-os ?= "3.20%"
-PREFERRED_VERSION_optee-client ?= "3.20%"
-PREFERRED_VERSION_optee-test ?= "3.20%"
-
-# Cannot use the default zImage on arm64
-KERNEL_IMAGETYPE = "Image"
-KERNEL_IMAGETYPES += "fitImage"
-KERNEL_CLASSES = " kernel-fitimage "
-
-IMAGE_FSTYPES += "cpio.gz"
-INITRAMFS_IMAGE ?= "core-image-minimal"
-IMAGE_NAME_SUFFIX = ""
-
-SERIAL_CONSOLES = "115200;ttyAMA0"
-
-EXTRA_IMAGEDEPENDS += "trusted-firmware-a optee-os"
-PREFERRED_VERSION_trusted-firmware-a ?= "2.8.%"
-# FIXME - there is signed image dependency/race with testimage.
-# This should be fixed in oe-core
-TESTIMAGEDEPENDS:append = " virtual/kernel:do_deploy"
diff --git a/meta-arm/meta-arm-bsp/conf/machine/tc1.conf b/meta-arm/meta-arm-bsp/conf/machine/tc1.conf
deleted file mode 100644
index a0f2967..0000000
--- a/meta-arm/meta-arm-bsp/conf/machine/tc1.conf
+++ /dev/null
@@ -1,31 +0,0 @@
-# Configuration for TC1
-
-#@TYPE: Machine
-#@NAME: TC1
-#@DESCRIPTION: Machine configuration for TC1
-
-require conf/machine/include/tc.inc
-
-TEST_TARGET = "OEFVPTarget"
-TEST_SUITES = "fvp_boot"
-
-# FVP Config
-FVP_PROVIDER ?= "fvp-tc1-native"
-FVP_EXE ?= "FVP_TC1"
-
-# FVP Parameters
-FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp_romfw.bin"
-FVP_CONFIG[css.trustedBootROMloader.fname] ?= "bl1-tc.bin"
-FVP_CONFIG[board.flashloader0.fname] ?= "fip_gpt-tc.bin"
-
-#FVP_CONFIG[board.hostbridge.userNetworking] ?= "true"
-#FVP_CONFIG[board.hostbridge.userNetPorts] ?= "2222=22"
-#smsc ethernet takes a very long time to come up.  disable now to prevent testimage timeout
-#FVP_CONFIG[board.smsc_91c111.enabled] ?= "1"
-
-FVP_CONSOLE = "terminal_s1"
-FVP_TERMINALS[soc.terminal_s0] ?= "Secure Console"
-FVP_TERMINALS[soc.terminal_s1] ?= "Console"
-
-# Boot image
-FVP_DATA ?= "board.dram=fitImage-core-image-minimal-tc1-tc1@0x20000000"
diff --git a/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst b/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst
index dc1d102..06353b5 100644
--- a/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst
+++ b/meta-arm/meta-arm-bsp/documentation/corstone1000/user-guide.rst
@@ -735,11 +735,11 @@
    cd <_workspace>
 
    ./u-boot/tools/mkeficapsule --monotonic-count 1 --private-key build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_key.key \
-   --certificate build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_cert.crt --index 1 --guid 989f3a4e-46e0-4cd0-9877-a25c70c01329 \
+   --certificate build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_cert.crt --index 1 --guid df1865d1-90fb-4d59-9c38-c9f2c1bba8cc \
    --fw-version 6 build/tmp/deploy/images/corstone1000-mps3/corstone1000_image.nopt cs1k_cap_mps3_v6
 
    ./u-boot/tools/mkeficapsule --monotonic-count 1 --private-key build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_key.key \
-   --certificate build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_cert.crt --index 1 --guid 989f3a4e-46e0-4cd0-9877-a25c70c01329 \
+   --certificate build/tmp/deploy/images/corstone1000-mps3/corstone1000_capsule_cert.crt --index 1 --guid df1865d1-90fb-4d59-9c38-c9f2c1bba8cc \
    --fw-version 5 build/tmp/deploy/images/corstone1000-mps3/corstone1000_image.nopt cs1k_cap_mps3_v5
 
 Generating FVP Capsules
diff --git a/meta-arm/meta-arm-bsp/documentation/tc1.md b/meta-arm/meta-arm-bsp/documentation/tc1.md
deleted file mode 100644
index 464f77e..0000000
--- a/meta-arm/meta-arm-bsp/documentation/tc1.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# TC1 Platform Support in meta-arm-bsp
-
-## Overview
-The Total Compute platform provides an envelope for all of Arm's latest IP and
-software solutions, optimised to work together. Further information can be
-found on the Total Compute community page:
-https://community.arm.com/developer/tools-software/oss-platforms/w/docs/606/total-compute
-
-The user guide for TC1 platform with detailed instructions for
-syncing and building the source code and running on TC1 Fixed Virtual Platform
-for poky and android distributions is available at:
-https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms.git/tree/docs/tc1/user-guide.rst
-
-## Building
-In the local.conf file, MACHINE should be set as follows:
-MACHINE = "tc1"
-
-To build the required binaries for tc1, run the commmand:
-```bash$ bitbake tc-artifacts-image```
-
-Trusted-firmware-a is the final component to be built with the rest of the
-components dependent of it, therefore building tc-artifacts-image which depends
-on trusted-firmware-a will build all the required binaries.
-
-## Running
-To run the produced binaries in a TC1 Fixed Virtual Platform please get
-the run scripts at:
-https://git.linaro.org/landing-teams/working/arm/model-scripts.git/
-
-and follow the instructions in the user-guide.rst available in:
-https://git.linaro.org/landing-teams/working/arm/arm-reference-platforms.git/tree/docs/tc1/user-guide.rst
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc b/meta-arm/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc
deleted file mode 100644
index 4e5368e..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/hafnium/hafnium-tc.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-# TC specific configuration
-
-COMPATIBLE_MACHINE = "(tc?)"
-HAFNIUM_PLATFORM = "secure_tc"
-
-do_compile() {
-    PATH="${S}/prebuilts/linux-x64/clang/bin:$PATH" oe_runmake -C ${S}
-}
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc b/meta-arm/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc
deleted file mode 100644
index 8716059..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-tc.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-# TC specific SCP configuration
-
-COMPATIBLE_MACHINE = "(tc1)"
-SCP_PRODUCT_GROUP = "totalcompute"
-
-FW_TARGETS = "scp"
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_2.9.0.bb b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_2.9.0.bb
deleted file mode 100644
index 72a3e79..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/tf-a-tests_2.9.0.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-DESCRIPTION = "Trusted Firmware-A tests(aka TFTF)"
-LICENSE = "BSD-3-Clause & NCSA"
-
-LIC_FILES_CHKSUM += "file://docs/license.rst;md5=6175cc0aa2e63b6d21a32aa0ee7d1b4a"
-
-inherit deploy
-
-COMPATIBLE_MACHINE ?= "invalid"
-
-SRC_URI_TRUSTED_FIRMWARE_A_TESTS ?= "git://git.trustedfirmware.org/TF-A/tf-a-tests.git;protocol=https"
-SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A_TESTS};branch=${SRCBRANCH} \
-          "
-SRCBRANCH = "master"
-SRCREV = "df6783437cdc98dabf4f49568312b86460f72efa"
-
-DEPENDS += "optee-os"
-
-EXTRA_OEMAKE += "USE_NVM=0"
-EXTRA_OEMAKE += "SHELL_COLOR=1"
-EXTRA_OEMAKE += "DEBUG=1"
-
-# Platform must be set for each machine
-TFA_PLATFORM ?= "invalid"
-
-EXTRA_OEMAKE += "ARCH=aarch64"
-EXTRA_OEMAKE += "LOG_LEVEL=50"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-# Add platform parameter
-EXTRA_OEMAKE += "BUILD_BASE=${B} PLAT=${TFA_PLATFORM}"
-
-# Requires CROSS_COMPILE set by hand as there is no configure script
-export CROSS_COMPILE="${TARGET_PREFIX}"
-
-do_compile() {
-    oe_runmake -C ${S} tftf
-}
-
-do_compile[cleandirs] = "${B}"
-
-FILES:${PN} = "/firmware/tftf.bin"
-SYSROOT_DIRS += "/firmware"
-
-do_install() {
-    install -d -m 755 ${D}/firmware
-    install -m 0644 ${B}/${TFA_PLATFORM}/debug/tftf.bin ${D}/firmware/tftf.bin
-}
-
-do_deploy() {
-    cp -rf ${D}/firmware/* ${DEPLOYDIR}/
-}
-addtask deploy after do_install
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc
deleted file mode 100644
index c14629f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-tc.inc
+++ /dev/null
@@ -1,134 +0,0 @@
-# TC0 specific TFA configuration
-
-DEPENDS += "scp-firmware util-linux-native gptfdisk-native"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/files/tc:"
-SRC_URI:append = " \
-    file://generate_metadata.py \
-    "
-
-COMPATIBLE_MACHINE = "(tc?)"
-
-TFA_PLATFORM = "tc"
-TFA_BUILD_TARGET = "all fip"
-TFA_UBOOT = "1"
-TFA_INSTALL_TARGET = "bl1 fip"
-TFA_MBEDTLS = "1"
-TFA_DEBUG = "1"
-
-TFA_SPD = "spmd"
-TFA_SPMD_SPM_AT_SEL2 = "1"
-
-TFA_TARGET_PLATFORM:tc0 = "0"
-TFA_TARGET_PLATFORM:tc1 = "1"
-
-EXTRA_OEMAKE += "TARGET_PLATFORM=${TFA_TARGET_PLATFORM}"
-
-# Set optee as SP. Set spmc manifest and sp layout file to optee
-DEPENDS += "optee-os"
-
-TFA_SP_LAYOUT_FILE = "${RECIPE_SYSROOT}/${nonarch_base_libdir}/firmware/sp_layout.json"
-TFA_ARM_SPMC_MANIFEST_DTS = "plat/arm/board/tc/fdts/tc_spmc_optee_sp_manifest.dts"
-
-EXTRA_OEMAKE += "SCP_BL2=${RECIPE_SYSROOT}/firmware/scp_ramfw.bin"
-EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \
-                     ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem"
-EXTRA_OEMAKE += "PSA_FWU_SUPPORT=1 ARM_GPT_SUPPORT=1"
-EXTRA_OEMAKE += "CTX_INCLUDE_MTE_REGS=1"
-
-do_generate_gpt() {
-    gpt_image="${BUILD_DIR}/fip_gpt.bin"
-    fip_bin="${BUILD_DIR}/fip.bin"
-    # the FIP partition type is not standardized, so generate one
-    fip_type_uuid=`uuidgen --sha1 --namespace @dns --name "fip_type_uuid"`
-    # metadata partition type UUID, specified by the document:
-    # Platform Security Firmware Update for the A-profile Arm Architecture
-    # version: 1.0BET0
-    metadata_type_uuid="8a7a84a0-8387-40f6-ab41-a8b9a5a60d23"
-    location_uuid=`uuidgen`
-    FIP_A_uuid=`uuidgen`
-    FIP_B_uuid=`uuidgen`
-
-    # maximum FIP size 4MB. This is the current size of the FIP rounded up to an integer number of MB.
-    fip_max_size=4194304
-    fip_bin_size=$(stat -c %s $fip_bin)
-    if [ $fip_max_size -lt $fip_bin_size ]; then
-        bberror "FIP binary ($fip_bin_size bytes) is larger than the GPT partition ($fip_max_size bytes)"
-    fi
-
-    # maximum metadata size 512B. This is the current size of the metadata rounded up to an integer number of sectors.
-    metadata_max_size=512
-    metadata_file="${BUILD_DIR}/metadata.bin"
-    python3 ${WORKDIR}/generate_metadata.py --metadata_file $metadata_file \
-                                            --img_type_uuids $fip_type_uuid \
-                                            --location_uuids $location_uuid \
-                                            --img_uuids $FIP_A_uuid $FIP_B_uuid
-
-    # create GPT image. The GPT contains 2 FIP partitions: FIP_A and FIP_B, and 2 metadata partitions: FWU-Metadata and Bkup-FWU-Metadata.
-    # the GPT layout is the following:
-    # -----------------------
-    # Protective MBR
-    # -----------------------
-    # Primary GPT Header
-    # -----------------------
-    # FIP_A
-    # -----------------------
-    # FIP_B
-    # -----------------------
-    # FWU-Metadata
-    # -----------------------
-    # Bkup-FWU-Metadata
-    # -----------------------
-    # Secondary GPT Header
-    # -----------------------
-
-    sector_size=512
-    gpt_header_size=33 # valid only for 512-byte sectors
-    num_sectors_fip=`expr $fip_max_size / $sector_size`
-    num_sectors_metadata=`expr $metadata_max_size / $sector_size`
-    start_sector_1=`expr 1 + $gpt_header_size` # size of MBR is 1 sector
-    start_sector_2=`expr $start_sector_1 + $num_sectors_fip`
-    start_sector_3=`expr $start_sector_2 + $num_sectors_fip`
-    start_sector_4=`expr $start_sector_3 + $num_sectors_metadata`
-    num_sectors_gpt=`expr $start_sector_4 + $num_sectors_metadata + $gpt_header_size`
-    gpt_size=`expr $num_sectors_gpt \* $sector_size`
-
-    # create raw image
-    dd if=/dev/zero of=$gpt_image bs=$gpt_size count=1
-
-    # create the GPT layout
-    sgdisk $gpt_image \
-           --set-alignment 1 \
-           --disk-guid $location_uuid \
-           \
-           --new 1:$start_sector_1:+$num_sectors_fip \
-           --change-name 1:FIP_A \
-           --typecode 1:$fip_type_uuid \
-           --partition-guid 1:$FIP_A_uuid \
-           \
-           --new 2:$start_sector_2:+$num_sectors_fip \
-           --change-name 2:FIP_B \
-           --typecode 2:$fip_type_uuid \
-           --partition-guid 2:$FIP_B_uuid \
-           \
-           --new 3:$start_sector_3:+$num_sectors_metadata \
-           --change-name 3:FWU-Metadata \
-           --typecode 3:$metadata_type_uuid \
-           \
-           --new 4:$start_sector_4:+$num_sectors_metadata \
-           --change-name 4:Bkup-FWU-Metadata \
-           --typecode 4:$metadata_type_uuid
-
-    # populate the GPT partitions
-    dd if=$fip_bin of=$gpt_image bs=$sector_size seek=$start_sector_1 count=$num_sectors_fip conv=notrunc
-    dd if=$fip_bin of=$gpt_image bs=$sector_size seek=$start_sector_2 count=$num_sectors_fip conv=notrunc
-    dd if=$metadata_file of=$gpt_image bs=$sector_size seek=$start_sector_3 count=$num_sectors_metadata conv=notrunc
-    dd if=$metadata_file of=$gpt_image bs=$sector_size seek=$start_sector_4 count=$num_sectors_metadata conv=notrunc
-}
-
-addtask do_generate_gpt after do_compile before do_install
-
-do_install:append() {
-    install -m 0644 ${BUILD_DIR}/fip_gpt.bin ${D}/firmware/fip_gpt-tc.bin
-    ln -sf fip_gpt-tc.bin ${D}/firmware/fip_gpt.bin
-}
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.8.6.bb b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.8.6.bb
deleted file mode 100644
index ef7ea59..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.8.6.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
-
-# TF-A v2.8.6
-SRCREV_tfa = "ff0bd5f9bb2ba2f31fb9cec96df917747af9e92d"
-SRCBRANCH = "lts-v2.8"
-
-SRC_URI += "file://rwx-segments.patch"
-
-LIC_FILES_CHKSUM += "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
-
-# mbed TLS v2.28.2
-SRC_URI_MBEDTLS = "git://github.com/ARMmbed/mbedtls.git;name=mbedtls;protocol=https;destsuffix=git/mbedtls;branch=mbedtls-2.28"
-SRCREV_mbedtls = "89f040a5c938985c5f30728baed21e49d0846a53"
-
-LIC_FILES_CHKSUM_MBEDTLS = "file://mbedtls/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-do_compile:prepend() {
-    sed -i '/^LDLIBS/ s,$, \$\{BUILD_LDFLAGS},' ${S}/tools/fiptool/Makefile
-}
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-add-unique-guid-for-mps3.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-add-unique-guid-for-mps3.patch
new file mode 100644
index 0000000..3711b8c
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0007-platform-corstone1000-add-unique-guid-for-mps3.patch
@@ -0,0 +1,41 @@
+From 3d35eb08fe0cea5c4b882c448f44530bb45c05f0 Mon Sep 17 00:00:00 2001
+From: Anusmita Dutta Mazumder <anusmita.duttamazumder@arm.com>
+Date: Tue, 2 Apr 2024 13:04:56 +0000
+Subject: [PATCH] platform: corstone1000: add unique guid for mps3
+
+This patch sets unique GUID for Corstone1000 FVP and MPS3
+
+Upstream-Status: Inappropriate [Redesign of Capsule update interface is required]
+Signed-off-by: Anusmita Dutta Mazumder <anusmita.duttamazumder@arm.com>
+---
+ .../target/arm/corstone1000/fw_update_agent/fwu_agent.c   | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
+index 2e6cf80470..be04e0e5df 100644
+--- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
++++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c
+@@ -113,13 +113,19 @@ enum fwu_agent_state_t {
+ };
+ 
+ struct efi_guid full_capsule_image_guid = {
++#if PLATFORM_IS_FVP
+     .time_low = 0x989f3a4e,
+     .time_mid = 0x46e0,
+     .time_hi_and_version = 0x4cd0,
+     .clock_seq_and_node = {0x98, 0x77, 0xa2, 0x5c, 0x70, 0xc0, 0x13, 0x29}
++#else
++    .time_low = 0xdf1865d1,
++    .time_mid = 0x90fb,
++    .time_hi_and_version = 0x4d59,
++    .clock_seq_and_node = {0x9c, 0x38, 0xc9, 0xf2, 0xc1, 0xbb, 0xa8, 0xcc}
++#endif
+ };
+ 
+-
+ #define IMAGE_ACCEPTED          (1)
+ #define IMAGE_NOT_ACCEPTED      (0)
+ #define BANK_0                  (0)
+-- 
+2.38.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
index 716d3f1..e098da7 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-corstone1000.inc
@@ -39,6 +39,7 @@
     file://0004-platform-corstone1000-align-capsule-update-structs.patch \
     file://0005-platform-corstone1000-fix-synchronization-issue-on-o.patch \
     file://0006-Platform-Corstone1000-skip-the-first-nv-counter.patch \
+    file://0007-platform-corstone1000-add-unique-guid-for-mps3.patch \    
     "
 
 # TF-M ships patches for external dependencies that needs to be applied
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc
index c7172d6..c0a029e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-corstone1000.inc
@@ -59,6 +59,7 @@
     file://0041-scatter-gather-flag-workaround.patch			  \
     file://0042-corstone1000-enable-virtio-net-support.patch		  \
     file://0043-firmware-psci-Fix-bind_smccc_features-psci-check.patch		  \
+    file://0044-corstone1000-set-unique-GUID-for-fvp-and-mps3.patch		  \
     "
 
 do_configure:append() {
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-tc.inc b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-tc.inc
deleted file mode 100644
index ca182c5..0000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot-tc.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-# TC0 and TC1 specific U-boot support 
-
-SRC_URI:append = " \
-    file://bootargs.cfg \
-    "
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch
index 485ed4b..0e467a8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0001-FF-A-v15-arm64-smccc-add-support-for-SMCCCv1.2-x0-x1.patch
@@ -1,8 +1,8 @@
-From 6b7a5bff8d68b191569557b6444e2c5061af8074 Mon Sep 17 00:00:00 2001
+From cc651db9a1370e697fd2525ce58b81ff7e112474 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Fri, 29 Jul 2022 13:06:19 +0100
-Subject: [PATCH 01/38] FF-A v15: arm64: smccc: add support for SMCCCv1.2
- x0-x17 registers
+Subject: [PATCH] FF-A v15: arm64: smccc: add support for SMCCCv1.2 x0-x17
+ registers
 
 add support for x0-x17 registers used by the SMC calls
 
@@ -196,6 +196,3 @@
  /**
   * struct arm_smccc_quirk - Contains quirk information
   * @id: quirk identification
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch
index ebb2b55..2fc5caa 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0002-FF-A-v15-lib-uuid-introduce-uuid_str_to_le_bin-funct.patch
@@ -1,8 +1,7 @@
-From faa2a74ce8cc9497c551b1bee6beed5c2c2f2dee Mon Sep 17 00:00:00 2001
+From 4c1eaa36a882f9f921c3bc3b1352bbb04a939c4f Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Thu, 4 Aug 2022 16:46:47 +0100
-Subject: [PATCH 02/38] FF-A v15: lib: uuid: introduce uuid_str_to_le_bin
- function
+Subject: [PATCH] FF-A v15: lib: uuid: introduce uuid_str_to_le_bin function
 
 convert UUID string to little endian binary data
 
@@ -114,6 +113,3 @@
  /*
   * uuid_bin_to_str() - convert big endian binary data to string UUID or GUID.
   *
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch
index dbdf296..bec856e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0003-FF-A-v15-lib-uuid-introduce-testcase-for-uuid_str_to.patch
@@ -1,7 +1,7 @@
-From fa4a5b45d0254e347ba15992d997529f5056fe8f Mon Sep 17 00:00:00 2001
+From fe51e27e4f0033e9737a1099d0dd06f976a60705 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 27 Mar 2023 16:24:29 +0100
-Subject: [PATCH 03/38] FF-A v15: lib: uuid: introduce testcase for
+Subject: [PATCH] FF-A v15: lib: uuid: introduce testcase for
  uuid_str_to_le_bin
 
 provide a test case
@@ -89,6 +89,3 @@
 +}
 +
 +LIB_TEST(lib_test_uuid_to_le, 0);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch
index e2c9d86..dcbc574 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch
@@ -1,7 +1,7 @@
-From 6a50d03467b70220b615dbe87b4b49d7f86fcb2f Mon Sep 17 00:00:00 2001
+From d1f0d01f1d863c2b98cc181dfc752f6c71faefaf Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 17 Jul 2023 15:11:43 +0100
-Subject: [PATCH 04/38] FF-A v15: arm_ffa: introduce Arm FF-A support
+Subject: [PATCH] FF-A v15: arm_ffa: introduce Arm FF-A support
 
 Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
 
@@ -2127,6 +2127,3 @@
  	UCLASS_FIRMWARE,	/* Firmware */
  	UCLASS_FPGA,		/* FPGA device */
  	UCLASS_FUZZING_ENGINE,	/* Fuzzing engine */
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch
index 0a4f4c9..8672652 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0005-FF-A-v15-arm_ffa-introduce-armffa-command.patch
@@ -1,7 +1,7 @@
-From 2d225908fde28c9759fae7a9fdce6bb8c39ec579 Mon Sep 17 00:00:00 2001
+From 57e4d6e9c5fc174a96366268150bc85de75baa79 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Wed, 10 May 2023 17:27:01 +0100
-Subject: [PATCH 05/38] FF-A v15: arm_ffa: introduce armffa command
+Subject: [PATCH] FF-A v15: arm_ffa: introduce armffa command
 
 Provide armffa command showcasing the use of the U-Boot FF-A support
 
@@ -431,6 +431,3 @@
  	select LIB_UUID
  	select DEVRES
  	help
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch
index 13ea227..c0078b8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0006-FF-A-v15-arm_ffa-introduce-sandbox-FF-A-support.patch
@@ -1,7 +1,7 @@
-From 8b24115d3b41af53602bfc80bea7e134dc0edefb Mon Sep 17 00:00:00 2001
+From b05ab0973850069d819872e26fae2aecbbf75f0e Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 17 Jul 2023 15:18:58 +0100
-Subject: [PATCH 06/38] FF-A v15: arm_ffa: introduce sandbox FF-A support
+Subject: [PATCH] FF-A v15: arm_ffa: introduce sandbox FF-A support
 
 Emulate Secure World's FF-A ABIs and allow testing U-Boot FF-A support
 
@@ -1309,6 +1309,3 @@
  	UCLASS_FIRMWARE,	/* Firmware */
  	UCLASS_FPGA,		/* FPGA device */
  	UCLASS_FUZZING_ENGINE,	/* Fuzzing engine */
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch
index 7233079..c61002d 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0007-FF-A-v15-arm_ffa-introduce-sandbox-test-cases-for-UC.patch
@@ -1,7 +1,7 @@
-From 9c789dbc70d58f55c84cc02ac35783af0aae85d5 Mon Sep 17 00:00:00 2001
+From effa8444b74e456f724146c2593991281f95762d Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Wed, 10 May 2023 17:34:55 +0100
-Subject: [PATCH 07/38] FF-A v15: arm_ffa: introduce sandbox test cases for
+Subject: [PATCH] FF-A v15: arm_ffa: introduce sandbox test cases for
  UCLASS_FFA
 
 Add functional test cases for the FF-A support
@@ -336,6 +336,3 @@
 +}
 +
 +DM_TEST(dm_test_ffa_nack, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch
index 5d70db6..a1dc18e 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0008-FF-A-v15-arm_ffa-introduce-armffa-command-Sandbox-te.patch
@@ -1,8 +1,7 @@
-From 95589fd6c92d41aa22d30a34193006216c6ee827 Mon Sep 17 00:00:00 2001
+From c95d1bd311b251e5dd6c6e53c2dc7977bdca7870 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Fri, 23 Jun 2023 13:44:10 +0100
-Subject: [PATCH 08/38] FF-A v15: arm_ffa: introduce armffa command Sandbox
- test
+Subject: [PATCH] FF-A v15: arm_ffa: introduce armffa command Sandbox test
 
 Add Sandbox test for the armffa command
 
@@ -90,6 +89,3 @@
 +}
 +
 +DM_TEST(dm_test_armffa_cmd, UT_TESTF_SCAN_FDT | UT_TESTF_CONSOLE_REC);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch
index 6f663fa..4934a90 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0009-FF-A-v15-arm_ffa-efi-introduce-FF-A-MM-communication.patch
@@ -1,7 +1,7 @@
-From 02e38e24676d48d8a792ab6631a903ae1faa6271 Mon Sep 17 00:00:00 2001
+From c40964dc6ba6baea0adf8f384e1e57fcd5ca18b0 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 15 Aug 2022 15:12:49 +0100
-Subject: [PATCH 09/38] FF-A v15: arm_ffa: efi: introduce FF-A MM communication
+Subject: [PATCH] FF-A v15: arm_ffa: efi: introduce FF-A MM communication
 
 Add MM communication support using FF-A transport
 
@@ -444,6 +444,3 @@
  	free(comm_buf);
  
  	/*
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch
index bc71b94..b01d669 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0010-FF-A-v15-arm_ffa-efi-corstone1000-enable-MM-communic.patch
@@ -1,8 +1,7 @@
-From c726c9ff098e4b271d60856b462f3dc532763a03 Mon Sep 17 00:00:00 2001
+From c27f5fe90433f8e1b6eaa84857171ea7fc26593a Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 17 Jul 2023 15:23:33 +0100
-Subject: [PATCH 10/38] FF-A v15: arm_ffa: efi: corstone1000: enable MM
- communication
+Subject: [PATCH] FF-A v15: arm_ffa: efi: corstone1000: enable MM communication
 
 turn on EFI MM communication
 
@@ -28,6 +27,3 @@
 +CONFIG_FFA_SHARED_MM_BUF_SIZE=4096
 +CONFIG_FFA_SHARED_MM_BUF_OFFSET=0
 +CONFIG_FFA_SHARED_MM_BUF_ADDR=0x02000000
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-fwu-introduce-EFI-capsule-update.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-fwu-introduce-EFI-capsule-update.patch
index 00d6ea7..62fd6d5 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-fwu-introduce-EFI-capsule-update.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0011-efi-corstone1000-fwu-introduce-EFI-capsule-update.patch
@@ -1,7 +1,7 @@
-From 4483f276e70afdd961449ac45d4d8121c2a9080c Mon Sep 17 00:00:00 2001
+From 2a054e537037bb4f4f9e144ca69438abd9bb38ed Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 17 Jul 2023 15:56:18 +0100
-Subject: [PATCH 11/38] efi: corstone1000: fwu: introduce EFI capsule update
+Subject: [PATCH] efi: corstone1000: fwu: introduce EFI capsule update
 
 This commit provides capsule update feature for Corstone1000.
 
@@ -404,6 +404,3 @@
  	if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT)) {
  		u16 var_name16[12];
  
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch
index 023d53c..8055d88 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0012-arm-corstone1000-fix-unrecognized-filesystem-type.patch
@@ -1,7 +1,7 @@
-From 7844378788f308f3540c5eb10956c84113005fcc Mon Sep 17 00:00:00 2001
+From 2351cdc3787cd8b06579dcb1986fe80a57dd2d6e Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Fri, 4 Mar 2022 15:56:09 +0000
-Subject: [PATCH 12/38] arm: corstone1000: fix unrecognized filesystem type
+Subject: [PATCH] arm: corstone1000: fix unrecognized filesystem type
 
 Some usb sticks are not recognized by usb, just add a
 delay before checking status.
@@ -26,6 +26,3 @@
  	debug("STATUS phase\n");
  	result = usb_bulk_msg(us->pusb_dev, pipein, csw, UMASS_BBB_CSW_SIZE,
  				&actlen, USB_CNTL_TIMEOUT*5);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch
index 71cdf6a..fed13c6 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0013-efi_loader-corstone1000-remove-guid-check-from-corst.patch
@@ -1,8 +1,8 @@
-From 94e6c1dee044b3573991e48449de9144cfe3c0f3 Mon Sep 17 00:00:00 2001
+From 42d0694494fdc549a989ca5a3924fdc82a4647c1 Mon Sep 17 00:00:00 2001
 From: Vishnu Banavath <vishnu.banavath@arm.com>
 Date: Sat, 11 Dec 2021 13:23:55 +0000
-Subject: [PATCH 13/38] efi_loader: corstone1000: remove guid check from
- corstone1000 config option
+Subject: [PATCH] efi_loader: corstone1000: remove guid check from corstone1000
+ config option
 
 Use generic fmp guid and no separte check is required for
 CORSTONE1000 target.
@@ -48,6 +48,3 @@
  		if (ret != EFI_SUCCESS)
  			goto out;
  	}
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
index 9d3cb66..31c19e1 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0014-efi_loader-populate-ESRT-table-if-EFI_ESRT-config-op.patch
@@ -1,8 +1,8 @@
-From 9be08ccf3f7b30b2c57ff2eb593c5b17c967fc4a Mon Sep 17 00:00:00 2001
+From a368e6a94382bb88f3603107d14ff3af0fb4eaa2 Mon Sep 17 00:00:00 2001
 From: Vishnu Banavath <vishnu.banavath@arm.com>
 Date: Fri, 17 Dec 2021 19:49:02 +0000
-Subject: [PATCH 14/38] efi_loader: populate ESRT table if EFI_ESRT config
- option is set
+Subject: [PATCH] efi_loader: populate ESRT table if EFI_ESRT config option is
+ set
 
 This change is to call efi_esrt_populate function if CONFIG_EFI_ESRT
 is set. This will populte esrt table with firmware image info
@@ -32,6 +32,3 @@
  		goto out;
  #endif
  
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch
index c74c7c0..c7ecfe8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0015-efi_firmware-add-get_image_info-for-corstone1000.patch
@@ -1,7 +1,7 @@
-From 03fe979677509f974b8d56097fbbd6c7e4cbe20b Mon Sep 17 00:00:00 2001
+From 972ed0e27cce6d2822055f31e336213043bcb1f3 Mon Sep 17 00:00:00 2001
 From: Vishnu Banavath <vishnu.banavath@arm.com>
 Date: Fri, 17 Dec 2021 19:50:25 +0000
-Subject: [PATCH 15/38] efi_firmware: add get_image_info for corstone1000
+Subject: [PATCH] efi_firmware: add get_image_info for corstone1000
 
 This change is to populate get_image_info which eventually
 will be populated in ESRT table
@@ -118,6 +118,3 @@
  	if (dfu_write_by_alt(image_index - 1, (void *)image, image_size,
  			     NULL, NULL))
  		return EFI_EXIT(EFI_DEVICE_ERROR);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch
index 655e014..694d853 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0016-efi_loader-fix-null-pointer-exception-with-get_image.patch
@@ -1,8 +1,7 @@
-From 13bf700129e902ba7ae556babcfb9c7956f32571 Mon Sep 17 00:00:00 2001
+From 75ace03c24d92a206957a1a2392eab3c892cf960 Mon Sep 17 00:00:00 2001
 From: Vishnu Banavath <vishnu.banavath@arm.com>
 Date: Fri, 14 Jan 2022 15:24:18 +0000
-Subject: [PATCH 16/38] efi_loader: fix null pointer exception with
- get_image_info
+Subject: [PATCH] efi_loader: fix null pointer exception with get_image_info
 
 get_img_info API implemented for corstone1000 target does not
 check the input attributes and as a result uboot crash's with
@@ -58,6 +57,3 @@
  	image_info[i].attributes_supported = IMAGE_ATTRIBUTE_IMAGE_UPDATABLE |
  					     IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED;
  	image_info[i].attributes_setting = IMAGE_ATTRIBUTE_IMAGE_UPDATABLE;
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch
index dd746d9..1326e7c 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0017-arm-corstone1000-add-mmc-for-fvp.patch
@@ -1,7 +1,7 @@
-From e07a03678e72afa7a5d2ab66ce2e1a21e0a73cfc Mon Sep 17 00:00:00 2001
+From 7dec0707573062aba859e4cd3be073c24b112efa Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Mon, 17 Jul 2023 16:50:53 +0100
-Subject: [PATCH 17/38] arm:corstone1000: add mmc for fvp
+Subject: [PATCH] arm:corstone1000: add mmc for fvp
 
 Enable support mmc/sdcard for the corstone1000 FVP.
 
@@ -95,6 +95,3 @@
  
  #include <config_distro_bootcmd.h>
  
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch
index 97cf4d0..af87a4a 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0018-corstone1000-add-compressed-kernel-support.patch
@@ -1,7 +1,7 @@
-From b5cfd8ab77e7f305b170a8cd25575e8cc08babc5 Mon Sep 17 00:00:00 2001
+From 67f9f4dbb58a9213232523a433cd6d7c50eeadc7 Mon Sep 17 00:00:00 2001
 From: Jon Mason <jon.mason@arm.com>
 Date: Wed, 30 Nov 2022 18:59:59 +0000
-Subject: [PATCH 18/38] corstone1000: add compressed kernel support
+Subject: [PATCH] corstone1000: add compressed kernel support
 
 The corstone1000 kernel has become too large to fit in the available
 storage.  Swtiching to a compressed kernel avoids the problem, but
@@ -29,6 +29,3 @@
  CONFIG_CONSOLE_RECORD=y
  CONFIG_LOGLEVEL=7
  # CONFIG_DISPLAY_CPUINFO is not set
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-arm-corstone1000-esrt-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-arm-corstone1000-esrt-support.patch
index 11e5124..f8d4be8 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-arm-corstone1000-esrt-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0019-arm-corstone1000-esrt-support.patch
@@ -1,7 +1,7 @@
-From d7682e9f7c45fffe5be0bc67ee9e31fdca1b94c5 Mon Sep 17 00:00:00 2001
+From 47479f96cb3b3646d298c39216b2c960940476bd Mon Sep 17 00:00:00 2001
 From: Satish Kumar <satish.kumar01@arm.com>
 Date: Wed, 30 Nov 2022 19:11:43 +0000
-Subject: [PATCH 19/38] arm/corstone1000: esrt support
+Subject: [PATCH] arm/corstone1000: esrt support
 
 The implementation is platform specific and would require
 change in future.
@@ -220,6 +220,3 @@
  	/* Initialize variable services */
  	ret = efi_init_variables();
  	if (ret != EFI_SUCCESS)
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-corstone1000-enable-distro-booting-command.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-corstone1000-enable-distro-booting-command.patch
index ba9aeeb..8ee8343 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-corstone1000-enable-distro-booting-command.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0020-corstone1000-enable-distro-booting-command.patch
@@ -1,7 +1,7 @@
-From 0094eb1e6ca78988f105fefb69dd5cc9046c89fe Mon Sep 17 00:00:00 2001
+From c95dbed049801401ac98afc8ef53e917b69f9a62 Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Mon, 5 Dec 2022 17:02:32 +0000
-Subject: [PATCH 20/38] corstone1000: enable distro booting command
+Subject: [PATCH] corstone1000: enable distro booting command
 
 enable distro_bootcmd
 
@@ -23,6 +23,3 @@
 +#define CFG_EXTRA_ENV_SETTINGS BOOTENV
  
  #endif
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-fwu-metadata-store-info.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-fwu-metadata-store-info.patch
index e524d83..c58f7b5 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-fwu-metadata-store-info.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0021-corstone1000-add-fwu-metadata-store-info.patch
@@ -1,7 +1,7 @@
-From 7f0ab0707b476d141bcf16de78d09c793b3b7387 Mon Sep 17 00:00:00 2001
+From c250b6b896facee9ef42f88f5c76f055dbcfc708 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Wed, 1 Feb 2023 15:58:07 +0000
-Subject: [PATCH 21/38] corstone1000: add fwu-metadata store info
+Subject: [PATCH] corstone1000: add fwu-metadata store info
 
 Add fwu-mdata node and handle for the reference
 nvmxip-qspi.
@@ -37,6 +37,3 @@
  	soc {
  		compatible = "simple-bus";
  		#address-cells = <1>;
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-fwu_metadata-make-sure-structures-are-packed.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-fwu_metadata-make-sure-structures-are-packed.patch
index addd1df..e556cab 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-fwu_metadata-make-sure-structures-are-packed.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0022-fwu_metadata-make-sure-structures-are-packed.patch
@@ -1,7 +1,7 @@
-From b2e413049dcf3dcbe3891a8a70bdd36f30b2e6c8 Mon Sep 17 00:00:00 2001
+From b1445e50c1f260e3454bc4946ea1009ff3e0dda6 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Wed, 1 Feb 2023 16:13:24 +0000
-Subject: [PATCH 22/38] fwu_metadata: make sure structures are packed
+Subject: [PATCH] fwu_metadata: make sure structures are packed
 
 The fwu metadata in the metadata partitions
 should/are packed to guarantee that the info is
@@ -45,6 +45,3 @@
 +} __packed;
  
  #endif /* _FWU_MDATA_H_ */
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-boot-index.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-boot-index.patch
index b4be24f..4fc5de7 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-boot-index.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0023-corstone1000-add-boot-index.patch
@@ -1,7 +1,7 @@
-From 62eaf5720bfe49feedf486c57ce9b9968360460c Mon Sep 17 00:00:00 2001
+From 7a71000da87c4b48c6c42043924863c2933d8bdf Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Mon, 17 Jul 2023 17:04:10 +0100
-Subject: [PATCH 23/38] corstone1000: add boot index
+Subject: [PATCH] corstone1000: add boot index
 
 it is expected that the firmware that runs before
 u-boot somehow provide the information of the bank
@@ -37,6 +37,3 @@
  {
 +	*boot_idx = 0;
  }
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-corstone1000-adjust-boot-bank-and-kernel-location.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-corstone1000-adjust-boot-bank-and-kernel-location.patch
index ddf80f3..66c6c66 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-corstone1000-adjust-boot-bank-and-kernel-location.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0024-corstone1000-adjust-boot-bank-and-kernel-location.patch
@@ -1,7 +1,7 @@
-From 147f98fbefc7e13d1b9a3ae4b5fd3adc30dbed6b Mon Sep 17 00:00:00 2001
+From b15518faa5eba9ffb9da4d6e17d8ab4bb8e69f27 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Wed, 1 Feb 2023 16:17:21 +0000
-Subject: [PATCH 24/38] corstone1000: adjust boot bank and kernel location
+Subject: [PATCH] corstone1000: adjust boot bank and kernel location
 
 Adjust in the env boot script the address of the
 bootbank with the new gpt layout, and also the
@@ -31,6 +31,3 @@
  kernel_addr_bank_1=0x0936E000
  retrieve_kernel_load_addr=
  	if itest.l *${boot_bank_flag} == 0; then
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
index 7833405..c9e050a 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0025-corstone1000-add-nvmxip-fwu-mdata-and-gpt-options.patch
@@ -1,7 +1,7 @@
-From ff2e0fe577c5a564a10bcc730392dd5397f6cb34 Mon Sep 17 00:00:00 2001
+From 085b51e1545e905b4ba87c529954f31067032eaa Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Mon, 17 Jul 2023 17:33:52 +0100
-Subject: [PATCH 25/38] corstone1000: add nvmxip, fwu-mdata and gpt options
+Subject: [PATCH] corstone1000: add nvmxip, fwu-mdata and gpt options
 
 Enable the newest features: nvmxip, fwu-metadata and
 gpt. Commands to print the partition info, gpt info
@@ -70,6 +70,3 @@
 +# CONFIG_TOOLS_MKEFICAPSULE is not set
 +CONFIG_DM_GPIO=y
 \ No newline at end of file
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-nvmxip-move-header-to-include.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-nvmxip-move-header-to-include.patch
index ec38a51..4673438 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-nvmxip-move-header-to-include.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0026-nvmxip-move-header-to-include.patch
@@ -1,7 +1,7 @@
-From 2214be0f540121767d7b6ec4910a7389a1edd13c Mon Sep 17 00:00:00 2001
+From e7db287eb8bda80465d0c11cbb41acc798bb9fc6 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Fri, 9 Jun 2023 13:31:53 +0100
-Subject: [PATCH 26/38] nvmxip: move header to include
+Subject: [PATCH] nvmxip: move header to include
 
 Move header to include to allow external code
 to get the internal bdev structures to access
@@ -37,6 +37,3 @@
 similarity index 100%
 rename from drivers/mtd/nvmxip/nvmxip.h
 rename to include/nvmxip.h
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-set-kernel_addr-based-on-boot_idx.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-set-kernel_addr-based-on-boot_idx.patch
index a95a8c6..352873f 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-set-kernel_addr-based-on-boot_idx.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0027-corstone1000-set-kernel_addr-based-on-boot_idx.patch
@@ -1,7 +1,7 @@
-From c615b2e0fe9440b27b83f32c62fdc7f996237b56 Mon Sep 17 00:00:00 2001
+From ae098fd5c47f6d805b356c892558a85d571bed67 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Tue, 18 Jul 2023 12:14:47 +0100
-Subject: [PATCH 27/38] corstone1000: set kernel_addr based on boot_idx
+Subject: [PATCH] corstone1000: set kernel_addr based on boot_idx
 
 We need to distinguish between boot banks and from which
 partition to load the kernel+initramfs to memory.
@@ -130,6 +130,3 @@
  CONFIG_SYS_MAXARGS=64
  CONFIG_SYS_CBSIZE=512
  # CONFIG_CMD_CONSOLE is not set
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-corstone1000-boot-index-from-active.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-corstone1000-boot-index-from-active.patch
index 5b68e12..fee7797 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-corstone1000-boot-index-from-active.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0028-corstone1000-boot-index-from-active.patch
@@ -1,7 +1,7 @@
-From 747da6c0d1f2558ebeaf01ba9f762efa58a08a72 Mon Sep 17 00:00:00 2001
+From 67c439b974da80208962c1c7f0a1291908e23a30 Mon Sep 17 00:00:00 2001
 From: Rui Miguel Silva <rui.silva@linaro.org>
 Date: Mon, 27 Feb 2023 14:40:13 +0000
-Subject: [PATCH 28/38] corstone1000: boot index from active
+Subject: [PATCH] corstone1000: boot index from active
 
 In our platform, the Secure Enclave is the one who control
 all the boot tries and status, so, every time we get here
@@ -36,6 +36,3 @@
  }
  
  int board_late_init(void)
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-enable-PSCI-reset.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-enable-PSCI-reset.patch
index 828661c..f722f81 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-enable-PSCI-reset.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0029-corstone1000-enable-PSCI-reset.patch
@@ -1,7 +1,7 @@
-From af7054ffdb1f84875a652c6b968dacf9a29cdc9c Mon Sep 17 00:00:00 2001
+From 8b7260db2b0c560b430657f801dd102fb2b141de Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Tue, 18 Jul 2023 12:19:17 +0100
-Subject: [PATCH 29/38] corstone1000: enable PSCI reset
+Subject: [PATCH] corstone1000: enable PSCI reset
 
 Even though corstone1000 does not implement entire PSCI APIs,it relies on
 PSCI reset interface for the system reset. U-boot change the config name, so we
@@ -26,6 +26,3 @@
 +CONFIG_DM_GPIO=y
 +CONFIG_SYSRESET_PSCI=y
 \ No newline at end of file
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-Enable-EFI-set-get-time-services.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-Enable-EFI-set-get-time-services.patch
index 437ee88..015ed43 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-Enable-EFI-set-get-time-services.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0030-Enable-EFI-set-get-time-services.patch
@@ -1,7 +1,7 @@
-From 8ee7a9c05eb1abe10be139f439f2adf638614290 Mon Sep 17 00:00:00 2001
+From 03f53356a5b8b30b981ab7a16c6f48ca7fffe489 Mon Sep 17 00:00:00 2001
 From: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
 Date: Tue, 18 Jul 2023 12:21:39 +0100
-Subject: [PATCH 30/38] Enable EFI set/get time services
+Subject: [PATCH] Enable EFI set/get time services
 
 SetTime_Conf and SetTime_Func tests in UEFI SCT test suite of ACS
 fails with unsupported return value. CONFIG_EFI_SET_TIME and
@@ -28,6 +28,3 @@
 +CONFIG_SYSRESET_PSCI=y
 +CONFIG_EFI_SET_TIME=y
 +CONFIG_EFI_GET_TIME=y
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-detect-inflated-kernel-size.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-detect-inflated-kernel-size.patch
index 0a61fd4..8ee20aa 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-detect-inflated-kernel-size.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0031-corstone1000-detect-inflated-kernel-size.patch
@@ -1,7 +1,7 @@
-From b65511da443c07b45151b30ea2dc280219f4252b Mon Sep 17 00:00:00 2001
+From affde70e4ba728b0ce855f53501bdb5caa8afa6d Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Fri, 11 Aug 2023 10:41:19 +0100
-Subject: [PATCH 31/38] corstone1000: detect inflated kernel size
+Subject: [PATCH] corstone1000: detect inflated kernel size
 
 use filesize variable set by unzip command
 
@@ -24,6 +24,3 @@
  CONFIG_CONSOLE_RECORD=y
  CONFIG_LOGLEVEL=7
  # CONFIG_DISPLAY_CPUINFO is not set
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-corstone1000-ESRT-add-unique-firmware-GUID.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-corstone1000-ESRT-add-unique-firmware-GUID.patch
index 34e4545..1c34f33 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-corstone1000-ESRT-add-unique-firmware-GUID.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0032-corstone1000-ESRT-add-unique-firmware-GUID.patch
@@ -1,7 +1,7 @@
-From 7e63d4982fd4436d9d0d9abebd9e0ed1473f5237 Mon Sep 17 00:00:00 2001
+From 1f1e0c35c9a11e956a8dc10002d17a497de947e3 Mon Sep 17 00:00:00 2001
 From: Anusmita Dutta Mazumder <anusmita.duttamazumder@arm.com>
 Date: Tue, 8 Aug 2023 10:24:39 +0000
-Subject: [PATCH 32/38] corstone1000: ESRT: add unique firmware GUID
+Subject: [PATCH] corstone1000: ESRT: add unique firmware GUID
 
 Add unique Corstone-1000 firmware GUID
 
@@ -42,6 +42,3 @@
  #else
  	ret = efi_fill_image_desc_array(image_info_size, image_info,
  					descriptor_version, descriptor_count,
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-dt-Provide-a-way-to-remove-non-compliant-nodes-and-p.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-dt-Provide-a-way-to-remove-non-compliant-nodes-and-p.patch
index ea5e0ef..ecc3567 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-dt-Provide-a-way-to-remove-non-compliant-nodes-and-p.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0033-dt-Provide-a-way-to-remove-non-compliant-nodes-and-p.patch
@@ -1,7 +1,7 @@
-From a8ecc3ce0fcabb2414a000b7c8bfe3ce46d4392c Mon Sep 17 00:00:00 2001
+From f098724d2a59bf5c265a81c5b8767563c6c2d8de Mon Sep 17 00:00:00 2001
 From: Sughosh Ganu <sughosh.ganu@linaro.org>
 Date: Thu, 21 Sep 2023 14:13:42 +0100
-Subject: [PATCH 33/38] dt: Provide a way to remove non-compliant nodes and
+Subject: [PATCH] dt: Provide a way to remove non-compliant nodes and
  properties
 
 Add a function which is registered to spy for a EVT_FT_FIXUP event,
@@ -132,6 +132,3 @@
 +	return err;
 +}
 +EVENT_SPY(EVT_FT_FIXUP, dt_non_compliant_purge);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-bootefi-Call-the-EVT_FT_FIXUP-event-handler.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-bootefi-Call-the-EVT_FT_FIXUP-event-handler.patch
index c44b6e3..54363e9 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-bootefi-Call-the-EVT_FT_FIXUP-event-handler.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0034-bootefi-Call-the-EVT_FT_FIXUP-event-handler.patch
@@ -1,7 +1,7 @@
-From 829e5d3a505452fbdb420432dc885903332a8cdc Mon Sep 17 00:00:00 2001
+From ff83070da7d1f547fc640e8446251f8e1e4ffc33 Mon Sep 17 00:00:00 2001
 From: Sughosh Ganu <sughosh.ganu@linaro.org>
 Date: Thu, 21 Sep 2023 14:15:13 +0100
-Subject: [PATCH 34/38] bootefi: Call the EVT_FT_FIXUP event handler
+Subject: [PATCH] bootefi: Call the EVT_FT_FIXUP event handler
 
 The bootefi command passes the devicetree to the kernel through the
 EFI config table. Call the event handlers for fixing the devicetree
@@ -51,6 +51,3 @@
  
  	if (CONFIG_IS_ENABLED(EFI_TCG2_PROTOCOL_MEASURE_DTB)) {
  		ret = efi_tcg2_measure_dtb(fdt);
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-purge-U-Boot-specific-DT-nodes.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-purge-U-Boot-specific-DT-nodes.patch
index 230ebe6..090f32c 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-purge-U-Boot-specific-DT-nodes.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0035-corstone1000-purge-U-Boot-specific-DT-nodes.patch
@@ -1,7 +1,7 @@
-From 3654cebe9449584aa94563b2252c267b926219c9 Mon Sep 17 00:00:00 2001
+From 49e3463a397b61e859df5e1a383f82d64c1e4f3f Mon Sep 17 00:00:00 2001
 From: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com>
 Date: Thu, 21 Sep 2023 15:24:34 +0100
-Subject: [PATCH 35/38] corstone1000: purge U-Boot specific DT nodes
+Subject: [PATCH] corstone1000: purge U-Boot specific DT nodes
 
 Remove U-Boot specific DT nodes before passing the DT to Linux
 
@@ -46,6 +46,3 @@
  #define CORSTONE1000_KERNEL_PARTS 2
  #define CORSTONE1000_KERNEL_PRIMARY "kernel_primary"
  #define CORSTONE1000_KERNEL_SECONDARY "kernel_secondary"
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-add-signature-device-tree-overlay.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-add-signature-device-tree-overlay.patch
index 04193a8..62713ab 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-add-signature-device-tree-overlay.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0036-corstone1000-add-signature-device-tree-overlay.patch
@@ -1,7 +1,7 @@
-From b6e69bd68c1e0171aa2acb78bec54da02defe129 Mon Sep 17 00:00:00 2001
+From 57e2230470c32bf2c6206813bcdfc9ce30b70c1d Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Wed, 13 Sep 2023 13:20:15 +0100
-Subject: [PATCH 36/38] corstone1000: add signature device tree overlay
+Subject: [PATCH] corstone1000: add signature device tree overlay
 
 Adds signature device tree overlay.
 
@@ -26,6 +26,3 @@
  	soc {
  		compatible = "simple-bus";
  		#address-cells = <1>;
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-enable-authenticated-capsule-config.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-enable-authenticated-capsule-config.patch
index fe48ab1..65d5e15 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-enable-authenticated-capsule-config.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0037-corstone1000-enable-authenticated-capsule-config.patch
@@ -1,7 +1,7 @@
-From 6a4d38a82755a8946ff8b79440550cae8032abed Mon Sep 17 00:00:00 2001
+From 509645079f3dbb6b14e920102bea75c2f408d195 Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Wed, 13 Sep 2023 13:52:02 +0100
-Subject: [PATCH 37/38] corstone1000: enable authenticated capsule config
+Subject: [PATCH] corstone1000: enable authenticated capsule config
 
 Enables authenticated capsule update config for corstone1000.
 
@@ -23,6 +23,3 @@
  CONFIG_EFI_IGNORE_OSINDICATIONS=y
  CONFIG_FWU_MULTI_BANK_UPDATE=y
  # CONFIG_TOOLS_MKEFICAPSULE is not set
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-corstone1000-introduce-EFI-authenticated-capsule-upd.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-corstone1000-introduce-EFI-authenticated-capsule-upd.patch
index 6e268d4..ae40932 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-corstone1000-introduce-EFI-authenticated-capsule-upd.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0038-corstone1000-introduce-EFI-authenticated-capsule-upd.patch
@@ -1,8 +1,7 @@
-From 0d1975369f3c483b540818cec8a088ed35116bbb Mon Sep 17 00:00:00 2001
+From 3f06f148656fbe238ed8bd93f9631a95668f9406 Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Wed, 13 Sep 2023 13:55:08 +0100
-Subject: [PATCH 38/38] corstone1000: introduce EFI authenticated capsule
- update
+Subject: [PATCH] corstone1000: introduce EFI authenticated capsule update
 
 Introduces EFI authenticated capsule update for corstone1000. Corstone1000
 implements platform-specific capsule update mechanism in u-bootdue to the SoC
@@ -72,6 +71,3 @@
  		/* copy the data to the contiguous buffer */
  		efi_memcpy_runtime(corstone1000_capsule_buf, capsule, capsule->capsule_image_size);
  
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-corstone1000-enable-virtio-net-support.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-corstone1000-enable-virtio-net-support.patch
index d94e26a..58b21a9 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-corstone1000-enable-virtio-net-support.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0042-corstone1000-enable-virtio-net-support.patch
@@ -1,4 +1,4 @@
-From 2ddd34b6838e836cf94a9da2f65cd01a21252846 Mon Sep 17 00:00:00 2001
+From 46a1faf3687764ddf1567455de39482b72e50725 Mon Sep 17 00:00:00 2001
 From: Emekcan Aras <emekcan.aras@arm.com>
 Date: Wed, 15 Nov 2023 16:04:06 +0000
 Subject: [PATCH] corstone1000: enable virtio-net support
@@ -92,6 +92,3 @@
  CONFIG_EFI_GET_TIME=y
 +CONFIG_VIRTIO_NET=y
 +CONFIG_VIRTIO_MMIO=y
--- 
-2.25.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-firmware-psci-Fix-bind_smccc_features-psci-check.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-firmware-psci-Fix-bind_smccc_features-psci-check.patch
index 70d684b..946caa2 100644
--- a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-firmware-psci-Fix-bind_smccc_features-psci-check.patch
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0043-firmware-psci-Fix-bind_smccc_features-psci-check.patch
@@ -1,5 +1,8 @@
-Subject: [PATCH v4 1/3] firmware: psci: Fix bind_smccc_features psci check
-Date: Mon,  4 Mar 2024 14:42:40 +0000	[thread overview]
+From fda3d08d17050a8b338ef4288d20389788b5b7e6 Mon Sep 17 00:00:00 2001
+From: Weizhao Ouyang <o451686892@gmail.com>
+Date: Mon, 4 Mar 2024 14:42:40 +0000
+Subject: [PATCH] firmware: psci: Fix bind_smccc_features psci check
+
 Message-ID: <20240304144242.11666-2-o451686892@gmail.com> (raw)
 In-Reply-To: <20240304144242.11666-1-o451686892@gmail.com>
 
@@ -10,9 +13,6 @@
 Signed-off-by: Bence Balogh <bence.balogh@arm.com>
 Upstream-Status: Submitted [https://lore.kernel.org/all/20240304144242.11666-2-o451686892@gmail.com/]
 ---
-v3: remove fallback smc call
-v2: check SMCCC_ARCH_FEATURES
----
  drivers/firmware/psci.c   | 5 ++++-
  include/linux/arm-smccc.h | 6 ++++++
  2 files changed, 10 insertions(+), 1 deletion(-)
@@ -55,6 +55,3 @@
  #define ARM_SMCCC_RET_NOT_SUPPORTED	((unsigned long)-1)
  
  #ifndef __ASSEMBLY__
--- 
-2.40.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0044-corstone1000-set-unique-GUID-for-fvp-and-mps3.patch b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0044-corstone1000-set-unique-GUID-for-fvp-and-mps3.patch
new file mode 100644
index 0000000..86b1071
--- /dev/null
+++ b/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/0044-corstone1000-set-unique-GUID-for-fvp-and-mps3.patch
@@ -0,0 +1,57 @@
+From 6dc17c01df592f685636e34ad8bb0a6ecb994e15 Mon Sep 17 00:00:00 2001
+From: Anusmita Dutta Mazumder <anusmita.duttamazumder@arm.com>
+Date: Thu, 21 Mar 2024 20:34:46 +0000
+Subject: [PATCH] corstone1000: set unique GUID for fvp and mps3
+
+This patch sets unique GUID for Corstone1000 FVP and MPS3
+
+Upstream-Status: Inappropriate [Redesign of Capsule update interface is required]
+Signed-off-by: Anusmita Dutta Mazumder <anusmita.duttamazumder@arm.com>
+---
+ lib/efi_loader/efi_firmware.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
+index 7792a6aa83..1e49f79864 100644
+--- a/lib/efi_loader/efi_firmware.c
++++ b/lib/efi_loader/efi_firmware.c
+@@ -16,16 +16,19 @@
+ 
+ #include <linux/list.h>
+ #include <efi_variable.h>
++#include <generated/dt.h>
+ 
+ #define FMP_PAYLOAD_HDR_SIGNATURE	SIGNATURE_32('M', 'S', 'S', '1')
+ 
+ #if CONFIG_IS_ENABLED(TARGET_CORSTONE1000)
+ /* Firmware GUID */
+-#define EFI_CORSTONE1000_FIRMWARE_GUID \
++#define EFI_CORSTONE1000_FIRMWARE_GUID_FVP \
+ 	EFI_GUID(0x989f3a4e, 0x46e0, 0x4cd0, 0x98, 0x77, \
+ 		 0xa2, 0x5c, 0x70, 0xc0, 0x13, 0x29)
+ 
+-efi_guid_t corstone1000_firmware_guid = EFI_CORSTONE1000_FIRMWARE_GUID;
++#define EFI_CORSTONE1000_FIRMWARE_GUID_MPS3 \
++	EFI_GUID(0xdf1865d1, 0x90fb, 0x4d59, 0x9c, 0x38, \
++		 0xc9, 0xf2, 0xc1, 0xbb, 0xa8, 0xcc)
+ 
+ static efi_status_t efi_corstone1000_img_info_get (
+ 	efi_uintn_t *image_info_size,
+@@ -334,6 +337,14 @@ efi_status_t EFIAPI efi_firmware_get_image_info(
+ 	u16 **package_version_name)
+ {
+ 	efi_status_t ret;
++	efi_guid_t corstone1000_firmware_guid;
++	const char *cmp_dtb = DEVICE_TREE;
++	
++	if (!strcmp(cmp_dtb, "corstone1000-fvp")) {
++		corstone1000_firmware_guid = (efi_guid_t)EFI_CORSTONE1000_FIRMWARE_GUID_FVP;
++	} else {
++		corstone1000_firmware_guid = (efi_guid_t)EFI_CORSTONE1000_FIRMWARE_GUID_MPS3;
++	}
+ 
+ 	EFI_ENTRY("%p %p %p %p %p %p %p %p\n", this,
+ 		  image_info_size, image_info,
+-- 
+2.38.1
+
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/tc/0001-WIP-Enable-managed-exit.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/tc/0001-WIP-Enable-managed-exit.patch
deleted file mode 100644
index 4571409..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/tc/0001-WIP-Enable-managed-exit.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From f449f6fdcbd987e18a26f0daeccfa447fe76821a Mon Sep 17 00:00:00 2001
-From: Olivier Deprez <olivier.deprez@arm.com>
-Date: Mon, 16 Nov 2020 10:14:02 +0100
-Subject: [PATCH] WIP: Enable managed exit
-
-This change declares OP-TEE SP as supporting managed exit in response to
-a NS interrupt triggering while the SWd runs.
-
-At init OP-TEE enables (HF_INTERRUPT_ENABLE) the managed exit virtual
-interrupt through the Hafnium para-virtualized interface.
-
-Physical interrupts are trapped to the SPMC which injects a managed exit
-interrupt to OP-TEE. The managed exit interrupt is acknowledged by
-OP-TEE by HF_INTERUPT_GET hvc call.
-
-Note: this code change is meant with in mind the SPMC runs at SEL2. It
-needs slight refactoring such that it does not break the SEL1 SPMC
-configuration.
-
-Change-Id: I9a95f36cf517c11048ff04680007f40259c4f636
-Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
-Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
-
-Upstream-Status: Pending [Not submitted to upstream yet]
-Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
-
----
- core/arch/arm/kernel/boot.c                          | 12 ++++++++++++
- core/arch/arm/kernel/thread_a64.S                    | 11 ++++++++++-
- core/arch/arm/kernel/thread_spmc.c                   | 11 +++++++++++
- .../arm/plat-totalcompute/fdts/optee_sp_manifest.dts |  1 +
- 4 files changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c
-index dd34173e8..7d2ac74e8 100644
---- a/core/arch/arm/kernel/boot.c
-+++ b/core/arch/arm/kernel/boot.c
-@@ -1424,6 +1424,18 @@ static void init_secondary_helper(unsigned long nsec_entry)
- 	init_vfp_sec();
- 	init_vfp_nsec();
- 
-+	/* Enable managed exit interrupt for secondary core. */
-+	__asm__ volatile (
-+		"mov x0, %0;"
-+		"mov x1, %1;"
-+		"mov x2, %2;"
-+		"mov x3, %3;"
-+		"hvc #0"
-+		: : "i" (0xff03), "i" (4), "i" (1), "i" (1));
-+
-+	IMSG("%s core %lu: enabled managed exit interrupt.",
-+		__func__, get_core_pos());
-+
- 	IMSG("Secondary CPU %zu switching to normal world boot", get_core_pos());
- }
- 
-diff --git a/core/arch/arm/kernel/thread_a64.S b/core/arch/arm/kernel/thread_a64.S
-index 4fa97de24..4facc7631 100644
---- a/core/arch/arm/kernel/thread_a64.S
-+++ b/core/arch/arm/kernel/thread_a64.S
-@@ -1162,6 +1162,14 @@ END_FUNC el0_sync_abort
- 	bl	dcache_op_louis
- 	ic	iallu
- #endif
-+
-+	/* HF_INTERRUPT_GET */
-+	mov	x0, #0xff04
-+	hvc	#0
-+	/* Expect managed exit interrupt */
-+	cmp	x0, #4
-+	bne	.
-+
- 	/*
- 	 * Mark current thread as suspended
- 	 */
-@@ -1318,8 +1326,9 @@ LOCAL_FUNC elx_irq , :
- #endif
- END_FUNC elx_irq
- 
-+#define HF_MANAGED_EXIT		1
- LOCAL_FUNC elx_fiq , :
--#if defined(CFG_ARM_GICV3)
-+#if defined(CFG_ARM_GICV3) || defined (HF_MANAGED_EXIT)
- 	foreign_intr_handler	fiq
- #else
- 	native_intr_handler	fiq
-diff --git a/core/arch/arm/kernel/thread_spmc.c b/core/arch/arm/kernel/thread_spmc.c
-index 3b4ac0b4e..8f7c18dfa 100644
---- a/core/arch/arm/kernel/thread_spmc.c
-+++ b/core/arch/arm/kernel/thread_spmc.c
-@@ -1517,6 +1517,17 @@ static TEE_Result spmc_init(void)
- 	my_endpoint_id = spmc_get_id();
- 	DMSG("My endpoint ID %#x", my_endpoint_id);
- 
-+	/* Enable managed exit interrupt for boot core. */
-+	__asm__ volatile (
-+		"mov x0, %0;"
-+		"mov x1, %1;"
-+		"mov x2, %2;"
-+		"mov x3, %3;"
-+		"hvc #0"
-+		: : "i" (0xff03), "i" (4), "i" (1), "i" (1));
-+
-+	IMSG("%s enabled managed exit interrupt.", __func__);
-+
- 	return TEE_SUCCESS;
- }
- #endif /* !defined(CFG_CORE_SEL1_SPMC) */
-diff --git a/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts b/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-index 3ebbaddc8..56e69f372 100644
---- a/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-+++ b/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts
-@@ -24,6 +24,7 @@
- 	xlat-granule = <0>; /* 4KiB */
- 	boot-order = <0>;
- 	messaging-method = <0x3>; /* Direct request/response supported */
-+	managed-exit; /* Managed exit supported */
- 
- 	device-regions {
- 		compatible = "arm,ffa-manifest-device-regions";
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/tc/0002-plat-totalcompute-fix-TZDRAM-start-and-size.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/tc/0002-plat-totalcompute-fix-TZDRAM-start-and-size.patch
deleted file mode 100644
index c516be4..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-os/tc/0002-plat-totalcompute-fix-TZDRAM-start-and-size.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5ddda749c60dce834bcd79e8b8d904858319adc0 Mon Sep 17 00:00:00 2001
-From: Rupinderjit Singh <rupinderjit.singh@arm.com>
-Date: Tue, 7 Feb 2023 09:45:02 +0000
-Subject: [PATCH] plat-totalcompute: update TZDRAM_SIZE
-
-For CFG_CORE_SEL2_SPMC, manifest size is increased from 0x1000 to
-0x4000 for boot protocol support.
-
-Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
-
-Upstream-Status: Backport
-Signed-off-by: Jon Mason <jon.mason@arm.com>
-
----
- core/arch/arm/plat-totalcompute/conf.mk | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/core/arch/arm/plat-totalcompute/conf.mk b/core/arch/arm/plat-totalcompute/conf.mk
-index b39ac0f0667f..2f6c0ee1460a 100644
---- a/core/arch/arm/plat-totalcompute/conf.mk
-+++ b/core/arch/arm/plat-totalcompute/conf.mk
-@@ -32,8 +32,9 @@ ifeq ($(CFG_CORE_SEL1_SPMC),y)
- CFG_TZDRAM_START ?= 0xfd000000
- CFG_TZDRAM_SIZE  ?= 0x02000000
- else ifeq ($(CFG_CORE_SEL2_SPMC),y)
--CFG_TZDRAM_START ?= 0xfd281000
--CFG_TZDRAM_SIZE  ?= 0x01d7f000
-+CFG_TZDRAM_START ?= 0xfd284000
-+# TZDRAM size 0x1980000 - 0x4000 manifest size
-+CFG_TZDRAM_SIZE  ?= 0x0197c000
- else
- CFG_TZDRAM_START ?= 0xff000000
- CFG_TZDRAM_SIZE  ?= 0x01000000
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-test/tc/0001-xtest-Limit-tests-to-a-single-thread.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-test/tc/0001-xtest-Limit-tests-to-a-single-thread.patch
deleted file mode 100644
index 370a81c..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/files/optee-test/tc/0001-xtest-Limit-tests-to-a-single-thread.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 73bef38c5697cd6bd3ddbe9046681087f4f6454e Mon Sep 17 00:00:00 2001
-From: Ben Horgan <ben.horgan@arm.com>
-Date: Thu, 27 Jan 2022 10:33:04 +0000
-Subject: [PATCH] xtest: Limit tests to a single thread
-
-Signed-off-by: Ben Horgan <ben.horgan@arm.com>
-Upstream-Status: Inappropriate [Workaround for intermittent failures]
----
- host/xtest/regression_1000.c | 2 +-
- host/xtest/regression_2000.c | 2 +-
- host/xtest/regression_6000.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/host/xtest/regression_1000.c b/host/xtest/regression_1000.c
-index 9ee9d02..82d1def 100644
---- a/host/xtest/regression_1000.c
-+++ b/host/xtest/regression_1000.c
-@@ -1080,7 +1080,7 @@ static void *test_1013_thread(void *arg)
- 	return NULL;
- }
- 
--#define NUM_THREADS 3
-+#define NUM_THREADS 1
- 
- static void xtest_tee_test_1013_single(ADBG_Case_t *c, double *mean_concurrency,
- 				       const TEEC_UUID *uuid)
-diff --git a/host/xtest/regression_2000.c b/host/xtest/regression_2000.c
-index 0591a42..a9f4b95 100644
---- a/host/xtest/regression_2000.c
-+++ b/host/xtest/regression_2000.c
-@@ -499,7 +499,7 @@ out:
- 	return NULL;
- }
- 
--#define NUM_THREADS	3
-+#define NUM_THREADS	1
- 
- static void xtest_tee_test_2002(ADBG_Case_t *c)
- {
-diff --git a/host/xtest/regression_6000.c b/host/xtest/regression_6000.c
-index ca1c254..d67ea7f 100644
---- a/host/xtest/regression_6000.c
-+++ b/host/xtest/regression_6000.c
-@@ -1568,7 +1568,7 @@ exit:
- }
- 
- 
--#define NUM_THREADS 4
-+#define NUM_THREADS 1
- static void xtest_tee_test_6016_loop(ADBG_Case_t *c, uint32_t storage_id)
- {
- 	struct test_6016_thread_arg arg[NUM_THREADS] = { };
--- 
-2.17.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-client_3.20.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-client_3.20.0.bb
deleted file mode 100644
index 3daab7f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-client_3.20.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require recipes-security/optee/optee-client.inc
-
-SRCREV = "dd2d39b49975d2ada7870fe2b7f5a84d0d3860dc"
-
-inherit pkgconfig
-DEPENDS += "util-linux"
-EXTRA_OEMAKE += "PKG_CONFIG=pkg-config"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-client_4.0.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-client_4.0.0.bb
deleted file mode 100644
index dc9577c..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-client_4.0.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require recipes-security/optee/optee-client.inc
-
-SRCREV = "acb0885c117e73cb6c5c9b1dd9054cb3f93507ee"
-
-inherit pkgconfig
-DEPENDS += "util-linux"
-EXTRA_OEMAKE += "PKG_CONFIG=pkg-config"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch
deleted file mode 100644
index 54b667a..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0001-allow-setting-sysroot-for-libgcc-lookup.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 843eb2ef918d5ae3d09de088110cb026ca25306b Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Tue, 26 May 2020 14:38:02 -0500
-Subject: [PATCH] allow setting sysroot for libgcc lookup
-
-Explicitly pass the new variable LIBGCC_LOCATE_CFLAGS variable when searching
-for the compiler libraries as there's no easy way to reliably pass --sysroot
-otherwise.
-
-Upstream-Status: Pending [https://github.com/OP-TEE/optee_os/issues/4188]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- mk/gcc.mk | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mk/gcc.mk b/mk/gcc.mk
-index adc77a24f25e..81bfa78ad8d7 100644
---- a/mk/gcc.mk
-+++ b/mk/gcc.mk
-@@ -13,11 +13,11 @@ nostdinc$(sm)	:= -nostdinc -isystem $(shell $(CC$(sm)) \
- 			-print-file-name=include 2> /dev/null)
- 
- # Get location of libgcc from gcc
--libgcc$(sm)  	:= $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
-+libgcc$(sm)  	:= $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
- 			-print-libgcc-file-name 2> /dev/null)
--libstdc++$(sm)	:= $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
-+libstdc++$(sm)	:= $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
- 			-print-file-name=libstdc++.a 2> /dev/null)
--libgcc_eh$(sm)	:= $(shell $(CXX$(sm)) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
-+libgcc_eh$(sm)	:= $(shell $(CXX$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CXXFLAGS$(arch-bits-$(sm))) $(comp-cxxflags$(sm)) \
- 			-print-file-name=libgcc_eh.a 2> /dev/null)
- 
- # Define these to something to discover accidental use
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch
deleted file mode 100644
index b3e3098..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0002-optee-enable-clang-support.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0ca5ef7c8256dbd9690a01a82397bc16a123e179 Mon Sep 17 00:00:00 2001
-From: Brett Warren <brett.warren@arm.com>
-Date: Wed, 23 Sep 2020 09:27:34 +0100
-Subject: [PATCH] optee: enable clang support
-
-When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
-to provide a sysroot wasn't included, which results in not locating
-compiler-rt. This is mitigated by including the variable as ammended.
-
-Upstream-Status: Pending
-ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
-Signed-off-by: Brett Warren <brett.warren@arm.com>
----
- mk/clang.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mk/clang.mk b/mk/clang.mk
-index a045beee8482..1ebe2f702dcd 100644
---- a/mk/clang.mk
-+++ b/mk/clang.mk
-@@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
- 
- # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
- # libgcc for clang
--libgcc$(sm)	:= $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
-+libgcc$(sm)	:= $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
- 			-rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
- 
- # Core ASLR relies on the executable being ready to run from its preferred load
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch
deleted file mode 100644
index 5d4191f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0003-core-link-add-no-warn-rwx-segments.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 741df4df0ec7b69b0573cff265dc1ae7cb70b55c Mon Sep 17 00:00:00 2001
-From: Jerome Forissier <jerome.forissier@linaro.org>
-Date: Fri, 5 Aug 2022 09:48:03 +0200
-Subject: [PATCH] core: link: add --no-warn-rwx-segments
-
-Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
-Upstream-Status: Backport [https://github.com/OP-TEE/optee_os/pull/5474]
-
-binutils ld.bfd generates one RWX LOAD segment by merging several sections
-with mixed R/W/X attributes (.text, .rodata, .data). After version 2.38 it
-also warns by default when that happens [1], which breaks the build due to
---fatal-warnings. The RWX segment is not a problem for the TEE core, since
-that information is not used to set memory permissions. Therefore, silence
-the warning.
-
-Link: [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
-Link: https://sourceware.org/bugzilla/show_bug.cgi?id=29448
-Reported-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
-Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
----
- core/arch/arm/kernel/link.mk | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/core/arch/arm/kernel/link.mk b/core/arch/arm/kernel/link.mk
-index 0e96e606cd9d..3fbcb6804c6f 100644
---- a/core/arch/arm/kernel/link.mk
-+++ b/core/arch/arm/kernel/link.mk
-@@ -37,6 +37,7 @@ link-ldflags += --sort-section=alignment
- link-ldflags += --fatal-warnings
- link-ldflags += --gc-sections
- link-ldflags += $(link-ldflags-common)
-+link-ldflags += $(call ld-option,--no-warn-rwx-segments)
- 
- link-ldadd  = $(LDADD)
- link-ldadd += $(ldflags-external)
-@@ -61,6 +62,7 @@ link-script-cppflags := \
- 		$(cppflagscore))
- 
- ldargs-all_objs := -T $(link-script-dummy) --no-check-sections \
-+		   $(call ld-option,--no-warn-rwx-segments) \
- 		   $(link-ldflags-common) \
- 		   $(link-objs) $(link-ldadd) $(libgcccore)
- cleanfiles += $(link-out-dir)/all_objs.o
-@@ -75,7 +77,7 @@ $(link-out-dir)/unpaged_entries.txt: $(link-out-dir)/all_objs.o
- 		$(AWK) '/ ____keep_pager/ { printf "-u%s ", $$3 }' > $@
- 
- unpaged-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
--		 $(link-ldflags-common)
-+		 $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
- unpaged-ldadd := $(objs) $(link-ldadd) $(libgcccore)
- cleanfiles += $(link-out-dir)/unpaged.o
- $(link-out-dir)/unpaged.o: $(link-out-dir)/unpaged_entries.txt
-@@ -104,7 +106,7 @@ $(link-out-dir)/init_entries.txt: $(link-out-dir)/all_objs.o
- 		$(AWK) '/ ____keep_init/ { printf "-u%s ", $$3 }' > $@
- 
- init-ldargs := -T $(link-script-dummy) --no-check-sections --gc-sections \
--	       $(link-ldflags-common)
-+	       $(link-ldflags-common) $(call ld-option,--no-warn-rwx-segments)
- init-ldadd := $(link-objs-init) $(link-out-dir)/version.o  $(link-ldadd) \
- 	      $(libgcccore)
- cleanfiles += $(link-out-dir)/init.o
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch
deleted file mode 100644
index 6229be9..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0004-core-Define-section-attributes-for-clang.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-From 162493e5b212b9d7391669a55be09b69b97a9cf8 Mon Sep 17 00:00:00 2001
-From: Emekcan Aras <emekcan.aras@arm.com>
-Date: Wed, 21 Dec 2022 10:55:58 +0000
-Subject: [PATCH] core: Define section attributes for clang
-
-Clang's attribute section is not same as gcc, here we need to add flags
-to sections so they can be eventually collected by linker into final
-output segments. Only way to do so with clang is to use
-
-pragma clang section ...
-
-The behavious is described here [1], this allows us to define names bss
-sections. This was not an issue until clang-15 where LLD linker starts
-to detect the section flags before merging them and throws the following
-errors
-
-| ld.lld: error: section type mismatch for .nozi.kdata_page
-| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/kernel/thread.o:(.nozi.kdata_page): SHT_PROGBITS
-| >>> output section .nozi: SHT_NOBITS
-|
-| ld.lld: error: section type mismatch for .nozi.mmu.l2
-| >>> /mnt/b/yoe/master/build/tmp/work/qemuarm64-yoe-linux/optee-os-tadevkit/3.17.0-r0/build/core/arch/arm/mm/core_mmu_lpae.o:(.nozi.mmu.l2): SHT_PROGBITS
-| >>> output section .nozi: SHT_NOBITS
-
-These sections should be carrying SHT_NOBITS but so far it was not
-possible to do so, this patch tries to use clangs pragma to get this
-going and match the functionality with gcc.
-
-[1] https://intel.github.io/llvm-docs/clang/LanguageExtensions.html#specifying-section-names-for-global-objects-pragma-clang-section
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- core/arch/arm/kernel/thread.c    | 19 +++++++++++++++--
- core/arch/arm/mm/core_mmu_lpae.c | 35 +++++++++++++++++++++++++++----
- core/arch/arm/mm/core_mmu_v7.c   | 36 +++++++++++++++++++++++++++++---
- core/arch/arm/mm/pgt_cache.c     | 12 ++++++++++-
- core/kernel/thread.c             | 13 +++++++++++-
- 5 files changed, 104 insertions(+), 11 deletions(-)
-
-diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
-index 1cf76a0ca690..1e7f9f96b558 100644
---- a/core/arch/arm/kernel/thread.c
-+++ b/core/arch/arm/kernel/thread.c
-@@ -44,15 +44,30 @@ static size_t thread_user_kcode_size __nex_bss;
- #if defined(CFG_CORE_UNMAP_CORE_AT_EL0) && \
- 	defined(CFG_CORE_WORKAROUND_SPECTRE_BP_SEC) && defined(ARM64)
- long thread_user_kdata_sp_offset __nex_bss;
-+#ifdef __clang__
-+#ifndef CFG_VIRTUALIZATION
-+#pragma clang section bss=".nozi.kdata_page"
-+#else
-+#pragma clang section bss=".nex_nozi.kdata_page"
-+#endif
-+#endif
- static uint8_t thread_user_kdata_page[
- 	ROUNDUP(sizeof(struct thread_core_local) * CFG_TEE_CORE_NB_CORE,
- 		SMALL_PAGE_SIZE)]
- 	__aligned(SMALL_PAGE_SIZE)
-+#ifndef __clang__
- #ifndef CFG_VIRTUALIZATION
--	__section(".nozi.kdata_page");
-+	__section(".nozi.kdata_page")
- #else
--	__section(".nex_nozi.kdata_page");
-+	__section(".nex_nozi.kdata_page")
- #endif
-+#endif
-+    ;
-+#endif
-+
-+/* reset BSS section to default ( .bss ) */
-+#ifdef __clang__
-+#pragma clang section bss=""
- #endif
- 
- #ifdef ARM32
-diff --git a/core/arch/arm/mm/core_mmu_lpae.c b/core/arch/arm/mm/core_mmu_lpae.c
-index 3f08eec623f3..e6dc9261c41e 100644
---- a/core/arch/arm/mm/core_mmu_lpae.c
-+++ b/core/arch/arm/mm/core_mmu_lpae.c
-@@ -233,19 +233,46 @@ typedef uint16_t l1_idx_t;
- typedef uint64_t base_xlat_tbls_t[CFG_TEE_CORE_NB_CORE][NUM_BASE_LEVEL_ENTRIES];
- typedef uint64_t xlat_tbl_t[XLAT_TABLE_ENTRIES];
- 
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.base_table"
-+#endif
- static base_xlat_tbls_t base_xlation_table[NUM_BASE_TABLES]
- 	__aligned(NUM_BASE_LEVEL_ENTRIES * XLAT_ENTRY_SIZE)
--	__section(".nozi.mmu.base_table");
-+#ifndef __clang__
-+	__section(".nozi.mmu.base_table")
-+#endif
-+;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- 
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.l2"
-+#endif
- static xlat_tbl_t xlat_tables[MAX_XLAT_TABLES]
--	__aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
-+	__aligned(XLAT_TABLE_SIZE)
-+#ifndef __clang__
-+	__section(".nozi.mmu.l2")
-+#endif
-+;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- 
- #define XLAT_TABLES_SIZE	(sizeof(xlat_tbl_t) * MAX_XLAT_TABLES)
- 
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.l2"
-+#endif
- /* MMU L2 table for TAs, one for each thread */
- static xlat_tbl_t xlat_tables_ul1[CFG_NUM_THREADS]
--	__aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2");
--
-+#ifndef __clang__
-+	__aligned(XLAT_TABLE_SIZE) __section(".nozi.mmu.l2")
-+#endif
-+;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- /*
-  * TAs page table entry inside a level 1 page table.
-  *
-diff --git a/core/arch/arm/mm/core_mmu_v7.c b/core/arch/arm/mm/core_mmu_v7.c
-index cd85bd22d385..3e18f54f6cf8 100644
---- a/core/arch/arm/mm/core_mmu_v7.c
-+++ b/core/arch/arm/mm/core_mmu_v7.c
-@@ -204,16 +204,46 @@ typedef uint32_t l1_xlat_tbl_t[NUM_L1_ENTRIES];
- typedef uint32_t l2_xlat_tbl_t[NUM_L2_ENTRIES];
- typedef uint32_t ul1_xlat_tbl_t[NUM_UL1_ENTRIES];
- 
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.l1"
-+#endif
- static l1_xlat_tbl_t main_mmu_l1_ttb
--		__aligned(L1_ALIGNMENT) __section(".nozi.mmu.l1");
-+		__aligned(L1_ALIGNMENT)
-+#ifndef __clang__
-+       __section(".nozi.mmu.l1")
-+#endif
-+;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- 
- /* L2 MMU tables */
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.l2"
-+#endif
- static l2_xlat_tbl_t main_mmu_l2_ttb[MAX_XLAT_TABLES]
--		__aligned(L2_ALIGNMENT) __section(".nozi.mmu.l2");
-+		__aligned(L2_ALIGNMENT)
-+#ifndef __clang__
-+       __section(".nozi.mmu.l2")
-+#endif
-+;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- 
- /* MMU L1 table for TAs, one for each thread */
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.ul1"
-+#endif
- static ul1_xlat_tbl_t main_mmu_ul1_ttb[CFG_NUM_THREADS]
--		__aligned(UL1_ALIGNMENT) __section(".nozi.mmu.ul1");
-+		__aligned(UL1_ALIGNMENT)
-+#ifndef __clang__
-+       __section(".nozi.mmu.ul1")
-+#endif
-+;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- 
- struct mmu_partition {
- 	l1_xlat_tbl_t *l1_table;
-diff --git a/core/arch/arm/mm/pgt_cache.c b/core/arch/arm/mm/pgt_cache.c
-index 79553c6d2183..b9efdf42780b 100644
---- a/core/arch/arm/mm/pgt_cache.c
-+++ b/core/arch/arm/mm/pgt_cache.c
-@@ -410,8 +410,18 @@ void pgt_init(void)
- 	 * has a large alignment, while .bss has a small alignment. The current
- 	 * link script is optimized for small alignment in .bss
- 	 */
-+#ifdef __clang__
-+#pragma clang section bss=".nozi.mmu.l2"
-+#endif
- 	static uint8_t pgt_tables[PGT_CACHE_SIZE][PGT_SIZE]
--			__aligned(PGT_SIZE) __section(".nozi.pgt_cache");
-+			__aligned(PGT_SIZE)
-+#ifndef __clang__
-+			__section(".nozi.pgt_cache")
-+#endif
-+			;
-+#ifdef __clang__
-+#pragma clang section bss=""
-+#endif
- 	size_t n;
- 
- 	for (n = 0; n < ARRAY_SIZE(pgt_tables); n++) {
-diff --git a/core/kernel/thread.c b/core/kernel/thread.c
-index d1f2f3823be7..8de124ae5357 100644
---- a/core/kernel/thread.c
-+++ b/core/kernel/thread.c
-@@ -38,13 +38,24 @@ struct thread_core_local thread_core_local[CFG_TEE_CORE_NB_CORE] __nex_bss;
- 	name[stack_num][sizeof(name[stack_num]) / sizeof(uint32_t) - 1]
- #endif
- 
-+#define DO_PRAGMA(x) _Pragma (#x)
-+
-+#ifdef __clang__
-+#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
-+DO_PRAGMA (clang section bss=".nozi_stack." #name) \
-+linkage uint32_t name[num_stacks] \
-+		[ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
-+			 STACK_ALIGNMENT) / sizeof(uint32_t)] \
-+		__attribute__((aligned(STACK_ALIGNMENT))); \
-+DO_PRAGMA(clang section bss="")
-+#else
- #define DECLARE_STACK(name, num_stacks, stack_size, linkage) \
- linkage uint32_t name[num_stacks] \
- 		[ROUNDUP(stack_size + STACK_CANARY_SIZE + STACK_CHECK_EXTRA, \
- 			 STACK_ALIGNMENT) / sizeof(uint32_t)] \
- 		__attribute__((section(".nozi_stack." # name), \
- 			       aligned(STACK_ALIGNMENT)))
--
-+#endif
- #define GET_STACK(stack) ((vaddr_t)(stack) + STACK_SIZE(stack))
- 
- DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE,
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch
deleted file mode 100644
index e6fe716..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From d0e32b6e202cde672c2b38dc568122a52be716b4 Mon Sep 17 00:00:00 2001
-From: Jens Wiklander <jens.wiklander@linaro.org>
-Date: Mon, 21 Nov 2022 18:17:33 +0100
-Subject: [PATCH] core: arm: S-EL1 SPMC: boot ABI update
-
-Updates the boot ABI for S-EL1 SPMC to align better with other SPMCs,
-like Hafnium, but also with the non-FF-A configuration.
-
-Register usage:
-X0 - TOS FW config [1] address, if not NULL
-X2 - System DTB, if not NULL
-
-Adds check in the default get_aslr_seed() to see if the system DTB is
-present before trying to read kaslr-seed from secure-chosen.
-
-Note that this is an incompatible change and requires corresponding
-change in TF-A ("feat(qemu): update abi between spmd and spmc") [2].
-
-[1] A TF-A concept: TOS_FW_CONFIG - Trusted OS Firmware configuration
-    file. Used by Trusted OS (BL32), that is, OP-TEE in this case
-Link: [2] https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=25ae7ad1878244f78206cc7c91f7bdbd267331a1
-
-Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
-Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
-
-Upstream-Status: Backport [f1f431c7a92671b4fa397976d381cc5ad8adacc4]
-Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
----
- core/arch/arm/kernel/boot.c      |  8 +++++++-
- core/arch/arm/kernel/entry_a64.S | 17 ++++++++---------
- 2 files changed, 15 insertions(+), 10 deletions(-)
-
-diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c
-index dd34173e838d..e02c02b6097d 100644
---- a/core/arch/arm/kernel/boot.c
-+++ b/core/arch/arm/kernel/boot.c
-@@ -1502,11 +1502,17 @@ struct ns_entry_context *boot_core_hpen(void)
- #if defined(CFG_DT)
- unsigned long __weak get_aslr_seed(void *fdt)
- {
--	int rc = fdt_check_header(fdt);
-+	int rc = 0;
- 	const uint64_t *seed = NULL;
- 	int offs = 0;
- 	int len = 0;
- 
-+	if (!fdt) {
-+		DMSG("No fdt");
-+		goto err;
-+	}
-+
-+	rc = fdt_check_header(fdt);
- 	if (rc) {
- 		DMSG("Bad fdt: %d", rc);
- 		goto err;
-diff --git a/core/arch/arm/kernel/entry_a64.S b/core/arch/arm/kernel/entry_a64.S
-index 4c6e9d75ca45..047ae1f25cc9 100644
---- a/core/arch/arm/kernel/entry_a64.S
-+++ b/core/arch/arm/kernel/entry_a64.S
-@@ -143,21 +143,20 @@
- 	.endm
- 
- FUNC _start , :
--#if defined(CFG_CORE_SEL1_SPMC)
- 	/*
--	 * With OP-TEE as SPMC at S-EL1 the SPMD (SPD_spmd) in TF-A passes
--	 * the DTB in x0, pagaeble part in x1 and the rest of the registers
--	 * are unused
-+	 * If CFG_CORE_FFA is enabled, then x0 if non-NULL holds the TOS FW
-+	 * config [1] address, else x0 if non-NULL holds the pagable part
-+	 * address.
-+	 *
-+	 * [1] A TF-A concept: TOS_FW_CONFIG - Trusted OS Firmware
-+	 * configuration file. Used by Trusted OS (BL32), that is, OP-TEE
-+	 * here.
- 	 */
--	mov	x19, x1		/* Save pagable part */
--	mov	x20, x0		/* Save DT address */
--#else
--	mov	x19, x0		/* Save pagable part address */
-+	mov	x19, x0
- #if defined(CFG_DT_ADDR)
- 	ldr     x20, =CFG_DT_ADDR
- #else
- 	mov	x20, x2		/* Save DT address */
--#endif
- #endif
- 
- 	adr	x0, reset_vect_table
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch
deleted file mode 100644
index da0422b..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0006-core-ffa-add-TOS_FW_CONFIG-handling.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From 9da324001fd93e1b3d9bca076e4afddbb5cac289 Mon Sep 17 00:00:00 2001
-From: Balint Dobszay <balint.dobszay@arm.com>
-Date: Fri, 10 Feb 2023 11:07:27 +0100
-Subject: [PATCH] core: ffa: add TOS_FW_CONFIG handling
-
-At boot TF-A passes two DT addresses (HW_CONFIG and TOS_FW_CONFIG), but
-currently only the HW_CONFIG address is saved, the other one is dropped.
-This commit adds functionality to save the TOS_FW_CONFIG too, so we can
-retrieve it later. This is necessary for the CFG_CORE_SEL1_SPMC use
-case, because the SPMC manifest is passed in this DT.
-
-Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
-Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
-
-Upstream-Status: Backport [809fa817ae6331d98b55f7afaa3c20f8407822e4]
-Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
----
- core/arch/arm/kernel/boot.c               | 60 ++++++++++++++++++++++-
- core/arch/arm/kernel/entry_a32.S          |  3 +-
- core/arch/arm/kernel/entry_a64.S          | 13 ++++-
- core/arch/arm/kernel/link_dummies_paged.c |  4 +-
- core/arch/arm/kernel/secure_partition.c   |  2 +-
- core/include/kernel/boot.h                |  7 ++-
- 6 files changed, 81 insertions(+), 8 deletions(-)
-
-diff --git a/core/arch/arm/kernel/boot.c b/core/arch/arm/kernel/boot.c
-index e02c02b6097d..98e13c072d8e 100644
---- a/core/arch/arm/kernel/boot.c
-+++ b/core/arch/arm/kernel/boot.c
-@@ -1,6 +1,7 @@
- // SPDX-License-Identifier: BSD-2-Clause
- /*
-  * Copyright (c) 2015-2022, Linaro Limited
-+ * Copyright (c) 2023, Arm Limited
-  */
- 
- #include <arm.h>
-@@ -83,6 +84,9 @@ struct dt_descriptor {
- };
- 
- static struct dt_descriptor external_dt __nex_bss;
-+#ifdef CFG_CORE_SEL1_SPMC
-+static struct dt_descriptor tos_fw_config_dt __nex_bss;
-+#endif
- #endif
- 
- #ifdef CFG_SECONDARY_INIT_CNTFRQ
-@@ -1224,6 +1228,54 @@ static struct core_mmu_phys_mem *get_nsec_memory(void *fdt __unused,
- #endif /*CFG_CORE_DYN_SHM*/
- #endif /*!CFG_DT*/
- 
-+#if defined(CFG_CORE_SEL1_SPMC) && defined(CFG_DT)
-+void *get_tos_fw_config_dt(void)
-+{
-+	if (!IS_ENABLED(CFG_MAP_EXT_DT_SECURE))
-+		return NULL;
-+
-+	assert(cpu_mmu_enabled());
-+
-+	return tos_fw_config_dt.blob;
-+}
-+
-+static void init_tos_fw_config_dt(unsigned long pa)
-+{
-+	struct dt_descriptor *dt = &tos_fw_config_dt;
-+	void *fdt = NULL;
-+	int ret = 0;
-+
-+	if (!IS_ENABLED(CFG_MAP_EXT_DT_SECURE))
-+		return;
-+
-+	if (!pa)
-+		panic("No TOS_FW_CONFIG DT found");
-+
-+	fdt = core_mmu_add_mapping(MEM_AREA_EXT_DT, pa, CFG_DTB_MAX_SIZE);
-+	if (!fdt)
-+		panic("Failed to map TOS_FW_CONFIG DT");
-+
-+	dt->blob = fdt;
-+
-+	ret = fdt_open_into(fdt, fdt, CFG_DTB_MAX_SIZE);
-+	if (ret < 0) {
-+		EMSG("Invalid Device Tree at %#lx: error %d", pa, ret);
-+		panic();
-+	}
-+
-+	IMSG("TOS_FW_CONFIG DT found");
-+}
-+#else
-+void *get_tos_fw_config_dt(void)
-+{
-+	return NULL;
-+}
-+
-+static void init_tos_fw_config_dt(unsigned long pa __unused)
-+{
-+}
-+#endif /*CFG_CORE_SEL1_SPMC && CFG_DT*/
-+
- #ifdef CFG_CORE_DYN_SHM
- static void discover_nsec_memory(void)
- {
-@@ -1361,10 +1413,16 @@ static bool cpu_nmfi_enabled(void)
-  * Note: this function is weak just to make it possible to exclude it from
-  * the unpaged area.
-  */
--void __weak boot_init_primary_late(unsigned long fdt)
-+void __weak boot_init_primary_late(unsigned long fdt,
-+				   unsigned long tos_fw_config)
- {
- 	init_external_dt(fdt);
-+	init_tos_fw_config_dt(tos_fw_config);
-+#ifdef CFG_CORE_SEL1_SPMC
-+	tpm_map_log_area(get_tos_fw_config_dt());
-+#else
- 	tpm_map_log_area(get_external_dt());
-+#endif
- 	discover_nsec_memory();
- 	update_external_dt();
- 	configure_console_from_dt();
-diff --git a/core/arch/arm/kernel/entry_a32.S b/core/arch/arm/kernel/entry_a32.S
-index 0f14ca2f6ad9..3758fd8b7674 100644
---- a/core/arch/arm/kernel/entry_a32.S
-+++ b/core/arch/arm/kernel/entry_a32.S
-@@ -1,7 +1,7 @@
- /* SPDX-License-Identifier: BSD-2-Clause */
- /*
-  * Copyright (c) 2014, Linaro Limited
-- * Copyright (c) 2021, Arm Limited
-+ * Copyright (c) 2021-2023, Arm Limited
-  */
- 
- #include <arm32_macros.S>
-@@ -560,6 +560,7 @@ shadow_stack_access_ok:
- 	str	r0, [r8, #THREAD_CORE_LOCAL_FLAGS]
- #endif
- 	mov	r0, r6		/* DT address */
-+	mov	r1, #0		/* unused */
- 	bl	boot_init_primary_late
- #ifndef CFG_VIRTUALIZATION
- 	mov	r0, #THREAD_CLF_TMP
-diff --git a/core/arch/arm/kernel/entry_a64.S b/core/arch/arm/kernel/entry_a64.S
-index 047ae1f25cc9..fa76437fb73c 100644
---- a/core/arch/arm/kernel/entry_a64.S
-+++ b/core/arch/arm/kernel/entry_a64.S
-@@ -1,7 +1,7 @@
- /* SPDX-License-Identifier: BSD-2-Clause */
- /*
-  * Copyright (c) 2015-2022, Linaro Limited
-- * Copyright (c) 2021, Arm Limited
-+ * Copyright (c) 2021-2023, Arm Limited
-  */
- 
- #include <platform_config.h>
-@@ -320,7 +320,11 @@ clear_nex_bss:
- 	bl	core_mmu_set_default_prtn_tbl
- #endif
- 
-+#ifdef CFG_CORE_SEL1_SPMC
-+	mov	x0, xzr		/* pager not used */
-+#else
- 	mov	x0, x19		/* pagable part address */
-+#endif
- 	mov	x1, #-1
- 	bl	boot_init_primary_early
- 
-@@ -337,7 +341,12 @@ clear_nex_bss:
- 	mov	x22, x0
- 	str	wzr, [x22, #THREAD_CORE_LOCAL_FLAGS]
- #endif
--	mov	x0, x20		/* DT address */
-+	mov	x0, x20		/* DT address also known as HW_CONFIG */
-+#ifdef CFG_CORE_SEL1_SPMC
-+	mov	x1, x19		/* TOS_FW_CONFIG DT address */
-+#else
-+	mov	x1, xzr		/* unused */
-+#endif
- 	bl	boot_init_primary_late
- #ifdef CFG_CORE_PAUTH
- 	init_pauth_per_cpu
-diff --git a/core/arch/arm/kernel/link_dummies_paged.c b/core/arch/arm/kernel/link_dummies_paged.c
-index 3b8287e06a11..023a5f3f558b 100644
---- a/core/arch/arm/kernel/link_dummies_paged.c
-+++ b/core/arch/arm/kernel/link_dummies_paged.c
-@@ -1,6 +1,7 @@
- // SPDX-License-Identifier: BSD-2-Clause
- /*
-  * Copyright (c) 2017-2021, Linaro Limited
-+ * Copyright (c) 2023, Arm Limited
-  */
- #include <compiler.h>
- #include <initcall.h>
-@@ -27,7 +28,8 @@ void __section(".text.dummy.call_finalcalls") call_finalcalls(void)
- }
- 
- void __section(".text.dummy.boot_init_primary_late")
--boot_init_primary_late(unsigned long fdt __unused)
-+boot_init_primary_late(unsigned long fdt __unused,
-+		       unsigned long tos_fw_config __unused)
- {
- }
- 
-diff --git a/core/arch/arm/kernel/secure_partition.c b/core/arch/arm/kernel/secure_partition.c
-index 1d36e90b1cf7..d386f1e4d211 100644
---- a/core/arch/arm/kernel/secure_partition.c
-+++ b/core/arch/arm/kernel/secure_partition.c
-@@ -1212,7 +1212,7 @@ static TEE_Result fip_sp_map_all(void)
- 	int subnode = 0;
- 	int root = 0;
- 
--	fdt = get_external_dt();
-+	fdt = get_tos_fw_config_dt();
- 	if (!fdt) {
- 		EMSG("No SPMC manifest found");
- 		return TEE_ERROR_GENERIC;
-diff --git a/core/include/kernel/boot.h b/core/include/kernel/boot.h
-index 260854473b8b..941e093b29a1 100644
---- a/core/include/kernel/boot.h
-+++ b/core/include/kernel/boot.h
-@@ -1,7 +1,7 @@
- /* SPDX-License-Identifier: BSD-2-Clause */
- /*
-  * Copyright (c) 2015-2020, Linaro Limited
-- * Copyright (c) 2021, Arm Limited
-+ * Copyright (c) 2021-2023, Arm Limited
-  */
- #ifndef __KERNEL_BOOT_H
- #define __KERNEL_BOOT_H
-@@ -46,7 +46,7 @@ extern const struct core_mmu_config boot_mmu_config;
- /* @nsec_entry is unused if using CFG_WITH_ARM_TRUSTED_FW */
- void boot_init_primary_early(unsigned long pageable_part,
- 			     unsigned long nsec_entry);
--void boot_init_primary_late(unsigned long fdt);
-+void boot_init_primary_late(unsigned long fdt, unsigned long tos_fw_config);
- void boot_init_memtag(void);
- 
- void __panic_at_smc_return(void) __noreturn;
-@@ -103,6 +103,9 @@ void *get_embedded_dt(void);
- /* Returns external DTB if present, otherwise NULL */
- void *get_external_dt(void);
- 
-+/* Returns TOS_FW_CONFIG DTB if present, otherwise NULL */
-+void *get_tos_fw_config_dt(void);
-+
- /*
-  * get_aslr_seed() - return a random seed for core ASLR
-  * @fdt:	Pointer to a device tree if CFG_DT_ADDR=y
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch
deleted file mode 100644
index 94c1e04..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0007-core-spmc-handle-non-secure-interrupts.patch
+++ /dev/null
@@ -1,275 +0,0 @@
-From 18ad0cce24addd45271edf3172ab9ce873186d7a Mon Sep 17 00:00:00 2001
-From: Imre Kis <imre.kis@arm.com>
-Date: Tue, 18 Apr 2023 16:41:51 +0200
-Subject: [PATCH] core: spmc: handle non-secure interrupts
-
-Add FFA_INTERRUPT and FFA_RUN support for signaling non-secure
-interrupts and for resuming to the secure world. If a secure partition
-is preempted by a non-secure interrupt OP-TEE saves the SP's state and
-sends an FFA_INTERRUPT to the normal world. After handling the interrupt
-the normal world should send an FFA_RUN to OP-TEE so it can continue
-running the SP.
-If OP-TEE is the active FF-A endpoint (i.e. it is running TAs) the
-non-secure interrupts are signaled by the existing
-OPTEE_FFA_YIELDING_CALL_RETURN_INTERRUPT message instead of
-FFA_INTERRUPT.
-
-Upstream-Status: Submitted [https://github.com/OP-TEE/optee_os/pull/6002]
-
-Signed-off-by: Imre Kis <imre.kis@arm.com>
-Change-Id: I577ebe86d416ee494963216a66a3bfc8206921b4
----
- core/arch/arm/include/ffa.h                   |  2 +-
- .../arch/arm/include/kernel/spmc_sp_handler.h | 11 +++++++
- core/arch/arm/kernel/secure_partition.c       | 17 ++++++++++
- core/arch/arm/kernel/spmc_sp_handler.c        | 26 ++++++++++++++++
- core/arch/arm/kernel/thread.c                 |  7 +++++
- core/arch/arm/kernel/thread_spmc.c            | 31 ++++++++++++++++++-
- core/arch/arm/kernel/thread_spmc_a64.S        | 30 ++++++++++++++++++
- 7 files changed, 122 insertions(+), 2 deletions(-)
-
-diff --git a/core/arch/arm/include/ffa.h b/core/arch/arm/include/ffa.h
-index 5a19fb0c7ff3..b3d1d354735d 100644
---- a/core/arch/arm/include/ffa.h
-+++ b/core/arch/arm/include/ffa.h
-@@ -50,7 +50,7 @@
- #define FFA_ID_GET			U(0x84000069)
- #define FFA_MSG_WAIT			U(0x8400006B)
- #define FFA_MSG_YIELD			U(0x8400006C)
--#define FFA_MSG_RUN			U(0x8400006D)
-+#define FFA_RUN				U(0x8400006D)
- #define FFA_MSG_SEND			U(0x8400006E)
- #define FFA_MSG_SEND_DIRECT_REQ_32	U(0x8400006F)
- #define FFA_MSG_SEND_DIRECT_REQ_64	U(0xC400006F)
-diff --git a/core/arch/arm/include/kernel/spmc_sp_handler.h b/core/arch/arm/include/kernel/spmc_sp_handler.h
-index f5bda7bfe7d0..30c1e4691273 100644
---- a/core/arch/arm/include/kernel/spmc_sp_handler.h
-+++ b/core/arch/arm/include/kernel/spmc_sp_handler.h
-@@ -25,6 +25,8 @@ void spmc_sp_start_thread(struct thread_smc_args *args);
- int spmc_sp_add_share(struct ffa_rxtx *rxtx,
- 		      size_t blen, uint64_t *global_handle,
- 		      struct sp_session *owner_sp);
-+void spmc_sp_set_to_preempted(struct ts_session *ts_sess);
-+int spmc_sp_resume_from_preempted(uint16_t endpoint_id);
- #else
- static inline void spmc_sp_start_thread(struct thread_smc_args *args __unused)
- {
-@@ -37,6 +39,15 @@ static inline int spmc_sp_add_share(struct ffa_rxtx *rxtx __unused,
- {
- 	return FFA_NOT_SUPPORTED;
- }
-+
-+static inline void spmc_sp_set_to_preempted(struct ts_session *ts_sess __unused)
-+{
-+}
-+
-+static inline int spmc_sp_resume_from_preempted(uint16_t endpoint_id __unused)
-+{
-+	return FFA_NOT_SUPPORTED;
-+}
- #endif
- 
- #endif /* __KERNEL_SPMC_SP_HANDLER_H */
-diff --git a/core/arch/arm/kernel/secure_partition.c b/core/arch/arm/kernel/secure_partition.c
-index d386f1e4d211..740be6d22e47 100644
---- a/core/arch/arm/kernel/secure_partition.c
-+++ b/core/arch/arm/kernel/secure_partition.c
-@@ -999,6 +999,8 @@ static TEE_Result sp_enter_invoke_cmd(struct ts_session *s,
- 	struct sp_session *sp_s = to_sp_session(s);
- 	struct ts_session *sess = NULL;
- 	struct thread_ctx_regs *sp_regs = NULL;
-+	uint32_t thread_id = THREAD_ID_INVALID;
-+	uint32_t rpc_target_info = 0;
- 	uint32_t panicked = false;
- 	uint32_t panic_code = 0;
- 
-@@ -1011,8 +1013,23 @@ static TEE_Result sp_enter_invoke_cmd(struct ts_session *s,
- 	sp_regs->cpsr = read_daif() & (SPSR_64_DAIF_MASK << SPSR_64_DAIF_SHIFT);
- 
- 	exceptions = thread_mask_exceptions(THREAD_EXCP_ALL);
-+
-+	/*
-+	 * Store endpoint ID and thread ID in rpc_target_info. This will be used
-+	 * as w1 in FFA_INTERRUPT in case of a NWd interrupt.
-+	 */
-+	rpc_target_info = thread_get_tsd()->rpc_target_info;
-+	thread_id = thread_get_id();
-+	assert((thread_id & ~0xffff) == 0);
-+	thread_get_tsd()->rpc_target_info = (sp_s->endpoint_id << 16) |
-+					    (thread_id & 0xffff);
-+
- 	__thread_enter_user_mode(sp_regs, &panicked, &panic_code);
-+
- 	sp_regs->cpsr = cpsr;
-+	/* Restore rpc_target_info */
-+	thread_get_tsd()->rpc_target_info = rpc_target_info;
-+
- 	thread_unmask_exceptions(exceptions);
- 
- 	thread_user_clear_vfp(&ctx->uctx);
-diff --git a/core/arch/arm/kernel/spmc_sp_handler.c b/core/arch/arm/kernel/spmc_sp_handler.c
-index 46a15646ecf0..12681151a796 100644
---- a/core/arch/arm/kernel/spmc_sp_handler.c
-+++ b/core/arch/arm/kernel/spmc_sp_handler.c
-@@ -366,6 +366,32 @@ cleanup:
- 	return res;
- }
- 
-+void spmc_sp_set_to_preempted(struct ts_session *ts_sess)
-+{
-+	if (ts_sess && is_sp_ctx(ts_sess->ctx)) {
-+		struct sp_session *sp_sess = to_sp_session(ts_sess);
-+
-+		assert(sp_sess->state == sp_busy);
-+
-+		sp_sess->state = sp_preempted;
-+	}
-+}
-+
-+int spmc_sp_resume_from_preempted(uint16_t endpoint_id)
-+{
-+	struct sp_session *sp_sess = sp_get_session(endpoint_id);
-+
-+	if (!sp_sess)
-+		return FFA_INVALID_PARAMETERS;
-+
-+	if (sp_sess->state != sp_preempted)
-+		return FFA_DENIED;
-+
-+	sp_sess->state = sp_busy;
-+
-+	return FFA_OK;
-+}
-+
- static bool check_rxtx(struct ffa_rxtx *rxtx)
- {
- 	return rxtx && rxtx->rx && rxtx->tx && rxtx->size > 0;
-diff --git a/core/arch/arm/kernel/thread.c b/core/arch/arm/kernel/thread.c
-index 1e7f9f96b558..8cd4dc961b02 100644
---- a/core/arch/arm/kernel/thread.c
-+++ b/core/arch/arm/kernel/thread.c
-@@ -531,6 +531,13 @@ int thread_state_suspend(uint32_t flags, uint32_t cpsr, vaddr_t pc)
- 		core_mmu_set_user_map(NULL);
- 	}
- 
-+	if (IS_ENABLED(CFG_SECURE_PARTITION)) {
-+		struct ts_session *ts_sess =
-+			TAILQ_FIRST(&threads[ct].tsd.sess_stack);
-+
-+		spmc_sp_set_to_preempted(ts_sess);
-+	}
-+
- 	l->curr_thread = THREAD_ID_INVALID;
- 
- 	if (IS_ENABLED(CFG_VIRTUALIZATION))
-diff --git a/core/arch/arm/kernel/thread_spmc.c b/core/arch/arm/kernel/thread_spmc.c
-index 3b4ac0b4e35c..bc4e7687d618 100644
---- a/core/arch/arm/kernel/thread_spmc.c
-+++ b/core/arch/arm/kernel/thread_spmc.c
-@@ -45,7 +45,7 @@ struct mem_frag_state {
- #endif
- 
- /* Initialized in spmc_init() below */
--static uint16_t my_endpoint_id;
-+uint16_t my_endpoint_id;
- 
- /*
-  * If struct ffa_rxtx::size is 0 RX/TX buffers are not mapped or initialized.
-@@ -437,6 +437,32 @@ out:
- 		      FFA_PARAM_MBZ, FFA_PARAM_MBZ);
- 	cpu_spin_unlock(&rxtx->spinlock);
- }
-+
-+static void spmc_handle_run(struct thread_smc_args *args)
-+{
-+	uint16_t endpoint = (args->a1 >> 16) & 0xffff;
-+	uint16_t thread_id = (args->a1 & 0xffff);
-+	uint32_t rc = 0;
-+
-+	if (endpoint != my_endpoint_id) {
-+		/*
-+		 * The endpoint should be an SP, try to resume the SP from
-+		 * preempted into busy state.
-+		 */
-+		rc = spmc_sp_resume_from_preempted(endpoint);
-+		if (rc)
-+			goto out;
-+	}
-+
-+	thread_resume_from_rpc(thread_id, 0, 0, 0, 0);
-+
-+	/* thread_resume_from_rpc return only of the thread_id is invalid */
-+	rc = FFA_INVALID_PARAMETERS;
-+
-+out:
-+	spmc_set_args(args, FFA_ERROR, FFA_PARAM_MBZ, rc, FFA_PARAM_MBZ,
-+		      FFA_PARAM_MBZ, FFA_PARAM_MBZ);
-+}
- #endif /*CFG_CORE_SEL1_SPMC*/
- 
- static void handle_yielding_call(struct thread_smc_args *args)
-@@ -970,6 +996,9 @@ void thread_spmc_msg_recv(struct thread_smc_args *args)
- 	case FFA_PARTITION_INFO_GET:
- 		spmc_handle_partition_info_get(args, &nw_rxtx);
- 		break;
-+	case FFA_RUN:
-+		spmc_handle_run(args);
-+		break;
- #endif /*CFG_CORE_SEL1_SPMC*/
- 	case FFA_INTERRUPT:
- 		itr_core_handler();
-diff --git a/core/arch/arm/kernel/thread_spmc_a64.S b/core/arch/arm/kernel/thread_spmc_a64.S
-index 21cb62513a42..7297005a6038 100644
---- a/core/arch/arm/kernel/thread_spmc_a64.S
-+++ b/core/arch/arm/kernel/thread_spmc_a64.S
-@@ -14,6 +14,20 @@
- #include <kernel/thread.h>
- #include <optee_ffa.h>
- 
-+#if CFG_SECURE_PARTITION
-+LOCAL_FUNC thread_ffa_interrupt , :
-+	mov_imm	x0, FFA_INTERRUPT		/* FID */
-+	/* X1: Endpoint/vCPU IDs is set by caller */
-+	mov	x2, #FFA_PARAM_MBZ		/* Param MBZ */
-+	mov	x3, #FFA_PARAM_MBZ		/* Param MBZ */
-+	mov	x4, #FFA_PARAM_MBZ		/* Param MBZ */
-+	mov	x5, #FFA_PARAM_MBZ		/* Param MBZ */
-+	mov	x6, #FFA_PARAM_MBZ		/* Param MBZ */
-+	mov	x7, #FFA_PARAM_MBZ		/* Param MBZ */
-+	b	.ffa_msg_loop
-+END_FUNC thread_ffa_msg_wait
-+#endif /* CFG_SECURE_PARTITION */
-+
- FUNC thread_ffa_msg_wait , :
- 	mov_imm	x0, FFA_MSG_WAIT		/* FID */
- 	mov	x1, #FFA_TARGET_INFO_MBZ	/* Target info MBZ */
-@@ -171,6 +185,14 @@ END_FUNC thread_rpc
-  * The current thread as indicated by @thread_index has just been
-  * suspended.  The job here is just to inform normal world the thread id to
-  * resume when returning.
-+ * If the active FF-A endpoint is OP-TEE (or a TA) then an this function send an
-+ * OPTEE_FFA_YIELDING_CALL_RETURN_INTERRUPT message to the normal world via the
-+ * FFA_MSG_SEND_DIRECT_RESP interface. This is handled by the OP-TEE
-+ * driver in Linux so it can schedule task to the thread.
-+ * If the active endpoint is an SP the function sends an FFA_INTERRUPT. This is
-+ * handled by the FF-A driver and after taking care of the NWd interrupts it
-+ * returns via an FFA_RUN call.
-+ * The active endpoint is determined by the upper 16 bits of rpc_target_info.
-  */
- FUNC thread_foreign_intr_exit , :
- 	/* load threads[w0].tsd.rpc_target_info into w1 */
-@@ -178,6 +200,14 @@ FUNC thread_foreign_intr_exit , :
- 	adr_l	x2, threads
- 	madd	x1, x1, x0, x2
- 	ldr	w1, [x1, #THREAD_CTX_TSD_RPC_TARGET_INFO]
-+#if CFG_SECURE_PARTITION
-+	adr_l	x2, my_endpoint_id
-+	ldrh	w2, [x2]
-+	lsr	w3, w1, #16
-+	cmp	w2, w3
-+	/* (threads[w0].tsd.rpc_target_info >> 16) != my_endpoint_id */
-+	bne	thread_ffa_interrupt
-+#endif /* CFG_SECURE_PARTITION */
- 	mov	x2, #FFA_PARAM_MBZ
- 	mov	w3, #FFA_PARAM_MBZ
- 	mov	w4, #OPTEE_FFA_YIELDING_CALL_RETURN_INTERRUPT
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch
deleted file mode 100644
index 9f7d781..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From e7835c526aabd8e5b6db335619a0d86165c587ed Mon Sep 17 00:00:00 2001
-From: Imre Kis <imre.kis@arm.com>
-Date: Tue, 25 Apr 2023 14:19:14 +0200
-Subject: [PATCH] core: spmc: configure SP's NS interrupt action based on the
- manifest
-
-Used mandatory ns-interrupts-action SP manifest property to configure
-signaled or queued non-secure interrupt handling.
-
-Upstream-Status: Submitted [https://github.com/OP-TEE/optee_os/pull/6002]
-
-Signed-off-by: Imre Kis <imre.kis@arm.com>
-Change-Id: I843e69e5dbb9613ecd8b95654e8ca1730a594ca6
----
- .../arm/include/kernel/secure_partition.h     |  2 +
- core/arch/arm/kernel/secure_partition.c       | 66 +++++++++++++++++--
- 2 files changed, 63 insertions(+), 5 deletions(-)
-
-diff --git a/core/arch/arm/include/kernel/secure_partition.h b/core/arch/arm/include/kernel/secure_partition.h
-index 24b0a8cc07d2..51f6b697e5eb 100644
---- a/core/arch/arm/include/kernel/secure_partition.h
-+++ b/core/arch/arm/include/kernel/secure_partition.h
-@@ -43,6 +43,8 @@ struct sp_session {
- 	unsigned int spinlock;
- 	const void *fdt;
- 	bool is_initialized;
-+	uint32_t ns_interrupts_action;
-+	uint32_t ns_interrupts_action_inherited;
- 	TAILQ_ENTRY(sp_session) link;
- };
- 
-diff --git a/core/arch/arm/kernel/secure_partition.c b/core/arch/arm/kernel/secure_partition.c
-index 740be6d22e47..b644e1c72e6a 100644
---- a/core/arch/arm/kernel/secure_partition.c
-+++ b/core/arch/arm/kernel/secure_partition.c
-@@ -46,6 +46,10 @@
- 					 SP_MANIFEST_ATTR_WRITE | \
- 					 SP_MANIFEST_ATTR_EXEC)
- 
-+#define SP_MANIFEST_NS_INT_QUEUED	(0x0)
-+#define SP_MANIFEST_NS_INT_MANAGED_EXIT	(0x1)
-+#define SP_MANIFEST_NS_INT_SIGNALED	(0x2)
-+
- #define SP_PKG_HEADER_MAGIC (0x474b5053)
- #define SP_PKG_HEADER_VERSION_V1 (0x1)
- #define SP_PKG_HEADER_VERSION_V2 (0x2)
-@@ -907,6 +911,30 @@ static TEE_Result sp_init_uuid(const TEE_UUID *uuid, const void * const fdt)
- 		return res;
- 	DMSG("endpoint is 0x%"PRIx16, sess->endpoint_id);
- 
-+	res = sp_dt_get_u32(fdt, 0, "ns-interrupts-action",
-+			    &sess->ns_interrupts_action);
-+
-+	if (res) {
-+		EMSG("Mandatory property is missing: ns-interrupts-action");
-+		return res;
-+	}
-+
-+	switch (sess->ns_interrupts_action) {
-+	case SP_MANIFEST_NS_INT_QUEUED:
-+	case SP_MANIFEST_NS_INT_SIGNALED:
-+		/* OK */
-+		break;
-+
-+	case SP_MANIFEST_NS_INT_MANAGED_EXIT:
-+		EMSG("Managed exit is not implemented");
-+		return TEE_ERROR_NOT_IMPLEMENTED;
-+
-+	default:
-+		EMSG("Invalid ns-interrupts-action value: %d",
-+		     sess->ns_interrupts_action);
-+		return TEE_ERROR_BAD_PARAMETERS;
-+	}
-+
- 	return TEE_SUCCESS;
- }
- 
-@@ -989,17 +1017,45 @@ TEE_Result sp_enter(struct thread_smc_args *args, struct sp_session *sp)
- 	return res;
- }
- 
-+/*
-+ * According to FF-A v1.1 section 8.3.1.4 if a caller requires less permissive
-+ * active on NS interrupt than the callee, the callee must inherit the caller's
-+ * configuration.
-+ * Each SP's own NS action setting is stored in ns_interrupts_action. The
-+ * effective action will be MIN([self action], [caller's action]) which is
-+ * stored in the ns_interrupts_action_inherited field.
-+ */
-+static void sp_cpsr_configure_foreing_interrupts(struct sp_session *s,
-+						 struct ts_session *caller,
-+						 uint64_t *cpsr)
-+{
-+	if (caller) {
-+		struct sp_session *caller_sp = to_sp_session(caller);
-+
-+		s->ns_interrupts_action_inherited =
-+			MIN(caller_sp->ns_interrupts_action_inherited,
-+			    s->ns_interrupts_action);
-+	} else {
-+		s->ns_interrupts_action_inherited = s->ns_interrupts_action;
-+	}
-+
-+	if (s->ns_interrupts_action_inherited == SP_MANIFEST_NS_INT_QUEUED)
-+		*cpsr |= (THREAD_EXCP_FOREIGN_INTR << ARM32_CPSR_F_SHIFT);
-+	else
-+		*cpsr &= ~(THREAD_EXCP_FOREIGN_INTR << ARM32_CPSR_F_SHIFT);
-+}
-+
- static TEE_Result sp_enter_invoke_cmd(struct ts_session *s,
- 				      uint32_t cmd __unused)
- {
- 	struct sp_ctx *ctx = to_sp_ctx(s->ctx);
- 	TEE_Result res = TEE_SUCCESS;
- 	uint32_t exceptions = 0;
--	uint64_t cpsr = 0;
- 	struct sp_session *sp_s = to_sp_session(s);
- 	struct ts_session *sess = NULL;
- 	struct thread_ctx_regs *sp_regs = NULL;
- 	uint32_t thread_id = THREAD_ID_INVALID;
-+	struct ts_session *caller = NULL;
- 	uint32_t rpc_target_info = 0;
- 	uint32_t panicked = false;
- 	uint32_t panic_code = 0;
-@@ -1009,11 +1065,12 @@ static TEE_Result sp_enter_invoke_cmd(struct ts_session *s,
- 	sp_regs = &ctx->sp_regs;
- 	ts_push_current_session(s);
- 
--	cpsr = sp_regs->cpsr;
--	sp_regs->cpsr = read_daif() & (SPSR_64_DAIF_MASK << SPSR_64_DAIF_SHIFT);
--
- 	exceptions = thread_mask_exceptions(THREAD_EXCP_ALL);
- 
-+	/* Enable/disable foreign interrupts in CPSR/SPSR */
-+	caller = ts_get_calling_session();
-+	sp_cpsr_configure_foreing_interrupts(sp_s, caller, &sp_regs->cpsr);
-+
- 	/*
- 	 * Store endpoint ID and thread ID in rpc_target_info. This will be used
- 	 * as w1 in FFA_INTERRUPT in case of a NWd interrupt.
-@@ -1026,7 +1083,6 @@ static TEE_Result sp_enter_invoke_cmd(struct ts_session *s,
- 
- 	__thread_enter_user_mode(sp_regs, &panicked, &panic_code);
- 
--	sp_regs->cpsr = cpsr;
- 	/* Restore rpc_target_info */
- 	thread_get_tsd()->rpc_target_info = rpc_target_info;
- 
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/CVE-2023-41325.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/CVE-2023-41325.patch
deleted file mode 100644
index 08acce0..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-3.20.0/CVE-2023-41325.patch
+++ /dev/null
@@ -1,634 +0,0 @@
-From 800627f054959aac0dd3527495ee3fad0137600a Mon Sep 17 00:00:00 2001
-From: Jihwan Park <jihwp@amazon.com>
-Date: Mon, 3 Jul 2023 08:51:47 +0200
-Subject: [PATCH] core: crypto_bignum_free(): add indirection and set pointer
- to NULL
-
-To prevent human mistake, crypto_bignum_free() sets the location of the
-bignum pointer to NULL after freeing it.
-
-Signed-off-by: Jihwan Park <jihwp@amazon.com>
-Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
-Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
-Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
-Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
-
-CVE: CVE-2023-41325
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- core/crypto/crypto.c                        |  4 +--
- core/drivers/crypto/caam/acipher/caam_dh.c  |  8 ++---
- core/drivers/crypto/caam/acipher/caam_dsa.c | 14 ++++----
- core/drivers/crypto/caam/acipher/caam_ecc.c | 10 +++---
- core/drivers/crypto/caam/acipher/caam_rsa.c | 24 ++++++-------
- core/drivers/crypto/se050/core/ecc.c        | 14 ++++----
- core/drivers/crypto/se050/core/rsa.c        | 38 ++++++++++-----------
- core/drivers/crypto/versal/ecc.c            |  6 ++--
- core/include/crypto/crypto.h                |  2 +-
- core/lib/libtomcrypt/dh.c                   |  8 ++---
- core/lib/libtomcrypt/dsa.c                  | 14 ++++----
- core/lib/libtomcrypt/ecc.c                  | 10 +++---
- core/lib/libtomcrypt/mpi_desc.c             |  9 +++--
- core/lib/libtomcrypt/rsa.c                  | 22 ++++++------
- core/tee/tee_svc_cryp.c                     |  7 ++--
- lib/libmbedtls/core/bignum.c                |  9 +++--
- lib/libmbedtls/core/dh.c                    |  8 ++---
- lib/libmbedtls/core/ecc.c                   | 10 +++---
- lib/libmbedtls/core/rsa.c                   | 22 ++++++------
- 19 files changed, 122 insertions(+), 117 deletions(-)
-
-diff --git a/core/crypto/crypto.c b/core/crypto/crypto.c
-index 9f7d35097..60cb89a31 100644
---- a/core/crypto/crypto.c
-+++ b/core/crypto/crypto.c
-@@ -498,9 +498,9 @@ void crypto_bignum_copy(struct bignum *to __unused,
- 	bignum_cant_happen();
- }
- 
--void crypto_bignum_free(struct bignum *a)
-+void crypto_bignum_free(struct bignum **a)
- {
--	if (a)
-+	if (a && *a)
- 		panic();
- }
- 
-diff --git a/core/drivers/crypto/caam/acipher/caam_dh.c b/core/drivers/crypto/caam/acipher/caam_dh.c
-index 6131ff0ef..35fc44541 100644
---- a/core/drivers/crypto/caam/acipher/caam_dh.c
-+++ b/core/drivers/crypto/caam/acipher/caam_dh.c
-@@ -195,10 +195,10 @@ static TEE_Result do_allocate_keypair(struct dh_keypair *key, size_t size_bits)
- err:
- 	DH_TRACE("Allocation error");
- 
--	crypto_bignum_free(key->g);
--	crypto_bignum_free(key->p);
--	crypto_bignum_free(key->x);
--	crypto_bignum_free(key->y);
-+	crypto_bignum_free(&key->g);
-+	crypto_bignum_free(&key->p);
-+	crypto_bignum_free(&key->x);
-+	crypto_bignum_free(&key->y);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-diff --git a/core/drivers/crypto/caam/acipher/caam_dsa.c b/core/drivers/crypto/caam/acipher/caam_dsa.c
-index 2696f0b3c..d60bb8e89 100644
---- a/core/drivers/crypto/caam/acipher/caam_dsa.c
-+++ b/core/drivers/crypto/caam/acipher/caam_dsa.c
-@@ -309,10 +309,10 @@ static TEE_Result do_allocate_keypair(struct dsa_keypair *key, size_t l_bits,
- err:
- 	DSA_TRACE("Allocation error");
- 
--	crypto_bignum_free(key->g);
--	crypto_bignum_free(key->p);
--	crypto_bignum_free(key->q);
--	crypto_bignum_free(key->x);
-+	crypto_bignum_free(&key->g);
-+	crypto_bignum_free(&key->p);
-+	crypto_bignum_free(&key->q);
-+	crypto_bignum_free(&key->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -358,9 +358,9 @@ static TEE_Result do_allocate_publickey(struct dsa_public_key *key,
- err:
- 	DSA_TRACE("Allocation error");
- 
--	crypto_bignum_free(key->g);
--	crypto_bignum_free(key->p);
--	crypto_bignum_free(key->q);
-+	crypto_bignum_free(&key->g);
-+	crypto_bignum_free(&key->p);
-+	crypto_bignum_free(&key->q);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-diff --git a/core/drivers/crypto/caam/acipher/caam_ecc.c b/core/drivers/crypto/caam/acipher/caam_ecc.c
-index 90e87c20a..6b12b6cbe 100644
---- a/core/drivers/crypto/caam/acipher/caam_ecc.c
-+++ b/core/drivers/crypto/caam/acipher/caam_ecc.c
-@@ -169,8 +169,8 @@ static TEE_Result do_allocate_keypair(struct ecc_keypair *key, size_t size_bits)
- err:
- 	ECC_TRACE("Allocation error");
- 
--	crypto_bignum_free(key->d);
--	crypto_bignum_free(key->x);
-+	crypto_bignum_free(&key->d);
-+	crypto_bignum_free(&key->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -204,7 +204,7 @@ static TEE_Result do_allocate_publickey(struct ecc_public_key *key,
- err:
- 	ECC_TRACE("Allocation error");
- 
--	crypto_bignum_free(key->x);
-+	crypto_bignum_free(&key->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -216,8 +216,8 @@ err:
-  */
- static void do_free_publickey(struct ecc_public_key *key)
- {
--	crypto_bignum_free(key->x);
--	crypto_bignum_free(key->y);
-+	crypto_bignum_free(&key->x);
-+	crypto_bignum_free(&key->y);
- }
- 
- /*
-diff --git a/core/drivers/crypto/caam/acipher/caam_rsa.c b/core/drivers/crypto/caam/acipher/caam_rsa.c
-index e860c641c..b59ab0b6e 100644
---- a/core/drivers/crypto/caam/acipher/caam_rsa.c
-+++ b/core/drivers/crypto/caam/acipher/caam_rsa.c
-@@ -86,14 +86,14 @@ static uint8_t caam_era;
-  */
- static void do_free_keypair(struct rsa_keypair *key)
- {
--	crypto_bignum_free(key->e);
--	crypto_bignum_free(key->d);
--	crypto_bignum_free(key->n);
--	crypto_bignum_free(key->p);
--	crypto_bignum_free(key->q);
--	crypto_bignum_free(key->qp);
--	crypto_bignum_free(key->dp);
--	crypto_bignum_free(key->dq);
-+	crypto_bignum_free(&key->e);
-+	crypto_bignum_free(&key->d);
-+	crypto_bignum_free(&key->n);
-+	crypto_bignum_free(&key->p);
-+	crypto_bignum_free(&key->q);
-+	crypto_bignum_free(&key->qp);
-+	crypto_bignum_free(&key->dp);
-+	crypto_bignum_free(&key->dq);
- }
- 
- /*
-@@ -435,8 +435,8 @@ static TEE_Result do_allocate_publickey(struct rsa_public_key *key,
- err_alloc_publickey:
- 	RSA_TRACE("Allocation error");
- 
--	crypto_bignum_free(key->e);
--	crypto_bignum_free(key->n);
-+	crypto_bignum_free(&key->e);
-+	crypto_bignum_free(&key->n);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -448,8 +448,8 @@ err_alloc_publickey:
-  */
- static void do_free_publickey(struct rsa_public_key *key)
- {
--	crypto_bignum_free(key->e);
--	crypto_bignum_free(key->n);
-+	crypto_bignum_free(&key->e);
-+	crypto_bignum_free(&key->n);
- }
- 
- /*
-diff --git a/core/drivers/crypto/se050/core/ecc.c b/core/drivers/crypto/se050/core/ecc.c
-index d74334760..52f82c69d 100644
---- a/core/drivers/crypto/se050/core/ecc.c
-+++ b/core/drivers/crypto/se050/core/ecc.c
-@@ -752,9 +752,9 @@ static TEE_Result do_alloc_keypair(struct ecc_keypair *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->x);
--	crypto_bignum_free(s->y);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->x);
-+	crypto_bignum_free(&s->y);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-@@ -768,8 +768,8 @@ static TEE_Result do_alloc_publickey(struct ecc_public_key *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->x);
--	crypto_bignum_free(s->y);
-+	crypto_bignum_free(&s->x);
-+	crypto_bignum_free(&s->y);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-@@ -778,8 +778,8 @@ static void do_free_publickey(struct ecc_public_key *s)
- 	if (!s)
- 		return;
- 
--	crypto_bignum_free(s->x);
--	crypto_bignum_free(s->y);
-+	crypto_bignum_free(&s->x);
-+	crypto_bignum_free(&s->y);
- }
- 
- static struct drvcrypt_ecc driver_ecc = {
-diff --git a/core/drivers/crypto/se050/core/rsa.c b/core/drivers/crypto/se050/core/rsa.c
-index 815abb3cd..475d2b99a 100644
---- a/core/drivers/crypto/se050/core/rsa.c
-+++ b/core/drivers/crypto/se050/core/rsa.c
-@@ -537,14 +537,14 @@ static TEE_Result do_alloc_keypair(struct rsa_keypair *s,
- 
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->e);
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->n);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->q);
--	crypto_bignum_free(s->qp);
--	crypto_bignum_free(s->dp);
--	crypto_bignum_free(s->dq);
-+	crypto_bignum_free(&s->e);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->n);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->q);
-+	crypto_bignum_free(&s->qp);
-+	crypto_bignum_free(&s->dp);
-+	crypto_bignum_free(&s->dq);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -556,7 +556,7 @@ static TEE_Result do_alloc_publickey(struct rsa_public_key *s,
- 	if (!bn_alloc_max(&s->e))
- 		return TEE_ERROR_OUT_OF_MEMORY;
- 	if (!bn_alloc_max(&s->n)) {
--		crypto_bignum_free(s->e);
-+		crypto_bignum_free(&s->e);
- 		return TEE_ERROR_OUT_OF_MEMORY;
- 	}
- 
-@@ -566,8 +566,8 @@ static TEE_Result do_alloc_publickey(struct rsa_public_key *s,
- static void do_free_publickey(struct rsa_public_key *s)
- {
- 	if (s) {
--		crypto_bignum_free(s->n);
--		crypto_bignum_free(s->e);
-+		crypto_bignum_free(&s->n);
-+		crypto_bignum_free(&s->e);
- 	}
- }
- 
-@@ -587,14 +587,14 @@ static void do_free_keypair(struct rsa_keypair *s)
- 			sss_se05x_key_store_erase_key(se050_kstore, &k_object);
- 	}
- 
--	crypto_bignum_free(s->e);
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->n);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->q);
--	crypto_bignum_free(s->qp);
--	crypto_bignum_free(s->dp);
--	crypto_bignum_free(s->dq);
-+	crypto_bignum_free(&s->e);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->n);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->q);
-+	crypto_bignum_free(&s->qp);
-+	crypto_bignum_free(&s->dp);
-+	crypto_bignum_free(&s->dq);
- }
- 
- static TEE_Result do_gen_keypair(struct rsa_keypair *key, size_t kb)
-diff --git a/core/drivers/crypto/versal/ecc.c b/core/drivers/crypto/versal/ecc.c
-index 3d5454509..18ec4f78d 100644
---- a/core/drivers/crypto/versal/ecc.c
-+++ b/core/drivers/crypto/versal/ecc.c
-@@ -284,9 +284,9 @@ static TEE_Result sign(uint32_t algo, struct ecc_keypair *key,
- 
- 	versal_mbox_alloc(bytes, NULL, &k);
- 	crypto_bignum_bn2bin_eswap(key->curve, ephemeral.d, k.buf);
--	crypto_bignum_free(ephemeral.d);
--	crypto_bignum_free(ephemeral.x);
--	crypto_bignum_free(ephemeral.y);
-+	crypto_bignum_free(&ephemeral.d);
-+	crypto_bignum_free(&ephemeral.x);
-+	crypto_bignum_free(&ephemeral.y);
- 
- 	/* Private key*/
- 	versal_mbox_alloc(bytes, NULL, &d);
-diff --git a/core/include/crypto/crypto.h b/core/include/crypto/crypto.h
-index 71a287ec6..0e6c139ce 100644
---- a/core/include/crypto/crypto.h
-+++ b/core/include/crypto/crypto.h
-@@ -98,7 +98,7 @@ size_t crypto_bignum_num_bytes(struct bignum *a);
- size_t crypto_bignum_num_bits(struct bignum *a);
- void crypto_bignum_bn2bin(const struct bignum *from, uint8_t *to);
- void crypto_bignum_copy(struct bignum *to, const struct bignum *from);
--void crypto_bignum_free(struct bignum *a);
-+void crypto_bignum_free(struct bignum **a);
- void crypto_bignum_clear(struct bignum *a);
- 
- /* return -1 if a<b, 0 if a==b, +1 if a>b */
-diff --git a/core/lib/libtomcrypt/dh.c b/core/lib/libtomcrypt/dh.c
-index 4eb9916f2..b1d0a4d00 100644
---- a/core/lib/libtomcrypt/dh.c
-+++ b/core/lib/libtomcrypt/dh.c
-@@ -28,10 +28,10 @@ TEE_Result crypto_acipher_alloc_dh_keypair(struct dh_keypair *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->g);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->y);
--	crypto_bignum_free(s->x);
-+	crypto_bignum_free(&s->g);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->y);
-+	crypto_bignum_free(&s->x);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-diff --git a/core/lib/libtomcrypt/dsa.c b/core/lib/libtomcrypt/dsa.c
-index a2dc720ed..d6243c469 100644
---- a/core/lib/libtomcrypt/dsa.c
-+++ b/core/lib/libtomcrypt/dsa.c
-@@ -30,10 +30,10 @@ TEE_Result crypto_acipher_alloc_dsa_keypair(struct dsa_keypair *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->g);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->q);
--	crypto_bignum_free(s->y);
-+	crypto_bignum_free(&s->g);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->q);
-+	crypto_bignum_free(&s->y);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-@@ -52,9 +52,9 @@ TEE_Result crypto_acipher_alloc_dsa_public_key(struct dsa_public_key *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->g);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->q);
-+	crypto_bignum_free(&s->g);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->q);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-diff --git a/core/lib/libtomcrypt/ecc.c b/core/lib/libtomcrypt/ecc.c
-index 938378247..fa645e17a 100644
---- a/core/lib/libtomcrypt/ecc.c
-+++ b/core/lib/libtomcrypt/ecc.c
-@@ -18,8 +18,8 @@ static void _ltc_ecc_free_public_key(struct ecc_public_key *s)
- 	if (!s)
- 		return;
- 
--	crypto_bignum_free(s->x);
--	crypto_bignum_free(s->y);
-+	crypto_bignum_free(&s->x);
-+	crypto_bignum_free(&s->y);
- }
- 
- /*
-@@ -465,8 +465,8 @@ TEE_Result crypto_asym_alloc_ecc_keypair(struct ecc_keypair *s,
- err:
- 	s->ops = NULL;
- 
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->x);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -541,7 +541,7 @@ TEE_Result crypto_asym_alloc_ecc_public_key(struct ecc_public_key *s,
- err:
- 	s->ops = NULL;
- 
--	crypto_bignum_free(s->x);
-+	crypto_bignum_free(&s->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-diff --git a/core/lib/libtomcrypt/mpi_desc.c b/core/lib/libtomcrypt/mpi_desc.c
-index 235fbe630..ff8dd13c7 100644
---- a/core/lib/libtomcrypt/mpi_desc.c
-+++ b/core/lib/libtomcrypt/mpi_desc.c
-@@ -763,10 +763,13 @@ struct bignum *crypto_bignum_allocate(size_t size_bits)
- 	return (struct bignum *)bn;
- }
- 
--void crypto_bignum_free(struct bignum *s)
-+void crypto_bignum_free(struct bignum **s)
- {
--	mbedtls_mpi_free((mbedtls_mpi *)s);
--	free(s);
-+	assert(s);
-+
-+	mbedtls_mpi_free((mbedtls_mpi *)*s);
-+	free(*s);
-+	*s = NULL;
- }
- 
- void crypto_bignum_clear(struct bignum *s)
-diff --git a/core/lib/libtomcrypt/rsa.c b/core/lib/libtomcrypt/rsa.c
-index 8d0443f36..13ed23934 100644
---- a/core/lib/libtomcrypt/rsa.c
-+++ b/core/lib/libtomcrypt/rsa.c
-@@ -131,7 +131,7 @@ TEE_Result sw_crypto_acipher_alloc_rsa_public_key(struct rsa_public_key *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->e);
-+	crypto_bignum_free(&s->e);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-@@ -143,8 +143,8 @@ void sw_crypto_acipher_free_rsa_public_key(struct rsa_public_key *s)
- {
- 	if (!s)
- 		return;
--	crypto_bignum_free(s->n);
--	crypto_bignum_free(s->e);
-+	crypto_bignum_free(&s->n);
-+	crypto_bignum_free(&s->e);
- }
- 
- 
-@@ -155,14 +155,14 @@ void sw_crypto_acipher_free_rsa_keypair(struct rsa_keypair *s)
- {
- 	if (!s)
- 		return;
--	crypto_bignum_free(s->e);
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->n);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->q);
--	crypto_bignum_free(s->qp);
--	crypto_bignum_free(s->dp);
--	crypto_bignum_free(s->dq);
-+	crypto_bignum_free(&s->e);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->n);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->q);
-+	crypto_bignum_free(&s->qp);
-+	crypto_bignum_free(&s->dp);
-+	crypto_bignum_free(&s->dq);
- }
- 
- TEE_Result crypto_acipher_gen_rsa_key(struct rsa_keypair *key,
-diff --git a/core/tee/tee_svc_cryp.c b/core/tee/tee_svc_cryp.c
-index 534e5ac39..880809753 100644
---- a/core/tee/tee_svc_cryp.c
-+++ b/core/tee/tee_svc_cryp.c
-@@ -869,8 +869,7 @@ static void op_attr_bignum_free(void *attr)
- {
- 	struct bignum **bn = attr;
- 
--	crypto_bignum_free(*bn);
--	*bn = NULL;
-+	crypto_bignum_free(bn);
- }
- 
- static TEE_Result op_attr_value_from_user(void *attr, const void *buffer,
-@@ -3445,8 +3444,8 @@ TEE_Result syscall_cryp_derive_key(unsigned long state,
- 		} else {
- 			res = TEE_ERROR_OUT_OF_MEMORY;
- 		}
--		crypto_bignum_free(pub);
--		crypto_bignum_free(ss);
-+		crypto_bignum_free(&pub);
-+		crypto_bignum_free(&ss);
- 	} else if (TEE_ALG_GET_MAIN_ALG(cs->algo) == TEE_MAIN_ALGO_ECDH) {
- 		struct ecc_public_key key_public;
- 		uint8_t *pt_secret;
-diff --git a/lib/libmbedtls/core/bignum.c b/lib/libmbedtls/core/bignum.c
-index 61f6c5c60..dea30f61a 100644
---- a/lib/libmbedtls/core/bignum.c
-+++ b/lib/libmbedtls/core/bignum.c
-@@ -87,10 +87,13 @@ struct bignum *crypto_bignum_allocate(size_t size_bits)
- 	return (struct bignum *)bn;
- }
- 
--void crypto_bignum_free(struct bignum *s)
-+void crypto_bignum_free(struct bignum **s)
- {
--	mbedtls_mpi_free((mbedtls_mpi *)s);
--	free(s);
-+	assert(s);
-+
-+	mbedtls_mpi_free((mbedtls_mpi *)*s);
-+	free(*s);
-+	*s = NULL;
- }
- 
- void crypto_bignum_clear(struct bignum *s)
-diff --git a/lib/libmbedtls/core/dh.c b/lib/libmbedtls/core/dh.c
-index b3415aaa7..e95aa1495 100644
---- a/lib/libmbedtls/core/dh.c
-+++ b/lib/libmbedtls/core/dh.c
-@@ -35,10 +35,10 @@ TEE_Result crypto_acipher_alloc_dh_keypair(struct dh_keypair *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->g);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->y);
--	crypto_bignum_free(s->x);
-+	crypto_bignum_free(&s->g);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->y);
-+	crypto_bignum_free(&s->x);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-diff --git a/lib/libmbedtls/core/ecc.c b/lib/libmbedtls/core/ecc.c
-index fd4a51b9d..46cd9fd1c 100644
---- a/lib/libmbedtls/core/ecc.c
-+++ b/lib/libmbedtls/core/ecc.c
-@@ -40,8 +40,8 @@ static void ecc_free_public_key(struct ecc_public_key *s)
- 	if (!s)
- 		return;
- 
--	crypto_bignum_free(s->x);
--	crypto_bignum_free(s->y);
-+	crypto_bignum_free(&s->x);
-+	crypto_bignum_free(&s->y);
- }
- 
- /*
-@@ -484,8 +484,8 @@ TEE_Result crypto_asym_alloc_ecc_keypair(struct ecc_keypair *s,
- 	return TEE_SUCCESS;
- 
- err:
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->x);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-@@ -581,7 +581,7 @@ TEE_Result crypto_asym_alloc_ecc_public_key(struct ecc_public_key *s,
- 	return TEE_SUCCESS;
- 
- err:
--	crypto_bignum_free(s->x);
-+	crypto_bignum_free(&s->x);
- 
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
-diff --git a/lib/libmbedtls/core/rsa.c b/lib/libmbedtls/core/rsa.c
-index c3b5be509..a8aeb2c04 100644
---- a/lib/libmbedtls/core/rsa.c
-+++ b/lib/libmbedtls/core/rsa.c
-@@ -183,7 +183,7 @@ TEE_Result sw_crypto_acipher_alloc_rsa_public_key(struct rsa_public_key *s,
- 		goto err;
- 	return TEE_SUCCESS;
- err:
--	crypto_bignum_free(s->e);
-+	crypto_bignum_free(&s->e);
- 	return TEE_ERROR_OUT_OF_MEMORY;
- }
- 
-@@ -194,8 +194,8 @@ void sw_crypto_acipher_free_rsa_public_key(struct rsa_public_key *s)
- {
- 	if (!s)
- 		return;
--	crypto_bignum_free(s->n);
--	crypto_bignum_free(s->e);
-+	crypto_bignum_free(&s->n);
-+	crypto_bignum_free(&s->e);
- }
- 
- void crypto_acipher_free_rsa_keypair(struct rsa_keypair *s)
-@@ -205,14 +205,14 @@ void sw_crypto_acipher_free_rsa_keypair(struct rsa_keypair *s)
- {
- 	if (!s)
- 		return;
--	crypto_bignum_free(s->e);
--	crypto_bignum_free(s->d);
--	crypto_bignum_free(s->n);
--	crypto_bignum_free(s->p);
--	crypto_bignum_free(s->q);
--	crypto_bignum_free(s->qp);
--	crypto_bignum_free(s->dp);
--	crypto_bignum_free(s->dq);
-+	crypto_bignum_free(&s->e);
-+	crypto_bignum_free(&s->d);
-+	crypto_bignum_free(&s->n);
-+	crypto_bignum_free(&s->p);
-+	crypto_bignum_free(&s->q);
-+	crypto_bignum_free(&s->qp);
-+	crypto_bignum_free(&s->dp);
-+	crypto_bignum_free(&s->dq);
- }
- 
- TEE_Result crypto_acipher_gen_rsa_key(struct rsa_keypair *key,
--- 
-2.34.1
-
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tadevkit_3.20.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tadevkit_3.20.0.bb
deleted file mode 100644
index 202caa5..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tadevkit_3.20.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require optee-os_3.20.0.bb
-
-SUMMARY = "OP-TEE Trusted OS TA devkit"
-DESCRIPTION = "OP-TEE TA devkit for build TAs"
-HOMEPAGE = "https://www.op-tee.org/"
-
-DEPENDS += "python3-pycryptodome-native"
-
-do_install() {
-    #install TA devkit
-    install -d ${D}${includedir}/optee/export-user_ta/
-    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
-        cp -aR $f ${D}${includedir}/optee/export-user_ta/
-    done
-}
-
-do_deploy() {
-	echo "Do not inherit do_deploy from optee-os."
-}
-
-FILES:${PN} = "${includedir}/optee/"
-
-# Build paths are currently embedded
-INSANE_SKIP:${PN}-dev += "buildpaths"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tadevkit_4.0.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tadevkit_4.0.0.bb
deleted file mode 100644
index 9fe2697..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tadevkit_4.0.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require optee-os_4.0.0.bb
-
-SUMMARY = "OP-TEE Trusted OS TA devkit"
-DESCRIPTION = "OP-TEE TA devkit for build TAs"
-HOMEPAGE = "https://www.op-tee.org/"
-
-DEPENDS += "python3-pycryptodome-native"
-
-do_install() {
-    #install TA devkit
-    install -d ${D}${includedir}/optee/export-user_ta/
-    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
-        cp -aR $f ${D}${includedir}/optee/export-user_ta/
-    done
-}
-
-do_deploy() {
-	echo "Do not inherit do_deploy from optee-os."
-}
-
-FILES:${PN} = "${includedir}/optee/"
-
-# Build paths are currently embedded
-INSANE_SKIP:${PN}-dev += "buildpaths"
-
-# Include extra headers needed by SPMC tests to TA DEVKIT.
-# Supported after op-tee v3.20
-EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee-spmc-test', \
-                                        ' CFG_SPMC_TESTS=y', '' , d)}"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tc.inc b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tc.inc
deleted file mode 100644
index c4049f5..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os-tc.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-# TC0 specific configuration
-
-# Total Compute (tc) specific configuration for optee-os and optee-os-tadevkit
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-os/tc:"
-SRC_URI:append:tc = " file://sp_layout.json \
-    file://0001-WIP-Enable-managed-exit.patch \
-    file://0002-plat-totalcompute-fix-TZDRAM-start-and-size.patch \
-    "
-
-COMPATIBLE_MACHINE = "(tc?)"
-
-OPTEEMACHINE:tc1 = "totalcompute-tc1"
-
-# Enable optee memory layout and boot logs
-EXTRA_OEMAKE += " CFG_TEE_CORE_LOG_LEVEL=3"
-
-# default disable latency benchmarks (over all OP-TEE layers)
-EXTRA_OEMAKE += " CFG_TEE_BENCHMARK=n"
-
-# Enable stats
-EXTRA_OEMAKE += " CFG_WITH_STATS=y"
-
-EXTRA_OEMAKE += " CFG_CORE_SEL2_SPMC=y"
-
-# Copy optee manifest file
-do_install:append() {
-    install -d ${D}${nonarch_base_libdir}/firmware/
-    install -m 644 ${WORKDIR}/sp_layout.json ${D}${nonarch_base_libdir}/firmware/
-    install -m 644 \
-        ${S}/core/arch/arm/plat-totalcompute/fdts/optee_sp_manifest.dts \
-        ${D}${nonarch_base_libdir}/firmware/
-}
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os/0003-optee-enable-clang-support.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os/0003-optee-enable-clang-support.patch
deleted file mode 100644
index 3c13ce3..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os/0003-optee-enable-clang-support.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 59d4c190eae11c93b26cca5a7b005a17dadc8248 Mon Sep 17 00:00:00 2001
-From: Brett Warren <brett.warren@arm.com>
-Date: Wed, 23 Sep 2020 09:27:34 +0100
-Subject: [PATCH] optee: enable clang support
-
-When compiling with clang, the LIBGCC_LOCATE_CFLAG variable used
-to provide a sysroot wasn't included, which results in not locating
-compiler-rt. This is mitigated by including the variable as ammended.
-
-Upstream-Status: Pending
-ChangeId: 8ba69a4b2eb8ebaa047cb266c9aa6c2c3da45701
-Signed-off-by: Brett Warren <brett.warren@arm.com>
-
----
- mk/clang.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mk/clang.mk b/mk/clang.mk
-index a045beee8..1ebe2f702 100644
---- a/mk/clang.mk
-+++ b/mk/clang.mk
-@@ -30,7 +30,7 @@ comp-cflags-warns-clang := -Wno-language-extension-token \
- 
- # Note, use the compiler runtime library (libclang_rt.builtins.*.a) instead of
- # libgcc for clang
--libgcc$(sm)	:= $(shell $(CC$(sm)) $(CFLAGS$(arch-bits-$(sm))) \
-+libgcc$(sm)	:= $(shell $(CC$(sm)) $(LIBGCC_LOCATE_CFLAGS) $(CFLAGS$(arch-bits-$(sm))) \
- 			-rtlib=compiler-rt -print-libgcc-file-name 2> /dev/null)
- 
- # Core ASLR relies on the executable being ready to run from its preferred load
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb
deleted file mode 100644
index 0638cf7..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require recipes-security/optee/optee-os.inc
-
-DEPENDS += "dtc-native"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${P}:"
-
-SRCREV = "8e74d47616a20eaa23ca692f4bbbf917a236ed94"
-SRC_URI += " \
-    file://0001-allow-setting-sysroot-for-libgcc-lookup.patch \
-    file://0002-optee-enable-clang-support.patch \
-    file://0003-core-link-add-no-warn-rwx-segments.patch \
-    file://0004-core-Define-section-attributes-for-clang.patch \
-    file://0005-core-arm-S-EL1-SPMC-boot-ABI-update.patch \
-    file://0006-core-ffa-add-TOS_FW_CONFIG-handling.patch \
-    file://0007-core-spmc-handle-non-secure-interrupts.patch \
-    file://0008-core-spmc-configure-SP-s-NS-interrupt-action-based-o.patch \
-    file://CVE-2023-41325.patch \
-   "
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bbappend b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bbappend
deleted file mode 100644
index e276fb8..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_3.20.0.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# Machine specific configurations
-
-MACHINE_OPTEE_OS_REQUIRE ?= ""
-MACHINE_OPTEE_OS_REQUIRE:tc = "optee-os-tc.inc"
-
-require ${MACHINE_OPTEE_OS_REQUIRE}
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_4.0.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_4.0.0.bb
deleted file mode 100644
index cb32604..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-os_4.0.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-security/optee/optee-os.inc
-
-DEPENDS += "dtc-native"
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-SRCREV = "2a5b1d1232f582056184367fb58a425ac7478ec6"
-SRC_URI += " \
-    file://0003-optee-enable-clang-support.patch \
-   "
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test-tc.inc b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test-tc.inc
deleted file mode 100644
index af73675..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test-tc.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-# TC specific configuration
-
-FILESEXTRAPATHS:prepend := "${THISDIR}/files/optee-test/tc:"
-SRC_URI:append:tc = " \
-    file://0001-xtest-Limit-tests-to-a-single-thread.patch \
-    "
-
-COMPATIBLE_MACHINE = "(tc?)"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch
deleted file mode 100644
index 98c49a2..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 53642dc98630b9c725977ab935c5bdd9c401e1aa Mon Sep 17 00:00:00 2001
-From: Jon Mason <jon.mason@arm.com>
-Date: Sat, 15 Jul 2023 15:08:43 -0400
-Subject: [PATCH] xtest: regression_1000: remove unneeded stat.h include
-
-Hack to work around musl compile error:
- In file included from optee-test/3.17.0-r0/recipe-sysroot/usr/include/sys/stat.h:23,
-                  from optee-test/3.17.0-r0/git/host/xtest/regression_1000.c:25:
- optee-test/3.17.0-r0/recipe-sysroot/usr/include/bits/stat.h:17:26: error: expected identifier or '(' before '[' token
-    17 |         unsigned __unused[2];
-       |                          ^
-
-stat.h is not needed, since it is not being used in this file.  So removing it.
-
-Upstream-Status: Backport
-Signed-off-by: Jon Mason <jon.mason@arm.com>
-Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
----
- host/xtest/regression_1000.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/host/xtest/regression_1000.c b/host/xtest/regression_1000.c
-index de32c4184fd8..25b4721cdc45 100644
---- a/host/xtest/regression_1000.c
-+++ b/host/xtest/regression_1000.c
-@@ -22,7 +22,6 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <sys/stat.h>
- #include <sys/types.h>
- #include <ta_arm_bti.h>
- #include <ta_concurrent.h>
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0002-ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0002-ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch
deleted file mode 100644
index 24cdf0a..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0002-ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From 717ff43f0d58e5f5a87893bd0cf3274a1e0164dc Mon Sep 17 00:00:00 2001
-From: Gabor Toth <gabor.toth2@arm.com>
-Date: Fri, 3 Mar 2023 12:25:58 +0100
-Subject: [PATCH] ffa_spmc: Add arm_ffa_user driver compatibility check
-
-Check the version of the arm_ffa_user Kernel Driver and fail with a
-meaningful message if incompatible driver is detected.
-
-Upstream-Status: Backport
-
-Signed-off-by: Gabor Toth <gabor.toth2@arm.com>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
----
- host/xtest/ffa_spmc_1000.c | 68 ++++++++++++++++++++++++++++++++++----
- 1 file changed, 61 insertions(+), 7 deletions(-)
-
-diff --git a/host/xtest/ffa_spmc_1000.c b/host/xtest/ffa_spmc_1000.c
-index 15f4a468a775..1839d03f29be 100644
---- a/host/xtest/ffa_spmc_1000.c
-+++ b/host/xtest/ffa_spmc_1000.c
-@@ -1,11 +1,12 @@
- // SPDX-License-Identifier: BSD-3-Clause
- /*
-- * Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
-+ * Copyright (c) 2022-2023, Arm Limited and Contributors. All rights reserved.
-  */
- #include <fcntl.h>
- #include <ffa.h>
- #include <stdio.h>
- #include <string.h>
-+#include <errno.h>
- #include <sys/ioctl.h>
- #include <unistd.h>
- #include "include/uapi/linux/arm_ffa_user.h"
-@@ -17,6 +18,10 @@
- #define INCORRECT_ENDPOINT_ID 0xffff
- #define NORMAL_WORLD_ENDPOINT_ID	0
- 
-+#define FFA_USER_REQ_VER_MAJOR 5
-+#define FFA_USER_REQ_VER_MINOR 0
-+#define FFA_USER_REQ_VER_PATCH 1
-+
- /* Get the 32 least significant bits of a handle.*/
- #define MEM_SHARE_HANDLE_LOW(x) ((x) & 0xffffffff)
- /* Get the 32 most significant bits of a handle.*/
-@@ -62,6 +67,50 @@ static struct ffa_ioctl_ep_desc test_endpoint3 = {
- 	.uuid_ptr = (uint64_t)test_endpoint3_uuid,
- };
- 
-+static bool check_ffa_user_version(void)
-+{
-+	FILE *f = NULL;
-+	int ver_major = -1;
-+	int ver_minor = -1;
-+	int ver_patch = -1;
-+	int scan_cnt = 0;
-+
-+	f = fopen("/sys/module/arm_ffa_user/version", "r");
-+	if (f) {
-+		scan_cnt = fscanf(f, "%d.%d.%d",
-+				  &ver_major, &ver_minor, &ver_patch);
-+		fclose(f);
-+		if (scan_cnt != 3) {
-+			printf("error: failed to parse arm_ffa_user version\n");
-+			return false;
-+		}
-+	} else {
-+		printf("error: failed to read arm_ffa_user module info - %s\n",
-+		       strerror(errno));
-+		return false;
-+	}
-+
-+	if (ver_major != FFA_USER_REQ_VER_MAJOR)
-+		goto err;
-+
-+	if (ver_minor < FFA_USER_REQ_VER_MINOR)
-+		goto err;
-+
-+	if (ver_minor == FFA_USER_REQ_VER_MINOR)
-+		if (ver_patch < FFA_USER_REQ_VER_PATCH)
-+			goto err;
-+
-+	return true;
-+
-+err:
-+	printf("error: Incompatible arm_ffa_user driver detected.");
-+	printf("Found v%d.%d.%d wanted >= v%d.%d.%d)\n",
-+	       ver_major, ver_minor, ver_patch, FFA_USER_REQ_VER_MAJOR,
-+		   FFA_USER_REQ_VER_MINOR, FFA_USER_REQ_VER_PATCH);
-+
-+	return false;
-+}
-+
- static void close_debugfs(void)
- {
- 	int err = 0;
-@@ -76,6 +125,9 @@ static void close_debugfs(void)
- 
- static bool init_sp_xtest(ADBG_Case_t *c)
- {
-+	if (!check_ffa_user_version())
-+		return false;
-+
- 	if (ffa_fd < 0) {
- 		ffa_fd = open(FFA_DRIVER_FS_PATH, O_RDWR);
- 		if (ffa_fd < 0) {
-@@ -83,6 +135,7 @@ static bool init_sp_xtest(ADBG_Case_t *c)
- 			return false;
- 		}
- 	}
-+
- 	return true;
- }
- 
-@@ -99,7 +152,7 @@ static uint16_t get_endpoint_id(uint64_t endp)
- 	struct ffa_ioctl_ep_desc sid = { .uuid_ptr = endp };
- 
- 	/* Get ID of destination SP based on UUID */
--	if(ioctl(ffa_fd, FFA_IOC_GET_PART_ID, &sid))
-+	if (ioctl(ffa_fd, FFA_IOC_GET_PART_ID, &sid))
- 		return INCORRECT_ENDPOINT_ID;
- 
- 	return sid.id;
-@@ -213,14 +266,15 @@ static int set_up_mem(struct ffa_ioctl_ep_desc *endp,
- 	rc = share_mem(endpoint, handle);
- 	ADBG_EXPECT_COMPARE_SIGNED(c, rc, ==, 0);
- 
--	if (!ADBG_EXPECT_TRUE(c, handle != NULL))
--	     return TEEC_ERROR_GENERIC;
-+	if (!ADBG_EXPECT_NOT_NULL(c, handle))
-+		return TEEC_ERROR_GENERIC;
- 
- 	/* SP will retrieve the memory region. */
- 	memset(args, 0, sizeof(*args));
- 	args->dst_id = endpoint;
- 	args->args[MEM_SHARE_HANDLE_LOW_INDEX] = MEM_SHARE_HANDLE_LOW(*handle);
--	args->args[MEM_SHARE_HANDLE_HIGH_INDEX] = MEM_SHARE_HANDLE_HIGH(*handle);
-+	args->args[MEM_SHARE_HANDLE_HIGH_INDEX] =
-+		MEM_SHARE_HANDLE_HIGH(*handle);
- 	args->args[MEM_SHARE_HANDLE_ENDPOINT_INDEX] = NORMAL_WORLD_ENDPOINT_ID;
- 
- 	rc = start_sp_test(endpoint, EP_RETRIEVE, args);
-@@ -254,7 +308,7 @@ static void xtest_ffa_spmc_test_1002(ADBG_Case_t *c)
- 	rc = start_sp_test(endpoint1_id, EP_TEST_SP, &args);
- 	ADBG_EXPECT_COMPARE_SIGNED(c, rc, ==, 0);
- 	if (!ADBG_EXPECT_COMPARE_UNSIGNED(c, args.args[0], ==, SPMC_TEST_OK))
--	     goto out;
-+		goto out;
- 
- 	/* Set up memory and have the SP retrieve it. */
- 	Do_ADBG_BeginSubCase(c, "Test memory set-up");
-@@ -469,7 +523,7 @@ static void xtest_ffa_spmc_test_1005(ADBG_Case_t *c)
- 	memset(&args, 0, sizeof(args));
- 	args.args[1] = endpoint2;
- 	args.args[2] = endpoint3;
--	rc = start_sp_test(endpoint1, EP_SP_MEM_SHARING_MULTI,&args);
-+	rc = start_sp_test(endpoint1, EP_SP_MEM_SHARING_MULTI, &args);
- 	ADBG_EXPECT_COMPARE_SIGNED(c, rc, ==, 0);
- 	ADBG_EXPECT_COMPARE_UNSIGNED(c, args.args[0], ==, SPMC_TEST_OK);
- 
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0003-Update-arm_ffa_user-driver-dependency.patch b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0003-Update-arm_ffa_user-driver-dependency.patch
deleted file mode 100644
index 44d9f94..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test/0003-Update-arm_ffa_user-driver-dependency.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3de910a19f01a2a9e1c9a6bd6feee1aef547f676 Mon Sep 17 00:00:00 2001
-From: Gabor Toth <gabor.toth2@arm.com>
-Date: Fri, 3 Mar 2023 12:23:45 +0100
-Subject: [PATCH] Update arm_ffa_user driver dependency
-
-Updating arm-ffa-user to v5.0.1 to get the following changes:
- - move to 64 bit direct messages
- - add Linux Kernel v6.1 compatibility
-The motivation is to update x-test to depend on the same driver
-version as TS uefi-test and thus to enable running these in a single
-configuration.
-Note: arm_ffa_user.h was copied from:
- - URL:https://git.gitlab.arm.com/linux-arm/linux-trusted-services.git
- - SHA:18e3be71f65a405dfb5d97603ae71b3c11759861
-
-Upstream-Status: Backport
-
-Signed-off-by: Gabor Toth <gabor.toth2@arm.com>
-Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
----
- host/xtest/include/uapi/linux/arm_ffa_user.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/host/xtest/include/uapi/linux/arm_ffa_user.h b/host/xtest/include/uapi/linux/arm_ffa_user.h
-index 9ef0be3e1664..0acde4fb2020 100644
---- a/host/xtest/include/uapi/linux/arm_ffa_user.h
-+++ b/host/xtest/include/uapi/linux/arm_ffa_user.h
-@@ -33,7 +33,7 @@ struct ffa_ioctl_ep_desc {
-  * @dst_id:	[in] 16-bit ID of destination endpoint.
-  */
- struct ffa_ioctl_msg_args {
--	__u32 args[5];
-+	__u64 args[5];
- 	__u16 dst_id;
- };
- #define FFA_IOC_MSG_SEND	_IOWR(FFA_IOC_MAGIC, FFA_IOC_BASE + 1, \
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bb
deleted file mode 100644
index 4409ad5..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require recipes-security/optee/optee-test.inc
-
-SRC_URI += " \
-    file://0001-xtest-regression_1000-remove-unneeded-stat.h-include.patch \
-    file://0002-ffa_spmc-Add-arm_ffa_user-driver-compatibility-check.patch \
-    file://0003-Update-arm_ffa_user-driver-dependency.patch \
-   "
-SRCREV = "5db8ab4c733d5b2f4afac3e9aef0a26634c4b444"
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bbappend b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bbappend
deleted file mode 100644
index 490b350..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_3.20.0.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# Machine specific configurations
-
-MACHINE_OPTEE_TEST_REQUIRE ?= ""
-MACHINE_OPTEE_TEST_REQUIRE:tc = "optee-test-tc.inc"
-
-require ${MACHINE_OPTEE_TEST_REQUIRE}
diff --git a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_4.0.0.bb b/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_4.0.0.bb
deleted file mode 100644
index ecd949f..0000000
--- a/meta-arm/meta-arm-bsp/recipes-security/optee/optee-test_4.0.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-security/optee/optee-test.inc
-
-SRCREV = "1c3d6be5eaa6174e3dbabf60928d15628e39b994"
-
-# Include ffa_spmc test group if the SPMC test is enabled.
-# Supported after op-tee v3.20
-EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee-spmc-test', \
-                                        ' CFG_SPMC_TESTS=y CFG_SECURE_PARTITION=y', '' , d)}"
-
-RDEPENDS:${PN} += "${@bb.utils.contains('MACHINE_FEATURES', 'optee-spmc-test', \
-                                              ' arm-ffa-user', '' , d)}"
diff --git a/meta-arm/meta-arm-systemready/classes/arm-systemready-acs.bbclass b/meta-arm/meta-arm-systemready/classes/arm-systemready-acs.bbclass
index 28e800c..9dc3635 100644
--- a/meta-arm/meta-arm-systemready/classes/arm-systemready-acs.bbclass
+++ b/meta-arm/meta-arm-systemready/classes/arm-systemready-acs.bbclass
@@ -86,7 +86,7 @@
 # Process the logs
 python acs_logs_handle() {
     import logging
-    from oeqa.utils import make_logger_bitbake_compatible
+    from oeqa.utils import make_logger_bitbake_compatible, get_json_result_dir
     import shutil
 
     deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE')
@@ -117,7 +117,7 @@
     os.symlink(os.path.basename(logdir), loglink)
 
     # Create a top-level symlink to the acs_results directory
-    top_logdir = os.path.join(get_testimage_json_result_dir(d), d.getVar("PN"))
+    top_logdir = os.path.join(get_json_result_dir(d), d.getVar("PN"))
     log_name = d.getVar('ACS_LOG_NAME')
     top_link = os.path.join(top_logdir, log_name)
     log_target = os.path.relpath(logdir, top_logdir)
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.10.2.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.10.3.bb
similarity index 92%
rename from meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.10.2.bb
rename to meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.10.3.bb
index d0c057a..5ba8d48 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.10.2.bb
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/fiptool-native_2.10.3.bb
@@ -9,8 +9,8 @@
 SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};destsuffix=fiptool-${PV};branch=${SRCBRANCH}"
 LIC_FILES_CHKSUM = "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
 
-# Use fiptool from TF-A v2.10.2
-SRCREV = "a1be69e6c5db450f841f0edd9d734bf3cffb6621"
+# Use fiptool from TF-A v2.10.3
+SRCREV = "0f915309c3821ce6f78f8451e5a6178d0cf07611"
 SRCBRANCH = "lts-v2.10"
 
 DEPENDS += "openssl-native"
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.2.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.3.bb
similarity index 86%
rename from meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.2.bb
rename to meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.3.bb
index bf2a8c1..b30ac72 100644
--- a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.2.bb
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.10.3.bb
@@ -1,7 +1,7 @@
 require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
 
-# TF-A v2.10.2
-SRCREV_tfa = "a1be69e6c5db450f841f0edd9d734bf3cffb6621"
+# TF-A v2.10.3
+SRCREV_tfa = "0f915309c3821ce6f78f8451e5a6178d0cf07611"
 SRCBRANCH = "lts-v2.10"
 
 LIC_FILES_CHKSUM += "file://docs/license.rst;md5=b2c740efedc159745b9b31f88ff03dde"
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-tc1.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-tc1.bb
deleted file mode 100644
index 4a1295c..0000000
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-tc1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require fvp-ecosystem.inc
-
-MODEL = "TC1"
-MODEL_CODE = "FVP_TC1"
-PV = "11.18.28_Linux64"
-
-SRC_URI = "https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/TotalCompute/Total%20Compute%20Update%202022/${MODEL_CODE}_${PV_URL}.tgz;subdir=${BP}"
-SRC_URI[sha256sum] = "3a2b32ecf34dc9581482d6fc682a9378ba6ed151ea9b68914b4ebad39fb5cacf"
-
-LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=a50d186fffa51ed55599183aad911298 \
-                    file://license_terms/third_party_licenses/third_party_licenses.txt;md5=34a1ba318d745f05e6197def68ea5411"
diff --git a/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.5.1.bb b/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.5.2.bb
similarity index 94%
rename from meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.5.1.bb
rename to meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.5.2.bb
index 5f83855..cc55a36 100644
--- a/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.5.1.bb
+++ b/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.5.2.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ad8cb685eb324d2fa2530b985a43f3e5"
 
 SRC_URI = "git://github.com/Linaro/OpenCSD;protocol=https;branch=master"
-SRCREV = "c16418833b5d7cbcbcb4e2a2d917ad0147efb2be"
+SRCREV = "5d86f27a8c0af16a473833da3a0936cd2a0999d3"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm/0001-add-enum-to-ta-flags.patch b/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm/0001-add-enum-to-ta-flags.patch
index 94509dd..7c61105 100644
--- a/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm/0001-add-enum-to-ta-flags.patch
+++ b/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm/0001-add-enum-to-ta-flags.patch
@@ -1,7 +1,7 @@
-From 2d00f16058529eb9f4d4d2bcaeed91fd53b43989 Mon Sep 17 00:00:00 2001
+From cd7b41b30cf157338cfd5cda3c0f6f33164ad16d Mon Sep 17 00:00:00 2001
 From: Maxim Uvarov <maxim.uvarov@linaro.org>
 Date: Fri, 17 Apr 2020 12:05:53 +0100
-Subject: [PATCH 2/2] add enum to ta flags
+Subject: [PATCH] add enum to ta flags
 
 If we compile this TA into OPTEE-OS we need to define a flag
 that this TA can be discovered on the optee bus.
@@ -9,22 +9,19 @@
 
 Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
 ---
- TAs/optee_ta/fTPM/user_ta_header_defines.h | 2 +-
+ .../ARM32-FirmwareTPM/optee_ta/fTPM/user_ta_header_defines.h    | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Samples/ARM32-FirmwareTPM/optee_ta/fTPM/user_ta_header_defines.h b/Samples/ARM32-FirmwareTPM/optee_ta/fTPM/user_ta_header_defines.h
-index 72ecbf0cf1c7..e83619d55d3c 100644
+index 92c33c1..e83619d 100644
 --- a/Samples/ARM32-FirmwareTPM/optee_ta/fTPM/user_ta_header_defines.h
 +++ b/Samples/ARM32-FirmwareTPM/optee_ta/fTPM/user_ta_header_defines.h
 @@ -44,7 +44,7 @@
  
  #define TA_UUID                     TA_FTPM_UUID
  
--#define TA_FLAGS                    (TA_FLAG_SINGLE_INSTANCE | TA_FLAG_INSTANCE_KEEP_ALIVE) 
+-#define TA_FLAGS                    (TA_FLAG_SINGLE_INSTANCE | TA_FLAG_INSTANCE_KEEP_ALIVE)
 +#define TA_FLAGS                    (TA_FLAG_SINGLE_INSTANCE | TA_FLAG_INSTANCE_KEEP_ALIVE | TA_FLAG_DEVICE_ENUM_SUPP)
  #define TA_STACK_SIZE               (64 * 1024)
  #define TA_DATA_SIZE                (32 * 1024)
-
--- 
-2.17.1
-
+ 
diff --git a/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb b/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb
index 7996e9b..1bb7681 100644
--- a/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb
+++ b/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb
@@ -22,7 +22,7 @@
 
 SRC_URI = "gitsm://github.com/Microsoft/ms-tpm-20-ref;branch=main;protocol=https \
            file://0001-add-enum-to-ta-flags.patch"
-SRCREV = "d638536d0fe01acd5e39ffa1bd100b3da82d92c7"
+SRCREV = "e9fc7b89d865536c46deb63f9c7d0121a3ded49c"
 
 UPSTREAM_CHECK_COMMITS = "1"
 
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
index 361972a..40f8513 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/packageconfigs/packagegroup-meta-filesystems.bb
@@ -7,13 +7,13 @@
 PACKAGES = ' \
     packagegroup-meta-filesystems \
     packagegroup-meta-filesystems-support \
-    packagegroup-meta-filesystems-utls \
+    packagegroup-meta-filesystems-utils \
 '
 
 RDEPENDS:packagegroup-meta-filesystems = "\
     packagegroup-meta-filesystems \
     packagegroup-meta-filesystems-support \
-    packagegroup-meta-filesystems-utls \
+    packagegroup-meta-filesystems-utils \
 "
 
 RDEPENDS:packagegroup-meta-filesystems = "\
diff --git a/meta-openembedded/meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb b/meta-openembedded/meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb
new file mode 100644
index 0000000..7607b0a
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-support/composefs/composefs_1.0.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Tools to handle creating and mounting composefs images"
+HOMEPAGE = "https://github.com/containers/composefs"
+LICENSE = "GPL-3.0-or-later & LGPL-2.0-or-later & Apache-2.0"
+LIC_FILES_CHKSUM = "\
+    file://BSD-2-Clause.txt;md5=121c8a0a8fa5961a26b7863034ebcce8 \
+    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+    file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+    file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \
+    file://LICENSE.Apache-2.0;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
+DEPENDS = "fuse3 openssl"
+SRCREV = "2d5cdcb9176cfe4ccf1761ef6d78e1c48de35649"
+PV = "1.0.3"
+
+SRC_URI = "\
+    git://github.com/containers/composefs.git;protocol=https;branch=main \
+    file://0001-musl-basename-use-portable-implementation-for-basena.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch b/meta-openembedded/meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch
new file mode 100644
index 0000000..49a0b21
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-support/composefs/files/0001-musl-basename-use-portable-implementation-for-basena.patch
@@ -0,0 +1,75 @@
+From b21a9d4f10a066cac76bb345d31fdd24afcf3e6f Mon Sep 17 00:00:00 2001
+From: Fathi Boudra <fathi.boudra@linaro.org>
+Date: Tue, 9 Apr 2024 08:47:37 +0200
+Subject: [PATCH] musl: basename: use portable implementation for basename API
+
+musl has removed the non-prototype declaration of basename from string.h which
+now results in build errors with newer clang compilers.
+
+Implement GNU basename behavior using strchr which is portable across libcs.
+
+Fixes:
+| ../../git/tools/mountcomposefs.c:43:20:
+| error: call to undeclared function 'basename'; ISO C99 and later do not
+| support implicit function declarations [-Wimplicit-function-declaration]
+|    43 |         const char *bin = basename(argv0);
+|       |                           ^
+| ../../git/tools/mountcomposefs.c:43:14:
+| error: incompatible integer to pointer conversion initializing 'const char *'
+| with an expression of type 'int' [-Wint-conversion]
+|    43 |         const char *bin = basename(argv0);
+|       |                     ^     ~~~~~~~~~~~~~~~
+
+For reference:
+https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Closes: https://github.com/containers/composefs/issues/272
+
+Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
+
+Upstream-Status: Submitted [https://github.com/containers/composefs/pull/273]
+---
+ libcomposefs/lcfs-utils.h |    6 ++++++
+ tools/mkcomposefs.c       |    2 +-
+ tools/mountcomposefs.c    |    3 ++-
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+--- a/tools/mountcomposefs.c
++++ b/tools/mountcomposefs.c
+@@ -37,10 +37,11 @@
+ #include <linux/fsverity.h>
+ 
+ #include "libcomposefs/lcfs-mount.h"
++#include "libcomposefs/lcfs-utils.h"
+ 
+ static void usage(const char *argv0)
+ {
+-	const char *bin = basename(argv0);
++	const char *bin = gnu_basename(argv0);
+ 	fprintf(stderr,
+ 		"usage: %s [-t type] [-o opt[,opts..]] IMAGE MOUNTPOINT\n"
+ 		"Example:\n"
+--- a/libcomposefs/lcfs-utils.h
++++ b/libcomposefs/lcfs-utils.h
+@@ -161,4 +161,10 @@ static inline void *steal_pointer(void *
+ /* type safety */
+ #define steal_pointer(pp) (0 ? (*(pp)) : (steal_pointer)(pp))
+ 
++static inline const char *gnu_basename(const char *filename)
++{
++	const char *p = strrchr(filename, '/');
++	return p ? p+1 : filename;
++}
++
+ #endif
+--- a/tools/mkcomposefs.c
++++ b/tools/mkcomposefs.c
+@@ -315,7 +315,7 @@ static int fill_store(struct lcfs_node_s
+ 
+ static void usage(const char *argv0)
+ {
+-	const char *bin = basename(argv0);
++	const char *bin = gnu_basename(argv0);
+ 	fprintf(stderr,
+ 		"Usage: %s [OPTIONS] SOURCE IMAGE\n"
+ 		"Options:\n"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb
similarity index 89%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.0.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb
index e503af4..08607ac 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669"
 
 SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;branch=master"
-SRCREV = "bb645893f374ab694b10a79f1205a728e010f2c9"
+SRCREV = "872e470ebf3e65b0b956f3a70329e885a2df1c2a"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch
deleted file mode 100644
index 5030fb9..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 80d3e73ad0648f558a067a9dbfe3bc80e6b614f8 Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Mon, 30 Oct 2023 19:15:56 +0000
-Subject: [PATCH] AES-NI: use target attributes for x86 32-bit intrinsics
-
-This way we build with 32-bit gcc/clang out of the box.
-We also fallback to assembly for 64-bit clang-cl if needed cpu
-flags are not provided, instead of throwing an error.
-
-Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/800f2b7c020678a84abfa9688962b91c36e6693d]
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
----
- library/aesni.c | 20 ++++++++++++++++++++
- library/aesni.h |  8 +++++---
- 2 files changed, 25 insertions(+), 3 deletions(-)
-
-diff --git a/library/aesni.c b/library/aesni.c
-index 5f25a8249..481fa3822 100644
---- a/library/aesni.c
-+++ b/library/aesni.c
-@@ -41,6 +41,17 @@
- #include <immintrin.h>
- #endif
-
-+#if defined(MBEDTLS_ARCH_IS_X86)
-+#if defined(MBEDTLS_COMPILER_IS_GCC)
-+#pragma GCC push_options
-+#pragma GCC target ("pclmul,sse2,aes")
-+#define MBEDTLS_POP_TARGET_PRAGMA
-+#elif defined(__clang__)
-+#pragma clang attribute push (__attribute__((target("pclmul,sse2,aes"))), apply_to=function)
-+#define MBEDTLS_POP_TARGET_PRAGMA
-+#endif
-+#endif
-+
- #if !defined(MBEDTLS_AES_USE_HARDWARE_ONLY)
- /*
-  * AES-NI support detection routine
-@@ -396,6 +407,15 @@ static void aesni_setkey_enc_256(unsigned char *rk_bytes,
- }
- #endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
-
-+#if defined(MBEDTLS_POP_TARGET_PRAGMA)
-+#if defined(__clang__)
-+#pragma clang attribute pop
-+#elif defined(__GNUC__)
-+#pragma GCC pop_options
-+#endif
-+#undef MBEDTLS_POP_TARGET_PRAGMA
-+#endif
-+
- #else /* MBEDTLS_AESNI_HAVE_CODE == 1 */
-
- #if defined(__has_feature)
-diff --git a/library/aesni.h b/library/aesni.h
-index ba1429029..37ae02c82 100644
---- a/library/aesni.h
-+++ b/library/aesni.h
-@@ -50,6 +50,10 @@
- #if defined(__GNUC__) && defined(__AES__) && defined(__PCLMUL__)
- #define MBEDTLS_AESNI_HAVE_INTRINSICS
- #endif
-+/* For 32-bit, we only support intrinsics */
-+#if defined(MBEDTLS_ARCH_IS_X86) && (defined(__GNUC__) || defined(__clang__))
-+#define MBEDTLS_AESNI_HAVE_INTRINSICS
-+#endif
-
- /* Choose the implementation of AESNI, if one is available.
-  *
-@@ -60,13 +64,11 @@
- #if defined(MBEDTLS_AESNI_HAVE_INTRINSICS)
- #define MBEDTLS_AESNI_HAVE_CODE 2 // via intrinsics
- #elif defined(MBEDTLS_HAVE_ASM) && \
--    defined(__GNUC__) && defined(MBEDTLS_ARCH_IS_X64)
-+    (defined(__GNUC__) || defined(__clang__)) && defined(MBEDTLS_ARCH_IS_X64)
- /* Can we do AESNI with inline assembly?
-  * (Only implemented with gas syntax, only for 64-bit.)
-  */
- #define MBEDTLS_AESNI_HAVE_CODE 1 // via assembly
--#elif defined(__GNUC__)
--#   error "Must use `-mpclmul -msse2 -maes` for MBEDTLS_AESNI_C"
- #else
- #error "MBEDTLS_AESNI_C defined, but neither intrinsics nor assembly available"
- #endif
---
-2.34.1
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.7.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.8.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.7.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.8.bb
index 9a6487c..301e655 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.7.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.8.bb
@@ -23,8 +23,8 @@
 SECTION = "libs"
 
 S = "${WORKDIR}/git"
-SRCREV = "555f84735aecdbd76a566cf087ec8425dfb0c8ab"
-SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=mbedtls-2.28 \
+SRCREV = "5a764e5555c64337ed17444410269ff21cb617b1"
+SRC_URI = "git://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=mbedtls-2.28 \
            file://run-ptest \
           "
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.0.bb
similarity index 91%
rename from meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.2.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.0.bb
index d61c54e..92a2de8 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.5.2.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.6.0.bb
@@ -23,10 +23,14 @@
 SECTION = "libs"
 
 S = "${WORKDIR}/git"
-SRCREV = "daca7a3979c22da155ec9dce49ab1abf3b65d3a9"
 SRC_URI = "git://github.com/Mbed-TLS/mbedtls.git;protocol=https;branch=master \
-	file://0001-AES-NI-use-target-attributes-for-x86-32-bit-intrinsi.patch \
+	git://github.com/Mbed-TLS/mbedtls-framework.git;protocol=https;branch=main;destsuffix=git/framework;name=framework \
 	file://run-ptest"
+
+SRCREV = "2ca6c285a0dd3f33982dd57299012dacab1ff206"
+SRCREV_framework = "750634d3a51eb9d61b59fd5d801546927c946588"
+SRCREV_FORMAT .= "_framework"
+
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
 inherit cmake update-alternatives ptest
diff --git a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-ptest.bb b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
index f458b76..295da98 100644
--- a/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
+++ b/meta-openembedded/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
@@ -27,6 +27,7 @@
 QB_MEM = "-m 1024"
 # If a particular ptest needs more memroy, it can be customized:
 #QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
+QB_MEM:virtclass-mcextend-nftables = "-m 2048"
 
 TEST_SUITES = "ping ssh parselogs ptest"
 
diff --git a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/ncftp-3.2.5-gcc10.patch b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/ncftp-3.2.5-gcc10.patch
deleted file mode 100644
index 5dee824..0000000
--- a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp/ncftp-3.2.5-gcc10.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Fix build with -fno-common
-
-Patch from https://src.fedoraproject.org/rpms/ncftp/raw/master/f/ncftp-3.2.5-gcc10.patch
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/ncftp/bookmark.h
-+++ b/ncftp/bookmark.h
-@@ -29,6 +29,8 @@ typedef struct Bookmark {
-     int             reserved;
- } Bookmark;
- 
-+extern Bookmark gBm;
-+
- #define kBookmarkVersion		8
- #define kBookmarkMinVersion		3
- #if (defined(WIN32) || defined(_WINDOWS)) && !defined(__CYGWIN__)
---- a/ncftp/cmds.c
-+++ b/ncftp/cmds.c
-@@ -98,7 +98,7 @@ extern char gPager[], gHome[], gShell[];
- extern char gOS[];
- extern int gAutoResume;
- extern int gAutoSaveChangesToExistingBookmarks;
--extern Bookmark gBm;
-+//extern Bookmark gBm;
- extern int gLoadedBm, gConfirmClose, gSavePasswords, gScreenColumns;
- extern char gLocalCWD[512], gPrevLocalCWD[512];
- extern int gMayCancelJmp;
---- a/ncftp/main.c
-+++ b/ncftp/main.c
-@@ -38,7 +38,7 @@ extern int gUnprocessedJobs;
- char gLocalCWD[512], gPrevLocalCWD[512];
- 
- extern char gRemoteCWD[512], gPrevRemoteCWD[512];
--extern Bookmark gBm;
-+//extern Bookmark gBm;
- extern int gLoadedBm;
- extern int gFirewallType;
- extern char gAutoAscii[];
---- a/sh_util/gpshare.c
-+++ b/sh_util/gpshare.c
-@@ -28,7 +28,7 @@
- 
- static int gIsAtty1 = 1, gIsAtty2 = 1;
- extern int gLoadedBm, gBookmarkMatchMode;
--Bookmark gBm;
-+//Bookmark gBm;
- 
- double
- FileSize(double size, const char **uStr0, double *uMult0)
---- a/sh_util/ncftpget.c
-+++ b/sh_util/ncftpget.c
-@@ -40,7 +40,7 @@ extern unsigned int gFirewallPort;
- extern char gFirewallExceptionList[256];
- extern int gFwDataPortMode;
- extern const char gOS[], gVersion[];
--extern Bookmark gBm;
-+//extern Bookmark gBm;
- 
- static void
- #if (defined(__GNUC__)) && (__GNUC__ >= 2)
---- a/sh_util/ncftpls.c
-+++ b/sh_util/ncftpls.c
-@@ -39,7 +39,7 @@ extern unsigned int gFirewallPort;
- extern char gFirewallExceptionList[256];
- extern int gFwDataPortMode;
- extern const char gOS[], gVersion[];
--extern Bookmark gBm;
-+//extern Bookmark gBm;
- 
- static int FTPRemoteRecursiveMList(FTPCIPtr cip, const char *const rdir, /* FTPFileInfoListPtr files, */ FTPLineListPtr lines);
- 
---- a/sh_util/ncftpput.c
-+++ b/sh_util/ncftpput.c
-@@ -41,7 +41,6 @@ extern unsigned int gFirewallPort;
- extern char gFirewallExceptionList[256];
- extern int gFwDataPortMode;
- extern const char gOS[], gVersion[];
--extern Bookmark gBm;
- extern int gSendfileInProgress;
- 
- static void
diff --git a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb
similarity index 79%
rename from meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
rename to meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb
index e66325c..15bb00a 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.6.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb
@@ -5,14 +5,12 @@
 LIC_FILES_CHKSUM = "file://ncftp/cmds.c;beginline=3;endline=4;md5=9c2390809f71465aa7ff76e03dc14d91"
 DEPENDS = "ncurses"
 
-SRC_URI = "ftp://ftp.ncftp.com/${BPN}/${BP}-src.tar.xz \
+SRC_URI = "https://www.ncftp.com/public_ftp/ncftp/${BP}-src.tar.xz \
            file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \
            file://unistd.patch \
-           file://ncftp-3.2.5-gcc10.patch \
            file://0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch \
            "
-SRC_URI[md5sum] = "42d0f896d69a4d603ec097546444245f"
-SRC_URI[sha256sum] = "5f200687c05d0807690d9fb770327b226f02dd86155b49e750853fce4e31098d"
+SRC_URI[sha256sum] = "d41c5c4d6614a8eae2ed4e4d7ada6b6d3afcc9fb65a4ed9b8711344bef24f7e8"
 
 inherit autotools-brokensep pkgconfig
 
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.6.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.6.bb
index 0e433bb..3ec7f22 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.6.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.8.6.bb
@@ -14,7 +14,7 @@
 LICENSE = "IPL-1.0 | EPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a"
 
-SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
+SRC_URI = "http://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
            file://main.cf \
            file://postfix \
            file://internal_recipient \
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest
index 363a1ee..32ddf9f 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest
@@ -4,6 +4,7 @@
 cd ${NFTABLESLIB}/ptest || exit 1
 
 LOG="${NFTABLESLIB}/ptest/nftables_ptest_$(date +%Y%m%d-%H%M%S).log"
+NFT=nft
 tests/shell/run-tests.sh -v | sed -E '/I: \[OK\]/ s/^/PASS: / ; /W: \[(CHK DUMP|VALGRIND|TAINTED|DUMP FAIL|FAILED)\]/ s/^/FAIL: /' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | tee -a "${LOG}"
 
 passed=$(grep -c PASS: "${LOG}")
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
index ad99a80..7718922 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
@@ -37,8 +37,6 @@
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3', '', d)}
 
-RRECOMMENDS:${PN} += "kernel-module-nf-tables"
-
 PACKAGES =+ "${PN}-python"
 FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
 RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
@@ -66,7 +64,29 @@
     fi
 }
 
-RDEPENDS:${PN}-ptest += " ${PN}-python bash make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux"
+RDEPENDS:${PN}-ptest += " ${PN}-python bash coreutils make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux"
+
+RRECOMMENDS:${PN}-ptest += "\
+kernel-module-nft-chain-nat     kernel-module-nft-queue \
+kernel-module-nft-compat        kernel-module-nft-quota \
+kernel-module-nft-connlimit     kernel-module-nft-redir \
+kernel-module-nft-ct            kernel-module-nft-reject \
+kernel-module-nft-flow-offload  kernel-module-nft-reject-inet \
+kernel-module-nft-hash          kernel-module-nft-reject-ipv4 \
+kernel-module-nft-limit         kernel-module-nft-reject-ipv6 \
+kernel-module-nft-log           kernel-module-nft-socket \
+kernel-module-nft-masq          kernel-module-nft-synproxy \
+kernel-module-nft-nat           kernel-module-nft-tunnel \
+kernel-module-nft-numgen        kernel-module-nft-xfrm \
+kernel-module-nft-osf \
+kernel-module-nf-flow-table \
+kernel-module-nf-flow-table-inet \
+kernel-module-nf-nat \
+kernel-module-nf-log-syslog \
+kernel-module-nf-nat-ftp \
+kernel-module-nf-nat-sip \
+kernel-module-8021q \
+kernel-module-dummy"
 
 TESTDIR = "tests"
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.80.16.bb b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.100.94.0.2.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.80.16.bb
rename to meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.100.94.0.2.bb
index c516eba..183f05e 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.80.16.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/mdns/mdns_2200.100.94.0.2.bb
@@ -26,7 +26,7 @@
            file://0001-Handle-interface-without-ifa_addr.patch \
            file://0001-Fix-SIGSEGV-during-DumpStateLog.patch \
            "
-SRCREV = "5fdc65a52db5c31fdf4b872d912590235b36a4dc"
+SRCREV = "8f70f98fc1d0cf439ca3a6470be6ad8ac2bcc019"
 
 # We install a stub Makefile in the top directory so that the various checks
 # in base.bbclass pass their tests for a Makefile, this ensures (that amongst
diff --git a/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb b/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb
index 2b622ae..647f9df 100644
--- a/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/pimd/pimd_2.3.2.bb
@@ -4,10 +4,9 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790"
 
-SRC_URI = "ftp://ftp.troglobit.com/pimd/${BP}.tar.gz \
+SRC_URI = "https://ftp.troglobit.com/pimd/${BP}.tar.gz \
            file://0001-configure-Dont-use-uname-to-determine-target-OS.patch \
            "
-SRC_URI[md5sum] = "a3c03e40540980b2c06e265a17988e60"
 SRC_URI[sha256sum] = "c77a9812751f114490a28a6839b16aac8b020c8d9fd6aa22bf3880c054e19f1d"
 
 EXTRA_OECONF:append:libc-musl = " --embedded-libc"
diff --git a/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb b/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb
index 79c3dad..bdd9759 100644
--- a/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb
+++ b/meta-openembedded/meta-networking/recipes-support/tnftp/tnftp_20230507.bb
@@ -14,7 +14,7 @@
 
 DEPENDS = "ncurses"
 
-SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \
            file://0001-libedit-Include-missing-header-stdc-predef.h.patch \
 "
 
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.1.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.3.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.1.bb
rename to meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.3.bb
index 2b87de3..ffdc78e 100644
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.19.3.bb
@@ -9,8 +9,8 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
 
-SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=branch-1.19.1"
-SRCREV = "c6dd1e116df75242a0c032295c152f06c721b3cd"
+SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=branch-1.19.3"
+SRCREV = "48b6c60a24e9a5d6d369a7a37c9fe2a767f26abd"
 
 inherit autotools pkgconfig systemd update-rc.d
 
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 673b41f..f5c7b9b 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
@@ -13,6 +13,7 @@
     function2 \
     fwupd \
     gcab \
+    jemalloc \
     jq \
     leveldb \
     libcereal \
@@ -32,6 +33,7 @@
     nlohmann-json \
     nodejs \
     onig \
+    oprofile \
     protobuf \
     sdbus-c++ \
     uthash \
@@ -43,8 +45,8 @@
 PTESTS_FAST_META_OE:append:x86-64 = " mcelog"
 
 PTESTS_FAST_META_OE:remove:libc-musl = "minicoredumper"
-PTESTS_FAST_META_OE:remove:riscv64 = "nodejs"
-PTESTS_FAST_META_OE:remove:riscv32 = "nodejs"
+PTESTS_FAST_META_OE:remove:riscv64 = "nodejs oprofile"
+PTESTS_FAST_META_OE:remove:riscv32 = "nodejs oprofile"
 
 PTESTS_SLOW_META_OE = "\
     c-ares \
@@ -60,17 +62,11 @@
 PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest"
 
 PTESTS_PROBLEMS_META_OE ="\
-    jemalloc \
     keyutils \
     libdbi-perl \
     libjcat \
     libteam \
-    libxml++ \
-    oprofile \
     ostree \
     psqlodbc \
     pv \
 "
-
-PTESTS_PROBLEMS_META_OE:remove:riscv64 = "oprofile"
-PTESTS_PROBLEMS_META_OE:remove:riscv32 = "oprofile"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb
index a386e44..a227124 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.31.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb
@@ -11,8 +11,8 @@
 
 inherit meson pkgconfig bash-completion gobject-introspection upstream-version-is-even
 
-SRCREV = "9c0309fcd3142411c921c14f7dd675cac086bab6"
-SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=main"
+SRCREV = "8415687e4f30ae5e36f407f179c8147f1529725c"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=mbim-1-30"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.35.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.35.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
index aec90ae..94164a0 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.35.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
@@ -12,8 +12,8 @@
 
 inherit meson pkgconfig bash-completion gobject-introspection upstream-version-is-even
 
-SRCREV = "72d92e75a430900c00aeb1a471965d53eb307708"
-SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=main"
+SRCREV = "3f07d6e5b4677558543b3b4484ea88ad92257e92"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-34"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb
new file mode 100644
index 0000000..084e3c4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "libtorrent is a feature complete C++ bittorrent implementation \
+	focusing on efficiency and scalability."
+HOMEPAGE = "https://libtorrent.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8b6cb42d66e6b3c47a909c3ce678a7b"
+
+DEPENDS = "boost openssl"
+
+SRC_URI = "git://github.com/arvidn/libtorrent.git;branch=master;protocol=https \
+	git://github.com/arvidn/try_signal.git;branch=master;protocol=https;destsuffix=git/deps/try_signal;name=try_signal"
+
+SRCREV = "74bc93a37a5e31c78f0aa02037a68fb9ac5deb41"
+SRCREV_try_signal = "105cce59972f925a33aa6b1c3109e4cd3caf583d"
+SRCREV_FORMAT .= "_try_signal"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig python3targetconfig
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "-Dpython-bindings=ON,-Dpython-bindings=OFF,python3-distutils-extra-native"
+
+# Strip host paths from autogenerated files
+do_install:append() {
+	sed -i 's+${STAGING_LIBDIR}+${libdir}+g' ${D}${libdir}/pkgconfig/${BPN}.pc
+}
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)}"
+FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
index c235547..38f5f63 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -13,8 +13,6 @@
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
-CVE_STATUS[CVE-2009-1760] = "backported-patch: patched in our product"
-
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= "instrumentation aligned"
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
deleted file mode 100644
index 2172c14..0000000
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Upstream-Status: Pending
-
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -40,5 +40,8 @@ EXTRA_DIST = \
-   tools/conf_tests/have_exception_ptr.cc \
-   untracked/README
- 
-+install-ptest:
-+	make -C examples install-ptest
-+
- # Optional: auto-generate the ChangeLog file from the git log on make dist
- include $(top_srcdir)/build/dist-changelog.am
---- a/examples/Makefile.am
-+++ b/examples/Makefile.am
-@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_
- AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS)
- LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS)
- 
-+LOG_DRIVER = $(SHELL) ../macros/test-driver
-+
- check_PROGRAMS = \
-   dom_build/dom_build \
-   dom_parse_entities/dom_parse_entities \
-@@ -37,6 +39,23 @@ check_PROGRAMS = \
-   schemavalidation/schemavalidation \
-   textreader/textreader
- 
-+check_DOTLIBS = \
-+  dom_build/.libs/dom_build \
-+  dom_parse_entities/.libs/dom_parse_entities \
-+  dom_parser/.libs/dom_parser \
-+  dom_parser_raw/.libs/dom_parser_raw \
-+  dom_read_write/.libs/dom_read_write \
-+  dom_xinclude/.libs/dom_xinclude \
-+  dom_xpath/.libs/dom_xpath \
-+  dtdvalidation/.libs/dtdvalidation \
-+  import_node/.libs/import_node \
-+  sax_exception/.libs/sax_exception \
-+  sax_parser/.libs/sax_parser \
-+  sax_parser_build_dom/.libs/sax_parser_build_dom \
-+  sax_parser_entities/.libs/sax_parser_entities \
-+  schemavalidation/.libs/schemavalidation \
-+  textreader/.libs/textreader
-+
- # Shell scripts that call the example programs.
- check_SCRIPTS = \
-   dom_build/make_check.sh \
-@@ -154,10 +173,10 @@ dist_noinst_DATA = \
- # file are located in different directories.
- dom_read_write/make_check.sh: Makefile
- 	$(AM_V_GEN)echo '# Generated and used by "make check"' >$@
--	$(AM_V_at)echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
-+	$(AM_V_at)echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@
- 	$(AM_V_at)chmod +x $@
- 
--script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
-+script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null
- standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS))
- 
- # All other script files are generated like so:
-@@ -169,3 +188,18 @@ $(standard_scripts): Makefile
- CLEANFILES = \
-   dom_read_write/example_output.xml \
-   $(check_SCRIPTS)
-+
-+buildtest: all
-+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
-+	$(MAKE) $(AM_MAKEFLAGS) buildtest-TESTS
-+
-+install-ptest:
-+	$(MKDIR_P) $(DESTDIR)/examples
-+	cp --parents $(check_DOTLIBS) $(DESTDIR)/examples
-+	cp --parents $(check_SCRIPTS) $(DESTDIR)/examples
-+	cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
-+	cp Makefile $(DESTDIR)/examples
-+	$(MKDIR_P) $(DESTDIR)/macros
-+	cp $(top_srcdir)/build/test-driver $(DESTDIR)/macros
-+	sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
-+
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/run-ptest b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/run-ptest
deleted file mode 100644
index 236f667..0000000
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd examples
-make -k check-TESTS
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
deleted file mode 100644
index 7347e30..0000000
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "C++ wrapper for libxml library"
-DESCRIPTION = "C++ wrapper for libxml library"
-HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
-BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
-SECTION = "libs"
-LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz \
-    file://libxml++_ptest.patch \
-    file://run-ptest \
-"
-SRC_URI[sha256sum] = "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8"
-
-DEPENDS = "libxml2 glibmm mm-common-native"
-
-inherit autotools pkgconfig ptest
-
-EXTRA_OECONF = "--disable-documentation"
-
-do_configure:prepend() {
-    mm-common-prepare --copy --force ${S}
-}
-
-do_compile_ptest() {
-  oe_runmake -C examples buildtest
-}
-
-PTEST_PARALLEL_MAKE = ""
-
-FILES:${PN}-doc += "${datadir}/devhelp"
-FILES:${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
-
-RDEPENDS:${PN}-ptest += "make"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index bc15373..8a63f5b 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -184,7 +184,6 @@
     libnfc \
     libsigc++-2.0 \
     libsigc++-3 \
-    libxml++ \
     mdbus2 \
     distro-feed-configs \
     mm-common \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch
new file mode 100644
index 0000000..9ba3445
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch
@@ -0,0 +1,39 @@
+From ed549d43c8b691cd7891c7e5c76df189feb04b4f Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Sun, 7 Apr 2024 17:16:53 +0800
+Subject: [PATCH] Fix declaration scope of LE_LOAD32 in crc32c
+
+Fix build error when __SSE4_2__ is defined:
+util/crc32c.cc: In function 'void rocksdb::crc32c::DefaultCRC32(uint64_t*, const uint8_t**)':
+util/crc32c.cc:267:53: error: 'LE_LOAD32' was not declared in this scope
+  267 |   *l = _mm_crc32_u32(static_cast<unsigned int>(*l), LE_LOAD32(*p));
+      |                                                     ^~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/12515]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ util/crc32c.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/crc32c.cc b/util/crc32c.cc
+index 38a69bb50..aa13ad882 100644
+--- a/util/crc32c.cc
++++ b/util/crc32c.cc
+@@ -242,12 +242,12 @@ static const uint32_t table3_[256] = {
+     0xc747336e, 0x1a0299d6, 0x782010ef, 0xa565ba57, 0xbc65029d, 0x6120a825,
+     0x0302211c, 0xde478ba4, 0x31035088, 0xec46fa30, 0x8e647309, 0x5321d9b1,
+     0x4a21617b, 0x9764cbc3, 0xf54642fa, 0x2803e842};
++#endif  // !__SSE4_2__
+ 
+ // Used to fetch a naturally-aligned 32-bit word in little endian byte-order
+ static inline uint32_t LE_LOAD32(const uint8_t* p) {
+   return DecodeFixed32(reinterpret_cast<const char*>(p));
+ }
+-#endif  // !__SSE4_2__
+ 
+ static inline void DefaultCRC32(uint64_t* l, uint8_t const** p) {
+ #ifndef __SSE4_2__
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb
index 76d75f2..444351d 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb
@@ -16,6 +16,7 @@
            file://0004-Implement-support-for-musl-ppc64.patch \
            file://0005-Implement-timer-implementation-for-mips-platform.patch \
            file://0006-Implement-timer-for-arm-v6.patch \
+           file://0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch \
           "
 
 SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
@@ -44,6 +45,8 @@
     -DFAIL_ON_WARNINGS=OFF \
 "
 
+CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}"
+
 do_install:append() {
     # Fix for qa check buildpaths
     sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
index df499fb..7e0272f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
@@ -13,10 +13,10 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=ea061f8731d5e6a5761dfad951ef5f5f"
 
-SRC_URI = "git://github.com/jemalloc/jemalloc.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/jemalloc/jemalloc.git;branch=dev;protocol=https \
            file://run-ptest \
            "
-SRCREV = "54eaed1d8b56b1aa528be3bdd1877e59c56fa90c"
+SRCREV = "630434bb0ac619f7beec927569782d924c459385"
 
 S = "${WORKDIR}/git"
 
@@ -27,7 +27,7 @@
 EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_"
 # For some reason VERSION file populated only in tarball distribution.
 # Adding jemalloc version since this recipe is using source code from git tag
-EXTRA_OECONF:append = " --with-version=${PV}-0-g${SRCREV}"
+EXTRA_OECONF:append = " --with-version=${PV}-0-g${SRCREV} --enable-xmalloc"
 
 do_install:append() {
 	sed -i -e 's@${STAGING_DIR_HOST}@@g' \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
deleted file mode 100644
index f11cd08..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 9838be9c710ab4249df86726fa390232a3b6a6e7 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 1 Mar 2024 15:46:11 +0800
-Subject: [PATCH] deps: disable io_uring support in libuv
-
-Refer [1], Pseudo fails to intercept some of the syscalls when io_uring
-enabled. Refer [2], always disable io_uring support in libuv to fix
-issue in [1].
-
-[1] https://git.openembedded.org/meta-openembedded/commit/?id=d08453978c31ee41d28206c6ff198d7d9d701d88
-[2] https://github.com/nodejs/node/commit/686da19abb
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- deps/uv/src/unix/linux.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c
-index 0c997185..7508409d 100644
---- a/deps/uv/src/unix/linux.c
-+++ b/deps/uv/src/unix/linux.c
-@@ -433,7 +433,7 @@ static int uv__use_io_uring(void) {
-   if (use == 0) {
-     /* Disable io_uring by default due to CVE-2024-22017. */
-     val = getenv("UV_USE_IO_URING");
--    use = val != NULL && atoi(val) ? 1 : -1;
-+    use = 0;
-     atomic_store_explicit(&use_io_uring, use, memory_order_relaxed);
-   }
- 
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
index e2e2f5a..9a61cfc 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
@@ -24,7 +24,6 @@
            file://0004-v8-don-t-override-ARM-CFLAGS.patch \
            file://system-c-ares.patch \
            file://0001-liftoff-Correct-function-signatures.patch \
-           file://0001-deps-disable-io_uring-support-in-libuv.patch \
            file://run-ptest \
            "
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
index 335ab48..092d227 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
@@ -58,16 +58,18 @@
 		find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH}
 	done
 
-	# needed by some libop tests
-	cp -r events ${D}${PTEST_PATH}
-
+	install -d ${D}${PTEST_PATH}/../${BP}/events ${D}${PTEST_PATH}/../${BP}/libutil++/tests
 	# needed by libregex regex_test
 	cp libregex/stl.pat ${D}${PTEST_PATH}/libregex
 	cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests
 
 	# needed by litutil++ file_manip_tests
 	cp ${S}/libutil++/tests/file_manip_tests.cpp \
+		libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/../${BP}/libutil++/tests
+	cp ${S}/libutil++/tests/file_manip_tests.cpp \
 		libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests
+	# needed by some libop tests
+	cp -R --no-dereference --preserve=mode,links -v ${S}/events ${D}${PTEST_PATH}/../${BP}
 }
 
 RDEPENDS:${PN} = "binutils-symlinks"
@@ -75,3 +77,4 @@
 FILES:${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
 FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
 FILES:${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
+FILES:${PN}-ptest += "${libdir}/${BPN}/${BP}"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
index d0171f3..e70c8e3 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -1,6 +1,6 @@
 SUMMARY = "MPEG Audio Decoder library"
-HOMEPAGE = "http://sourceforge.net/projects/mad/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
+HOMEPAGE = "https://sourceforge.net/projects/mad/"
+BUGTRACKER = "https://sourceforge.net/tracker/?group_id=12349&atid=112349"
 LICENSE = "GPL-2.0-or-later"
 LICENSE_FLAGS = "commercial"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
@@ -9,7 +9,7 @@
 SECTION = "libs"
 DEPENDS = "libid3tag"
 
-SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libmad-${PV}.tar.gz \
+SRC_URI = "https://downloads.sourceforge.net/mad/libmad-${PV}.tar.gz \
     file://no-force-mem.patch \
     file://add-pkgconfig.patch \
     file://fix_for_mips_with_gcc-4.5.0.patch \
@@ -19,7 +19,6 @@
 "
 SRC_URI:append:toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
 
-SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c"
 SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
 
 S = "${WORKDIR}/libmad-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.12.bb b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.12.bb
index 9882ba6..947ef70 100644
--- a/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.12.bb
+++ b/meta-openembedded/meta-oe/recipes-shells/dash/dash_0.5.12.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
 SECTION = "System Environment/Shells"
 
-LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
 
 inherit autotools update-alternatives
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch
new file mode 100644
index 0000000..f407fa6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch
@@ -0,0 +1,88 @@
+From 6be1c45e1f7ee78499bdca76c25ec23a61317134 Mon Sep 17 00:00:00 2001
+From: Rui Costa <rui.ms.costa@ctw.bmwgroup.com>
+Date: Wed, 20 Mar 2024 14:58:27 +0000
+Subject: [PATCH 1/2] Remove cpp unittest compilation
+
+Upstream-Status: Inappropriate [oe-specific]
+---
+ lang/c++/CMakeLists.txt | 61 -----------------------------------------
+ 1 file changed, 61 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a3793152..d94ba42d3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -131,70 +131,9 @@ set_target_properties (avrocpp_s PROPERTIES
+ target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+ target_include_directories(avrocpp PRIVATE ${SNAPPY_INCLUDE_DIR})
+
+-add_executable (precompile test/precompile.cc)
+-
+-target_link_libraries (precompile avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+-
+-macro (gen file ns)
+-    add_custom_command (OUTPUT ${file}.hh
+-        COMMAND avrogencpp
+-            -p -
+-            -i ${CMAKE_CURRENT_SOURCE_DIR}/jsonschemas/${file}
+-            -o ${file}.hh -n ${ns} -U
+-        DEPENDS avrogencpp ${CMAKE_CURRENT_SOURCE_DIR}/jsonschemas/${file})
+-    add_custom_target (${file}_hh DEPENDS ${file}.hh)
+-endmacro (gen)
+-
+-gen (empty_record empty)
+-gen (bigrecord testgen)
+-gen (bigrecord_r testgen_r)
+-gen (bigrecord2 testgen2)
+-gen (tweet testgen3)
+-gen (union_array_union uau)
+-gen (union_map_union umu)
+-gen (union_conflict uc)
+-gen (recursive rec)
+-gen (reuse ru)
+-gen (circulardep cd)
+-gen (tree1 tr1)
+-gen (tree2 tr2)
+-gen (crossref cr)
+-gen (primitivetypes pt)
+-gen (cpp_reserved_words cppres)
+-
+ add_executable (avrogencpp impl/avrogencpp.cc)
+ target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+
+-enable_testing()
+-
+-macro (unittest name)
+-    add_executable (${name} test/${name}.cc)
+-    target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+-    add_test (NAME ${name} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name})
+-endmacro (unittest)
+-
+-unittest (buffertest)
+-unittest (unittest)
+-unittest (SchemaTests)
+-unittest (LargeSchemaTests)
+-unittest (CodecTests)
+-unittest (StreamTests)
+-unittest (SpecificTests)
+-unittest (DataFileTests)
+-unittest (JsonTests)
+-unittest (AvrogencppTests)
+-unittest (CompilerTests)
+-unittest (AvrogencppTestReservedWords)
+-
+-add_dependencies (AvrogencppTestReservedWords cpp_reserved_words_hh)
+-
+-add_dependencies (AvrogencppTests bigrecord_hh bigrecord_r_hh bigrecord2_hh
+-    tweet_hh
+-    union_array_union_hh union_map_union_hh union_conflict_hh
+-    recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh
+-    primitivetypes_hh empty_record_hh)
+-
+ include (InstallRequiredSystemLibraries)
+
+ set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}")
+--
+2.44.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch
new file mode 100644
index 0000000..ecb1251
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch
@@ -0,0 +1,79 @@
+From 56feaa90d070a5011f380d3ae47c01643b9fafe0 Mon Sep 17 00:00:00 2001
+From: Rui Costa <rui.ms.costa@ctw.bmwgroup.com>
+Date: Fri, 22 Mar 2024 13:27:38 +0000
+Subject: [PATCH 2/2] Add package configuration files
+
+Upstream-Status: Pending
+---
+ lang/c++/CMakeLists.txt            | 35 +++++++++++++++++++++++++++---
+ lang/c++/cmake/AvroCppConfig.cmake |  5 +++++
+ 2 files changed, 37 insertions(+), 3 deletions(-)
+ create mode 100644 lang/c++/cmake/AvroCppConfig.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d94ba42d3..2e5a394cb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -140,12 +140,16 @@ set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}")
+
+ include (CPack)
+
+-install (TARGETS avrocpp avrocpp_s
++install (TARGETS avrocpp
++    EXPORT AvroCppTargets
+     LIBRARY DESTINATION lib
+     ARCHIVE DESTINATION lib
+-    RUNTIME DESTINATION lib)
++    RUNTIME DESTINATION lib
++    INCLUDES DESTINATION include)
+
+-install (TARGETS avrogencpp RUNTIME DESTINATION bin)
++install (TARGETS avrogencpp
++    EXPORT AvroCppTargets
++    RUNTIME DESTINATION bin)
+
+ install (DIRECTORY api/ DESTINATION include/avro
+     FILES_MATCHING PATTERN *.hh)
+@@ -155,3 +159,28 @@ if (NOT CMAKE_BUILD_TYPE)
+       "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
+       FORCE)
+ endif (NOT CMAKE_BUILD_TYPE)
++
++# Create cmake config files
++include(CMakePackageConfigHelpers)
++write_basic_package_version_file(
++    "${CMAKE_CURRENT_BINARY_DIR}/AvroCppConfigVersion.cmake"
++    VERSION ${AVRO_VERSION_MAJOR}.${AVRO_VERSION_MINOR}.${AVRO_VERSION_PATCH}
++    COMPATIBILITY AnyNewerVersion
++)
++
++configure_file(cmake/AvroCppConfig.cmake
++    "${CMAKE_CURRENT_BINARY_DIR}/AvroCppConfig.cmake"
++    COPYONLY
++)
++
++set(ConfigPackageLocation lib/cmake/avrocpp)
++install(EXPORT AvroCppTargets
++    FILE AvroCppTargets.cmake
++    NAMESPACE AvroCpp::
++    DESTINATION ${ConfigPackageLocation}
++)
++install(FILES
++    "cmake/AvroCppConfig.cmake"
++    "${CMAKE_CURRENT_BINARY_DIR}/AvroCppConfigVersion.cmake"
++    DESTINATION ${ConfigPackageLocation}
++    COMPONENT Devel)
+diff --git a/cmake/AvroCppConfig.cmake b/cmake/AvroCppConfig.cmake
+new file mode 100644
+index 000000000..deb8aaa31
+--- /dev/null
++++ b/cmake/AvroCppConfig.cmake
+@@ -0,0 +1,5 @@
++include(CMakeFindDependencyMacro)
++find_dependency(Boost 1.38 REQUIRED
++    COMPONENTS filesystem iostreams program_options regex system)
++
++include("${CMAKE_CURRENT_LIST_DIR}/AvroCppTargets.cmake")
+--
+2.44.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch
new file mode 100644
index 0000000..449b0df
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch
@@ -0,0 +1,26 @@
+From 640c51c61536913b3d43714bebe228b32f043144 Mon Sep 17 00:00:00 2001
+From: Rui Costa <rui.ms.costa@ctw.bmwgroup.com>
+Date: Fri, 5 Apr 2024 11:33:51 +0000
+Subject: [PATCH 3/3] Update CXX standard to CXX14
+
+Upstream-Status: Inappropriate [oe-specific]
+---
+ lang/c++/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2e5a394cb..f29a532ef 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,7 +21,7 @@ cmake_minimum_required (VERSION 3.1)
+ set (CMAKE_LEGACY_CYGWIN_WIN32 0)
+
+ if (NOT DEFINED CMAKE_CXX_STANDARD)
+-    set(CMAKE_CXX_STANDARD 11)
++    set(CMAKE_CXX_STANDARD 14)
+ endif()
+
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+--
+2.44.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb
new file mode 100644
index 0000000..1e4787e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Apache Avro data serialization system."
+HOMEPAGE = "http://apr.apache.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=43abf34d8b9908494f83c55d213a7f89"
+
+DEPENDS = "boost zlib xz"
+
+BRANCH = "branch-1.11"
+SRCREV = "35ff8b997738e4d983871902d47bfb67b3250734"
+SRC_URI = "git://github.com/apache/avro;branch=${BRANCH};protocol=https \
+           file://0001-Remove-cpp-unittest-compilation.patch \
+           file://0002-Add-package-configuration-files.patch \
+           file://0003-Update-CXX-standard-to-CXX14.patch \
+          "
+
+S = "${WORKDIR}/git/lang/c++"
+
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice/0001-agent-meson-Replace-filename-with-basename.patch b/meta-openembedded/meta-oe/recipes-support/farsight/libnice/0001-agent-meson-Replace-filename-with-basename.patch
deleted file mode 100644
index 897de4a..0000000
--- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice/0001-agent-meson-Replace-filename-with-basename.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7c510cd20bb443064ab4a0d2c6d917e807b2671b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 22 May 2023 19:45:28 -0700
-Subject: [PATCH] agent/meson: Replace filename with basename
-
-This avoids emitting absolute paths into generated sourcecode, it
-improves reproducibility. See [1]
-
-[1] https://developer-old.gnome.org/gobject/stable/glib-mkenums.html
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/258]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- agent/meson.build | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/agent/meson.build b/agent/meson.build
-index 2e5b272..44fcd6b 100644
---- a/agent/meson.build
-+++ b/agent/meson.build
-@@ -29,14 +29,14 @@ gnome = import('gnome')
- 
- agent_enum_types_c =  gnome.mkenums('agent-enum-types.c', sources : agent_headers,
- 				    fhead: '#include <config.h>\n#include <glib-object.h>\n#include "agent.h"\n#include "pseudotcp.h"\n#include "agent-enum-types.h"',
--				    fprod: '\n/* enumerations from "@filename@" */',
-+				    fprod: '\n/* enumerations from "@basename@" */',
- 				    vhead: 'GType\n@enum_name@_get_type (void)\n{\n  static GType type = 0;\n  if (!type) {\n    static const G@Type@Value values[] = {',
- 				    vprod: '      { @VALUENAME@, "@VALUENAME@", "@valuenick@" },',
- 				    vtail: '      { 0, NULL, NULL }\n    };\n    type = g_@type@_register_static ("@EnumName@", values);\n  }\n  return type;\n}\n\n')
- 
- agent_enum_types_h = gnome.mkenums('agent-enum-types.h', sources : agent_headers,
- 				   fhead: '#ifndef __AGENT_ENUM_TYPES_H__\n#define __AGENT_ENUM_TYPES_H__ 1\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n',
--				   fprod: '/* enumerations from "@filename@" */\n',
-+				   fprod: '/* enumerations from "@basename@" */\n',
- 				   vhead: 'GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define NICE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n',
- 					  ftail: 'G_END_DECLS\n\n#endif /* !AGENT_ENUM_TYPES_H */')
- 
--- 
-2.40.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb b/meta-openembedded/meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb
new file mode 100644
index 0000000..08d3f4e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "FIDO 2.0 support library"
+DESCRIPTION = "libfido2 provides library functionality and command-line tools to \
+communicate with a FIDO device over USB, and to verify attestation and \
+assertion signatures."
+HOMEPAGE = "https://developers.yubico.com/libfido2"
+LICENSE = "BSD-2-Clause"
+SECTION = "libs/network"
+DEPENDS = "libcbor openssl zlib udev"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5f14cb32bdf2b87063e0a2d20c4178d0"
+
+SRC_URI = "https://developers.yubico.com/${BPN}/Releases/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "3601792e320032d428002c4cce8499a4c7b803319051a25a0c9f1f138ffee45a"
+
+inherit cmake pkgconfig manpages
+
+PACKAGECONFIG[manpages] = "-DBUILD_MANPAGES:BOOL=ON,-DBUILD_MANPAGES:BOOL=OFF"
+
+EXTRA_OECMAKE = "-DUDEV_RULES_DIR=${nonarch_base_libdir}/udev/rules.d -DBUILD_EXAMPLES:BOOL=OFF"
+
+PACKAGE_BEFORE_PN = "${PN}-tools"
+
+FILES:${PN}-tools = "${bindir}/fido2-*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb
index c62c9a3..4c13d67 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb
@@ -21,8 +21,7 @@
 FILES:${PN}-ptest-dev += "${includedir}/gpiosim.h"
 
 RDEPENDS:${PN}-ptest += " \
-    bash \
-    ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2', '', d)} \
+    ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2 bash', '', d)} \
 "
 RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim kernel-module-configfs"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb b/meta-openembedded/meta-oe/recipes-support/libnice/libnice_0.1.22.bb
similarity index 66%
rename from meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb
rename to meta-openembedded/meta-oe/recipes-support/libnice/libnice_0.1.22.bb
index 646dcb2..175e10f 100644
--- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libnice/libnice_0.1.22.bb
@@ -8,9 +8,8 @@
                     file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
 "
 
-SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz \
-           file://0001-agent-meson-Replace-filename-with-basename.patch"
-SRC_URI[sha256sum] = "72e73a2acf20f59093e21d5601606e405873503eb35f346fa621de23e99b3b39"
+SRC_URI = "http://nice.freedesktop.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "a5f724cf09eae50c41a7517141d89da4a61ec9eaca32da4a0073faed5417ad7e"
 
 DEPENDS = "glib-2.0 gnutls ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'graphviz-native', '', d)}"
 
@@ -27,18 +26,5 @@
 EXTRA_OEMESON = "-Dexamples=disabled -Dtests=disabled"
 
 FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
-FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/pkgconfig"
 FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
-
-do_configure:prepend() {
-    mkdir ${S}/m4 || true
-}
-
-do_compile:append() {
-    for i in $(find ${B} -name "*.pc") ; do
-        sed -i -e s:${STAGING_DIR_TARGET}::g \
-               -e s:/${TARGET_SYS}::g \
-                  $i
-    done
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
index 023cea9..6fe10ab 100644
--- a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.31.bb
@@ -35,7 +35,13 @@
 "
 
 RDEPENDS:${PN}-utils = "bash"
-RDEPENDS:${PN}-ptest = "python3-core"
+RDEPENDS:${PN}-ptest = "python3-core libteam-utils"
+# Ensure kernel has these mods enabled features/net/team/team.scc
+RRECOMMENDS:${PN} += "kernel-module-team kernel-module-team-mode-activebackup \
+                      kernel-module-team-mode-broadcast \
+                      kernel-module-team-mode-loadbalance \
+                      kernel-module-team-mode-random \
+                      kernel-module-team-mode-roundrobin"
 
 do_install_ptest() {
 	install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch
new file mode 100644
index 0000000..f21ad5d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch
@@ -0,0 +1,40 @@
+From 896d77dd949b52d6ea5798e5a038ba97d6b802be Mon Sep 17 00:00:00 2001
+From: Peter Marko <peter.marko@siemens.com>
+Date: Thu, 4 Apr 2024 15:44:18 +0200
+Subject: [PATCH] macros: guard ipv6 code with SYSLOG_NG_ENABLE_IPV6
+
+With ipv6 disabled, there are linking errors currently.
+This fixes it by not using the symbols when IPv6 is disabled.
+
+Solves #4810 with my config options
+https://github.com/openembedded/meta-openembedded/blob/2487e65ee3842b6ae0c7a2628985be6189ed9ebf/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
+
+Upstream-Status: Submitted [https://github.com/syslog-ng/syslog-ng/pull/4880]
+
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ lib/template/macros.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/template/macros.c b/lib/template/macros.c
+index 54142706c..fcb83637f 100644
+--- a/lib/template/macros.c
++++ b/lib/template/macros.c
+@@ -277,12 +277,14 @@ _get_originating_ip_protocol(const LogMessage *msg)
+     return 0;
+   if (g_sockaddr_inet_check(msg->saddr))
+     return 4;
++#if SYSLOG_NG_ENABLE_IPV6
+   if (g_sockaddr_inet6_check(msg->saddr))
+     {
+       if (g_sockaddr_inet6_is_v4_mapped(msg->saddr))
+         return 4;
+       return 6;
+     }
++#endif
+   return 0;
+ }
+ 
+-- 
+2.30.2
+
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
index 4cc5d84..4584944 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
@@ -23,6 +23,7 @@
            file://syslog-ng-tmp.conf \
            file://syslog-ng.service-the-syslog-ng-service.patch \
            file://0001-Fix-buildpaths-warning.patch \
+           file://0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch \
 "
 SRC_URI:append:powerpc64le = " file://0001-plugin.c-workaround-powerpc64le-segfaults-error.patch"
 
diff --git a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
index 2f7babe..6bd4815 100644
--- a/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
+++ b/meta-openembedded/meta-python/conf/include/ptest-packagelists-meta-python.inc
@@ -12,12 +12,15 @@
     python3-ansicolors \
     python3-asgiref \
     python3-aspectlib \
+    python3-bleak \
     python3-blinker \
     python3-cachetools \
     python3-cbor2 \
     python3-click \
     python3-dominate \
     python3-execnet \
+    python3-flexcache \
+    python3-flexparser \
     python3-freezegun \
     python3-geojson \
     python3-google-auth-oauthlib \
@@ -87,6 +90,7 @@
     python3-google-auth \
     python3-lz4 \
     python3-marshmallow \
+    python3-pillow \
     python3-pytest-localserver \
     python3-traitlets \
     python3-yappi \
@@ -96,7 +100,6 @@
     python3-betamax \
     python3-dnspython \
     python3-fastjsonschema \
-    python3-pillow \
     python3-pint \
     python3-pyzmq \
     python3-scrypt \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak_0.21.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak_0.21.1.bb
index 4a1fafb..96f3fcb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak_0.21.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bleak_0.21.1.bb
@@ -3,14 +3,31 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bcbc2069a86cba1b5e47253679f66ed7"
 
-SRC_URI[sha256sum] = "ec4a1a2772fb315b992cbaa1153070c7e26968a52b0e2727035f443a1af5c18f"
+SRCREV = "054b092e19c7a45d5ea07d8948022f54117fe5e8"
+PYPI_SRC_URI = "git://github.com/hbldh/bleak.git;protocol=https;branch=develop"
 
-PYPI_PACKAGE = "bleak"
+inherit pypi python_poetry_core ptest
 
-inherit pypi python_poetry_core
+S = "${WORKDIR}/git"
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+	python3-pytest \
+	python3-pytest-asyncio \
+	python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/tests
+	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
 
 RDEPENDS:${PN} += " \
-    python3-core (>3.7) \
-    python3-async-timeout \
-    python3-dbus-fast \
+	python3-core (>3.7) \
+	python3-async-timeout \
+	python3-dbus-fast \
+	python3-xml \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.0.bb
deleted file mode 100644
index 64948d2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "YouTube Chromecast API"
-HOMEPAGE = "https://github.com/ur1katz/casttube"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-
-SRC_URI[md5sum] = "4bb24ba1639d16c8fa367537bf3b88a6"
-SRC_URI[sha256sum] = "f25b3c634efe702896233690f7590e8d6311590910f18dbb763b90419d9ef53c"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} = "\
-    python3-requests \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.1.bb
new file mode 100644
index 0000000..af3daf0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-casttube_0.2.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "YouTube Chromecast API"
+HOMEPAGE = "https://github.com/ur1katz/casttube"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d3aafde5479a4102b867156e2527a34e"
+
+SRC_URI[sha256sum] = "54d2af8c7949aa9c5db87fb11ef0a478a5d3e7ac6d2d2ac8dd1711e3a516fc82"
+
+inherit pypi setuptools3
+
+FILES:${PN} += "\
+    /usr/LICENSE \
+"
+
+RDEPENDS:${PN} = "\
+    python3-requests \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb
index 0e6d62f..ca9a88c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_3.3.2.bb
@@ -13,3 +13,5 @@
 	python3-codecs \
 	python3-json \
 "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.18.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.19.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.18.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.19.0.bb
index 12dd51e..5b4f7eb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.18.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.19.0.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d"
 
 PYPI_PACKAGE = "ecdsa"
-SRC_URI[sha256sum] = "190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49"
+SRC_URI[sha256sum] = "60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"
 
 inherit pypi setuptools3 python3native
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flexcache/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexcache/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexcache/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb
new file mode 100644
index 0000000..1bee774
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexcache_0.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Saves and loads to the cache a transformed versions of a source object."
+HOMEPAGE = "https://github.com/hgrecco/flexcache"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=32f547dac365c355d2cdbcd7ebea9144"
+DEPENDS += "python3-setuptools-scm-native"
+SRC_URI[sha256sum] = "18743bd5a0621bfe2cf8d519e4c3bfdf57a269c15d1ced3fb4b64e0ff4600656"
+
+inherit pypi python_setuptools_build_meta ptest
+PYPI_PACKAGE = "flexcache"
+
+SRC_URI += " \
+        file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+        python3-pytest \
+        python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/testsuite
+        cp -rf ${S}/flexcache/testsuite/* ${D}${PTEST_PATH}/testsuite/
+}
+
+RDEPENDS:${PN} += " \
+	python3-compression \
+	python3-email \
+	python3-json \
+	python3-pickle \
+	python3-typing-extensions \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flexparser/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexparser/run-ptest
new file mode 100644
index 0000000..8d2017d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexparser/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest --automake
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flexparser_0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexparser_0.3.bb
new file mode 100644
index 0000000..e45175f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flexparser_0.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Parsing made fun ... using typing."
+HOMEPAGE = "https://github.com/hgrecco/flexparser"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=32f547dac365c355d2cdbcd7ebea9144"
+
+DEPENDS += "python3-setuptools-scm-native"
+SRC_URI[sha256sum] = "692e7524d9e14b2b1231b772b091d7d6296951deb383f5a67bfbd0ecb0b9fa9a"
+
+inherit pypi python_setuptools_build_meta ptest
+
+PYPI_PACKAGE = "flexparser"
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+	python3-pytest \
+	python3-unittest-automake-output \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/testsuite
+	cp -rf ${S}/flexparser/testsuite/* ${D}${PTEST_PATH}/testsuite/
+}
+
+RDEPENDS:${PN} += " \
+	python3-compression \
+	python3-email \
+	python3-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb
index 082e7c5..bedf0da 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netaddr_1.2.1.bb
@@ -20,3 +20,6 @@
     cp -rf ${S}/netaddr/tests/* ${D}${PTEST_PATH}/tests/
 }
 
+do_install_ptest:append:libc-musl () {
+    sed -i -e "/--automake/ s/$/ -k 'not test_strategy_ipv6'/" ${D}${PTEST_PATH}/run-ptest
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
deleted file mode 100644
index 005fea5..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 27bfa4028453dc79a72569823e97da8fd1994ffc Mon Sep 17 00:00:00 2001
-From: Leon Anavi <leon.anavi@konsulko.com>
-Date: Tue, 1 Sep 2020 11:53:53 +0000
-Subject: [PATCH] explicitly set compile options
-
-OE does not support to install egg package, so
-explicitly set build_ext options for oe-core's
-`setup.py install'
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
----
- setup.cfg | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/setup.cfg b/setup.cfg
-index 19979cf7..ed27dfe1 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -11,3 +11,15 @@ multi_line_output = 3
- [tool:pytest]
- addopts = -ra --color=yes
- testpaths = Tests
-+
-+[build_ext]
-+disable-platform-guessing = 1
-+enable-zlib = 1
-+enable-jpeg = 1
-+enable-tiff = 1
-+enable-freetype = 1
-+enable-lcms = 1
-+enable-jpeg2000 = 1
-+disable-webp = 1
-+disable-webpmux = 1
-+disable-imagequant = 1
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb
similarity index 68%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb
index e795bd4..debf488 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_10.3.0.bb
@@ -3,16 +3,28 @@
 Contributors."
 HOMEPAGE = "https://pillow.readthedocs.io"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b22dc6b663b9175820e5e03337c7596b"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c349a4b4b9ec2377a8fd6a7df87dbffe"
 
 SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https \
            file://0001-support-cross-compiling.patch \
-           file://0001-explicitly-set-compile-options.patch \
            file://run-ptest \
            "
-SRCREV ?= "da59ad000d1405eaecd557175e29083a87d19f7c"
+SRCREV = "5c89d88eee199ba53f64581ea39b6a1bc52feb1a"
 
-inherit setuptools3 ptest
+inherit python_setuptools_build_meta ptest
+
+PEP517_BUILD_OPTS += " \
+    -C platform-guessing=disable \
+    -C zlib=enable \
+    -C jpeg=enable \
+    -C tiff=enable \
+    -C freetype=enable \
+    -C lcms=enable \
+    -C jpeg2000=enable \
+    -C webp=disable \
+    -C webpmux=disable \
+    -C imagequant=disable \
+"
 
 DEPENDS += " \
     zlib \
@@ -53,8 +65,8 @@
 RPROVIDES:${PN} += "python3-imaging"
 
 do_install_ptest() {
-        install -d ${D}${PTEST_PATH}/Tests
-        cp -rf ${S}/Tests ${D}${PTEST_PATH}/
+    install -d ${D}${PTEST_PATH}/Tests
+    cp -rf ${S}/Tests ${D}${PTEST_PATH}/
 }
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.23.bb
index ad3e13e..370cd70 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.23.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pint_0.23.bb
@@ -8,9 +8,12 @@
 
 PYPI_PACKAGE := "Pint"
 
-inherit pypi ptest python_setuptools_build_meta
+inherit ptest python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4"
+SRCREV = "f2e4081aee38f850938048beac7fb69c4908bc5e"
+SRC_URI = "git://github.com/hgrecco/pint;protocol=https;branch=master"
+S = "${WORKDIR}/git"
+#SRC_URI[sha256sum] = "e1509b91606dbc52527c600a4ef74ffac12fff70688aff20e9072409346ec9b4"
 
 DEPENDS += "python3-setuptools-scm-native"
 
@@ -26,10 +29,13 @@
 "
 
 RDEPENDS:${PN}-ptest += " \
+	python3-appdirs \
+	python3-flexcache \
+	python3-flexparser \
 	python3-pytest \
 "
 
 do_install_ptest() {
 	install -d ${D}${PTEST_PATH}/testsuite
-	cp -rf ${S}/pint/testsuite/* ${D}${PTEST_PATH}/testsuite/
+	cp -rf ${S}/pint/* ${D}${PTEST_PATH}/
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast/0001-Allow-newer-version-of-wheel-and-setuptools.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast/0001-Allow-newer-version-of-wheel-and-setuptools.patch
new file mode 100644
index 0000000..8825615
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast/0001-Allow-newer-version-of-wheel-and-setuptools.patch
@@ -0,0 +1,22 @@
+From e82caffe51b37c211f7f0cd60002fbc6b4e48d03 Mon Sep 17 00:00:00 2001
+From: Tom Geelen <t.f.g.geelen@gmail.com>
+Date: Sun, 7 Apr 2024 22:39:35 +0000
+Subject: [PATCH] Allow newer version of wheel and setuptools
+
+Upstream-Status: Pending
+Signed-off-by: Tom Geelen <t.f.g.geelen@gmail.com>
+---
+ pyproject.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 0f19c71..d0ecf11 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools~=65.6", "wheel~=0.37.1"]
++requires = ["setuptools>=65.6", "wheel>=0.37.1"]
+ build-backend = "setuptools.build_meta"
+ 
+ [project]
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.1.0.bb
deleted file mode 100644
index 30add4d..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_13.1.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast."
-HOMEPAGE = "https://github.com/balloob/pychromecast"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
-
-SRC_URI[sha256sum] = "08e61a8b54bd2119d3c9ab1ec0136d3d8563aa97e0a3b57841588b9be60c2676"
-
-PYPI_PACKAGE = "PyChromecast"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
-    python3-logging \
-    python3-zeroconf \
-    python3-json \
-    python3-requests \
-    python3-protobuf \
-    python3-compression \
-    python3-casttube \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_14.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_14.0.0.bb
new file mode 100644
index 0000000..be5a3a9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_14.0.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast."
+HOMEPAGE = "https://github.com/balloob/pychromecast"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
+
+SRC_URI += "file://0001-Allow-newer-version-of-wheel-and-setuptools.patch"
+SRC_URI[sha256sum] = "dc4f8b052e760a978da9b2568b79020cb79af608a026465f07544cffe43973cf"
+
+PYPI_PACKAGE = "PyChromecast"
+
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN} += "\
+    python3-zeroconf (>=0.131.0) \
+    python3-protobuf (>=4.25.2) \
+    python3-casttube (>=0.2.1) \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb
index 2086091..934e3e2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic-core_2.16.3.bb
@@ -30,6 +30,8 @@
     python3-hypothesis \
     python3-pytest \
     python3-pytest-mock \
+    python3-pytest-timeout \
+    python3-pytest-benchmark \
     python3-unittest-automake-output \
 "
 
@@ -46,5 +48,5 @@
 
 do_install_ptest() {
     cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
-    rm -rf ${D}${PTEST_PATH}/tests/benchmarks
+    sed -i -e "/--automake/ s/$/ -k 'not test_model_class_root_validator_wrap and not test_model_class_root_validator_before and not test_model_class_root_validator_after'/" ${D}${PTEST_PATH}/run-ptest
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.6.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.6.4.bb
index ddc24d0..9c52564 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.6.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydantic_2.6.4.bb
@@ -49,5 +49,5 @@
     rm -f ${D}${PTEST_PATH}/tests/test_mypy.py
     # We are not trying to run benchmarks
     rm -rf ${D}${PTEST_PATH}/tests/benchmarks
+    sed -i -e "/--automake/ s/$/ -k 'not test_config_validation_error_cause and not test_dataclass_config_validate_default and not test_annotated_validator_nested and not test_use_bare and not test_use_no_fields and not test_validator_bad_fields_throws_configerror and not test_assert_raises_validation_error and not test_model_config_validate_default'/" ${D}${PTEST_PATH}/run-ptest
 }
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
index 7399ae1..5754fd2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
@@ -20,7 +20,7 @@
                   python3-io \
                   python3-logging"
 
-RDEPENDS:${PN}-ptests = "bash"
+RDEPENDS:${PN}-ptest += "bash"
 
 do_install_ptest() {
         install -d ${D}${PTEST_PATH}/tests
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
index 8d2017d..beefefa 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq/run-ptest
@@ -1,3 +1,4 @@
 #!/bin/sh
 
-pytest --automake
+pytest --automake \
+-k 'not test_callable_check and not test_on_recv_basic and not test_on_recv_wake and not test_on_recv_async and not test_on_recv_async_error and not test_curve'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
index ca602d2..540aa62 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_25.1.2.bb
@@ -28,6 +28,7 @@
 RDEPENDS:${PN} += "\
         python3-json \
         python3-multiprocessing \
+        python3-tornado \
 "
 
 RDEPENDS:${PN}-ptest += "\
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.25.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.27.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.25.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.27.bb
index 3501155..e5a8376 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.25.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.27.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c78b979ae6c20775a28a287d32092cbb"
 
-SRC_URI[sha256sum] = "a2c69a7664fb2d54b8682dd774c3b54f67f84fa123cf84dda2a5f40dcaa04e08"
+SRC_URI[sha256sum] = "86a6ed69a71fe6b88bf9331594fa390a2adda4a49b5c06f98e47bf0d392534f8"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/0001-Mark-non-determinstic-test_minimize_dfa-test-as-XFAI.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/0001-Mark-non-determinstic-test_minimize_dfa-test-as-XFAI.patch
new file mode 100644
index 0000000..91fea24
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh/0001-Mark-non-determinstic-test_minimize_dfa-test-as-XFAI.patch
@@ -0,0 +1,29 @@
+From ede95a4f4487b4fc3cad8452ae388376966fca0e Mon Sep 17 00:00:00 2001
+From: Chris Lamb <lamby@debian.org>
+Date: Fri, 5 Apr 2019 15:48:23 +0200
+Subject: [PATCH] Mark non-determinstic test_minimize_dfa test as XFAIL
+
+Sourced from Debian [1]
+[1] https://sources.debian.org/src/python-whoosh/2.7.4%2Bgit6-g9134ad92-8/debian/patches/0003-Mark-non-determinstic-test_minimize_dfa-test-as-XFAI.patch/
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test_automata.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/test_automata.py b/tests/test_automata.py
+index daab96c..7031dc3 100644
+--- a/tests/test_automata.py
++++ b/tests/test_automata.py
+@@ -327,6 +327,7 @@ def test_regular():
+     assert not ex.accept("bc")
+ 
+ 
++@pytest.mark.xfail(strict=False)
+ def test_minimize_dfa():
+     # Example from www.cs.odu.edu/~toida/nerzic/390teched/regular/fa/min-fa.html
+ 
+-- 
+2.44.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
index 38d3e1c..406de2e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-whoosh_2.7.4.bb
@@ -7,6 +7,8 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05303186defc6141143629961c7c8a60"
 
+SRC_URI += "file://0001-Mark-non-determinstic-test_minimize_dfa-test-as-XFAI.patch"
+
 SRC_URI[md5sum] = "893433e9c0525ac043df33e6e04caab2"
 SRC_URI[sha256sum] = "e0857375f63e9041e03fedd5b7541f97cf78917ac1b6b06c1fcc9b45375dda69"
 
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index f65c209..83ae90c 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -186,4 +186,5 @@
     --system --no-create-home \
     --home ${NGINX_WWWDIR} \
     --groups www-data \
+    --shell ${base_sbindir}/nologin \
     --user-group ${NGINX_USER}"
diff --git a/meta-raspberrypi/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb b/meta-raspberrypi/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb
index dd0bfa4..2e10253 100644
--- a/meta-raspberrypi/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb
+++ b/meta-raspberrypi/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb
@@ -8,8 +8,8 @@
     git://github.com/raspberrypi/rpi-eeprom.git;protocol=https;branch=master \
 "
 
-SRCREV = "759460850c2cb69e19567947a42fbed996e7bf61"
-PV = "v.2024.01.05-2712"
+SRCREV = "36e58db5c2a2656e553441f4f48f32227809105d"
+PV = "v.2024.02.16-2712"
 
 S = "${WORKDIR}/git"
 
@@ -34,22 +34,29 @@
     install -m 0755 ${S}/rpi-eeprom-digest ${D}${bindir}
 
     # copy firmware files
-    install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader/default
-    install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader/latest
+    install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
+    install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
+    install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
+    install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
 
-    install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader/default
-    install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader/latest
+    install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
+    install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
+    install -m 644 ${S}/firmware-2712/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
+    install -m 644 ${S}/firmware-2712/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
 
-    ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader/critical
-    ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader/stable
-    ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader/beta
+    ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/critical
+    ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/stable
+    ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/beta
+    ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/critical
+    ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/stable
+    ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/beta
 
     # copy default config
     install -d ${D}${sysconfdir}/default
     install -D ${S}/rpi-eeprom-update-default ${D}${sysconfdir}/default/rpi-eeprom-update
 }
 
-FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader/*"
+FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader-*"
 
 INHIBIT_PACKAGE_STRIP = "1"
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
@@ -59,4 +66,4 @@
 # need to disable arch check for it otherwise it cannot packed.
 QAPATHTEST[arch] = ""
 
-COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64"
+COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64|raspberrypi5"
diff --git a/meta-security/README.md b/meta-security/README.md
index 2d1996b..3e092a9 100644
--- a/meta-security/README.md
+++ b/meta-security/README.md
@@ -69,10 +69,10 @@
 Maintenance
 ======================================
 
-Send pull requests, patches, comments or questions to yocto@lists.yoctoproject.org
+Send pull requests, patches, comments or questions to yocto-patches@lists.yoctoproject.org  
 
 When sending single patches, please using something like:
-'git send-email -1 --to yocto@lists.yoctoproject.org --subject-prefix=meta-security][PATCH'
+'git send-email -1 --to yocto-patches@lists.yoctoproject.org --subject-prefix=meta-security][PATCH'
 
 These values can be set as defaults for this repository:
 
diff --git a/meta-security/meta-hardening/README.md b/meta-security/meta-hardening/README.md
index 191253c..cc39ca4 100644
--- a/meta-security/meta-hardening/README.md
+++ b/meta-security/meta-hardening/README.md
@@ -64,14 +64,14 @@
 Maintenance
 -----------
 
-Send pull requests, patches, comments or questions to yocto@lists.yoctoproject.org
+Send pull requests, patches, comments or questions to yocto-patches@lists.yoctoproject.org
 
 When sending single patches, please using something like:
-'git send-email -1 --to yocto@lists.yoctoproject.org --subject-prefix=meta-hardening][PATCH'
+'git send-email -1 --to yocto-patches@lists.yoctoproject.org --subject-prefix=meta-hardening][PATCH'
 
 These values can be set as defaults for this repository:
 
-$ git config sendemail.to yocto@lists.yoctoproject.org
+$ git config sendemail.to yocto-patches@lists.yoctoproject.org
 $ git config format.subjectPrefix meta-hardening][PATCH
 
 Now you can just do 'git send-email origin/master' to send all local patches.
diff --git a/meta-security/meta-integrity/README.md b/meta-security/meta-integrity/README.md
index 2f30e78..c333a9f 100644
--- a/meta-security/meta-integrity/README.md
+++ b/meta-security/meta-integrity/README.md
@@ -41,7 +41,7 @@
 =======
 
 For discussion or patch submission via email, use the
-yocto@yoctoproject.org mailing list. When submitting patches that way,
+yocto-patches@yoctoproject.org mailing list. When submitting patches that way,
 make sure to copy the maintainer and add a "[meta-integrity]"
 prefix to the subject of the mails.
 
diff --git a/meta-security/meta-parsec/README.md b/meta-security/meta-parsec/README.md
index 9b231f6..785c932 100644
--- a/meta-security/meta-parsec/README.md
+++ b/meta-security/meta-parsec/README.md
@@ -244,14 +244,14 @@
 Maintenance
 -----------
 
-Send pull requests, patches, comments or questions to yocto@yoctoproject.org
+Send pull requests, patches, comments or questions to yocto-patches@lists.yoctoproject.org
 
 When sending single patches, please using something like:
-'git send-email -1 --to yocto@lists.yoctoproject.org --subject-prefix=meta-parsec][PATCH'
+'git send-email -1 --to yocto-patches@lists.yoctoproject.org --subject-prefix=meta-parsec][PATCH'
 
 These values can be set as defaults for this repository:
 
-$ git config sendemail.to yocto@lists.yoctoproject.org
+$ git config sendemail.to yocto-patches@lists.yoctoproject.org
 $ git config format.subjectPrefix meta-parsec][PATCH
 
 Now you can just do 'git send-email origin/master' to send all local patches.
diff --git a/meta-security/meta-tpm/README.md b/meta-security/meta-tpm/README.md
index 5722a92..983c753 100644
--- a/meta-security/meta-tpm/README.md
+++ b/meta-security/meta-tpm/README.md
@@ -57,14 +57,14 @@
 Maintenance
 -----------
 
-Send pull requests, patches, comments or questions to yocto@lists.yoctoproject.org
+Send pull requests, patches, comments or questions to yocto-patches@lists.yoctoproject.org  
 
 When sending single patches, please using something like:
-'git send-email -1 --to yocto@lists.yoctoproject.org --subject-prefix=meta-security][PATCH'
+'git send-email -1 --to yocto-patches@lists.yoctoproject.org --subject-prefix=meta-security][PATCH'
 
 These values can be set as defaults for this repository:
 
-$ git config sendemail.to yocto@lists.yoctoproject.org
+$ git config sendemail.to yocto-patches@lists.yoctoproject.org
 $ git config format.subjectPrefix meta-security][PATCH
 
 Now you can just do 'git send-email origin/master' to send all local patches.
diff --git a/poky/bitbake/bin/bitbake-prserv b/poky/bitbake/bin/bitbake-prserv
index 5be42f3..ad0a069 100755
--- a/poky/bitbake/bin/bitbake-prserv
+++ b/poky/bitbake/bin/bitbake-prserv
@@ -7,49 +7,77 @@
 
 import os
 import sys,logging
-import optparse
+import argparse
 import warnings
 warnings.simplefilter("default")
 
-sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), "lib"))
 
 import prserv
 import prserv.serv
 
-__version__="1.0.0"
+VERSION = "1.1.0"
 
-PRHOST_DEFAULT='0.0.0.0'
+PRHOST_DEFAULT="0.0.0.0"
 PRPORT_DEFAULT=8585
 
 def main():
-    parser = optparse.OptionParser(
-        version="Bitbake PR Service Core version %s, %%prog version %s" % (prserv.__version__, __version__),
-        usage = "%prog < --start | --stop > [options]")
+    parser = argparse.ArgumentParser(
+        description="BitBake PR Server. Version=%s" % VERSION,
+        formatter_class=argparse.RawTextHelpFormatter)
 
-    parser.add_option("-f", "--file", help="database filename(default: prserv.sqlite3)", action="store",
-                      dest="dbfile", type="string", default="prserv.sqlite3")
-    parser.add_option("-l", "--log", help="log filename(default: prserv.log)", action="store",
-                      dest="logfile", type="string", default="prserv.log")
-    parser.add_option("--loglevel", help="logging level, i.e. CRITICAL, ERROR, WARNING, INFO, DEBUG",
-                      action = "store", type="string", dest="loglevel", default = "INFO")
-    parser.add_option("--start", help="start daemon",
-                      action="store_true", dest="start")
-    parser.add_option("--stop", help="stop daemon",
-                      action="store_true", dest="stop")
-    parser.add_option("--host", help="ip address to bind", action="store",
-                      dest="host", type="string", default=PRHOST_DEFAULT)
-    parser.add_option("--port", help="port number(default: 8585)", action="store",
-                      dest="port", type="int", default=PRPORT_DEFAULT)
-    parser.add_option("-r", "--read-only", help="open database in read-only mode",
-                      action="store_true")
+    parser.add_argument(
+        "-f",
+        "--file",
+        default="prserv.sqlite3",
+        help="database filename (default: prserv.sqlite3)",
+    )
+    parser.add_argument(
+        "-l",
+        "--log",
+        default="prserv.log",
+        help="log filename(default: prserv.log)",
+    )
+    parser.add_argument(
+        "--loglevel",
+        default="INFO",
+        help="logging level, i.e. CRITICAL, ERROR, WARNING, INFO, DEBUG",
+    )
+    parser.add_argument(
+        "--start",
+        action="store_true",
+        help="start daemon",
+    )
+    parser.add_argument(
+        "--stop",
+        action="store_true",
+        help="stop daemon",
+    )
+    parser.add_argument(
+        "--host",
+        help="ip address to bind",
+        default=PRHOST_DEFAULT,
+    )
+    parser.add_argument(
+        "--port",
+        type=int,
+        default=PRPORT_DEFAULT,
+        help="port number (default: 8585)",
+    )
+    parser.add_argument(
+        "-r",
+        "--read-only",
+        action="store_true",
+        help="open database in read-only mode",
+    )
 
-    options, args = parser.parse_args(sys.argv)
-    prserv.init_logger(os.path.abspath(options.logfile),options.loglevel)
+    args = parser.parse_args()
+    prserv.init_logger(os.path.abspath(args.log), args.loglevel)
 
-    if options.start:
-        ret=prserv.serv.start_daemon(options.dbfile, options.host, options.port,os.path.abspath(options.logfile), options.read_only)
-    elif options.stop:
-        ret=prserv.serv.stop_daemon(options.host, options.port)
+    if args.start:
+        ret=prserv.serv.start_daemon(args.file, args.host, args.port, os.path.abspath(args.log), args.read_only)
+    elif args.stop:
+        ret=prserv.serv.stop_daemon(args.host, args.port)
     else:
         ret=parser.print_help()
     return ret
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables-context.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables-context.rst
new file mode 100644
index 0000000..e9c454b
--- /dev/null
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables-context.rst
@@ -0,0 +1,91 @@
+.. SPDX-License-Identifier: CC-BY-2.5
+
+================
+Variable Context
+================
+
+|
+
+Variables might only have an impact or can be used in certain contexts. Some
+should only be used in global files like ``.conf``, while others are intended only
+for local files like ``.bb``. This chapter aims to describe some important variable
+contexts.
+
+.. _ref-varcontext-configuration:
+
+BitBake's own configuration
+===========================
+
+Variables starting with ``BB_`` usually configure the behaviour of BitBake itself.
+For example, one could configure:
+
+- System resources, like disk space to be used (:term:`BB_DISKMON_DIRS`),
+  or the number of tasks to be run in parallel by BitBake (:term:`BB_NUMBER_THREADS`).
+
+- How the fetchers shall behave, e.g., :term:`BB_FETCH_PREMIRRORONLY` is used
+  by BitBake to determine if BitBake's fetcher shall search only
+  :term:`PREMIRRORS` for files.
+
+Those variables are usually configured globally.
+
+BitBake configuration
+=====================
+
+There are variables:
+
+- Like :term:`B` or :term:`T`, that are used to specify directories used by
+  BitBake during the build of a particular recipe. Those variables are
+  specified in ``bitbake.conf``. Some, like :term:`B`, are quite often
+  overwritten in recipes.
+
+- Starting with ``FAKEROOT``, to configure how the ``fakeroot`` command is
+  handled. Those are usually set by ``bitbake.conf`` and might get adapted in a
+  ``bbclass``.
+
+- Detailing where BitBake will store and fetch information from, for
+  data reuse between build runs like :term:`CACHE`, :term:`DL_DIR` or
+  :term:`PERSISTENT_DIR`. Those are usually global.
+
+
+Layers and files
+================
+
+Variables starting with ``LAYER`` configure how BitBake handles layers.
+Additionally, variables starting with ``BB`` configure how layers and files are
+handled. For example:
+
+- :term:`LAYERDEPENDS` is used to configure on which layers a given layer
+  depends.
+
+- The configured layers are contained in :term:`BBLAYERS` and files in
+  :term:`BBFILES`.
+
+Those variables are often used in the files ``layer.conf`` and ``bblayers.conf``.
+
+Recipes and packages
+====================
+
+Variables handling recipes and packages can be split into:
+
+- :term:`PN`, :term:`PV` or :term:`PF` for example, contain information about
+  the name or revision of a recipe or package. Usually, the default set in
+  ``bitbake.conf`` is used, but those are from time to time overwritten in
+  recipes.
+
+- :term:`SUMMARY`, :term:`DESCRIPTION`, :term:`LICENSE` or :term:`HOMEPAGE`
+  contain the expected information and should be set specifically for every
+  recipe.
+
+- In recipes, variables are also used to control build and runtime
+  dependencies between recipes/packages with other recipes/packages. The
+  most common should be: :term:`PROVIDES`, :term:`RPROVIDES`, :term:`DEPENDS`,
+  and :term:`RDEPENDS`.
+
+- There are further variables starting with ``SRC`` that specify the sources in
+  a recipe like :term:`SRC_URI` or :term:`SRCDATE`. Those are also usually set
+  in recipes.
+
+- Which version or provider of a recipe should be given preference when
+  multiple recipes would provide the same item, is controlled by variables
+  starting with ``PREFERRED_``. Those are normally set in the configuration
+  files of a ``MACHINE`` or ``DISTRO``.
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index d393693..899e584 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -432,6 +432,15 @@
       ``ConfigParsed`` event can set the variable to trigger the re-parse.
       You must be careful to avoid recursive loops with this functionality.
 
+   :term:`BB_LOADFACTOR_MAX`
+      Setting this to a value will cause BitBake to check the system load
+      average before executing new tasks. If the load average is above the
+      the number of CPUs multipled by this factor, no new task will be started
+      unless there is no task executing. A value of "1.5" has been found to
+      work reasonably. This is helpful for systems which don't have pressure
+      regulation enabled, which is more granular. Pressure values take
+      precedence over loadfactor.
+
    :term:`BB_LOGCONFIG`
       Specifies the name of a config file that contains the user logging
       configuration. See
diff --git a/poky/bitbake/doc/index.rst b/poky/bitbake/doc/index.rst
index 3ff8b15..ee1660a 100644
--- a/poky/bitbake/doc/index.rst
+++ b/poky/bitbake/doc/index.rst
@@ -13,6 +13,7 @@
    bitbake-user-manual/bitbake-user-manual-intro
    bitbake-user-manual/bitbake-user-manual-execution
    bitbake-user-manual/bitbake-user-manual-metadata
+   bitbake-user-manual/bitbake-user-manual-ref-variables-context
    bitbake-user-manual/bitbake-user-manual-fetching
    bitbake-user-manual/bitbake-user-manual-ref-variables
    bitbake-user-manual/bitbake-user-manual-hello
diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py
index 29a5ab7..a350b4f 100644
--- a/poky/bitbake/lib/bb/asyncrpc/client.py
+++ b/poky/bitbake/lib/bb/asyncrpc/client.py
@@ -10,11 +10,34 @@
 import os
 import socket
 import sys
+import re
 import contextlib
 from threading import Thread
 from .connection import StreamConnection, WebsocketConnection, DEFAULT_MAX_CHUNK
 from .exceptions import ConnectionClosedError, InvokeError
 
+UNIX_PREFIX = "unix://"
+WS_PREFIX = "ws://"
+WSS_PREFIX = "wss://"
+
+ADDR_TYPE_UNIX = 0
+ADDR_TYPE_TCP = 1
+ADDR_TYPE_WS = 2
+
+def parse_address(addr):
+    if addr.startswith(UNIX_PREFIX):
+        return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
+    elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
+        return (ADDR_TYPE_WS, (addr,))
+    else:
+        m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
+        if m is not None:
+            host = m.group("host")
+            port = m.group("port")
+        else:
+            host, port = addr.split(":")
+
+        return (ADDR_TYPE_TCP, (host, int(port)))
 
 class AsyncClient(object):
     def __init__(
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index dc02580..fbfa693 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -87,7 +87,10 @@
         if not ud.localfile:
             ud.localfile = d.expand(urllib.parse.unquote(ud.host + ud.path).replace("/", "."))
 
-        self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30 --passive-ftp"
+        self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30"
+
+        if ud.type == 'ftp' or ud.type == 'ftps':
+            self.basecmd += " --passive-ftp"
 
         if not self.check_certs(d):
             self.basecmd += " --no-check-certificate"
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index cd1c998..c13e4b9 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -34,6 +34,7 @@
 __inpython__ = False
 __body__   = []
 __classname__ = ""
+__residue__ = []
 
 cached_statements = {}
 
@@ -80,7 +81,7 @@
             __inherit_cache = d.getVar('__inherit_cache', False) or []
 
 def get_statements(filename, absolute_filename, base_name):
-    global cached_statements
+    global cached_statements, __residue__, __body__
 
     try:
         return cached_statements[absolute_filename]
@@ -100,6 +101,11 @@
             # add a blank line to close out any python definition
             feeder(lineno, "", filename, base_name, statements, eof=True)
 
+        if __residue__:
+            raise ParseError("Unparsed lines %s: %s" % (filename, str(__residue__)), filename, lineno)
+        if __body__:
+            raise ParseError("Unparsed lines from unclosed function %s: %s" % (filename, str(__body__)), filename, lineno)
+
         if filename.endswith(".bbclass") or filename.endswith(".inc"):
             cached_statements[absolute_filename] = statements
         return statements
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 2a0ecf5..0421885 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -15,6 +15,7 @@
 import simplediff
 import json
 import types
+from contextlib import contextmanager
 import bb.compress.zstd
 from bb.checksum import FileChecksumCache
 from bb import runqueue
@@ -28,6 +29,14 @@
 # The minimum version of the find_siginfo function we need
 find_siginfo_minversion = 2
 
+HASHSERV_ENVVARS = [
+    "SSL_CERT_DIR",
+    "SSL_CERT_FILE",
+    "NO_PROXY",
+    "HTTPS_PROXY",
+    "HTTP_PROXY"
+]
+
 def check_siggen_version(siggen):
     if not hasattr(siggen, "find_siginfo_version"):
         bb.fatal("Siggen from metadata (OE-Core?) is too old, please update it (no version found)")
@@ -537,14 +546,23 @@
         self.unihash_exists_cache = set()
         self.username = None
         self.password = None
+        self.env = {}
+
+        origenv = data.getVar("BB_ORIGENV")
+        for e in HASHSERV_ENVVARS:
+            value = data.getVar(e)
+            if not value and origenv:
+                value = origenv.getVar(e)
+            if value:
+                self.env[e] = value
         super().__init__(data)
 
     def get_taskdata(self):
-        return (self.server, self.method, self.extramethod, self.max_parallel, self.username, self.password) + super().get_taskdata()
+        return (self.server, self.method, self.extramethod, self.max_parallel, self.username, self.password, self.env) + super().get_taskdata()
 
     def set_taskdata(self, data):
-        self.server, self.method, self.extramethod, self.max_parallel, self.username, self.password = data[:6]
-        super().set_taskdata(data[6:])
+        self.server, self.method, self.extramethod, self.max_parallel, self.username, self.password, self.env = data[:7]
+        super().set_taskdata(data[7:])
 
     def get_hashserv_creds(self):
         if self.username and self.password:
@@ -555,15 +573,30 @@
 
         return {}
 
-    def client(self):
-        if getattr(self, '_client', None) is None:
-            self._client = hashserv.create_client(self.server, **self.get_hashserv_creds())
-        return self._client
+    @contextmanager
+    def _client_env(self):
+        orig_env = os.environ.copy()
+        try:
+            for k, v in self.env.items():
+                os.environ[k] = v
 
+            yield
+        finally:
+            os.environ = orig_env
+
+    @contextmanager
+    def client(self):
+        with self._client_env():
+            if getattr(self, '_client', None) is None:
+                self._client = hashserv.create_client(self.server, **self.get_hashserv_creds())
+            yield self._client
+
+    @contextmanager
     def client_pool(self):
-        if getattr(self, '_client_pool', None) is None:
-            self._client_pool = hashserv.client.ClientPool(self.server, self.max_parallel, **self.get_hashserv_creds())
-        return self._client_pool
+        with self._client_env():
+            if getattr(self, '_client_pool', None) is None:
+                self._client_pool = hashserv.client.ClientPool(self.server, self.max_parallel, **self.get_hashserv_creds())
+            yield self._client_pool
 
     def reset(self, data):
         self.__close_clients()
@@ -574,12 +607,13 @@
         return super().exit()
 
     def __close_clients(self):
-        if getattr(self, '_client', None) is not None:
-            self._client.close()
-            self._client = None
-        if getattr(self, '_client_pool', None) is not None:
-            self._client_pool.close()
-            self._client_pool = None
+        with self._client_env():
+            if getattr(self, '_client', None) is not None:
+                self._client.close()
+                self._client = None
+            if getattr(self, '_client_pool', None) is not None:
+                self._client_pool.close()
+                self._client_pool = None
 
     def get_stampfile_hash(self, tid):
         if tid in self.taskhash:
@@ -650,11 +684,13 @@
 
         if self.max_parallel <= 1 or len(uncached_query) <= 1:
             # No parallelism required. Make the query serially with the single client
-            uncached_result = {
-                key: self.client().unihash_exists(value) for key, value in uncached_query.items()
-            }
+            with self.client() as client:
+                uncached_result = {
+                    key: client.unihash_exists(value) for key, value in uncached_query.items()
+                }
         else:
-            uncached_result = self.client_pool().unihashes_exist(uncached_query)
+            with self.client_pool() as client_pool:
+                uncached_result = client_pool.unihashes_exist(uncached_query)
 
         for key, exists in uncached_result.items():
             if exists:
@@ -687,10 +723,12 @@
 
         if self.max_parallel <= 1 or len(queries) <= 1:
             # No parallelism required. Make the query serially with the single client
-            for tid, args in queries.items():
-                query_result[tid] = self.client().get_unihash(*args)
+            with self.client() as client:
+                for tid, args in queries.items():
+                    query_result[tid] = client.get_unihash(*args)
         else:
-            query_result = self.client_pool().get_unihashes(queries)
+            with self.client_pool() as client_pool:
+                query_result = client_pool.get_unihashes(queries)
 
         for tid, unihash in query_result.items():
             # In the absence of being able to discover a unique hash from the
@@ -785,7 +823,9 @@
                 if tid in self.extramethod:
                     method = method + self.extramethod[tid]
 
-                data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
+                with self.client() as client:
+                    data = client.report_unihash(taskhash, method, outhash, unihash, extra_data)
+
                 new_unihash = data['unihash']
 
                 if new_unihash != unihash:
@@ -816,7 +856,9 @@
             if tid in self.extramethod:
                 method = method + self.extramethod[tid]
 
-            data = self.client().report_unihash_equiv(taskhash, method, wanted_unihash, extra_data)
+            with self.client() as client:
+                data = client.report_unihash_equiv(taskhash, method, wanted_unihash, extra_data)
+
             hashequiv_logger.verbose('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
 
             if data is None:
diff --git a/poky/bitbake/lib/hashserv/__init__.py b/poky/bitbake/lib/hashserv/__init__.py
index 552a332..74367eb 100644
--- a/poky/bitbake/lib/hashserv/__init__.py
+++ b/poky/bitbake/lib/hashserv/__init__.py
@@ -5,39 +5,14 @@
 
 import asyncio
 from contextlib import closing
-import re
 import itertools
 import json
 from collections import namedtuple
 from urllib.parse import urlparse
-
-UNIX_PREFIX = "unix://"
-WS_PREFIX = "ws://"
-WSS_PREFIX = "wss://"
-
-ADDR_TYPE_UNIX = 0
-ADDR_TYPE_TCP = 1
-ADDR_TYPE_WS = 2
+from bb.asyncrpc.client import parse_address, ADDR_TYPE_UNIX, ADDR_TYPE_WS
 
 User = namedtuple("User", ("username", "permissions"))
 
-
-def parse_address(addr):
-    if addr.startswith(UNIX_PREFIX):
-        return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],))
-    elif addr.startswith(WS_PREFIX) or addr.startswith(WSS_PREFIX):
-        return (ADDR_TYPE_WS, (addr,))
-    else:
-        m = re.match(r"\[(?P<host>[^\]]*)\]:(?P<port>\d+)$", addr)
-        if m is not None:
-            host = m.group("host")
-            port = m.group("port")
-        else:
-            host, port = addr.split(":")
-
-        return (ADDR_TYPE_TCP, (host, int(port)))
-
-
 def create_server(
     addr,
     dbname,
diff --git a/poky/bitbake/lib/prserv/__init__.py b/poky/bitbake/lib/prserv/__init__.py
index 38ced81..0e0aa34 100644
--- a/poky/bitbake/lib/prserv/__init__.py
+++ b/poky/bitbake/lib/prserv/__init__.py
@@ -7,13 +7,13 @@
 __version__ = "1.0.0"
 
 import os, time
-import sys,logging
+import sys, logging
 
 def init_logger(logfile, loglevel):
     numeric_level = getattr(logging, loglevel.upper(), None)
     if not isinstance(numeric_level, int):
-        raise ValueError('Invalid log level: %s' % loglevel)
-    FORMAT = '%(asctime)-15s %(message)s'
+        raise ValueError("Invalid log level: %s" % loglevel)
+    FORMAT = "%(asctime)-15s %(message)s"
     logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT)
 
 class NotFoundError(Exception):
diff --git a/poky/bitbake/lib/prserv/client.py b/poky/bitbake/lib/prserv/client.py
index 6b81356..8471ee3 100644
--- a/poky/bitbake/lib/prserv/client.py
+++ b/poky/bitbake/lib/prserv/client.py
@@ -11,40 +11,61 @@
 
 class PRAsyncClient(bb.asyncrpc.AsyncClient):
     def __init__(self):
-        super().__init__('PRSERVICE', '1.0', logger)
+        super().__init__("PRSERVICE", "1.0", logger)
 
     async def getPR(self, version, pkgarch, checksum):
         response = await self.invoke(
-            {'get-pr': {'version': version, 'pkgarch': pkgarch, 'checksum': checksum}}
+            {"get-pr": {"version": version, "pkgarch": pkgarch, "checksum": checksum}}
         )
         if response:
-            return response['value']
+            return response["value"]
+
+    async def test_pr(self, version, pkgarch, checksum):
+        response = await self.invoke(
+            {"test-pr": {"version": version, "pkgarch": pkgarch, "checksum": checksum}}
+        )
+        if response:
+            return response["value"]
+
+    async def test_package(self, version, pkgarch):
+        response = await self.invoke(
+            {"test-package": {"version": version, "pkgarch": pkgarch}}
+        )
+        if response:
+            return response["value"]
+
+    async def max_package_pr(self, version, pkgarch):
+        response = await self.invoke(
+            {"max-package-pr": {"version": version, "pkgarch": pkgarch}}
+        )
+        if response:
+            return response["value"]
 
     async def importone(self, version, pkgarch, checksum, value):
         response = await self.invoke(
-            {'import-one': {'version': version, 'pkgarch': pkgarch, 'checksum': checksum, 'value': value}}
+            {"import-one": {"version": version, "pkgarch": pkgarch, "checksum": checksum, "value": value}}
         )
         if response:
-            return response['value']
+            return response["value"]
 
     async def export(self, version, pkgarch, checksum, colinfo):
         response = await self.invoke(
-            {'export': {'version': version, 'pkgarch': pkgarch, 'checksum': checksum, 'colinfo': colinfo}}
+            {"export": {"version": version, "pkgarch": pkgarch, "checksum": checksum, "colinfo": colinfo}}
         )
         if response:
-            return (response['metainfo'], response['datainfo'])
+            return (response["metainfo"], response["datainfo"])
 
     async def is_readonly(self):
         response = await self.invoke(
-            {'is-readonly': {}}
+            {"is-readonly": {}}
         )
         if response:
-            return response['readonly']
+            return response["readonly"]
 
 class PRClient(bb.asyncrpc.Client):
     def __init__(self):
         super().__init__()
-        self._add_methods('getPR', 'importone', 'export', 'is_readonly')
+        self._add_methods("getPR", "test_pr", "test_package", "importone", "export", "is_readonly")
 
     def _get_async_client(self):
         return PRAsyncClient()
diff --git a/poky/bitbake/lib/prserv/db.py b/poky/bitbake/lib/prserv/db.py
index b4bda70..eb41508 100644
--- a/poky/bitbake/lib/prserv/db.py
+++ b/poky/bitbake/lib/prserv/db.py
@@ -38,9 +38,9 @@
         self.read_only = read_only
         self.dirty = False
         if nohist:
-            self.table = "%s_nohist" % table 
+            self.table = "%s_nohist" % table
         else:
-            self.table = "%s_hist" % table 
+            self.table = "%s_hist" % table
 
         if self.read_only:
             table_exists = self._execute(
@@ -64,7 +64,7 @@
             try:
                 return self.conn.execute(*query)
             except sqlite3.OperationalError as exc:
-                if 'is locked' in str(exc) and end > time.time():
+                if "is locked" in str(exc) and end > time.time():
                     continue
                 raise exc
 
@@ -78,7 +78,53 @@
             self.sync()
             self.dirty = False
 
-    def _getValueHist(self, version, pkgarch, checksum):
+    def test_package(self, version, pkgarch):
+        """Returns whether the specified package version is found in the database for the specified architecture"""
+
+        # Just returns the value if found or None otherwise
+        data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=?;" % self.table,
+                           (version, pkgarch))
+        row=data.fetchone()
+        if row is not None:
+            return True
+        else:
+            return False
+
+    def test_value(self, version, pkgarch, value):
+        """Returns whether the specified value is found in the database for the specified package and architecture"""
+
+        # Just returns the value if found or None otherwise
+        data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? and value=?;" % self.table,
+                           (version, pkgarch, value))
+        row=data.fetchone()
+        if row is not None:
+            return True
+        else:
+            return False
+
+    def find_value(self, version, pkgarch, checksum):
+        """Returns the value for the specified checksum if found or None otherwise."""
+
+        data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
+                           (version, pkgarch, checksum))
+        row=data.fetchone()
+        if row is not None:
+            return row[0]
+        else:
+            return None
+
+    def find_max_value(self, version, pkgarch):
+        """Returns the greatest value for (version, pkgarch), or None if not found. Doesn't create a new value"""
+
+        data = self._execute("SELECT max(value) FROM %s where version=? AND pkgarch=?;" % (self.table),
+                             (version, pkgarch))
+        row = data.fetchone()
+        if row is not None:
+            return row[0]
+        else:
+            return None
+
+    def _get_value_hist(self, version, pkgarch, checksum):
         data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                            (version, pkgarch, checksum))
         row=data.fetchone()
@@ -87,7 +133,7 @@
         else:
             #no value found, try to insert
             if self.read_only:
-                data = self._execute("SELECT ifnull(max(value)+1,0) FROM %s where version=? AND pkgarch=?;" % (self.table),
+                data = self._execute("SELECT ifnull(max(value)+1, 0) FROM %s where version=? AND pkgarch=?;" % (self.table),
                                    (version, pkgarch))
                 row = data.fetchone()
                 if row is not None:
@@ -96,9 +142,9 @@
                     return 0
 
             try:
-                self._execute("INSERT INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
-                           % (self.table,self.table),
-                           (version,pkgarch, checksum,version, pkgarch))
+                self._execute("INSERT INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1, 0) from %s where version=? AND pkgarch=?));"
+                           % (self.table, self.table),
+                           (version, pkgarch, checksum, version, pkgarch))
             except sqlite3.IntegrityError as exc:
                 logger.error(str(exc))
 
@@ -112,10 +158,10 @@
             else:
                 raise prserv.NotFoundError
 
-    def _getValueNohist(self, version, pkgarch, checksum):
+    def _get_value_no_hist(self, version, pkgarch, checksum):
         data=self._execute("SELECT value FROM %s \
                             WHERE version=? AND pkgarch=? AND checksum=? AND \
-                            value >= (select max(value) from %s where version=? AND pkgarch=?);" 
+                            value >= (select max(value) from %s where version=? AND pkgarch=?);"
                             % (self.table, self.table),
                             (version, pkgarch, checksum, version, pkgarch))
         row=data.fetchone()
@@ -124,17 +170,13 @@
         else:
             #no value found, try to insert
             if self.read_only:
-                data = self._execute("SELECT ifnull(max(value)+1,0) FROM %s where version=? AND pkgarch=?;" % (self.table),
+                data = self._execute("SELECT ifnull(max(value)+1, 0) FROM %s where version=? AND pkgarch=?;" % (self.table),
                                    (version, pkgarch))
-                row = data.fetchone()
-                if row is not None:
-                    return row[0]
-                else:
-                    return 0
+                return data.fetchone()[0]
 
             try:
-                self._execute("INSERT OR REPLACE INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
-                               % (self.table,self.table),
+                self._execute("INSERT OR REPLACE INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1, 0) from %s where version=? AND pkgarch=?));"
+                               % (self.table, self.table),
                                (version, pkgarch, checksum, version, pkgarch))
             except sqlite3.IntegrityError as exc:
                 logger.error(str(exc))
@@ -150,17 +192,17 @@
             else:
                 raise prserv.NotFoundError
 
-    def getValue(self, version, pkgarch, checksum):
+    def get_value(self, version, pkgarch, checksum):
         if self.nohist:
-            return self._getValueNohist(version, pkgarch, checksum)
+            return self._get_value_no_hist(version, pkgarch, checksum)
         else:
-            return self._getValueHist(version, pkgarch, checksum)
+            return self._get_value_hist(version, pkgarch, checksum)
 
-    def _importHist(self, version, pkgarch, checksum, value):
+    def _import_hist(self, version, pkgarch, checksum, value):
         if self.read_only:
             return None
 
-        val = None 
+        val = None
         data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                            (version, pkgarch, checksum))
         row = data.fetchone()
@@ -183,27 +225,27 @@
                 val = row[0]
         return val
 
-    def _importNohist(self, version, pkgarch, checksum, value):
+    def _import_no_hist(self, version, pkgarch, checksum, value):
         if self.read_only:
             return None
 
         try:
             #try to insert
             self._execute("INSERT INTO %s VALUES (?, ?, ?, ?);"  % (self.table),
-                           (version, pkgarch, checksum,value))
+                           (version, pkgarch, checksum, value))
         except sqlite3.IntegrityError as exc:
             #already have the record, try to update
             try:
-                self._execute("UPDATE %s SET value=? WHERE version=? AND pkgarch=? AND checksum=? AND value<?"  
+                self._execute("UPDATE %s SET value=? WHERE version=? AND pkgarch=? AND checksum=? AND value<?"
                               % (self.table),
-                               (value,version,pkgarch,checksum,value))
+                               (value, version, pkgarch, checksum, value))
             except sqlite3.IntegrityError as exc:
                 logger.error(str(exc))
 
         self.dirty = True
 
         data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table,
-                            (version,pkgarch,checksum,value))
+                            (version, pkgarch, checksum, value))
         row=data.fetchone()
         if row is not None:
             return row[0]
@@ -212,33 +254,33 @@
 
     def importone(self, version, pkgarch, checksum, value):
         if self.nohist:
-            return self._importNohist(version, pkgarch, checksum, value)
+            return self._import_no_hist(version, pkgarch, checksum, value)
         else:
-            return self._importHist(version, pkgarch, checksum, value)
+            return self._import_hist(version, pkgarch, checksum, value)
 
     def export(self, version, pkgarch, checksum, colinfo):
         metainfo = {}
-        #column info 
+        #column info
         if colinfo:
-            metainfo['tbl_name'] = self.table
-            metainfo['core_ver'] = prserv.__version__
-            metainfo['col_info'] = []
+            metainfo["tbl_name"] = self.table
+            metainfo["core_ver"] = prserv.__version__
+            metainfo["col_info"] = []
             data = self._execute("PRAGMA table_info(%s);" % self.table)
             for row in data:
                 col = {}
-                col['name'] = row['name']
-                col['type'] = row['type']
-                col['notnull'] = row['notnull']
-                col['dflt_value'] = row['dflt_value']
-                col['pk'] = row['pk']
-                metainfo['col_info'].append(col)
+                col["name"] = row["name"]
+                col["type"] = row["type"]
+                col["notnull"] = row["notnull"]
+                col["dflt_value"] = row["dflt_value"]
+                col["pk"] = row["pk"]
+                metainfo["col_info"].append(col)
 
         #data info
         datainfo = []
 
         if self.nohist:
             sqlstmt = "SELECT T1.version, T1.pkgarch, T1.checksum, T1.value FROM %s as T1, \
-                    (SELECT version,pkgarch,max(value) as maxvalue FROM %s GROUP BY version,pkgarch) as T2 \
+                    (SELECT version, pkgarch, max(value) as maxvalue FROM %s GROUP BY version, pkgarch) as T2 \
                     WHERE T1.version=T2.version AND T1.pkgarch=T2.pkgarch AND T1.value=T2.maxvalue " % (self.table, self.table)
         else:
             sqlstmt = "SELECT * FROM %s as T1 WHERE 1=1 " % self.table
@@ -261,12 +303,12 @@
         else:
             data = self._execute(sqlstmt)
         for row in data:
-            if row['version']:
+            if row["version"]:
                 col = {}
-                col['version'] = row['version']
-                col['pkgarch'] = row['pkgarch']
-                col['checksum'] = row['checksum']
-                col['value'] = row['value']
+                col["version"] = row["version"]
+                col["pkgarch"] = row["pkgarch"]
+                col["checksum"] = row["checksum"]
+                col["value"] = row["value"]
                 datainfo.append(col)
         return (metainfo, datainfo)
 
@@ -275,7 +317,7 @@
         for line in self.conn.iterdump():
             writeCount = writeCount + len(line) + 1
             fd.write(line)
-            fd.write('\n')
+            fd.write("\n")
         return writeCount
 
 class PRData(object):
@@ -302,7 +344,7 @@
     def disconnect(self):
         self.connection.close()
 
-    def __getitem__(self,tblname):
+    def __getitem__(self, tblname):
         if not isinstance(tblname, str):
             raise TypeError("tblname argument must be a string, not '%s'" %
                             type(tblname))
@@ -316,4 +358,4 @@
         if tblname in self._tables:
             del self._tables[tblname]
         logger.info("drop table %s" % (tblname))
-        self.connection.execute("DROP TABLE IF EXISTS %s;" % tblname) 
+        self.connection.execute("DROP TABLE IF EXISTS %s;" % tblname)
diff --git a/poky/bitbake/lib/prserv/serv.py b/poky/bitbake/lib/prserv/serv.py
index 5fc8863..dc4be5b 100644
--- a/poky/bitbake/lib/prserv/serv.py
+++ b/poky/bitbake/lib/prserv/serv.py
@@ -20,16 +20,19 @@
 singleton = None
 
 class PRServerClient(bb.asyncrpc.AsyncServerConnection):
-    def __init__(self, socket, table, read_only):
-        super().__init__(socket, 'PRSERVICE', logger)
+    def __init__(self, socket, server):
+        super().__init__(socket, "PRSERVICE", server.logger)
+        self.server = server
+
         self.handlers.update({
-            'get-pr': self.handle_get_pr,
-            'import-one': self.handle_import_one,
-            'export': self.handle_export,
-            'is-readonly': self.handle_is_readonly,
+            "get-pr": self.handle_get_pr,
+            "test-pr": self.handle_test_pr,
+            "test-package": self.handle_test_package,
+            "max-package-pr": self.handle_max_package_pr,
+            "import-one": self.handle_import_one,
+            "export": self.handle_export,
+            "is-readonly": self.handle_is_readonly,
         })
-        self.table = table
-        self.read_only = read_only
 
     def validate_proto_version(self):
         return (self.proto_version == (1, 0))
@@ -38,57 +41,80 @@
         try:
             return await super().dispatch_message(msg)
         except:
-            self.table.sync()
+            self.server.table.sync()
             raise
         else:
-            self.table.sync_if_dirty()
+            self.server.table.sync_if_dirty()
+
+    async def handle_test_pr(self, request):
+        '''Finds the PR value corresponding to the request. If not found, returns None and doesn't insert a new value'''
+        version = request["version"]
+        pkgarch = request["pkgarch"]
+        checksum = request["checksum"]
+
+        value = self.server.table.find_value(version, pkgarch, checksum)
+        return {"value": value}
+
+    async def handle_test_package(self, request):
+        '''Tells whether there are entries for (version, pkgarch) in the db. Returns True or False'''
+        version = request["version"]
+        pkgarch = request["pkgarch"]
+
+        value = self.server.table.test_package(version, pkgarch)
+        return {"value": value}
+
+    async def handle_max_package_pr(self, request):
+        '''Finds the greatest PR value for (version, pkgarch) in the db. Returns None if no entry was found'''
+        version = request["version"]
+        pkgarch = request["pkgarch"]
+
+        value = self.server.table.find_max_value(version, pkgarch)
+        return {"value": value}
 
     async def handle_get_pr(self, request):
-        version = request['version']
-        pkgarch = request['pkgarch']
-        checksum = request['checksum']
+        version = request["version"]
+        pkgarch = request["pkgarch"]
+        checksum = request["checksum"]
 
         response = None
         try:
-            value = self.table.getValue(version, pkgarch, checksum)
-            response = {'value': value}
+            value = self.server.table.get_value(version, pkgarch, checksum)
+            response = {"value": value}
         except prserv.NotFoundError:
-            logger.error("can not find value for (%s, %s)",version, checksum)
-        except sqlite3.Error as exc:
-            logger.error(str(exc))
+            self.logger.error("failure storing value in database for (%s, %s)",version, checksum)
 
         return response
 
     async def handle_import_one(self, request):
         response = None
-        if not self.read_only:
-            version = request['version']
-            pkgarch = request['pkgarch']
-            checksum = request['checksum']
-            value = request['value']
+        if not self.server.read_only:
+            version = request["version"]
+            pkgarch = request["pkgarch"]
+            checksum = request["checksum"]
+            value = request["value"]
 
-            value = self.table.importone(version, pkgarch, checksum, value)
+            value = self.server.table.importone(version, pkgarch, checksum, value)
             if value is not None:
-                response = {'value': value}
+                response = {"value": value}
 
         return response
 
     async def handle_export(self, request):
-        version = request['version']
-        pkgarch = request['pkgarch']
-        checksum = request['checksum']
-        colinfo = request['colinfo']
+        version = request["version"]
+        pkgarch = request["pkgarch"]
+        checksum = request["checksum"]
+        colinfo = request["colinfo"]
 
         try:
-            (metainfo, datainfo) = self.table.export(version, pkgarch, checksum, colinfo)
+            (metainfo, datainfo) = self.server.table.export(version, pkgarch, checksum, colinfo)
         except sqlite3.Error as exc:
-            logger.error(str(exc))
+            self.logger.error(str(exc))
             metainfo = datainfo = None
 
-        return {'metainfo': metainfo, 'datainfo': datainfo}
+        return {"metainfo": metainfo, "datainfo": datainfo}
 
     async def handle_is_readonly(self, request):
-        return {'readonly': self.read_only}
+        return {"readonly": self.server.read_only}
 
 class PRServer(bb.asyncrpc.AsyncServer):
     def __init__(self, dbfile, read_only=False):
@@ -98,14 +124,14 @@
         self.read_only = read_only
 
     def accept_client(self, socket):
-        return PRServerClient(socket, self.table, self.read_only)
+        return PRServerClient(socket, self)
 
     def start(self):
         tasks = super().start()
         self.db = prserv.db.PRData(self.dbfile, read_only=self.read_only)
         self.table = self.db["PRMAIN"]
 
-        logger.info("Started PRServer with DBfile: %s, Address: %s, PID: %s" %
+        self.logger.info("Started PRServer with DBfile: %s, Address: %s, PID: %s" %
                      (self.dbfile, self.address, str(os.getpid())))
 
         return tasks
@@ -135,7 +161,7 @@
         if not self.prserv.address:
             raise PRServiceConfigError
         if not self.port:
-            self.port = int(self.prserv.address.rsplit(':', 1)[1])
+            self.port = int(self.prserv.address.rsplit(":", 1)[1])
 
 def run_as_daemon(func, pidfile, logfile):
     """
@@ -171,18 +197,18 @@
     # stdout/stderr or it could be 'real' unix fd forking where we need
     # to physically close the fds to prevent the program launching us from
     # potentially hanging on a pipe. Handle both cases.
-    si = open('/dev/null', 'r')
+    si = open("/dev/null", "r")
     try:
-        os.dup2(si.fileno(),sys.stdin.fileno())
+        os.dup2(si.fileno(), sys.stdin.fileno())
     except (AttributeError, io.UnsupportedOperation):
         sys.stdin = si
-    so = open(logfile, 'a+')
+    so = open(logfile, "a+")
     try:
-        os.dup2(so.fileno(),sys.stdout.fileno())
+        os.dup2(so.fileno(), sys.stdout.fileno())
     except (AttributeError, io.UnsupportedOperation):
         sys.stdout = so
     try:
-        os.dup2(so.fileno(),sys.stderr.fileno())
+        os.dup2(so.fileno(), sys.stderr.fileno())
     except (AttributeError, io.UnsupportedOperation):
         sys.stderr = so
 
@@ -200,7 +226,7 @@
 
     # write pidfile
     pid = str(os.getpid())
-    with open(pidfile, 'w') as pf:
+    with open(pidfile, "w") as pf:
         pf.write("%s\n" % pid)
 
     func()
@@ -245,15 +271,15 @@
         # so at least advise the user which ports the corresponding server is listening
         ports = []
         portstr = ""
-        for pf in glob.glob(PIDPREFIX % (ip,'*')):
+        for pf in glob.glob(PIDPREFIX % (ip, "*")):
             bn = os.path.basename(pf)
             root, _ = os.path.splitext(bn)
-            ports.append(root.split('_')[-1])
+            ports.append(root.split("_")[-1])
         if len(ports):
-            portstr = "Wrong port? Other ports listening at %s: %s" % (host, ' '.join(ports))
+            portstr = "Wrong port? Other ports listening at %s: %s" % (host, " ".join(ports))
 
         sys.stderr.write("pidfile %s does not exist. Daemon not running? %s\n"
-                         % (pidfile,portstr))
+                         % (pidfile, portstr))
         return 1
 
     try:
@@ -284,7 +310,7 @@
     return True
 
 def is_local_special(host, port):
-    if (host == 'localhost' or host == '127.0.0.1') and not port:
+    if (host == "localhost" or host == "127.0.0.1") and not port:
         return True
     else:
         return False
@@ -295,7 +321,7 @@
 def auto_start(d):
     global singleton
 
-    host_params = list(filter(None, (d.getVar('PRSERV_HOST') or '').split(':')))
+    host_params = list(filter(None, (d.getVar("PRSERV_HOST") or "").split(":")))
     if not host_params:
         # Shutdown any existing PR Server
         auto_shutdown()
@@ -304,7 +330,7 @@
     if len(host_params) != 2:
         # Shutdown any existing PR Server
         auto_shutdown()
-        logger.critical('\n'.join(['PRSERV_HOST: incorrect format',
+        logger.critical("\n".join(["PRSERV_HOST: incorrect format",
                 'Usage: PRSERV_HOST = "<hostname>:<port>"']))
         raise PRServiceConfigError
 
@@ -357,8 +383,8 @@
 
     global singleton
 
-    if host.strip().lower() == 'localhost' and not port:
-        host = 'localhost'
+    if host.strip().lower() == "localhost" and not port:
+        host = "localhost"
         port = singleton.port
 
     conn = client.PRClient()
diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile
index c930d2d..189bd1d 100644
--- a/poky/documentation/Makefile
+++ b/poky/documentation/Makefile
@@ -53,9 +53,8 @@
 	vale sync
 	vale $(VALEOPTS) $(VALEDOCS)
 
-stylecheck:
-	vale sync
-	vale $(VALEOPTS) $(VALEDOCS)
+sphinx-lint:
+	sphinx-lint $(SOURCEDIR)
 
 epub: $(PNGs)
 	$(SOURCEDIR)/set_versions.py
diff --git a/poky/documentation/README b/poky/documentation/README
index 8035418..b60472f 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -165,6 +165,20 @@
 
  $ make stylecheck
 
+Link checking the Yocto Project documentation
+=============================================
+
+To fix errors which are not reported by Sphinx itself,
+the project uses sphinx-lint (https://github.com/sphinx-contrib/sphinx-lint).
+
+To install sphinx-lint:
+
+ $ pip install sphinx-lint
+
+To run sphinx-lint:
+
+ $ make sphinx-lint
+
 Sphinx theme and CSS customization
 ==================================
 
diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py
index a64685e..35c5c14 100644
--- a/poky/documentation/conf.py
+++ b/poky/documentation/conf.py
@@ -159,8 +159,8 @@
 html_secnumber_suffix = " "
 
 latex_elements = {
-    'passoptionstopackages': '\PassOptionsToPackage{bookmarksdepth=5}{hyperref}',
-    'preamble': '\setcounter{tocdepth}{2}',
+    'passoptionstopackages': '\\PassOptionsToPackage{bookmarksdepth=5}{hyperref}',
+    'preamble': '\\setcounter{tocdepth}{2}',
 }
 
 # Make the EPUB builder prefer PNG to SVG because of issues rendering Inkscape SVG
diff --git a/poky/documentation/contributor-guide/submit-changes.rst b/poky/documentation/contributor-guide/submit-changes.rst
index dfeb030..47a416b 100644
--- a/poky/documentation/contributor-guide/submit-changes.rst
+++ b/poky/documentation/contributor-guide/submit-changes.rst
@@ -440,7 +440,7 @@
 
 For changes to other layers and tools hosted in the Yocto Project source
 repositories (i.e. :yocto_git:`git.yoctoproject.org <>`), use the
-:yocto_lists:`yocto </g/yocto/>` general mailing list.
+:yocto_lists:`yocto-patches </g/yocto-patches/>` general mailing list.
 
 For changes to other layers hosted in the OpenEmbedded source
 repositories (i.e. :oe_git:`git.openembedded.org <>`), use
diff --git a/poky/documentation/dev-manual/debugging.rst b/poky/documentation/dev-manual/debugging.rst
index e20637e..92458a0 100644
--- a/poky/documentation/dev-manual/debugging.rst
+++ b/poky/documentation/dev-manual/debugging.rst
@@ -270,13 +270,17 @@
       displays paths between graph nodes.
 
 You can use a different method to view dependency information by using
-the following command::
+either::
 
    $ bitbake -g -u taskexp recipename
 
-This command
-displays a GUI window from which you can view build-time and runtime
-dependencies for the recipes involved in building recipename.
+or::
+
+   $ bitbake -g -u taskexp_ncurses recipename
+
+The ``-u taskdep`` option GUI window from which you can view build-time and
+runtime dependencies for the recipes involved in building recipename. The
+``-u taskexp_ncurses`` option uses ncurses instead of GTK to render the UI.
 
 Viewing Task Variable Dependencies
 ==================================
diff --git a/poky/documentation/dev-manual/init-manager.rst b/poky/documentation/dev-manual/init-manager.rst
index 20d61ea..ddce82b 100644
--- a/poky/documentation/dev-manual/init-manager.rst
+++ b/poky/documentation/dev-manual/init-manager.rst
@@ -121,7 +121,7 @@
    :widths: 40 20 20 20
    :header-rows: 1
 
-   * - 
+   * -
      - BusyBox init
      - SysVinit
      - systemd
diff --git a/poky/documentation/dev-manual/layers.rst b/poky/documentation/dev-manual/layers.rst
index f7929e6..91889bd 100644
--- a/poky/documentation/dev-manual/layers.rst
+++ b/poky/documentation/dev-manual/layers.rst
@@ -501,12 +501,12 @@
    INHIBIT_DEFAULT_DEPS = "1"
 
    do_install() {
-	   # Install file only if it has contents
+           # Install file only if it has contents
            install -d ${D}${sysconfdir}/formfactor/
            install -m 0644 ${S}/config ${D}${sysconfdir}/formfactor/
-	   if [ -s "${S}/machconfig" ]; then
-	           install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/
-	   fi
+           if [ -s "${S}/machconfig" ]; then
+                   install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/
+           fi
    }
 
 In the main recipe, note the :term:`SRC_URI`
@@ -582,10 +582,10 @@
    ALLOW_EMPTY:${PN} = "1"
 
    do_install () {
-	if test -s ${WORKDIR}/xorg.conf; then
-		install -d ${D}/${sysconfdir}/X11
-		install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
-	fi
+        if test -s ${WORKDIR}/xorg.conf; then
+                install -d ${D}/${sysconfdir}/X11
+                install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
+        fi
    }
 
 Here is the append file, which is named ``xserver-xf86-config_%.bbappend``
@@ -732,7 +732,7 @@
 
 -  ``save-build-conf``: Saves the currently active build configuration
    (``conf/local.conf``, ``conf/bblayers.conf``) as a template into a layer.
-   This template can later be used for setting up builds via :term:``TEMPLATECONF``.
+   This template can later be used for setting up builds via :term:`TEMPLATECONF`.
    For information about saving and using configuration templates, see
    ":ref:`dev-manual/custom-template-configuration-directory:creating a custom template configuration directory`".
 
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index 8539bc0..386e5f5 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -619,7 +619,7 @@
 
 You will find there source archives of individual components (if you wish
 to use them individually), and of the corresponding Poky release bundling
-a selection of these components. 
+a selection of these components.
 
 .. note::
 
diff --git a/poky/documentation/dev-manual/wic.rst b/poky/documentation/dev-manual/wic.rst
index 05e9cb3..a3880f3 100644
--- a/poky/documentation/dev-manual/wic.rst
+++ b/poky/documentation/dev-manual/wic.rst
@@ -139,20 +139,20 @@
 command to return the available Wic images as follows::
 
    $ wic list images
-     genericx86                    		Create an EFI disk image for genericx86*
-     beaglebone-yocto              		Create SD card image for Beaglebone
-     qemuriscv                     		Create qcow2 image for RISC-V QEMU machines
-     mkefidisk                     		Create an EFI disk image
-     qemuloongarch                 		Create qcow2 image for LoongArch QEMU machines
-     directdisk-multi-rootfs       		Create multi rootfs image using rootfs plugin
-     directdisk                    		Create a 'pcbios' direct disk image
-     efi-bootdisk                  		
-     mkhybridiso                   		Create a hybrid ISO image
-     directdisk-gpt                		Create a 'pcbios' direct disk image
-     systemd-bootdisk              		Create an EFI disk image with systemd-boot
-     sdimage-bootpart              		Create SD card image with a boot partition
-     qemux86-directdisk            		Create a qemu machine 'pcbios' direct disk image
-     directdisk-bootloader-config  		Create a 'pcbios' direct disk image with custom bootloader config
+     genericx86                                 Create an EFI disk image for genericx86*
+     beaglebone-yocto                           Create SD card image for Beaglebone
+     qemuriscv                                  Create qcow2 image for RISC-V QEMU machines
+     mkefidisk                                  Create an EFI disk image
+     qemuloongarch                              Create qcow2 image for LoongArch QEMU machines
+     directdisk-multi-rootfs                    Create multi rootfs image using rootfs plugin
+     directdisk                                 Create a 'pcbios' direct disk image
+     efi-bootdisk
+     mkhybridiso                                Create a hybrid ISO image
+     directdisk-gpt                             Create a 'pcbios' direct disk image
+     systemd-bootdisk                           Create an EFI disk image with systemd-boot
+     sdimage-bootpart                           Create SD card image with a boot partition
+     qemux86-directdisk                         Create a qemu machine 'pcbios' direct disk image
+     directdisk-bootloader-config               Create a 'pcbios' direct disk image with custom bootloader config
 
 Once you know the list of available
 Wic images, you can use ``help`` with the command to get help on a
@@ -282,20 +282,20 @@
 Use the following command to list the available kickstart files::
 
    $ wic list images
-     genericx86                    		Create an EFI disk image for genericx86*
-     beaglebone-yocto              		Create SD card image for Beaglebone
-     qemuriscv                     		Create qcow2 image for RISC-V QEMU machines
-     mkefidisk                     		Create an EFI disk image
-     qemuloongarch                 		Create qcow2 image for LoongArch QEMU machines
-     directdisk-multi-rootfs       		Create multi rootfs image using rootfs plugin
-     directdisk                    		Create a 'pcbios' direct disk image
-     efi-bootdisk                  		
-     mkhybridiso                   		Create a hybrid ISO image
-     directdisk-gpt                		Create a 'pcbios' direct disk image
-     systemd-bootdisk              		Create an EFI disk image with systemd-boot
-     sdimage-bootpart              		Create SD card image with a boot partition
-     qemux86-directdisk            		Create a qemu machine 'pcbios' direct disk image
-     directdisk-bootloader-config  		Create a 'pcbios' direct disk image with custom bootloader config
+     genericx86                                 Create an EFI disk image for genericx86*
+     beaglebone-yocto                           Create SD card image for Beaglebone
+     qemuriscv                                  Create qcow2 image for RISC-V QEMU machines
+     mkefidisk                                  Create an EFI disk image
+     qemuloongarch                              Create qcow2 image for LoongArch QEMU machines
+     directdisk-multi-rootfs                    Create multi rootfs image using rootfs plugin
+     directdisk                                 Create a 'pcbios' direct disk image
+     efi-bootdisk
+     mkhybridiso                                Create a hybrid ISO image
+     directdisk-gpt                             Create a 'pcbios' direct disk image
+     systemd-bootdisk                           Create an EFI disk image with systemd-boot
+     sdimage-bootpart                           Create SD card image with a boot partition
+     qemux86-directdisk                         Create a qemu machine 'pcbios' direct disk image
+     directdisk-bootloader-config               Create a 'pcbios' direct disk image with custom bootloader config
 
 When you use an existing file, you
 do not have to use the ``.wks`` extension. Here is an example in Raw
diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst
index bcaaaee..4c46350 100644
--- a/poky/documentation/kernel-dev/advanced.rst
+++ b/poky/documentation/kernel-dev/advanced.rst
@@ -303,8 +303,8 @@
                         .
                         .
                         .
- 	        char *dump_write = NULL, *files_source = NULL;
- 	        int opt;
+                char *dump_write = NULL, *files_source = NULL;
+                int opt;
       --
       2.10.1
 
diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst
index 0cee503..fda4169 100644
--- a/poky/documentation/kernel-dev/common.rst
+++ b/poky/documentation/kernel-dev/common.rst
@@ -315,11 +315,7 @@
 
 #. *Create Structure*: Create the layer's structure::
 
-      $ mkdir meta-mylayer
-      $ mkdir meta-mylayer/conf
-      $ mkdir meta-mylayer/recipes-kernel
-      $ mkdir meta-mylayer/recipes-kernel/linux
-      $ mkdir meta-mylayer/recipes-kernel/linux/linux-yocto
+      $ mkdir -p meta-mylayer/conf meta-mylayer/recipes-kernel/linux/linux-yocto
 
    The ``conf`` directory holds your configuration files, while the
    ``recipes-kernel`` directory holds your append file and eventual
@@ -964,9 +960,7 @@
    additional structure to your layer using the following commands::
 
       $ cd ~/meta-mylayer
-      $ mkdir recipes-kernel
-      $ mkdir recipes-kernel/linux
-      $ mkdir recipes-kernel/linux/linux-yocto
+      $ mkdir -p recipes-kernel recipes-kernel/linux/linux-yocto
 
    Once you have created this
    hierarchy in your layer, you can move the patch file using the
@@ -1674,10 +1668,10 @@
    SRC := $(shell pwd)
 
    all:
-   	$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
+        $(MAKE) -C $(KERNEL_SRC) M=$(SRC)
 
    modules_install:
-   	$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
+        $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
    ...
 
 The important point to note here is the :term:`KERNEL_SRC` variable. The
diff --git a/poky/documentation/migration-guides/migration-4.0.rst b/poky/documentation/migration-guides/migration-4.0.rst
index b5bd57c..0e9e741 100644
--- a/poky/documentation/migration-guides/migration-4.0.rst
+++ b/poky/documentation/migration-guides/migration-4.0.rst
@@ -68,7 +68,7 @@
 looks like::
 
     poky/scripts/lib/devtool/upgrade.py needs further work at line 275 since it contains abort
-    
+
 Fetching changes
 ~~~~~~~~~~~~~~~~
 
@@ -111,7 +111,7 @@
   If they do not, by default a warning will be shown. A
   :oe_git:`convert-spdx-licenses.py </openembedded-core/tree/scripts/contrib/convert-spdx-licenses.py>`
   script can be used to update your recipes.
-  
+
 - :term:`INCOMPATIBLE_LICENSE` should now use `SPDX identifiers <https://spdx.org/licenses/>`__.
   Additionally, wildcarding is now limited to specifically supported values -
   see the :term:`INCOMPATIBLE_LICENSE` documentation for further information.
@@ -121,7 +121,7 @@
   which can cause signature issues for users. In addition the ``available_licenses()``
   function has been removed from the :ref:`ref-classes-license` class as
   it is no longer needed.
-  
+
 Removed recipes
 ~~~~~~~~~~~~~~~
 
@@ -136,11 +136,11 @@
 
 Python changes
 ~~~~~~~~~~~~~~
-     
+
 - ``distutils`` has been deprecated upstream in Python 3.10 and thus the ``distutils*``
   classes have been moved to ``meta-python``. Recipes that inherit the ``distutils*``
   classes should be updated to inherit ``setuptools*`` equivalents instead.
-  
+
 - The Python package build process is now based on `wheels <https://pythonwheels.com/>`__.
   The new Python packaging classes that should be used are
   :ref:`ref-classes-python_flit_core`, :ref:`ref-classes-python_setuptools_build_meta`
@@ -159,7 +159,7 @@
 Prelink has been dropped by ``glibc`` upstream in 2.36. It already caused issues with
 binary corruption, has a number of open bugs and is of questionable benefit
 without disabling load address randomization and PIE executables.
-    
+
 We disabled prelinking by default in the honister (3.4) release, but left it able
 to be enabled if desired. However, without glibc support it cannot be maintained
 any further, so all of the prelinking functionality has been removed in this release.
@@ -170,7 +170,7 @@
 Reproducible as standard
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-Reproducibility is now considered as standard functionality, thus the 
+Reproducibility is now considered as standard functionality, thus the
 ``reproducible`` class has been removed and its previous contents merged into the
 :ref:`ref-classes-base` class. If you have references in your configuration to
 ``reproducible`` in :term:`INHERIT`, :term:`USER_CLASSES` etc. then they should be
@@ -212,7 +212,7 @@
 
 Miscellaneous changes
 ~~~~~~~~~~~~~~~~~~~~~
-  
+
 - ``blacklist.bbclass`` is removed and the functionality moved to the
   :ref:`ref-classes-base` class with a more descriptive
   ``varflag`` variable named :term:`SKIP_RECIPE` which will use the `bb.parse.SkipRecipe()`
@@ -252,7 +252,7 @@
 - The ``cortexa72-crc`` and ``cortexa72-crc-crypto`` tunes have been removed since
   the crc extension is now enabled by default for cortexa72. Replace any references to
   these with ``cortexa72`` and ``cortexa72-crypto`` respectively.
-  
+
 - The Python development shell (previously known as ``devpyshell``) feature has been
   renamed to ``pydevshell``. To start it you should now run::
 
@@ -261,7 +261,7 @@
 - The ``packagegroups-core-full-cmdline-libs`` packagegroup is no longer produced, as
   libraries should normally be brought in via dependencies. If you have any references
   to this then remove them.
-  
+
 - The :term:`TOPDIR` variable and the current working directory are no longer modified
   when parsing recipes. Any code depending on the previous behaviour will no longer
   work - change any such code to explicitly use appropriate path variables instead.
diff --git a/poky/documentation/migration-guides/migration-4.2.rst b/poky/documentation/migration-guides/migration-4.2.rst
index 1db6fbc..f5f12c8 100644
--- a/poky/documentation/migration-guides/migration-4.2.rst
+++ b/poky/documentation/migration-guides/migration-4.2.rst
@@ -121,7 +121,7 @@
 The following variables have been removed:
 
 -  ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:`SERIAL_CONSOLES`.
--  ``PACKAGEBUILDPKGD``, a mostly internal variable in the ref:`ref-classes-package`
+-  ``PACKAGEBUILDPKGD``, a mostly internal variable in the :ref:`ref-classes-package`
    class was rarely used to customise packaging. If you were using this in your custom
    recipes or bbappends, you will need to switch to using :term:`PACKAGE_PREPROCESS_FUNCS`
    or :term:`PACKAGESPLITFUNCS` instead.
diff --git a/poky/documentation/migration-guides/migration-5.0.rst b/poky/documentation/migration-guides/migration-5.0.rst
index 32581d7..888a1c6 100644
--- a/poky/documentation/migration-guides/migration-5.0.rst
+++ b/poky/documentation/migration-guides/migration-5.0.rst
@@ -52,11 +52,21 @@
 Go language changes
 ~~~~~~~~~~~~~~~~~~~
 
+The ``linkmode`` flag was dropped from ``GO_LDFLAGS`` for ``nativesdk`` and
+``cross-canadian``. Also, dynamic linking was disabled for the whole set of
+(previously) supported architectures in the ``goarch`` class.
+
 .. _migration-5.0-systemd-changes:
 
 systemd changes
 ~~~~~~~~~~~~~~~
 
+Systemd's nss-resolve plugin is now supported and can be added via the
+``nss-resolve`` :term:`PACKAGECONFIG` option , which is from now on required
+(along with ``resolved``) by the ``systemd-resolved`` feature. Related to that
+(i.e., Systemd's network name resolution), an option to use ``stub-resolv.conf``
+was added as well.
+
 .. _migration-5.0-recipe-changes:
 
 Recipe changes
@@ -70,7 +80,7 @@
 Deprecated variables
 ~~~~~~~~~~~~~~~~~~~~
 
-The following variables have been deprecated:
+No variables have been deprecated in this release.
 
 .. _migration-5.0-removed-variables:
 
@@ -79,6 +89,14 @@
 
 The following variables have been removed:
 
+-  ``DEPLOY_DIR_TAR``.
+-  ``PYTHON_PN``: Python 2 has been removed, leaving Python 3 as the sole
+   major version. Therefore, an abstraction to differentiate both versions is
+   no longer needed.
+-  ``oldincludedir``.
+-  ``USE_L10N``: previously deprecated, and now removed.
+-  ``CVE_SOCKET_TIMEOUT``.
+
 .. _migration-5.0-removed-recipes:
 
 Removed recipes
@@ -86,20 +104,31 @@
 
 The following recipes have been removed in this release:
 
+-  ``libcroco``: deprecated and archived by the Gnome Project.
+-  ``linux-yocto``: version 6.1 (version 6.6 provided instead).
+-  ``zvariant``: fails to build with newer Rust.
+-  ``systemtap-uprobes``: obsolete.
+
 .. _migration-5.0-removed-classes:
 
 Removed classes
 ~~~~~~~~~~~~~~~
 
-The following classes have been removed in this release:
+No classes have been removed in this release.
 
 .. _migration-5.0-qemu-changes:
 
 QEMU changes
 ~~~~~~~~~~~~
 
+In ``tune-core2``, the cpu models ``n270`` and ``core2duo`` are no longer
+passed to QEMU, since its documentation recommends not using them with ``-cpu``
+option. Therefore, from now on, ``Nehalem`` model is used instead.
+
 .. _migration-5.0-misc-changes:
 
 Miscellaneous changes
 ~~~~~~~~~~~~~~~~~~~~~
 
+-  ``bitbake-whatchanged`` script was removed.
+-  ``ccache`` no longer supports FORTRAN.
diff --git a/poky/documentation/migration-guides/release-4.3.rst b/poky/documentation/migration-guides/release-4.3.rst
index fa5653c..1f07d22 100644
--- a/poky/documentation/migration-guides/release-4.3.rst
+++ b/poky/documentation/migration-guides/release-4.3.rst
@@ -10,3 +10,4 @@
    release-notes-4.3.1
    release-notes-4.3.2
    release-notes-4.3.3
+   release-notes-4.3.4
diff --git a/poky/documentation/migration-guides/release-notes-4.0.17.rst b/poky/documentation/migration-guides/release-notes-4.0.17.rst
index 1dfd10c..0724258 100644
--- a/poky/documentation/migration-guides/release-notes-4.0.17.rst
+++ b/poky/documentation/migration-guides/release-notes-4.0.17.rst
@@ -6,7 +6,7 @@
 Security Fixes in Yocto-4.0.17
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  bind: Fix :cve:`2023-4408`, :cve:`2023-50387`, :cve:`2023-50868`, :cve:`2023-5517` and :cve:`2023-5679`
+-  bind: Fix :cve:`2023-4408`, :cve:`2023-5517`, :cve:`2023-5679`, :cve:`2023-50868` and :cve:`2023-50387`
 -  binutils: Fix :cve:`2023-39129` and :cve:`2023-39130`
 -  curl: Fix :cve:`2023-46219`
 -  curl: Ignore :cve:`2023-42915`
@@ -18,13 +18,13 @@
 -  libgit2: Fix :cve:`2024-24575` and :cve:`2024-24577`
 -  libuv: fix :cve:`2024-24806`
 -  libxml2: Fix for :cve:`2024-25062`
--  linux-yocto/5.15: Fix :cve:`2022-36402`, :cve:`2022-40982`, :cve:`2022-47940`, :cve:`2023-1193`, :cve:`2023-1194`, :cve:`2023-20569`, :cve:`2023-20588`, :cve:`2023-25775`, :cve:`2023-31085`, :cve:`2023-32247`, :cve:`2023-32250`, :cve:`2023-32252`, :cve:`2023-32254`, :cve:`2023-32257`, :cve:`2023-32258`, :cve:`2023-34324`, :cve:`2023-35827`, :cve:`2023-3772`, :cve:`2023-38427`, :cve:`2023-38430`, :cve:`2023-38431`, :cve_mitre:`2023-3867`, :cve:`2023-39189`, :cve:`2023-39192`, :cve:`2023-39193`, :cve:`2023-39194`, :cve:`2023-39198`, :cve:`2023-40283`, :cve:`2023-4128`, :cve:`2023-4206`, :cve:`2023-4207`, :cve:`2023-4208`, :cve:`2023-4244`, :cve:`2023-4273`, :cve:`2023-42752`, :cve:`2023-42753`, :cve:`2023-42754`, :cve:`2023-42755`, :cve:`2023-4563`, :cve:`2023-4569`, :cve:`2023-45871`, :cve:`2023-4623`, :cve:`2023-46343`, :cve:`2023-46813`, :cve:`2023-46838`, :cve:`2023-46862`, :cve:`2023-4881`, :cve:`2023-4921`, :cve:`2023-51042`, :cve:`2023-5158`, :cve:`2023-51779`, :cve_mitre:`2023-52340`, :cve:`2023-52429`, :cve:`2023-52435`, :cve:`2023-52436`, :cve:`2023-52438`, :cve:`2023-52439`, :cve:`2023-52441`, :cve:`2023-52442`, :cve:`2023-52443`, :cve:`2023-52444`, :cve:`2023-52445`, :cve:`2023-52448`, :cve:`2023-52449`, :cve:`2023-52451`, :cve:`2023-52454`, :cve:`2023-52456`, :cve:`2023-52457`, :cve:`2023-52458`, :cve:`2023-52463`, :cve:`2023-52464`, :cve:`2023-5717`, :cve:`2023-6040`, :cve:`2023-6121`, :cve:`2023-6176`, :cve:`2023-6546`, :cve:`2023-6606`, :cve:`2023-6622`, :cve:`2023-6817`, :cve:`2023-6915`, :cve:`2023-6931`, :cve:`2023-6932`, :cve:`2024-0340`, :cve:`2024-0584`, :cve:`2024-0607`, :cve:`2024-0641`, :cve:`2024-0646`, :cve:`2024-1085`, :cve:`2024-1086`, :cve:`2024-1151`, :cve:`2024-22705`, :cve:`2024-23849`, :cve:`2024-23850`, :cve:`2024-23851`, :cve:`2024-24860`, :cve:`2024-26586`, :cve:`2024-26589`, :cve:`2024-26591`, :cve:`2024-26592`, :cve:`2024-26593`, :cve:`2024-26594`, :cve:`2024-26597` and :cve:`2024-26598`
--  linux-yocto/5.15: Ignore :cve:`2020-27418`, :cve:`2020-36766`, :cve:`2021-33630`, :cve:`2021-33631`, :cve:`2022-48619`, :cve:`2023-2430`, :cve:`2023-40791`, :cve:`2023-42756`, :cve:`2023-44466`, :cve:`2023-45862`, :cve:`2023-45863`, :cve:`2023-45898`, :cve:`2023-4610`, :cve:`2023-4732`, :cve:`2023-5090`, :cve:`2023-51043`, :cve:`2023-5178`, :cve:`2023-51780`, :cve:`2023-51781`, :cve:`2023-51782`, :cve:`2023-5197`, :cve:`2023-52433`, :cve:`2023-52440`, :cve:`2023-52446`, :cve:`2023-52450`, :cve:`2023-52453`, :cve:`2023-52455`, :cve:`2023-52459`, :cve:`2023-52460`, :cve:`2023-52461`, :cve:`2023-52462`, :cve:`2023-5345`, :cve:`2023-5633`, :cve:`2023-5972`, :cve:`2023-6111`, :cve:`2023-6200`, :cve:`2023-6531`, :cve:`2023-6679`, :cve:`2023-7192`, :cve:`2024-0193`, :cve:`2024-0443`, :cve:`2024-0562`, :cve:`2024-0582`, :cve:`2024-0639`, :cve:`2024-0775`, :cve:`2024-26581`, :cve:`2024-26582`, :cve:`2024-26590`, :cve:`2024-26596` and :cve:`2024-26599`
--  linux-yocto/5.10: Fix :cve:`2023-39198`, :cve:`2023-46838`, :cve:`2023-51779`, :cve:`2023-51780`, :cve:`2023-51781`, :cve:`2023-51782`, :cve_mitre:`2023-52340`, :cve:`2023-6040`, :cve:`2023-6121`, :cve:`2023-6606`, :cve:`2023-6817`, :cve:`2023-6915`, :cve:`2023-6931`, :cve:`2023-6932`, :cve:`2024-0584` and :cve:`2024-0646`
--  linux-yocto/5.10: Ignore :cve:`2021-33630`, :cve:`2021-33631`, :cve:`2022-1508`, :cve:`2022-36402`, :cve:`2022-48619`, :cve:`2023-2430`, :cve:`2023-4610`, :cve:`2023-46343`, :cve:`2023-51042`, :cve:`2023-51043`, :cve:`2023-5972`, :cve:`2023-6039`, :cve:`2023-6200`, :cve:`2023-6531`, :cve:`2023-6546`, :cve:`2023-6622`, :cve:`2023-6679`, :cve:`2023-7192`, :cve:`2024-0193`, :cve:`2024-0443`, :cve:`2024-0562`, :cve:`2024-0582`, :cve:`2024-0639`, :cve:`2024-0641`, :cve:`2024-0775`, :cve:`2024-1085` and :cve:`2024-22705`
+-  linux-yocto/5.15: Fix :cve:`2022-36402`, :cve:`2022-40982`, :cve:`2022-47940`, :cve:`2023-1193`, :cve:`2023-1194`, :cve:`2023-3772`, :cve_mitre:`2023-3867`, :cve:`2023-4128`, :cve:`2023-4206`, :cve:`2023-4207`, :cve:`2023-4208`, :cve:`2023-4244`, :cve:`2023-4273`, :cve:`2023-4563`, :cve:`2023-4569`, :cve:`2023-4623`, :cve:`2023-4881`, :cve:`2023-4921`, :cve:`2023-5158`, :cve:`2023-5717`, :cve:`2023-6040`, :cve:`2023-6121`, :cve:`2023-6176`, :cve:`2023-6546`, :cve:`2023-6606`, :cve:`2023-6622`, :cve:`2023-6817`, :cve:`2023-6915`, :cve:`2023-6931`, :cve:`2023-6932`, :cve:`2023-20569`, :cve:`2023-20588`, :cve:`2023-25775`, :cve:`2023-31085`, :cve:`2023-32247`, :cve:`2023-32250`, :cve:`2023-32252`, :cve:`2023-32254`, :cve:`2023-32257`, :cve:`2023-32258`, :cve:`2023-34324`, :cve:`2023-35827`, :cve:`2023-38427`, :cve:`2023-38430`, :cve:`2023-38431`, :cve:`2023-39189`, :cve:`2023-39192`, :cve:`2023-39193`, :cve:`2023-39194`, :cve:`2023-39198`, :cve:`2023-40283`, :cve:`2023-42752`, :cve:`2023-42753`, :cve:`2023-42754`, :cve:`2023-42755`, :cve:`2023-45871`, :cve:`2023-46343`, :cve:`2023-46813`, :cve:`2023-46838`, :cve:`2023-46862`, :cve:`2023-51042`, :cve:`2023-51779`, :cve_mitre:`2023-52340`, :cve:`2023-52429`, :cve:`2023-52435`, :cve:`2023-52436`, :cve:`2023-52438`, :cve:`2023-52439`, :cve:`2023-52441`, :cve:`2023-52442`, :cve:`2023-52443`, :cve:`2023-52444`, :cve:`2023-52445`, :cve:`2023-52448`, :cve:`2023-52449`, :cve:`2023-52451`, :cve:`2023-52454`, :cve:`2023-52456`, :cve:`2023-52457`, :cve:`2023-52458`, :cve:`2023-52463`, :cve:`2023-52464`, :cve:`2024-0340`, :cve:`2024-0584`, :cve:`2024-0607`, :cve:`2024-0641`, :cve:`2024-0646`, :cve:`2024-1085`, :cve:`2024-1086`, :cve:`2024-1151`, :cve:`2024-22705`, :cve:`2024-23849`, :cve:`2024-23850`, :cve:`2024-23851`, :cve:`2024-24860`, :cve:`2024-26586`, :cve:`2024-26589`, :cve:`2024-26591`, :cve:`2024-26592`, :cve:`2024-26593`, :cve:`2024-26594`, :cve:`2024-26597` and :cve:`2024-26598`
+-  linux-yocto/5.15: Ignore :cve:`2020-27418`, :cve:`2020-36766`, :cve:`2021-33630`, :cve:`2021-33631`, :cve:`2022-48619`, :cve:`2023-2430`, :cve:`2023-4610`, :cve:`2023-4732`, :cve:`2023-5090`, :cve:`2023-5178`, :cve:`2023-5197`, :cve:`2023-5345`, :cve:`2023-5633`, :cve:`2023-5972`, :cve:`2023-6111`, :cve:`2023-6200`, :cve:`2023-6531`, :cve:`2023-6679`, :cve:`2023-7192`, :cve:`2023-40791`, :cve:`2023-42756`, :cve:`2023-44466`, :cve:`2023-45862`, :cve:`2023-45863`, :cve:`2023-45898`, :cve:`2023-51043`, :cve:`2023-51780`, :cve:`2023-51781`, :cve:`2023-51782`, :cve:`2023-52433`, :cve:`2023-52440`, :cve:`2023-52446`, :cve:`2023-52450`, :cve:`2023-52453`, :cve:`2023-52455`, :cve:`2023-52459`, :cve:`2023-52460`, :cve:`2023-52461`, :cve:`2023-52462`, :cve:`2024-0193`, :cve:`2024-0443`, :cve:`2024-0562`, :cve:`2024-0582`, :cve:`2024-0639`, :cve:`2024-0775`, :cve:`2024-26581`, :cve:`2024-26582`, :cve:`2024-26590`, :cve:`2024-26596` and :cve:`2024-26599`
+-  linux-yocto/5.10: Fix :cve:`2023-6040`, :cve:`2023-6121`, :cve:`2023-6606`, :cve:`2023-6817`, :cve:`2023-6915`, :cve:`2023-6931`, :cve:`2023-6932`, :cve:`2023-39198`, :cve:`2023-46838`, :cve:`2023-51779`, :cve:`2023-51780`, :cve:`2023-51781`, :cve:`2023-51782`, :cve_mitre:`2023-52340`, :cve:`2024-0584` and :cve:`2024-0646`
+-  linux-yocto/5.10: Ignore :cve:`2021-33630`, :cve:`2021-33631`, :cve:`2022-1508`, :cve:`2022-36402`, :cve:`2022-48619`, :cve:`2023-2430`, :cve:`2023-4610`, :cve:`2023-5972`, :cve:`2023-6039`, :cve:`2023-6200`, :cve:`2023-6531`, :cve:`2023-6546`, :cve:`2023-6622`, :cve:`2023-6679`, :cve:`2023-7192`, :cve:`2023-46343`, :cve:`2023-51042`, :cve:`2023-51043`, :cve:`2024-0193`, :cve:`2024-0443`, :cve:`2024-0562`, :cve:`2024-0582`, :cve:`2024-0639`, :cve:`2024-0641`, :cve:`2024-0775`, :cve:`2024-1085` and :cve:`2024-22705`
 -  openssl: Fix :cve:`2024-0727`
 -  python3-pycryptodome: Fix :cve:`2023-52323`
--  qemu: Fix :cve:`2023-42467`, :cve:`2023-6693` and :cve:`2024-24474`
+-  qemu: Fix :cve:`2023-6693`, :cve:`2023-42467` and :cve:`2024-24474`
 -  vim: Fix :cve:`2024-22667`
 -  xwayland: Fix :cve:`2023-6377` and :cve:`2023-6478`
 
diff --git a/poky/documentation/migration-guides/release-notes-4.0.4.rst b/poky/documentation/migration-guides/release-notes-4.0.4.rst
index 611109a..1d6e525 100644
--- a/poky/documentation/migration-guides/release-notes-4.0.4.rst
+++ b/poky/documentation/migration-guides/release-notes-4.0.4.rst
@@ -247,7 +247,7 @@
 
 openembedded-core
 
--  Repository Location: oe_git:`/openembedded-core`
+-  Repository Location: :oe_git:`/openembedded-core`
 -  Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
 -  Tag:  :oe_git:`yocto-4.0.4 </openembedded-core/log/?h=yocto-4.0.4>`
 -  Git Revision: :oe_git:`f7766da462905ec67bf549d46b8017be36cd5b2a </openembedded-core/commit/?id=f7766da462905ec67bf549d46b8017be36cd5b2a>`
diff --git a/poky/documentation/migration-guides/release-notes-4.0.5.rst b/poky/documentation/migration-guides/release-notes-4.0.5.rst
index 172b8b8..cdfe85b 100644
--- a/poky/documentation/migration-guides/release-notes-4.0.5.rst
+++ b/poky/documentation/migration-guides/release-notes-4.0.5.rst
@@ -83,7 +83,7 @@
 Known Issues in Yocto-4.0.5
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-- There are recent CVEs in key components such as openssl. They are not included in this release as it was built before the issues were known and fixes were available but these are now available on the kirkstone branch. 
+- There are recent CVEs in key components such as openssl. They are not included in this release as it was built before the issues were known and fixes were available but these are now available on the kirkstone branch.
 
 
 Contributors to Yocto-4.0.5
diff --git a/poky/documentation/migration-guides/release-notes-4.0.rst b/poky/documentation/migration-guides/release-notes-4.0.rst
index 6eb5f80..a5d66c0 100644
--- a/poky/documentation/migration-guides/release-notes-4.0.rst
+++ b/poky/documentation/migration-guides/release-notes-4.0.rst
@@ -38,7 +38,7 @@
 
 - Inclusive language adjustments to some variable names - see the
   :ref:`4.0 migration guide <migration-4.0-inclusive-language>` for details.
-  
+
 - New recipes:
 
    - ``buildtools-docs-tarball``
@@ -114,7 +114,7 @@
 - BitBake enhancements:
 
    - Fetcher enhancements:
-   
+
       - New :ref:`bitbake-user-manual/bitbake-user-manual-fetching:crate fetcher (\`\`crate://\`\`)` for Rust packages
       - Added striplevel support to unpack
       - git: Add a warning asking users to set a branch in git urls
@@ -127,7 +127,7 @@
       - ssh: now supports checkstatus, allows : in URLs (both required for use with sstate) and no longer requires username
       - wget: add redirectauth parameter
       - wget: add 30s timeout for checkstatus calls
-   
+
    - Show warnings for append/prepend/remove operators combined with +=/.=
    - Add bb.warnonce() and bb.erroronce() log methods
    - Improved setscene task display
@@ -140,7 +140,7 @@
 -  Architecture-specific enhancements:
 
    - ARM:
-  
+
       - tune-cortexa72: Enable the crc extension by default for cortexa72
       - qemuarm64: Add tiny ktype to qemuarm64 bsp
       - armv9a/tune: Add the support for the Neoverse N2 core
@@ -163,7 +163,7 @@
       - linux-yocto-dev: add qemuriscv32
       - packagegroup-core-tools-profile: Enable systemtap for riscv64
       - qemuriscv: Use virtio-tablet-pci for mouse
-  
+
    - x86:
 
       - kernel-yocto: conditionally enable stack protection checking on x86-64
@@ -199,7 +199,7 @@
 - yocto-check-layer: improved README checks
 - cve-check: add json output format
 - cve-check: add coverage statistics on recipes with/without CVEs
-- Added mirrors for kernel sources and uninative binaries on kernel.org 
+- Added mirrors for kernel sources and uninative binaries on kernel.org
 - glibc and binutils recipes now use shallow mirror tarballs for faster fetching
 - When patching fails, show more information on the fatal error
 
@@ -234,7 +234,7 @@
    - Detect more known licenses in Python code
    - Move license md5sums data into CSV files
    - npm: Use README as license fallback
-   
+
 - SDK-related enhancements:
 
    - Extended recipes to :ref:`ref-classes-nativesdk`: ``cargo``,
@@ -244,7 +244,7 @@
    - Support creating per-toolchain cmake file in SDK
 
 - Rust enhancements:
-   
+
    - New python_setuptools3_rust class to enable building python extensions in Rust
    - classes/meson: Add optional rust definitions
 
diff --git a/poky/documentation/migration-guides/release-notes-4.2.rst b/poky/documentation/migration-guides/release-notes-4.2.rst
index 653602f..30049b8 100644
--- a/poky/documentation/migration-guides/release-notes-4.2.rst
+++ b/poky/documentation/migration-guides/release-notes-4.2.rst
@@ -35,7 +35,7 @@
 
    -  BitBake's UI will now ping the server regularly to ensure
       it is still alive.
- 
+
 -  New variables:
 
    -  :term:`VOLATILE_TMP_DIR` allows to specify
@@ -288,7 +288,7 @@
       BitBake manual. All variables should be easy to access through the Yocto
       Manual variable index.
    -  Expanded the description of the :term:`BB_NUMBER_THREADS` variable.
-      
+
 -  Miscellaneous changes:
 
    -  Supporting 64 bit dates on 32 bit platforms: several packages have been
diff --git a/poky/documentation/migration-guides/release-notes-4.3.4.rst b/poky/documentation/migration-guides/release-notes-4.3.4.rst
new file mode 100644
index 0000000..4c9e67f
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.3.4.rst
@@ -0,0 +1,206 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-4.3.4 (Nanbield)
+----------------------------------------
+
+Security Fixes in Yocto-4.3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  bind: Fix :cve:`2023-4408`, :cve:`2023-5517`, :cve:`2023-5679` and :cve:`2023-50387`
+-  gcc: Update :term:`CVE_STATUS` for :cve:`2023-4039` as fixed
+-  glibc: Fix :cve:`2023-6246`, :cve:`2023-6779` and :cve:`2023-6780`
+-  gnutls: Fix :cve:`2024-0553` and :cve:`2024-0567`
+-  gstreamer: Fix :cve_mitre:`2024-0444`
+-  libssh2: fix :cve:`2023-48795`
+-  libxml2: Fix :cve:`2024-25062`
+-  linux-yocto/6.1: Fix :cve:`2023-6610`, :cve:`2023-6915`, :cve:`2023-46838`, :cve:`2023-50431`, :cve:`2024-1085`, :cve:`2024-1086` and :cve:`2024-23849`
+-  linux-yocto/6.1: Ignore :cve:`2021-33630`, :cve:`2021-33631`, :cve:`2022-36402`, :cve:`2023-5717`, :cve:`2023-6200`, :cve:`2023-35827`, :cve:`2023-40791`, :cve:`2023-46343`, :cve:`2023-46813`, :cve:`2023-46862`, :cve:`2023-51042`, :cve:`2023-51043`, :cve_mitre:`2023-52340`, :cve:`2024-0562`, :cve:`2024-0565`, :cve:`2024-0582`, :cve:`2024-0584`, :cve:`2024-0607`, :cve:`2024-0639`, :cve:`2024-0641`, :cve:`2024-0646`, :cve:`2024-0775` and :cve:`2024-22705`
+-  openssl: fix :cve:`2024-0727`
+-  python3-jinja2: Fix :cve:`2024-22195`
+-  tiff: Fix :cve:`2023-6228`, :cve:`2023-52355` and :cve:`2023-52356`
+-  vim: Fix :cve:`2024-22667`
+-  wpa-supplicant: Fix :cve:`2023-52160`
+-  xserver-xorg: Fix :cve:`2023-6377`, :cve:`2023-6478`, :cve:`2023-6816`, :cve:`2024-0229`, :cve:`2024-0408`, :cve:`2024-0409`, :cve:`2024-21885` and :cve:`2024-21886`
+-  xwayland: Fix :cve:`2023-6816`, :cve:`2024-0408` and :cve:`2024-0409`
+-  zlib: Ignore :cve:`2023-6992`
+
+
+Fixes in Yocto-4.3.4
+~~~~~~~~~~~~~~~~~~~~
+
+-  allarch: Fix allarch corner case
+-  at-spi2-core: Upgrade to 2.50.1
+-  bind: Upgrade to 9.18.24
+-  build-appliance-image: Update to nanbield head revision
+-  contributor-guide: add notes for tests
+-  contributor-guide: be more specific about meta-* trees
+-  core-image-ptest: Increase disk size to 1.5G for strace ptest image
+-  cpio: Upgrade to 2.15
+-  curl: improve run-ptest
+-  curl: increase test timeouts
+-  cve-check: Log if :term:`CVE_STATUS` set but not reported for component
+-  cve-update-nvd2-native: Add an age threshold for incremental update
+-  cve-update-nvd2-native: Fix CVE configuration update
+-  cve-update-nvd2-native: Fix typo in comment
+-  cve-update-nvd2-native: Remove duplicated CVE_CHECK_DB_FILE definition
+-  cve-update-nvd2-native: Remove rejected CVE from database
+-  cve-update-nvd2-native: nvd_request_next: Improve comment
+-  cve_check: cleanup logging
+-  cve_check: handle :term:`CVE_STATUS` being set to the empty string
+-  dev-manual: Rephrase spdx creation
+-  dev-manual: improve descriptions of 'bitbake -S printdiff'
+-  dev-manual: packages: clarify shared :term:`PR` service constraint
+-  dev-manual: packages: fix capitalization
+-  dev-manual: packages: need enough free space
+-  docs: add initial stylechecks with Vale
+-  docs: correct sdk installation default path
+-  docs: document VIRTUAL-RUNTIME variables
+-  docs: suppress excess use of "following" word
+-  docs: use "manual page(s)"
+-  docs: Makefile: remove releases.rst in "make clean"
+-  externalsrc: fix task dependency for do_populate_lic
+-  glibc: Remove duplicate :term:`CVE_STATUS` for :cve:`2023-4527`
+-  glibc: stable 2.38 branch updates (2.38+gitd37c2b20a4)
+-  gnutls: Upgrade to 3.8.3
+-  gstreamer1.0: skip a test that is known to be flaky
+-  gstreamer: Upgrade to 1.22.9
+-  gtk: Set :term:`CVE_PRODUCT`
+-  kernel.bbclass: Set pkg-config variables for building modules
+-  libxml2: Upgrade to 2.11.7
+-  linux-firmware: Upgrade to 20240220
+-  linux-yocto/6.1: update to v6.1.78
+-  mdadm: Disable ptests
+-  migration-guides: add release notes for 4.3.3
+-  migration-guides: add release notes for 4.0.17
+-  migration-guides: fix release notes for 4.3.3 linux-yocto/6.1 CVE entries
+-  multilib_global.bbclass: fix parsing error with no kernel module split
+-  openssl: fix crash on aarch64 if BTI is enabled but no Crypto instructions
+-  openssl: Upgrade to 3.1.5
+-  overlayfs: add missing closing parenthesis in selftest
+-  poky.conf: bump version for 4.3.4 release
+-  profile-manual: usage.rst: fix reference to bug report
+-  profile-manual: usage.rst: formatting fixes
+-  profile-manual: usage.rst: further style improvements
+-  pseudo: Update to pull in gcc14 fix and missing statvfs64 intercept
+-  python3-jinja2: Upgrade to 3.1.3
+-  ref-manual: release-process: grammar fix
+-  ref-manual: system-requirements: update packages to build docs
+-  ref-manual: tasks: do_cleanall: recommend using '-f' instead
+-  ref-manual: tasks: do_cleansstate: recommend using '-f' instead for a shared sstate
+-  ref-manual: variables: adding multiple groups in :term:`GROUPADD_PARAM`
+-  ref-manual: variables: add documentation of the variable :term:`SPDX_NAMESPACE_PREFIX`
+-  reproducible: Fix race with externalsrc/devtool over lockfile
+-  sdk-manual: extensible: correctly describe separate build-sysroots tasks in direct sdk workflows
+-  tzdata : Upgrade to 2024a
+-  udev-extraconf: fix unmount directories containing octal-escaped chars
+-  vim: Upgrade to v9.0.2190
+-  wireless-regdb: Upgrade to 2024.01.23
+-  xserver-xorg: Upgrade to 21.1.11
+-  xwayland: Upgrade to 23.2.4
+-  yocto-uninative: Update to 4.4 for glibc 2.39
+
+
+Known Issues in Yocto-4.3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Alex Kiernan
+-  Alexander Kanavin
+-  Alexander Sverdlin
+-  Baruch Siach
+-  BELOUARGA Mohamed
+-  Benjamin Bara
+-  Bruce Ashfield
+-  Chen Qi
+-  Claus Stovgaard
+-  Dhairya Nagodra
+-  Geoff Parker
+-  Johan Bezem
+-  Jonathan GUILLOT
+-  Julien Stephan
+-  Kai Kang
+-  Khem Raj
+-  Lee Chee Yang
+-  Luca Ceresoli
+-  Martin Jansa
+-  Michael Halstead
+-  Michael Opdenacker
+-  Munehisa Kamata
+-  Pavel Zhukov
+-  Peter Marko
+-  Priyal Doshi
+-  Richard Purdie
+-  Robert Joslyn
+-  Ross Burton
+-  Simone Weiß
+-  Soumya Sambu
+-  Steve Sakoman
+-  Tim Orling
+-  Wang Mingyu
+-  Yoann Congal
+-  Yogita Urade
+
+
+Repositories / Downloads for Yocto-4.3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`nanbield </poky/log/?h=nanbield>`
+-  Tag:  :yocto_git:`yocto-4.3.4 </poky/log/?h=yocto-4.3.4>`
+-  Git Revision: :yocto_git:`7b8aa378d069ee31373f22caba3bd7fc7863f447 </poky/commit/?id=7b8aa378d069ee31373f22caba3bd7fc7863f447>`
+-  Release Artefact: poky-7b8aa378d069ee31373f22caba3bd7fc7863f447
+-  sha: 0cb14125f215cc9691cff43982e2c540a5b6018df4ed25c10933135b5bf21d0f
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.4/poky-7b8aa378d069ee31373f22caba3bd7fc7863f447.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.3.4/poky-7b8aa378d069ee31373f22caba3bd7fc7863f447.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`nanbield </openembedded-core/log/?h=nanbield>`
+-  Tag:  :oe_git:`yocto-4.3.4 </openembedded-core/log/?h=yocto-4.3.4>`
+-  Git Revision: :oe_git:`d0e68072d138ccc1fb5957fdc46a91871eb6a3e1 </openembedded-core/commit/?id=d0e68072d138ccc1fb5957fdc46a91871eb6a3e1>`
+-  Release Artefact: oecore-d0e68072d138ccc1fb5957fdc46a91871eb6a3e1
+-  sha: d311fe22ff296c466f9bea1cd26343baee5630bc37f3dda42f2d9d8cc99e3add
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.4/oecore-d0e68072d138ccc1fb5957fdc46a91871eb6a3e1.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.3.4/oecore-d0e68072d138ccc1fb5957fdc46a91871eb6a3e1.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`nanbield </meta-mingw/log/?h=nanbield>`
+-  Tag:  :yocto_git:`yocto-4.3.4 </meta-mingw/log/?h=yocto-4.3.4>`
+-  Git Revision: :yocto_git:`49617a253e09baabbf0355bc736122e9549c8ab2 </meta-mingw/commit/?id=49617a253e09baabbf0355bc736122e9549c8ab2>`
+-  Release Artefact: meta-mingw-49617a253e09baabbf0355bc736122e9549c8ab2
+-  sha: 2225115b73589cdbf1e491115221035c6a61679a92a93b2a3cf761ff87bf4ecc
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.4/meta-mingw-49617a253e09baabbf0355bc736122e9549c8ab2.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.3.4/meta-mingw-49617a253e09baabbf0355bc736122e9549c8ab2.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.6 </bitbake/log/?h=2.6>`
+-  Tag:  :oe_git:`yocto-4.3.4 </bitbake/log/?h=yocto-4.3.4>`
+-  Git Revision: :oe_git:`380a9ac97de5774378ded5e37d40b79b96761a0c </bitbake/commit/?id=380a9ac97de5774378ded5e37d40b79b96761a0c>`
+-  Release Artefact: bitbake-380a9ac97de5774378ded5e37d40b79b96761a0c
+-  sha: 78f579b9d29e72d09b6fb10ac62aa925104335e92d2afb3155bc9ab1994e36c1
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.3.4/bitbake-380a9ac97de5774378ded5e37d40b79b96761a0c.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.3.4/bitbake-380a9ac97de5774378ded5e37d40b79b96761a0c.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`nanbield </yocto-docs/log/?h=nanbield>`
+-  Tag: :yocto_git:`yocto-4.3.4 </yocto-docs/log/?h=yocto-4.3.4>`
+-  Git Revision: :yocto_git:`05d08b0bbaef760157c8d35a78d7405bc5ffce55 </yocto-docs/commit/?id=05d08b0bbaef760157c8d35a78d7405bc5ffce55>`
+
diff --git a/poky/documentation/migration-guides/release-notes-5.0.rst b/poky/documentation/migration-guides/release-notes-5.0.rst
index e5cdd87..b5fba13 100644
--- a/poky/documentation/migration-guides/release-notes-5.0.rst
+++ b/poky/documentation/migration-guides/release-notes-5.0.rst
@@ -6,42 +6,225 @@
 New Features / Enhancements in 5.0
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
--  Linux kernel 6.6, gcc 13.2, glibc 2.39, LLVM 18.1, and over XXX other recipe upgrades
+-  Linux kernel 6.6, gcc 13.2, glibc 2.39, LLVM 18.1, and over 300 other recipe upgrades
 
 -  New variables:
 
+   -  :term:`CVE_DB_INCR_UPDATE_AGE_THRES`: Configure the maximum age of the
+      internal CVE database for incremental update (instead of a full
+      redownload).
+
+   -  :term:`RPMBUILD_EXTRA_PARAMS`: support extra user-defined fields without
+      crashing the RPM package creation.
+
+   -  :term:`OPKG_MAKE_INDEX_EXTRA_PARAMS`: support extra parameters for
+      ``opkg-make-index``.
+
+   -  :term:`EFI_UKI_PATH`, :term:`EFI_UKI_DIR`: define the location of UKI
+      image in the EFI System partition.
+
 -  Architecture-specific enhancements:
 
+   -  ``genericarm64``: a new :term:`MACHINE` to represent a 64-bit General Arm
+      SystemReady platform.
+
+   -  Add Power8 tune to PowerPC architecture.
+
+   -  ``arch-armv9``: remove CRC and SVE tunes, since FEAT_CRC32 is now mandatory
+      and SVE/SVE2 are enabled by default in GCC's ``-march=armv9-a``.
+
 -  Kernel-related enhancements:
 
+   -  The default kernel is the current LTS (6.6).
+
+   -  Add support for ``genericarm64``.
+
 -  New core recipes:
 
+   -  `bmaptool <https://github.com/yoctoproject/bmaptool>`__: a tool for
+      creating block maps for files and flashing images, being now under the
+      Yocto Project umbrella.
+
+   -  ``core-image-initramfs-boot``: a minimal initramfs image, containing just
+      ``udev`` and ``init``, designed to find the main root filesystem and
+      pivot to it.
+
+   -  `lzlib <https://www.nongnu.org/lzip/lzlib.html>`__: a data compression
+      library that provides LZMA compression and decompression functions.
+
+   -  `lzop <https://www.lzop.org/>`__: a compression utility based on the LZO
+      library, that was brought back after a (now reverted) removal.
+
+   -  `python3-jsonschema-specifications <https://pypi.org/project/jsonschema-specifications/>`__:
+      support files for JSON Schema Specifications (meta-schemas and
+      vocabularies), added as a new dependency of ``python3-jsonschema``.
+
+   -  `python3-maturin <https://github.com/pyo3/maturin>`__: a project that
+      allows building and publishing Rust crates as Python packages.
+
+   -  `python3-meson-python <https://github.com/mesonbuild/meson-python>`__: a
+      Python build backend that enables the Meson build-system for Python packages.
+
+   -  `python3-pyproject-metadata <https://pypi.org/project/pyproject-metadata/>`__:
+      a class to handle PEP 621 metadata, and a dependency for
+      ``python3-meson-python``.
+
+   -  `python3-referencing <https://github.com/python-jsonschema/referencing>`__:
+      another dependency of ``python3-jsonschema``, it provides an
+      implementation of JSON reference resolution.
+
+   -  `python3-rpds-py <https://pypi.org/project/rpds-py/>`__: Python bindings
+      to the Rust rpds crate, and a runtime dependency for ``python3-referencing``.
+
+   -  `python3-sphinxcontrib-jquery <https://pypi.org/project/sphinxcontrib-jquery/>`__:
+      a Sphinx extension to include jQuery on newer Sphinx releases. Recent
+      versions of ``python3-sphinx-rtd-theme`` depend on it.
+
+   -  `python3-yamllint <https://github.com/adrienverge/yamllint>`__: a linter
+      for YAML files. In U-Boot, the ``binman`` tool uses this linter to verify the
+      configurations at compile time.
+
+   -  ``systemd-boot-native``: a UEFI boot manager, this time built as native to
+      provide the ``ukify`` tool.
+
+   -  `utfcpp <https://github.com/nemtrif/utfcpp>`__: a C++ library to handle
+      UTF-8 encoded strings. It was added as a dependency for ``taglib`` after
+      its upgrade to v2.0.
+
+   -  `vulkan-utility-libraries <https://github.com/KhronosGroup/Vulkan-Utility-Libraries>`__:
+      a set of libraries to share code across various Vulkan repositories.
+
+   -  `vulkan-volk <https://github.com/zeux/volk>`__: a meta-loader for Vulkan,
+      needed to support building the latest ``vulkan-tools``.
+
 -  QEMU / ``runqemu`` enhancements:
 
    -  QEMU has been upgraded to version 8.2.1
 
+   -  ``qemuboot``: support predictable network interface names.
+
+   -  ``runqemu``: match ".rootfs." in addition to "-image-" for the root
+      filesystem.
+
+   -  :ref:`ref-classes-cmake-qemu`: a new class allowing to execute cross-compiled
+      binaries using QEMU user-mode emulation.
+
 -  Rust improvements:
 
    -  Rust has been upgraded to version 1.75
 
+   -  The Rust profiler (i.e., PGO - Profile-Guided Optimization) options were
+      enabled back.
+
+   -  The Rust ``oe-selftest`` were enabled, except for ``mips32`` whose tests
+      are skipped.
+
+   -  ``rust-cross-canadian``: added ``riscv64`` to cross-canadian hosts.
+
 -  wic Image Creator enhancements:
 
+   -  Allow the imager's output file extension to match the imager's name,
+      instead of hardcoding it to ``direct`` (i.e., the default imager)
+
+   -  For GPT-based disks, add reproducible Disk GUID generation
+
+   -  Allow generating reproducible ext4 images
+
+   -  Add feature to fill a specific range of a partition with zeros
+
+   -  ``bootimg-efi``: add ``install-kernel-into-boot-dir`` parameter to
+      configure kernel installation point(s) (i.e., rootfs and/or boot partition)
+
+   -  ``rawcopy``: add support for zstd decompression
+
 -  SDK-related improvements:
 
+   -  ``nativesdk``: let :term:`MACHINE_FEATURES` be set by ``machine-sdk``
+      configuration files.
+
+   -  ``nativesdk``: prevent :term:`MACHINE_FEATURES` and :term:`DISTRO_FEATURES`
+      from being backfilled.
+
 -  Testing:
 
+   -  Add an optional ``unimplemented-ptest`` QA warning to detect upstream
+      packages with tests, that do not use ptest.
+
+   -  ``testimage``: retrieve the ptests directory, especially for the logs,
+      upon ptest failure.
+
+   -  ``oeqa``, ``oe-selftest``: add test cases for Maturin (SDK and runtime).
+
 -  Utility script changes:
 
+   -  New ``recipetool/create_go.py`` script added to support Go recipe creation
+
+   -  ``oe-init-build-env`` can generate a initial configuration (``.vscode``)
+      for VSCode and its "Yocto Project BitBake" extension.
+
 -  BitBake improvements:
 
+   -  Add support for :term:`BB_LOADFACTOR_MAX`, so Bitbake can stop running
+      extra tasks if the system load is too high, especially in distributions
+      where ``/proc/pressure`` is disabled.
+
+   -  Add garbage collection to remove unused unihashes from the database.
+
+   -  ``taskexp_ncurses``: add ncurses version of ``taskexp``, the dependency
+      explorer originally implemented with GTK.
+
+   -  Improve ``runqueue`` performance by adding a cache mechanism in
+      ``build_taskdepdata``.
+
+   -  ``bitbake.conf``: add ``runtimedir`` to represent the path to the runtime
+      state directory (i.e., ``/run``).
+
 -  Packaging changes:
 
+   -  ``package_rpm``: the RPM package compressor's mode can now be overriden.
+
 -  Security improvements:
 
+   -  Improve incremental CVE database download from NVD. Rejected CVEs are
+      removed, configuration is kept up-to-date. The age threshold for
+      incremental update can be configured with :term:`CVE_DB_INCR_UPDATE_AGE_THRES`
+      variable.
+
 -  Prominent documentation updates:
 
+   -  Documentation for using the new ``devtool ide-sdk`` command and features.
+      See :ref:`using_devtool` for details.
+
+   -  New ":doc:`bitbake:bitbake-user-manual/bitbake-user-manual-ref-variables-context`"
+      section in the BitBake User Manual.
+
+   -  New ``make stylecheck`` command to run `Vale <https://vale.sh>`__,
+      to perform text style checks and comply with text writing standards in
+      the industry.
+
+   -  New ``make sphinx-lint`` command to run `sphinx-lint
+      <https://github.com/sphinx-contrib/sphinx-lint>`__. After customization,
+      this will allow us to enforce Sphinx syntax style choices.
+
 -  Miscellaneous changes:
 
+   -  Systemd's following :term:`PACKAGECONFIG` options were added:
+      ``cryptsetup-plugins``, ``no-ntp-fallback``, and ``p11kit``.
+
+   -  ``systemd-boot`` can, from now on, be compiled as ``native``, thus
+      providing ``ukify`` tool to build UKI images.
+
+   -  systemd: split bash completion for ``udevadm`` in a new
+      ``udev-bash-completion`` package.
+
+   -  The :ref:`ref-classes-go-vendor` class was added to support offline builds
+      (i.e., vendoring). It can also handle modules from the same repository,
+      taking into account their versions.
+
+   -  Disable strace support of bluetooth by default.
+
+   -  ``openssh`` now has a Systemd service: ``sshd.service``.
+
 Known Issues in 5.0
 ~~~~~~~~~~~~~~~~~~~
 
@@ -50,12 +233,19 @@
 Recipe License changes in 5.0
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+The following corrections have been made to the :term:`LICENSE` values set by recipes:
+
+-  ``systemd``: make the scope of ``LGPL`` more accurate (``LGPL-2.1`` -> ``LGPL-2.1-or-later``)
+-  ``libsystemd``: set its own :term:`LICENSE` value (``LGPL-2.1-or-later``) to add more granularity
+
 Security Fixes in 5.0
 ~~~~~~~~~~~~~~~~~~~~~
 
 Recipe Upgrades in 5.0
 ~~~~~~~~~~~~~~~~~~~~~~
 
+-  go: update 1.20.10 -> 1.22.1
+
 Contributors to 5.0
 ~~~~~~~~~~~~~~~~~~~
 
diff --git a/poky/documentation/overview-manual/intro.rst b/poky/documentation/overview-manual/intro.rst
index a809177..80446b3 100644
--- a/poky/documentation/overview-manual/intro.rst
+++ b/poky/documentation/overview-manual/intro.rst
@@ -38,7 +38,7 @@
    procedures reside in other manuals within the Yocto Project
    documentation set. For example, the :doc:`/dev-manual/index`
    provides examples on how to perform
-   various development tasks. As another example, the 
+   various development tasks. As another example, the
    :doc:`/sdk-manual/index` manual contains detailed
    instructions on how to install an SDK, which is used to develop
    applications for target hardware.
diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst
index 2f82137..17be149 100644
--- a/poky/documentation/profile-manual/usage.rst
+++ b/poky/documentation/profile-manual/usage.rst
@@ -1058,13 +1058,13 @@
    name: do_fork
    ID: 944
    format:
-           field:unsigned short common_type;	offset:0;	size:2;	signed:0;
-           field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
-           field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
-           field:int common_pid;	offset:4;	size:4;	signed:1;
-           field:int common_padding;	offset:8;	size:4;	signed:1;
+           field:unsigned short common_type;    offset:0;       size:2; signed:0;
+           field:unsigned char common_flags;    offset:2;       size:1; signed:0;
+           field:unsigned char common_preempt_count;    offset:3;       size:1; signed:0;
+           field:int common_pid;        offset:4;       size:4; signed:1;
+           field:int common_padding;    offset:8;       size:4; signed:1;
 
-           field:unsigned long __probe_ip;	offset:12;	size:4;	signed:0;
+           field:unsigned long __probe_ip;      offset:12;      size:4; signed:0;
 
    print fmt: "(%lx)", REC->__probe_ip
 
@@ -1550,17 +1550,17 @@
    name: kmalloc
    ID: 313
    format:
-           field:unsigned short common_type;	offset:0;	size:2;	signed:0;
-           field:unsigned char common_flags;	offset:2;	size:1;	signed:0;
-           field:unsigned char common_preempt_count;	offset:3;	size:1;	signed:0;
-           field:int common_pid;	offset:4;	size:4;	signed:1;
-           field:int common_padding;	offset:8;	size:4;	signed:1;
+           field:unsigned short common_type;    offset:0;       size:2; signed:0;
+           field:unsigned char common_flags;    offset:2;       size:1; signed:0;
+           field:unsigned char common_preempt_count;    offset:3;       size:1; signed:0;
+           field:int common_pid;        offset:4;       size:4; signed:1;
+           field:int common_padding;    offset:8;       size:4; signed:1;
 
-           field:unsigned long call_site;	offset:16;	size:8;	signed:0;
-           field:const void * ptr;	offset:24;	size:8;	signed:0;
-           field:size_t bytes_req;	offset:32;	size:8;	signed:0;
-           field:size_t bytes_alloc;	offset:40;	size:8;	signed:0;
-           field:gfp_t gfp_flags;	offset:48;	size:4;	signed:0;
+           field:unsigned long call_site;       offset:16;      size:8; signed:0;
+           field:const void * ptr;      offset:24;      size:8; signed:0;
+           field:size_t bytes_req;      offset:32;      size:8; signed:0;
+           field:size_t bytes_alloc;    offset:40;      size:8; signed:0;
+           field:gfp_t gfp_flags;       offset:48;      size:4; signed:0;
 
    print fmt: "call_site=%lx ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", REC->call_site, REC->ptr, REC->bytes_req, REC->bytes_alloc,
    (REC->gfp_flags) ? __print_flags(REC->gfp_flags, "|", {(unsigned long)(((( gfp_t)0x10u) | (( gfp_t)0x40u) | (( gfp_t)0x80u) | ((
@@ -1872,7 +1872,7 @@
 
 -  Or build a non-SDK image but include the profiling tools
    (edit ``local.conf`` and add ``tools-profile`` to the end of
-   :term:``EXTRA_IMAGE_FEATURES`` variable)::
+   :term:`EXTRA_IMAGE_FEATURES` variable)::
 
       $ bitbake core-image-sato
 
@@ -2355,29 +2355,29 @@
     8,32   1        0    58.516990819     0  m   N cfq3551 put_queue
 
    CPU0 (sdc):
-    Reads Queued:           0,        0KiB	 Writes Queued:         331,   26,284KiB
-    Read Dispatches:        0,        0KiB	 Write Dispatches:      485,   40,484KiB
-    Reads Requeued:         0		 Writes Requeued:         0
-    Reads Completed:        0,        0KiB	 Writes Completed:      511,   41,000KiB
-    Read Merges:            0,        0KiB	 Write Merges:           13,      160KiB
-    Read depth:             0        	 Write depth:             2
-    IO unplugs:            23        	 Timer unplugs:           0
+    Reads Queued:           0,        0KiB       Writes Queued:         331,   26,284KiB
+    Read Dispatches:        0,        0KiB       Write Dispatches:      485,   40,484KiB
+    Reads Requeued:         0                    Writes Requeued:         0
+    Reads Completed:        0,        0KiB       Writes Completed:      511,   41,000KiB
+    Read Merges:            0,        0KiB       Write Merges:           13,      160KiB
+    Read depth:             0                    Write depth:             2
+    IO unplugs:            23                    Timer unplugs:           0
    CPU1 (sdc):
-    Reads Queued:           0,        0KiB	 Writes Queued:         249,   15,800KiB
-    Read Dispatches:        0,        0KiB	 Write Dispatches:       42,    1,600KiB
-    Reads Requeued:         0		 Writes Requeued:         0
-    Reads Completed:        0,        0KiB	 Writes Completed:       16,    1,084KiB
-    Read Merges:            0,        0KiB	 Write Merges:           40,      276KiB
-    Read depth:             0        	 Write depth:             2
-    IO unplugs:            30        	 Timer unplugs:           1
+    Reads Queued:           0,        0KiB       Writes Queued:         249,   15,800KiB
+    Read Dispatches:        0,        0KiB       Write Dispatches:       42,    1,600KiB
+    Reads Requeued:         0                    Writes Requeued:         0
+    Reads Completed:        0,        0KiB       Writes Completed:       16,    1,084KiB
+    Read Merges:            0,        0KiB       Write Merges:           40,      276KiB
+    Read depth:             0                    Write depth:             2
+    IO unplugs:            30                    Timer unplugs:           1
 
    Total (sdc):
-    Reads Queued:           0,        0KiB	 Writes Queued:         580,   42,084KiB
-    Read Dispatches:        0,        0KiB	 Write Dispatches:      527,   42,084KiB
-    Reads Requeued:         0		 Writes Requeued:         0
-    Reads Completed:        0,        0KiB	 Writes Completed:      527,   42,084KiB
-    Read Merges:            0,        0KiB	 Write Merges:           53,      436KiB
-    IO unplugs:            53        	 Timer unplugs:           1
+    Reads Queued:           0,        0KiB       Writes Queued:         580,   42,084KiB
+    Read Dispatches:        0,        0KiB       Write Dispatches:      527,   42,084KiB
+    Reads Requeued:         0                    Writes Requeued:         0
+    Reads Completed:        0,        0KiB       Writes Completed:      527,   42,084KiB
+    Read Merges:            0,        0KiB       Write Merges:           53,      436KiB
+    IO unplugs:            53                    Timer unplugs:           1
 
    Throughput (R/W): 0KiB/s / 719KiB/s
    Events (sdc): 6,592 entries
@@ -2500,29 +2500,29 @@
     8,32   1        0   177.266696560     0  m   N cfq1267 put_queue
 
    CPU0 (sdc):
-    Reads Queued:           0,        0KiB	 Writes Queued:         270,   21,708KiB
-    Read Dispatches:       59,    2,628KiB	 Write Dispatches:      495,   39,964KiB
-    Reads Requeued:         0		 Writes Requeued:         0
-    Reads Completed:       90,    2,752KiB	 Writes Completed:      543,   41,596KiB
-    Read Merges:            0,        0KiB	 Write Merges:            9,      344KiB
-    Read depth:             2        	 Write depth:             2
-    IO unplugs:            20        	 Timer unplugs:           1
+    Reads Queued:           0,        0KiB       Writes Queued:         270,   21,708KiB
+    Read Dispatches:       59,    2,628KiB       Write Dispatches:      495,   39,964KiB
+    Reads Requeued:         0                    Writes Requeued:         0
+    Reads Completed:       90,    2,752KiB       Writes Completed:      543,   41,596KiB
+    Read Merges:            0,        0KiB       Write Merges:            9,      344KiB
+    Read depth:             2                    Write depth:             2
+    IO unplugs:            20                    Timer unplugs:           1
    CPU1 (sdc):
-    Reads Queued:         688,    2,752KiB	 Writes Queued:         381,   20,652KiB
-    Read Dispatches:       31,      124KiB	 Write Dispatches:       59,    2,396KiB
-    Reads Requeued:         0		 Writes Requeued:         0
-    Reads Completed:        0,        0KiB	 Writes Completed:       11,      764KiB
-    Read Merges:          598,    2,392KiB	 Write Merges:           88,      448KiB
-    Read depth:             2        	 Write depth:             2
-    IO unplugs:            52        	 Timer unplugs:           0
+    Reads Queued:         688,    2,752KiB       Writes Queued:         381,   20,652KiB
+    Read Dispatches:       31,      124KiB       Write Dispatches:       59,    2,396KiB
+    Reads Requeued:         0                    Writes Requeued:         0
+    Reads Completed:        0,        0KiB       Writes Completed:       11,      764KiB
+    Read Merges:          598,    2,392KiB       Write Merges:           88,      448KiB
+    Read depth:             2                    Write depth:             2
+    IO unplugs:            52                    Timer unplugs:           0
 
    Total (sdc):
-    Reads Queued:         688,    2,752KiB	 Writes Queued:         651,   42,360KiB
-    Read Dispatches:       90,    2,752KiB	 Write Dispatches:      554,   42,360KiB
-    Reads Requeued:         0		 Writes Requeued:         0
-    Reads Completed:       90,    2,752KiB	 Writes Completed:      554,   42,360KiB
-    Read Merges:          598,    2,392KiB	 Write Merges:           97,      792KiB
-    IO unplugs:            72        	 Timer unplugs:           1
+    Reads Queued:         688,    2,752KiB       Writes Queued:         651,   42,360KiB
+    Read Dispatches:       90,    2,752KiB       Write Dispatches:      554,   42,360KiB
+    Reads Requeued:         0                    Writes Requeued:         0
+    Reads Completed:       90,    2,752KiB       Writes Completed:      554,   42,360KiB
+    Read Merges:          598,    2,392KiB       Write Merges:           97,      792KiB
+    IO unplugs:            72                    Timer unplugs:           1
 
    Throughput (R/W): 15KiB/s / 238KiB/s
    Events (sdc): 9,301 entries
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index ab71cbe..1d01456 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -665,7 +665,7 @@
 to the desired size, in bytes.
 
 See :oe_git:`devicetree.bbclass sources
-</openembedded-core/tree/meta/classes-recipe/devicetree.bbclass>` 
+</openembedded-core/tree/meta/classes-recipe/devicetree.bbclass>`
 for further variables controlling this class.
 
 Here is an excerpt of an example ``recipes-kernel/linux/devicetree-acme.bb``
@@ -939,6 +939,20 @@
 
 See the associated :term:`GO_WORKDIR` variable.
 
+.. _ref-classes-go-vendor:
+
+``go-vendor``
+=============
+
+The :ref:`ref-classes-go-vendor` class implements support for offline builds,
+also known as Go vendoring. In such a scenario, the module dependencias are
+downloaded during the :ref:`ref-tasks-fetch` task rather than when modules are
+imported, thus being coherent with Yocto's concept of fetching every source
+beforehand.
+
+The dependencies are unpacked into the modules' ``vendor`` directory, where a
+manifest file is generated.
+
 .. _ref-classes-gobject-introspection:
 
 ``gobject-introspection``
@@ -3270,7 +3284,7 @@
 -  :term:`UBOOT_FIT_KEY_REQ_ARGS`: ``openssl req`` arguments.
 -  :term:`UBOOT_FIT_SIGN_ALG`: signature algorithm for the FIT image.
 -  :term:`UBOOT_FIT_SIGN_NUMBITS`: size of the private key for FIT image
-   signing.                                                  
+   signing.
 -  :term:`UBOOT_FIT_KEY_SIGN_PKCS`: algorithm for the public key certificate
    for FIT image signing.
 -  :term:`UBOOT_FITIMAGE_ENABLE`: enable the generation of a U-Boot FIT image.
diff --git a/poky/documentation/ref-manual/resources.rst b/poky/documentation/ref-manual/resources.rst
index 8e54ac8..4eaaca9 100644
--- a/poky/documentation/ref-manual/resources.rst
+++ b/poky/documentation/ref-manual/resources.rst
@@ -66,6 +66,9 @@
 -  :yocto_lists:`/g/yocto` --- general Yocto Project
    discussion mailing list.
 
+-  :yocto_lists:`/g/yocto-patches` --- patch contribution mailing list for Yocto
+   Project-related layers which do not have their own mailing list.
+
 -  :oe_lists:`/g/openembedded-core` --- discussion mailing
    list about OpenEmbedded-Core (the core metadata).
 
diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst
index c28cd7a..2e4b234 100644
--- a/poky/documentation/ref-manual/tasks.rst
+++ b/poky/documentation/ref-manual/tasks.rst
@@ -358,7 +358,7 @@
 ``do_populate_sdk_ext``
 -----------------------
 
-Creates the file and directory structure for an installable extensible 
+Creates the file and directory structure for an installable extensible
 SDK (eSDK). See the ":ref:`overview-manual/concepts:sdk generation`"
 section in the Yocto Project Overview and Concepts Manual for more
 information.
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index ad9c46c..b18c418 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -228,23 +228,23 @@
 
          As far as bootloaders are concerned, :term:`Initramfs` and "initrd"
          images are still copied to RAM in the same way. That's why most
-	 most bootloaders refer to :term:`Initramfs` images as "initrd"
-	 or "init RAM disk".
+         most bootloaders refer to :term:`Initramfs` images as "initrd"
+         or "init RAM disk".
 
       This kind of mechanism is typically used for two reasons:
 
       -  For booting the same kernel binary on multiple systems requiring
          different device drivers. The :term:`Initramfs` image is then customized
-	 for each type of system, to include the specific kernel modules
+         for each type of system, to include the specific kernel modules
          necessary to access the final root filesystem. This technique
-	 is used on all GNU / Linux distributions for desktops and servers.
+         is used on all GNU / Linux distributions for desktops and servers.
 
       -  For booting faster. As the root filesystem is extracted into RAM,
          accessing the first user-space applications is very fast, compared
          to having to initialize a block device, to access multiple blocks
          from it, and to go through a filesystem having its own overhead.
          For example, this allows to display a splashscreen very early,
-	 and to later take care of mounting the final root filesystem and
+         and to later take care of mounting the final root filesystem and
          loading less time-critical kernel drivers.
 
       This cpio archive can either be loaded to RAM by the bootloader,
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 435481c..0dc881e 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -561,6 +561,10 @@
    :term:`BB_INVALIDCONF`
       See :term:`bitbake:BB_INVALIDCONF` in the BitBake manual.
 
+   :term:`BB_LOADFACTOR_MAX`
+      The system load threshold above which BitBake will stop runnig extra
+      tasks.
+
    :term:`BB_LOGCONFIG`
       See :term:`bitbake:BB_LOGCONFIG` in the BitBake manual.
 
@@ -1688,6 +1692,11 @@
       The list of package names (:term:`PN`) for which
       CVEs (Common Vulnerabilities and Exposures) are ignored.
 
+   :term:`CVE_DB_INCR_UPDATE_AGE_THRES`
+      Specifies the maximum age of the CVE database in seconds for an
+      incremental update (instead of a full-download). Use "0" to force a
+      full-download.
+
    :term:`CVE_DB_UPDATE_INTERVAL`
       Specifies the CVE database update interval in seconds, as used by
       ``cve-update-db-native``. The default value is "86400" i.e. once a day
@@ -2330,6 +2339,12 @@
       See the :ref:`ref-classes-systemd-boot` and :ref:`ref-classes-image-live`
       classes for more information.
 
+   :term:`EFI_UKI_DIR`
+      The primary place for the UKI image inside the EFI System Partition.
+
+   :term:`EFI_UKI_PATH`
+      The path for the UKI image inside the root filesystem.
+
    :term:`ENABLE_BINARY_LOCALE_GENERATION`
       Variable that controls which locales for ``glibc`` are generated
       during the build (useful if the target device has 64Mbytes of RAM or
@@ -2983,18 +2998,18 @@
 
    :term:`FIT_ADDRESS_CELLS`
       Specifies the value of the ``#address-cells`` value for the
-      description of the FIT image.  
+      description of the FIT image.
 
       The default value is set to "1" by the :ref:`ref-classes-kernel-fitimage`
-      class, which corresponds to 32 bit addresses. 
+      class, which corresponds to 32 bit addresses.
 
       For platforms that need to set 64 bit addresses, for example in
       :term:`UBOOT_LOADADDRESS` and :term:`UBOOT_ENTRYPOINT`, you need to
-      set this value to "2", as two 32 bit values (cells) will be needed 
+      set this value to "2", as two 32 bit values (cells) will be needed
       to represent such addresses.
 
       Here is an example setting "0x400000000" as a load address::
-    
+
          FIT_ADDRESS_CELLS = "2"
          UBOOT_LOADADDRESS= "0x04 0x00000000"
 
@@ -3971,15 +3986,15 @@
       Specifies a space-separated list of license names (as they would
       appear in :term:`LICENSE`) that should be excluded
       from the build (if set globally), or from an image (if set locally
-      in an image recipe). 
+      in an image recipe).
 
       When the variable is set globally, recipes that provide no alternatives to listed
       incompatible licenses are not built. Packages that are individually
-      licensed with the specified incompatible licenses will be deleted. 
+      licensed with the specified incompatible licenses will be deleted.
       Most of the time this does not allow a feasible build (because it becomes impossible
       to satisfy build time dependencies), so the recommended way to
       implement license restrictions is to set the variable in specific
-      image recipes where the restrictions must apply. That way there 
+      image recipes where the restrictions must apply. That way there
       are no build time restrictions, but the license check is still
       performed when the image's filesystem is assembled from packages.
 
@@ -4495,12 +4510,12 @@
       When kernel configuration fragments are missing for some
       :term:`KERNEL_FEATURES` specified by layers or BSPs,
       building and configuring the kernel stops with an error.
-    
+
       You can turn these errors into warnings by setting the
       following in ``conf/local.conf``::
 
          KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
-    
+
       You will still be warned that runtime issues may occur,
       but at least the kernel configuration and build process will
       be allowed to continue.
@@ -5666,6 +5681,9 @@
       default by setting the variable in a custom distribution
       configuration file.
 
+   :term:`OPKG_MAKE_INDEX_EXTRA_PARAMS`
+      Specifies extra parameters for the ``opkg-make-index`` command.
+
    :term:`OVERLAYFS_ETC_DEVICE`
       When the :ref:`ref-classes-overlayfs-etc` class is
       inherited, specifies the device to be mounted for the read/write
@@ -7147,6 +7165,9 @@
       :term:`IMAGE_ROOTFS` variable for more
       information.
 
+   :term:`RPMBUILD_EXTRA_PARAMS`
+      Specifies extra user-defined parameters for the ``rpmbuild`` command.
+
    :term:`RPROVIDES`
       A list of package name aliases that a package also provides. These
       aliases are useful for satisfying runtime dependencies of other
@@ -7868,7 +7889,7 @@
       This option allows to associate `SPDX annotations
       <https://spdx.github.io/spdx-spec/v2.3/annotations/>`__ to a recipe,
       using the values of variables in the recipe::
-        
+
          ANNOTATION1 = "First annotation for recipe"
          ANNOTATION2 = "Second annotation for recipe"
          SPDX_CUSTOM_ANNOTATION_VARS = "ANNOTATION1 ANNOTATION2"
@@ -7991,7 +8012,7 @@
       The name of keys used by the :ref:`ref-classes-kernel-fitimage` class
       for signing U-Boot FIT image stored in the :term:`SPL_SIGN_KEYDIR`
       directory. If we have for example a ``dev.key`` key and a ``dev.crt``
-      certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will 
+      certificate stored in the :term:`SPL_SIGN_KEYDIR` directory, you will
       have to set :term:`SPL_SIGN_KEYNAME` to ``dev``.
 
    :term:`SPLASH`
@@ -8028,7 +8049,7 @@
 
           EXTRA_OECONF += "--disable-startup-msg --enable-img-fullscreen"
 
-      For information on append files, see the                                                                            
+      For information on append files, see the
       ":ref:`dev-manual/layers:appending other layers metadata with your layer`"
       section.
 
@@ -9442,10 +9463,10 @@
 
    :term:`UBOOT_FIT_ADDRESS_CELLS`
       Specifies the value of the ``#address-cells`` value for the
-      description of the U-Boot FIT image.  
+      description of the U-Boot FIT image.
 
       The default value is set to "1" by the :ref:`ref-classes-uboot-sign`
-      class, which corresponds to 32 bit addresses. 
+      class, which corresponds to 32 bit addresses.
 
       For platforms that need to set 64 bit addresses in
       :term:`UBOOT_LOADADDRESS` and :term:`UBOOT_ENTRYPOINT`, you need to
@@ -9453,7 +9474,7 @@
       to represent such addresses.
 
       Here is an example setting "0x400000000" as a load address::
-    
+
          UBOOT_FIT_ADDRESS_CELLS = "2"
          UBOOT_LOADADDRESS= "0x04 0x00000000"
 
@@ -9516,7 +9537,7 @@
          UBOOT_FITIMAGE_ENABLE = "1"
 
       See the :ref:`ref-classes-uboot-sign` class for details.
-      
+
    :term:`UBOOT_LOADADDRESS`
       Specifies the load address for the U-Boot image. During U-Boot image
       creation, the :term:`UBOOT_LOADADDRESS` variable is passed as a
diff --git a/poky/documentation/sdk-manual/working-projects.rst b/poky/documentation/sdk-manual/working-projects.rst
index b9af333..4236bce 100644
--- a/poky/documentation/sdk-manual/working-projects.rst
+++ b/poky/documentation/sdk-manual/working-projects.rst
@@ -295,12 +295,12 @@
       all: main.o module.o
         ${CC} main.o module.o -o target_bin
       main.o: main.c module.h
-      	${CC} -I . -c main.c
+        ${CC} -I . -c main.c
       module.o: module.c module.h
         ${CC} -I . -c module.c
       clean:
-      	rm -rf *.o
-      	rm target_bin
+        rm -rf *.o
+        rm target_bin
 
 #. *Make the Project:* Use the ``make`` command to create the binary
    output file. Because variables are commented out in the Makefile, the
diff --git a/poky/meta-yocto-bsp/conf/machine/genericarm64.conf b/poky/meta-yocto-bsp/conf/machine/genericarm64.conf
index 4afd6c3..4fa9395 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericarm64.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericarm64.conf
@@ -51,6 +51,8 @@
 QB_FSINFO = "wic:no-kernel-in-fs"
 # Mount the wic rootfs as a virtio block device
 QB_ROOTFS_OPT = "-drive id=root,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=root"
+# Virtio graphics
+QB_GRAPHICS = "-device virtio-gpu-pci"
 # Virtio serial consoles
 QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
 QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
index 4a62ac9..5b1b736 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -2,10 +2,12 @@
 KBRANCH:genericx86-64  = "standard/base"
 KBRANCH:beaglebone-yocto = "standard/beaglebone"
 
+KMACHINE:genericarm64 ?= "genericarm64"
 KMACHINE:genericx86 ?= "common-pc"
 KMACHINE:genericx86-64 ?= "common-pc-64"
 KMACHINE:beaglebone-yocto ?= "beaglebone"
 
+COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
diff --git a/poky/meta/classes-global/sanity.bbclass b/poky/meta/classes-global/sanity.bbclass
index bbbc41d..180c6b7 100644
--- a/poky/meta/classes-global/sanity.bbclass
+++ b/poky/meta/classes-global/sanity.bbclass
@@ -40,7 +40,7 @@
     conf/site.conf:SCONF_VERSION:SITE_CONF_VERSION:oecore_update_siteconf \
 "
 
-SANITY_DIFF_TOOL ?= "meld"
+SANITY_DIFF_TOOL ?= "diff -u"
 
 SANITY_LOCALCONF_SAMPLE ?= "${COREBASE}/meta*/conf/templates/default/local.conf.sample"
 python oecore_update_localconf() {
diff --git a/poky/meta/classes-recipe/pypi.bbclass b/poky/meta/classes-recipe/pypi.bbclass
index b8c18cc..c6bbe81 100644
--- a/poky/meta/classes-recipe/pypi.bbclass
+++ b/poky/meta/classes-recipe/pypi.bbclass
@@ -12,14 +12,19 @@
         return bpn[8:]
     return bpn
 
+# The PyPi package name (defaults to PN without the python3- prefix)
 PYPI_PACKAGE ?= "${@pypi_package(d)}"
+# The file extension of the source archive
 PYPI_PACKAGE_EXT ?= "tar.gz"
-PYPI_ARCHIVE_NAME ?= "${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}"
+# An optional prefix for the download file in the case of name collisions
 PYPI_ARCHIVE_NAME_PREFIX ?= ""
 
 def pypi_src_uri(d):
+    """
+    Construct a source URL as per https://warehouse.pypa.io/api-reference/integration-guide.html#predictable-urls.
+    """
     package = d.getVar('PYPI_PACKAGE')
-    archive_name = d.getVar('PYPI_ARCHIVE_NAME')
+    archive_name = d.expand('${PYPI_PACKAGE}-${PV}.${PYPI_PACKAGE_EXT}')
     archive_downloadname = d.getVar('PYPI_ARCHIVE_NAME_PREFIX') + archive_name
     return 'https://files.pythonhosted.org/packages/source/%s/%s/%s;downloadfilename=%s' % (package[0], package, archive_name, archive_downloadname)
 
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 6f180d1..ba8bd5f 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -383,8 +383,7 @@
 # the builtin definitions will be used.  Builtin definitions included:
 #  base_prefix, prefix, exec_prefix, base_bindir, base_sbindir, base_libdir,
 #  datadir, sysconfdir, servicedir, sharedstatedir, localstatedir, infodir,
-#  mandir, docdir, bindir, sbindir, libexecdir, libdir, includedir and
-#  oldincludedir
+#  mandir, docdir, bindir, sbindir, libexecdir, libdir and includedir
 FILESYSTEM_PERMS_TABLES ?= "${@'files/fs-perms.txt' if oe.types.boolean(d.getVar('VOLATILE_LOG_DIR')) else 'files/fs-perms-persistent-log.txt'}"
 
 ##################################################################
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 2d1f9fd..20eb3a0 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -729,6 +729,7 @@
 RECIPE_MAINTAINER:pn-python3-vcversioner = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-wcwidth = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-webcolors = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-websockets = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-wheel = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-xmltodict = "Leon Anavi <leon.anavi@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-yamllint = "Tim Orling <tim.orling@konsulko.com>"
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index a46e550..5950b3e 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -431,7 +431,10 @@
                 actual_hashval = get_hashval(fullpath)
                 if actual_hashval in hashfiles:
                     continue
-                hashfiles[actual_hashval] = {'path':fullpath, 'sstate':True, 'time':get_time(fullpath)}
+                try:
+                    hashfiles[actual_hashval] = {'path':fullpath, 'sstate':True, 'time':get_time(fullpath)}
+                except FileNotFoundError:
+                    bb.warn("Could not obtain mtime for {}".format(fullpath))
 
     return hashfiles
 
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index 1f17bd7..ca53573 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -12,7 +12,7 @@
 
 # We use the revision in order to avoid having to fetch it from the
 # repo during parse
-SRCREV = "866ca972d6c3cabeaf6dbac431e8e08bb30b3c8e"
+SRCREV = "25049ad560826f7dc1c4740883b0016014a59789"
 
 SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master"
 
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc b/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc
index 09b3c3f..f301076 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc
@@ -4,10 +4,10 @@
 inherit python3native
 export STAGING_INCDIR="${STAGING_INCDIR_NATIVE}"
 
-PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage"
-PROVIDES:class-native = "u-boot-mkimage-native u-boot-mkenvimage-native"
+PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage ${MLPREFIX}u-boot-mkeficapsule"
+PROVIDES:class-native = "u-boot-mkimage-native u-boot-mkenvimage-native u-boot-mkeficapsule-native"
 
-PACKAGES += "${PN}-mkimage ${PN}-mkenvimage"
+PACKAGES += "${PN}-mkimage ${PN}-mkenvimage ${PN}-mkeficapsule"
 
 # Required for backward compatibility with "u-boot-mkimage-xxx.bb"
 RPROVIDES:${PN}-mkimage = "u-boot-mkimage"
@@ -70,15 +70,20 @@
 	# fit_check_sign
 	install -m 0755 tools/fit_check_sign ${D}${bindir}/uboot-fit_check_sign
 	ln -sf uboot-fit_check_sign ${D}${bindir}/fit_check_sign
+
+	# mkeficapsule
+	install -m 0755 tools/mkeficapsule ${D}${bindir}/uboot-mkeficapsule
+	ln -sf uboot-mkeficapsule ${D}${bindir}/mkeficapsule
 }
 
 ALLOW_EMPTY:${PN} = "1"
 FILES:${PN} = ""
 FILES:${PN}-mkimage = "${bindir}/uboot-mkimage ${bindir}/mkimage ${bindir}/uboot-dumpimage ${bindir}/dumpimage ${bindir}/uboot-fit_check_sign ${bindir}/fit_check_sign"
 FILES:${PN}-mkenvimage = "${bindir}/uboot-mkenvimage ${bindir}/mkenvimage"
+FILES:${PN}-mkeficapsule = "${bindir}/uboot-mkeficapsule ${bindir}/mkeficapsule"
 
 RDEPENDS:${PN}-mkimage += "dtc"
-RDEPENDS:${PN} += "${PN}-mkimage ${PN}-mkenvimage"
+RDEPENDS:${PN} += "${PN}-mkimage ${PN}-mkenvimage ${PN}-mkeficapsule"
 RDEPENDS:${PN}:class-native = ""
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2024.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2024.04.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot-tools_2024.01.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot-tools_2024.04.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2024.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2024.04.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot_2024.01.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot_2024.04.bb
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.24.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.25.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/bind/bind_9.18.24.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.25.bb
index 2874990..cc35604 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.24.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.25.bb
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "709d73023c9115ddad3bab65b6c8c79a590196d0d114f5d0ca2533dbd52ddf66"
+SRC_URI[sha256sum] = "5a4a70432a33d009f0e6e9dbb328aae7a5e27507e98e28bf3c0c6b250ccb2ab3"
 
 UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
 # follow the ESV versions divisible by 2
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
index 640b301..8c460ad 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
@@ -59,6 +59,7 @@
 INSANE_SKIP:${PN}-tc = "dev-so"
 
 IPROUTE2_PACKAGES =+ "\
+    ${PN}-bridge \
     ${PN}-devlink \
     ${PN}-genl \
     ${PN}-ifstat \
@@ -91,6 +92,7 @@
 FILES:${PN}-devlink = "${base_sbindir}/devlink"
 FILES:${PN}-rdma = "${base_sbindir}/rdma"
 FILES:${PN}-routel = "${base_sbindir}/routel"
+FILES:${PN}-bridge = "${base_sbindir}/bridge"
 
 RDEPENDS:${PN}-routel = "python3-core"
 
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch
index acda8f1..f079d93 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch
+++ b/poky/meta/recipes-connectivity/openssh/openssh/0001-systemd-Add-optional-support-for-systemd-sd_notify.patch
@@ -1,4 +1,4 @@
-From be187435911cde6cc3cef6982a508261074f1e56 Mon Sep 17 00:00:00 2001
+From b02ef7621758f06eb686ef4f620636dbad086eda Mon Sep 17 00:00:00 2001
 From: Matt Jolly <Matt.Jolly@footclan.ninja>
 Date: Thu, 2 Feb 2023 21:05:40 +1100
 Subject: [PATCH] systemd: Add optional support for systemd `sd_notify`
@@ -15,10 +15,10 @@
  2 files changed, 37 insertions(+)
 
 diff --git a/configure.ac b/configure.ac
-index 22fee70f..486c189f 100644
+index 82e8bb7..d1145d3 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -4835,6 +4835,29 @@ AC_SUBST([GSSLIBS])
+@@ -4870,6 +4870,29 @@ AC_SUBST([GSSLIBS])
  AC_SUBST([K5LIBS])
  AC_SUBST([CHANNELLIBS])
  
@@ -48,7 +48,7 @@
  # Looking for programs, paths and files
  
  PRIVSEP_PATH=/var/empty
-@@ -5634,6 +5657,7 @@ echo "                   libldns support: $LDNS_MSG"
+@@ -5688,6 +5711,7 @@ echo "                   libldns support: $LDNS_MSG"
  echo "  Solaris process contract support: $SPC_MSG"
  echo "           Solaris project support: $SP_MSG"
  echo "         Solaris privilege support: $SPP_MSG"
@@ -57,7 +57,7 @@
  echo "           Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
  echo "                  BSD Auth support: $BSD_AUTH_MSG"
 diff --git a/sshd.c b/sshd.c
-index 6321936c..859d6a0b 100644
+index b4f2b97..6820a41 100644
 --- a/sshd.c
 +++ b/sshd.c
 @@ -88,6 +88,10 @@
@@ -71,7 +71,7 @@
  #include "xmalloc.h"
  #include "ssh.h"
  #include "ssh2.h"
-@@ -310,6 +314,10 @@ static void
+@@ -308,6 +312,10 @@ static void
  sighup_restart(void)
  {
  	logit("Received SIGHUP; restarting.");
@@ -82,7 +82,7 @@
  	if (options.pid_file != NULL)
  		unlink(options.pid_file);
  	platform_pre_restart();
-@@ -2086,6 +2094,11 @@ main(int ac, char **av)
+@@ -2093,6 +2101,11 @@ main(int ac, char **av)
  			}
  		}
  
@@ -94,6 +94,3 @@
  		/* Accept a connection and return in a forked child */
  		server_accept_loop(&sock_in, &sock_out,
  		    &newsock, config_s);
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_9.7p1.bb
similarity index 98%
rename from poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb
rename to poky/meta/recipes-connectivity/openssh/openssh_9.7p1.bb
index edd8e8c..3b0b470 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_9.7p1.bb
@@ -28,7 +28,7 @@
            file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \
            file://0001-systemd-Add-optional-support-for-systemd-sd_notify.patch \
            "
-SRC_URI[sha256sum] = "910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c"
+SRC_URI[sha256sum] = "490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd"
 
 CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here."
 
diff --git a/poky/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch b/poky/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch
index 66f9a71..97a6357 100644
--- a/poky/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch
+++ b/poky/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch
@@ -1,4 +1,7 @@
-Subject: local.mk: fix cross compiling problem
+From 7cb2d20cfa2a27191255031d231cd41917dcffe8 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 26 Dec 2016 16:10:35 +0800
+Subject: [PATCH] local.mk: fix cross compiling problem
 
 We meet the following error when cross compiling.
 | Makefile:3418: *** Recursive variable 'INSTALL' references itself (eventually).  Stop.
@@ -12,15 +15,12 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/local.mk b/src/local.mk
-index 36dfa4e..c5898cc 100644
+index 96ee941..cdd47d6 100644
 --- a/src/local.mk
 +++ b/src/local.mk
-@@ -649,4 +649,4 @@ cu_install_program = @INSTALL_PROGRAM@
+@@ -704,4 +704,4 @@ cu_install_program = @INSTALL@
  else
  cu_install_program = src/ginstall
  endif
 -INSTALL = $(cu_install_program) -c
 +INSTALL_PROGRAM = $(cu_install_program)
--- 
-2.1.0
-
diff --git a/poky/meta/recipes-core/coreutils/coreutils/0001-posixtm-pacify-clang-18.patch b/poky/meta/recipes-core/coreutils/coreutils/0001-posixtm-pacify-clang-18.patch
deleted file mode 100644
index e6c84be..0000000
--- a/poky/meta/recipes-core/coreutils/coreutils/0001-posixtm-pacify-clang-18.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 67c298c36f69b6906840b7584be06b7b5f33f829 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Tue, 16 Jan 2024 17:21:08 -0800
-Subject: [PATCH] posixtm: pacify clang 18
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Khem Raj in:
-https://lists.gnu.org/r/bug-gnulib/2024-01/msg00045.html
-* lib/posixtm.c (posixtime): Pacify clang 18 by converting bool to int.
-Arguably this is a bug in draft C2x, since the non-pointer args to
-ckd_add should promote just like any other expressions do;
-but that’s not clang’s fault.
-
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00046.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ChangeLog     | 10 ++++++++++
- lib/posixtm.c |  2 +-
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/lib/posixtm.c b/lib/posixtm.c
-index ef9f55f873..a072c7cad0 100644
---- a/lib/posixtm.c
-+++ b/lib/posixtm.c
-@@ -191,7 +191,7 @@ posixtime (time_t *p, const char *s, unsigned int syntax_bits)
-              | (tm0.tm_min ^ tm1.tm_min)
-              | (tm0.tm_sec ^ tm1.tm_sec)))
-         {
--          if (ckd_add (&t, t, leapsec))
-+          if (ckd_add (&t, t, +leapsec))
-             return false;
-           *p = t;
-           return true;
--- 
-2.43.0
-
diff --git a/poky/meta/recipes-core/coreutils/coreutils/CVE-2024-0684.patch b/poky/meta/recipes-core/coreutils/coreutils/CVE-2024-0684.patch
deleted file mode 100644
index 0c68e2d..0000000
--- a/poky/meta/recipes-core/coreutils/coreutils/CVE-2024-0684.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c4c5ed8f4e9cd55a12966d4f520e3a13101637d9 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Tue, 16 Jan 2024 13:48:32 -0800
-Subject: [PATCH 1/1] split: do not shrink hold buffer
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-* src/split.c (line_bytes_split): Do not shrink hold buffer.
-If it’s large for this batch it’s likely to be large for the next
-batch, and for ‘split’ it’s not worth the complexity/CPU hassle to
-shrink it.  Do not assume hold_size can be bufsize.
-
-CVE: CVE-2024-0684
-Upstream-Status: Backport [https://github.com/coreutils/coreutils/commit/c4c5ed8f4e9cd55a12966d4f520e3a13101637d9]
-Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com>
----
- src/split.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/split.c b/src/split.c
-index 64020c859..037960a59 100644
---- a/src/split.c
-+++ b/src/split.c
-@@ -809,10 +809,7 @@ line_bytes_split (intmax_t n_bytes, char *buf, idx_t bufsize)
-             {
-               cwrite (n_out == 0, hold, n_hold);
-               n_out += n_hold;
--              if (n_hold > bufsize)
--                hold = xirealloc (hold, bufsize);
-               n_hold = 0;
--              hold_size = bufsize;
-             }
- 
-           /* Output to eol if present.  */
--- 
-2.11.4.GIT
-
-
diff --git a/poky/meta/recipes-core/coreutils/coreutils/remove-usr-local-lib-from-m4.patch b/poky/meta/recipes-core/coreutils/coreutils/remove-usr-local-lib-from-m4.patch
index 1a8a9b9..718de0a 100644
--- a/poky/meta/recipes-core/coreutils/coreutils/remove-usr-local-lib-from-m4.patch
+++ b/poky/meta/recipes-core/coreutils/coreutils/remove-usr-local-lib-from-m4.patch
@@ -1,4 +1,4 @@
-From a26530083a29eeee910bfd606ecc621acecd547a Mon Sep 17 00:00:00 2001
+From f53ffb5b27ab7d4a4c62df00ebd6a1a6936d1709 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 3 Aug 2011 14:12:30 -0700
 Subject: [PATCH] coreutils: Fix build on uclibc
@@ -12,16 +12,15 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
 Upstream-Status: Inappropriate [Upstream does care for AIX while we may not]
-
 ---
  m4/getloadavg.m4 | 12 ------------
  1 file changed, 12 deletions(-)
 
 diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4
-index 8e96965..63782a2 100644
+index 9d0236f..68f7c52 100644
 --- a/m4/getloadavg.m4
 +++ b/m4/getloadavg.m4
-@@ -41,18 +41,6 @@ AC_CHECK_FUNC([getloadavg], [],
+@@ -46,18 +46,6 @@ if test $ac_cv_func_getloadavg != yes; then
         [LIBS="-lutil $LIBS" gl_func_getloadavg_done=yes])
     fi
  
diff --git a/poky/meta/recipes-core/coreutils/coreutils_9.4.bb b/poky/meta/recipes-core/coreutils/coreutils_9.5.bb
similarity index 96%
rename from poky/meta/recipes-core/coreutils/coreutils_9.4.bb
rename to poky/meta/recipes-core/coreutils/coreutils_9.5.bb
index 62ecdea..9a5f836 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_9.5.bb
@@ -6,7 +6,7 @@
 BUGTRACKER = "http://debbugs.gnu.org/coreutils"
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
-                    file://src/ls.c;beginline=1;endline=15;md5=b720a8b317035d66c555fc6d89e3674c \
+                    file://src/ls.c;beginline=1;endline=15;md5=9ac94aaed7fd46fd8df7147a9e3410cb \
                     "
 DEPENDS = "gmp libcap"
 DEPENDS:class-native = ""
@@ -16,11 +16,9 @@
 SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
            file://remove-usr-local-lib-from-m4.patch \
            file://0001-local.mk-fix-cross-compiling-problem.patch \
-           file://0001-posixtm-pacify-clang-18.patch \
-           file://CVE-2024-0684.patch \
            file://run-ptest \
            "
-SRC_URI[sha256sum] = "ea613a4cf44612326e917201bbbcdfbd301de21ffc3b59b6e5c07e040b275e52"
+SRC_URI[sha256sum] = "cd328edeac92f6a665de9f323c93b712af1858bc2e0d88f3f7100469470a1b8a"
 
 # http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842
 #
diff --git a/poky/meta/recipes-core/ell/ell_0.63.bb b/poky/meta/recipes-core/ell/ell_0.64.bb
similarity index 89%
rename from poky/meta/recipes-core/ell/ell_0.63.bb
rename to poky/meta/recipes-core/ell/ell_0.64.bb
index 7ecb63a..c4f1690 100644
--- a/poky/meta/recipes-core/ell/ell_0.63.bb
+++ b/poky/meta/recipes-core/ell/ell_0.64.bb
@@ -15,7 +15,7 @@
 inherit autotools pkgconfig
 
 SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7397c76996d7646b9917ebf016cd67586b10166295af2e0e18cdb5b8f6659965"
+SRC_URI[sha256sum] = "760f3901078409f66cadf1bb24c8bdc60f13d53f6dd66b88631221d2494f8405"
 
 do_configure:prepend () {
     mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces
index e617fcf..3d0f0c6 100644
--- a/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces
+++ b/poky/meta/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces
@@ -14,10 +14,11 @@
 iface atml0 inet dhcp
 
 # Wired or wireless interfaces including predictable names
-auto /eth0
+auto eth0
 iface eth0 inet dhcp
 iface eth1 inet dhcp
 
+# Busybox ifupdown won't process /en* correctly
 auto /en*=eth
 iface eth inet dhcp
 
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.12.5.bb b/poky/meta/recipes-core/libxml/libxml2_2.12.6.bb
similarity index 97%
rename from poky/meta/recipes-core/libxml/libxml2_2.12.5.bb
rename to poky/meta/recipes-core/libxml/libxml2_2.12.6.bb
index 47c1a72..14fcff7 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.12.5.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.12.6.bb
@@ -20,7 +20,7 @@
            file://install-tests.patch \
            "
 
-SRC_URI[archive.sha256sum] = "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21"
+SRC_URI[archive.sha256sum] = "889c593a881a3db5fdd96cc9318c87df34eb648edfc458272ad46fd607353fbb"
 SRC_URI[testtar.sha256sum] = "c6b2d42ee50b8b236e711a97d68e6c4b5c8d83e69a2be4722379f08702ea7273"
 
 # Disputed as a security issue, but fixed in d39f780
diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb
index 6b67948..a5f6bb7 100644
--- a/poky/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb
@@ -13,6 +13,7 @@
     nativesdk-python3-testtools \
     nativesdk-python3-subunit \
     nativesdk-python3-pyyaml \
+    nativesdk-python3-websockets \
     nativesdk-ncurses-terminfo-base \
     nativesdk-chrpath \
     nativesdk-tar \
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 5b1353b..35ca8d1 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -26,13 +26,24 @@
            file://0004-reproducible.patch \
            "
 
-PV = "edk2-stable202308"
-SRCREV = "819cfc6b42a68790a23509e4fcc58ceb70e1965e"
+PV = "edk2-stable202402"
+SRCREV = "edc6681206c1a8791981a2f911d2fb8b3d2f5768"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
 
 CVE_PRODUCT = "edk2"
 CVE_VERSION = "${@d.getVar('PV').split('stable')[1]}"
 
+CVE_STATUS[CVE-2014-8271] = "fixed-version: Fixed in svn_16280, which is an unusual versioning breaking version comparison."
+CVE_STATUS[CVE-2014-4859] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2014-4860] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14553] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14559] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14562] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14563] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14575] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14586] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2019-14587] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
 inherit deploy
 
 PARALLEL_MAKE = ""
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
index d96d2f5..fecc333 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
@@ -37,4 +37,6 @@
 RRECOMMENDS:${PN} = "\
     ${VIRTUAL-RUNTIME_base-utils-syslog} \
     ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
-    ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "init-ifupdown", "", d)}"
+    ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "init-ifupdown", "", d)} \
+    ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit pni-names", "ifupdown", "", d)} \
+    "
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-NamePolicy.patch b/poky/meta/recipes-core/systemd/systemd/0001-NamePolicy.patch
deleted file mode 100644
index 46955cb..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-NamePolicy.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9bb09886320eb286108fb370b2634a66b3e3b9ff Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Thu, 21 Mar 2024 16:28:31 +0000
-Subject: [PATCH] systemd: enable mac based names in NamePolicy
-
-The default NamePolicy for network interface names does not
-include names based on mac addresses.  Some BSPs, though, do
-not provide information to compute other names, so we enable
-mac names as a last resort.
-
-Upstream-Status: Inappropriate [enable feature]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- network/99-default.link | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/network/99-default.link b/network/99-default.link
-index 429ac31e80..543ce54661 100644
---- a/network/99-default.link
-+++ b/network/99-default.link
-@@ -15,6 +15,6 @@
- OriginalName=*
- 
- [Link]
--NamePolicy=keep kernel database onboard slot path
--AlternativeNamesPolicy=database onboard slot path
-+NamePolicy=keep kernel database onboard slot path mac
-+AlternativeNamesPolicy=database onboard slot path mac
- MACAddressPolicy=persistent
--- 
-2.35.5
-
diff --git a/poky/meta/recipes-core/systemd/systemd_255.4.bb b/poky/meta/recipes-core/systemd/systemd_255.4.bb
index 8a816c4..e7498c8 100644
--- a/poky/meta/recipes-core/systemd/systemd_255.4.bb
+++ b/poky/meta/recipes-core/systemd/systemd_255.4.bb
@@ -28,7 +28,6 @@
            file://systemd-pager.sh \
            file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0008-implment-systemd-sysv-install-for-OE.patch \
-           file://0001-NamePolicy.patch \
            "
 
 # patches needed by musl
@@ -66,7 +65,7 @@
 "
 
 PACKAGECONFIG ??= " \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam pni-names selinux smack usrmerge polkit seccomp', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'minidebuginfo', 'coredump elfutils', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
@@ -197,6 +196,7 @@
 PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit"
 PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
 PACKAGECONFIG[pstore] = "-Dpstore=true,-Dpstore=false"
+PACKAGECONFIG[pni-names] = ",,,"
 PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode"
 PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
 PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
@@ -389,6 +389,15 @@
         sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \
             ${D}/${sysconfdir}/systemd/system.conf
     fi
+
+	if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', d)}; then
+		if ! grep -q '^NamePolicy=.*mac' ${D}${rootlibexecdir}/systemd/network/99-default.link; then
+			sed -i '/^NamePolicy=/s/$/ mac/' ${D}${rootlibexecdir}/systemd/network/99-default.link
+		fi
+		if ! grep -q 'AlternativeNamesPolicy=.*mac' ${D}${rootlibexecdir}/systemd/network/99-default.link; then
+			sed -i '/AlternativeNamesPolicy=/s/$/ mac/' ${D}${rootlibexecdir}/systemd/network/99-default.link
+		fi
+	fi
 }
 
 python populate_packages:prepend (){
diff --git a/poky/meta/recipes-core/ttyrun/ttyrun_2.31.0.bb b/poky/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb
similarity index 93%
rename from poky/meta/recipes-core/ttyrun/ttyrun_2.31.0.bb
rename to poky/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb
index 122dd9d..9a8be15 100644
--- a/poky/meta/recipes-core/ttyrun/ttyrun_2.31.0.bb
+++ b/poky/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f5118f167b055bfd7c3450803f1847af"
 
 SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master"
-SRCREV = "6f15ed326491a17d83ca60cd2bda47fb5e8a0175"
+SRCREV = "9eea78b3ad8ab3710fb3b2d80b9cd058d7c8aba7"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-core/udev/eudev/netifnames.patch b/poky/meta/recipes-core/udev/eudev/netifnames.patch
index 8f6e9a1..4f8e54d 100644
--- a/poky/meta/recipes-core/udev/eudev/netifnames.patch
+++ b/poky/meta/recipes-core/udev/eudev/netifnames.patch
@@ -2,7 +2,7 @@
 
 eudev might not create names based on slot or path.
 
-Upstream-Status: Submitted [github.com/eudev-project/eudev/pull/274]
+Upstream-Status: Backport [github.com/eudev-project/eudev/pull/274]
 
 Signed-off-by: Joe Slater <joe.slater@windriver.com>
 
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.7.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.8.bb
similarity index 97%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.7.1.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.8.bb
index 8132c2c..15cc7ac 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.7.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.8.bb
@@ -18,7 +18,7 @@
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master;protocol=https \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
            "
-SRCREV = "60abf7a90776c2405f616182ef6129474bbcb109"
+SRCREV = "3793e987d2b4e878410da16f33d963043d137d48"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= " \
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_1.0.4.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_1.1.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_1.0.4.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_1.1.0.bb
index f498bcb..1f97c99 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_1.0.4.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_1.1.0.bb
@@ -9,7 +9,7 @@
            file://0001-include-rpm-rpmstring.h.patch \
            "
 
-SRCREV = "4ade5ea5c4c636f045f29a2d8d8a57241fc5d24e"
+SRCREV = "10a8a7af4f1de3f98a21a7d08fe3a46ef306d197"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.19.2.bb
similarity index 98%
rename from poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.19.2.bb
index 184dbea..cc91dbe 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.19.2.bb
@@ -20,7 +20,7 @@
 
 SRC_URI:append:class-native = "file://0001-dnf-write-the-log-lock-to-root.patch"
 
-SRCREV = "566a61f9d8a2830ac6dcc3a94c59224cef1c3d03"
+SRCREV = "9b2b2e8ddab99caba4bc8059cab4263163172e81"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg.inc b/poky/meta/recipes-devtools/dpkg/dpkg.inc
index b3e8c05..4c1d42e 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/poky/meta/recipes-devtools/dpkg/dpkg.inc
@@ -11,7 +11,7 @@
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 
-inherit autotools gettext perlnative pkgconfig perl-version update-alternatives
+inherit autotools gettext perlnative pkgconfig perl-version update-alternatives bash-completion
 
 PERL:class-native = "${STAGING_BINDIR_NATIVE}/perl-native/perl"
 
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch
index 52e8570..b8a8697 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0001-Add-support-for-riscv32-CPU.patch
@@ -1,4 +1,4 @@
-From 279e4c274f5f295823cf9fa95d3ba131f6d711db Mon Sep 17 00:00:00 2001
+From 21459bb8d9a997e6a92885a4ef337ede9cc5aba7 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 29 Apr 2020 22:02:23 -0700
 Subject: [PATCH] Add support for riscv32 CPU
@@ -11,10 +11,10 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/data/cputable b/data/cputable
-index 9f2a8e0..1d935b1 100644
+index 575c008e3..7a801a03a 100644
 --- a/data/cputable
 +++ b/data/cputable
-@@ -41,6 +41,7 @@ powerpc		powerpc		(powerpc|ppc)		32	big
+@@ -43,6 +43,7 @@ powerpc		powerpc		(powerpc|ppc)		32	big
  powerpcel	powerpcle	powerpcle		32	little
  ppc64		powerpc64	(powerpc|ppc)64		64	big
  ppc64el		powerpc64le	powerpc64le		64	little
@@ -23,10 +23,10 @@
  s390		s390		s390			32	big
  s390x		s390x		s390x			64	big
 diff --git a/scripts/Dpkg/Vendor/Debian.pm b/scripts/Dpkg/Vendor/Debian.pm
-index a352bbd..fa1d90b 100644
+index fcf5b1e2a..175c9f436 100644
 --- a/scripts/Dpkg/Vendor/Debian.pm
 +++ b/scripts/Dpkg/Vendor/Debian.pm
-@@ -306,6 +306,7 @@ sub _add_build_flags {
+@@ -202,6 +202,7 @@ sub set_build_features {
          powerpc
          ppc64
          ppc64el
@@ -34,6 +34,3 @@
          riscv64
          s390x
          sparc
--- 
-2.26.2
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
index f2367c9..95a4905 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
@@ -1,4 +1,4 @@
-From e3ade3464b8a1129a55c2790cf114d9ae01e3cda Mon Sep 17 00:00:00 2001
+From 4c5e6c280a2ab4d2009d3264e94286f5fe244d0b Mon Sep 17 00:00:00 2001
 From: Paul Eggleton <paul.eggleton@linux.microsoft.com>
 Date: Tue, 16 Jun 2020 03:57:25 +0000
 Subject: [PATCH] build.c: ignore return of 1 from tar -cf
@@ -23,16 +23,15 @@
 Original patch by RP 2015/3/27, rebased by Paul Eggleton
 
 Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
-
 ---
  src/deb/build.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/src/deb/build.c b/src/deb/build.c
-index 76613adec..7c216d1a9 100644
+index 92aba9553..6436b33da 100644
 --- a/src/deb/build.c
 +++ b/src/deb/build.c
-@@ -482,6 +482,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -481,6 +481,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
  {
    int pipe_filenames[2], pipe_tarball[2];
    pid_t pid_tar, pid_comp;
@@ -40,7 +39,7 @@
  
    /* Fork off a tar. We will feed it a list of filenames on stdin later. */
    m_pipe(pipe_filenames);
-@@ -534,7 +535,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -533,7 +534,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
    /* All done, clean up wait for tar and <compress> to finish their job. */
    close(pipe_filenames[1]);
    subproc_reap(pid_comp, _("<compress> from tar -cf"), 0);
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch
index d66ab44..e8d8576 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0001-dpkg-Support-muslx32-build.patch
@@ -1,4 +1,4 @@
-From a328c8bec0bf8071ae8f20fee4c7475205064ba1 Mon Sep 17 00:00:00 2001
+From 1d192b60fc43e24e1c2d6ff452dabeee7a227cc0 Mon Sep 17 00:00:00 2001
 From: sweeaun <swee.aun.khor@intel.com>
 Date: Sun, 10 Sep 2017 00:14:15 -0700
 Subject: [PATCH] dpkg: Support muslx32 build
@@ -13,10 +13,10 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/data/ostable b/data/ostable
-index be64342..87db273 100644
+index 860355774..28779beca 100644
 --- a/data/ostable
 +++ b/data/ostable
-@@ -19,6 +19,7 @@ base-uclibc-linux	linux-uclibc		linux[^-]*-uclibc
+@@ -21,6 +21,7 @@ base-uclibc-linux	linux-uclibc		linux[^-]*-uclibc
  eabihf-musl-linux	linux-musleabihf	linux[^-]*-musleabihf
  eabi-musl-linux		linux-musleabi		linux[^-]*-musleabi
  base-musl-linux		linux-musl		linux[^-]*-musl
@@ -25,17 +25,14 @@
  eabi-gnu-linux		linux-gnueabi		linux[^-]*-gnueabi
  abin32-gnu-linux	linux-gnuabin32		linux[^-]*-gnuabin32
 diff --git a/data/tupletable b/data/tupletable
-index 28f00bf..748ffab 100644
+index 82ae3604e..707d85bdb 100644
 --- a/data/tupletable
 +++ b/data/tupletable
-@@ -10,6 +10,7 @@ base-uclibc-linux-<cpu>		uclibc-linux-<cpu>
+@@ -26,6 +26,7 @@ base-uclibc-linux-<cpu>		uclibc-linux-<cpu>
  eabihf-musl-linux-arm		musl-linux-armhf
  eabi-musl-linux-arm		musl-linux-armel
  base-musl-linux-<cpu>		musl-linux-<cpu>
 +x32-musl-linux-amd64		x32
- ilp32-gnu-linux-arm64		arm64ilp32
  eabihf-gnu-linux-arm		armhf
  eabi-gnu-linux-arm		armel
--- 
-2.7.4
-
+ eabi-gnu-linux-armeb		armeb
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
index ef5f7c3..fc097e5 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
@@ -1,8 +1,8 @@
-From b4ea54158c399874e12394ebc91afe98954695e2 Mon Sep 17 00:00:00 2001
+From 0cac67ce5920d6d0c9df4278bfa77da878a8a37a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 26 Aug 2015 16:16:16 +0300
-Subject: [PATCH 2/5] Adapt to linux-wrs kernel version, which has character
- '_' inside. Remove the first-char-digit-check (as the 1.15.8.5 version does).
+Subject: [PATCH] Adapt to linux-wrs kernel version, which has character '_'
+ inside. Remove the first-char-digit-check (as the 1.15.8.5 version does).
 
 Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
 Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
@@ -32,6 +32,4 @@
 +    if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~_", *ptr) == NULL)
        return dpkg_put_warn(err, _("invalid character in revision number"));
    }
-
--- 
-2.11.0
+ 
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
index bd4d5d5..916c7df 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
@@ -1,4 +1,4 @@
-From ff325b35639a797edd92b373fbebf7b8b9f3f0c3 Mon Sep 17 00:00:00 2001
+From b6c28222276704a1e1a544983e38dfa2f3fb481a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 26 Aug 2015 16:25:45 +0300
 Subject: [PATCH] Our pre/postinsts expect $D to be set when running in a
@@ -11,13 +11,12 @@
 ALIMON 2016/05/26
 ALIMON 2017/02/21
 KKang 2019/02/20
-
 ---
  src/main/script.c | 53 +++--------------------------------------------
  1 file changed, 3 insertions(+), 50 deletions(-)
 
 diff --git a/src/main/script.c b/src/main/script.c
-index ecce4d842..16f4e6ff5 100644
+index 017d92efe..181e7c710 100644
 --- a/src/main/script.c
 +++ b/src/main/script.c
 @@ -97,58 +97,11 @@ static const char *
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
index bbd5aba..35c0c24 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
@@ -1,8 +1,7 @@
-From adb6bfd0feeceaf030df0debe3343d7f73e708a0 Mon Sep 17 00:00:00 2001
+From 80ad29d22f8ca4033a6a79a726580fee17bdade9 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 26 Aug 2015 16:27:45 +0300
-Subject: [PATCH 4/5] The lutimes function doesn't work properly for all
- systems.
+Subject: [PATCH] The lutimes function doesn't work properly for all systems.
 
 Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
 
@@ -12,10 +11,10 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/src/main/archives.c b/src/main/archives.c
-index 92340b9..7a55c27 100644
+index 7e399f922..ec3b6878f 100644
 --- a/src/main/archives.c
 +++ b/src/main/archives.c
-@@ -490,8 +490,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
+@@ -491,8 +491,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
  
    if (te->type == TAR_FILETYPE_SYMLINK) {
  #ifdef HAVE_LUTIMES
@@ -26,6 +25,3 @@
  #endif
    } else {
      if (utimes(path, tv))
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0006-add-musleabi-to-known-target-tripets.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0006-add-musleabi-to-known-target-tripets.patch
index 8797ea5..8ac646b 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0006-add-musleabi-to-known-target-tripets.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0006-add-musleabi-to-known-target-tripets.patch
@@ -1,7 +1,10 @@
-From f8910022dc3ec622272f168cd0022dbdf6dff93a Mon Sep 17 00:00:00 2001
+From 1c9e78dda91ba66fbd8fe02b66b6c603d08d3343 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 30 Dec 2015 23:05:41 +0000
 Subject: [PATCH] add musleabi to known target tripets
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 helps compiling dpkg for musl/arm-softfloat
 
@@ -14,10 +17,10 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/data/ostable b/data/ostable
-index 99c1f889d..be6434271 100644
+index 64f424490..860355774 100644
 --- a/data/ostable
 +++ b/data/ostable
-@@ -17,6 +17,7 @@
+@@ -19,6 +19,7 @@
  eabi-uclibc-linux	linux-uclibceabi	linux[^-]*-uclibceabi
  base-uclibc-linux	linux-uclibc		linux[^-]*-uclibc
  eabihf-musl-linux	linux-musleabihf	linux[^-]*-musleabihf
@@ -26,17 +29,14 @@
  eabihf-gnu-linux	linux-gnueabihf		linux[^-]*-gnueabihf
  eabi-gnu-linux		linux-gnueabi		linux[^-]*-gnueabi
 diff --git a/data/tupletable b/data/tupletable
-index 5f500f6ca..28f00bfe6 100644
+index 7436f8056..82ae3604e 100644
 --- a/data/tupletable
 +++ b/data/tupletable
-@@ -8,6 +8,7 @@
+@@ -24,6 +24,7 @@
  eabi-uclibc-linux-arm		uclibc-linux-armel
  base-uclibc-linux-<cpu>		uclibc-linux-<cpu>
  eabihf-musl-linux-arm		musl-linux-armhf
 +eabi-musl-linux-arm		musl-linux-armel
  base-musl-linux-<cpu>		musl-linux-<cpu>
- ilp32-gnu-linux-arm64		arm64ilp32
  eabihf-gnu-linux-arm		armhf
--- 
-2.11.0
-
+ eabi-gnu-linux-arm		armel
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
index 117f923..3d3a4f0 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
@@ -1,7 +1,10 @@
-From 8659eeeeda74d71e12080121f0b13a88cbdda433 Mon Sep 17 00:00:00 2001
+From 6dd80236a91a505b5753bb74e5f1b47330d8b16b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
 Date: Tue, 21 Feb 2017 11:23:27 -0600
 Subject: [PATCH] dpkg-deb/build.c: Remove usage of --clamp-mtime in tar
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 Recently dpkg added --clamp-mtime to tar to create reproducible
 build tarballs [1].
@@ -24,10 +27,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/deb/build.c b/src/deb/build.c
-index 5c74ff3..76613ad 100644
+index 1f0c050ee..92aba9553 100644
 --- a/src/deb/build.c
 +++ b/src/deb/build.c
-@@ -505,7 +505,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -504,7 +504,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
  
      command_init(&cmd, TAR, "tar -cf");
      command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu",
@@ -36,6 +39,3 @@
      /* Mode might become a positional argument, pass it before -T. */
      if (options->mode)
        command_add_args(&cmd, "--mode", options->mode, NULL);
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch b/poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch
index d165616..cbdf01d 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/add_armeb_triplet_entry.patch
@@ -1,5 +1,11 @@
-Author: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
-Date:   Wed Apr 8 18:08:14 2015 +0530
+From 1c3a109df54b6092fa85a1fe2b7771e3b959655f Mon Sep 17 00:00:00 2001
+From: "Krishnanjanappa, Jagadeesh"
+ <jagadeesh.krishnanjanappa@caviumnetworks.com>
+Date: Wed, 8 Apr 2015 18:08:14 +0530
+Subject: [PATCH] dpkg: add triplet entry to fix build error for armeb
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
 [PATCH] add armeb triplet entry into triplettable.
 
@@ -25,24 +31,19 @@
 
 Signed-off-by: Krishnanjanappa, Jagadeesh <jagadeesh.krishnanjanappa@caviumnetworks.com>
 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
 ---
  data/tupletable | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/data/tupletable b/data/tupletable
-index b7802bec3..5f500f6ca 100644
+index ae9f2ddb4..7436f8056 100644
 --- a/data/tupletable
 +++ b/data/tupletable
-@@ -12,6 +12,7 @@ base-musl-linux-<cpu>		musl-linux-<cpu>
- ilp32-gnu-linux-arm64		arm64ilp32
+@@ -27,6 +27,7 @@ eabihf-musl-linux-arm		musl-linux-armhf
+ base-musl-linux-<cpu>		musl-linux-<cpu>
  eabihf-gnu-linux-arm		armhf
  eabi-gnu-linux-arm		armel
 +eabi-gnu-linux-armeb		armeb
  abin32-gnu-linux-mips64r6el	mipsn32r6el
  abin32-gnu-linux-mips64r6	mipsn32r6
  abin32-gnu-linux-mips64el	mipsn32el
--- 
-2.11.0
-
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/arch_pm.patch b/poky/meta/recipes-devtools/dpkg/dpkg/arch_pm.patch
index 4e0d22a..df2cd88 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/arch_pm.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/arch_pm.patch
@@ -1,3 +1,8 @@
+From bdf60ebbeb433a80e6cfcbde9d83d89564e79e20 Mon Sep 17 00:00:00 2001
+From: Joe Slater <jslater@windriver.com>
+Date: Mon, 26 Aug 2013 23:38:45 +0000
+Subject: [PATCH] dpkg: fix configuration issue for mips64
+
 configure cannot determine the proper cpu, os, or
 architecture for mips64, and possibly other arch's
 because of faulty code added to Arch.pm in the latest
@@ -6,16 +11,15 @@
 Upstream-Status: Pending
 
 Signed-off-by: Joe Slater <jslater@windriver.com>
-
 ---
  scripts/Dpkg/Arch.pm | 3 ---
  1 file changed, 3 deletions(-)
 
 diff --git a/scripts/Dpkg/Arch.pm b/scripts/Dpkg/Arch.pm
-index 1720847b8..6345ce3b9 100644
+index 0d352eeb9..4ef5fa307 100644
 --- a/scripts/Dpkg/Arch.pm
 +++ b/scripts/Dpkg/Arch.pm
-@@ -323,9 +323,6 @@ sub _load_tupletable()
+@@ -326,9 +326,6 @@ sub _load_tupletable()
  		    (my $dt = $debtuple) =~ s/<cpu>/$_cpu/;
  		    (my $da = $debarch) =~ s/<cpu>/$_cpu/;
  
@@ -25,5 +29,3 @@
  		    $debarch_to_debtuple{$da} = $dt;
  		    $debtuple_to_debarch{$dt} = $da;
  		}
--- 
-2.11.0
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch b/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch
index 6900716..e80549d 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch
@@ -1,11 +1,15 @@
-Upstream-Status: Inappropriate [disable feature]
+From 008ec5150dd086ffa3940cb520f1ca91939f138d Mon Sep 17 00:00:00 2001
+From: Chris Larson <kergoth@openedhand.com>
+Date: Tue, 5 Sep 2006 07:24:58 +0000
+Subject: [PATCH] Add dpkg, modified from upstream oe.
 
+Upstream-Status: Inappropriate [disable feature]
 ---
  Makefile.am | 1 -
  1 file changed, 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index d963a10..7cef7f5 100644
+index 7186045d4..daca9faf2 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -11,7 +11,6 @@ SUBDIRS = \
@@ -16,6 +20,3 @@
  	# EOL
  
  ACLOCAL_AMFLAGS = -I m4
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch b/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch
deleted file mode 100644
index e56b9d2..0000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg/pager.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-pager: Use less instead of pager
-
-pager is a Debianism. Istead use directly pager.
-
-Upstream-Status: Inappropriate [OE-Core integration specific]
-
-Suggested-by: Burton, Ross <ross.burton@intel.com>
-Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
-diff --git a/lib/dpkg/dpkg.h b/lib/dpkg/dpkg.h
-index 2bb067a..6cbce80 100644
---- a/lib/dpkg/dpkg.h
-+++ b/lib/dpkg/dpkg.h
-@@ -95,7 +95,7 @@ DPKG_BEGIN_DECLS
- #define MAXUPDATES         250
- 
- #define DEFAULTSHELL        "sh"
--#define DEFAULTPAGER        "pager"
-+#define DEFAULTPAGER        "less"
- 
- #define MD5HASHLEN           32
- #define MAXTRIGDIRECTIVE     256
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch b/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
index ebf838f..9307725 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
@@ -1,4 +1,8 @@
-busybox-1.19.4 tar utility doesn't support --warning=no-timestamp
+From add92699ca1397205e1d7b46c3ab43de06b9a6c7 Mon Sep 17 00:00:00 2001
+From: Constantin Musca <constantinx.musca@intel.com>
+Date: Tue, 28 Aug 2012 17:02:40 +0300
+Subject: [PATCH] busybox-1.19.4 tar utility doesn't support
+ --warning=no-timestamp
 
 Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
 
@@ -8,10 +12,10 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/src/deb/extract.c b/src/deb/extract.c
-index a1b2dc0..95e2372 100644
+index 8b78a7eab..fd7595808 100644
 --- a/src/deb/extract.c
 +++ b/src/deb/extract.c
-@@ -333,7 +333,6 @@ extracthalf(const char *debar, const char *dir,
+@@ -338,7 +338,6 @@ extracthalf(const char *debar, const char *dir,
  
        command_add_arg(&cmd, "-f");
        command_add_arg(&cmd, "-");
@@ -19,6 +23,3 @@
  
        m_dup2(p2[0],0);
        close(p2[0]);
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.22.5.bb
similarity index 91%
rename from poky/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb
rename to poky/meta/recipes-devtools/dpkg/dpkg_1.22.5.bb
index 7eaae9f..9f1d00e 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.22.5.bb
@@ -12,12 +12,11 @@
            file://0006-add-musleabi-to-known-target-tripets.patch \
            file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \
            file://0001-dpkg-Support-muslx32-build.patch \
-           file://pager.patch \
            file://0001-Add-support-for-riscv32-CPU.patch \
            "
 
 SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
 
-SRCREV = "744487c98a622b9b38c22c6ca330315af4a30a11"
+SRCREV = "1c92a4a8bfbeea30ceb0109b096c4ec845e3c6ce"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Fix-failure-crash-of-sgdisk-when-compiled-with-lates.patch b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Fix-failure-crash-of-sgdisk-when-compiled-with-lates.patch
deleted file mode 100644
index 095d00b..0000000
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Fix-failure-crash-of-sgdisk-when-compiled-with-lates.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e7f9c9909c27d6ceed5aa4ca17023a1bc94b620a Mon Sep 17 00:00:00 2001
-From: Rod Smith <rodsmith@rodsbooks.com>
-Date: Fri, 15 Apr 2022 18:10:14 -0400
-Subject: [PATCH] Fix failure & crash of sgdisk when compiled with latest popt
- (commit 740; presumably eventually release 1.19)
-
-Upstream-Status: Backport [https://sourceforge.net/p/gptfdisk/code/ci/5d5e76d369a412bfb3d2cebb5fc0a7509cef878d/]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- NEWS     | 8 ++++++++
- gptcl.cc | 2 +-
- 2 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index c7add56..9e153fd 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,3 +1,11 @@
-+1.0.10 (?/??/2022):
-+-------------------
-+
-+- Fixed problem that caused sgdisk to crash with errors about being unable
-+  to read the disk's partition table when compiled with the latest popt
-+  (commit 740, which is pre-release as I type; presumably version 1.19 and
-+  later once released).
-+
- 1.0.9 (4/14/2022):
- ------------------
- 
-diff --git a/gptcl.cc b/gptcl.cc
-index 34c9421..0d578eb 100644
---- a/gptcl.cc
-+++ b/gptcl.cc
-@@ -155,7 +155,7 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
-    } // while
- 
-    // Assume first non-option argument is the device filename....
--   device = (char*) poptGetArg(poptCon);
-+   device = strdup((char*) poptGetArg(poptCon));
-    poptResetContext(poptCon);
- 
-    if (device != NULL) {
--- 
-2.35.5
-
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Updated-guid.cc-to-deal-with-minor-change-in-libuuid.patch b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Updated-guid.cc-to-deal-with-minor-change-in-libuuid.patch
deleted file mode 100644
index f358081..0000000
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Updated-guid.cc-to-deal-with-minor-change-in-libuuid.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c640d9011a8330ebaad501784fb0ee1ce5e7a5ef Mon Sep 17 00:00:00 2001
-From: Rod Smith <rodsmith@rodsbooks.com>
-Date: Sat, 16 Apr 2022 09:32:04 -0400
-Subject: [PATCH] Updated guid.cc to deal with minor change in libuuid
-
-Upstream-Status: Backport [https://sourceforge.net/p/gptfdisk/code/ci/6a8416cbd12d55f882bb751993b94f72d338d96f/]
-Signed-off-by: Peter Bergin <peter@berginkonsult.se>
----
- guid.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/guid.cc b/guid.cc
-index 1e73ab7..d3e4fd5 100644
---- a/guid.cc
-+++ b/guid.cc
-@@ -141,7 +141,7 @@ void GUIDData::Zero(void) {
- void GUIDData::Randomize(void) {
-    int i, uuidGenerated = 0;
- 
--#ifdef _UUID_UUID_H
-+#if defined (_UUID_UUID_H) || defined (_UL_LIBUUID_UUID_H)
-    uuid_generate(uuidData);
-    ReverseBytes(&uuidData[0], 4);
-    ReverseBytes(&uuidData[4], 2);
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Use-64bit-time_t-on-linux-as-well.patch b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Use-64bit-time_t-on-linux-as-well.patch
deleted file mode 100644
index 80e6f1b..0000000
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-Use-64bit-time_t-on-linux-as-well.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cbdbabcc14e4ae4debcc64e41c0bb97d47b4eeef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 12 Dec 2022 12:50:07 -0800
-Subject: [PATCH] Use 64bit time_t on linux as well
-
-Alias 64bit version of stat functions to original functions
-we are already passing -D_FILE_OFFSET_BITS=64 in linux Makefile
-
-Upstream-Status: Submitted [https://sourceforge.net/p/gptfdisk/code/merge-requests/29/]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- diskio-unix.cc | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/diskio-unix.cc b/diskio-unix.cc
-index 7780aeb..0897c56 100644
---- a/diskio-unix.cc
-+++ b/diskio-unix.cc
-@@ -37,8 +37,12 @@
- 
- using namespace std;
- 
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined(__linux__)
- #define off64_t off_t
-+#define stat64 stat
-+#define fstat64 fstat
-+#define lstat64 lstat
-+#define lseek64 lseek
- #endif
- 
- // Returns the official "real" name for a shortened version of same.
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch
index 266afbf..011eec3 100644
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch
+++ b/poky/meta/recipes-devtools/fdisk/gptfdisk/0001-gptcurses-correctly-include-curses.h.patch
@@ -1,17 +1,16 @@
-From 6bc6e867c5b3a774c0d7819ee5a3d2885e97caa9 Mon Sep 17 00:00:00 2001
+From 510d0d27f90dfb1c4afd0722580bb8a828b52b7f Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 30 Mar 2020 17:11:19 +0200
 Subject: [PATCH] gptcurses: correctly include curses.h
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gptcurses.cc | 4 ----
  1 file changed, 4 deletions(-)
 
 diff --git a/gptcurses.cc b/gptcurses.cc
-index 71aa734..4ebfde1 100644
+index b476700..476fc43 100644
 --- a/gptcurses.cc
 +++ b/gptcurses.cc
 @@ -23,11 +23,7 @@
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk/popt-1.19-follow-up.patch b/poky/meta/recipes-devtools/fdisk/gptfdisk/popt-1.19-follow-up.patch
deleted file mode 100644
index c7fa965..0000000
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk/popt-1.19-follow-up.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f5de3401b974ce103ffd93af8f9d43505a04aaf9 Mon Sep 17 00:00:00 2001
-From: Damian Kurek <starfire24680@gmail.com>
-Date: Thu, 7 Jul 2022 03:39:16 +0000
-Subject: [PATCH] Fix NULL dereference when duplicating string argument
-
-poptGetArg can return NULL if there are no additional arguments, which
-makes strdup dereference NULL on strlen
-
-Upstream-Status: Submitted [https://sourceforge.net/p/gptfdisk/code/merge-requests/28/]
-
----
- gptcl.cc | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gptcl.cc b/gptcl.cc
-index 0d578eb..ab95239 100644
---- a/gptcl.cc
-+++ b/gptcl.cc
-@@ -155,10 +155,11 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
-    } // while
- 
-    // Assume first non-option argument is the device filename....
--   device = strdup((char*) poptGetArg(poptCon));
--   poptResetContext(poptCon);
-+   device = (char*) poptGetArg(poptCon);
- 
-    if (device != NULL) {
-+      device = strdup(device);
-+      poptResetContext(poptCon);
-       JustLooking(); // reset as necessary
-       BeQuiet(); // Tell called functions to be less verbose & interactive
-       if (LoadPartitions((string) device)) {
-@@ -498,6 +499,7 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
-          cerr << "Error encountered; not saving changes.\n";
-          retval = 4;
-       } // if
-+      free(device);
-    } // if (device != NULL)
-    poptFreeContext(poptCon);
-    return retval;
-
diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.9.bb b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.10.bb
similarity index 77%
rename from poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.9.bb
rename to poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.10.bb
index cf0a60a..ba89193 100644
--- a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.9.bb
+++ b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.10.bb
@@ -9,12 +9,8 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \
            file://0001-gptcurses-correctly-include-curses.h.patch \
-           file://0001-Updated-guid.cc-to-deal-with-minor-change-in-libuuid.patch \
-           file://0001-Fix-failure-crash-of-sgdisk-when-compiled-with-lates.patch \
-           file://0001-Use-64bit-time_t-on-linux-as-well.patch \
-           file://popt-1.19-follow-up.patch \
            "
-SRC_URI[sha256sum] = "dafead2693faeb8e8b97832b23407f6ed5b3219bc1784f482dd855774e2d50c2"
+SRC_URI[sha256sum] = "2abed61bc6d2b9ec498973c0440b8b804b7a72d7144069b5a9209b2ad693a282"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/"
 UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.20.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb
similarity index 94%
rename from poky/meta/recipes-devtools/libcomps/libcomps_0.1.20.bb
rename to poky/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb
index 1f59c5e..91170df 100644
--- a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.20.bb
+++ b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb
@@ -8,7 +8,7 @@
            file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            "
 
-SRCREV = "854fbb9fe733b774981e1ffcf825b2d2ce0f8072"
+SRCREV = "2e973ce22698dd64f472180e3a689755268fb06b"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.73.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.73.1.bb
similarity index 96%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.73.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.73.1.bb
index dc2ddf9..3ab840b 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.73.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.73.1.bb
@@ -13,7 +13,7 @@
            file://armarch.patch \
            "
 
-SRCREV = "1f30b3479528e8b62754f9047195c8e5a31f07ed"
+SRCREV = "0120e70747dcf05e716792e2e846c62eccd44319"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index e1d5fc4..c4fd73f 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -17,14 +17,14 @@
 # could be 'rcX' or 'git' or empty ( for release )
 VER_SUFFIX = ""
 
-PV = "18.1.2${VER_SUFFIX}"
+PV = "18.1.3${VER_SUFFIX}"
 
 MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
 
 LLVM_RELEASE = "${PV}"
 
 BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "26a1d6601d727a96f4301d0d8647b5a42760ae0c"
+SRCREV = "c13b7485b87909fcf739f62cfa382b55407433c0"
 SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
            file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
index 4b27528..a40d79c 100644
--- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -11,9 +11,9 @@
 DEPENDS = "zlib e2fsprogs util-linux"
 RDEPENDS:mtd-utils-tests += "bash"
 
-PV = "2.1.6"
+PV = "2.2.0"
 
-SRCREV = "219e741f40f4801bae263e0b581b64888d887b4a"
+SRCREV = "31e990c56aba7584cde310685d663bb122f16003"
 SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/perl/liburi-perl_5.27.bb b/poky/meta/recipes-devtools/perl/liburi-perl_5.28.bb
similarity index 94%
rename from poky/meta/recipes-devtools/perl/liburi-perl_5.27.bb
rename to poky/meta/recipes-devtools/perl/liburi-perl_5.28.bb
index e5db7b3..1fc0efd 100644
--- a/poky/meta/recipes-devtools/perl/liburi-perl_5.27.bb
+++ b/poky/meta/recipes-devtools/perl/liburi-perl_5.28.bb
@@ -12,7 +12,7 @@
            file://0001-Skip-TODO-test-cases-that-fail.patch \
            "
 
-SRC_URI[sha256sum] = "11962d8a8a8496906e5d34774affc235a1c95c112d390c0b4171f3e91e9e2a97"
+SRC_URI[sha256sum] = "e7985da359b15efd00917fa720292b711c396f2f9f9a7349e4e7dec74aa79765"
 
 S = "${WORKDIR}/URI-${PV}"
 
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_2.1.1.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/pkgconf/pkgconf_2.1.1.bb
rename to poky/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb
index 33d6945..e98458e 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_2.1.1.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb
@@ -20,7 +20,7 @@
     file://pkg-config-native.in \
     file://pkg-config-esdk.in \
 "
-SRC_URI[sha256sum] = "3a224f2accf091b77a5781316e27b9ee3ba82c083cc2e539e08940b68a44fec5"
+SRC_URI[sha256sum] = "b06ff63a83536aa8c2f6422fa80ad45e4833f590266feb14eaddfe1d4c853c69"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 025cf0f..c70b509 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -14,7 +14,7 @@
     file://older-glibc-symbols.patch"
 SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa"
 
-SRCREV = "516a0a3c4b46f046895d27bfa019d685fe462dfa"
+SRCREV = "0d292df61aeb886ae8ca33d9edc3b6d0ff5c0f0f"
 S = "${WORKDIR}/git"
 PV = "1.9.0+git"
 
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index e54926a..2235aa9 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -9,7 +9,7 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6"
+SRC_URI[sha256sum] = "a2d354f059d1f055d34cfaa62c5b68bc78ac2ceab6407148d47fb508cf3ba4f3"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-pyasn1.inc b/poky/meta/recipes-devtools/python/python-pyasn1.inc
index 530ff1c..7b269f2 100644
--- a/poky/meta/recipes-devtools/python/python-pyasn1.inc
+++ b/poky/meta/recipes-devtools/python/python-pyasn1.inc
@@ -3,7 +3,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=190f79253908c986e6cacf380c3a5f6d"
 
-SRC_URI[sha256sum] = "6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c"
+SRC_URI[sha256sum] = "3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"
 
 RDEPENDS:${PN}:class-target += " \
     python3-codecs \
diff --git a/poky/meta/recipes-devtools/python/python3-beartype_0.17.2.bb b/poky/meta/recipes-devtools/python/python3-beartype_0.18.2.bb
similarity index 74%
rename from poky/meta/recipes-devtools/python/python3-beartype_0.17.2.bb
rename to poky/meta/recipes-devtools/python/python3-beartype_0.18.2.bb
index 05fd745..1b6ab6a 100644
--- a/poky/meta/recipes-devtools/python/python3-beartype_0.17.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-beartype_0.18.2.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e71f94261c1b39896cacacfeaf60560e"
 
-SRC_URI[sha256sum] = "e911e1ae7de4bccd15745f7643609d8732f64de5c2fb844e89cbbed1c5a8d495"
+SRC_URI[sha256sum] = "a6fbc0be9269889312388bfec6a9ddf41bf8fe31b68bcf9c8239db35cd38f411"
 
 inherit setuptools3 pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3-build_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-build_1.2.1.bb
similarity index 89%
rename from poky/meta/recipes-devtools/python/python3-build_1.1.1.bb
rename to poky/meta/recipes-devtools/python/python3-build_1.2.1.bb
index 7fc3eef..0156861 100644
--- a/poky/meta/recipes-devtools/python/python3-build_1.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-build_1.2.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c"
 
-SRC_URI[sha256sum] = "8eea65bb45b1aac2e734ba2cc8dad3a6d97d97901a395bd0ed3e7b46953d2a31"
+SRC_URI[sha256sum] = "526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-cython_3.0.8.bb b/poky/meta/recipes-devtools/python/python3-cython_3.0.9.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-cython_3.0.8.bb
rename to poky/meta/recipes-devtools/python/python3-cython_3.0.9.bb
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.42.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.43.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.42.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.43.bb
index 19885a5..45c9881 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.42.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.43.bb
@@ -12,7 +12,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "2d99869e0fef71a73cbd242528105af1d6c1b108c60dfabd994bf292f76c3ceb"
+SRC_URI[sha256sum] = "35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"
 
 DEPENDS += " python3-gitdb"
 
diff --git a/poky/meta/recipes-devtools/python/python3-hatchling_1.21.1.bb b/poky/meta/recipes-devtools/python/python3-hatchling_1.22.4.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-hatchling_1.21.1.bb
rename to poky/meta/recipes-devtools/python/python3-hatchling_1.22.4.bb
index 09d936a..d2f32d8 100644
--- a/poky/meta/recipes-devtools/python/python3-hatchling_1.21.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-hatchling_1.22.4.bb
@@ -8,7 +8,7 @@
 DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native"
 DEPENDS:remove:class-native = "python3-hatchling-native"
 
-SRC_URI[sha256sum] = "bba440453a224e7d4478457fa2e8d8c3633765bafa02975a6b53b9bf917980bc"
+SRC_URI[sha256sum] = "8a2dcec96d7fb848382ef5848e5ac43fdae641f35a08a3fab5116bd495f3416e"
 
 do_compile:prepend() {
     export PYTHONPATH=src
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.98.15.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.99.4.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.98.15.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.99.4.bb
index a17abe5..64b8cf2 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.98.15.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.99.4.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "1e31210951511b24ce8b3b6e04d791c466385a30ac3af571bf2223954b025d77"
+SRC_URI[sha256sum] = "edc8f984dba5d1b69a6a4564246b7850fa7ec351d2b27c9e7a43c91deab8d45c"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_7.0.1.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_7.1.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-importlib-metadata_7.0.1.bb
rename to poky/meta/recipes-devtools/python/python3-importlib-metadata_7.1.0.bb
index 0d3f0a5..fdb37ce 100644
--- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_7.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_7.1.0.bb
@@ -8,7 +8,7 @@
 PYPI_PACKAGE = "importlib_metadata"
 UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
 
-SRC_URI[sha256sum] = "f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"
+SRC_URI[sha256sum] = "b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"
 
 S = "${WORKDIR}/importlib_metadata-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_5.0.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-libarchive-c_5.0.bb
rename to poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb
index 6ac86fc..4e318e5 100644
--- a/poky/meta/recipes-devtools/python/python3-libarchive-c_5.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb
@@ -9,7 +9,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "d673f56673d87ec740d1a328fa205cafad1d60f5daca4685594deb039d32b159"
+SRC_URI[sha256sum] = "7bcce24ea6c0fa3bc62468476c6d2f6264156db2f04878a372027c10615a2721"
 
 RDEPENDS:${PN} += "\
   libarchive \
diff --git a/poky/meta/recipes-devtools/python/python3-license-expression_30.2.0.bb b/poky/meta/recipes-devtools/python/python3-license-expression_30.3.0.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-license-expression_30.2.0.bb
rename to poky/meta/recipes-devtools/python/python3-license-expression_30.3.0.bb
index 7059cf7..f36336b 100644
--- a/poky/meta/recipes-devtools/python/python3-license-expression_30.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-license-expression_30.3.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "599928edd995c43fc335e0af342076144dc71cb858afa1ed9c1c30c4e81794f5"
+SRC_URI[sha256sum] = "1295406f736b4f395ff069aec1cebfad53c0fcb3cf57df0f5ec58fc7b905aea5"
 
 inherit pypi ptest python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-lxml_5.0.0.bb b/poky/meta/recipes-devtools/python/python3-lxml_5.1.0.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3-lxml_5.0.0.bb
rename to poky/meta/recipes-devtools/python/python3-lxml_5.1.0.bb
index 66cb8b0..4371908 100644
--- a/poky/meta/recipes-devtools/python/python3-lxml_5.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-lxml_5.1.0.bb
@@ -18,11 +18,10 @@
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[sha256sum] = "2219cbf790e701acf9a21a31ead75f983e73daf0eceb9da6990212e4d20ebefe"
+SRC_URI[sha256sum] = "3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca"
 
 SRC_URI += "${PYPI_SRC_URI}"
 inherit pkgconfig pypi setuptools3
-PYPI_PACKAGE_EXT = "zip"
 
 # {standard input}: Assembler messages:
 # {standard input}:1488805: Error: branch out of range
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.5.2.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.6.bb
similarity index 64%
rename from poky/meta/recipes-devtools/python/python3-markdown_3.5.2.bb
rename to poky/meta/recipes-devtools/python/python3-markdown_3.6.bb
index 1df7a98..7c64837 100644
--- a/poky/meta/recipes-devtools/python/python3-markdown_3.5.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.6.bb
@@ -1,12 +1,12 @@
 SUMMARY = "A Python implementation of John Gruber's Markdown."
 HOMEPAGE = "https://python-markdown.github.io/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ec58cdf7cfed06a21f7a9362627a5480"
 
 inherit pypi python_setuptools_build_meta
 
 PYPI_PACKAGE = "Markdown"
-SRC_URI[sha256sum] = "e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8"
+SRC_URI[sha256sum] = "ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/python/python3-packaging_23.2.bb b/poky/meta/recipes-devtools/python/python3-packaging_24.0.bb
similarity index 83%
rename from poky/meta/recipes-devtools/python/python3-packaging_23.2.bb
rename to poky/meta/recipes-devtools/python/python3-packaging_24.0.bb
index 2d35936..0942eeb 100644
--- a/poky/meta/recipes-devtools/python/python3-packaging_23.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-packaging_24.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0 | BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
 
-SRC_URI[sha256sum] = "048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"
+SRC_URI[sha256sum] = "eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1_0.5.1.bb b/poky/meta/recipes-devtools/python/python3-pyasn1_0.6.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-pyasn1_0.5.1.bb
rename to poky/meta/recipes-devtools/python/python3-pyasn1_0.6.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3-pyelftools_0.30.bb b/poky/meta/recipes-devtools/python/python3-pyelftools_0.31.bb
similarity index 82%
rename from poky/meta/recipes-devtools/python/python3-pyelftools_0.30.bb
rename to poky/meta/recipes-devtools/python/python3-pyelftools_0.31.bb
index 837edb7..551fed6 100644
--- a/poky/meta/recipes-devtools/python/python3-pyelftools_0.30.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyelftools_0.31.bb
@@ -4,7 +4,7 @@
 LICENSE = "PD"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
 
-SRC_URI[sha256sum] = "2fc92b0d534f8b081f58c7c370967379123d8e00984deb53c209364efd575b40"
+SRC_URI[sha256sum] = "c774416b10310156879443b81187d182d8d9ee499660380e645918b50bc88f99"
 
 PYPI_PACKAGE = "pyelftools"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.46.0.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.48.1.bb
similarity index 93%
rename from poky/meta/recipes-devtools/python/python3-pygobject_3.46.0.bb
rename to poky/meta/recipes-devtools/python/python3-pygobject_3.48.1.bb
index 73a3930..4754e41 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.46.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.48.1.bb
@@ -19,7 +19,7 @@
 SRCNAME="pygobject"
 
 SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "426008b2dad548c9af1c7b03b59df0440fde5c33f38fb5406b103a43d653cafc"
+SRC_URI[sha256sum] = "3a0a2c0c0f25931b5840649c54834b9e58a63148d37fa9f6308887b7027e15c2"
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyopenssl_24.0.0.bb b/poky/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-pyopenssl_24.0.0.bb
rename to poky/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb
index 9ea3075..e714ad8 100644
--- a/poky/meta/recipes-devtools/python/python3-pyopenssl_24.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb
@@ -5,7 +5,7 @@
 
 DEPENDS += "openssl python3-cryptography"
 
-SRC_URI[sha256sum] = "6aa33039a93fffa4563e655b61d11364d01264be8ccb49906101e02a334530bf"
+SRC_URI[sha256sum] = "cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f"
 
 PYPI_PACKAGE = "pyOpenSSL"
 inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.1.bb b/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.2.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-pyparsing_3.1.1.bb
rename to poky/meta/recipes-devtools/python/python3-pyparsing_3.1.2.bb
index 6f34091..64210ad 100644
--- a/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.2.bb
@@ -10,7 +10,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1"
 
-SRC_URI[sha256sum] = "ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"
+SRC_URI[sha256sum] = "a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"
 
 UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.11.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.12.1.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-pytest-subtests_0.11.0.bb
rename to poky/meta/recipes-devtools/python/python3-pytest-subtests_0.12.1.bb
index 44fa1e2..0590be7 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.11.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.12.1.bb
@@ -7,7 +7,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1"
 
-SRC_URI[sha256sum] = "51865c88457545f51fb72011942f0a3c6901ee9e24cbfb6d1b9dc1348bafbe37"
+SRC_URI[sha256sum] = "d6605dcb88647e0b7c1889d027f8ef1c17d7a2c60927ebfdc09c7b0d8120476d"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_8.0.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_8.1.1.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python/python3-pytest_8.0.2.bb
rename to poky/meta/recipes-devtools/python/python3-pytest_8.1.1.bb
index 57e979e..b1cf23f 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_8.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_8.1.1.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c"
 
-SRC_URI[sha256sum] = "d4051d623a2e0b7e51960ba963193b09ce6daeb9759a451844a21e4ddedfc1bd"
+SRC_URI[sha256sum] = "ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/poky/meta/recipes-devtools/python/python3-referencing_0.33.0.bb b/poky/meta/recipes-devtools/python/python3-referencing_0.34.0.bb
similarity index 81%
rename from poky/meta/recipes-devtools/python/python3-referencing_0.33.0.bb
rename to poky/meta/recipes-devtools/python/python3-referencing_0.34.0.bb
index 5b50932..9388fca 100644
--- a/poky/meta/recipes-devtools/python/python3-referencing_0.33.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-referencing_0.34.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=93eb9740964b59e9ba30281255b044e2"
 
-SRC_URI[sha256sum] = "c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"
+SRC_URI[sha256sum] = "5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"
 
 inherit pypi python_hatchling
 
diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.6.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.7.0.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-scons_4.6.0.bb
rename to poky/meta/recipes-devtools/python/python3-scons_4.7.0.bb
index c3cc3f0..bba6c79 100644
--- a/poky/meta/recipes-devtools/python/python3-scons_4.6.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons_4.7.0.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7"
 
 SRC_URI += " file://0001-Fix-man-page-installation.patch"
-SRC_URI[sha256sum] = "7db28958b188b800f803c287d0680cc3ac7c422ed0b1cf9895042c52567803ec"
+SRC_URI[sha256sum] = "d8b617f6610a73e46509de70dcf82f76861b79762ff602d546f4e80918ec81f3"
 
 PYPI_PACKAGE = "SCons"
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 2a3c71f..e227c28 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 40648dfa770f9f7b9b9efa501c9ef7af96be9f2d Mon Sep 17 00:00:00 2001
+From 80fe63816eb3bfd1f5b6d354e1f2442805cff4e0 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 17 Jul 2018 10:13:38 +0800
 Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -14,10 +14,10 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 5d6fd5c..377e575 100644
+index 858fb20..62bd853 100644
 --- a/setuptools/command/easy_install.py
 +++ b/setuptools/command/easy_install.py
-@@ -676,6 +676,11 @@ class easy_install(Command):
+@@ -672,6 +672,11 @@ class easy_install(Command):
              os.path.exists(tmpdir) and _rmtree(tmpdir)
  
      def easy_install(self, spec, deps=False):
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_69.1.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_69.2.0.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3-setuptools_69.1.1.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_69.2.0.bb
index 77d4e0a..897398a 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_69.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_69.2.0.bb
@@ -11,7 +11,7 @@
 SRC_URI += " \
             file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
 
-SRC_URI[sha256sum] = "5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"
+SRC_URI[sha256sum] = "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e"
 
 DEPENDS += "python3"
 
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.2.23.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.3.3.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.2.23.bb
rename to poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.3.3.bb
index 8514a52..b912efc 100644
--- a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.2.23.bb
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.3.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "8385160a12aac69c93fff058fb613472ed773a24a27eb3cd4b144cfbdd79f38c"
+SRC_URI[sha256sum] = "df7edff9c67ff86b733628998330b180e81d125b1e096536d83ac0fd79673fdc"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3-typing-extensions_4.10.0.bb b/poky/meta/recipes-devtools/python/python3-typing-extensions_4.11.0.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-typing-extensions_4.10.0.bb
rename to poky/meta/recipes-devtools/python/python3-typing-extensions_4.11.0.bb
index 8698a80..ad45b66 100644
--- a/poky/meta/recipes-devtools/python/python3-typing-extensions_4.10.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-typing-extensions_4.11.0.bb
@@ -15,7 +15,7 @@
 # The name on PyPi is slightly different.
 PYPI_PACKAGE = "typing_extensions"
 
-SRC_URI[sha256sum] = "b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"
+SRC_URI[sha256sum] = "83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-websockets_12.0.bb b/poky/meta/recipes-devtools/python/python3-websockets_12.0.bb
new file mode 100644
index 0000000..f89c3b6
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-websockets_12.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
+HOMEPAGE = "https://github.com/aaugustin/websockets"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=51924a6af4495b8cfaee1b1da869b6f4"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN} = " \
+    python3-asyncio \
+    python3-profile \
+"
diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.42.0.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.43.0.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-wheel_0.42.0.bb
rename to poky/meta/recipes-devtools/python/python3-wheel_0.43.0.bb
index 807888e..ba309ae 100644
--- a/poky/meta/recipes-devtools/python/python3-wheel_0.42.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-wheel_0.43.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf"
 
-SRC_URI[sha256sum] = "c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8"
+SRC_URI[sha256sum] = "465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85"
 
 inherit python_flit_core pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.17.0.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.18.1.bb
similarity index 84%
rename from poky/meta/recipes-devtools/python/python3-zipp_3.17.0.bb
rename to poky/meta/recipes-devtools/python/python3-zipp_3.18.1.bb
index e9e220e..e434324 100644
--- a/poky/meta/recipes-devtools/python/python3-zipp_3.17.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-zipp_3.18.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=141643e11c48898150daa83802dbc65f"
 
-SRC_URI[sha256sum] = "84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"
+SRC_URI[sha256sum] = "2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/poky/meta/recipes-devtools/repo/repo_2.42.bb b/poky/meta/recipes-devtools/repo/repo_2.44.bb
similarity index 94%
rename from poky/meta/recipes-devtools/repo/repo_2.42.bb
rename to poky/meta/recipes-devtools/repo/repo_2.44.bb
index 9bb5000..8758978 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.42.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.44.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
            "
-SRCREV = "5554572f02537b8646139d59ab520e59e1d5f7b3"
+SRCREV = "fff1d2d74c2078b62cc9c2561330e41a842dc197"
 
 MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
 
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch b/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
index 96fe57d..25aa69d 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
@@ -1,11 +1,10 @@
-From ecc45e3ae837ab50603088dcc8fd2f8e67a7ece6 Mon Sep 17 00:00:00 2001
+From f4cf90b5a298d6a3199e8b4c07f520aaf593ce2b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 9 Mar 2017 18:54:02 +0200
 Subject: [PATCH] Add a color setting for mips64_n32 binaries
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  build/rpmfc.c | 4 ++++
  rpmrc.in      | 2 ++
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch b/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch
index 5053caa..e4edc88 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch
@@ -1,4 +1,4 @@
-From ca4655f36c3c7883eb50381902890b23f0e8aaab Mon Sep 17 00:00:00 2001
+From c39a074ff3c4d21c100d387661c7d725b5eae7b0 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Wed, 29 Nov 2023 14:06:15 +0100
 Subject: [PATCH] CMakeLists.txt: look for lua with pkg-config rather than
@@ -8,16 +8,15 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
 ---
  CMakeLists.txt | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7f0630453..d0ea565f3 100644
+index 4a383ceba..ed847c09a 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -187,7 +187,7 @@ set(REQFUNCS
+@@ -190,7 +190,7 @@ set(REQFUNCS
  )
  
  find_package(PkgConfig REQUIRED)
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-restore-readline-support-as-an-explic.patch b/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-restore-readline-support-as-an-explic.patch
deleted file mode 100644
index db83b17..0000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-restore-readline-support-as-an-explic.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 3c2e529c6cc1bae4bc94cbed7358c6e0cdd2de02 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Tue, 16 Jan 2024 13:43:36 +0100
-Subject: [PATCH] CMakeLists.txt: restore readline support as an explicit
- option
-
-This was lost in autotools -> cmake transition. The particular
-reason to make it explicit is that readline is gpl version 3
-licensed, and in some builds components under that license
-need to be excluded.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/2852]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- CMakeLists.txt | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0a474106e..89e27417f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -31,6 +31,7 @@ option(WITH_AUDIT "Build with audit support" ON)
- option(WITH_FSVERITY "Build with fsverity support" OFF)
- option(WITH_IMAEVM "Build with IMA support" OFF)
- option(WITH_FAPOLICYD "Build with fapolicyd support" ON)
-+option(WITH_READLINE "Build with readline support" ON)
- 
- set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/rpm" CACHE PATH "rpm home")
- set(RPM_VENDOR "vendor" CACHE STRING "rpm vendor string")
-@@ -193,7 +194,11 @@ find_package(BZip2)
- find_package(Iconv)
- 
- pkg_check_modules(POPT REQUIRED IMPORTED_TARGET popt)
--pkg_check_modules(READLINE IMPORTED_TARGET readline)
-+
-+if (WITH_READLINE)
-+    pkg_check_modules(READLINE REQUIRED IMPORTED_TARGET readline)
-+endif()
-+
- pkg_check_modules(ZSTD IMPORTED_TARGET libzstd>=1.3.8)
- pkg_check_modules(LIBELF IMPORTED_TARGET libelf)
- pkg_check_modules(LIBDW IMPORTED_TARGET libdw)
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
index df55438..d0ed711 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch
@@ -1,4 +1,4 @@
-From d77429bf20d138ec8ce577c0080cae1f1bc2aa6f Mon Sep 17 00:00:00 2001
+From 86e585cc0dd06dfa20f584af8b59d52a59accb45 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 9 Jan 2017 18:52:11 +0200
 Subject: [PATCH] Do not add an unsatisfiable dependency when building rpms in
@@ -9,7 +9,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  build/pack.c | 4 ----
  1 file changed, 4 deletions(-)
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
index b056d19..b571a0a 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch
@@ -1,4 +1,4 @@
-From 7948f21e08bc7552b281ed0098a9c8099d2370cb Mon Sep 17 00:00:00 2001
+From 73d6841d9ef2a8ac7bd63f9645a3efe8038dfdd4 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 27 Feb 2017 09:43:30 +0200
 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for
@@ -6,19 +6,18 @@
 
 Upstream-Status: Denied [https://github.com/rpm-software-management/rpm/pull/263]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 2 +-
  macros.in      | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2767915fb..7f0630453 100644
+index 7808115c1..4a383ceba 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -32,7 +32,7 @@ option(WITH_FSVERITY "Build with fsverity support" OFF)
- option(WITH_IMAEVM "Build with IMA support" OFF)
+@@ -33,7 +33,7 @@ option(WITH_IMAEVM "Build with IMA support" OFF)
  option(WITH_FAPOLICYD "Build with fapolicyd support" ON)
+ option(WITH_READLINE "Build with readline support" ON)
  
 -set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/lib/rpm" CACHE PATH "rpm home")
 +set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/rpm" CACHE PATH "rpm home")
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch
index 6a18679..796088d 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch
@@ -1,20 +1,19 @@
-From 4f34994d9ad38d96976578a9d1a006f72e5aca50 Mon Sep 17 00:00:00 2001
+From e210458d125793915abce30420d866a30305c37a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 10 Jan 2017 14:11:30 +0200
 Subject: [PATCH] Do not read config files from $HOME
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  lib/rpmrc.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/lib/rpmrc.c b/lib/rpmrc.c
-index 269d490ac..f39dcfc11 100644
+index 9437a0ff1..483585ae4 100644
 --- a/lib/rpmrc.c
 +++ b/lib/rpmrc.c
-@@ -458,8 +458,7 @@ static void setDefaults(void)
+@@ -459,8 +459,7 @@ static void setDefaults(void)
      if (!defrcfiles) {
  	defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":",
  				confdir, "/" RPM_VENDOR "/rpmrc", ":",
@@ -24,7 +23,7 @@
      }
  
  #ifndef MACROFILES
-@@ -471,8 +470,7 @@ static void setDefaults(void)
+@@ -472,8 +471,7 @@ static void setDefaults(void)
    				confdir, "/" RPM_VENDOR "/macros", ":",
  				SYSCONFDIR "/rpm/macros.*", ":",
  				SYSCONFDIR "/rpm/macros", ":",
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
index 318f65e..328fbf8 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch
@@ -1,4 +1,4 @@
-From 25beba1efc31901a3bb0b1b6f0604d6583dc0513 Mon Sep 17 00:00:00 2001
+From a8fe7a7a2e41c9f127ed26407d57076babcb89e8 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 20 Jan 2017 13:32:06 +0200
 Subject: [PATCH] Do not reset the PATH environment variable before running
@@ -8,13 +8,12 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  lib/rpmscript.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index 36e37cf77..37ada014c 100644
+index 57689bb68..7b7e26606 100644
 --- a/lib/rpmscript.c
 +++ b/lib/rpmscript.c
 @@ -252,7 +252,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes,
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Fix-unconditional-dependency-on-non-POSIX-GLOB_ONLYD.patch b/poky/meta/recipes-devtools/rpm/files/0001-Fix-unconditional-dependency-on-non-POSIX-GLOB_ONLYD.patch
deleted file mode 100644
index 8e73e07..0000000
--- a/poky/meta/recipes-devtools/rpm/files/0001-Fix-unconditional-dependency-on-non-POSIX-GLOB_ONLYD.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 1b3a182f38895de5ea8dda5a77867345845fb967 Mon Sep 17 00:00:00 2001
-From: Panu Matilainen <pmatilai@redhat.com>
-Date: Mon, 18 Dec 2023 12:25:04 +0200
-Subject: [PATCH] Fix unconditional dependency on non-POSIX GLOB_ONLYDIR flag
-
-This regressed when we axed our internal glob copy in commit
-66fa46c006bae0f28d93238b8f7f1c923645eee5. Luckily GLOB_ONLYDIR is only
-an optimization so we can just skip it if not available.
-
-Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/57f3711846f44da0f37cbc5dd66e8fba80a3bee1]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- CMakeLists.txt  | 1 +
- config.h.in     | 1 +
- rpmio/rpmglob.c | 2 ++
- 3 files changed, 4 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d0ea565f3..0a474106e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -351,6 +351,7 @@ if (LIBDW_FOUND)
- 	set(HAVE_LIBDW 1)
- endif()
- 
-+check_symbol_exists(GLOB_ONLYDIR "glob.h" HAVE_GLOB_ONLYDIR)
- check_symbol_exists(major "sys/sysmacros.h" MAJOR_IN_SYSMACROS)
- if (NOT MAJOR_IN_SYSMACROS)
- 	check_symbol_exists(major "sys/mkdev.h" MAJOR_IN_MKDEV)
-diff --git a/config.h.in b/config.h.in
-index cb97827d0..ab1757a9a 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -100,6 +100,7 @@
- #cmakedefine HAVE_ZSTD @HAVE_ZSTD@
- #cmakedefine HAVE___PROGNAME @HAVE___PROGNAME@
- #cmakedefine HAVE___SECURE_GETENV @HAVE___SECURE_GETENV@
-+#cmakedefine HAVE_GLOB_ONLYDIR @HAVE_GLOB_ONLYDIR@
- #cmakedefine MAJOR_IN_MKDEV @MAJOR_IN_MKDEV@
- #cmakedefine MAJOR_IN_SYSMACROS @MAJOR_IN_SYSMACROS@
- #cmakedefine RUNDIR @rundir@
-diff --git a/rpmio/rpmglob.c b/rpmio/rpmglob.c
-index 8276eddb4..243568766 100644
---- a/rpmio/rpmglob.c
-+++ b/rpmio/rpmglob.c
-@@ -84,8 +84,10 @@ int rpmGlobPath(const char * pattern, rpmglobFlags flags,
-     gflags |= GLOB_BRACE;
-     if (home != NULL && strlen(home) > 0) 
- 	gflags |= GLOB_TILDE;
-+#if HAVE_GLOB_ONLYDIR
-     if (dir_only)
- 	gflags |= GLOB_ONLYDIR;
-+#endif
-     if (flags & RPMGLOB_NOCHECK)
- 	gflags |= GLOB_NOCHECK;
- 
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
index fc89b44..e4251a1 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch
@@ -1,4 +1,4 @@
-From 82e6d1ad126df88c58120a31fc025691039db7f3 Mon Sep 17 00:00:00 2001
+From 34c0d3263f3e0b366a2320e0823f46673f7ba928 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 17 Jan 2017 14:07:17 +0200
 Subject: [PATCH] When cross-installing, execute package scriptlets without
@@ -24,13 +24,12 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  lib/rpmscript.c | 11 ++++++++---
  1 file changed, 8 insertions(+), 3 deletions(-)
 
 diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index b18f851a3..36e37cf77 100644
+index 3f6313278..57689bb68 100644
 --- a/lib/rpmscript.c
 +++ b/lib/rpmscript.c
 @@ -448,8 +448,7 @@ exit:
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
index 5820b2e..2f6397a 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch
@@ -1,4 +1,4 @@
-From ebe65b0e8622c37463697dcec779a42290c33810 Mon Sep 17 00:00:00 2001
+From ae4fdd8e8d052835973e6ff4b7550f93bde30a98 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Tue, 31 Aug 2021 10:37:05 +0200
 Subject: [PATCH] build/pack.c: do not insert payloadflags into .rpm metadata
@@ -9,7 +9,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
 ---
  build/pack.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch b/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
index 8b9f1f7..98e52da 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch
@@ -1,4 +1,4 @@
-From bfceae7386b5fec108f98ad59ad96e57aecb08d3 Mon Sep 17 00:00:00 2001
+From b04ecb793a3c859985eead5e261785b27a4c4a20 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Thu, 7 May 2020 17:40:58 +0800
 Subject: [PATCH] lib/transaction.c: fix file conflicts for MIPS64 N32
@@ -27,7 +27,6 @@
 Upstream-Status: Submitted <https://github.com/rpm-software-management/rpm/issues/193>
 
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
 ---
  lib/transaction.c | 13 ++++++++++++-
  1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch b/poky/meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch
index 388694d..55108e7 100644
--- a/poky/meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch
@@ -1,4 +1,4 @@
-From 7894b508a61bb87f05f7eb0a1e912a2422f4fcd2 Mon Sep 17 00:00:00 2001
+From 58bf006646a063837c46b695f7e7ebb69bee7238 Mon Sep 17 00:00:00 2001
 From: Mark Hatle <mark.hatle@windriver.com>
 Date: Tue, 15 Aug 2017 16:41:57 -0500
 Subject: [PATCH] perl: disable auto requires
@@ -12,7 +12,6 @@
 Upstream-Status: Inappropriate [OE specific configuration]
 
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
 ---
  fileattrs/perl.attr    | 2 +-
  fileattrs/perllib.attr | 2 +-
diff --git a/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch b/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch
index 89c23f8..c5caa7d 100644
--- a/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch
@@ -1,4 +1,4 @@
-From e53c0e2586bc6f4677db3c6898a6428283a6b785 Mon Sep 17 00:00:00 2001
+From d7143dc4e75c8bcc5cc4c852a4b972942b7e4d07 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 20 Jan 2017 13:33:05 +0200
 Subject: [PATCH] Add support for prefixing /etc from RPM_ETCCONFIGDIR
@@ -9,16 +9,15 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  lib/rpmrc.c | 19 ++++++++++++++-----
  1 file changed, 14 insertions(+), 5 deletions(-)
 
 diff --git a/lib/rpmrc.c b/lib/rpmrc.c
-index f39dcfc11..f27f88753 100644
+index 483585ae4..ea858c290 100644
 --- a/lib/rpmrc.c
 +++ b/lib/rpmrc.c
-@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const char * name,
+@@ -456,10 +456,14 @@ const char * lookupInDefaultTable(const char * name,
  static void setDefaults(void)
  {
      const char *confdir = rpmConfigDir();
@@ -34,7 +33,7 @@
      }
  
  #ifndef MACROFILES
-@@ -468,9 +472,9 @@ static void setDefaults(void)
+@@ -469,9 +473,9 @@ static void setDefaults(void)
  				confdir, "/platform/%{_target}/macros", ":",
  				confdir, "/fileattrs/*.attr", ":",
    				confdir, "/" RPM_VENDOR "/macros", ":",
@@ -47,7 +46,7 @@
      }
  #else
      macrofiles = MACROFILES;
-@@ -1114,7 +1118,11 @@ static void read_auxv(void)
+@@ -1115,7 +1119,11 @@ static void read_auxv(void)
   */
  static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
  {
@@ -60,7 +59,7 @@
      static struct utsname un;
      char * chptr;
      canonEntry canon;
-@@ -1434,6 +1442,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
+@@ -1435,6 +1443,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
  
      if (arch) *arch = un.machine;
      if (os) *os = un.sysname;
diff --git a/poky/meta/recipes-devtools/rpm/files/0002-docs-CMakeLists.txt-do-not-install-non-existent-docs.patch b/poky/meta/recipes-devtools/rpm/files/0002-docs-CMakeLists.txt-do-not-install-non-existent-docs.patch
deleted file mode 100644
index e7f0adc..0000000
--- a/poky/meta/recipes-devtools/rpm/files/0002-docs-CMakeLists.txt-do-not-install-non-existent-docs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4e388caabf0906f09d697b8d08623a022f7270b2 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Wed, 29 Nov 2023 14:09:06 +0100
-Subject: [PATCH] docs/CMakeLists.txt: do not install non-existent docs/html
-
-Building html would require doxygen-native.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
----
- docs/CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
-index 52dce7b4e..c01ff7757 100644
---- a/docs/CMakeLists.txt
-+++ b/docs/CMakeLists.txt
-@@ -18,7 +18,6 @@ if (DOXYGEN_FOUND)
- elseif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html/index.html)
- 	set(doxsrc ${CMAKE_CURRENT_SOURCE_DIR})
- endif()
--install(DIRECTORY ${doxsrc}/html/ DESTINATION ${CMAKE_INSTALL_DOCDIR}/API)
- 
- install(FILES
- 	README.md
diff --git a/poky/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch b/poky/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch
index 3d4b09b..23dce30 100644
--- a/poky/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch
@@ -1,4 +1,4 @@
-From f78e05544fb5ae9ef688963f19666f1af34c3d5c Mon Sep 17 00:00:00 2001
+From 29c2a0c18b0c773128bf62c611b4c53fe4471105 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Tue, 16 Jan 2024 09:59:26 +0100
 Subject: [PATCH] rpmio/rpmglob.c: avoid using GLOB_BRACE if undefined by C
diff --git a/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch b/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
index b3d57cc..732202c 100644
--- a/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
+++ b/poky/meta/recipes-devtools/rpm/files/0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch
@@ -1,4 +1,4 @@
-From 0005ab544230020e854e9709b2bc0501702c2968 Mon Sep 17 00:00:00 2001
+From f01d9c24bb86bc47ad2453483518dbb25953cac7 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 10 Jan 2019 18:14:18 +0100
 Subject: [PATCH] rpmscript.c: change logging level around scriptlets to INFO
@@ -9,13 +9,12 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  lib/rpmscript.c | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/lib/rpmscript.c b/lib/rpmscript.c
-index 37ada014c..bab0c97a6 100644
+index 7b7e26606..1dcd23be5 100644
 --- a/lib/rpmscript.c
 +++ b/lib/rpmscript.c
 @@ -291,7 +291,7 @@ static char * writeScript(const char *cmd, const char *script)
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.19.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.19.1.1.bb
similarity index 95%
rename from poky/meta/recipes-devtools/rpm/rpm_4.19.1.bb
rename to poky/meta/recipes-devtools/rpm/rpm_4.19.1.1.bb
index a495f7c..0802f26 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.19.1.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.19.1.1.bb
@@ -37,14 +37,11 @@
            file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \
            file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \
            file://0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch \
-           file://0002-docs-CMakeLists.txt-do-not-install-non-existent-docs.patch \
            file://0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch \
-           file://0001-Fix-unconditional-dependency-on-non-POSIX-GLOB_ONLYD.patch \
-           file://0001-CMakeLists.txt-restore-readline-support-as-an-explic.patch \
            "
 
 PE = "1"
-SRCREV = "98b301ebb44fb5cabb56fc24bc3aaa437c47c038"
+SRCREV = "13b4521341781293c41ac898aa9c2d2f6bc1f21d"
 
 S = "${WORKDIR}/git"
 
@@ -135,6 +132,8 @@
 	sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
             -e 's:${STAGING_DIR_NATIVE}/::g' \
 	    ${D}/${libdir}/rpm/macros
+	sed -i -e 's:${RECIPE_SYSROOT}/::g' \
+	    ${D}/${libdir}/cmake/rpm/rpm-targets.cmake
 
 }
 
diff --git a/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch b/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
index 8895ada..2379de8 100644
--- a/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
+++ b/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
@@ -1,4 +1,4 @@
-From 651425fced0691d9063fe417388ba6ca1c38c40b Mon Sep 17 00:00:00 2001
+From 2beb35c34c45320144f37b12ef4d72fb8734280e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 29 Aug 2022 19:53:28 -0700
 Subject: [PATCH] Add missing prototypes to function declarations
@@ -15,7 +15,6 @@
 
 Upstream-Status: Submitted [https://lists.samba.org/archive/rsync/2022-August/032858.html]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  checksum.c       | 2 +-
  exclude.c        | 2 +-
@@ -30,10 +29,10 @@
  10 files changed, 12 insertions(+), 13 deletions(-)
 
 diff --git a/checksum.c b/checksum.c
-index 60de365..67a9e16 100644
+index cb21882..736818b 100644
 --- a/checksum.c
 +++ b/checksum.c
-@@ -778,7 +778,7 @@ static void verify_digest(struct name_num_item *nni, BOOL check_auth_list)
+@@ -779,7 +779,7 @@ static void verify_digest(struct name_num_item *nni, BOOL check_auth_list)
  }
  #endif
  
@@ -43,7 +42,7 @@
  #if defined SUPPORT_XXH3 || defined USE_OPENSSL
  	struct name_num_item *nni;
 diff --git a/exclude.c b/exclude.c
-index ffe55b1..a85ea76 100644
+index 87edbcf..ae0de2f 100644
 --- a/exclude.c
 +++ b/exclude.c
 @@ -363,7 +363,7 @@ void implied_include_partial_string(const char *s_start, const char *s_end)
@@ -96,10 +95,10 @@
  	int options = LOG_PID;
  
 diff --git a/main.c b/main.c
-index d2a7b9b..c50af45 100644
+index 0c60b86..4bc664a 100644
 --- a/main.c
 +++ b/main.c
-@@ -244,7 +244,7 @@ void read_del_stats(int f)
+@@ -246,7 +246,7 @@ void read_del_stats(int f)
  	stats.deleted_files += stats.deleted_specials = read_varint(f);
  }
  
diff --git a/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch b/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
index 92ed1f4..0c9ce8b 100644
--- a/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
+++ b/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
@@ -1,4 +1,4 @@
-From 81700d1a0e51391028c761cc8ef1cd660084d114 Mon Sep 17 00:00:00 2001
+From f446686c26c499e15ef17d495a93cfbc20e16090 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 12 Apr 2016 15:51:54 +0100
 Subject: [PATCH] rsync: remove upstream's rebuild logic
@@ -8,16 +8,15 @@
 
 Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@intel.com>
-
 ---
  Makefile.in | 54 -----------------------------------------------------
  1 file changed, 54 deletions(-)
 
 diff --git a/Makefile.in b/Makefile.in
-index 3cde955..d963a70 100644
+index a1253e5..a084935 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -190,60 +190,6 @@ gensend: gen
+@@ -192,60 +192,6 @@ gensend: gen
  	fi
  	rsync -aic $(GENFILES) git-version.h $${SAMBA_HOST-samba.org}:/home/ftp/pub/rsync/generated-files/ || true
  
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.2.7.bb b/poky/meta/recipes-devtools/rsync/rsync_3.3.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/rsync/rsync_3.2.7.bb
rename to poky/meta/recipes-devtools/rsync/rsync_3.3.0.bb
index 130581a..b420263 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.2.7.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.3.0.bb
@@ -16,7 +16,7 @@
            file://determism.patch \
            file://0001-Add-missing-prototypes-to-function-declarations.patch \
            "
-SRC_URI[sha256sum] = "4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb"
+SRC_URI[sha256sum] = "7399e9a6708c32d678a72a63219e96f23be0be2336e50fd1348498d07041df90"
 
 inherit autotools-brokensep
 
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch
index 2e31568..7402e76 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch
@@ -1,7 +1,7 @@
-From a6e12b25a54d112c899b70c89c0bec9c5e5ebf3c Mon Sep 17 00:00:00 2001
+From caa03f46a3204a7e0f0e5d9d9cc9113304dc0382 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
 Date: Mon, 30 Sep 2019 16:57:01 +0100
-Subject: [PATCH 1/3] extmk: fix cross-compilation of external gems
+Subject: [PATCH] extmk: fix cross-compilation of external gems
 MIME-Version: 1.0
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
@@ -16,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/ext/extmk.rb b/ext/extmk.rb
-index 1389dc4117..e4d923d7a7 100755
+index 428ffc9..87eff71 100755
 --- a/ext/extmk.rb
 +++ b/ext/extmk.rb
-@@ -413,8 +413,8 @@ def $mflags.defined?(var)
+@@ -420,8 +420,8 @@ else
  end
  $ruby = [$ruby]
  $ruby << "-I'$(topdir)'"
@@ -29,6 +29,3 @@
    $ruby << "-I'$(extout)/$(arch)'" << "-I'$(extout)/common'" if $extout
    ENV["RUBYLIB"] = "-"
  end
--- 
-2.23.0.rc1
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-fiddle-Use-C11-_Alignof-to-define-ALIGN_OF-when-poss.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-fiddle-Use-C11-_Alignof-to-define-ALIGN_OF-when-poss.patch
deleted file mode 100644
index 1dff9c0..0000000
--- a/poky/meta/recipes-devtools/ruby/ruby/0001-fiddle-Use-C11-_Alignof-to-define-ALIGN_OF-when-poss.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 6b3c202b46b9312c5bb0789145f13d8086e70948 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Jan 2023 02:34:17 -0800
-Subject: [PATCH] fiddle: Use C11 _Alignof to define ALIGN_OF when possible
-
-WG14 N2350 made very clear that it is an UB having type definitions
-within "offsetof" [1]. This patch enhances the implementation of macro
-ALIGN_OF to use builtin "_Alignof" to avoid undefined behavior
-when using std=c11 or newer
-
-clang 16+ has started to flag this [2]
-
-Fixes build when using -std >= gnu11 and using clang16+
-
-Older compilers gcc < 4.9 or clang < 8 has buggy _Alignof even though it
-may support C11, exclude those compiler versions
-
-[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm
-[2] https://reviews.llvm.org/D133574
-
-Upstream-Status: Submitted [https://github.com/ruby/fiddle/pull/120]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ext/fiddle/fiddle.h | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/ext/fiddle/fiddle.h b/ext/fiddle/fiddle.h
-index 10eb9ce..ffb395e 100644
---- a/ext/fiddle/fiddle.h
-+++ b/ext/fiddle/fiddle.h
-@@ -196,7 +196,17 @@
- #endif
- #define TYPE_UINTPTR_T (-TYPE_INTPTR_T)
- 
--#define ALIGN_OF(type) offsetof(struct {char align_c; type align_x;}, align_x)
-+/* GCC releases before GCC 4.9 had a bug in _Alignof.  See GCC bug 52023
-+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
-+   clang versions < 8.0.0 have the same bug.  */
-+#if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
-+     || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
-+         && !defined __clang__) \
-+     || (defined __clang__ && __clang_major__ < 8))
-+# define ALIGN_OF(type) offsetof(struct {char align_c; type align_x;}, align_x)
-+#else
-+# define ALIGN_OF(type) _Alignof(type)
-+#endif
- 
- #define ALIGN_VOIDP  ALIGN_OF(void*)
- #define ALIGN_CHAR   ALIGN_OF(char)
--- 
-2.39.0
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch
deleted file mode 100644
index 226ef3a..0000000
--- a/poky/meta/recipes-devtools/ruby/ruby/0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2368d07660a93a2c41d63f3ab6054ca4daeef820 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 17 Nov 2020 18:31:40 +0000
-Subject: [PATCH] template/Makefile.in: do not write host cross-cc items into
- target config
-
-This helps reproducibility.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- template/Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/template/Makefile.in b/template/Makefile.in
-index 10dc826..940ee07 100644
---- a/template/Makefile.in
-+++ b/template/Makefile.in
-@@ -657,11 +657,11 @@ mjit_config.h:
- 	echo '#endif'; \
- 	quote MJIT_MIN_HEADER_NAME "$(MJIT_MIN_HEADER_NAME)"; \
- 	sep=,; \
--	quote "MJIT_CC_COMMON  " $(MJIT_CC); \
-+	quote "MJIT_CC_COMMON  " ; \
- 	quote "MJIT_CFLAGS      MJIT_ARCHFLAG" $(MJIT_CFLAGS); \
- 	quote "MJIT_OPTFLAGS   " $(MJIT_OPTFLAGS); \
- 	quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \
--	quote "MJIT_LDSHARED   " $(MJIT_LDSHARED); \
-+	quote "MJIT_LDSHARED   " ; \
- 	quote "MJIT_DLDFLAGS    MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
- 	quote "MJIT_LIBS       " $(LIBRUBYARG_SHARED); \
- 	quote 'PRELOADENV       "@PRELOADENV@"'; \
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch
index f7b7adb..67054d6 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch
@@ -1,4 +1,4 @@
-From dfb22e4d6662bf72879eda806eaa78c7b52b519e Mon Sep 17 00:00:00 2001
+From 980dcc5380db6f03451357140ae1487117300156 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 25 Jan 2022 20:29:14 -0800
 Subject: [PATCH] vm_dump.c: Define REG_S1 and REG_S2 for musl/riscv
@@ -14,7 +14,7 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/vm_dump.c b/vm_dump.c
-index a98f5aa..957b785 100644
+index 444be4a..8a081a7 100644
 --- a/vm_dump.c
 +++ b/vm_dump.c
 @@ -39,6 +39,11 @@
@@ -29,6 +29,3 @@
  #define VM_CFP_CNT(ec, cfp) \
    ((rb_control_frame_t *)((ec)->vm_stack + (ec)->vm_stack_size) - \
     (rb_control_frame_t *)(cfp))
--- 
-2.35.0
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch b/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
index 96ae862..f3a65e7 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
@@ -1,20 +1,19 @@
-From 21d8e7700fa0a9c4bf569dd366134060ae858832 Mon Sep 17 00:00:00 2001
+From 7f7facb85bd65adec24230fe8ca7f6a9863a1fd0 Mon Sep 17 00:00:00 2001
 From: Christopher Larson <chris_larson@mentor.com>
 Date: Thu, 5 May 2016 10:59:07 -0700
 Subject: [PATCH] Obey LDFLAGS for the link of libruby
 
 Signed-off-by: Christopher Larson <chris_larson@mentor.com>
 Upstream-Status: Pending
-
 ---
  template/Makefile.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/template/Makefile.in b/template/Makefile.in
-index 1456313..15b98a4 100644
+index 8c462f2..2200c8c 100644
 --- a/template/Makefile.in
 +++ b/template/Makefile.in
-@@ -127,7 +127,7 @@ ENABLE_SHARED = @ENABLE_SHARED@
+@@ -115,7 +115,7 @@ ENABLE_SHARED = @ENABLE_SHARED@
  LDSHARED = @LIBRUBY_LDSHARED@
  DLDSHARED = @DLDSHARED@
  XDLDFLAGS = @DLDFLAGS@
@@ -22,4 +21,4 @@
 +DLDFLAGS = @LIBRUBY_DLDFLAGS@ @LDFLAGS@ $(XLDFLAGS) $(ARCH_FLAG)
  SOLIBS = @SOLIBS@
  ENABLE_DEBUG_ENV = @ENABLE_DEBUG_ENV@
- MAINLIBS = $(YJIT_LIBS) @MAINLIBS@
+ MAINLIBS = @MAINLIBS@
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch b/poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch
deleted file mode 100644
index 2efbad7..0000000
--- a/poky/meta/recipes-devtools/ruby/ruby/0002-template-Makefile.in-filter-out-f-prefix-map.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Subject: [PATCH] template/Makefile.in: filter out -f*prefix-map
-
-If we add DEBUG_PREFIX_MAP into LDFLAGS, ruby and ruby-dbg are no longer
-reproducible.  Fix this.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Tony Battersby <tonyb@cybernetics.com>
----
---- a/tool/mjit_archflag.sh
-+++ b/tool/mjit_archflag.sh
-@@ -7,6 +7,20 @@ quote() {
-     echo
- }
- 
-+quote_filtered() {
-+    printf "#${indent}define $1"
-+    while shift && [ "$#" -gt 0 ]; do
-+	case "$1" in
-+	    -ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*)
-+		;;
-+	    *)
-+		printf ' "%s"'$sep "$1"
-+		;;
-+	esac
-+    done
-+    echo
-+}
-+
- archs=""
- arch_flag=""
- 
---- a/template/Makefile.in
-+++ b/template/Makefile.in
-@@ -666,7 +666,7 @@ mjit_config.h:
- 	quote "MJIT_OPTFLAGS   " $(MJIT_OPTFLAGS); \
- 	quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \
- 	quote "MJIT_LDSHARED   " ; \
--	quote "MJIT_DLDFLAGS    MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
-+	quote_filtered "MJIT_DLDFLAGS    MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
- 	quote "MJIT_LIBS       " $(LIBRUBYARG_SHARED); \
- 	quote 'PRELOADENV       "@PRELOADENV@"'; \
- 	indent=$${archs:+'  '}; \
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
index f92f0e1..e2d5b57 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
@@ -1,6 +1,7 @@
+From 5079e678ce2a81416088c04f9123cd8207d5def2 Mon Sep 17 00:00:00 2001
 From: Christian Hofstaedtler <zeha@debian.org>
 Date: Tue, 10 Oct 2017 15:04:34 -0300
-Subject: rdoc: build reproducible documentation
+Subject: [PATCH] rdoc: build reproducible documentation
 
 - provide a fixed timestamp to the gzip compression
 
@@ -10,23 +11,24 @@
 Signed-off-by: Christian Hofstaedtler <zeha@debian.org>
 ---
  lib/rdoc/generator/json_index.rb | 4 ++--
- lib/rdoc/rdoc.rb                 | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
+diff --git a/lib/rdoc/generator/json_index.rb b/lib/rdoc/generator/json_index.rb
+index c454910..24feab0 100644
 --- a/lib/rdoc/generator/json_index.rb
 +++ b/lib/rdoc/generator/json_index.rb
-@@ -178,7 +178,7 @@
+@@ -178,7 +178,7 @@ class RDoc::Generator::JsonIndex
      debug_msg "Writing gzipped search index to %s" % outfile
-
+ 
      Zlib::GzipWriter.open(outfile) do |gz|
 -      gz.mtime = File.mtime(search_index_file)
 +      gz.mtime = -1
        gz.orig_name = search_index_file.basename.to_s
        gz.write search_index
        gz.close
-@@ -196,7 +196,7 @@
+@@ -196,7 +196,7 @@ class RDoc::Generator::JsonIndex
          debug_msg "Writing gzipped file to %s" % outfile
-
+ 
          Zlib::GzipWriter.open(outfile) do |gz|
 -          gz.mtime = File.mtime(dest)
 +          gz.mtime = -1
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
index e0aca0d..b14a731 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
@@ -1,6 +1,7 @@
+From 99734381652602f76075017576a819c427ebb5f2 Mon Sep 17 00:00:00 2001
 From: Reiner Herrmann <reiner@reiner-h.de>
 Date: Tue, 10 Oct 2017 15:06:13 -0300
-Subject: lib/mkmf.rb: sort list of object files in generated Makefile
+Subject: [PATCH] lib/mkmf.rb: sort list of object files in generated Makefile
 
 Without sorting the list explicitly, its order is indeterministic,
 because readdir() is also not deterministic.
@@ -15,9 +16,11 @@
  lib/mkmf.rb | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
+diff --git a/lib/mkmf.rb b/lib/mkmf.rb
+index 6da7dde..3af30a9 100644
 --- a/lib/mkmf.rb
 +++ b/lib/mkmf.rb
-@@ -2315,7 +2315,7 @@
+@@ -2368,7 +2368,7 @@ LOCAL_LIBS = #{$LOCAL_LIBS}
  LIBS = #{$LIBRUBYARG} #{$libs} #{$LIBS}
  ORIG_SRCS = #{orig_srcs.collect(&File.method(:basename)).join(' ')}
  SRCS = $(ORIG_SRCS) #{(srcs - orig_srcs).collect(&File.method(:basename)).join(' ')}
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
index 41f2065..2426862 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
@@ -1,4 +1,4 @@
-From 6e1dc610724a7aa8368cbcddf4bbe21cccc0f731 Mon Sep 17 00:00:00 2001
+From 3bc324379aa3e322bad9353da8c0064cd671cc74 Mon Sep 17 00:00:00 2001
 From: Lucas Kanashiro <kanashiro@debian.org>
 Date: Fri, 1 Nov 2019 15:25:17 -0300
 Subject: [PATCH] Make gemspecs reproducible
@@ -12,20 +12,20 @@
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index 0d72cee..eb7bc25 100644
+index a0c7faa..f0722d9 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1691,7 +1691,9 @@ class Gem::Specification < Gem::BasicSpecification
-         raise(Gem::InvalidSpecificationException,
-               "invalid date format in specification: #{date.inspect}")
-       end
--    when Time, DateLike then
-+    when Time then
-+      Time.utc(date.utc.year, date.utc.month, date.utc.day)
-+    when DateLike then
-       Time.utc(date.year, date.month, date.day)
-     else
-       TODAY
+@@ -1774,7 +1774,9 @@ class Gem::Specification < Gem::BasicSpecification
+                 raise(Gem::InvalidSpecificationException,
+                       "invalid date format in specification: #{date.inspect}")
+               end
+-            when Time, DateLike then
++            when Time then
++              Time.utc(date.utc.year, date.utc.month, date.utc.day)
++            when DateLike then
+               Time.utc(date.year, date.month, date.day)
+             else
+               TODAY
 -- 
-2.25.1
+2.39.2
 
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
index 0a87cae..21604df 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
@@ -1,4 +1,4 @@
-From 3f60710bc29c1b08e128314d40101e87b7d2c9a1 Mon Sep 17 00:00:00 2001
+From 1dc7ef09c3c567c4adb09ccfd97e0e59c58edb9f Mon Sep 17 00:00:00 2001
 From: Lucas Kanashiro <kanashiro@debian.org>
 Date: Fri, 1 Nov 2019 15:25:17 -0300
 Subject: [PATCH] Make gemspecs reproducible
@@ -7,7 +7,6 @@
 build unreproducible
 
 Upstream-Status: Backport [debian]
-
 ---
  ext/bigdecimal/bigdecimal.gemspec | 1 +
  ext/fiddle/fiddle.gemspec         | 1 +
@@ -17,12 +16,12 @@
  5 files changed, 5 insertions(+)
 
 diff --git a/ext/bigdecimal/bigdecimal.gemspec b/ext/bigdecimal/bigdecimal.gemspec
-index d215757..5148d56 100644
+index f9f3b45..b9a469d 100644
 --- a/ext/bigdecimal/bigdecimal.gemspec
 +++ b/ext/bigdecimal/bigdecimal.gemspec
-@@ -4,6 +4,7 @@ Gem::Specification.new do |s|
-   s.name          = "bigdecimal"
-   s.version       = "3.1.3"
+@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
+   s.name          = name
+   s.version       = source_version
    s.authors       = ["Kenta Murata", "Zachary Scott", "Shigeo Kobayashi"]
 +  s.date          = RUBY_RELEASE_DATE
    s.email         = ["mrkn@mrkn.jp"]
@@ -41,10 +40,10 @@
    spec.email         = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org"]
  
 diff --git a/ext/io/console/io-console.gemspec b/ext/io/console/io-console.gemspec
-index d26a757..cc88c55 100644
+index d4f5276..8f89611 100644
 --- a/ext/io/console/io-console.gemspec
 +++ b/ext/io/console/io-console.gemspec
-@@ -4,6 +4,7 @@ _VERSION = "0.6.0"
+@@ -4,6 +4,7 @@ _VERSION = "0.7.1"
  Gem::Specification.new do |s|
    s.name = "io-console"
    s.version = _VERSION
@@ -65,7 +64,7 @@
    spec.email         = ["knu@idaemons.org", "ume@mahoroba.org"]
  
 diff --git a/lib/rdoc/rdoc.gemspec b/lib/rdoc/rdoc.gemspec
-index 3c96f7d..fec0872 100644
+index 93a281c..cc5c155 100644
 --- a/lib/rdoc/rdoc.gemspec
 +++ b/lib/rdoc/rdoc.gemspec
 @@ -7,6 +7,7 @@ end
diff --git a/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch b/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch
deleted file mode 100644
index b78e3db..0000000
--- a/poky/meta/recipes-devtools/ruby/ruby/remove_has_include_macros.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From e74b57febec9bd806e29025e6eeb8091e7021d75 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 26 Jan 2020 11:27:40 -0800
-Subject: [PATCH] Filter out __has_include* compiler defines
-
-They are internal to compiler and this header is later on includes in C
-files, but newer gcc >= 10 complains about it.
-
-error in initial header file:
-| In file included from /tmp/20200124-86625-14hiju4.c:1:
-| /tmp/20200124-86625-11y6l6i.h:13849:9: error: "__has_include" cannot be used as a macro name
-| 13849 | #define __has_include __has_include
-|       |         ^~~~~~~~~~~~~
-| compilation terminated due to -Wfatal-errors.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- common.mk | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/common.mk b/common.mk
-index 664f750..3b8fbe6 100644
---- a/common.mk
-+++ b/common.mk
-@@ -238,6 +238,8 @@ $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time: probes.h vm.$(OBJE
- 	$(ECHO) building $(@F:.time=.h)
- 	$(Q)$(MINIRUBY) $(tooldir)/mjit_tabs.rb "$(MJIT_TABS)" \
- 		$(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new
-+	$(Q)sed -i -e "/#define __has_include __has_include/d" $(@F:.time=.h).new
-+	$(Q)sed -i -e "/#define __has_include_next __has_include_next/d" $(@F:.time=.h).new
- 	$(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new
- 
- $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time
diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.2.2.bb b/poky/meta/recipes-devtools/ruby/ruby_3.3.0.bb
similarity index 92%
rename from poky/meta/recipes-devtools/ruby/ruby_3.2.2.bb
rename to poky/meta/recipes-devtools/ruby/ruby_3.3.0.bb
index 481fe7c..17eb6d7 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_3.2.2.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_3.3.0.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5b8c87559868796979806100db3f3805 \
                     file://BSDL;md5=8b50bc6de8f586dc66790ba11d064d75 \
                     file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://LEGAL;md5=bcd74b47bbaf2051c5e49811a5faa97a \
+                    file://LEGAL;md5=81e6a4d81533b9263da4c3485a0ad883 \
                     "
 
 DEPENDS = "zlib openssl libyaml gdbm readline libffi"
@@ -21,16 +21,12 @@
 SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
            file://0001-extmk-fix-cross-compilation-of-external-gems.patch \
            file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch \
-           file://remove_has_include_macros.patch \
            file://run-ptest \
-           file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \
-           file://0002-template-Makefile.in-filter-out-f-prefix-map.patch \
            file://0003-rdoc-build-reproducible-documentation.patch \
            file://0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch \
            file://0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch \
            file://0006-Make-gemspecs-reproducible.patch \
            file://0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch \
-           file://0001-fiddle-Use-C11-_Alignof-to-define-ALIGN_OF-when-poss.patch \
            "
 UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/"
 
@@ -51,7 +47,7 @@
 
 DEPENDS:append:libc-musl = " libucontext"
 
-SRC_URI[sha256sum] = "96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc"
+SRC_URI[sha256sum] = "96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
index 6bef990..b14221b 100644
--- a/poky/meta/recipes-devtools/rust/rust-source.inc
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -20,3 +20,5 @@
 
 UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html"
 UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src"
+
+CVE_STATUS[CVE-2024-24576] = "not-applicable-platform: Issue only applies on Windows"
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch b/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
index 96d0ab2..bfc718c 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/alter-includedir.patch
@@ -1,4 +1,4 @@
-From 27e5595c065ce3af687818555a882ab5e1dfbc2b Mon Sep 17 00:00:00 2001
+From 3130dca60636dc12d0d12df75b002fd123349e21 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Tue, 22 Nov 2022 18:48:27 +0800
 Subject: [PATCH] tcl: update the header location
@@ -19,7 +19,6 @@
 Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
 Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
-
 ---
  unix/Makefile.in  | 2 +-
  unix/configure.in | 4 ++--
@@ -27,7 +26,7 @@
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index 0b8179f..4824b28 100644
+index a3b7d69..969ddb8 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
 @@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TCL_LIBRARY)
@@ -40,10 +39,10 @@
  # Path to the private tcl header dir:
  PRIVATE_INCLUDE_DIR	= @PRIVATE_INCLUDE_DIR@
 diff --git a/unix/configure.in b/unix/configure.in
-index 0354a0b..2d0c00f 100644
+index 4974fb6..a72934f 100644
 --- a/unix/configure.in
 +++ b/unix/configure.in
-@@ -774,7 +774,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
+@@ -776,7 +776,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
  test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
@@ -52,7 +51,7 @@
  HTML_DIR='$(DISTDIR)/html'
  
  # Note:  in the following variable, it's important to use the absolute
-@@ -895,7 +895,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
+@@ -897,7 +897,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
  TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
  
  # Install time header dir can be set via --includedir
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch b/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
deleted file mode 100644
index 2c31cec..0000000
--- a/poky/meta/recipes-devtools/tcltk/tcl/fix_issue_with_old_distro_glibc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Fixes tcl target recipe build on old distros which have glibc older than 2.14
-
-| + echo 'NOTE: make  DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install'
-| NOTE: make  DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install
-| + make  DESTDIR=/srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image install
-| Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/lib
-| Installing message catalogs
-| Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/share/man
-| tclsh: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/tcl8.5.11/unix/libtcl8.5.so)
-| Making directory /srv/home/nitin/builds/build-gcc47/tmp/work/x86_64-poky-linux/tcl-8.5.11-r5/image/usr/bin
-| make: *** [install-msgs] Error 1
-
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
-2012/04/26
-
-Index: unix/Makefile.in
-===================================================================
---- a/unix.orig/Makefile.in	2013-11-10 23:38:01.787425628 -0800
-+++ b/unix/Makefile.in	2013-11-10 23:37:59.807425578 -0800
-@@ -686,7 +686,7 @@
- # tcltest executable gets the build directory burned into its ld search path.
- # This keeps tcltest from picking up an already installed version of the Tcl
- # library.
--SHELL_ENV =	@LD_LIBRARY_PATH_VAR@=`pwd`:${@LD_LIBRARY_PATH_VAR@} \
-+SHELL_ENV =	@LD_LIBRARY_PATH_VAR@=${@LD_LIBRARY_PATH_VAR@} \
- 		TCLLIBPATH="@abs_builddir@/pkgs" \
- 		TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"
- 
-@@ -712,7 +712,7 @@
- 	$(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
- 
- gdb-test: ${TCLTEST_EXE}
--	@echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
-+	@echo "set env @LD_LIBRARY_PATH_VAR@=$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
- 	@echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
- 	@echo "set args $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -singleproc 1" >> gdb.run
- 	$(GDB) ${TCLTEST_EXE} --command=gdb.run
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch b/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
index 6dbef70..09c49da 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/fix_non_native_build_issue.patch
@@ -1,19 +1,18 @@
-From 8a6c77cdd265fe7ce35929f58f1ade0c6bc4025b Mon Sep 17 00:00:00 2001
+From 371aa300369e9ea3234cba22d5c0babc7d40dfdf Mon Sep 17 00:00:00 2001
 From: Nitin A Kamble <nitin.a.kamble@intel.com>
 Date: Fri, 13 Aug 2010 12:24:00 -0700
 Subject: [PATCH] tcl: fix a build issue
 
 Upstream-Status: Inappropriate [upstream does not support installed tests]
-
 ---
  unix/Makefile.in | 20 ++++++++++----------
  1 file changed, 10 insertions(+), 10 deletions(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index b110fe9..d7b35a8 100644
+index 9dd053d..a3b7d69 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
-@@ -814,23 +814,23 @@ tcltest-real:
+@@ -815,7 +815,7 @@ tcltest-real:
  test: test-tcl test-packages
  
  test-tcl: ${TCLTEST_EXE}
@@ -21,9 +20,11 @@
 +	$(SHELL_ENV) ${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl $(TESTFLAGS)
  
  gdb-test: ${TCLTEST_EXE}
- 	@echo "set env @LD_LIBRARY_PATH_VAR@=`pwd`:$${@LD_LIBRARY_PATH_VAR@}" > gdb.run
- 	@echo "set env TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" >> gdb.run
- 	@echo "set args $(TOP_DIR)/tests/all.tcl $(TESTFLAGS) -singleproc 1" >> gdb.run
+ 	@printf '%s ' set env @LD_LIBRARY_PATH_VAR@=\"`pwd`$${@LD_LIBRARY_PATH_VAR@:+:$${@LD_LIBRARY_PATH_VAR}}\" > gdb.run
+@@ -824,17 +824,17 @@ gdb-test: ${TCLTEST_EXE}
+ 	@printf '\n' >>gdb.run
+ 	@printf '%s ' set args $(call shquotequote,$(TOP_DIR))/tests/all.tcl\
+ 		$(call shquotequote,$(TESTFLAGS)) -singleproc 1 >> gdb.run
 -	$(GDB) ./${TCLTEST_EXE} --command=gdb.run
 +	$(GDB) ${TCLTEST_EXE} --command=gdb.run
  	rm gdb.run
@@ -41,7 +42,7 @@
  
  # The following target generates the shared libraries in dltest/ that are used
  # for testing; they are included as part of the "tcltest" target (via the
-@@ -848,28 +848,28 @@ dltest.marker: ${STUB_LIB_FILE}
+@@ -852,28 +852,28 @@ dltest.marker: ${STUB_LIB_FILE}
  # This target can be used to run tclsh from the build directory
  # via `make shell SCRIPT=/tmp/foo.tcl`
  shell: ${TCL_EXE}
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/interp.patch b/poky/meta/recipes-devtools/tcltk/tcl/interp.patch
index 95d6318..2e0dc94 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/interp.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/interp.patch
@@ -1,11 +1,19 @@
+From 426aa2ff62dda77fd011e8f630b9d4ea17984817 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Mon, 12 Jul 2021 14:50:13 +0100
+Subject: [PATCH] tcl: fix race in interp.test
+
 The interp-36.7 patch has race conditions and is missing cleanup.  This patch by
 a Tcl maintainer should improve matters.
 
 Upstream-Status: Pending
 Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/interp.test | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
 
 diff --git a/tests/interp.test b/tests/interp.test
-index d7424847f..fc90990f3 100644
+index d742484..fc90990 100644
 --- a/tests/interp.test
 +++ b/tests/interp.test
 @@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch b/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
index 3123d28..a0195e2 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/tcl-add-soname.patch
@@ -1,20 +1,19 @@
-From d6155ec08b355d64f1a7db407254d159037bb72a Mon Sep 17 00:00:00 2001
+From b89fd73daf9b3eb2f889f65baba5f90d8a930c82 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <rpurdie@linux.intel.com>
 Date: Wed, 9 Dec 2009 23:59:44 +0000
 Subject: [PATCH] tcl: Add tcltk from OE.dev but with legacy staging function
 
 Upstream-Status: Pending
-
 ---
  unix/Makefile.in | 5 ++++-
  unix/tcl.m4      | 3 +++
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index 398afd0..804532e 100644
+index 7619afc..9dd053d 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
-@@ -893,7 +893,10 @@ install-binaries: binaries
+@@ -904,7 +904,10 @@ install-binaries: binaries
  	done
  	@echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
  	@@INSTALL_LIB@
@@ -27,10 +26,10 @@
  	@$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
  	@echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/"
 diff --git a/unix/tcl.m4 b/unix/tcl.m4
-index f3d08ec..797c93f 100644
+index 0307a06..37c4d67 100644
 --- a/unix/tcl.m4
 +++ b/unix/tcl.m4
-@@ -1382,6 +1382,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
+@@ -1378,6 +1378,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
  	    # get rid of the warnings.
  	    #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
  
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch b/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
index 99c5faf..93e7877 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/tcl-remove-hardcoded-install-path.patch
@@ -1,4 +1,4 @@
-From 6efc98774681795712073c2b91e5e9d1763239b8 Mon Sep 17 00:00:00 2001
+From 050fc597fbfa4da2c31bd0df58c871892a490470 Mon Sep 17 00:00:00 2001
 From: "Song.Li" <Song.Li@windriver.com>
 Date: Wed, 1 Aug 2012 19:05:51 +0800
 Subject: [PATCH] tcl:install tcl to lib64 instead of lib on 64bit target
@@ -13,15 +13,14 @@
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
 Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
- configure    | 2 +-
- configure.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ unix/configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: unix/configure.in
-===================================================================
---- a/unix.orig/configure.in	2013-11-10 23:20:50.000000000 -0800
-+++ b/unix/configure.in	2013-11-10 23:39:41.199428131 -0800
-@@ -790,7 +790,7 @@
+diff --git a/unix/configure.in b/unix/configure.in
+index 4f62510..4974fb6 100644
+--- a/unix/configure.in
++++ b/unix/configure.in
+@@ -775,7 +775,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.14.bb
similarity index 96%
rename from poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
rename to poky/meta/recipes-devtools/tcltk/tcl_8.6.14.bb
index 06bf900..de4f5b8 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.14.bb
@@ -19,13 +19,12 @@
                 file://tcl-add-soname.patch"
 SRC_URI = "${BASE_SRC_URI} \
            file://fix_non_native_build_issue.patch \
-           file://fix_issue_with_old_distro_glibc.patch \
            file://tcl-remove-hardcoded-install-path.patch \
            file://alter-includedir.patch \
            file://interp.patch \
            file://run-ptest \
-"
-SRC_URI[sha256sum] = "c61f0d6699e2bc7691f119b41963aaa8dc980f23532c4e937739832a5f4a6642"
+           "
+SRC_URI[sha256sum] = "ff604f43862a778827d7ecd1ad7686950ac2ef48d9cf69d3424cea9de08d9a72"
 
 SRC_URI:class-native = "${BASE_SRC_URI}"
 
diff --git a/poky/meta/recipes-devtools/vala/vala/0001-gtk4-Preserve-compatibility-with-4.14.patch b/poky/meta/recipes-devtools/vala/vala/0001-gtk4-Preserve-compatibility-with-4.14.patch
deleted file mode 100644
index 1614740..0000000
--- a/poky/meta/recipes-devtools/vala/vala/0001-gtk4-Preserve-compatibility-with-4.14.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 17349020fb95454d06f827fd555b05248f10a370 Mon Sep 17 00:00:00 2001
-From: Rico Tzschichholz <ricotz@ubuntu.com>
-Date: Thu, 7 Mar 2024 17:56:05 +0100
-Subject: [PATCH] gtk4: Preserve compatibility with < 4.14
-
-Don't prefer new accessor methods for Calendar.day/month/year
-
-Fixes https://gitlab.gnome.org/GNOME/vala/issues/1531
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/vala/-/commit/e0c4ea8c4a0bbf859b5341a7465b395892789d9e]
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
----
- vapi/gtk4.vapi                 | 3 +++
- vapi/metadata/Gtk-4.0.metadata | 5 +++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/vapi/gtk4.vapi b/vapi/gtk4.vapi
-index 49f8b2078..51ecea27d 100644
---- a/vapi/gtk4.vapi
-+++ b/vapi/gtk4.vapi
-@@ -7350,11 +7350,14 @@ namespace Gtk {
- 		[Version (since = "4.14")]
- 		public void set_year (int year);
- 		public void unmark_day (uint day);
-+		[NoAccessorMethod]
- 		public int day { get; set; }
-+		[NoAccessorMethod]
- 		public int month { get; set; }
- 		public bool show_day_names { get; set; }
- 		public bool show_heading { get; set; }
- 		public bool show_week_numbers { get; set; }
-+		[NoAccessorMethod]
- 		public int year { get; set; }
- 		public signal void day_selected ();
- 		public signal void next_month ();
--- 
-2.44.0
-
diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.15.bb b/poky/meta/recipes-devtools/vala/vala_0.56.16.bb
similarity index 91%
rename from poky/meta/recipes-devtools/vala/vala_0.56.15.bb
rename to poky/meta/recipes-devtools/vala/vala_0.56.16.bb
index 915ddd8..1c8e4fc 100644
--- a/poky/meta/recipes-devtools/vala/vala_0.56.15.bb
+++ b/poky/meta/recipes-devtools/vala/vala_0.56.16.bb
@@ -18,11 +18,8 @@
 
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
-SRC_URI = " \
-	http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz \
-	file://0001-gtk4-Preserve-compatibility-with-4.14.patch \
-"
-SRC_URI[sha256sum] = "535b6452ed310fd5fb5c7dd6794b6213dac3b48e645e5bff3173741ec2cb3f2b"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "05487b5600f5d2f09e66a753cccd8f39c1bff9f148aea1b7774d505b9c8bca9b"
 
 inherit autotools pkgconfig upstream-version-is-even
 
diff --git a/poky/meta/recipes-extended/acpica/acpica_20230628.bb b/poky/meta/recipes-extended/acpica/acpica_20240322.bb
similarity index 75%
rename from poky/meta/recipes-extended/acpica/acpica_20230628.bb
rename to poky/meta/recipes-extended/acpica/acpica_20240322.bb
index 8974bdc..90e3599 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20230628.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20240322.bb
@@ -10,19 +10,16 @@
 SECTION = "console/tools"
 
 LICENSE = "Intel | BSD-3-Clause | GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=79a69059b499bccc70a484459549758f"
+LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=05eb845b15a27440410f456adc2ed082"
 
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
 
 DEPENDS = "m4-native flex-native bison-native"
 
-SRC_URI = "https://downloadmirror.intel.com/783534/acpica-unix-${PV}.tar.gz"
-SRC_URI[sha256sum] = "86876a745e3d224dcfd222ed3de465b47559e85811df2db9820ef09a9dff5cce"
+SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master"
+SRCREV = "170fc3076a86777077637f10b05c32ac21ac13aa"
 
-UPSTREAM_CHECK_URI = "https://www.intel.com/content/www/us/en/download/776303/acpi-component-architecture-downloads-unix-format-source-code-and-build-environment-with-an-intel-license.html"
-UPSTREAM_VERSION_UNKNOWN = "1"
-
-S = "${WORKDIR}/acpica-unix-${PV}"
+S = "${WORKDIR}/git"
 
 inherit update-alternatives
 
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
index 15c7eb5..67f14bd 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
@@ -1,7 +1,7 @@
-From 0ccbaa134093bf6afc79f2d20d061bca5a8754ed Mon Sep 17 00:00:00 2001
+From b36713c8f1ba0e5755b78845a433354a63663b1a Mon Sep 17 00:00:00 2001
 From: Kai Kang <kai.kang@windriver.com>
 Date: Thu, 29 Mar 2018 16:02:05 +0800
-Subject: [PATCH 04/10] avoid host contamination
+Subject: [PATCH] avoid host contamination
 
 Remove hardcode path refer to host to avoid host contamination.
 
@@ -15,10 +15,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/devices/devs.mak b/devices/devs.mak
-index 846aa50..9570182 100644
+index 186f704..88ab8c9 100644
 --- a/devices/devs.mak
 +++ b/devices/devs.mak
-@@ -393,7 +393,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
+@@ -397,7 +397,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
  ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
  
  $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS)
@@ -27,6 +27,3 @@
  
  ###### --------------- Memory-buffered printer devices --------------- ######
  
--- 
-1.8.3.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch
deleted file mode 100644
index 7873396..0000000
--- a/poky/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From fd37229a17822c5ad21a369f670b8a6f6cc6b95b Mon Sep 17 00:00:00 2001
-From: Benjamin Bara <benjamin.bara@skidata.com>
-Date: Mon, 4 Sep 2023 12:16:39 +0200
-Subject: [PATCH] configure.ac: add option to explicitly disable neon
-
-Uncomment an already existing possibility to explicitly disable neon and
-use it on both implemented neon checks.
-
-Upstream-Status: Submitted [https://bugs.ghostscript.com/show_bug.cgi?id=707097]
-
-Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
----
- configure.ac | 52 +++++++++++++++++++++++++++++-----------------------
- 1 file changed, 29 insertions(+), 23 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 09d881dd1..62718e15e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -749,6 +749,33 @@ SUBCONFIG_OPTS="--build=$build --host=$host"
- #  SUBCONFIG_OPTS="$SUBCONFIG_OPTS --host=$host_alias"
- #fi
- 
-+dnl --------------------------------------------------
-+dnl Check for NEON support
-+dnl --------------------------------------------------
-+save_cflags=$CFLAGS
-+AC_MSG_CHECKING([neon support])
-+CFLAGS="$save_cflags $OPT_CFLAGS -mfpu=neon -mcpu=cortex-a53"
-+HAVE_NEON=""
-+AC_LINK_IFELSE(
-+  [AC_LANG_PROGRAM([#include "arm_neon.h"], [
-+  int32x4_t round = vdupq_n_s32(10);
-+  return(0);
-+  ])],
-+  [HAVE_NEON="-DHAVE_NEON"], [HAVE_NEON=""])
-+
-+AC_ARG_ENABLE([neon], AS_HELP_STRING([--disable-neon],
-+       [Do not use neon instrinsics]), [
-+             if test "x$enable_neon" = xno; then
-+                HAVE_NEON=""
-+             fi])
-+
-+if test "x$HAVE_NEON" != x; then
-+  AC_MSG_RESULT(yes)
-+else
-+  AC_MSG_RESULT(no)
-+fi
-+CFLAGS=$save_cflags
-+
- dnl --------------------------------------------------
- dnl Check for libraries
- dnl --------------------------------------------------
-@@ -971,11 +998,12 @@ if test x$with_tesseract != xno; then
-          [TESS_NEON="-mfpu=neon -mcpu=cortex-a53 -D__ARM_NEON__"],
-          [TESS_NEON=""])
- 
--        if test "x$TESS_NEON" != x; then
-+        if test "x$TESS_NEON" != x && test "x$enable_neon" != xno; then
-           AC_MSG_RESULT(yes)
-           TESS_CXXFLAGS="$TESS_CXXFLAGS -DHAVE_NEON"
-         else
-           AC_MSG_RESULT(no)
-+          TESS_NEON=""
-         fi
- 
-         CXXFLAGS="$save_cxxflags"
-@@ -2387,28 +2415,6 @@ if test x$WITH_CAL != x0; then
-     AC_MSG_RESULT(no)
-   fi
- 
--  AC_MSG_CHECKING([neon support])
--  CFLAGS="$save_cflags $OPT_CFLAGS -mfpu=neon -mcpu=cortex-a53"
--  HAVE_NEON=""
--  AC_LINK_IFELSE(
--    [AC_LANG_PROGRAM([#include "arm_neon.h"], [
--    int32x4_t round = vdupq_n_s32(10);
--    return(0);
--    ])],
--    [HAVE_NEON="-DHAVE_NEON"], [HAVE_NEON=""])
--
--  #AC_ARG_ENABLE([neon], AS_HELP_STRING([--disable-neon],
--  #       [Do not use neon instrinsics]), [
--  #             if test "x$enable_neon" = xno; then
--  #                HAVE_NEON=""
--  #             fi])
--
--  if test "x$HAVE_NEON" != x; then
--    AC_MSG_RESULT(yes)
--  else
--    AC_MSG_RESULT(no)
--  fi
--
-   #AC_SUBST(HAVE_SSE4_2)
-   #AC_SUBST(HAVE_NEON)
-   CFLAGS=$save_cflags
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
similarity index 94%
rename from poky/meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb
rename to poky/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
index 3dff16e..ff7d386 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_10.02.1.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_10.03.0.bb
@@ -25,10 +25,9 @@
 SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
            file://ghostscript-9.16-Werror-return-type.patch \
            file://avoid-host-contamination.patch \
-           file://configure.ac-add-option-to-explicitly-disable-neon.patch \
            "
 
-SRC_URI[sha256sum] = "e429e4f5b01615a4f0f93a4128e8a1a4d932dff983b1774174c79c0630717ad9"
+SRC_URI[sha256sum] = "6f2bc61023469fcf7c7c2d7f1bdd75b75f2b41836aa1d5e641396246d4abbb59"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
diff --git a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index 98cd4d8..74f3520 100644
--- a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
-SRCREV = "d9923f6970e9ba7e0d23aa9448ead71ea57235ae"
+SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
 UPSTREAM_CHECK_COMMITS = "1"
 
 GO_IMPORT = "golang.org/x/example"
diff --git a/poky/meta/recipes-extended/gzip/gzip.inc b/poky/meta/recipes-extended/gzip/gzip.inc
index b325840..62b3e2f 100644
--- a/poky/meta/recipes-extended/gzip/gzip.inc
+++ b/poky/meta/recipes-extended/gzip/gzip.inc
@@ -8,6 +8,7 @@
 export DEFS="NO_ASM"
 
 EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
+EXTRA_OEMAKE:append:class-nativesdk = " GREP=grep"
 EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes "
 
 do_install:append () {
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb
similarity index 97%
rename from poky/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb
rename to poky/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb
index 7460d3d..fc3b7e0 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb
@@ -16,7 +16,7 @@
            file://lighttpd \
            "
 
-SRC_URI[sha256sum] = "5c08736e83088f7e019797159f306e88ec729abe976dc98fb3bed71b9d3e53b5"
+SRC_URI[sha256sum] = "8b721ca939d312afaa6ef31dcbd6afb5161ed385ac828e6fccd4c5b76be189d6"
 
 DEPENDS = "virtual/crypt"
 
diff --git a/poky/meta/recipes-extended/lzip/lzip_1.24.bb b/poky/meta/recipes-extended/lzip/lzip_1.24.1.bb
similarity index 93%
rename from poky/meta/recipes-extended/lzip/lzip_1.24.bb
rename to poky/meta/recipes-extended/lzip/lzip_1.24.1.bb
index 73040a6..6eda012 100644
--- a/poky/meta/recipes-extended/lzip/lzip_1.24.bb
+++ b/poky/meta/recipes-extended/lzip/lzip_1.24.1.bb
@@ -8,7 +8,7 @@
                     "
 
 SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
-SRC_URI[sha256sum] = "d42659229b10e066eeb6e81eb673cdd893b672e512d26719c2d95975556ca56c"
+SRC_URI[sha256sum] = "30c9cb6a0605f479c496c376eb629a48b0a1696d167e3c1e090c5defa481b162"
 
 B = "${WORKDIR}/build"
 do_configure[cleandirs] = "${B}"
diff --git a/poky/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch b/poky/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
index dc69666..57ecd48 100644
--- a/poky/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
+++ b/poky/meta/recipes-extended/man-db/files/0001-man-Move-local-variable-declaration-to-function-scop.patch
@@ -1,4 +1,4 @@
-From 126dfefb5fddf411ad0a1316209e9c1b47abfcd2 Mon Sep 17 00:00:00 2001
+From e4125223631f0d555fc327da6d8705bcc8ee5ba5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 9 Feb 2022 17:30:16 -0800
 Subject: [PATCH] man: Move local variable declaration to function scope
@@ -10,16 +10,15 @@
 
 Upstream-Status: Inappropriate [Inappropriate: Clang bug]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  src/man.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/man.c b/src/man.c
-index f16fae8..333df03 100644
+index 195d35d..6870989 100644
 --- a/src/man.c
 +++ b/src/man.c
-@@ -352,7 +352,7 @@ static void init_html_pager (void)
+@@ -379,7 +379,7 @@ static void init_html_pager (void)
  static error_t parse_opt (int key, char *arg, struct argp_state *state)
  {
  	static bool apropos, whatis; /* retain values between calls */
@@ -28,7 +27,7 @@
  	/* Please keep these keys in the same order as in options above. */
  	switch (key) {
  		case 'C':
-@@ -384,7 +384,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
+@@ -411,7 +411,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state)
  		case OPT_WARNINGS:
  #ifdef NROFF_WARNINGS
  			{
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.12.0.bb b/poky/meta/recipes-extended/man-db/man-db_2.12.1.bb
similarity index 96%
rename from poky/meta/recipes-extended/man-db/man-db_2.12.0.bb
rename to poky/meta/recipes-extended/man-db/man-db_2.12.1.bb
index 19dbb41..27b47a7 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.12.0.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.12.1.bb
@@ -11,7 +11,7 @@
            file://99_mandb \
            file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
           "
-SRC_URI[sha256sum] = "415a6284a22764ad22ff0f66710d853be7790dd451cd71436e3d25c74d996a95"
+SRC_URI[sha256sum] = "ddee249daeb78cf92bab794ccd069cc8b575992265ea20e239e887156e880265"
 
 DEPENDS = "libpipeline gdbm groff-native base-passwd"
 RDEPENDS:${PN} += "base-passwd"
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-DDF-Cleanup-validate_geometry_ddf_container.patch b/poky/meta/recipes-extended/mdadm/files/0001-DDF-Cleanup-validate_geometry_ddf_container.patch
deleted file mode 100644
index cea435f..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-DDF-Cleanup-validate_geometry_ddf_container.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From ca458f4dcc4de9403298f67543466ce4bbc8f8ae Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:07 -0600
-Subject: [PATCH 1/4] DDF: Cleanup validate_geometry_ddf_container()
-
-Move the function up so that the function declaration is not necessary
-and remove the unused arguments to the function.
-
-No functional changes are intended but will help with a bug fix in the
-next patch.
-
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-
-Upstream-Status: Backport
-
-Reference to upstream patch:
-https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=679bd9508a30
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- super-ddf.c | 88 ++++++++++++++++++++++++-----------------------------
- 1 file changed, 39 insertions(+), 49 deletions(-)
-
-diff --git a/super-ddf.c b/super-ddf.c
-index 3f304cd..65cf727 100644
---- a/super-ddf.c
-+++ b/super-ddf.c
-@@ -503,13 +503,6 @@ struct ddf_super {
- static int load_super_ddf_all(struct supertype *st, int fd,
- 			      void **sbp, char *devname);
- static int get_svd_state(const struct ddf_super *, const struct vcl *);
--static int
--validate_geometry_ddf_container(struct supertype *st,
--				int level, int layout, int raiddisks,
--				int chunk, unsigned long long size,
--				unsigned long long data_offset,
--				char *dev, unsigned long long *freesize,
--				int verbose);
- 
- static int validate_geometry_ddf_bvd(struct supertype *st,
- 				     int level, int layout, int raiddisks,
-@@ -3322,6 +3315,42 @@ static int reserve_space(struct supertype *st, int raiddisks,
- 	return 1;
- }
- 
-+static int
-+validate_geometry_ddf_container(struct supertype *st,
-+				int level, int raiddisks,
-+				unsigned long long data_offset,
-+				char *dev, unsigned long long *freesize,
-+				int verbose)
-+{
-+	int fd;
-+	unsigned long long ldsize;
-+
-+	if (level != LEVEL_CONTAINER)
-+		return 0;
-+	if (!dev)
-+		return 1;
-+
-+	fd = dev_open(dev, O_RDONLY|O_EXCL);
-+	if (fd < 0) {
-+		if (verbose)
-+			pr_err("ddf: Cannot open %s: %s\n",
-+			       dev, strerror(errno));
-+		return 0;
-+	}
-+	if (!get_dev_size(fd, dev, &ldsize)) {
-+		close(fd);
-+		return 0;
-+	}
-+	close(fd);
-+	if (freesize) {
-+		*freesize = avail_size_ddf(st, ldsize >> 9, INVALID_SECTORS);
-+		if (*freesize == 0)
-+			return 0;
-+	}
-+
-+	return 1;
-+}
-+
- static int validate_geometry_ddf(struct supertype *st,
- 				 int level, int layout, int raiddisks,
- 				 int *chunk, unsigned long long size,
-@@ -3347,11 +3376,9 @@ static int validate_geometry_ddf(struct supertype *st,
- 		level = LEVEL_CONTAINER;
- 	if (level == LEVEL_CONTAINER) {
- 		/* Must be a fresh device to add to a container */
--		return validate_geometry_ddf_container(st, level, layout,
--						       raiddisks, *chunk,
--						       size, data_offset, dev,
--						       freesize,
--						       verbose);
-+		return validate_geometry_ddf_container(st, level, raiddisks,
-+						       data_offset, dev,
-+						       freesize, verbose);
- 	}
- 
- 	if (!dev) {
-@@ -3449,43 +3476,6 @@ static int validate_geometry_ddf(struct supertype *st,
- 	return 1;
- }
- 
--static int
--validate_geometry_ddf_container(struct supertype *st,
--				int level, int layout, int raiddisks,
--				int chunk, unsigned long long size,
--				unsigned long long data_offset,
--				char *dev, unsigned long long *freesize,
--				int verbose)
--{
--	int fd;
--	unsigned long long ldsize;
--
--	if (level != LEVEL_CONTAINER)
--		return 0;
--	if (!dev)
--		return 1;
--
--	fd = dev_open(dev, O_RDONLY|O_EXCL);
--	if (fd < 0) {
--		if (verbose)
--			pr_err("ddf: Cannot open %s: %s\n",
--			       dev, strerror(errno));
--		return 0;
--	}
--	if (!get_dev_size(fd, dev, &ldsize)) {
--		close(fd);
--		return 0;
--	}
--	close(fd);
--	if (freesize) {
--		*freesize = avail_size_ddf(st, ldsize >> 9, INVALID_SECTORS);
--		if (*freesize == 0)
--			return 0;
--	}
--
--	return 1;
--}
--
- static int validate_geometry_ddf_bvd(struct supertype *st,
- 				     int level, int layout, int raiddisks,
- 				     int *chunk, unsigned long long size,
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch b/poky/meta/recipes-extended/mdadm/files/0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
deleted file mode 100644
index 9e3a30b..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 82c893bb9e01f914a6bdef1bef943af746cfc3e1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Jan 2023 12:42:18 -0800
-Subject: [PATCH] Define alignof using _Alignof when using C11 or newer
-
-WG14 N2350 made very clear that it is an UB having type definitions
-within "offsetof" [1]. This patch enhances the implementation of macro
-alignof_slot to use builtin "_Alignof" to avoid undefined behavior on
-when using std=c11 or newer
-
-clang 16+ has started to flag this [2]
-
-Fixes build when using -std >= gnu11 and using clang16+
-
-Older compilers gcc < 4.9 or clang < 8 has buggy _Alignof even though it
-may support C11, exclude those compilers too
-
-[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm
-[2] https://reviews.llvm.org/D133574
-
-Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20230118083236.24418-1-raj.khem@gmail.com/T/#u]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sha1.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/sha1.c b/sha1.c
-index 89b32f4..1e4ad5d 100644
---- a/sha1.c
-+++ b/sha1.c
-@@ -229,7 +229,17 @@ sha1_process_bytes (const void *buffer, size_t len, struct sha1_ctx *ctx)
-   if (len >= 64)
-     {
- #if !_STRING_ARCH_unaligned
--# define alignof(type) offsetof (struct { char c; type x; }, x)
-+/* GCC releases before GCC 4.9 had a bug in _Alignof.  See GCC bug 52023
-+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>.
-+   clang versions < 8.0.0 have the same bug.  */
-+# if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
-+      || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
-+   && !defined __clang__) \
-+      || (defined __clang__ && __clang_major__ < 8))
-+#  define alignof(type) offsetof (struct { char c; type x; }, x)
-+# else
-+#  define alignof(type) _Alignof(type)
-+# endif
- # define UNALIGNED_P(p) (((size_t) p) % alignof (sha1_uint32) != 0)
-       if (UNALIGNED_P (buffer))
- 	while (len > 64)
--- 
-2.39.0
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Fix-parsing-of-r-in-monitor-manager-mode.patch b/poky/meta/recipes-extended/mdadm/files/0001-Fix-parsing-of-r-in-monitor-manager-mode.patch
deleted file mode 100644
index 3fb46cc..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-Fix-parsing-of-r-in-monitor-manager-mode.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 969fbb35e40100f599d4a9781911251f21792698 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 27 Jan 2022 17:53:01 +0800
-Subject: [PATCH] Fix parsing of "-r" in monitor/manager mode
-
-This revert commit 546047688e1 [mdadm: fix coredump of mdadm --monitor
--r], and fix the coredump issue of 'mdadm --monitor -r'.
-
-commit 546047688e1 make -r not work in manager mode, and testcase
-00multipath failed.
-
-Upstream-Status: Submitted [send to maintainer jsorensen@fb.com]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- ReadMe.c | 8 +++++---
- mdadm.c  | 2 ++
- mdadm.h  | 1 +
- 3 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/ReadMe.c b/ReadMe.c
-index 8139976..070eea5 100644
---- a/ReadMe.c
-+++ b/ReadMe.c
-@@ -81,11 +81,13 @@ char Version[] = "mdadm - v" VERSION " - " VERS_DATE EXTRAVERSION "\n";
-  *     found, it is started.
-  */
- 
--char short_options[]="-ABCDEFGIQhVXYWZ:vqbc:i:l:p:m:r:n:x:u:c:d:z:U:N:safRSow1tye:k";
-+char short_options[]="-ABCDEFGIQhVXYWZ:vqbc:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:k:";
- char short_bitmap_options[]=
--		"-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:r:n:x:u:c:d:z:U:N:sarfRSow1tye:k:";
-+			"-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:k:";
- char short_bitmap_auto_options[]=
--		"-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:r:n:x:u:c:d:z:U:N:sa:rfRSow1tye:k:";
-+			"-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sa:rfRSow1tye:k:";
-+char short_increment_options[]=
-+			"-ABCDEFGIQhVXYWZ:vqbc:i:l:r:p:m:n:x:u:c:d:z:U:N:safRSow1tye:k:";
- 
- struct option long_options[] = {
-     {"manage",    0, 0, ManageOpt},
-diff --git a/mdadm.c b/mdadm.c
-index 26299b2..2a3b2ee 100644
---- a/mdadm.c
-+++ b/mdadm.c
-@@ -227,6 +227,7 @@ int main(int argc, char *argv[])
- 			shortopt = short_bitmap_auto_options;
- 			break;
- 		case 'F': newmode = MONITOR;
-+			shortopt = short_increment_options;
- 			break;
- 		case 'G': newmode = GROW;
- 			shortopt = short_bitmap_options;
-@@ -268,6 +269,7 @@ int main(int argc, char *argv[])
- 
- 		case NoSharing:
- 			newmode = MONITOR;
-+			shortopt = short_increment_options;
- 			break;
- 		}
- 		if (mode && newmode == mode) {
-diff --git a/mdadm.h b/mdadm.h
-index ecfc137..42148dd 100644
---- a/mdadm.h
-+++ b/mdadm.h
-@@ -421,6 +421,7 @@ enum mode {
- extern char short_options[];
- extern char short_bitmap_options[];
- extern char short_bitmap_auto_options[];
-+extern char short_increment_options[];
- extern struct option long_options[];
- extern char Version[], Usage[], Help[], OptionHelp[],
- 	*mode_help[],
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch b/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
index 298f276..fa1f0aa 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
@@ -1,4 +1,4 @@
-From a9166bf422da1001bac9cc819386bf39b7cd1b73 Mon Sep 17 00:00:00 2001
+From 76856a34a4e339e4a53b09d028f89fcc520e3127 Mon Sep 17 00:00:00 2001
 From: "Maxin B. John" <maxin.john@intel.com>
 Date: Tue, 9 Feb 2016 11:44:01 +0200
 Subject: [PATCH] Fix the path of corosync and dlm header files check
@@ -9,16 +9,15 @@
 Upstream-Status: Inappropriate [Yocto specific]
 
 Signed-off-by: Maxin B. John <maxin.john@intel.com>
-
 ---
  Makefile | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index 2767ac6..46bf57b 100644
+index cbdba49..7bfd336 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -91,8 +91,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
+@@ -109,8 +109,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
  SYSTEMD_DIR=/lib/systemd/system
  LIB_DIR=/usr/libexec/mdadm
  
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch b/poky/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
index 3f76ef5..a4be1aa 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
@@ -1,4 +1,4 @@
-From 97e776724ab9763c5bca9816370bb1635b7a8232 Mon Sep 17 00:00:00 2001
+From 0be066d57a7dd1aead5488d0a095863608f2e559 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Tue, 25 Jan 2022 16:25:01 +0800
 Subject: [PATCH] Makefile: install mdcheck
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/Makefile b/Makefile
-index 2a51d813..db40c7fd 100644
+index 1141971..f4059e2 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -303,6 +303,7 @@ install-systemd: systemd/mdmon@.service
+@@ -325,6 +325,7 @@ install-systemd: systemd/mdmon@.service
  install-bin: mdadm mdmon
  	$(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
  	$(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
@@ -25,6 +25,3 @@
  
  uninstall:
  	rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch b/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
deleted file mode 100644
index fb4bc16..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 02a41c3fd560fb5250186dd6b3cff6b21daa2e2b Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Mon, 15 Jul 2019 14:12:24 +0800
-Subject: [PATCH] Revert "tests: wait for complete rebuild in integrity checks"
-
-This reverts commit e2a8e9dcf67a28bc722fa5ab2c49b0bc452d4d74
-as the logic "check state 'U*'" will make the test enters
-infinite loop especially in qemu env, so revert it to
-use the previous logic "check wait" which also used
-commonly by other tests such as tests/02r5grow, tests/07revert-grow
-and etc.
-
-Upstream-Status: Submitted [https://marc.info/?l=linux-raid&m=156317157314030&w=2]
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- tests/01r5integ    | 2 +-
- tests/01raid6integ | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tests/01r5integ b/tests/01r5integ
-index 48676a2..ffb30ce 100644
---- a/tests/01r5integ
-+++ b/tests/01r5integ
-@@ -27,7 +27,7 @@ do
-      exit 1
-     fi
-     mdadm $md0 -a $i
--    while ! (check state 'U*'); do check wait; sleep 0.2; done
-+   check wait
-   done
-   mdadm -S $md0
- done
-diff --git a/tests/01raid6integ b/tests/01raid6integ
-index 12f4d81..c6fcdae 100644
---- a/tests/01raid6integ
-+++ b/tests/01raid6integ
-@@ -47,10 +47,10 @@ do
-          exit 1
-        fi
-        mdadm $md0 -a $first
--       while ! (check state 'U*_U*'); do check wait; sleep 0.2; done
-+       check wait
-     done
-     mdadm $md0 -a $second
--    while ! (check state 'U*'); do check wait; sleep 0.2; done
-+    check wait
-     totest="$totest $second"
-   done
-   mdadm -S $md0
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch b/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
index 12bf6a5..16fdefb 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch
@@ -1,4 +1,4 @@
-From 37c35f94d9d95dbd2b5f8a919f5478be51453590 Mon Sep 17 00:00:00 2001
+From c29d086714b49a6d76ccca83b4a6fa2f139bad6e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 13 Oct 2017 10:27:34 -0700
 Subject: [PATCH] Use CC to check for implicit-fallthrough warning support
@@ -10,19 +10,35 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Upstream-Status: Pending
 ---
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index 46bf57b..a075912 100644
+index 7bfd336..9ab6a65 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -53,7 +53,7 @@ ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+@@ -56,21 +56,21 @@ CWFLAGS += -Wp -O3
  endif
  
--FALLTHROUGH := $(shell gcc -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
-+FALLTHROUGH := $(shell ${CC} -v --help 2>&1 | grep "implicit-fallthrough" | wc -l)
- ifneq "$(FALLTHROUGH)"  "0"
- CWFLAGS += -Wimplicit-fallthrough=0
+ ifeq ($(origin FALLTHROUGH), undefined)
+-	FALLTHROUGH := $(shell gcc -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
++	FALLTHROUGH := $(shell ${CC} -Q --help=warnings 2>&1 | grep "implicit-fallthrough" | wc -l)
+ 	ifneq "$(FALLTHROUGH)"  "0"
+ 	CWFLAGS += -Wimplicit-fallthrough=0
+ 	endif
  endif
+ 
+ ifeq ($(origin FORMATOVERFLOW), undefined)
+-	FORMATOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
++	FORMATOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "format-overflow" | wc -l)
+ 	ifneq "$(FORMATOVERFLOW)"  "0"
+ 	CWFLAGS += -Wformat-overflow
+ 	endif
+ endif
+ 
+ ifeq ($(origin STRINGOPOVERFLOW), undefined)
+-	STRINGOPOVERFLOW := $(shell gcc -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
++	STRINGOPOVERFLOW := $(shell ${CC} -Q --help=warnings 2>&1 | grep "stringop-overflow" | wc -l)
+ 	ifneq "$(STRINGOPOVERFLOW)"  "0"
+ 	CWFLAGS += -Wstringop-overflow
+ 	endif
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch b/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
index fa9c8cc..3cf2951 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-fix-gcc-8-format-truncation-warning.patch
@@ -1,4 +1,4 @@
-From 3158d3788c2e0fb75ace2c89840bd8a977fb4cb0 Mon Sep 17 00:00:00 2001
+From 78e5bb08971a5644a56af60d51ef35e13522e811 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 14 Dec 2018 15:12:31 +0800
 Subject: [PATCH] fix gcc-8 format-truncation warning
@@ -22,7 +22,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/super0.c b/super0.c
-index 756cab5..12c28da 100644
+index a7c5f81..a79b6bd 100644
 --- a/super0.c
 +++ b/super0.c
 @@ -229,7 +229,7 @@ static void examine_super0(struct supertype *st, char *homehost)
@@ -34,6 +34,3 @@
  		int wonly, failfast;
  		if (d>=0) dp = &sb->disks[d];
  		else dp = &sb->this_disk;
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch b/poky/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch
new file mode 100644
index 0000000..70be43c
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-include-libgen.h-for-basename-API.patch
@@ -0,0 +1,56 @@
+From 7759ceda978aba38861d4846d0c1657465b72f04 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Mar 2024 23:13:32 -0700
+Subject: [PATCH] include libgen.h for basename API
+
+Musl does no more provide it via string.h therefore builds with newer
+compilers e.g. clang-18 fails due to missing prototype for basename
+therefore add libgen.h to included headers list
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20240325061537.275811-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Monitor.c        | 1 +
+ platform-intel.c | 1 +
+ super-intel.c    | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/Monitor.c b/Monitor.c
+index 824a69f..e3942e1 100644
+--- a/Monitor.c
++++ b/Monitor.c
+@@ -26,6 +26,7 @@
+ #include	"udev.h"
+ #include	"md_p.h"
+ #include	"md_u.h"
++#include  <libgen.h>
+ #include	<sys/wait.h>
+ #include	<limits.h>
+ #include	<syslog.h>
+diff --git a/platform-intel.c b/platform-intel.c
+index ac282bc..5d6687d 100644
+--- a/platform-intel.c
++++ b/platform-intel.c
+@@ -19,6 +19,7 @@
+ #include "mdadm.h"
+ #include "platform-intel.h"
+ #include "probe_roms.h"
++#include <libgen.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/super-intel.c b/super-intel.c
+index dbea235..881dbda 100644
+--- a/super-intel.c
++++ b/super-intel.c
+@@ -23,6 +23,7 @@
+ #include "dlink.h"
+ #include "sha1.h"
+ #include "platform-intel.h"
++#include <libgen.h>
+ #include <values.h>
+ #include <scsi/sg.h>
+ #include <ctype.h>
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Fix-optional-write-behind-parameter.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Fix-optional-write-behind-parameter.patch
deleted file mode 100644
index 186d1e7..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-Fix-optional-write-behind-parameter.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 41edf6f45895193f4a523cb0a08d639c9ff9ccc9 Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:12 -0600
-Subject: [PATCH] mdadm: Fix optional --write-behind parameter
-
-The commit noted below changed the behaviour of --write-behind to
-require an argument. This broke the 06wrmostly test with the error:
-
-  mdadm: Invalid value for maximum outstanding write-behind writes: (null).
-         Must be between 0 and 16383.
-
-To fix this, check if optarg is NULL before parising it, as the origial
-code did.
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=41edf6f45895193f4a523cb0a08d639c9ff9ccc9]
-
-Fixes: 60815698c0ac ("Refactor parse_num and use it to parse optarg.")
-Cc: Mateusz Grzonka <mateusz.grzonka@intel.com>
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- mdadm.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/mdadm.c b/mdadm.c
-index d0c5e6de..56722ed9 100644
---- a/mdadm.c
-+++ b/mdadm.c
-@@ -1201,8 +1201,9 @@ int main(int argc, char *argv[])
- 		case O(BUILD, WriteBehind):
- 		case O(CREATE, WriteBehind):
- 			s.write_behind = DEFAULT_MAX_WRITE_BEHIND;
--			if (parse_num(&s.write_behind, optarg) != 0 ||
--			s.write_behind < 0 || s.write_behind > 16383) {
-+			if (optarg &&
-+			    (parse_num(&s.write_behind, optarg) != 0 ||
-+			     s.write_behind < 0 || s.write_behind > 16383)) {
- 				pr_err("Invalid value for maximum outstanding write-behind writes: %s.\n\tMust be between 0 and 16383.\n",
- 						optarg);
- 				exit(2);
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
index e00287c..f224d00 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
@@ -1,4 +1,4 @@
-From 5fdc0173cb4fcf8656f0889ad364d2549795607f Mon Sep 17 00:00:00 2001
+From c27e128fdc062ec3fcdf7b48a8c5078615c538df Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 1 Jul 2019 11:34:49 +0800
 Subject: [PATCH] mdadm: add option -y for use syslog to recive event report
@@ -14,15 +14,12 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
-index 46f7b88..3fc4687 100644
+index 9c36478..d289846 100644
 --- a/systemd/mdmonitor.service
 +++ b/systemd/mdmonitor.service
-@@ -13,4 +13,4 @@ DefaultDependencies=no
+@@ -14,4 +14,4 @@ Documentation=man:mdadm(8)
  Environment=  MDADM_MONITOR_ARGS=--scan
  EnvironmentFile=-/run/sysconfig/mdadm
  ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
 -ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
 +ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
deleted file mode 100644
index 84517ca..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1b83afa7c3121f819e72ea74883f8b6d61d6548e Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 6 Sep 2019 10:59:02 +0800
-Subject: [PATCH] mdadm: skip test 11spare-migration
-
-11spare-migration is a test series to check mdadm Monitor migrates spares
-according to rules in /etc/mdadm.conf defined by POLICY lines.
-
-[snip]
-for scan in no yes; do
-       for platform in 1.2 imsm; do
-               try
-       done
-done
-[snip]
-
-"try" includes near 20 sub testcase, so there are nearly 80 subcases need to run,
-so it will take long time than ptest-runner timeout limit, skip it as workaround.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- test | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/test b/test
-index 711a3c7..880dd1d 100755
---- a/test
-+++ b/test
-@@ -272,6 +272,9 @@ main() {
- 	else
- 		for script in $testdir/$prefix $testdir/$prefix*[^~]
- 		do
-+			if [ $script == "$testdir/11spare-migration" ];then
-+				continue
-+			fi
- 			do_test $script
- 		done
- 	fi
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
index a1e7e59..52daea2 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm.h-Undefine-dprintf-before-redefining.patch
@@ -1,4 +1,4 @@
-From b431cb4e1ed060122fa300dc0008f74080d38f73 Mon Sep 17 00:00:00 2001
+From 4dd5c2659722b44409cee28b4cea68cdeaa1f987 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 9 May 2016 22:03:57 +0000
 Subject: [PATCH] mdadm.h: Undefine dprintf before redefining
@@ -20,10 +20,10 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/mdadm.h b/mdadm.h
-index 387e681..bb943bf 100644
+index 1f28b3e..04996e2 100644
 --- a/mdadm.h
 +++ b/mdadm.h
-@@ -1649,11 +1649,13 @@ static inline char *to_subarray(struct mdstat_ent *ent, char *container)
+@@ -1869,11 +1869,13 @@ static inline sighandler_t signal_s(int sig, sighandler_t handler)
  }
  
  #ifdef DEBUG
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch b/poky/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
index 142ed35..13435ee 100644
--- a/poky/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
+++ b/poky/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
@@ -1,4 +1,4 @@
-From 6b861a267a6ef6f60f6cc21e4c8e6d7cdd2451dc Mon Sep 17 00:00:00 2001
+From aa86de05cd6a75222b38e0789ac96fe00f705430 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 10 Nov 2022 12:31:22 -0800
 Subject: [PATCH] restripe.c: Use _FILE_OFFSET_BITS to enable largefile support
@@ -10,9 +10,57 @@
 Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20221110225546.337164-1-raj.khem@gmail.com/]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- restripe.c | 13 ++++++++-----
- 1 file changed, 8 insertions(+), 5 deletions(-)
+ raid6check.c | 11 +++++++----
+ restripe.c   | 13 ++++++++-----
+ swap_super.c | 13 +++++++------
+ 3 files changed, 22 insertions(+), 15 deletions(-)
 
+diff --git a/raid6check.c b/raid6check.c
+index 9947776..8e7f142 100644
+--- a/raid6check.c
++++ b/raid6check.c
+@@ -22,6 +22,9 @@
+  *    Based on "restripe.c" from "mdadm" codebase
+  */
+ 
++/* Enable largefile support */
++#define _FILE_OFFSET_BITS 64
++
+ #include "mdadm.h"
+ #include <stdint.h>
+ #include <sys/mman.h>
+@@ -284,9 +287,9 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ 	}
+ 
+ 	int write_res1, write_res2;
+-	off64_t seek_res;
++	off_t seek_res;
+ 
+-	seek_res = lseek64(source[fd1],
++	seek_res = lseek(source[fd1],
+ 			   offsets[fd1] + start * chunk_size, SEEK_SET);
+ 	if (seek_res < 0) {
+ 		fprintf(stderr, "lseek failed for failed_disk1\n");
+@@ -294,7 +297,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
+ 	}
+ 	write_res1 = write(source[fd1], blocks[failed_slot1], chunk_size);
+ 
+-	seek_res = lseek64(source[fd2],
++	seek_res = lseek(source[fd2],
+ 			   offsets[fd2] + start * chunk_size, SEEK_SET);
+ 	if (seek_res < 0) {
+ 		fprintf(stderr, "lseek failed for failed_disk2\n");
+@@ -379,7 +382,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
+ 			goto exitCheck;
+ 		}
+ 		for (i = 0 ; i < raid_disks ; i++) {
+-			off64_t seek_res = lseek64(source[i], offsets[i] + start * chunk_size,
++			off_t seek_res = lseek(source[i], offsets[i] + start * chunk_size,
+ 						   SEEK_SET);
+ 			if (seek_res < 0) {
+ 				fprintf(stderr, "lseek to source %d failed\n", i);
+diff --git a/restripe.c b/restripe.c
+index a7a7229..1c03577 100644
 --- a/restripe.c
 +++ b/restripe.c
 @@ -22,6 +22,9 @@
@@ -25,7 +73,7 @@
  #include "mdadm.h"
  #include <stdint.h>
  
-@@ -581,7 +584,7 @@ int save_stripes(int *source, unsigned l
+@@ -581,7 +584,7 @@ int save_stripes(int *source, unsigned long long *offsets,
  				       raid_disks, level, layout);
  			if (dnum < 0) abort();
  			if (source[dnum] < 0 ||
@@ -34,7 +82,7 @@
  				    offsets[dnum] + offset, 0) < 0 ||
  			    read(source[dnum], buf+disk * chunk_size,
  				 chunk_size) != chunk_size) {
-@@ -754,8 +757,8 @@ int restore_stripes(int *dest, unsigned
+@@ -754,8 +757,8 @@ int restore_stripes(int *dest, unsigned long long *offsets,
  					   raid_disks, level, layout);
  			if (src_buf == NULL) {
  				/* read from file */
@@ -45,7 +93,7 @@
  					rv = -1;
  					goto abort;
  				}
-@@ -816,7 +819,7 @@ int restore_stripes(int *dest, unsigned
+@@ -816,7 +819,7 @@ int restore_stripes(int *dest, unsigned long long *offsets,
  		}
  		for (i=0; i < raid_disks ; i++)
  			if (dest[i] >= 0) {
@@ -54,7 +102,7 @@
  					 offsets[i]+offset, 0) < 0) {
  					rv = -1;
  					goto abort;
-@@ -866,7 +869,7 @@ int test_stripes(int *source, unsigned l
+@@ -866,7 +869,7 @@ int test_stripes(int *source, unsigned long long *offsets,
  		int disk;
  
  		for (i = 0 ; i < raid_disks ; i++) {
@@ -63,48 +111,8 @@
  			    (read(source[i], stripes[i], chunk_size) !=
  			     chunk_size)) {
  				free(q);
---- a/raid6check.c
-+++ b/raid6check.c
-@@ -22,6 +22,9 @@
-  *    Based on "restripe.c" from "mdadm" codebase
-  */
- 
-+/* Enable largefile support */
-+#define _FILE_OFFSET_BITS 64
-+
- #include "mdadm.h"
- #include <stdint.h>
- #include <signal.h>
-@@ -279,9 +282,9 @@ int manual_repair(int chunk_size, int sy
- 	}
- 
- 	int write_res1, write_res2;
--	off64_t seek_res;
-+	off_t seek_res;
- 
--	seek_res = lseek64(source[fd1],
-+	seek_res = lseek(source[fd1],
- 			   offsets[fd1] + start * chunk_size, SEEK_SET);
- 	if (seek_res < 0) {
- 		fprintf(stderr, "lseek failed for failed_disk1\n");
-@@ -289,7 +292,7 @@ int manual_repair(int chunk_size, int sy
- 	}
- 	write_res1 = write(source[fd1], blocks[failed_slot1], chunk_size);
- 
--	seek_res = lseek64(source[fd2],
-+	seek_res = lseek(source[fd2],
- 			   offsets[fd2] + start * chunk_size, SEEK_SET);
- 	if (seek_res < 0) {
- 		fprintf(stderr, "lseek failed for failed_disk2\n");
-@@ -374,7 +377,7 @@ int check_stripes(struct mdinfo *info, i
- 			goto exitCheck;
- 		}
- 		for (i = 0 ; i < raid_disks ; i++) {
--			off64_t seek_res = lseek64(source[i], offsets[i] + start * chunk_size,
-+			off_t seek_res = lseek(source[i], offsets[i] + start * chunk_size,
- 						   SEEK_SET);
- 			if (seek_res < 0) {
- 				fprintf(stderr, "lseek to source %d failed\n", i);
+diff --git a/swap_super.c b/swap_super.c
+index b6db574..18c89e2 100644
 --- a/swap_super.c
 +++ b/swap_super.c
 @@ -1,3 +1,6 @@
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch
deleted file mode 100644
index 1c95834..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7539254342bc591717b0051734cc6c09c1b88640 Mon Sep 17 00:00:00 2001
-From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Date: Wed, 22 Jun 2022 14:25:13 -0600
-Subject: [PATCH] tests/00raid0: add a test that validates raid0 with layout
- fails for 0.9
-
-329dfc28debb disallows the creation of raid0 with layouts for 0.9
-metadata. This test confirms the new behavior.
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=7539254342bc591717b0051734cc6c09c1b88640]
-
-Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/00raid0 | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/tests/00raid0 b/tests/00raid0
-index 8bc18985..e6b21cc4 100644
---- a/tests/00raid0
-+++ b/tests/00raid0
-@@ -6,11 +6,9 @@ check raid0
- testdev $md0 3 $mdsize2_l 512
- mdadm -S $md0
- 
--# now with version-0.90 superblock
-+# verify raid0 with layouts fail for 0.90
- mdadm -CR $md0 -e0.90 -l0 -n4 $dev0 $dev1 $dev2 $dev3
--check raid0
--testdev $md0 4 $mdsize0 512
--mdadm -S $md0
-+check opposite_result
- 
- # now with no superblock
- mdadm -B $md0 -l0 -n5 $dev0 $dev1 $dev2 $dev3 $dev4
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch
deleted file mode 100644
index c621c08..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 39b381252c32275079344d30de18b76fda4bba26 Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 27 Jul 2022 15:52:45 -0600
-Subject: [PATCH] tests/00readonly: Run udevadm settle before setting ro
-
-In some recent kernel versions, 00readonly fails with:
-
-  mdadm: failed to set readonly for /dev/md0: Device or resource busy
-  ERROR: array is not read-only!
-
-This was traced down to a race condition with udev holding a reference
-to the block device at the same time as trying to set it read only.
-
-To fix this, call udevadm settle before setting the array read only.
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=39b381252c32275079344d30de18b76fda4bba26]
-
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jsorensen@fb.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/00readonly | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/00readonly b/tests/00readonly
-index 39202487..afe243b3 100644
---- a/tests/00readonly
-+++ b/tests/00readonly
-@@ -12,6 +12,7 @@ do
- 			$dev1 $dev2 $dev3 $dev4 --assume-clean
- 		check nosync
- 		check $level
-+		udevadm settle
- 		mdadm -ro $md0
- 		check readonly
- 		state=$(cat /sys/block/md0/md/array_state)
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch
deleted file mode 100644
index 1a7104b..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a2c832465fc75202e244327b2081231dfa974617 Mon Sep 17 00:00:00 2001
-From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Date: Wed, 22 Jun 2022 14:25:16 -0600
-Subject: [PATCH] tests/02lineargrow: clear the superblock at every iteration
-
-This fixes 02lineargrow test as prior metadata causes --add operation
-to misbehave.
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=a2c832465fc75202e244327b2081231dfa974617]
-
-Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/02lineargrow | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/02lineargrow b/tests/02lineargrow
-index e05c219d..595bf9f2 100644
---- a/tests/02lineargrow
-+++ b/tests/02lineargrow
-@@ -20,4 +20,6 @@ do
-   testdev $md0 3 $sz 1
- 
-   mdadm -S $md0
-+  mdadm --zero /dev/loop2
-+  mdadm --zero /dev/loop3
- done
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch
deleted file mode 100644
index 9098fb2..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From de045db607b1ac4b70fc2a8878463e029c2ab1dc Mon Sep 17 00:00:00 2001
-From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Date: Wed, 22 Jun 2022 14:25:15 -0600
-Subject: [PATCH] tests/04update-metadata: avoid passing chunk size to raid1
-
-'04update-metadata' test fails with error, "specifying chunk size is
-forbidden for this level" added by commit, 5b30a34aa4b5e. Hence,
-correcting the test to ignore passing chunk size to raid1.
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=de045db607b1ac4b70fc2a8878463e029c2ab1dc]
-
-Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
-[logang@deltatee.com: fix if/then style and dropped unrelated hunk]
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/04update-metadata | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tests/04update-metadata b/tests/04update-metadata
-index 08c14af7..2b72a303 100644
---- a/tests/04update-metadata
-+++ b/tests/04update-metadata
-@@ -11,7 +11,11 @@ dlist="$dev0 $dev1 $dev2 $dev3"
- for ls in linear/4 raid1/1 raid5/3 raid6/2
- do
-   s=${ls#*/} l=${ls%/*}
--  mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
-+  if [[ $l == 'raid1' ]]; then
-+	mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist
-+  else
-+	mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
-+  fi
-   testdev $md0 $s 19904 64
-   mdadm -S $md0
-   mdadm -A $md0 --update=metadata $dlist
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch
deleted file mode 100644
index 5a6bf9e..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ee594b1a12833c06102de888248a361bc49cea09 Mon Sep 17 00:00:00 2001
-From: Ovidiu Panait <ovidiu.panait@windriver.com>
-Date: Fri, 18 Aug 2023 12:20:40 +0300
-Subject: [PATCH] tests: add .broken files for 04update-uuid and
- 07revert-inplace
-
-04update-uuid and 07revert-inplace tests are unreliable and fail intermittently
-on the autobuilder. Unfortunately, the failures cannot be reproduced locally
-and the logs cannot be retrieved from the AB.
-
-Mark the testcases as BROKEN to skip them when running ptest.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- tests/04update-uuid.broken    | 1 +
- tests/07revert-inplace.broken | 1 +
- 2 files changed, 2 insertions(+)
- create mode 100644 tests/04update-uuid.broken
- create mode 100644 tests/07revert-inplace.broken
-
-diff --git a/tests/04update-uuid.broken b/tests/04update-uuid.broken
-new file mode 100644
-index 0000000..197b35b
---- /dev/null
-+++ b/tests/04update-uuid.broken
-@@ -0,0 +1 @@
-+fails infrequently
-diff --git a/tests/07revert-inplace.broken b/tests/07revert-inplace.broken
-new file mode 100644
-index 0000000..197b35b
---- /dev/null
-+++ b/tests/07revert-inplace.broken
-@@ -0,0 +1 @@
-+fails infrequently
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch
deleted file mode 100644
index d2e7d8e..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0001-tests-fix-raid0-tests-for-0.90-metadata.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7 Mon Sep 17 00:00:00 2001
-From: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Date: Wed, 22 Jun 2022 14:25:14 -0600
-Subject: [PATCH] tests: fix raid0 tests for 0.90 metadata
-
-Some of the test cases fail because raid0 creation fails with the error,
-"0.90 metadata does not support layouts for RAID0" added by commit,
-329dfc28debb. Fix some of the test cases by switching from raid0 to
-linear level for 0.9 metadata where possible.
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=14c2161edb77d7294199e8aa7daa9f9d1d0ad5d7]
-
-Signed-off-by: Sudhakar Panneerselvam <sudhakar.panneerselvam@oracle.com>
-Signed-off-by: Himanshu Madhani <himanshu.madhani@oracle.com>
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/00raid0           | 4 ++--
- tests/00readonly        | 4 ++++
- tests/03r0assem         | 6 +++---
- tests/04r0update        | 4 ++--
- tests/04update-metadata | 2 +-
- 5 files changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/tests/00raid0 b/tests/00raid0
-index e6b21cc4..9b8896cb 100644
---- a/tests/00raid0
-+++ b/tests/00raid0
-@@ -20,8 +20,8 @@ mdadm -S $md0
- # now same again with different chunk size
- for chunk in 4 32 256
- do
--  mdadm -CR $md0 -e0.90 -l raid0 --chunk $chunk -n3 $dev0 $dev1 $dev2
--  check raid0
-+  mdadm -CR $md0 -e0.90 -l linear --chunk $chunk -n3 $dev0 $dev1 $dev2
-+  check linear
-   testdev $md0 3 $mdsize0 $chunk
-   mdadm -S $md0
- 
-diff --git a/tests/00readonly b/tests/00readonly
-index 28b0fa13..39202487 100644
---- a/tests/00readonly
-+++ b/tests/00readonly
-@@ -4,6 +4,10 @@ for metadata in 0.9 1.0 1.1 1.2
- do
- 	for level in linear raid0 raid1 raid4 raid5 raid6 raid10
- 	do
-+		if [[ $metadata == "0.9" && $level == "raid0" ]];
-+		then
-+			continue
-+		fi
- 		mdadm -CR $md0 -l $level -n 4 --metadata=$metadata \
- 			$dev1 $dev2 $dev3 $dev4 --assume-clean
- 		check nosync
-diff --git a/tests/03r0assem b/tests/03r0assem
-index 6744e322..44df0645 100644
---- a/tests/03r0assem
-+++ b/tests/03r0assem
-@@ -68,9 +68,9 @@ mdadm -S $md2
- ### Now for version 0...
- 
- mdadm --zero-superblock $dev0 $dev1 $dev2
--mdadm -CR $md2 -l0 --metadata=0.90 -n3 $dev0 $dev1 $dev2
--check raid0
--tst="testdev $md2 3 $mdsize0 512"
-+mdadm -CR $md2 -llinear --metadata=0.90 -n3 $dev0 $dev1 $dev2
-+check linear
-+tst="testdev $md2 3 $mdsize0 1"
- $tst
- 
- uuid=`mdadm -Db $md2 | sed 's/.*UUID=//'`
-diff --git a/tests/04r0update b/tests/04r0update
-index 73ee3b9f..b95efb06 100644
---- a/tests/04r0update
-+++ b/tests/04r0update
-@@ -1,7 +1,7 @@
- 
- # create a raid0, re-assemble with a different super-minor
--mdadm -CR -e 0.90 $md0 -l0 -n3 $dev0 $dev1 $dev2
--testdev $md0 3 $mdsize0 512
-+mdadm -CR -e 0.90 $md0 -llinear -n3 $dev0 $dev1 $dev2
-+testdev $md0 3 $mdsize0 1
- minor1=`mdadm -E $dev0 | sed -n -e 's/.*Preferred Minor : //p'`
- mdadm -S /dev/md0
- 
-diff --git a/tests/04update-metadata b/tests/04update-metadata
-index 232fc1ff..08c14af7 100644
---- a/tests/04update-metadata
-+++ b/tests/04update-metadata
-@@ -8,7 +8,7 @@ set -xe
- 
- dlist="$dev0 $dev1 $dev2 $dev3"
- 
--for ls in raid0/4 linear/4 raid1/1 raid5/3 raid6/2
-+for ls in linear/4 raid1/1 raid5/3 raid6/2
- do
-   s=${ls#*/} l=${ls%/*}
-   mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch b/poky/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch
new file mode 100644
index 0000000..0916efa
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch
@@ -0,0 +1,24 @@
+From 8fa7d3cb96e8833743b635fb198675ad6c020b6e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 12 Mar 2024 10:51:51 +0100
+Subject: [PATCH] util.c: add limits.h include for NAME_MAX definition
+
+Upstream-Status: Submitted [mariusz.tkaczyk@linux.intel.com,linux-raid@vger.kernel.org]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util.c b/util.c
+index b145447..a9cb6c4 100644
+--- a/util.c
++++ b/util.c
+@@ -36,7 +36,7 @@
+ #include	<ctype.h>
+ #include	<dirent.h>
+ #include	<dlfcn.h>
+-
++#include	<limits.h>
+ 
+ /*
+  * following taken from linux/blkpg.h because they aren't
diff --git a/poky/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch b/poky/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
new file mode 100644
index 0000000..145c654
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
@@ -0,0 +1,27 @@
+From a22b2345b9773d362acd85dd4c4a6a3cda9100d4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 12 Mar 2024 10:54:08 +0100
+Subject: [PATCH] Create.c: include linux/falloc.h for FALLOC_FL_ZERO_RANGE
+ definition
+
+glibc provides this through fcntl.h but musl does not - should
+be reported and fixed there.
+
+Upstream-Status: Inappropriate [musl-specific issue]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Create.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Create.c b/Create.c
+index 8082f54..7071f0a 100644
+--- a/Create.c
++++ b/Create.c
+@@ -31,6 +31,7 @@
+ #include	<signal.h>
+ #include	<sys/signalfd.h>
+ #include	<sys/wait.h>
++#include	<linux/falloc.h>
+ 
+ static int round_size_and_verify(unsigned long long *size, int chunk)
+ {
diff --git a/poky/meta/recipes-extended/mdadm/files/0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch b/poky/meta/recipes-extended/mdadm/files/0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch
deleted file mode 100644
index fafe88b..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 14f110f0286d38e29ef5e51d7f72e049c2f18323 Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:08 -0600
-Subject: [PATCH 2/4] DDF: Fix NULL pointer dereference in
- validate_geometry_ddf()
-
-A relatively recent patch added a call to validate_geometry() in
-Manage_add() that has level=LEVEL_CONTAINER and chunk=NULL.
-
-This causes some ddf tests to segfault which aborts the test suite.
-
-To fix this, avoid dereferencing chunk when the level is
-LEVEL_CONTAINER or LEVEL_NONE.
-
-Fixes: 1f5d54a06df0 ("Manage: Call validate_geometry when adding drive to external container")
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-
-Upstream-Status: Backport
-
-Reference to upstream patch:
-https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=2b93288a5650
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- super-ddf.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/super-ddf.c b/super-ddf.c
-index 65cf727..3ef1293 100644
---- a/super-ddf.c
-+++ b/super-ddf.c
-@@ -3369,9 +3369,6 @@ static int validate_geometry_ddf(struct supertype *st,
- 	 * If given BVDs, we make an SVD, changing all the GUIDs in the process.
- 	 */
- 
--	if (*chunk == UnSet)
--		*chunk = DEFAULT_CHUNK;
--
- 	if (level == LEVEL_NONE)
- 		level = LEVEL_CONTAINER;
- 	if (level == LEVEL_CONTAINER) {
-@@ -3381,6 +3378,9 @@ static int validate_geometry_ddf(struct supertype *st,
- 						       freesize, verbose);
- 	}
- 
-+	if (*chunk == UnSet)
-+		*chunk = DEFAULT_CHUNK;
-+
- 	if (!dev) {
- 		mdu_array_info_t array = {
- 			.level = level,
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch b/poky/meta/recipes-extended/mdadm/files/0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch
deleted file mode 100644
index a954ab0..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From bd064da1469a6a07331b076a0294a8c6c3c38526 Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:09 -0600
-Subject: [PATCH 3/4] mdadm/Grow: Fix use after close bug by closing after fork
-
-The test 07reshape-grow fails most of the time. But it succeeds around
-1 in 5 times. When it does succeed, it causes the tests to die because
-mdadm has segfaulted.
-
-The segfault was caused by mdadm attempting to repoen a file
-descriptor that was already closed. The backtrace of the segfault
-was:
-
-  #0  __strncmp_avx2 () at ../sysdeps/x86_64/multiarch/strcmp-avx2.S:101
-  #1  0x000056146e31d44b in devnm2devid (devnm=0x0) at util.c:956
-  #2  0x000056146e31dab4 in open_dev_flags (devnm=0x0, flags=0)
-                         at util.c:1072
-  #3  0x000056146e31db22 in open_dev (devnm=0x0) at util.c:1079
-  #4  0x000056146e3202e8 in reopen_mddev (mdfd=4) at util.c:2244
-  #5  0x000056146e329f36 in start_array (mdfd=4,
-              mddev=0x7ffc55342450 "/dev/md0", content=0x7ffc55342860,
-              st=0x56146fc78660, ident=0x7ffc55342f70, best=0x56146fc6f5d0,
-              bestcnt=10, chosen_drive=0, devices=0x56146fc706b0, okcnt=5,
-	      sparecnt=0,  rebuilding_cnt=0, journalcnt=0, c=0x7ffc55342e90,
-	      clean=1,  avail=0x56146fc78720 "\001\001\001\001\001",
-	      start_partial_ok=0, err_ok=0, was_forced=0)
-	                  at Assemble.c:1206
-  #6  0x000056146e32c36e in Assemble (st=0x56146fc78660,
-               mddev=0x7ffc55342450 "/dev/md0", ident=0x7ffc55342f70,
-	       devlist=0x56146fc6e2d0, c=0x7ffc55342e90)
-	                 at Assemble.c:1914
-  #7  0x000056146e312ac9 in main (argc=11, argv=0x7ffc55343238)
-                         at mdadm.c:1510
-
-The file descriptor was closed early in Grow_continue(). The noted commit
-moved the close() call to close the fd above the fork which caused the
-parent process to return with a closed fd.
-
-This meant reshape_array() and Grow_continue() would return in the parent
-with the fd forked. The fd would eventually be passed to reopen_mddev()
-which returned an unhandled NULL from fd2devnm() which would then be
-dereferenced in devnm2devid.
-
-Fix this by moving the close() call below the fork. This appears to
-fix the 07revert-grow test. While we're at it, switch to using
-close_fd() to invalidate the file descriptor.
-
-Fixes: 77b72fa82813 ("mdadm/Grow: prevent md's fd from being occupied during delayed time")
-Cc: Alex Wu <alexwu@synology.com>
-Cc: BingJing Chang <bingjingc@synology.com>
-Cc: Danny Shih <dannyshih@synology.com>
-Cc: ChangSyun Peng <allenpeng@synology.com>
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-
-Upstream-Status: Backport
-
-Reference to upstream patch:
-https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=548e9b916f86
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- Grow.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/Grow.c b/Grow.c
-index 9c6fc95..a8e4e83 100644
---- a/Grow.c
-+++ b/Grow.c
-@@ -3501,7 +3501,6 @@ started:
- 			return 0;
- 		}
- 
--	close(fd);
- 	/* Now we just need to kick off the reshape and watch, while
- 	 * handling backups of the data...
- 	 * This is all done by a forked background process.
-@@ -3522,6 +3521,9 @@ started:
- 		break;
- 	}
- 
-+	/* Close unused file descriptor in the forked process */
-+	close_fd(&fd);
-+
- 	/* If another array on the same devices is busy, the
- 	 * reshape will wait for them.  This would mean that
- 	 * the first section that we suspend will stay suspended
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch b/poky/meta/recipes-extended/mdadm/files/0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch
deleted file mode 100644
index 72cb40f..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2296a4a441b4b8546e2eb32403930f1bb8f3ee4a Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:10 -0600
-Subject: [PATCH 4/4] monitor: Avoid segfault when calling NULL get_bad_blocks
-
-Not all struct superswitch implement a get_bad_blocks() function,
-yet mdmon seems to call it without checking for NULL and thus
-occasionally segfaults in the test 10ddf-geometry.
-
-Fix this by checking for NULL before calling it.
-
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-
-Upstream-Status: Backport
-
-Reference to upstream patch:
-https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=9ae62977b51d
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- monitor.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/monitor.c b/monitor.c
-index afc3e50..8e43c0d 100644
---- a/monitor.c
-+++ b/monitor.c
-@@ -312,6 +312,9 @@ static int check_for_cleared_bb(struct active_array *a, struct mdinfo *mdi)
- 	struct md_bb *bb;
- 	int i;
- 
-+	if (!ss->get_bad_blocks)
-+		return -1;
-+
- 	/*
- 	 * Get a list of bad blocks for an array, then read list of
- 	 * acknowledged bad blocks from kernel and compare it against metadata
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch b/poky/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch
deleted file mode 100644
index c55bfb1..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From feab1f72fcf032a4d21d0a69eb61b23a5ddb3352 Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:18 -0600
-Subject: [PATCH 5/6] mdadm/test: Mark and ignore broken test failures
-
-Add functionality to continue if a test marked as broken fails.
-
-To mark a test as broken, a file with the same name but with the suffix
-'.broken' should exist. The first line in the file will be printed with
-a KNOWN BROKEN message; the rest of the file can describe the how the
-test is broken.
-
-Also adds --skip-broken and --skip-always-broken to skip all the tests
-that have a .broken file or to skip all tests whose .broken file's first
-line contains the keyword always.
-
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-
-Upstream-Status: Backport
-
-Reference to upstream patch:
-https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=28520bf114b3
-
-[OP: adjusted context for mdadm-4.2]
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- test | 37 +++++++++++++++++++++++++++++++++++--
- 1 file changed, 35 insertions(+), 2 deletions(-)
-
-diff --git a/test b/test
-index 8f189d9..ee8fba1 100755
---- a/test
-+++ b/test
-@@ -10,6 +10,8 @@ devlist=
- 
- savelogs=0
- exitonerror=1
-+ctrl_c_error=0
-+skipbroken=0
- prefix='[0-9][0-9]'
- 
- # use loop devices by default if doesn't specify --dev
-@@ -35,6 +37,7 @@ die() {
- 
- ctrl_c() {
- 	exitonerror=1
-+	ctrl_c_error=1
- }
- 
- # mdadm always adds --quiet, and we want to see any unexpected messages
-@@ -79,8 +82,21 @@ mdadm() {
- do_test() {
- 	_script=$1
- 	_basename=`basename $_script`
-+	_broken=0
-+
- 	if [ -f "$_script" ]
- 	then
-+		if [ -f "${_script}.broken" ]; then
-+			_broken=1
-+			_broken_msg=$(head -n1 "${_script}.broken" | tr -d '\n')
-+			if [ "$skipbroken" == "all" ]; then
-+				return
-+			elif [ "$skipbroken" == "always" ] &&
-+			     [[ "$_broken_msg" == *always* ]]; then
-+				return
-+			fi
-+		fi
-+
- 		rm -f $targetdir/stderr
- 		# this might have been reset: restore the default.
- 		echo 2000 > /proc/sys/dev/raid/speed_limit_max
-@@ -97,10 +113,15 @@ do_test() {
- 		else
- 			save_log fail
- 			_fail=1
-+			if [ "$_broken" == "1" ]; then
-+				echo "  (KNOWN BROKEN TEST: $_broken_msg)"
-+			fi
- 		fi
- 		[ "$savelogs" == "1" ] &&
- 			mv -f $targetdir/log $logdir/$_basename.log
--		[ "$_fail" == "1" -a "$exitonerror" == "1" ] && exit 1
-+		[ "$ctrl_c_error" == "1" ] && exit 1
-+		[ "$_fail" == "1" -a "$exitonerror" == "1" \
-+		  -a "$_broken" == "0" ] && exit 1
- 	fi
- }
- 
-@@ -117,6 +138,8 @@ do_help() {
- 		--logdir=directory          Directory to save all logfiles in
- 		--save-logs                 Usually use with --logdir together
- 		--keep-going | --no-error   Don't stop on error, ie. run all tests
-+		--skip-broken               Skip tests that are known to be broken
-+		--skip-always-broken        Skip tests that are known to always fail
- 		--dev=loop|lvm|ram|disk     Use loop devices (default), LVM, RAM or disk
- 		--disks=                    Provide a bunch of physical devices for test
- 		--volgroup=name             LVM volume group for LVM test
-@@ -211,6 +234,12 @@ parse_args() {
- 		--keep-going | --no-error )
- 			exitonerror=0
- 			;;
-+		--skip-broken )
-+			skipbroken=all
-+			;;
-+		--skip-always-broken )
-+			skipbroken=always
-+			;;
- 		--disable-multipath )
- 			unset MULTIPATH
- 			;;
-@@ -275,7 +304,11 @@ main() {
- 			if [ $script == "$testdir/11spare-migration" ];then
- 				continue
- 			fi
--			do_test $script
-+			case $script in
-+			 *.broken) ;;
-+			 *)
-+			     do_test $script
-+			 esac
- 		done
- 	fi
- 
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch b/poky/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch
deleted file mode 100644
index 115b23b..0000000
--- a/poky/meta/recipes-extended/mdadm/files/0006-tests-Add-broken-files-for-all-broken-tests.patch
+++ /dev/null
@@ -1,454 +0,0 @@
-From fd1c26ba129b069d9f73afaefdbe53683de3814a Mon Sep 17 00:00:00 2001
-From: Logan Gunthorpe <logang@deltatee.com>
-Date: Wed, 22 Jun 2022 14:25:19 -0600
-Subject: [PATCH 6/6] tests: Add broken files for all broken tests
-
-Each broken file contains the rough frequency of brokeness as well
-as a brief explanation of what happens when it breaks. Estimates
-of failure rates are not statistically significant and can vary
-run to run.
-
-This is really just a view from my window. Tests were done on a
-small VM with the default loop devices, not real hardware. We've
-seen different kernel configurations can cause bugs to appear as well
-(ie. different block schedulers). It may also be that different race
-conditions will be seen on machines with different performance
-characteristics.
-
-These annotations were done with the kernel currently in md/md-next:
-
- facef3b96c5b ("md: Notify sysfs sync_completed in md_reap_sync_thread()")
-
-Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
-Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
-
-Upstream-Status: Backport
-
-Reference to upstream patch:
-https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=daa86d663476
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- tests/01r5integ.broken                     |  7 ++++
- tests/01raid6integ.broken                  |  7 ++++
- tests/04r5swap.broken                      |  7 ++++
- tests/07autoassemble.broken                |  8 ++++
- tests/07autodetect.broken                  |  5 +++
- tests/07changelevelintr.broken             |  9 +++++
- tests/07changelevels.broken                |  9 +++++
- tests/07reshape5intr.broken                | 45 ++++++++++++++++++++++
- tests/07revert-grow.broken                 | 31 +++++++++++++++
- tests/07revert-shrink.broken               |  9 +++++
- tests/07testreshape5.broken                | 12 ++++++
- tests/09imsm-assemble.broken               |  6 +++
- tests/09imsm-create-fail-rebuild.broken    |  5 +++
- tests/09imsm-overlap.broken                |  7 ++++
- tests/10ddf-assemble-missing.broken        |  6 +++
- tests/10ddf-fail-create-race.broken        |  7 ++++
- tests/10ddf-fail-two-spares.broken         |  5 +++
- tests/10ddf-incremental-wrong-order.broken |  9 +++++
- tests/14imsm-r1_2d-grow-r1_3d.broken       |  5 +++
- tests/14imsm-r1_2d-takeover-r0_2d.broken   |  6 +++
- tests/18imsm-r10_4d-takeover-r0_2d.broken  |  5 +++
- tests/18imsm-r1_2d-takeover-r0_1d.broken   |  6 +++
- tests/19raid6auto-repair.broken            |  5 +++
- tests/19raid6repair.broken                 |  5 +++
- 24 files changed, 226 insertions(+)
- create mode 100644 tests/01r5integ.broken
- create mode 100644 tests/01raid6integ.broken
- create mode 100644 tests/04r5swap.broken
- create mode 100644 tests/07autoassemble.broken
- create mode 100644 tests/07autodetect.broken
- create mode 100644 tests/07changelevelintr.broken
- create mode 100644 tests/07changelevels.broken
- create mode 100644 tests/07reshape5intr.broken
- create mode 100644 tests/07revert-grow.broken
- create mode 100644 tests/07revert-shrink.broken
- create mode 100644 tests/07testreshape5.broken
- create mode 100644 tests/09imsm-assemble.broken
- create mode 100644 tests/09imsm-create-fail-rebuild.broken
- create mode 100644 tests/09imsm-overlap.broken
- create mode 100644 tests/10ddf-assemble-missing.broken
- create mode 100644 tests/10ddf-fail-create-race.broken
- create mode 100644 tests/10ddf-fail-two-spares.broken
- create mode 100644 tests/10ddf-incremental-wrong-order.broken
- create mode 100644 tests/14imsm-r1_2d-grow-r1_3d.broken
- create mode 100644 tests/14imsm-r1_2d-takeover-r0_2d.broken
- create mode 100644 tests/18imsm-r10_4d-takeover-r0_2d.broken
- create mode 100644 tests/18imsm-r1_2d-takeover-r0_1d.broken
- create mode 100644 tests/19raid6auto-repair.broken
- create mode 100644 tests/19raid6repair.broken
-
-diff --git a/tests/01r5integ.broken b/tests/01r5integ.broken
-new file mode 100644
-index 0000000..2073763
---- /dev/null
-+++ b/tests/01r5integ.broken
-@@ -0,0 +1,7 @@
-+fails rarely
-+
-+Fails about 1 in every 30 runs with a sha mismatch error:
-+
-+    c49ab26e1b01def7874af9b8a6d6d0c29fdfafe6 /dev/md0 does not match
-+    15dc2f73262f811ada53c65e505ceec9cf025cb9 /dev/md0 with /dev/loop3
-+    missing
-diff --git a/tests/01raid6integ.broken b/tests/01raid6integ.broken
-new file mode 100644
-index 0000000..1df735f
---- /dev/null
-+++ b/tests/01raid6integ.broken
-@@ -0,0 +1,7 @@
-+fails infrequently
-+
-+Fails about 1 in 5 with a sha mismatch:
-+
-+    8286c2bc045ae2cfe9f8b7ae3a898fa25db6926f /dev/md0 does not match
-+    a083a0738b58caab37fd568b91b177035ded37df /dev/md0 with /dev/loop2 and
-+    /dev/loop3 missing
-diff --git a/tests/04r5swap.broken b/tests/04r5swap.broken
-new file mode 100644
-index 0000000..e38987d
---- /dev/null
-+++ b/tests/04r5swap.broken
-@@ -0,0 +1,7 @@
-+always fails
-+
-+Fails with errors:
-+
-+  mdadm: /dev/loop0 has no superblock - assembly aborted
-+
-+   ERROR: no recovery happening
-diff --git a/tests/07autoassemble.broken b/tests/07autoassemble.broken
-new file mode 100644
-index 0000000..8be0940
---- /dev/null
-+++ b/tests/07autoassemble.broken
-@@ -0,0 +1,8 @@
-+always fails
-+
-+Prints lots of messages, but the array doesn't assemble. Error
-+possibly related to:
-+
-+  mdadm: /dev/md/1 is busy - skipping
-+  mdadm: no recogniseable superblock on /dev/md/testing:0
-+  mdadm: /dev/md/2 is busy - skipping
-diff --git a/tests/07autodetect.broken b/tests/07autodetect.broken
-new file mode 100644
-index 0000000..294954a
---- /dev/null
-+++ b/tests/07autodetect.broken
-@@ -0,0 +1,5 @@
-+always fails
-+
-+Fails with error:
-+
-+    ERROR: no resync happening
-diff --git a/tests/07changelevelintr.broken b/tests/07changelevelintr.broken
-new file mode 100644
-index 0000000..284b490
---- /dev/null
-+++ b/tests/07changelevelintr.broken
-@@ -0,0 +1,9 @@
-+always fails
-+
-+Fails with errors:
-+
-+  mdadm: this change will reduce the size of the array.
-+         use --grow --array-size first to truncate array.
-+         e.g. mdadm --grow /dev/md0 --array-size 56832
-+
-+  ERROR: no reshape happening
-diff --git a/tests/07changelevels.broken b/tests/07changelevels.broken
-new file mode 100644
-index 0000000..9b930d9
---- /dev/null
-+++ b/tests/07changelevels.broken
-@@ -0,0 +1,9 @@
-+always fails
-+
-+Fails with errors:
-+
-+    mdadm: /dev/loop0 is smaller than given size. 18976K < 19968K + metadata
-+    mdadm: /dev/loop1 is smaller than given size. 18976K < 19968K + metadata
-+    mdadm: /dev/loop2 is smaller than given size. 18976K < 19968K + metadata
-+
-+    ERROR: /dev/md0 isn't a block device.
-diff --git a/tests/07reshape5intr.broken b/tests/07reshape5intr.broken
-new file mode 100644
-index 0000000..efe52a6
---- /dev/null
-+++ b/tests/07reshape5intr.broken
-@@ -0,0 +1,45 @@
-+always fails
-+
-+This patch, recently added to md-next causes the test to always fail:
-+
-+7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex
-+held")
-+
-+The new error is simply:
-+
-+   ERROR: no reshape happening
-+
-+Before the patch, the error seen is below.
-+
-+--
-+
-+fails infrequently
-+
-+Fails roughly 1 in 4 runs with errors:
-+
-+    mdadm: Merging with already-assembled /dev/md/0
-+    mdadm: cannot re-read metadata from /dev/loop6 - aborting
-+
-+    ERROR: no reshape happening
-+
-+Also have seen a random deadlock:
-+
-+     INFO: task mdadm:109702 blocked for more than 30 seconds.
-+           Not tainted 5.18.0-rc3-eid-vmlocalyes-dbg-00095-g3c2b5427979d #2040
-+     "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
-+     task:mdadm           state:D stack:    0 pid:109702 ppid:     1 flags:0x00004000
-+     Call Trace:
-+      <TASK>
-+      __schedule+0x67e/0x13b0
-+      schedule+0x82/0x110
-+      mddev_suspend+0x2e1/0x330
-+      suspend_lo_store+0xbd/0x140
-+      md_attr_store+0xcb/0x130
-+      sysfs_kf_write+0x89/0xb0
-+      kernfs_fop_write_iter+0x202/0x2c0
-+      new_sync_write+0x222/0x330
-+      vfs_write+0x3bc/0x4d0
-+      ksys_write+0xd9/0x180
-+      __x64_sys_write+0x43/0x50
-+      do_syscall_64+0x3b/0x90
-+      entry_SYSCALL_64_after_hwframe+0x44/0xae
-diff --git a/tests/07revert-grow.broken b/tests/07revert-grow.broken
-new file mode 100644
-index 0000000..9b6db86
---- /dev/null
-+++ b/tests/07revert-grow.broken
-@@ -0,0 +1,31 @@
-+always fails
-+
-+This patch, recently added to md-next causes the test to always fail:
-+
-+7e6ba434cc60 ("md: don't unregister sync_thread with reconfig_mutex held")
-+
-+The errors are:
-+
-+    mdadm: No active reshape to revert on /dev/loop0
-+    ERROR: active raid5 not found
-+
-+Before the patch, the error seen is below.
-+
-+--
-+
-+fails rarely
-+
-+Fails about 1 in every 30 runs with errors:
-+
-+    mdadm: Merging with already-assembled /dev/md/0
-+    mdadm: backup file /tmp/md-backup inaccessible: No such file or directory
-+    mdadm: failed to add /dev/loop1 to /dev/md/0: Invalid argument
-+    mdadm: failed to add /dev/loop2 to /dev/md/0: Invalid argument
-+    mdadm: failed to add /dev/loop3 to /dev/md/0: Invalid argument
-+    mdadm: failed to add /dev/loop0 to /dev/md/0: Invalid argument
-+    mdadm: /dev/md/0 assembled from 1 drive - need all 5 to start it
-+            (use --run to insist).
-+
-+    grep: /sys/block/md*/md/sync_action: No such file or directory
-+
-+    ERROR: active raid5 not found
-diff --git a/tests/07revert-shrink.broken b/tests/07revert-shrink.broken
-new file mode 100644
-index 0000000..c33c39e
---- /dev/null
-+++ b/tests/07revert-shrink.broken
-@@ -0,0 +1,9 @@
-+always fails
-+
-+Fails with errors:
-+
-+    mdadm: this change will reduce the size of the array.
-+           use --grow --array-size first to truncate array.
-+           e.g. mdadm --grow /dev/md0 --array-size 53760
-+
-+    ERROR: active raid5 not found
-diff --git a/tests/07testreshape5.broken b/tests/07testreshape5.broken
-new file mode 100644
-index 0000000..a8ce03e
---- /dev/null
-+++ b/tests/07testreshape5.broken
-@@ -0,0 +1,12 @@
-+always fails
-+
-+Test seems to run 'test_stripe' at $dir directory, but $dir is never
-+set. If $dir is adjusted to $PWD, the test still fails with:
-+
-+    mdadm: /dev/loop2 is not suitable for this array.
-+    mdadm: create aborted
-+    ++ return 1
-+    ++ cmp -s -n 8192 /dev/md0 /tmp/RandFile
-+    ++ echo cmp failed
-+    cmp failed
-+    ++ exit 2
-diff --git a/tests/09imsm-assemble.broken b/tests/09imsm-assemble.broken
-new file mode 100644
-index 0000000..a6d4d5c
---- /dev/null
-+++ b/tests/09imsm-assemble.broken
-@@ -0,0 +1,6 @@
-+fails infrequently
-+
-+Fails roughly 1 in 10 runs with errors:
-+
-+    mdadm: /dev/loop2 is still in use, cannot remove.
-+    /dev/loop2 removal from /dev/md/container should have succeeded
-diff --git a/tests/09imsm-create-fail-rebuild.broken b/tests/09imsm-create-fail-rebuild.broken
-new file mode 100644
-index 0000000..40c4b29
---- /dev/null
-+++ b/tests/09imsm-create-fail-rebuild.broken
-@@ -0,0 +1,5 @@
-+always fails
-+
-+Fails with error:
-+
-+    **Error**: Array size mismatch - expected 3072, actual 16384
-diff --git a/tests/09imsm-overlap.broken b/tests/09imsm-overlap.broken
-new file mode 100644
-index 0000000..e7ccab7
---- /dev/null
-+++ b/tests/09imsm-overlap.broken
-@@ -0,0 +1,7 @@
-+always fails
-+
-+Fails with errors:
-+
-+    **Error**: Offset mismatch - expected 15360, actual 0
-+    **Error**: Offset mismatch - expected 15360, actual 0
-+    /dev/md/vol3 failed check
-diff --git a/tests/10ddf-assemble-missing.broken b/tests/10ddf-assemble-missing.broken
-new file mode 100644
-index 0000000..bfd8d10
---- /dev/null
-+++ b/tests/10ddf-assemble-missing.broken
-@@ -0,0 +1,6 @@
-+always fails
-+
-+Fails with errors:
-+
-+    ERROR: /dev/md/vol0 has unexpected state on /dev/loop10
-+    ERROR: unexpected number of online disks on /dev/loop10
-diff --git a/tests/10ddf-fail-create-race.broken b/tests/10ddf-fail-create-race.broken
-new file mode 100644
-index 0000000..6c0df02
---- /dev/null
-+++ b/tests/10ddf-fail-create-race.broken
-@@ -0,0 +1,7 @@
-+usually fails
-+
-+Fails about 9 out of 10 times with many errors:
-+
-+    mdadm: cannot open MISSING: No such file or directory
-+    ERROR: non-degraded array found
-+    ERROR: disk 0 not marked as failed in meta data
-diff --git a/tests/10ddf-fail-two-spares.broken b/tests/10ddf-fail-two-spares.broken
-new file mode 100644
-index 0000000..eeea56d
---- /dev/null
-+++ b/tests/10ddf-fail-two-spares.broken
-@@ -0,0 +1,5 @@
-+fails infrequently
-+
-+Fails roughly 1 in 3 with error:
-+
-+   ERROR: /dev/md/vol1 should be optimal in meta data
-diff --git a/tests/10ddf-incremental-wrong-order.broken b/tests/10ddf-incremental-wrong-order.broken
-new file mode 100644
-index 0000000..a5af3ba
---- /dev/null
-+++ b/tests/10ddf-incremental-wrong-order.broken
-@@ -0,0 +1,9 @@
-+always fails
-+
-+Fails with errors:
-+    ERROR: sha1sum of /dev/md/vol0 has changed
-+    ERROR: /dev/md/vol0 has unexpected state on /dev/loop10
-+    ERROR: unexpected number of online disks on /dev/loop10
-+    ERROR: /dev/md/vol0 has unexpected state on /dev/loop8
-+    ERROR: unexpected number of online disks on /dev/loop8
-+    ERROR: sha1sum of /dev/md/vol0 has changed
-diff --git a/tests/14imsm-r1_2d-grow-r1_3d.broken b/tests/14imsm-r1_2d-grow-r1_3d.broken
-new file mode 100644
-index 0000000..4ef1d40
---- /dev/null
-+++ b/tests/14imsm-r1_2d-grow-r1_3d.broken
-@@ -0,0 +1,5 @@
-+always fails
-+
-+Fails with error:
-+
-+    mdadm/tests/func.sh: line 325: dvsize/chunk: division by 0 (error token is "chunk")
-diff --git a/tests/14imsm-r1_2d-takeover-r0_2d.broken b/tests/14imsm-r1_2d-takeover-r0_2d.broken
-new file mode 100644
-index 0000000..89cd4e5
---- /dev/null
-+++ b/tests/14imsm-r1_2d-takeover-r0_2d.broken
-@@ -0,0 +1,6 @@
-+always fails
-+
-+Fails with error:
-+
-+    tests/func.sh: line 325: dvsize/chunk: division by 0 (error token
-+		is "chunk")
-diff --git a/tests/18imsm-r10_4d-takeover-r0_2d.broken b/tests/18imsm-r10_4d-takeover-r0_2d.broken
-new file mode 100644
-index 0000000..a27399f
---- /dev/null
-+++ b/tests/18imsm-r10_4d-takeover-r0_2d.broken
-@@ -0,0 +1,5 @@
-+fails rarely
-+
-+Fails about 1 run in 100 with message:
-+
-+   ERROR:  size is wrong for /dev/md/vol0: 2 * 5120 (chunk=128) = 20480, not 0
-diff --git a/tests/18imsm-r1_2d-takeover-r0_1d.broken b/tests/18imsm-r1_2d-takeover-r0_1d.broken
-new file mode 100644
-index 0000000..aa1982e
---- /dev/null
-+++ b/tests/18imsm-r1_2d-takeover-r0_1d.broken
-@@ -0,0 +1,6 @@
-+always fails
-+
-+Fails with error:
-+
-+    tests/func.sh: line 325: dvsize/chunk: division by 0 (error token
-+			is "chunk")
-diff --git a/tests/19raid6auto-repair.broken b/tests/19raid6auto-repair.broken
-new file mode 100644
-index 0000000..e91a142
---- /dev/null
-+++ b/tests/19raid6auto-repair.broken
-@@ -0,0 +1,5 @@
-+always fails
-+
-+Fails with:
-+
-+    "should detect errors"
-diff --git a/tests/19raid6repair.broken b/tests/19raid6repair.broken
-new file mode 100644
-index 0000000..e91a142
---- /dev/null
-+++ b/tests/19raid6repair.broken
-@@ -0,0 +1,5 @@
-+always fails
-+
-+Fails with:
-+
-+    "should detect errors"
--- 
-2.39.1
-
diff --git a/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch b/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
index fa90647..b758fcd 100644
--- a/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
+++ b/poky/meta/recipes-extended/mdadm/files/debian-no-Werror.patch
@@ -1,4 +1,4 @@
-From adb75f0bdec97dbe4aa15cc988d349775f7995ff Mon Sep 17 00:00:00 2001
+From 319b3191f088cea7b0fb6038ab7625d5e049dcf7 Mon Sep 17 00:00:00 2001
 From: "martin f. krafft" <madduck@debian.org>
 Date: Mon, 3 Jan 2022 19:14:12 +0000
 Subject: [PATCH] Remove -Werror from compiler flags
@@ -10,21 +10,20 @@
 Signed-off-by: martin f. krafft <madduck@debian.org>
 
 Upstream-Status: Pending
-
 ---
  Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index 716c97c..40354ea 100644
+index 9ab6a65..1141971 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -50,7 +50,7 @@ ifeq ($(origin CC),default)
  CC := $(CROSS_COMPILE)gcc
  endif
  CXFLAGS ?= -ggdb
--CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
-+CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter
+-CWFLAGS ?= -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
++CWFLAGS ?= -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter -Wformat -Wformat-security -Werror=format-security -fstack-protector-strong -fPIE -Warray-bounds
  ifdef WARN_UNUSED
- CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3
+ CWFLAGS += -Wp -O3
  endif
diff --git a/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch b/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch
deleted file mode 100644
index 8a1d834..0000000
--- a/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-include sys/sysmacros.h for major/minor macro definitions
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/mdadm.h
-+++ b/mdadm.h
-@@ -35,6 +35,7 @@ extern __off64_t lseek64 __P ((int __fd,
- 
- #include	<sys/types.h>
- #include	<sys/stat.h>
-+#include	<sys/sysmacros.h>
- #include	<stdint.h>
- #include	<stdlib.h>
- #include	<time.h>
diff --git a/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch b/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
index 7a2c888..ecd1f03 100644
--- a/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
+++ b/poky/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
@@ -1,4 +1,4 @@
-From e37f7f6a0f1ef1b594574d11a8b90b8c861d047b Mon Sep 17 00:00:00 2001
+From ca91d9fc07943f209988411f2596e4b69828f208 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
 Date: Sun, 15 Mar 2015 09:02:14 +0000
 Subject: [PATCH] mdadm: Fix build in x32 ABI
@@ -12,16 +12,15 @@
 Upstream-Status: Pending
 
 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
 ---
  monitor.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/monitor.c b/monitor.c
-index 81537ed..7c33382 100644
+index 4acec67..8dcdfd6 100644
 --- a/monitor.c
 +++ b/monitor.c
-@@ -445,9 +445,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
+@@ -447,9 +447,12 @@ static int read_and_act(struct active_array *a, fd_set *fds)
  		if (FD_ISSET(mdi->bb_fd, fds))
  			check_for_cleared_bb(a, mdi);
  	}
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.3.bb
similarity index 74%
rename from poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
rename to poky/meta/recipes-extended/mdadm/mdadm_4.3.bb
index 6f87249..228fc6f 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.3.bb
@@ -17,31 +17,16 @@
            file://0001-Use-CC-to-check-for-implicit-fallthrough-warning-sup.patch \
            file://0001-fix-gcc-8-format-truncation-warning.patch \
            file://debian-no-Werror.patch \
-           file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
            file://mdadm.init \
            file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
-           file://include_sysmacros.patch \
-           file://0001-mdadm-skip-test-11spare-migration.patch \
-           file://0001-Fix-parsing-of-r-in-monitor-manager-mode.patch \
            file://0001-Makefile-install-mdcheck.patch \
            file://0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch \
-           file://0001-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
-           file://0001-mdadm-Fix-optional-write-behind-parameter.patch \
-           file://0001-tests-02lineargrow-clear-the-superblock-at-every-ite.patch \
-           file://0001-tests-00raid0-add-a-test-that-validates-raid0-with-l.patch \
-           file://0001-tests-fix-raid0-tests-for-0.90-metadata.patch \
-           file://0001-tests-00readonly-Run-udevadm-settle-before-setting-r.patch \
-           file://0001-tests-04update-metadata-avoid-passing-chunk-size-to.patch \
-           file://0001-DDF-Cleanup-validate_geometry_ddf_container.patch \
-           file://0002-DDF-Fix-NULL-pointer-dereference-in-validate_geometr.patch \
-           file://0003-mdadm-Grow-Fix-use-after-close-bug-by-closing-after-.patch \
-           file://0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch \
-           file://0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch \
-           file://0006-tests-Add-broken-files-for-all-broken-tests.patch \
-           file://0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch \
+           file://0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch \
+           file://0001-util.c-add-limits.h-include-for-NAME_MAX-definition.patch \
+           file://0001-include-libgen.h-for-basename-API.patch \
            "
 
-SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d"
+SRC_URI[sha256sum] = "416727ae1f1080ea6e3090cea36dd076826fc369151e36ab736557ba92196f9f"
 
 inherit autotools-brokensep ptest systemd
 
@@ -59,7 +44,7 @@
 CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
 
 EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_system_unitdir} \
-                BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"'
+                BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev" LDFLAGS="${LDFLAGS}"'
 
 DEBUG_OPTIMIZATION:append = " -Wno-error"
 
@@ -91,7 +76,6 @@
 	cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
 	cp ${S}/test ${D}${PTEST_PATH}
 	sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/test
-	sed -e 's!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/tests/*
         sed -i -e '/echo -ne "$_script... "/d' \
                -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
                -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
diff --git a/poky/meta/recipes-extended/pam/libpam/0001-examples-Replace-use-of-termio.h-with-termios.h.patch b/poky/meta/recipes-extended/pam/libpam/0001-examples-Replace-use-of-termio.h-with-termios.h.patch
deleted file mode 100644
index 95c437d..0000000
--- a/poky/meta/recipes-extended/pam/libpam/0001-examples-Replace-use-of-termio.h-with-termios.h.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 9b96fcfa5748934b8b6a4db4ee25a5e3165905c0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Jul 2023 07:48:17 -0700
-Subject: [PATCH] examples: Replace use of termio.h with termios.h
-
-Fixes build with musl and makes it portable
-
-Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/commit/5374f677e4cae669eb9accf2449178b602e8a40a]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- examples/tty_conv.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/examples/tty_conv.c b/examples/tty_conv.c
-index 23f0684..db22500 100644
---- a/examples/tty_conv.c
-+++ b/examples/tty_conv.c
-@@ -6,7 +6,8 @@
- #include <string.h>
- #include <errno.h>
- #include <unistd.h>
--#include <termio.h>
-+#include <termios.h>
-+#include <sys/ioctl.h>
- #include <security/pam_appl.h>
- 
- /***************************************
-@@ -16,7 +17,7 @@
-  ***************************************/
- static void echoOff(int fd, int off)
- {
--    struct termio tty;
-+    struct termios tty;
-     if (ioctl(fd, TCGETA, &tty) < 0)
-     {
-         fprintf(stderr, "TCGETA failed: %s\n", strerror(errno));
--- 
-2.41.0
-
diff --git a/poky/meta/recipes-extended/pam/libpam/libpam-xtests.patch b/poky/meta/recipes-extended/pam/libpam/libpam-xtests.patch
index ea14589..f2dafa7 100644
--- a/poky/meta/recipes-extended/pam/libpam/libpam-xtests.patch
+++ b/poky/meta/recipes-extended/pam/libpam/libpam-xtests.patch
@@ -1,13 +1,21 @@
-This patch is used to create a new sub package libpam-xtests to do more checks.
+From 060726f7e60c8ecb5bf50fd776910b290d9a0a69 Mon Sep 17 00:00:00 2001
+From: Kang Kai <kai.kang@windriver.com>
+Date: Tue, 19 Jul 2011 17:08:31 +0800
+Subject: [PATCH] This patch is used to create a new sub package libpam-xtests
+ to do more checks.
 
 Upstream-Status: Pending
 
 Signed-off-by: Kang Kai <kai.kang@windriver.com>
-Index: Linux-PAM-1.3.0/xtests/Makefile.am
-===================================================================
---- Linux-PAM-1.3.0.orig/xtests/Makefile.am
-+++ Linux-PAM-1.3.0/xtests/Makefile.am
-@@ -7,7 +7,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_src
+---
+ xtests/Makefile.am | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/xtests/Makefile.am b/xtests/Makefile.am
+index acf9746..9826c9f 100644
+--- a/xtests/Makefile.am
++++ b/xtests/Makefile.am
+@@ -8,7 +8,7 @@ AM_CFLAGS = -DLIBPAM_COMPILE -I$(top_srcdir)/libpam/include \
  LDADD = $(top_builddir)/libpam/libpam.la \
  	$(top_builddir)/libpam_misc/libpam_misc.la
  
@@ -16,7 +24,7 @@
  
  EXTRA_DIST = run-xtests.sh tst-pam_dispatch1.pamd tst-pam_dispatch2.pamd \
  	tst-pam_dispatch3.pamd tst-pam_dispatch4.pamd \
-@@ -51,3 +51,18 @@ EXTRA_PROGRAMS = $(XTESTS)
+@@ -55,3 +55,18 @@ EXTRA_PROGRAMS = $(XTESTS)
  
  xtests: $(XTESTS) run-xtests.sh
  	"$(srcdir)"/run-xtests.sh "$(srcdir)" ${XTESTS} ${NOSRCTESTS}
diff --git a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb b/poky/meta/recipes-extended/pam/libpam_1.6.0.bb
similarity index 97%
rename from poky/meta/recipes-extended/pam/libpam_1.5.3.bb
rename to poky/meta/recipes-extended/pam/libpam_1.6.0.bb
index 2a53bb4..e1ed940 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.6.0.bb
@@ -21,13 +21,12 @@
            file://pam.d/common-session-noninteractive \
            file://pam.d/other \
            file://libpam-xtests.patch \
-           file://0001-examples-Replace-use-of-termio.h-with-termios.h.patch \
            file://run-ptest \
            file://pam-volatiles.conf \
            file://0001-pam_namespace-include-stdint-h.patch \
            "
 
-SRC_URI[sha256sum] = "7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283"
+SRC_URI[sha256sum] = "fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad"
 
 DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt"
 
diff --git a/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch b/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
index ca13bdb..01335bd 100644
--- a/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
+++ b/poky/meta/recipes-extended/psmisc/psmisc/0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch
@@ -1,4 +1,4 @@
-From 115fcf1daff18aa2f2e130d63704f04031878db0 Mon Sep 17 00:00:00 2001
+From 338d2d46d1c20ebadf317938af98d0532a62f8d4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 24 Mar 2016 15:46:14 +0000
 Subject: [PATCH] Use UINTPTR_MAX instead of __WORDSIZE
@@ -13,7 +13,7 @@
  1 file changed, 8 insertions(+), 5 deletions(-)
 
 diff --git a/src/peekfd.c b/src/peekfd.c
-index 5aa990a..7e8e3fc 100644
+index 36dff04..2b4b1dc 100644
 --- a/src/peekfd.c
 +++ b/src/peekfd.c
 @@ -30,8 +30,11 @@
@@ -28,7 +28,7 @@
  #include <getopt.h>
  #include <ctype.h>
  #include <dirent.h>
-@@ -266,11 +269,11 @@ int main(int argc, char **argv)
+@@ -341,11 +344,11 @@ int main(int argc, char **argv)
  		if (WIFSTOPPED(status)) {
  #ifdef PPC
  			struct pt_regs regs;
diff --git a/poky/meta/recipes-extended/psmisc/psmisc_23.6.bb b/poky/meta/recipes-extended/psmisc/psmisc_23.7.bb
similarity index 84%
rename from poky/meta/recipes-extended/psmisc/psmisc_23.6.bb
rename to poky/meta/recipes-extended/psmisc/psmisc_23.7.bb
index 2e55ad0..ea272cd 100644
--- a/poky/meta/recipes-extended/psmisc/psmisc_23.6.bb
+++ b/poky/meta/recipes-extended/psmisc/psmisc_23.7.bb
@@ -5,5 +5,5 @@
 SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master \
            file://0001-Use-UINTPTR_MAX-instead-of-__WORDSIZE.patch \
            "
-SRCREV = "3098e641dc1ddb210186f53464255670b480377b"
+SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch b/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
index d278a4c..2e5503b 100644
--- a/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
+++ b/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
@@ -16,11 +16,9 @@
  lib/copydir.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-Index: shadow-4.14.2/lib/copydir.c
-===================================================================
---- shadow-4.14.2.orig/lib/copydir.c
-+++ shadow-4.14.2/lib/copydir.c
-@@ -415,6 +415,7 @@ static int copy_entry (const struct path
+--- a/lib/copydir.c
++++ b/lib/copydir.c
+@@ -400,6 +400,7 @@ static int copy_entry (const struct path
  {
  	int err = 0;
  	struct stat sb;
@@ -28,12 +26,12 @@
  	struct link_name *lp;
  	struct timespec mt[2];
  
-@@ -436,7 +437,7 @@ static int copy_entry (const struct path
- 		 * If the destination already exists do nothing.
- 		 * This is after the copy_dir above to still iterate into subdirectories.
- 		 */
--		if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
-+		if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
- 			return 0;
- 		}
+@@ -423,7 +424,7 @@ static int copy_entry (const struct path
+ 	* If the destination already exists do nothing.
+ 	* This is after the copy_dir above to still iterate into subdirectories.
+ 	*/
+-	if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
++	if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
+ 		return err;
+ 	}
  
diff --git a/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
index 4a932d2..cd99aad 100644
--- a/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
+++ b/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
@@ -1,4 +1,4 @@
-From a773c6b240d27e23d6be41decef0edf24fcee523 Mon Sep 17 00:00:00 2001
+From f512071dd3a4c29d4bf048c5a89c4ba9160e37b1 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Thu, 17 Jul 2014 15:53:34 +0800
 Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env
@@ -20,10 +20,10 @@
  1 file changed, 12 insertions(+), 4 deletions(-)
 
 diff --git a/lib/commonio.c b/lib/commonio.c
-index 73fdb3a..d1231e9 100644
+index 01a26c9..82b2868 100644
 --- a/lib/commonio.c
 +++ b/lib/commonio.c
-@@ -606,10 +606,18 @@ int commonio_open (struct commonio_db *db, int mode)
+@@ -601,10 +601,18 @@ int commonio_open (struct commonio_db *db, int mode)
  	db->cursor = NULL;
  	db->changed = false;
  
@@ -46,6 +46,3 @@
  	db->fp = NULL;
  	if (fd >= 0) {
  #ifdef WITH_TCB
--- 
-2.30.2
-
diff --git a/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch b/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
index 3b61b75..1eacb8a 100644
--- a/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
+++ b/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
@@ -1,3 +1,8 @@
+From 38882ab288fd4d2cc2e45dff222ae3412c8fe357 Mon Sep 17 00:00:00 2001
+From: Kang Kai <kai.kang@windriver.com>
+Date: Wed, 20 Jul 2011 19:18:14 +0800
+Subject: [PATCH] shadow: update pam related configure files
+
 The system-auth in the configure files is from Fedora which put all the 4 pam type rules
 in one file.
 In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, common-account,
@@ -9,82 +14,102 @@
 Upstream-Status: Inappropriate [oe-core specific]
 
 Signed-off-by: Kang Kai <kai.kang@windriver.com>
+---
+ etc/pam.d/chage     | 2 +-
+ etc/pam.d/chgpasswd | 2 +-
+ etc/pam.d/groupadd  | 2 +-
+ etc/pam.d/groupdel  | 2 +-
+ etc/pam.d/groupmems | 2 +-
+ etc/pam.d/groupmod  | 2 +-
+ etc/pam.d/useradd   | 2 +-
+ etc/pam.d/userdel   | 2 +-
+ etc/pam.d/usermod   | 2 +-
+ 9 files changed, 9 insertions(+), 9 deletions(-)
 
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chage shadow-4.1.4.3/etc/pam.d/chage
---- shadow-4.1.4.3/etc/pam.d.orig/chage	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/chage	2011-07-20 19:03:08.964844958 +0800
+diff --git a/etc/pam.d/chage b/etc/pam.d/chage
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/chage
++++ b/etc/pam.d/chage
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/chgpasswd shadow-4.1.4.3/etc/pam.d/chgpasswd
---- shadow-4.1.4.3/etc/pam.d.orig/chgpasswd	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/chgpasswd	2011-07-20 19:03:26.544844958 +0800
+diff --git a/etc/pam.d/chgpasswd b/etc/pam.d/chgpasswd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/chgpasswd
++++ b/etc/pam.d/chgpasswd
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupadd shadow-4.1.4.3/etc/pam.d/groupadd
---- shadow-4.1.4.3/etc/pam.d.orig/groupadd	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupadd	2011-07-20 19:04:08.124844958 +0800
+diff --git a/etc/pam.d/groupadd b/etc/pam.d/groupadd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupadd
++++ b/etc/pam.d/groupadd
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupdel shadow-4.1.4.3/etc/pam.d/groupdel
---- shadow-4.1.4.3/etc/pam.d.orig/groupdel	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupdel	2011-07-20 19:04:26.114844958 +0800
+diff --git a/etc/pam.d/groupdel b/etc/pam.d/groupdel
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupdel
++++ b/etc/pam.d/groupdel
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmems shadow-4.1.4.3/etc/pam.d/groupmems
---- shadow-4.1.4.3/etc/pam.d.orig/groupmems	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupmems	2011-07-20 19:04:35.074844958 +0800
+diff --git a/etc/pam.d/groupmems b/etc/pam.d/groupmems
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupmems
++++ b/etc/pam.d/groupmems
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/groupmod shadow-4.1.4.3/etc/pam.d/groupmod
---- shadow-4.1.4.3/etc/pam.d.orig/groupmod	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/groupmod	2011-07-20 19:04:44.864844958 +0800
+diff --git a/etc/pam.d/groupmod b/etc/pam.d/groupmod
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/groupmod
++++ b/etc/pam.d/groupmod
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/useradd shadow-4.1.4.3/etc/pam.d/useradd
---- shadow-4.1.4.3/etc/pam.d.orig/useradd	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/useradd	2011-07-20 19:07:26.244844958 +0800
+diff --git a/etc/pam.d/useradd b/etc/pam.d/useradd
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/useradd
++++ b/etc/pam.d/useradd
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/userdel shadow-4.1.4.3/etc/pam.d/userdel
---- shadow-4.1.4.3/etc/pam.d.orig/userdel	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/userdel	2011-07-20 19:07:35.734844958 +0800
+diff --git a/etc/pam.d/userdel b/etc/pam.d/userdel
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/userdel
++++ b/etc/pam.d/userdel
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
  account		required	pam_permit.so
 -password	include		system-auth
 +password	include		common-password
-diff -Nur shadow-4.1.4.3/etc/pam.d.orig/usermod shadow-4.1.4.3/etc/pam.d/usermod
---- shadow-4.1.4.3/etc/pam.d.orig/usermod	2011-07-20 19:02:27.384844958 +0800
-+++ shadow-4.1.4.3/etc/pam.d/usermod	2011-07-20 19:07:42.024844958 +0800
+diff --git a/etc/pam.d/usermod b/etc/pam.d/usermod
+index 8f49f5c..b1f365d 100644
+--- a/etc/pam.d/usermod
++++ b/etc/pam.d/usermod
 @@ -1,4 +1,4 @@
  #%PAM-1.0
  auth		sufficient	pam_rootok.so
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 40e6ab0..7b9763d 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -25,7 +25,7 @@
 SRC_URI:append:class-native = " \
            file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
            "
-SRC_URI[sha256sum] = "a305edf5d19bddbdf5e836d2d609fa8bff2d35458819de4d9f06306a1cf24342"
+SRC_URI[sha256sum] = "377fe0d7c1a0aa5e3514c08fdf5ddc70c9dcbb391678c2134445ed97326bcc26"
 
 # Additional Policy files for PAM
 PAM_SRC_URI = "file://pam.d/chfn \
@@ -40,7 +40,7 @@
 
 export CONFIG_SHELL="/bin/sh"
 
-EXTRA_OECONF += "--without-libcrack \
+EXTRA_OECONF += " \
                  --with-group-name-max-length=24 \
                  --enable-subordinate-ids=yes \
                  --without-sssd \
diff --git a/poky/meta/recipes-extended/shadow/shadow_4.14.2.bb b/poky/meta/recipes-extended/shadow/shadow_4.15.0.bb
similarity index 100%
rename from poky/meta/recipes-extended/shadow/shadow_4.14.2.bb
rename to poky/meta/recipes-extended/shadow/shadow_4.15.0.bb
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.05.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb
similarity index 94%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.17.05.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb
index d4a427f..a52b70d 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.05.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
            "
-SRCREV = "4e68895f4fe68863b360ab4a6a57e2dfcff85d60"
+SRCREV = "e6bda983cb48a201b6af173204372c7b37d6411f"
 S = "${WORKDIR}/git"
 
 DEPENDS = "coreutils-native libbsd"
diff --git a/poky/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch b/poky/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
similarity index 87%
rename from poky/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch
rename to poky/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
index 3801d73..b43a115 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo/disable-native-tools.patch
+++ b/poky/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
@@ -1,7 +1,8 @@
-From e5d8f6d4a7652ea95c8d069ce9333494f2db868c Mon Sep 17 00:00:00 2001
+From ee9d23373b488c4a499c561d71e6b6ba7ca1bd31 Mon Sep 17 00:00:00 2001
 From: Joshua Lock <josh@linux.intel.com>
 Date: Fri, 16 Sep 2011 15:35:48 -0700
-Subject: [PATCH] texinfo: several changes to build without zlib and ncurses
+Subject: [PATCH 1/3] texinfo: several changes to build without zlib and
+ ncurses
 
 We already DEPEND on the native texinfo being present before building so
 there isn't any need to try and build the required native texinfo binaries
@@ -10,16 +11,15 @@
 Upstream-Status: Inappropriate oe specific
 
 Signed-off-by: Joshua Lock <josh@linux.intel.com>
-
 ---
  configure.ac | 24 +-----------------------
  1 file changed, 1 insertion(+), 23 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 6fcd3a0..c108df7 100644
+index 8094498..5b72fc1 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -180,29 +180,7 @@ AC_CANONICAL_BUILD
+@@ -247,29 +247,7 @@ AC_CANONICAL_BUILD
  # $native_tools is also added to SUBDIRS in the main Makefile.am,
  # so that make compiles the native tools first.
  #
@@ -50,3 +50,6 @@
  AC_SUBST(native_tools)
  AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]])
  
+-- 
+2.39.2
+
diff --git a/poky/meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch b/poky/meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch
similarity index 84%
rename from poky/meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch
rename to poky/meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch
index 825887c..f3b6827 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo/dont-depend-on-help2man.patch
+++ b/poky/meta/recipes-extended/texinfo/texinfo/0002-dont-depend-on-help2man.patch
@@ -1,33 +1,32 @@
-From 451a9b9c3874872d575693fc7733fae02690a7d3 Mon Sep 17 00:00:00 2001
+From e02be81fa68ddc7f939abd99de4e42759a0d5d8c Mon Sep 17 00:00:00 2001
 From: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
 Date: Tue, 29 Nov 2016 13:43:24 -0600
-Subject: [PATCH] dont-depend-on-help2man
+Subject: [PATCH 2/3] dont-depend-on-help2man
 
 Upstream-Status: Inappropriate
 
 Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
 Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
-
 ---
  doc/Makefile.am |  2 +-
  man/Makefile.am | 12 ++++++------
  2 files changed, 7 insertions(+), 7 deletions(-)
 
 diff --git a/doc/Makefile.am b/doc/Makefile.am
-index 407a38c..6b5ff3e 100644
+index e9e6298..f1b9895 100644
 --- a/doc/Makefile.am
 +++ b/doc/Makefile.am
-@@ -55,7 +55,7 @@ refcard_files = refcard/Makefile refcard/txicmdcheck \
+@@ -63,7 +63,7 @@ refcard/txirefcard.pdf refcard/txirefcard-a4.pdf: refcard/txirefcard.tex
  # Include our texinfo.tex, not Automake's.
  EXTRA_DIST = epsf.tex texinfo.tex \
               fdl.texi \
 -	     $(man_MANS) $(TXI_XLATE) \
 +	     $(TXI_XLATE) \
               $(refcard_files) \
-              gendocs.chapter/gendocs_template \
  	     texinfo-tex-test.texi texinfo-tex-test.WIDOWs \
+              texinfo-ja.tex short-sample-ja.texi \
 diff --git a/man/Makefile.am b/man/Makefile.am
-index d0cd72c..a19e52a 100644
+index f2c703f..61caeeb 100644
 --- a/man/Makefile.am
 +++ b/man/Makefile.am
 @@ -11,27 +11,27 @@
@@ -64,3 +63,6 @@
  
  # Maintainers should be able to regenerate.
  MAINTAINERCLEANFILES = $(man_MANS)
+-- 
+2.39.2
+
diff --git a/poky/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch b/poky/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
similarity index 75%
rename from poky/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch
rename to poky/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
index c6c9952..f99f8b8 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo/use_host_makedoc.patch
+++ b/poky/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
@@ -1,21 +1,20 @@
-From 81ccd162b869c20e450073fa834b5cabbea8e3d4 Mon Sep 17 00:00:00 2001
+From 33b85a3928895b812b37dc759c6de711802db45f Mon Sep 17 00:00:00 2001
 From: Saul Wold <sgw@linux.intel.com>
 Date: Mon, 29 Jul 2013 15:02:34 -0700
-Subject: [PATCH] texinfo: Update to 5.1
+Subject: [PATCH 3/3] texinfo: Update to 5.1
 
 Upstream-Status: Inappropriate [cross build specific]
 
 Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
 ---
  info/Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/info/Makefile.am b/info/Makefile.am
-index 35596b1..cae1421 100644
+index f57b341..a019aa7 100644
 --- a/info/Makefile.am
 +++ b/info/Makefile.am
-@@ -69,7 +69,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
+@@ -77,7 +77,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
  # more than once.
  funs.h: makedoc$(EXEEXT) $(cmd_sources)
  	rm -f $(generated_sources)
@@ -24,3 +23,6 @@
  
  # The following hack is necessary to hint make before the automatic
  # dependencies are built.
+-- 
+2.39.2
+
diff --git a/poky/meta/recipes-extended/texinfo/texinfo/link-zip.patch b/poky/meta/recipes-extended/texinfo/texinfo/link-zip.patch
deleted file mode 100644
index 72d7067..0000000
--- a/poky/meta/recipes-extended/texinfo/texinfo/link-zip.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From c5050ac84c8a3cc3ff8c7e558f8c2fdb57f410d9 Mon Sep 17 00:00:00 2001
-From: Joshua Lock <josh@linux.intel.com>
-Date: Mon, 29 Jul 2013 15:02:34 -0700
-Subject: [PATCH] install-info uses symbols from zlib so must link against it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joshua Lock <josh@linux.intel.com>
-
----
- install-info/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/install-info/Makefile.am b/install-info/Makefile.am
-index 9bcff71..68247f9 100644
---- a/install-info/Makefile.am
-+++ b/install-info/Makefile.am
-@@ -33,4 +33,4 @@ AM_CPPFLAGS = 					\
-   -I$(top_srcdir)/gnulib/lib			\
-   -I$(top_builddir)/gnulib/lib			\
-   -DLOCALEDIR=\"$(localedir)\"
--LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL) $(LIBTHREAD)
-+LDADD = $(top_builddir)/gnulib/lib/libgnu.a $(LIBINTL) $(LIBTHREAD) -lz
diff --git a/poky/meta/recipes-extended/texinfo/texinfo_7.0.3.bb b/poky/meta/recipes-extended/texinfo/texinfo_7.1.bb
similarity index 88%
rename from poky/meta/recipes-extended/texinfo/texinfo_7.0.3.bb
rename to poky/meta/recipes-extended/texinfo/texinfo_7.1.bb
index b149177..65d8252 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo_7.0.3.bb
+++ b/poky/meta/recipes-extended/texinfo/texinfo_7.1.bb
@@ -25,17 +25,16 @@
 DEPENDS = "zlib ncurses texinfo-replacement-native"
 DEPENDS:class-native = "zlib-native ncurses-native"
 
-TARGET_PATCH = "file://use_host_makedoc.patch"
+TARGET_PATCH = "file://0003-texinfo-Update-to-5.1.patch"
 TARGET_PATCH:class-native = ""
 
 SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
-           file://disable-native-tools.patch \
-           file://link-zip.patch \
-           file://dont-depend-on-help2man.patch \
+           file://0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch \
+           file://0002-dont-depend-on-help2man.patch \
            ${TARGET_PATCH} \
            "
 
-SRC_URI[sha256sum] = "3cc5706fb086b895e1dc2b407aade9f95a3a233ff856273e2b659b089f117683"
+SRC_URI[sha256sum] = "dd5710b3a53ac002644677a06145748e260592a35be182dc830ebebb79c5d5a0"
 
 tex_texinfo = "texmf/tex/texinfo"
 
@@ -44,6 +43,7 @@
 MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
 
 EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
+CACHED_CONFIGUREVARS += "texinfo_cv_sys_iconv_converts_euc_cn=yes"
 
 do_configure:prepend () {
 	# autotools_do_configure updates po/Makefile.in.in, we also need
diff --git a/poky/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch b/poky/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
index 050fc2c..5438baf 100644
--- a/poky/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
+++ b/poky/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
@@ -1,4 +1,4 @@
-From 7f1357529d23b356b45fbb0dd7388588162e4cb8 Mon Sep 17 00:00:00 2001
+From b86e57b68363d108fe77c6fd588a275d2696cabe Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Wed, 10 Jan 2018 14:43:20 +0800
 Subject: [PATCH] src/Makefile.am: improve reproducibility
@@ -44,10 +44,10 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 28c0be2..44084a3 100644
+index 18ec622..38d252d 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -87,9 +87,13 @@ version.c:  $(wget_SOURCES) ../lib/libgnu.a
+@@ -108,9 +108,13 @@ version.c:  $(wget_SOURCES) ../lib/libgnu.a
  	echo '#include "version.h"' >> $@
  	echo 'const char *version_string = "@VERSION@";' >> $@
  	echo 'const char *compilation_string = "'$(COMPILE)'";' \
@@ -61,6 +61,3 @@
  	    | $(ESCAPEQUOTE) >> $@
  
  css.c: $(srcdir)/css.l
--- 
-1.8.3.1
-
diff --git a/poky/meta/recipes-extended/wget/wget_1.21.4.bb b/poky/meta/recipes-extended/wget/wget_1.24.5.bb
similarity index 60%
rename from poky/meta/recipes-extended/wget/wget_1.21.4.bb
rename to poky/meta/recipes-extended/wget/wget_1.24.5.bb
index 1d31b01..64e6ee8 100644
--- a/poky/meta/recipes-extended/wget/wget_1.21.4.bb
+++ b/poky/meta/recipes-extended/wget/wget_1.24.5.bb
@@ -2,6 +2,6 @@
            file://0002-improve-reproducibility.patch \
           "
 
-SRC_URI[sha256sum] = "81542f5cefb8faacc39bbbc6c82ded80e3e4a88505ae72ea51df27525bcde04c"
+SRC_URI[sha256sum] = "fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de"
 
 require wget.inc
diff --git a/poky/meta/recipes-gnome/gcr/gcr_4.2.0.bb b/poky/meta/recipes-gnome/gcr/gcr_4.2.1.bb
similarity index 95%
rename from poky/meta/recipes-gnome/gcr/gcr_4.2.0.bb
rename to poky/meta/recipes-gnome/gcr/gcr_4.2.1.bb
index c534e22..26dc1d1 100644
--- a/poky/meta/recipes-gnome/gcr/gcr_4.2.0.bb
+++ b/poky/meta/recipes-gnome/gcr/gcr_4.2.1.bb
@@ -20,7 +20,7 @@
 
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
 
-SRC_URI[archive.sha256sum] = "e15e31329e0171229d552d25563f176c5b6179795bf91fae2b141f69a9b7c480"
+SRC_URI[archive.sha256sum] = "ed783b5c80373cd058c02ea9e3e2a64e558599ca190a5abd598122e479967de5"
 
 PACKAGECONFIG ??= " \
 	${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_45.0.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_46.0.bb
similarity index 91%
rename from poky/meta/recipes-gnome/gnome/adwaita-icon-theme_45.0.bb
rename to poky/meta/recipes-gnome/gnome/adwaita-icon-theme_46.0.bb
index 0bd9828..2f3e4e7 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_45.0.bb
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_46.0.bb
@@ -12,7 +12,7 @@
 
 inherit gnomebase allarch gtk-icon-cache
 
-SRC_URI[archive.sha256sum] = "2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1"
+SRC_URI[archive.sha256sum] = "4bcb539bd75d64da385d6fa08cbaa9ddeaceb6ac8e82b85ba6c41117bf5ba64e"
 
 DEPENDS += "librsvg-native"
 
diff --git a/poky/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch b/poky/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch
index da8ce68..27081d8 100644
--- a/poky/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch
+++ b/poky/meta/recipes-gnome/libxmlb/libxmlb/0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch
@@ -1,4 +1,4 @@
-From dc208bafc57c1ccaa0ca260f99c8b4c976271ebc Mon Sep 17 00:00:00 2001
+From 8a1aa4c318b8dbe4c0c2b1c4968f867ea6641b32 Mon Sep 17 00:00:00 2001
 From: Markus Volk <f_l_k@t-online.de>
 Date: Sat, 16 Sep 2023 14:02:57 +0200
 Subject: [PATCH] xb-self-test.c: hardcode G_TEST_SRCDIR
@@ -18,10 +18,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/xb-self-test.c b/src/xb-self-test.c
-index 47d9728..8b3dd0e 100644
+index 1daca18..2e5b251 100644
 --- a/src/xb-self-test.c
 +++ b/src/xb-self-test.c
-@@ -2870,7 +2870,7 @@ xb_speed_func(void)
+@@ -2876,7 +2876,7 @@ xb_speed_func(void)
  int
  main(int argc, char **argv)
  {
@@ -30,6 +30,3 @@
  
  	g_test_init(&argc, &argv, NULL);
  
--- 
-2.41.0
-
diff --git a/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.15.bb b/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.17.bb
similarity index 92%
rename from poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.15.bb
rename to poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.17.bb
index 528e3e0..f403857 100644
--- a/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.15.bb
+++ b/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.17.bb
@@ -8,7 +8,7 @@
 	file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \
 	file://run-ptest \
 "
-SRCREV = "25a6384ad60f7e8550292e6cb4f262cc5da74be4"
+SRCREV = "db54f1b3254334e59b29b01b6cb666f444746594"
 S = "${WORKDIR}/git"
 
 DEPENDS = "glib-2.0 xz zstd"
diff --git a/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
index 316a57f..e6bb6ec 100644
--- a/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
+++ b/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch
@@ -1,4 +1,4 @@
-From 4cede5edcff96134baf35953d58595c4aa5f1fc5 Mon Sep 17 00:00:00 2001
+From fc33f1cf032a15c07044ef932bc991c346d62d62 Mon Sep 17 00:00:00 2001
 From: Jose Quaresma <quaresma.jose@gmail.com>
 Date: Sun, 7 Feb 2021 01:30:39 +0000
 Subject: [PATCH] generate glslang pkg-config
@@ -15,12 +15,12 @@
  create mode 100644 glslang/glslang.pc.cmake.in
 
 diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
-index 37eecaad..6974935c 100644
+index e4690f09..8e660bc5 100644
 --- a/glslang/CMakeLists.txt
 +++ b/glslang/CMakeLists.txt
-@@ -251,6 +251,8 @@ if(PROJECT_IS_TOP_LEVEL)
-         ")
-         install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
+@@ -233,6 +233,8 @@ if(GLSLANG_ENABLE_INSTALL)
+         install(TARGETS MachineIndependent EXPORT glslang-targets)
+         install(TARGETS GenericCodeGen EXPORT glslang-targets)
      endif()
 +    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY)
 +    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
diff --git a/poky/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb b/poky/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb
similarity index 96%
rename from poky/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb
rename to poky/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb
index 2fd1e72..637082c 100644
--- a/poky/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb
@@ -8,7 +8,7 @@
 LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3"
 
-SRCREV = "a91631b260cba3f22858d6c6827511e636c2458a"
+SRCREV = "ee2f5d09eaf8f4e8d0d598bd2172fce290d4ca60"
 SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \
            file://0001-generate-glslang-pkg-config.patch \
            "
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.0.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb
similarity index 95%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.0.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb
index d733342..fd4dcc2 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.0.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb
@@ -9,7 +9,7 @@
                     "
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "109501eaeb8bde3eadb25fab4164e993fbace29c3d775bcaa1c1e58e2f15f847"
+SRC_URI[sha256sum] = "f73e1eacd7e2ffae687bc3f056bb0c705b7a05aee86337686e09da8fc1c2030c"
 
 DEPENDS += "glib-2.0-native"
 
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.0.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.1.bb
similarity index 97%
rename from poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.0.bb
rename to poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.1.bb
index 99dbf36..891e911 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.0.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.1.bb
@@ -25,7 +25,7 @@
 
 S = "${WORKDIR}/SDL2-${PV}"
 
-SRC_URI[sha256sum] = "36e2e41557e0fa4a1519315c0f5958a87ccb27e25c51776beb6f1239526447b0"
+SRC_URI[sha256sum] = "01215ffbc8cfc4ad165ba7573750f15ddda1f971d5a66e9dcaffd37c587f473a"
 
 inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
 
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch b/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
index f6d95c8..1711e22 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
@@ -1,4 +1,4 @@
-From fe4600de549549fbb3033fc1b37904ba6b3fe2af Mon Sep 17 00:00:00 2001
+From 051f41beda540f0ae77b341db01a6de83c9e938a Mon Sep 17 00:00:00 2001
 From: Markus Volk <f_l_k@t-online.de>
 Date: Fri, 8 Mar 2024 15:53:11 +0100
 Subject: [PATCH] Revert "meson: do not pull in clc for clover"
@@ -18,10 +18,10 @@
  2 files changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 25e92ea5f95..3956e19c08f 100644
+index 2db6185..741b5d1 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -818,6 +818,7 @@ if _opencl != 'disabled'
+@@ -813,6 +813,7 @@ if _opencl != 'disabled'
      error('The Clover OpenCL state tracker requires rtti')
    endif
  
@@ -29,7 +29,7 @@
    with_gallium_opencl = true
    with_opencl_icd = _opencl == 'icd'
  else
-@@ -842,7 +843,7 @@ if with_gallium_rusticl
+@@ -837,7 +838,7 @@ if with_gallium_rusticl
  endif
  
  dep_clc = null_dep
@@ -39,7 +39,7 @@
  endif
  
 diff --git a/src/compiler/meson.build b/src/compiler/meson.build
-index 8d73544c6d8..1dae56d1b2b 100644
+index 8d73544..1dae56d 100644
 --- a/src/compiler/meson.build
 +++ b/src/compiler/meson.build
 @@ -79,7 +79,7 @@ subdir('nir')
@@ -51,6 +51,3 @@
    subdir('clc')
  endif
  if with_gallium
--- 
-2.44.0
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_24.0.2.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_24.0.2.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 6e96190..1c9fa66 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -22,7 +22,7 @@
            file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \
 "
 
-SRC_URI[sha256sum] = "94e28a8edad06d8ed2b83eb53f253b9eb5aa62c3080f939702e1b3039b56c9e8"
+SRC_URI[sha256sum] = "77aec9a2a37b7d3596ea1640b3cc53d0b5d9b3b52abed89de07e3717e91bfdbe"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa_24.0.2.bb b/poky/meta/recipes-graphics/mesa/mesa_24.0.3.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa_24.0.2.bb
rename to poky/meta/recipes-graphics/mesa/mesa_24.0.3.bb
diff --git a/poky/meta/recipes-graphics/pango/pango_1.52.0.bb b/poky/meta/recipes-graphics/pango/pango_1.52.1.bb
similarity index 94%
rename from poky/meta/recipes-graphics/pango/pango_1.52.0.bb
rename to poky/meta/recipes-graphics/pango/pango_1.52.1.bb
index 7505ff9..a67c379 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.52.0.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.52.1.bb
@@ -23,7 +23,7 @@
            file://0001-Skip-running-test-layout-test.patch \
            "
 
-SRC_URI[archive.sha256sum] = "1ec8518879c3f43224499f08e8ecbbdf4a5d302ed6cd3853b4fa949f82b89a9b"
+SRC_URI[archive.sha256sum] = "58728a0a2d86f60761208df9493033d18ecb2497abac80ee1a274ad0c6e55f0f"
 
 DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
 
diff --git a/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch b/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
index 4212512..5c49aa7 100644
--- a/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
+++ b/poky/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
@@ -1,4 +1,4 @@
-From 792a46ef27ef879a21c9f01a198eae213ea535e6 Mon Sep 17 00:00:00 2001
+From 941f5f5831e7a52c26168f81f25d0470860ca6f1 Mon Sep 17 00:00:00 2001
 From: Jose Quaresma <quaresma.jose@gmail.com>
 Date: Sat, 13 Feb 2021 00:45:56 +0000
 Subject: [PATCH] cmake: disable building external dependencies
@@ -15,7 +15,7 @@
  2 files changed, 25 insertions(+), 10 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7bc8f5d..13fc535 100644
+index ffcb54b..cce715e 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -62,6 +62,7 @@ else()
@@ -26,7 +26,7 @@
  
  set (CMAKE_CXX_STANDARD 17)
  
-@@ -123,8 +124,14 @@ endif(MSVC)
+@@ -119,8 +120,14 @@ endif(MSVC)
  
  
  # Configure subdirectories.
@@ -43,9 +43,9 @@
  
  add_subdirectory(libshaderc_util)
  add_subdirectory(libshaderc)
-@@ -136,7 +143,7 @@ endif()
+@@ -132,7 +139,7 @@ endif()
  add_custom_target(build-version
-   ${PYTHON_EXECUTABLE}
+   ${Python_EXECUTABLE}
    ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py
 -  ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc
 +  ${CMAKE_CURRENT_BINARY_DIR}/build-version.inc ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR}
@@ -53,7 +53,7 @@
  
  function(define_pkg_config_file NAME LIBS)
 diff --git a/utils/update_build_version.py b/utils/update_build_version.py
-index 11ee53e..d39e59d 100755
+index b7ce5b8..95b34c5 100755
 --- a/utils/update_build_version.py
 +++ b/utils/update_build_version.py
 @@ -30,6 +30,7 @@ import re
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2023.8.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2024.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/shaderc/shaderc_2023.8.bb
rename to poky/meta/recipes-graphics/shaderc/shaderc_2024.0.bb
index bc7afbd..9975c60 100644
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2023.8.bb
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2024.0.bb
@@ -6,7 +6,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRCREV = "f8a25c591bf5edbb462ca4aea99dcc666f096d13"
+SRCREV = "9f56ca620c07d6c4d119c65c1c1f3f1c584c9985"
 SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
            file://0001-cmake-disable-building-external-dependencies.patch \
            file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
diff --git a/poky/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb b/poky/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb
similarity index 83%
rename from poky/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb
rename to poky/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb
index 598a8fc..26bfd9c 100644
--- a/poky/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb
@@ -2,9 +2,9 @@
 SECTION = "graphics"
 HOMEPAGE = "https://www.khronos.org/registry/spir-v"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d14ee3b13f42e9c9674acc5925c3d741"
 
-SRCREV = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3"
+SRCREV = "8b246ff75c6615ba4532fe4fde20f1be090c3764"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main"
 PE = "1"
 # These recipes need to be updated in lockstep with each other:
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb
similarity index 96%
rename from poky/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb
rename to poky/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb
index 05c6de1..d2b6acf 100644
--- a/poky/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb
@@ -7,7 +7,7 @@
 LICENSE  = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc"
+SRCREV = "04896c462d9f3f504c99a4698605b6524af813c1"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https"
 PE = "1"
 # These recipes need to be updated in lockstep with each other:
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb
similarity index 95%
rename from poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb
index aacec8c..371cc73 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb
@@ -11,7 +11,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625"
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https"
 
-SRCREV = "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40"
+SRCREV = "577baa05033cf1d9236b3d078ca4b3269ed87a2b"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb
index 7caed67..b738771 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb
@@ -9,8 +9,8 @@
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.275;protocol=https"
-SRCREV = "00893b9a03e526aec2c5bf487521d16dfa435229"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.280;protocol=https"
+SRCREV = "61a9c50248e09f3a0e0be7ce6f8bb1663855f979"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb
index f86912c..a7e4a67 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb
@@ -6,8 +6,8 @@
 
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https"
-SRCREV = "c86d42cf9eb620eeac377e3bff46ae342c5cd664"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=vulkan-sdk-1.3.280;protocol=https"
+SRCREV = "136976082d0b14dad8b9687982b2a80cc6e6a633"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb
index 759a039..3ab31af 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b"
 
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https"
-SRCREV = "4cfc176e3242b4dbdfd3f6c5680c5d8f2cb7db45"
+SRCREV = "a4140c5fd47dcf3a030726a60b293db61cfb54a3"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb
index 2395891..c488309 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb
@@ -8,8 +8,8 @@
 LICENSE = "Apache-2.0 & MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"
 
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.275;protocol=https"
-SRCREV = "780c65337e111c7385109c7b720d757a778e4fe2"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.280;protocol=https"
+SRCREV = "8506077b9a25a00684e8be24b779733ae1405a54"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb
similarity index 88%
rename from poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb
index f4e6e89..2ef12fe 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb
@@ -7,10 +7,10 @@
 SECTION = "libs"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b2dd098d35668a801190a9d9d47461b0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e6af3a0e2a5e5dbf7796aa82b64626"
 
 SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https"
-SRCREV = "f2a16e3e19c2349b873343b2dc38a1d4c25af23a"
+SRCREV = "01986ac85fa2e5c70df09aeae9c907e27c5d50b2"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch b/poky/meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch
deleted file mode 100644
index 4b3a0e7..0000000
--- a/poky/meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0961787d2bf0d359a3ead89e9cec642818b32dea Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Tue, 5 Jul 2022 11:51:39 +0200
-Subject: [PATCH] meson.build: request native wayland-scanner
-
-This matters in cross compilation, as otherwise meson will
-try to use a cross-binary, and fail.
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/waffle/-/merge_requests/110]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index ca6a212..3177bde 100644
---- a/meson.build
-+++ b/meson.build
-@@ -110,7 +110,7 @@ else
-     'wayland-egl', version : '>= 9.1', required : get_option('wayland'),
-   )
-   dep_wayland_scanner = dependency(
--    'wayland-scanner', version : '>= 1.15', required : get_option('wayland'),
-+    'wayland-scanner', version : '>= 1.15', required : get_option('wayland'), native: true,
-   )
-   if dep_wayland_scanner.found()
-     prog_wayland_scanner = find_program(dep_wayland_scanner.get_variable(pkgconfig: 'wayland_scanner'))
diff --git a/poky/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch b/poky/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch
index 60e6318..31ac3e0 100644
--- a/poky/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch
+++ b/poky/meta/recipes-graphics/waffle/waffle/0001-waffle-do-not-make-core-protocol-into-the-library.patch
@@ -1,4 +1,4 @@
-From 71f9399d6cea1e2e885a98b98d82eb628832a86e Mon Sep 17 00:00:00 2001
+From 79b9e4338f803d79449e53a40b1ecc0a5a5889e4 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Tue, 26 Oct 2021 08:52:17 +0200
 Subject: [PATCH] waffle: do not make core protocol into the library
@@ -9,16 +9,15 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
 ---
  src/waffle/meson.build | 7 -------
  1 file changed, 7 deletions(-)
 
 diff --git a/src/waffle/meson.build b/src/waffle/meson.build
-index e2636c7..3ff5762 100644
+index 1cc99f6..022745a 100644
 --- a/src/waffle/meson.build
 +++ b/src/waffle/meson.build
-@@ -88,12 +88,6 @@ if build_surfaceless
+@@ -89,12 +89,6 @@ if build_surfaceless
  endif
  
  if build_wayland
@@ -31,7 +30,7 @@
    wl_xdg_shell_proto_c = custom_target(
      'wl-xdg-shell-proto.c',
      input: wayland_xdg_shell_xml,
-@@ -114,7 +108,6 @@ if build_wayland
+@@ -115,7 +109,6 @@ if build_wayland
      'wayland/wayland_wrapper.c',
    )
    files_libwaffle += [
diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.7.2.bb b/poky/meta/recipes-graphics/waffle/waffle_1.8.0.bb
similarity index 93%
rename from poky/meta/recipes-graphics/waffle/waffle_1.7.2.bb
rename to poky/meta/recipes-graphics/waffle/waffle_1.8.0.bb
index cb917d8..12b31dc 100644
--- a/poky/meta/recipes-graphics/waffle/waffle_1.7.2.bb
+++ b/poky/meta/recipes-graphics/waffle/waffle_1.8.0.bb
@@ -9,11 +9,10 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \
                     file://include/waffle-1/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf"
 
-SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=maint-1.7 \
+SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=master \
            file://0001-waffle-do-not-make-core-protocol-into-the-library.patch \
-           file://0001-meson.build-request-native-wayland-scanner.patch \
            "
-SRCREV = "f3b42a7216105498842bc6ba77d8481b90d6f5f9"
+SRCREV = "580b912a30085528886603942c100c7b309b3bdb"
 S = "${WORKDIR}/git"
 
 inherit meson features_check lib_package bash-completion pkgconfig
diff --git a/poky/meta/recipes-graphics/wayland/mtdev_1.1.6.bb b/poky/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
similarity index 80%
rename from poky/meta/recipes-graphics/wayland/mtdev_1.1.6.bb
rename to poky/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
index 7c1cb5e..24803c4 100644
--- a/poky/meta/recipes-graphics/wayland/mtdev_1.1.6.bb
+++ b/poky/meta/recipes-graphics/wayland/mtdev_1.1.7.bb
@@ -12,7 +12,6 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=ea6bd0268bb0fcd6b27698616ceee5d6"
 
 SRC_URI = "http://bitmath.org/code/${BPN}/${BP}.tar.bz2"
-SRC_URI[md5sum] = "bf8ef2482e84a00b5db8fbd3ce00e249"
-SRC_URI[sha256sum] = "15d7b28da8ac71d8bc8c9287c2045fd174267bc740bec10cfda332dc1204e0e0"
+SRC_URI[sha256sum] = "a107adad2101fecac54ac7f9f0e0a0dd155d954193da55c2340c97f2ff1d814e"
 
 inherit autotools pkgconfig
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.34.bb
similarity index 91%
rename from poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb
rename to poky/meta/recipes-graphics/wayland/wayland-protocols_1.34.bb
index 074ea36..8c12985 100644
--- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.34.bb
@@ -10,7 +10,7 @@
                     file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
 
 SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
-SRC_URI[sha256sum] = "94f0c50b090d6e61a03f62048467b19abbe851be4e11ae7b36f65f8b98c3963a"
+SRC_URI[sha256sum] = "c59b27cacd85f60baf4ee5f80df5c0d15760ead6a2432b00ab7e2e0574dcafeb"
 
 UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
 
diff --git a/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.2.2.bb b/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.2.3.bb
similarity index 78%
rename from poky/meta/recipes-graphics/xorg-app/mkfontscale_1.2.2.bb
rename to poky/meta/recipes-graphics/xorg-app/mkfontscale_1.2.3.bb
index cd658ab..aa79902 100644
--- a/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.2.2.bb
+++ b/poky/meta/recipes-graphics/xorg-app/mkfontscale_1.2.3.bb
@@ -15,7 +15,7 @@
 
 BBCLASSEXTEND = "native"
 
-LIC_FILES_CHKSUM = "file://COPYING;md5=99b1e1269aba5179139b9e4380fc0934"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5a60c596d1b5f3dee9f005b703b3180d"
 
 SRC_URI_EXT = "xz"
-SRC_URI[sha256sum] = "8ae3fb5b1fe7436e1f565060acaa3e2918fe745b0e4979b5593968914fe2d5c4"
+SRC_URI[sha256sum] = "2921cdc344f1acee04bcd6ea1e29565c1308263006e134a9ee38cf9c9d6fe75e"
diff --git a/poky/meta/recipes-graphics/xorg-app/xauth_1.1.2.bb b/poky/meta/recipes-graphics/xorg-app/xauth_1.1.3.bb
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-app/xauth_1.1.2.bb
rename to poky/meta/recipes-graphics/xorg-app/xauth_1.1.3.bb
index 1ad18ef..b0ca33b 100644
--- a/poky/meta/recipes-graphics/xorg-app/xauth_1.1.2.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xauth_1.1.3.bb
@@ -9,7 +9,7 @@
 PE = "1"
 
 SRC_URI_EXT = "xz"
-SRC_URI[sha256sum] = "78ba6afd19536ced1dddb3276cba6e9555a211b468a06f95f6a97c62ff8ee200"
+SRC_URI[sha256sum] = "e7075498bae332f917f01d660f9b940c0752b2556a8da61ccb62a44d0ffe9d33"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-app/xev_1.2.5.bb b/poky/meta/recipes-graphics/xorg-app/xev_1.2.6.bb
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-app/xev_1.2.5.bb
rename to poky/meta/recipes-graphics/xorg-app/xev_1.2.6.bb
index 1d2e66b..182aeff 100644
--- a/poky/meta/recipes-graphics/xorg-app/xev_1.2.5.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xev_1.2.6.bb
@@ -12,6 +12,6 @@
 
 DEPENDS += "libxrandr xorgproto"
 
-SRC_URI[sha256sum] = "c9461a4389714e0f33974f9e75934bdc38d836a0f059b8dc089c7cbf2ce36ec1"
+SRC_URI[sha256sum] = "61e1c5e008ac9973aca7cdddf36e9df7410e77083b030eb04f4dc737c51807d7"
 
 SRC_URI_EXT = "xz"
diff --git a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.7.bb b/poky/meta/recipes-graphics/xorg-font/encodings_1.1.0.bb
similarity index 85%
rename from poky/meta/recipes-graphics/xorg-font/encodings_1.0.7.bb
rename to poky/meta/recipes-graphics/xorg-font/encodings_1.1.0.bb
index 5906da4..7432c08 100644
--- a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.7.bb
+++ b/poky/meta/recipes-graphics/xorg-font/encodings_1.1.0.bb
@@ -11,7 +11,7 @@
 DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
 RDEPENDS:${PN} = ""
 
-SRC_URI[sha256sum] = "3a39a9f43b16521cdbd9f810090952af4f109b44fa7a865cd555f8febcea70a4"
+SRC_URI[sha256sum] = "9ff13c621756cfa12e95f32ba48a5b23839e8f577d0048beda66c67dab4de975"
 
 SRC_URI_EXT = "xz"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.7.bb b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.8.bb
similarity index 80%
rename from poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.7.bb
rename to poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.8.bb
index 056a29a..0fc117f 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.7.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libfontenc_1.1.8.bb
@@ -11,6 +11,6 @@
 DEPENDS += "zlib xorgproto font-util"
 PE = "1"
 
-SRC_URI[sha256sum] = "c0d36991faee06551ddbaf5d99266e97becdc05edfae87a833c3ff7bf73cfec2"
+SRC_URI[sha256sum] = "7b02c3d405236e0d86806b1de9d6868fe60c313628b38350b032914aa4fd14c6"
 
 BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb
similarity index 87%
rename from poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.bb
rename to poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb
index 74b308c..d311fd9 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.18.1.bb
@@ -16,7 +16,7 @@
 
 REQUIRED_DISTRO_FEATURES ?= "x11"
 
-SRC_URI[sha256sum] = "5461b0257d495254346f52a9c329b44b346262663675d3fecdb204a7e7c262a9"
+SRC_URI[sha256sum] = "4af43444b38adb5545d0ed1c2ce46d9608cc47b31c2387fc5181656765a6fa76"
 
 LICENSE = "MIT & MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=54c978968e565218eea36cf03ef24352"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.8.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb
similarity index 92%
rename from poky/meta/recipes-graphics/xorg-lib/libx11_1.8.7.bb
rename to poky/meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb
index 5f14e62..5dcb063 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.8.7.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.8.9.bb
@@ -24,7 +24,7 @@
 
 SRC_URI += "file://disable_tests.patch"
 
-SRC_URI[sha256sum] = "05f267468e3c851ae2b5c830bcf74251a90f63f04dd7c709ca94dc155b7e99ee"
+SRC_URI[sha256sum] = "779d8f111d144ef93e2daa5f23a762ce9555affc99592844e71c4243d3bd3262"
 
 inherit gettext
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.16.bb b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.16.1.bb
similarity index 92%
rename from poky/meta/recipes-graphics/xorg-lib/libxcb_1.16.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxcb_1.16.1.bb
index 04b1eaa..de3290a 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxcb_1.16.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcb_1.16.1.bb
@@ -12,7 +12,7 @@
 SRC_URI = "http://xcb.freedesktop.org/dist/libxcb-${PV}.tar.xz \
            file://0001-use-_Alignof-to-avoid-UB-in-ALIGNOF.patch"
 
-SRC_URI[sha256sum] = "4348566aa0fbf196db5e0a576321c65966189210cb51328ea2bb2be39c711d71"
+SRC_URI[sha256sum] = "f24d187154c8e027b358fc7cb6588e35e33e6a92f11c668fe77396a7ae66e311"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.2.bb
similarity index 87%
rename from poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.1.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.2.bb
index 4fd7e94..159ac4f 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcursor_1.2.2.bb
@@ -18,6 +18,6 @@
 
 XORG_PN = "libXcursor"
 
-SRC_URI[sha256sum] = "46c143731610bafd2070159a844571b287ac26192537d047a39df06155492104"
+SRC_URI[sha256sum] = "53d071bd2cc56e517a30998d5e685c8a74556ddada43c6985d14da9a023a88ee"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.5.bb
similarity index 88%
rename from poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.4.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.5.bb
index bf5d2d6..d1a1a2e 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxdmcp_1.1.5.bb
@@ -22,7 +22,7 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "2dce5cc317f8f0b484ec347d87d81d552cdbebb178bd13c5d8193b6b7cd6ad00"
+SRC_URI[sha256sum] = "d8a5222828c3adab70adf69a5583f1d32eb5ece04304f7f8392b6a353aa2228c"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.6.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
similarity index 94%
rename from poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.6.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
index 02045cc..40cf616 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.6.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "0edc14eccdd391514458bc5f5a4b99863ed2d651e4dd761a90abf4f46ef99c2b"
+SRC_URI[sha256sum] = "65782f0a10a4b455af9c6baab7040e2f537520caa2ec2092805cdfd36863b247"
 
 UPSTREAM_CHECK_URI = "http://xkbcommon.org/"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.2.0.bb
similarity index 89%
rename from poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.4.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxmu_1.2.0.bb
index 3aae403..d97bc7a 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxmu_1.1.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxmu_1.2.0.bb
@@ -27,4 +27,4 @@
 
 BBCLASSEXTEND = "native"
 
-SRC_URI[sha256sum] = "210de3ab9c3e9382572c25d17c2518a854ce6e2c62c5f8315deac7579e758244"
+SRC_URI[sha256sum] = "072026fe305889538e5b0c5f9cbcd623d2c27d2b85dcd37ca369ab21590b6963"
diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2023.2.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
similarity index 90%
rename from poky/meta/recipes-graphics/xorg-proto/xorgproto_2023.2.bb
rename to poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
index 94d37c5..3f56e21 100644
--- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2023.2.bb
+++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=0b9fe3db4015bcbe920e7c67a39ee3f1"
 
 SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.xz"
-SRC_URI[sha256sum] = "b61fbc7db82b14ce2dc705ab590efc32b9ad800037113d1973811781d5118c2c"
+SRC_URI[sha256sum] = "372225fd40815b8423547f5d890c5debc72e88b91088fbfb13158c20495ccb59"
 
 inherit meson
 
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
index f4cd139..3eb380a 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuarm/xorg.conf
@@ -35,4 +35,8 @@
     Identifier    "Default Layout"
     Screen        "Default Screen"
     Option         "AllowEmptyInput" "no"
+    Option        "BlankTime" "0"
+    Option        "StandbyTime" "0"
+    Option        "SuspendTime" "0"
+    Option        "OffTime" "0"
 EndSection
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
index f4cd139..3eb380a 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemuppc/xorg.conf
@@ -35,4 +35,8 @@
     Identifier    "Default Layout"
     Screen        "Default Screen"
     Option         "AllowEmptyInput" "no"
+    Option        "BlankTime" "0"
+    Option        "StandbyTime" "0"
+    Option        "SuspendTime" "0"
+    Option        "OffTime" "0"
 EndSection
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
index f4cd139..3eb380a 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemush4/xorg.conf
@@ -35,4 +35,8 @@
     Identifier    "Default Layout"
     Screen        "Default Screen"
     Option         "AllowEmptyInput" "no"
+    Option        "BlankTime" "0"
+    Option        "StandbyTime" "0"
+    Option        "SuspendTime" "0"
+    Option        "OffTime" "0"
 EndSection
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
index c12d92c..c01c333 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86-64/xorg.conf
@@ -30,4 +30,8 @@
     Identifier    "Default Layout"
     Screen        "Default Screen"
     Option         "AllowEmptyInput" "no"
+    Option        "BlankTime" "0"
+    Option        "StandbyTime" "0"
+    Option        "SuspendTime" "0"
+    Option        "OffTime" "0"
 EndSection
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
index c12d92c..c01c333 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xf86-config/qemux86/xorg.conf
@@ -30,4 +30,8 @@
     Identifier    "Default Layout"
     Screen        "Default Screen"
     Option         "AllowEmptyInput" "no"
+    Option        "BlankTime" "0"
+    Option        "StandbyTime" "0"
+    Option        "SuspendTime" "0"
+    Option        "OffTime" "0"
 EndSection
diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_23.2.4.bb b/poky/meta/recipes-graphics/xwayland/xwayland_23.2.5.bb
similarity index 95%
rename from poky/meta/recipes-graphics/xwayland/xwayland_23.2.4.bb
rename to poky/meta/recipes-graphics/xwayland/xwayland_23.2.5.bb
index 0923591..b934a87 100644
--- a/poky/meta/recipes-graphics/xwayland/xwayland_23.2.4.bb
+++ b/poky/meta/recipes-graphics/xwayland/xwayland_23.2.5.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
 
 SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
-SRC_URI[sha256sum] = "a99e159b6d0d33098b3b6ab22a88bfcece23c8b9d0ca72c535c55dcb0681b46b"
+SRC_URI[sha256sum] = "33ec7ff2687a59faaa52b9b09aa8caf118e7ecb6aed8953f526a625ff9f4bd90"
 
 UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch b/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
index 38b6107..0c21b23 100644
--- a/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
+++ b/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
@@ -1,14 +1,20 @@
-Fixes for the Meson build of libtraceevent:
+From 7f88c9ba5f27276e844252500a9f0ba2b350b919 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Sun, 27 Aug 2023 20:57:44 +0100
+Subject: [PATCH] Fixes for the Meson build of libtraceevent:
 
 - Make the plugin directory the same as the Makefiles
 - Install the plugins as modules not static and versioned shared libraries
-- Add an option to disable building the documentation (needs asciidoc and xmlto)
 
 Upstream-Status: Pending
 Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ meson.build         | 2 +-
+ plugins/meson.build | 3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index b61c873..4bba4d8 100644
+index 40ce38c..1eb7912 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -25,7 +25,7 @@ htmldir = join_paths(prefixdir, get_option('htmldir'))
@@ -20,41 +26,6 @@
  endif
  
  add_project_arguments(
-@@ -45,10 +45,13 @@ if cunit_dep.found()
-     subdir('utest')
- endif
- subdir('samples')
--subdir('Documentation')
- 
--custom_target(
--    'docs',
--    output: 'docs',
--    depends: [html, man],
--    command: ['echo'])
-+if get_option('docs')
-+    subdir('Documentation')
-+
-+    custom_target(
-+        'docs',
-+        output: 'docs',
-+        depends: [html, man],
-+        command: ['echo'])
-+endif
-diff --git a/meson_options.txt b/meson_options.txt
-index b2294f6..0611216 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -4,6 +4,10 @@
- 
- option('plugindir', type : 'string',
-        description : 'set the plugin dir')
-+
-+option('docs', type : 'boolean', value: true,
-+       description : 'build documentation')
-+
- option('htmldir', type : 'string', value : 'share/doc/libtraceevent-doc',
-        description : 'directory for HTML documentation')
- option('asciidoctor', type : 'boolean', value: false,
 diff --git a/plugins/meson.build b/plugins/meson.build
 index 74ad664..4919be4 100644
 --- a/plugins/meson.build
diff --git a/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb b/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb
similarity index 89%
rename from poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb
rename to poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb
index bee7891..d4ace54 100644
--- a/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb
+++ b/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.8.2.bb
@@ -8,7 +8,7 @@
                     file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
 SECTION = "libs"
 
-SRCREV = "dd148189b74da3e2f45c7e536319fec97cb71213"
+SRCREV = "6f6d5802f31992e7527a4c32b43a32fda6bf6bdf"
 SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git;branch=${BPN};protocol=https \
            file://meson.patch"
 
@@ -16,7 +16,7 @@
 
 inherit meson pkgconfig
 
-EXTRA_OEMESON = "-Ddocs=false"
+EXTRA_OEMESON = "-Ddoc=false"
 
 PACKAGES += "${PN}-plugins"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 9bd2198..d5cba42 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -34,11 +34,6 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "${@bb.utils.contains('ARCH', 'powerpc', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-DEPENDS += "gmp-native libmpc-native"
-
 # yaml and dtschema are required for 5.16+ device tree validation, libyaml is checked
 # via pkgconfig, so must always be present, but we can wrap the others to make them
 # conditional
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
index 8fb9867..43696db 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
@@ -62,7 +62,7 @@
 KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
+KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
 KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
 KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.5.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
similarity index 98%
rename from poky/meta/recipes-kernel/lttng/babeltrace2_2.0.5.bb
rename to poky/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
index 9a4007f..d6c75d7 100644
--- a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.5.bb
+++ b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.6.bb
@@ -12,7 +12,7 @@
            file://0001-tests-do-not-run-test-applications-from-.libs.patch \
            file://0001-Make-manpages-multilib-identical.patch \
            "
-SRCREV = "66e76d1ea601705928899138f02730a3a2a3153d"
+SRCREV = "0a6632f77801f3218a288604c646f8a39cb0d2c4"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
index 2d08b08..2f95889 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-do-not-strip-a-helper-library.patch
@@ -1,4 +1,4 @@
-From ab238c213fac190972f55e73cf3e0bb1c7846eb8 Mon Sep 17 00:00:00 2001
+From 2237748af00467ad8250a7ccd944200f811db69a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 12 Dec 2019 16:52:07 +0100
 Subject: [PATCH] tests: do not strip a helper library
@@ -10,10 +10,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
-index 03f5d5a..d12c343 100644
+index 836f13e..e19a554 100644
 --- a/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
 +++ b/tests/utils/testapp/userspace-probe-elf-binary/Makefile.am
-@@ -12,7 +12,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la
+@@ -14,7 +14,7 @@ userspace_probe_elf_binary_LDADD = libfoo.la
  libfoo.strip: libfoo.la
  	$(OBJCOPY) --strip-all .libs/libfoo.so
  
@@ -22,6 +22,3 @@
  	@if [ x"$(srcdir)" != x"$(builddir)" ]; then \
  		for script in $(EXTRA_DIST); do \
  			cp -f $(srcdir)/$$script $(builddir); \
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
similarity index 98%
rename from poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb
rename to poky/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
index f6abd9e..174dec0 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb
@@ -41,7 +41,7 @@
            file://0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch \
            "
 
-SRC_URI[sha256sum] = "ac5baeef9fa690936b1ca01ecd1742da762c2c08511ff1b4e923938d94d0f979"
+SRC_URI[sha256sum] = "ff5f4f00b081dac66092afe8e72b7c790670931cf1c1ee0deaa7f80fbc53883e"
 
 inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
 
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 6c4ee4a..11fa917 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -129,6 +129,10 @@
 # honour a JOBS variable.
 EXTRA_OEMAKE:append:task-configure = " JOBS=1"
 
+# the architectures that need this file can be found in
+#    tools/include/uapi/asm/bpf_perf_event.h
+# We are only listing supported arches at the moment
+PERF_BPF_EVENT_SRC ?= '${@bb.utils.contains_any("ARCH", [ "riscv", "arm64" ], "arch/${ARCH}/include/uapi/asm/bpf_perf_event.h", "", d)}'
 PERF_SRC ?= "Makefile \
              tools/arch \
              tools/build \
@@ -139,6 +143,7 @@
              tools/scripts \
              scripts/ \
              arch/arm64/tools \
+             ${PERF_BPF_EVENT_SRC} \
              arch/${ARCH}/Makefile \
 "
 
diff --git a/poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb b/poky/meta/recipes-multimedia/libpng/libpng_1.6.43.bb
similarity index 86%
rename from poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb
rename to poky/meta/recipes-multimedia/libpng/libpng_1.6.43.bb
index cadbe95..f1febd0 100644
--- a/poky/meta/recipes-multimedia/libpng/libpng_1.6.42.bb
+++ b/poky/meta/recipes-multimedia/libpng/libpng_1.6.43.bb
@@ -10,8 +10,8 @@
 
 LIBV = "16"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c"
 
 MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/"
 
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.5.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.6.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/mpg123/mpg123_1.32.5.bb
rename to poky/meta/recipes-multimedia/mpg123/mpg123_1.32.6.bb
index 5252647..f7786e8 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.5.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.6.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169"
 
 SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "af908cdf6cdb6544b97bc706a799f79894e69468af5881bf454a0ebb9171ed63"
+SRC_URI[sha256sum] = "ccdd1d0abc31d73d8b435fc658c79049d0a905b30669b6a42a03ad169dc609e6"
 
 UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.14.2.bb b/poky/meta/recipes-sato/webkit/libwpe_1.16.0.bb
similarity index 88%
rename from poky/meta/recipes-sato/webkit/libwpe_1.14.2.bb
rename to poky/meta/recipes-sato/webkit/libwpe_1.16.0.bb
index 03ee881..57f91ce 100644
--- a/poky/meta/recipes-sato/webkit/libwpe_1.14.2.bb
+++ b/poky/meta/recipes-sato/webkit/libwpe_1.16.0.bb
@@ -11,7 +11,7 @@
 REQUIRED_DISTRO_FEATURES = "opengl"
 
 SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "8ae38022c50cb340c96fdbee1217f1e46ab57fbc1c8ba98142565abbedbe22ef"
+SRC_URI[sha256sum] = "c7f3a3c6b3d006790d486dc7cceda2b6d2e329de07f33bc47dfc53f00f334b2a"
 
 # This is a tweak of upstream-version-is-even needed because
 # ipstream directory contains tarballs for other components as well.
diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.50.1.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.52.0.bb
similarity index 94%
rename from poky/meta/recipes-support/atk/at-spi2-core_2.50.1.bb
rename to poky/meta/recipes-support/atk/at-spi2-core_2.52.0.bb
index 6996ebe..cf221e0 100644
--- a/poky/meta/recipes-support/atk/at-spi2-core_2.50.1.bb
+++ b/poky/meta/recipes-support/atk/at-spi2-core_2.52.0.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "5727b5c0687ac57ba8040e79bd6731b714a36b8fcf32190f236b8fb3698789e7"
+SRC_URI[sha256sum] = "0ac3fc8320c8d01fa147c272ba7fa03806389c6b03d3c406d0823e30e35ff5ab"
 
 DEPENDS = " \
 	dbus \
diff --git a/poky/meta/recipes-support/attr/attr_2.5.1.bb b/poky/meta/recipes-support/attr/attr_2.5.1.bb
deleted file mode 100644
index 5c5f7bc..0000000
--- a/poky/meta/recipes-support/attr/attr_2.5.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require attr.inc
-
-SRC_URI[sha256sum] = "bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/attr/attr_2.5.2.bb b/poky/meta/recipes-support/attr/attr_2.5.2.bb
new file mode 100644
index 0000000..2110c6d
--- /dev/null
+++ b/poky/meta/recipes-support/attr/attr_2.5.2.bb
@@ -0,0 +1,5 @@
+require attr.inc
+
+SRC_URI[sha256sum] = "39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.12.0.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.13.0.bb
similarity index 92%
rename from poky/meta/recipes-support/bash-completion/bash-completion_2.12.0.bb
rename to poky/meta/recipes-support/bash-completion/bash-completion_2.13.0.bb
index 66f65f5..f75d61e 100644
--- a/poky/meta/recipes-support/bash-completion/bash-completion_2.12.0.bb
+++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.13.0.bb
@@ -14,7 +14,7 @@
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "3eb05b1783c339ef59ed576afb0f678fa4ef49a6de8a696397df3148f8345af9"
+SRC_URI[sha256sum] = "c5f99a39e40f0d154c03ff15438e87ece1f5ac666336a4459899e2ff4bedf3d1"
 GITHUB_BASE_URI = "https://github.com/scop/bash-completion/releases"
 
 PARALLEL_MAKE = ""
diff --git a/poky/meta/recipes-support/curl/curl/no-test-timeout.patch b/poky/meta/recipes-support/curl/curl/no-test-timeout.patch
index b4cfe71..7122b6f 100644
--- a/poky/meta/recipes-support/curl/curl/no-test-timeout.patch
+++ b/poky/meta/recipes-support/curl/curl/no-test-timeout.patch
@@ -1,10 +1,17 @@
-Set the max-time timeout to 600 so the timeout is 10 minutes instead of 13 seconds.
+From 42cddb52e821cfc2f09f1974742714e5f2f1856e Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Fri, 15 Mar 2024 14:37:37 +0000
+Subject: [PATCH] Set the max-time timeout to 600 so the timeout is 10 minutes
+ instead of 13 seconds.
 
 Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/servers.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/tests/servers.pm b/tests/servers.pm
-index d4472d509..aeab62c47 100644
+index d4472d5..9999938 100644
 --- a/tests/servers.pm
 +++ b/tests/servers.pm
 @@ -120,7 +120,7 @@ my $sshdverstr;  # for socks server, ssh daemon version string
diff --git a/poky/meta/recipes-support/curl/curl_8.6.0.bb b/poky/meta/recipes-support/curl/curl_8.7.1.bb
similarity index 98%
rename from poky/meta/recipes-support/curl/curl_8.6.0.bb
rename to poky/meta/recipes-support/curl/curl_8.7.1.bb
index 49ba0cb..c6654bb 100644
--- a/poky/meta/recipes-support/curl/curl_8.6.0.bb
+++ b/poky/meta/recipes-support/curl/curl_8.7.1.bb
@@ -15,7 +15,7 @@
     file://disable-tests \
     file://no-test-timeout.patch \
 "
-SRC_URI[sha256sum] = "3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15"
+SRC_URI[sha256sum] = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd"
 
 # Curl has used many names over the years...
 CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_5.16.bb b/poky/meta/recipes-support/debianutils/debianutils_5.17.bb
similarity index 97%
rename from poky/meta/recipes-support/debianutils/debianutils_5.16.bb
rename to poky/meta/recipes-support/debianutils/debianutils_5.17.bb
index ec629d8..c5f25ba 100644
--- a/poky/meta/recipes-support/debianutils/debianutils_5.16.bb
+++ b/poky/meta/recipes-support/debianutils/debianutils_5.17.bb
@@ -11,7 +11,7 @@
 SRC_URI = "git://salsa.debian.org/debian/debianutils.git;protocol=https;branch=master \
            "
 
-SRCREV = "9e0facf19b17b6d090a5dcc8cacb0c16e5ad9f72"
+SRCREV = "baf12e98a02883d1b76081e32f2185ee3497570b"
 
 inherit autotools update-alternatives
 
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_259.bb b/poky/meta/recipes-support/diffoscope/diffoscope_260.bb
similarity index 93%
rename from poky/meta/recipes-support/diffoscope/diffoscope_259.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_260.bb
index eca2c20..297a53f 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_259.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_260.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "c1f14452467f84c4be804a3725cbfdd5eadf977ece7ad463be8b647d1a87fb42"
+SRC_URI[sha256sum] = "405a55502c8b2c988e46c0800d6a93e8e4e7632c1542b0a540dda50aeea41dac"
 
 RDEPENDS:${PN} += "\
         binutils \
diff --git a/poky/meta/recipes-support/enchant/enchant2_2.6.7.bb b/poky/meta/recipes-support/enchant/enchant2_2.6.9.bb
similarity index 91%
rename from poky/meta/recipes-support/enchant/enchant2_2.6.7.bb
rename to poky/meta/recipes-support/enchant/enchant2_2.6.9.bb
index b31bdc4..aaf3525 100644
--- a/poky/meta/recipes-support/enchant/enchant2_2.6.7.bb
+++ b/poky/meta/recipes-support/enchant/enchant2_2.6.9.bb
@@ -12,7 +12,7 @@
 inherit autotools pkgconfig github-releases
 
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz"
-SRC_URI[sha256sum] = "a1c2e5b59acca000bbfb24810af4a1165733d407f2154786588e076c8cd57bfc"
+SRC_URI[sha256sum] = "d9a5a10dc9b38a43b3a0fa22c76ed6ebb7e09eb535aff62954afcdbd40efff6b"
 
 GITHUB_BASE_URI = "https://github.com/AbiWord/enchant/releases"
 
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.4.4.bb b/poky/meta/recipes-support/gnupg/gnupg_2.4.5.bb
similarity index 96%
rename from poky/meta/recipes-support/gnupg/gnupg_2.4.4.bb
rename to poky/meta/recipes-support/gnupg/gnupg_2.4.5.bb
index fff7d8c..9999696 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.4.4.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.4.5.bb
@@ -23,7 +23,7 @@
                                 file://relocate.patch"
 SRC_URI:append:class-nativesdk = " file://relocate.patch"
 
-SRC_URI[sha256sum] = "67ebe016ca90fa7688ce67a387ebd82c6261e95897db7b23df24ff335be85bc6"
+SRC_URI[sha256sum] = "f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277"
 
 EXTRA_OECONF = "--disable-ldap \
 		--disable-ccid-driver \
diff --git a/poky/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch b/poky/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
index 2968d57..c0e9e28 100644
--- a/poky/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
+++ b/poky/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch
@@ -1,4 +1,4 @@
-From 0c82d6aa02c08e41b13c83b14782bd7024e25d59 Mon Sep 17 00:00:00 2001
+From 0f4e9eee64bd4220aa4fae1ab4f7bbf10b87cd69 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 15 Feb 2014 21:06:42 +0000
 Subject: [PATCH] Disable LDFLAGSICUDT for Linux
@@ -7,14 +7,14 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- source/config/mh-linux |    2 +-
+ config/mh-linux | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/config/mh-linux b/config/mh-linux
-index 366f0cc..2689aab 100644
+index 53d6780..b622513 100644
 --- a/config/mh-linux
 +++ b/config/mh-linux
-@@ -21,7 +21,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN
+@@ -23,7 +23,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN
  LD_RPATH_PRE = -Wl,-rpath,
  
  ## These are the library specific LDFLAGS
@@ -23,6 +23,3 @@
  
  ## Compiler switch to embed a library name
  # The initial tab in the next line is to prevent icu-config from reading it.
--- 
-1.7.10.4
-
diff --git a/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
index 578517b..a25285f 100644
--- a/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
+++ b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
@@ -1,4 +1,4 @@
-From e3c25af4b40d64f098e7b8ae5a91fdc3c90163c4 Mon Sep 17 00:00:00 2001
+From cf55c077b77b7a219502364eaadf12c074ab005e Mon Sep 17 00:00:00 2001
 From: Lei Maohui <leimaohui@cn.fujitsu.com>
 Date: Wed, 8 May 2019 14:42:30 +0900
 Subject: [PATCH] icu: Added armeb support.
@@ -8,16 +8,15 @@
 Upstream-Status: Pending
 
 Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
-
 ---
  i18n/double-conversion-utils.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/source/i18n/double-conversion-utils.h b/source/i18n/double-conversion-utils.h
-index 7f23e0a..7f89094 100644
+diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
+index 303668f..7d859dc 100644
 --- a/i18n/double-conversion-utils.h
 +++ b/i18n/double-conversion-utils.h
-@@ -115,7 +115,7 @@ int main(int argc, char** argv) {
+@@ -146,7 +146,7 @@ int main(int argc, char** argv) {
  //
  // If it prints "correct" then the architecture should be here, in the "correct" section.
  #if defined(_M_X64) || defined(__x86_64__) || \
diff --git a/poky/meta/recipes-support/icu/icu/fix-install-manx.patch b/poky/meta/recipes-support/icu/icu/fix-install-manx.patch
index 925b064..7526bde 100644
--- a/poky/meta/recipes-support/icu/icu/fix-install-manx.patch
+++ b/poky/meta/recipes-support/icu/icu/fix-install-manx.patch
@@ -1,4 +1,4 @@
-From a6ddabc8cadb76bfe2d2e374a6702442cfe51cce Mon Sep 17 00:00:00 2001
+From 2d544cac238eccbfc32cafc9502ddf6e00994211 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 9 Oct 2015 17:50:41 +0100
 Subject: [PATCH] icu: fix install race
@@ -13,13 +13,12 @@
 
 Upstream-Status: Pending
 Signed-off-by: Ross Burton <ross.burton@intel.com>
-
 ---
- source/Makefile.in | 8 ++++----
+ Makefile.in | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/Makefile.in b/Makefile.in
-index be9435b..ada20d7 100644
+index 8366f01..79b91c9 100644
 --- a/Makefile.in
 +++ b/Makefile.in
 @@ -77,7 +77,7 @@ EXTRA_DATA =
diff --git a/poky/meta/recipes-support/icu/icu_74-1.bb b/poky/meta/recipes-support/icu/icu_74-2.bb
similarity index 96%
rename from poky/meta/recipes-support/icu/icu_74-1.bb
rename to poky/meta/recipes-support/icu/icu_74-2.bb
index 88ded16..8352bf2 100644
--- a/poky/meta/recipes-support/icu/icu_74-1.bb
+++ b/poky/meta/recipes-support/icu/icu_74-2.bb
@@ -111,8 +111,8 @@
 SRC_URI:append:class-target = "\
            file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
           "
-SRC_URI[code.sha256sum] = "86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0"
-SRC_URI[data.sha256sum] = "67d5ab39c5187e1dd0fed60a3fe52794dce9784b4c045cb85e19f5d317fd783f"
+SRC_URI[code.sha256sum] = "68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c"
+SRC_URI[data.sha256sum] = "c28c3ca5f4ba3384781797138a294ca360988d4322674ad4d51e52f5d9b0a2b6"
 
 UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)"
 GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases"
diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.6.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.7.bb
similarity index 93%
rename from poky/meta/recipes-support/libassuan/libassuan_2.5.6.bb
rename to poky/meta/recipes-support/libassuan/libassuan_2.5.7.bb
index 7e899e7..d1e6226 100644
--- a/poky/meta/recipes-support/libassuan/libassuan_2.5.6.bb
+++ b/poky/meta/recipes-support/libassuan/libassuan_2.5.7.bb
@@ -20,7 +20,7 @@
            file://libassuan-add-pkgconfig-support.patch \
           "
 
-SRC_URI[sha256sum] = "e9fd27218d5394904e4e39788f9b1742711c3e6b41689a31aa3380bd5aa4f426"
+SRC_URI[sha256sum] = "0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76"
 
 BINCONFIG = "${bindir}/libassuan-config"
 
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.12.1.bb b/poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb
similarity index 94%
rename from poky/meta/recipes-support/libbsd/libbsd_0.12.1.bb
rename to poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb
index 161dc6d..7d5e88f 100644
--- a/poky/meta/recipes-support/libbsd/libbsd_0.12.1.bb
+++ b/poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb
@@ -38,7 +38,7 @@
 
 SRC_URI = "https://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "d7747f8ec1baa6ff5c096a9dd587c061233dec90da0f1aedd66d830f6db6996a"
+SRC_URI[sha256sum] = "b88cc9163d0c652aaf39a99991d974ddba1c3a9711db8f1b5838af2a14731014"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-support/libical/libical_3.0.17.bb b/poky/meta/recipes-support/libical/libical_3.0.18.bb
similarity index 93%
rename from poky/meta/recipes-support/libical/libical_3.0.17.bb
rename to poky/meta/recipes-support/libical/libical_3.0.18.bb
index b91912b..040d23b 100644
--- a/poky/meta/recipes-support/libical/libical_3.0.17.bb
+++ b/poky/meta/recipes-support/libical/libical_3.0.18.bb
@@ -7,7 +7,7 @@
 BUGTRACKER = "https://github.com/libical/libical/issues"
 LICENSE = "LGPL-2.1-only | MPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \
-                    file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \
+                    file://LICENSE.LGPL21.txt;md5=8f690bb538f4b301d931374a6eb864d0 \
                     file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \
                     "
 SECTION = "libs"
@@ -15,7 +15,7 @@
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \
            file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \
           "
-SRC_URI[sha256sum] = "bcda9a6db6870240328752854d1ea475af9bbc6356e6771018200e475e5f781b"
+SRC_URI[sha256sum] = "72b7dc1a5937533aee5a2baefc990983b66b141dd80d43b51f80aced4aae219c"
 
 inherit cmake pkgconfig gobject-introspection vala github-releases
 
diff --git a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb
index 06ba5e9..478e5f4 100644
--- a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb
+++ b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.5.bb
@@ -17,10 +17,12 @@
 
 inherit autotools-brokensep pkgconfig ptest features_check
 
+inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
+
 REQUIRED_DISTRO_FEATURES = "seccomp"
 
 PACKAGECONFIG ??= ""
-PACKAGECONFIG[python] = "--enable-python, --disable-python, python3"
+PACKAGECONFIG[python] = "--enable-python, --disable-python, python3-cython-native"
 
 DISABLE_STATIC = ""
 
@@ -48,9 +50,13 @@
     for file in $(find tools/.libs/* -executable -type f); do
         install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools
     done
+     # fix python shebang
+     sed -i -e 's@cmd /usr/bin/env python @cmd /usr/bin/env python3 @' ${D}/${PTEST_PATH}/tests/regression
+     sed -i -e 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@' ${D}/${PTEST_PATH}/tests/*.py
 }
 
-FILES:${PN} = "${bindir} ${libdir}/${BPN}.so*"
+FILES:${PN} = "${bindir} ${libdir}/${BPN}.so* ${PYTHON_SITEPACKAGES_DIR}/"
 FILES:${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug"
 
+RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3', '', d)}"
 RDEPENDS:${PN}-ptest = "coreutils bash"
diff --git a/poky/meta/recipes-support/nghttp2/nghttp2_1.60.0.bb b/poky/meta/recipes-support/nghttp2/nghttp2_1.61.0.bb
similarity index 90%
rename from poky/meta/recipes-support/nghttp2/nghttp2_1.60.0.bb
rename to poky/meta/recipes-support/nghttp2/nghttp2_1.61.0.bb
index cf62c32..ad85576 100644
--- a/poky/meta/recipes-support/nghttp2/nghttp2_1.60.0.bb
+++ b/poky/meta/recipes-support/nghttp2/nghttp2_1.61.0.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
 
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz"
-SRC_URI[sha256sum] = "625d6c3da1d9ca4fd643a638256431ae68fd1901653b2a61a245eea7b261bf4e"
+SRC_URI[sha256sum] = "c0e660175b9dc429f11d25b9507a834fb752eea9135ab420bb7cb7e9dbcc9654"
 
 inherit cmake manpages python3native github-releases
 PACKAGECONFIG[manpages] = ""
diff --git a/poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch b/poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch
deleted file mode 100644
index 47c426b..0000000
--- a/poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From e43524868bb4901703d63876f9d49f73ca75b3ab Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 May 2021 20:27:52 -0700
-Subject: [PATCH] Revert "Fix problem with regression tests on recent glibc."
-
-This reverts commit 3a9d32eb59194b989656548755066ccd9feb36ac.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8a9373c..8cda28d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -284,11 +284,9 @@ AC_TYPE_SSIZE_T
- #
- # Checks for libraries and functions.
- #
--#   We test for pthread_detach because glibc 2.22 includes
--#   pthread_create but not pthread_detach.
- if test "$have_w32_system" = no; then
--  AC_SEARCH_LIBS([pthread_detach],[pthread])
--  case "x$ac_cv_search_pthread_detach" in
-+  AC_SEARCH_LIBS([pthread_create],[pthread])
-+  case "x$ac_cv_search_pthread_create" in
-     xno)
-       have_pthread=no
-       ;;
-@@ -297,7 +295,7 @@ if test "$have_w32_system" = no; then
-       ;;
-     *)
-       have_pthread=yes
--      config_libs="$config_libs $ac_cv_search_pthread_detach"
-+      config_libs="$config_libs $ac_cv_search_pthread_create"
-       ;;
-   esac
-   if test "$have_pthread" != no; then
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-support/npth/npth/musl-fix.patch b/poky/meta/recipes-support/npth/npth/musl-fix.patch
new file mode 100644
index 0000000..fabe78b
--- /dev/null
+++ b/poky/meta/recipes-support/npth/npth/musl-fix.patch
@@ -0,0 +1,37 @@
+From 417abd56fd7bf45cd4948414050615cb1ad59134 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Fri, 1 Mar 2024 13:53:52 +0900
+Subject: [PATCH] Fix INSERT_EXPOSE_RWLOCK_API for musl C library.
+
+* configure.ac: Add a case for musl system.
+
+Upstream-Status: Backport [https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=417abd56fd7bf45cd4948414050615cb1ad59134]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+--
+
+GnuPG-bug-id: 5664
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+---
+ configure.ac | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c1091b1..576a26e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -381,7 +381,10 @@ fi
+ AC_SUBST(INSERT_NO_RWLOCK)
+ 
+ case "${host}" in
+-    *-*-linux*|*-*-gnu*)
++    *-*-linux-musl*)
++        INSERT_EXPOSE_RWLOCK_API="1"
++        ;;
++    *-*-linux-gnu*|*-*-gnu*)
+         INSERT_EXPOSE_RWLOCK_API="defined(__USE_UNIX98) || defined(__USE_XOPEN2K)"
+         ;;
+     *)
+-- 
+2.30.2
+
+
diff --git a/poky/meta/recipes-support/npth/npth/pkgconfig.patch b/poky/meta/recipes-support/npth/npth/pkgconfig.patch
index b6a12e7..e736921 100644
--- a/poky/meta/recipes-support/npth/npth/pkgconfig.patch
+++ b/poky/meta/recipes-support/npth/npth/pkgconfig.patch
@@ -1,29 +1,35 @@
-Added npth pkgconfig file
+From ff19a9648f1c7d93087e2c33ca64bb881d53ea5a Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Mon, 10 Nov 2014 13:59:03 -0800
+Subject: [PATCH] Added npth pkgconfig file
 
 Upstream-Status: Pending
 
 Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ configure.ac    |  1 +
+ src/Makefile.am |  4 +++-
+ src/npth.pc.in  | 10 ++++++++++
+ 3 files changed, 14 insertions(+), 1 deletion(-)
+ create mode 100644 src/npth.pc.in
 
-Index: npth-1.1/src/npth.pc.in
-===================================================================
---- /dev/null
-+++ npth-1.1/src/npth.pc.in
-@@ -0,0 +1,10 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: npth
-+Description: a new portable posix threading library
-+Version: @VERSION@
-+Libs: -L${libdir} -lnpth -lpthread
-+Cflags: -I${includedir}
-Index: npth-1.1/src/Makefile.am
-===================================================================
---- npth-1.1.orig/src/Makefile.am
-+++ npth-1.1/src/Makefile.am
-@@ -27,8 +27,10 @@
+diff --git a/configure.ac b/configure.ac
+index 10f3629..65b76a1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -476,6 +476,7 @@ src/Makefile
+ w32/Makefile
+ tests/Makefile])
+ AC_CONFIG_FILES(npth-config, chmod +x npth-config)
++AC_CONFIG_FILES([src/npth.pc])
+ AC_OUTPUT
+ 
+ echo "
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 7070118..6f01c64 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,8 +17,10 @@
  # License along with this program; if not, see <http://www.gnu.org/licenses/>.
  
  ## Process this file with automake to produce Makefile.in
@@ -35,15 +41,19 @@
  #	     versioninfo.rc.in
  nodist_include_HEADERS = npth.h
  
-Index: npth-1.1/configure.ac
-===================================================================
---- npth-1.1.orig/configure.ac
-+++ npth-1.1/configure.ac
-@@ -337,6 +337,7 @@ src/Makefile
- w32/Makefile
- tests/Makefile])
- AC_CONFIG_FILES(npth-config, chmod +x npth-config)
-+AC_CONFIG_FILES([src/npth.pc])
- AC_OUTPUT
- 
- echo "
+diff --git a/src/npth.pc.in b/src/npth.pc.in
+new file mode 100644
+index 0000000..db091e8
+--- /dev/null
++++ b/src/npth.pc.in
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: npth
++Description: a new portable posix threading library
++Version: @VERSION@
++Libs: -L${libdir} -lnpth -lpthread
++Cflags: -I${includedir}
diff --git a/poky/meta/recipes-support/npth/npth_1.6.bb b/poky/meta/recipes-support/npth/npth_1.7.bb
similarity index 68%
rename from poky/meta/recipes-support/npth/npth_1.6.bb
rename to poky/meta/recipes-support/npth/npth_1.7.bb
index ef863d3..f02a731 100644
--- a/poky/meta/recipes-support/npth/npth_1.6.bb
+++ b/poky/meta/recipes-support/npth/npth_1.7.bb
@@ -9,18 +9,14 @@
 UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
 SRC_URI = "${GNUPG_MIRROR}/npth/npth-${PV}.tar.bz2 \
            file://pkgconfig.patch \
-           file://0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch \
-          "
+           file://musl-fix.patch \
+           "
 
-SRC_URI[md5sum] = "375d1a15ad969f32d25f1a7630929854"
-SRC_URI[sha256sum] = "1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1"
-
-BINCONFIG = "${bindir}/npth-config"
+SRC_URI[sha256sum] = "8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05"
 
 inherit autotools binconfig-disabled multilib_header
 
 FILES:${PN} = "${libdir}/libnpth.so.*"
-FILES:${PN}-dev += "${bindir}/npth-config"
 
 do_install:append() {
     oe_multilib_header npth.h
diff --git a/poky/scripts/lib/build_perf/html/measurement_chart.html b/poky/scripts/lib/build_perf/html/measurement_chart.html
index 65f1a22..9acb378 100644
--- a/poky/scripts/lib/build_perf/html/measurement_chart.html
+++ b/poky/scripts/lib/build_perf/html/measurement_chart.html
@@ -1,50 +1,76 @@
-<script type="text/javascript">
-  chartsDrawing += 1;
-  google.charts.setOnLoadCallback(drawChart_{{ chart_elem_id }});
-  function drawChart_{{ chart_elem_id }}() {
-    var data = new google.visualization.DataTable();
+<script type="module">
+  // Get raw data
+  const rawData = [
+    {% for sample in measurement.samples %}
+      [{{ sample.commit_num }}, {{ sample.mean.gv_value() }}, {{ sample.start_time }}],
+    {% endfor %}
+  ];
 
-    // Chart options
-    var options = {
-      theme : 'material',
-      legend: 'none',
-      hAxis: { format: '', title: 'Commit number',
-               minValue: {{ chart_opts.haxis.min }},
-               maxValue: {{ chart_opts.haxis.max }} },
-      {% if measurement.type == 'time' %}
-      vAxis: { format: 'h:mm:ss' },
-      {% else %}
-      vAxis: { format: '' },
-      {% endif %}
-      pointSize: 5,
-      chartArea: { left: 80, right: 15 },
-    };
+  const convertToMinute = (time) => {
+    return time[0]*60 + time[1] + time[2]/60 + time[3]/3600;
+  }
 
-    // Define data columns
-    data.addColumn('number', 'Commit');
-    data.addColumn('{{ measurement.value_type.gv_data_type }}',
-                   '{{ measurement.value_type.quantity }}');
-    // Add data rows
-    data.addRows([
-      {% for sample in measurement.samples %}
-        [{{ sample.commit_num }}, {{ sample.mean.gv_value() }}],
-      {% endfor %}
-    ]);
+  // Convert raw data to the format: [time, value]
+  const data = rawData.map(([commit, value, time]) => {
+    return [
+      // The Date object takes values in milliseconds rather than seconds. So to use a Unix timestamp we have to multiply it by 1000.
+      new Date(time * 1000).getTime(),
+      // Assuming the array values are duration in the format [hours, minutes, seconds, milliseconds]
+      Array.isArray(value) ? convertToMinute(value) : value
+    ]
+  });
 
-    // Finally, draw the chart
-    chart_div = document.getElementById('{{ chart_elem_id }}');
-    var chart = new google.visualization.LineChart(chart_div);
-    google.visualization.events.addListener(chart, 'ready', function () {
-      //chart_div = document.getElementById('{{ chart_elem_id }}');
-      //chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
-      png_div = document.getElementById('{{ chart_elem_id }}_png');
-      png_div.outerHTML = '<a id="{{ chart_elem_id }}_png" href="' + chart.getImageURI() + '">PNG</a>';
-      console.log("CHART READY: {{ chart_elem_id }}");
-      chartsDrawing -= 1;
-      if (chartsDrawing == 0)
-        console.log("ALL CHARTS READY");
-    });
-    chart.draw(data, options);
-}
+  // Set chart options
+  const option = {
+    tooltip: {
+      trigger: 'axis',
+      valueFormatter: (value) => {
+        const hours = Math.floor(value/60)
+        const minutes = Math.floor(value % 60)
+        const seconds = Math.floor((value * 60) % 60)
+        return hours + ':' + minutes + ':' + seconds
+      }
+    },
+    xAxis: {
+      type: 'time',
+    },
+    yAxis: {
+      name: '{{ measurement.value_type.quantity }}' == 'time' ? 'Duration in minutes' : 'Disk size in MB',
+      type: 'value',
+      min: function(value) {
+        return Math.round(value.min - 0.5);
+      },
+      max: function(value) {
+        return Math.round(value.max + 0.5);
+      }
+    },
+    dataZoom: [
+      {
+        type: 'slider',
+        xAxisIndex: 0,
+        filterMode: 'none'
+      },
+    ],
+    series: [
+      {
+        name: '{{ measurement.value_type.quantity }}',
+        type: 'line',
+        smooth: true,
+        symbol: 'none',
+        data: data
+      }
+    ]
+  };
+
+  // Draw chart
+  const chart_div = document.getElementById('{{ chart_elem_id }}');
+  const measurement_chart= echarts.init(chart_div, null, {
+    height: 320
+  });
+  // Change chart size with browser resize
+  window.addEventListener('resize', function() {
+    measurement_chart.resize();
+  });
+  measurement_chart.setOption(option);
 </script>
 
diff --git a/poky/scripts/lib/build_perf/html/report.html b/poky/scripts/lib/build_perf/html/report.html
index d1ba6f2..4cd2407 100644
--- a/poky/scripts/lib/build_perf/html/report.html
+++ b/poky/scripts/lib/build_perf/html/report.html
@@ -3,11 +3,7 @@
 <head>
 {# Scripts, for visualization#}
 <!--START-OF-SCRIPTS-->
-<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
-<script type="text/javascript">
-google.charts.load('current', {'packages':['corechart']});
-var chartsDrawing = 0;
-</script>
+<script src=" https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js "></script>
 
 {# Render measurement result charts #}
 {% for test in test_data %}
@@ -28,23 +24,15 @@
   text-align: left;
   border-collapse: collapse;
 }
-.meta-table tr:nth-child(even){background-color: #f2f2f2}
-meta-table th, .meta-table td {
-  padding: 4px;
-}
 .summary {
-  margin: 0;
   font-size: 14px;
   text-align: left;
   border-collapse: collapse;
 }
-summary th, .meta-table td {
-  padding: 4px;
-}
 .measurement {
   padding: 8px 0px 8px 8px;
   border: 2px solid #f0f0f0;
-  margin-bottom: 10px;
+  margin: 1.5rem 0;
 }
 .details {
   margin: 0;
@@ -64,18 +52,58 @@
   background-color: #f0f0f0;
   margin-left: 10px;
 }
-hr {
-  color: #f0f0f0;
+.card-container {
+  border-bottom-width: 1px;
+  padding: 1.25rem 3rem;
+  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
+  border-radius: 0.25rem;
+}
+body {
+  font-family: 'Helvetica', sans-serif;
+  margin: 3rem 8rem;
+}
+h1 {
+  text-align: center;
 }
 h2 {
-  font-size: 20px;
+  font-size: 1.5rem;
   margin-bottom: 0px;
   color: #707070;
+  padding-top: 1.5rem;
 }
 h3 {
-  font-size: 16px;
+  font-size: 1.3rem;
   margin: 0px;
   color: #707070;
+  padding: 1.5rem 0;
+}
+h4 {
+  font-size: 14px;
+  font-weight: lighter;
+  line-height: 1.2rem;
+  margin: auto;
+  padding-top: 1rem;
+}
+table {
+  margin-top: 1.5rem;
+  line-height: 2rem;
+}
+tr {
+  border-bottom: 1px solid #e5e7eb;
+}
+tr:first-child {
+  border-bottom: 1px solid #9ca3af;
+}
+tr:last-child {
+  border-bottom: none;
+}
+a {
+  text-decoration: none;
+  font-weight: bold;
+  color: #0000EE;
+}
+a:hover {
+  color: #8080ff;
 }
 </style>
 
@@ -83,13 +111,14 @@
 </head>
 
 {% macro poky_link(commit) -%}
-    <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?id={{ commit }}">{{ commit[0:11] }}</a>
+  <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?id={{ commit }}">{{ commit[0:11] }}</a>
 {%- endmacro %}
 
-<body><div style="width: 700px">
+<body><div>
+  <h1 style="text-align: center;">Performance Test Report</h1>
   {# Test metadata #}
   <h2>General</h2>
-  <hr>
+  <h4>The table provides an overview of the comparison between two selected commits from the same branch.</h4>
   <table class="meta-table" style="width: 100%">
     <tr>
       <th></th>
@@ -112,19 +141,21 @@
 
   {# Test result summary #}
   <h2>Test result summary</h2>
-  <hr>
+  <h4>The test summary presents a thorough breakdown of each test conducted on the branch, including details such as build time and disk space consumption. Additionally, it gives insights into the average time taken for test execution, along with absolute and relative values for a better understanding.</h4>
   <table class="summary" style="width: 100%">
+    <tr>
+      <th>Test name</th>
+      <th>Measurement description</th>
+      <th>Mean value</th>
+      <th>Absolute difference</th>
+      <th>Relative difference</th>
+    </tr>
     {% for test in test_data %}
-      {% if loop.index is even %}
-        {% set row_style = 'style="background-color: #f2f2f2"' %}
-      {% else %}
-        {% set row_style = 'style="background-color: #ffffff"' %}
-      {% endif %}
       {% if test.status == 'SUCCESS' %}
         {% for measurement in test.measurements %}
           <tr {{ row_style }}>
             {% if loop.index == 1 %}
-              <td>{{ test.name }}: {{ test.description }}</td>
+              <td><a href=#{{test.name}}>{{ test.name }}: {{ test.description }}</a></td>
             {% else %}
               {# add empty cell in place of the test name#}
               <td></td>
@@ -153,10 +184,12 @@
   </table>
 
   {# Detailed test results #}
+  <h2>Test details</h2>
+  <h4>The following section provides details of each test, accompanied by charts representing build time and disk usage over time or by commit number.</h4>
   {% for test in test_data %}
-  <h2>{{ test.name }}: {{ test.description }}</h2>
-  <hr>
+  <h3 style="color: #000;" id={{test.name}}>{{ test.name }}: {{ test.description }}</h3>
     {% if test.status == 'SUCCESS' %}
+    <div class="card-container">
       {% for measurement in test.measurements %}
         <div class="measurement">
           <h3>{{ measurement.description }}</h3>
@@ -275,7 +308,8 @@
             {% endif %}
           {% endif %}
         </div>
-      {% endfor %}
+        {% endfor %}
+      </div>
     {# Unsuccessful test #}
     {% else %}
       <span style="font-size: 150%; font-weight: bold; color: red;">{{ test.status }}
diff --git a/poky/scripts/lib/build_perf/report.py b/poky/scripts/lib/build_perf/report.py
index ab77424..82c5683 100644
--- a/poky/scripts/lib/build_perf/report.py
+++ b/poky/scripts/lib/build_perf/report.py
@@ -294,7 +294,7 @@
             return "null"
         return self / 1024
 
-def measurement_stats(meas, prefix=''):
+def measurement_stats(meas, prefix='', time=0):
     """Get statistics of a measurement"""
     if not meas:
         return {prefix + 'sample_cnt': 0,
@@ -319,6 +319,7 @@
     stats['quantity'] = val_cls.quantity
     stats[prefix + 'sample_cnt'] = len(values)
 
+    start_time = time # Add start time for both type sysres and disk usage
     mean_val = val_cls(mean(values))
     min_val = val_cls(min(values))
     max_val = val_cls(max(values))
@@ -334,6 +335,7 @@
     stats[prefix + 'max'] = max_val
     stats[prefix + 'minus'] = val_cls(mean_val - min_val)
     stats[prefix + 'plus'] = val_cls(max_val - mean_val)
+    stats[prefix + 'start_time'] = start_time
 
     return stats
 
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index 7972b4f..6674e67 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -1885,6 +1885,8 @@
         for line in stdout.splitlines():
             branchname = line[2:]
             if line.startswith('* '):
+                if 'HEAD' in line:
+                    raise DevtoolError('Detached HEAD - please check out a branch, e.g., "devtool"')
                 startbranch = branchname
             if branchname.startswith(override_branch_prefix):
                 override_branches.append(branchname)
diff --git a/poky/scripts/oe-build-perf-report b/poky/scripts/oe-build-perf-report
index 7812ea4..266700d 100755
--- a/poky/scripts/oe-build-perf-report
+++ b/poky/scripts/oe-build-perf-report
@@ -336,7 +336,9 @@
                 test_i = test_data['tests'][test]
                 meas_i = test_i['measurements'][meas]
                 commit_num = get_data_item(meta, 'layers.meta.commit_count')
-                samples.append(measurement_stats(meas_i))
+                # Add start_time for both test measurement types of sysres and disk usage
+                start_time = test_i['start_time'][0]
+                samples.append(measurement_stats(meas_i, '', start_time))
                 samples[-1]['commit_num'] = commit_num
 
             absdiff = samples[-1]['val_cls'](samples[-1]['mean'] - samples[id_comp]['mean'])
@@ -473,7 +475,7 @@
     group.add_argument('--branch', '-B', default='master', help="Branch to find commit in")
     group.add_argument('--branch2', help="Branch to find comparision revisions in")
     group.add_argument('--machine', default='qemux86')
-    group.add_argument('--history-length', default=25, type=int,
+    group.add_argument('--history-length', default=300, type=int,
                        help="Number of tested revisions to plot in html report")
     group.add_argument('--commit',
                        help="Revision to search for")
diff --git a/poky/scripts/oe-setup-build b/poky/scripts/oe-setup-build
index 5364f2b..c047699 100755
--- a/poky/scripts/oe-setup-build
+++ b/poky/scripts/oe-setup-build
@@ -91,7 +91,16 @@
     builddir = args.b if args.b else template["buildpath"]
     no_shell = args.no_shell
     coredir = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..'))
-    cmd = "TEMPLATECONF={} . {} {}".format(template["templatepath"], os.path.join(coredir, 'oe-init-build-env'), builddir)
+    cmd_base = ". {} {}".format(os.path.join(coredir, 'oe-init-build-env'), os.path.abspath(builddir))
+
+    initbuild = os.path.join(builddir, 'init-build-env')
+    if not os.path.exists(initbuild):
+        os.makedirs(builddir, exist_ok=True)
+        with open(initbuild, 'w') as f:
+            f.write(cmd_base)
+    print("\nRun '. {}' to initialize the build in a current shell session.\n".format(initbuild))
+
+    cmd = "TEMPLATECONF={} {}".format(template["templatepath"], cmd_base)
     if not no_shell:
         cmd = cmd + " && {}".format(os.environ['SHELL'])
     print("Running:", cmd)
