subtree updates

meta-arm: 5712422011..1cad3c3813:
  Jon Mason (3):
        arm/pyhsslms: update to 2.0.0
        arm/trusted-firmware-m: update to 2.0.0
        arm/opencsd: update to 1.4.2

  Ross Burton (2):
        arm-bsp/documentation: upgrade Sphinx slightly
        arm/fvp-base-a-aem: upgrade to 11.24.11

  Vikas Katariya (2):
        arm-bsp/n1sdp: Downgrade to 6.1 linux yocto kernel
        arm-bsp/linux-yocto: Remove EOL Linux yocto kernel 6.5

meta-openembedded: 098dc606f9..4dbbef7a39:
  Alex Kiernan (1):
        thin-provisioning-tools: Drop musl fixes (fixed upstream)

  Derek Straka (9):
        python3-web3: update to version 6.14.0
        python3-engineio: update to version 4.8.2
        python3-marshmallow: update to version 3.20.2
        python3-apispec: update to version 6.4.0
        python3-protobuf: update to version 4.25.1
        python3-eth-hash: update to version 0.6.0
        python3-google-auth: update to version 2.26.2
        python3-socketio: update to version 5.11.0
        python3-google-api-python-client: update to version 2.113.0

  Fabio Estevam (1):
        v4l-utils: Update to 1.26.1

  Jörg Sommer (1):
        i2cdev: Fix MUSL build

  Khem Raj (7):
        thunar: inherit gtk-doc
        libxklavier: inherit gtk-doc
        libwnck: inherit gtk-doc
        schroedinger: inherit gtk-doc
        gst-shark: inherit gtk-doc
        evolution-data-server: Use inherit_defer for native class
        opencl-icd: Rename rdepends to virtual-opencl-icd

  Markus Volk (2):
        flatpak: fix gtk-doc build
        gvfs: drop gnome-keyring rdepend

  Peter Marko (1):
        grpc: correct dependencies

  Randy MacLeod (1):
        rng-tools: move from oe-core to meta-oe

  Ross Burton (9):
        libuser: fix gtk-doc configure call
        libuser: remove obsolete GTKDOC_DOCDIR assignment
        gtksourceview4: remove check for target gtk-doc
        gtksourceview4: remove obsolete workaround for build failures
        telepathy-glib: inherit gtk-doc
        glade: inherit gtk-doc, fix FILES
        libgxim: inherit gtk-doc
        gmime: inherit gtk-doc
        raptor2: inherit gtk-doc

  Wang Mingyu (3):
        frr: use update-alternatives for ietf-interfaces.yang
        libsmi: use update-alternatives for ietf-interfaces.yang
        frr: Fix install conflict when enable multilib.

  alperak (1):
        adcli: use https protocol for fetching

poky: 61182659c2..7af374c90c:
  Alexander Kanavin (3):
        glib-2.0: ensure GI_DATA_ENABLED is set
        gobject-introspection-data.bbclass: move do_compile() tweak to g-i class
        python: update 3.11.5 -> 3.12.1

  Alexander Sverdlin (2):
        linux-firmware: upgrade 20231030 -> 20231211
        linux-firmware: package PowerVR firmware

  André Draszik (1):
        linux-firmware: split out rockchip/dptx firmware

  Changhyeok Bae (1):
        iw: upgrade 5.19 -> 6.7

  Etienne Cordonnier (3):
        package.py: fix Darwin support
        chrpath.bbclass: fix Darwin support
        siteinfo.bbclass: add support for darwin19 and darwin21

  Fabio Estevam (2):
        mesa: Upgrade 23.3.2 -> 23.3.3
        libdrm: Upgrade to 2.4.120

  Joe Slater (1):
        init-ifupdown: add predictable interface names

  Kai Kang (1):
        xserver-xorg: 21.1.9 -> 21.1.11

  Khem Raj (3):
        webkitgtk: Workaround for clang compiler segfault
        mdadm: Disable 10ddf-fail-spare and 10ddf-fail-stop-readd testcases
        openssl: Fix build on riscv

  Ola x Nilsson (2):
        insane.bbclass: Check for adjtime in check_32_bit_symbols
        insane.bbclass: Python code cleanup in check_32bit_symbols

  Petr Vorel (1):
        iputils: update to 20240117

  Randy MacLeod (2):
        rng-tools: move to meta-oe
        rng-tools: Revert "rng-tools: move to meta-oe"

  Richard Purdie (13):
        bitbake: ast/BBHandler: Add inherit_defer support
        allarch: Fix allarch corner case
        rootfs: Fix MULTILIB_RE_ALLOW to be inherit order independent
        rootfs-postcommands: Try and improve ordering constraints
        classes/recipes: Switch to use inherit_defer
        libtool: Update patches to mark as backports
        libtool: Update nios2 patch to match upstream merged version
        libtool: Update prefixmap and clang patches to match upstream submission
        libtool: Update cleanup sysroot handling patch
        libtool: Update patch offsets
        libtool: Update further patch status to backport
        reproducible: Fix race with externalsrc/devtool over lockfile
        build-appliance-image: Update to master head revision

  Ross Burton (4):
        musl: doesn't support riscv32
        libunwind: merge .inc and .bb
        libunwind: refresh patches
        libunwind: clean up configuration

  Simone Weiß (1):
        classes-global/insane: Add check for "virtual/" in RPROVIDES and RDEPENDS

  Tim Orling (1):
        python3-alabaster: upgrade 0.7.13 -> 0.7.16

  Trevor Woerner (1):
        bmaptool: add 3 fixes

  Vyacheslav Yurkov (9):
        recipetool: Don't fail on local go modules
        classes: go-vendor: Reference local modules
        classes: go-vendor: Handle modules from the same repo
        classes: go-vendor: Unlink vendor dir later
        recipetool: Proceed even with a missing license file
        recipetool: Disregard version in URL for replaced modules
        oeqa/selftest/recipetool: Move create_go test to a proper class
        oeqa/selftest/recipetool: Move helper function to the class scope
        oeqa/selftest/recipetool: Add test coverage for local go modules

  Wang Mingyu (22):
        mpg123: upgrade 1.32.3 -> 1.32.4
        bind: upgrade 9.18.20 -> 9.18.21
        iproute2: upgrade 6.6.0 -> 6.7.0
        kexec-tools: upgrade 2.0.27 -> 2.0.28
        libbsd: upgrade 0.11.7 -> 0.11.8
        libxmlb: upgrade 0.3.14 -> 0.3.15
        nghttp2: upgrade 1.57.0 -> 1.58.0
        ofono: upgrade 2.2 -> 2.3
        python3-numpy: upgrade 1.26.2 -> 1.26.3
        vte: upgrade 0.74.1 -> 0.74.2
        python3-cython: upgrade 3.0.7 -> 3.0.8
        python3-git: upgrade 3.1.40 -> 3.1.41
        python3-hypothesis: upgrade 6.92.2 -> 6.92.9
        python3-jinja2: upgrade 3.1.2 -> 3.1.3
        python3-markdown: upgrade 3.5 -> 3.5.2
        python3-more-itertools: upgrade 10.1.0 -> 10.2.0
        python3-pycryptodome: upgrade 3.19.1 -> 3.20.0
        python3-pycryptodomex: upgrade 3.19.1 -> 3.20.0
        python3-trove-classifiers: upgrade 2023.11.29 -> 2024.1.8
        stress-ng: upgrade 0.17.03 -> 0.17.04
        virglrenderer: upgrade 1.0.0 -> 1.0.1
        xz: upgrade 5.4.4 -> 5.4.5

Change-Id: I9581526d3addb54889dd73268e672c2d84345f3e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
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 381eaaf..d03c23c 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
+++ b/meta-arm/meta-arm-bsp/conf/machine/include/corstone1000.inc
@@ -12,7 +12,8 @@
 TFA_FIP_BINARY = "fip-corstone1000.bin"
 
 # TF-M
-EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-m"
+EXTRA_IMAGEDEPENDS += "trusted-firmware-m"
+PREFERRED_VERSION_trusted-firmware-m ?= "1.8.%"
 
 # TF-M settings for signing host images
 TFA_BL2_RE_IMAGE_LOAD_ADDRESS = "0x62353000"
diff --git a/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf b/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf
index 2a246de..51b6d56 100644
--- a/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf
+++ b/meta-arm/meta-arm-bsp/conf/machine/n1sdp.conf
@@ -19,7 +19,7 @@
 
 # Use kernel provided by yocto
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "6.5%"
+PREFERRED_VERSION_linux-yocto ?= "6.1%"
 
 # RTL8168E Gigabit Ethernet Controller is attached to the PCIe interface
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "linux-firmware-rtl8168"
diff --git a/meta-arm/meta-arm-bsp/documentation/requirements.txt b/meta-arm/meta-arm-bsp/documentation/requirements.txt
index b82e5e0..6b4e3bb 100644
--- a/meta-arm/meta-arm-bsp/documentation/requirements.txt
+++ b/meta-arm/meta-arm-bsp/documentation/requirements.txt
@@ -6,7 +6,6 @@
 jinja2==3.1.1
 
 # Required to build the documentation
-sphinx==4.5.0
-sphinx_rtd_theme==1.0.0
-sphinx-copybutton==0.5.0
+sphinx~=5.0
+sphinx_rtd_theme~=2.0.0
 docutils==0.17.1
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.1-src.inc b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.1-src.inc
similarity index 100%
rename from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.1-src.inc
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-1.8.1-src.inc
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.1.bb b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.1.bb
similarity index 100%
rename from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.1.bb
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.1.bb
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb
similarity index 100%
rename from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb
rename to meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc
index 6c132c9..f43bbd6 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc
@@ -67,7 +67,7 @@
 #
 # N1SDP KMACHINE
 #
-FILESEXTRAPATHS:prepend:n1sdp := "${THISDIR}/linux-yocto-6.5/n1sdp:"
+FILESEXTRAPATHS:prepend:n1sdp := "${THISDIR}/linux-yocto-6.1/n1sdp:"
 COMPATIBLE_MACHINE:n1sdp = "n1sdp"
 KBUILD_DEFCONFIG:n1sdp = "defconfig"
 KCONFIG_MODE:n1sdp = "--alldefconfig"
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch
similarity index 83%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch
index df7586c..d7a47c6 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch
@@ -1,4 +1,4 @@
-From 63da10da7a57776196a3c323e93ef66f1d553c0c Mon Sep 17 00:00:00 2001
+From 32ae4539865e64bcfb0c6955bdac8db5904e493d Mon Sep 17 00:00:00 2001
 From: Manoj Kumar <manoj.kumar3@arm.com>
 Date: Mon, 1 Feb 2021 21:36:43 +0530
 Subject: [PATCH] iommu/arm-smmu-v3: workaround for ATC_INV_SIZE_ALL in N1SDP
@@ -9,9 +9,11 @@
 field to proper value for ATC_INV_SIZE_ALL command.
 
 Change-Id: If89465be94720a62be85e1e6612f17e93fa9b8a5
-Upstream-Status: Inappropriate [Workaround]
 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
 Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
+
+Upstream-Status: Inappropriate [Workaround]
+Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
 Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
 Signed-off-by: Adam Johnston <adam.johnston@arm.com>
 ---
@@ -20,10 +22,10 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
-index 6ccbae9b93a1..5387f152fb07 100644
+index d4d8bfee9feb..0524bf2ec021 100644
 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
 +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
-@@ -1753,6 +1753,7 @@ arm_smmu_atc_inv_to_cmd(int ssid, unsigned long iova, size_t size,
+@@ -1738,6 +1738,7 @@ arm_smmu_atc_inv_to_cmd(int ssid, unsigned long iova, size_t size,
  	};
  
  	if (!size) {
@@ -32,10 +34,10 @@
  		return;
  	}
 diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
-index dcab85698a4e..12e12d03eebf 100644
+index cd48590ada30..20892b2bfe1d 100644
 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
 +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
-@@ -478,6 +478,7 @@ struct arm_smmu_cmdq_ent {
+@@ -472,6 +472,7 @@ struct arm_smmu_cmdq_ent {
  
  		#define CMDQ_OP_ATC_INV		0x40
  		#define ATC_INV_SIZE_ALL	52
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch
similarity index 93%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch
index 73e7a58..cb72ed0 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0002-n1sdp-pci_quirk-add-acs-override-for-PCI-devices.patch
@@ -1,4 +1,4 @@
-From 7d24cc041cbcff07b21a9a380426b38e09149648 Mon Sep 17 00:00:00 2001
+From fc8605e74b51d9e0ab8efd0489eca2e11d807f07 Mon Sep 17 00:00:00 2001
 From: Manoj Kumar <manoj.kumar3@arm.com>
 Date: Tue, 31 Aug 2021 16:15:38 +0000
 Subject: [PATCH] n1sdp: pci_quirk: add acs override for PCI devices
@@ -7,8 +7,9 @@
 https://gitlab.com/Queuecumber/linux-acs-override/raw/master/workspaces/5.4/acso.patch
 
 Change-Id: Ib926bf50524ce9990fbaa2f2f8670fe84bd571f9
-Upstream-Status: Inappropriate [will not be submitted as its a workaround to address hardware issue]
 Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>
+
+Upstream-Status: Inappropriate [will not be submitted as its a workaround to address hardware issue]
 Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
 Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
 Signed-off-by: Adam Johnston <adam.johnston@arm.com>
@@ -18,10 +19,10 @@
  2 files changed, 110 insertions(+)
 
 diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 23ebe34ff901..054b6e6d22f3 100644
+index 963cdaecabcb..8e94af513b9f 100644
 --- a/Documentation/admin-guide/kernel-parameters.txt
 +++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -4271,6 +4271,14 @@
+@@ -4162,6 +4162,14 @@
  		nomsi		[MSI] If the PCI_MSI kernel config parameter is
  				enabled, this kernel boot option can be used to
  				disable the use of MSI interrupts system-wide.
@@ -37,10 +38,10 @@
  				Safety option to keep boot IRQs enabled. This
  				should never be necessary.
 diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 321156ca273d..1144c3a8a3bb 100644
+index 285acc4aaccc..d6ebef1f30db 100644
 --- a/drivers/pci/quirks.c
 +++ b/drivers/pci/quirks.c
-@@ -3718,6 +3718,107 @@ static void quirk_no_bus_reset(struct pci_dev *dev)
+@@ -3612,6 +3612,107 @@ static void quirk_no_bus_reset(struct pci_dev *dev)
  	dev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;
  }
  
@@ -148,7 +149,7 @@
  /*
   * Some NVIDIA GPU devices do not work with bus reset, SBR needs to be
   * prevented for those affected devices.
-@@ -5112,6 +5213,7 @@ static const struct pci_dev_acs_enabled {
+@@ -4980,6 +5081,7 @@ static const struct pci_dev_acs_enabled {
  	{ PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
  	/* Wangxun nics */
  	{ PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs },
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch
similarity index 95%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch
index e91147a..9b439e4 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0003-pcie-Add-quirk-for-the-Arm-Neoverse-N1SDP-platform.patch
@@ -1,4 +1,4 @@
-From 51879bfe6b0850b3746df9f9471120a6709807cb Mon Sep 17 00:00:00 2001
+From 5aa5769af625c79589fd84b8afc06149c2362218 Mon Sep 17 00:00:00 2001
 From: Deepak Pandey <Deepak.Pandey@arm.com>
 Date: Fri, 31 May 2019 16:42:43 +0100
 Subject: [PATCH] pcie: Add quirk for the Arm Neoverse N1SDP platform
@@ -24,6 +24,7 @@
 Signed-off-by: Sudipto Paul <sudipto.paul@arm.com>
 [Andre: fix coding style issues, rewrite some parts, add DT support]
 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
+
 Change-Id: I1d3a4b9bf6b3b883d262e3c4ff1f88a0eb81c1fe
 Upstream-Status: Inappropriate [will not be submitted as its a workaround to address hardware issue]
 Signed-off-by: Deepak Pandey <Deepak.Pandey@arm.com>
@@ -40,10 +41,10 @@
  create mode 100644 drivers/pci/controller/pcie-n1sdp.c
 
 diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index 02adc6ceb831..398a5429a8e2 100644
+index bbbc31391a65..973aa3b4d407 100644
 --- a/arch/arm64/configs/defconfig
 +++ b/arch/arm64/configs/defconfig
-@@ -207,6 +207,7 @@ CONFIG_NFC_S3FWRN5_I2C=m
+@@ -214,6 +214,7 @@ CONFIG_NFC_S3FWRN5_I2C=m
  CONFIG_PCI=y
  CONFIG_PCIEPORTBUS=y
  CONFIG_PCIEAER=y
@@ -70,12 +71,12 @@
  
  #ifdef CONFIG_LOONGARCH
 diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
-index 0859be86e718..c51b89781472 100644
+index bfd9bac37e24..7a65799dded7 100644
 --- a/drivers/pci/controller/Kconfig
 +++ b/drivers/pci/controller/Kconfig
-@@ -21,6 +21,17 @@ config PCIE_ALTERA
- 	  Say Y here if you want to enable PCIe controller support on Altera
- 	  FPGA.
+@@ -50,6 +50,17 @@ config PCI_IXP4XX
+ 	  Say Y here if you want support for the PCI host controller found
+ 	  in the Intel IXP4xx XScale-based network processor SoC.
  
 +config PCIE_HOST_N1SDP_ECAM
 +	bool "ARM N1SDP PCIe Controller"
@@ -88,9 +89,9 @@
 +	  The controller is ECAM compliant, but needs a quirk to workaround
 +	  an integration issue.
 +
- config PCIE_ALTERA_MSI
- 	tristate "Altera PCIe MSI feature"
- 	depends on PCIE_ALTERA
+ config PCI_TEGRA
+ 	bool "NVIDIA Tegra PCIe controller"
+ 	depends on ARCH_TEGRA || COMPILE_TEST
 diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile
 index 37c8663de7fe..08e5afcf6e86 100644
 --- a/drivers/pci/controller/Makefile
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch
similarity index 98%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch
index f85abd9..b804658 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0004-n1sdp-pcie-add-quirk-support-enabling-remote-chip-PC.patch
@@ -1,4 +1,4 @@
-From aa7c785aff4276aa8579a54f39347cd47eb48ebb Mon Sep 17 00:00:00 2001
+From b59e0d6c6035db80fc9044df0333f96ede53ad7a Mon Sep 17 00:00:00 2001
 From: Sayanta Pattanayak <sayanta.pattanayak@arm.com>
 Date: Wed, 9 Feb 2022 20:37:43 +0530
 Subject: [PATCH] n1sdp: pcie: add quirk support enabling remote chip PCIe
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch
similarity index 88%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch
index 42ef0ee..cc9d871 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0005-arm64-kpti-Whitelist-early-Arm-Neoverse-N1-revisions.patch
@@ -1,4 +1,4 @@
-From a9df434f077e7f1d8895e76381ba7179f3ebb1ba Mon Sep 17 00:00:00 2001
+From ff02f77788f8c01e9d675912c063e89415804b7d Mon Sep 17 00:00:00 2001
 From: Andre Przywara <andre.przywara@arm.com>
 Date: Fri, 17 May 2019 17:39:27 +0100
 Subject: [PATCH] arm64: kpti: Whitelist early Arm Neoverse N1 revisions
@@ -20,10 +20,10 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
-index 2c0b8444fea6..5c0ff40c6c8b 100644
+index b3f37e2209ad..b74210f38cd8 100644
 --- a/arch/arm64/kernel/cpufeature.c
 +++ b/arch/arm64/kernel/cpufeature.c
-@@ -1690,6 +1690,7 @@ static bool unmap_kernel_at_el0(const struct arm64_cpu_capabilities *entry,
+@@ -1646,6 +1646,7 @@ static bool unmap_kernel_at_el0(const struct arm64_cpu_capabilities *entry,
  		MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_2XX_SILVER),
  		MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_3XX_SILVER),
  		MIDR_ALL_VERSIONS(MIDR_QCOM_KRYO_4XX_SILVER),
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0006-arm64-defconfig-disable-config-options-that-does-not.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0006-arm64-defconfig-disable-config-options-that-does-not.patch
similarity index 65%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0006-arm64-defconfig-disable-config-options-that-does-not.patch
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0006-arm64-defconfig-disable-config-options-that-does-not.patch
index dae3243..8aea1f6 100644
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/0006-arm64-defconfig-disable-config-options-that-does-not.patch
+++ b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/0006-arm64-defconfig-disable-config-options-that-does-not.patch
@@ -1,4 +1,4 @@
-From d59c5c17d3345f923d66fc85a7681fc6c4fd657d Mon Sep 17 00:00:00 2001
+From 330a620b5c73505e62a2e0accc155fbc78859cee Mon Sep 17 00:00:00 2001
 From: Vishnu Banavath <vishnu.banavath@arm.com>
 Date: Wed, 21 Sep 2022 15:54:14 +0100
 Subject: [PATCH] arm64: defconfig: disable config options that does not apply
@@ -6,8 +6,6 @@
 
 Following config options should be not set to be more accurate and
 works with build system like yocto
-CONFIG_BT_HCIBTUSB
-CONFIG_BT_HCIBTUSB_MTK
 CONFIG_BT_HCIUART_MRVL
 CONFIG_BT_MRVL
 CONFIG_BT_MRVL_SDIO
@@ -16,24 +14,15 @@
 Upstream-Status: Pending [not submitted upstream yet]
 Signed-off-by: Adam Johnston <adam.johnston@arm.com>
 Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
-Signed-off-by: Xueliang Zhong <xueliang.zhong@arm.com>
 ---
- arch/arm64/configs/defconfig | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
+ arch/arm64/configs/defconfig | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index cd73d1704dd2..958a43bd00e6 100644
+index 973aa3b4d407..61f040394a2d 100644
 --- a/arch/arm64/configs/defconfig
 +++ b/arch/arm64/configs/defconfig
-@@ -181,16 +181,16 @@ CONFIG_BT_HIDP=m
- # CONFIG_BT_LE is not set
- CONFIG_BT_LEDS=y
- # CONFIG_BT_DEBUGFS is not set
--CONFIG_BT_HCIBTUSB=m
--CONFIG_BT_HCIBTUSB_MTK=y
-+# CONFIG_BT_HCIBTUSB is not set
-+# CONFIG_BT_HCIBTUSB_MTK is not set
- CONFIG_BT_HCIUART=m
+@@ -198,10 +198,10 @@ CONFIG_BT_HCIUART=m
  CONFIG_BT_HCIUART_LL=y
  CONFIG_BT_HCIUART_BCM=y
  CONFIG_BT_HCIUART_QCA=y
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/enable-nvme.cfg b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/enable-nvme.cfg
similarity index 100%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/enable-nvme.cfg
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/enable-nvme.cfg
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/enable-realtek-R8169.cfg b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/enable-realtek-R8169.cfg
similarity index 100%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/enable-realtek-R8169.cfg
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/enable-realtek-R8169.cfg
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/enable-usb_conn_gpio.cfg b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/enable-usb_conn_gpio.cfg
similarity index 100%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/enable-usb_conn_gpio.cfg
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/enable-usb_conn_gpio.cfg
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/usb_xhci_pci_renesas.cfg b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/usb_xhci_pci_renesas.cfg
similarity index 100%
rename from meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.5/n1sdp/usb_xhci_pci_renesas.cfg
rename to meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.1/n1sdp/usb_xhci_pci_renesas.cfg
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto_6.5.bb b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto_6.5.bb
deleted file mode 100644
index a5cc546..0000000
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto_6.5.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-KBRANCH ?= "v6.5/standard/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# CVE exclusions
-include recipes-kernel/linux/cve-exclusion.inc
-include recipes-kernel/linux/cve-exclusion_6.5.inc
-
-SRCREV_machine ?= "e53dc7514de7d2fbe0f80547a50c0542928e2d11"
-SRCREV_meta ?= "3b1f87ec237ec3ad9acffb3d75c55efe958085dc"
-
-# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
-# get the <version>/base branch, which is pure upstream -stable, and the same
-# meta SRCREV as the linux-yocto-standard builds. Select your version using the
-# normal PREFERRED_VERSION settings.
-BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "4631960b4700dd53f5cebb4f7055fd00ccd556ce"
-PN:class-devupstream = "linux-yocto-upstream"
-KBRANCH:class-devupstream = "v6.5/base"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};protocol=https \
-           git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.5;destsuffix=${KMETA};protocol=https"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.5.13"
-
-PV = "${LINUX_VERSION}+git"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "1"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-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/gpio/mockup.scc", "", d)}"
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.0.0-src.inc b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.0.0-src.inc
new file mode 100644
index 0000000..8254325
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-2.0.0-src.inc
@@ -0,0 +1,46 @@
+# Common src definitions for trusted-firmware-m and trusted-firmware-m-scripts
+
+LICENSE = "BSD-2-Clause & BSD-3-Clause & Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://license.rst;md5=07f368487da347f3c7bd0fc3085f3afa \
+                    file://../tf-m-tests/license.rst;md5=4481bae2221b0cfca76a69fb3411f390 \
+                    file://../mbedtls/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \
+                    file://../mcuboot/LICENSE;md5=b6ee33f1d12a5e6ee3de1e82fb51eeb8"
+
+SRC_URI_TRUSTED_FIRMWARE_M ?= "git://git.trustedfirmware.org/TF-M/trusted-firmware-m.git;protocol=https"
+SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS ?= "git://git.trustedfirmware.org/TF-M/tf-m-extras.git;protocol=https"
+SRC_URI_TRUSTED_FIRMWARE_M_TESTS ?= "git://git.trustedfirmware.org/TF-M/tf-m-tests.git;protocol=https"
+SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS ?= "git://github.com/ARMmbed/mbedtls.git;protocol=https"
+SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT ?= "git://github.com/mcu-tools/mcuboot.git;protocol=https"
+SRC_URI_TRUSTED_FIRMWARE_M_QCBOR ?= "git://github.com/laurencelundblade/QCBOR.git;protocol=https"
+SRC_URI  = "${SRC_URI_TRUSTED_FIRMWARE_M};branch=${SRCBRANCH_tfm};name=tfm;destsuffix=git/tfm \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_EXTRAS};branch=${SRCBRANCH_tfm-extras};name=tfm-extras;destsuffix=git/tfm-extras \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_TESTS};branch=${SRCBRANCH_tfm-tests};name=tfm-tests;destsuffix=git/tf-m-tests \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MBEDTLS};branch=${SRCBRANCH_mbedtls};name=mbedtls;destsuffix=git/mbedtls \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_MCUBOOT};branch=${SRCBRANCH_mcuboot};name=mcuboot;destsuffix=git/mcuboot \
+            ${SRC_URI_TRUSTED_FIRMWARE_M_QCBOR};branch=${SRCBRANCH_qcbor};name=qcbor;destsuffix=git/qcbor \
+            "
+
+# The required dependencies are documented in tf-m/config/config_default.cmake
+# TF-Mv2.0.0
+SRCBRANCH_tfm ?= "release/2.0.x"
+SRCREV_tfm = "9ca8a5eb3c85eecee1303dffa262800ea0385584"
+# TF-Mv2.0.0
+SRCBRANCH_tfm-extras ?= "release/2.0.x"
+SRCREV_tfm-extras = "676a1465f361439bc95f5a50ef71749f27caffc1"
+# TF-Mv2.0.0
+SRCBRANCH_tfm-tests ?= "release/2.0.x"
+SRCREV_tfm-tests = "69fbb233dc6e45f8306d98694ca5760559f9d2ef"
+# mbedtls-3.5.1
+SRCBRANCH_mbedtls ?= "master"
+SRCREV_mbedtls = "edb8fec9882084344a314368ac7fd957a187519c"
+# mcuboot v2.0.0
+SRCBRANCH_mcuboot ?= "main"
+SRCREV_mcuboot = "304fd41980ed929533b9f387dde1b463b0be5b90"
+# QCBOR v1.2
+SRCBRANCH_qcbor ?= "master"
+SRCREV_qcbor = "b0e7033268e88c9f27146fa9a1415ef4c19ebaff"
+
+SRCREV_FORMAT = "tfm"
+
+S = "${WORKDIR}/git/tfm"
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.1.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_2.0.0.bb
similarity index 100%
copy from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_1.8.1.bb
copy to meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m-scripts-native_2.0.0.bb
diff --git a/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb b/meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_2.0.0.bb
similarity index 100%
copy from meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_1.8.1.bb
copy to meta-arm/meta-arm/recipes-bsp/trusted-firmware-m/trusted-firmware-m_2.0.0.bb
diff --git a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.23.9.bb b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.24.11.bb
similarity index 66%
rename from meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.23.9.bb
rename to meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.24.11.bb
index 7d179b4..fe89e01 100644
--- a/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.23.9.bb
+++ b/meta-arm/meta-arm/recipes-devtools/fvp/fvp-base-a-aem_11.24.11.bb
@@ -2,11 +2,11 @@
 
 SUMMARY = "Arm Fixed Virtual Platform - Armv-A Base RevC Architecture Envelope Model FVP"
 LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \
-                    file://license_terms/third_party_licenses/third_party_licenses.txt;md5=0c32ac6f58ebff83065105042ab98211 \
+                    file://license_terms/third_party_licenses/third_party_licenses.txt;md5=b9005e55057311e41efe02ccfea8ea72 \
                     file://license_terms/third_party_licenses/arm_license_management_utilities/third_party_licenses.txt;md5=c09526c02e631abb95ad61528892552d"
 
-SRC_URI[fvp-aarch64.sha256sum] = "d0925791ec4cfb99c3b4122afbb442ad076f92c4e173ed3bd092a3bf180d56f0"
-SRC_URI[fvp-x86_64.sha256sum] = "9d43c8eb347bf169a024cdbbc04572d169f60098fe061316b36bdbd4a44ffd79"
+SRC_URI[fvp-aarch64.sha256sum] = "7a3593dafd3af6897b3a0a68f66701201f8f3e02a3d981ba47494b2f18853648"
+SRC_URI[fvp-x86_64.sha256sum] = "0f132334834cbc66889a62dd72057c976d7c7dfcfeec21799e9c78fb2ce24720"
 
 MODEL_CODE = "FVP_Base_RevC-2xAEMvA"
 
diff --git a/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.4.1.bb b/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.4.2.bb
similarity index 94%
rename from meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.4.1.bb
rename to meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.4.2.bb
index 01b0f7b..4bfed27 100644
--- a/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.4.1.bb
+++ b/meta-arm/meta-arm/recipes-devtools/opencsd/opencsd_1.4.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 = "553d74524332be146675980ef611153d1a1ab6f8"
+SRCREV = "37ace5c3e1a9f87d0541b3d3cbbbf39267258dbc"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-arm/meta-arm/recipes-devtools/python/python3-pyhsslms_1.1.1.bb b/meta-arm/meta-arm/recipes-devtools/python/python3-pyhsslms_1.1.1.bb
deleted file mode 100644
index 6012ab2..0000000
--- a/meta-arm/meta-arm/recipes-devtools/python/python3-pyhsslms_1.1.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Pure-Python implementation of HSS/LMS Digital Signatures (RFC 8554)"
-HOMEPAGE ="https://pypi.org/project/pyhsslms"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=58f6f7065b99f9d01d56e759256a6f1b"
-
-inherit pypi python_setuptools_build_meta
-PYPI_PACKAGE = "pyhsslms"
-SRC_URI[sha256sum] = "58bf03e34c6f9d5a3cfd77875d0a1356d4f23d7ad6ffd129b1e60de1208db753"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-arm/meta-arm/recipes-devtools/python/python3-pyhsslms_2.0.0.bb b/meta-arm/meta-arm/recipes-devtools/python/python3-pyhsslms_2.0.0.bb
new file mode 100644
index 0000000..b18d1c8
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-devtools/python/python3-pyhsslms_2.0.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Pure-Python implementation of HSS/LMS Digital Signatures (RFC 8554)"
+HOMEPAGE ="https://pypi.org/project/pyhsslms"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bbc59ef8bf238c2902ca816b87b58571"
+
+inherit python_setuptools_build_meta
+
+# Maintainer refused to upload source to pypi.org, but said he would in a future release.  In the meantime, do github
+SRC_URI = "git:///github.com/russhousley/pyhsslms.git;branch=master;protocol=https"
+SRCREV = "c798728deed6d3f681c9e6bfd7fe8a6705f5638b"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb
index 681a61c..28d4c21 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb
@@ -1,10 +1,12 @@
 require ${BPN}.inc
 
-inherit native
+inherit_defer native
 
 DEPENDS = "glib-2.0-native"
 
 # build native helpers
+do_configure[noexec] = "1"
+
 do_compile() {
     cd ${S}/src/camel
     sed -i 's:#include "evolution-data-server-config.h"::g' camel-gen-tables.c
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
index 11a52b4..0c3cc53 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb
@@ -6,7 +6,7 @@
     dbus db virtual/libiconv zlib libsoup-3.0 libical nss libsecret \
 "
 
-inherit pkgconfig gsettings gobject-introspection features_check cmake gtk-doc gettext perlnative vala
+inherit pkgconfig gsettings gobject-introspection features_check gtk-doc gettext perlnative vala
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
index 2f3bf61..33190c4 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
@@ -7,7 +7,7 @@
                     file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
                     file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543"
 
-GNOMEBASEBUILDCLASS = "autotools"
+GNOMEBASEBUILDCLASS = "cmake"
 inherit gnomebase upstream-version-is-even
 
 SRC_URI[archive.sha256sum] = "91f4ffc38a1b8d2fe8939834449ac541c0bff4a39b444edc2a9529344a28e98a"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/files/0001-remove-pointless-check.patch b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/files/0001-remove-pointless-check.patch
new file mode 100644
index 0000000..8230bbb
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/files/0001-remove-pointless-check.patch
@@ -0,0 +1,38 @@
+From 397751846130f79d5fbe8d617b788f3bcbb36816 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 9 Jan 2024 22:20:03 +0000
+Subject: [PATCH] meson: remove pointless gtk-doc check
+
+There's no point explicitly checking for gtk-doc, for two reasons:
+
+1) In cross-compiled environments this looks for a target gtk-doc, not a
+   native gtk-doc, so it should set native:true.
+
+2) The gnome.gtkdoc() function checks for gtk-doc itself.
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gtksourceview/-/merge_requests/351]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ meson.build | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index ba07da70..1109daea 100644
+--- a/meson.build
++++ b/meson.build
+@@ -107,12 +107,6 @@ else
+   vapigen_dep = []
+ endif
+ 
+-if build_gtk_doc
+-  gtk_doc_dep = dependency('gtk-doc', version: gtk_doc_req)
+-else
+-  gtk_doc_dep = []
+-endif
+-
+ # Look for the libxml2 library manually on Visual Studio if
+ # its pkg-config file could not be found, as the NMake
+ # Makefiles of libxml2 do not generate the pkg-config files
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb
index 353f02f..38ca4a3 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb
@@ -10,27 +10,15 @@
 
 S = "${WORKDIR}/${PNAME}-${PV}"
 
-
 inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz"
+SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz \
+           file://0001-remove-pointless-check.patch"
 SRC_URI[sha256sum] = "7ec9d18fb283d1f84a3a3eff3b7a72b09a10c9c006597b3fbabbb5958420a87d"
 
 GIR_MESON_OPTION = 'gir'
 GTKDOC_MESON_OPTION = "gtk_doc"
 
-# Override the definition in meson.bbclass.  The dependencies in mason.build are incomplete
-# and the recipe will not build with "-j 1".  This fix is benign but should be reviewed when
-# updating versions.
-#
-meson_do_compile() {
-    bbnote "========== generating gtksourceview-gresources.h ========"
-    bbnote "PARALLEL_MAKE is ${PARALLEL_MAKE}"
-    ninja ${PARALLEL_MAKE} gtksourceview/gtksourceview-gresources.h
-    bbnote "========== compiling target all ========"
-    ninja ${PARALLEL_MAKE}
-}
-
 FILES:${PN} += "${datadir}/gtksourceview-4"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb
index 627b499..7ac6c3e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.52.1.bb
@@ -58,7 +58,7 @@
 PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
 PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
 PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
-PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr3, gnome-keyring"
+PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr3"
 PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt"
 PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts"
 PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
index 8655aff..d7f4700 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
@@ -9,7 +9,7 @@
 PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
 
 GNOMEBASEBUILDCLASS = "autotools"
-inherit gnomebase gobject-introspection features_check
+inherit gnomebase gobject-introspection features_check gtk-doc
 REQUIRED_DISTRO_FEATURES = "x11"
 
 SRC_URI[archive.md5sum] = "f03e1139296e2a3a92e3b65a3080cd32"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
index 7955663..f52c210 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb
@@ -4,7 +4,7 @@
 
 DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2"
 
-inherit autotools pkgconfig gettext gobject-introspection features_check
+inherit autotools pkgconfig gettext gobject-introspection features_check gtk-doc
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/gtkdoc.patch b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/gtkdoc.patch
new file mode 100644
index 0000000..4d11b94
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/gtkdoc.patch
@@ -0,0 +1,22 @@
+Update the GTK_DOC_CHECK invocation to specify where the
+documentation will be built (as the default is ./docs).
+
+This is needed so that gtkdocize as run by autopoint knows where the
+documentation will be built.
+
+Upstream-Status: Submitted [https://pagure.io/libuser/pull-request/70]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/configure.ac b/configure.ac
+index 0bd4a67..51508b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -169,7 +169,7 @@ if test "$GCC" = yes ; then
+      AC_MSG_RESULT([$enable_Werror])
+ fi
+ 
+-GTK_DOC_CHECK
++GTK_DOC_CHECK([1.14],[--flavour no-tmpl --docdir docs/reference])
+ 
+ AC_CONFIG_FILES([Makefile po/Makefile.in docs/Makefile docs/reference/Makefile
+ libuser.pc])
diff --git a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.64.bb b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.64.bb
index d86a577..6d3bce8 100644
--- a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.64.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.64.bb
@@ -14,6 +14,7 @@
 SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.gz \
            file://0001-docs-Disable-building.patch \
            file://0002-remove-unused-execinfo.h.patch \
+           file://gtkdoc.patch \
            "
 
 SRC_URI[sha256sum] = "ea6094c72cb9e60a42fb53509dc98d124a340f1c9222783b503208adc16a0a8f"
@@ -26,11 +27,6 @@
 
 EXTRA_OEMAKE = "PYTHON_CPPFLAGS=-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
 
-GTKDOC_DOCDIR = "${S}/docs/reference"
-
-# run autopoint since it needs ABOUT-NLS and admin/config.rpath from gettext
-#EXTRA_AUTORECONF:remove = "--exclude=autopoint"
-
 do_configure:prepend() {
     install -d ${S}/admin -d ${S}/m4
     touch ${S}/ABOUT-NLS ${S}/admin/config.rpath
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
index 8a839e0..dc43bed 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
@@ -31,4 +31,4 @@
     ${libdir}/gstreamer-1.0/libgstsharktracers.la \
 "
 
-inherit autotools gettext pkgconfig
+inherit autotools gettext pkgconfig gtk-doc
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
index c78e008..e8f6df6 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
@@ -19,5 +19,5 @@
 
 EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
 
-inherit autotools-brokensep pkgconfig
+inherit autotools-brokensep pkgconfig gtk-doc
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.9.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.9.2.bb
index 6092823..c5dcccb 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.9.2.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.9.2.bb
@@ -6,7 +6,7 @@
 
 SRCREV = "8e88e3590a19006362ea8b8dfdc18bb88b3cb3b5"
 
-SRC_URI = "git://gitlab.freedesktop.org/realmd/adcli;branch=master"
+SRC_URI = "git://gitlab.freedesktop.org/realmd/adcli;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb
index 9db6710..0926f84 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_9.1.bb
@@ -46,7 +46,7 @@
 
 EXTRA_OECONF:class-native = "--enable-clippy-only"
 
-EXTRA_OECONF:class-target = "--sbindir=${libdir}/frr \
+EXTRA_OECONF:class-target = "--sbindir=${libexecdir}/frr \
                              --sysconfdir=${sysconfdir}/frr \
                              --localstatedir=${localstatedir}/run/frr \
                              --enable-vtysh \
@@ -74,6 +74,11 @@
 SYSTEMD_SERVICE:${PN} = "frr.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
+inherit update-alternatives multilib_script multilib_header
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE:${PN} = " ietf-interfaces "
+ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang"
 do_compile:prepend () {
    sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' \
           -e 's#${RECIPE_SYSROOT}##g' ${S}/lib/version.h
@@ -90,6 +95,7 @@
 
 do_install:append:class-target () {
     install -m 0755 -d ${D}${sysconfdir}/frr
+    install -m 0755 -d ${D}${libexecdir}/frr
     install -m 0640 ${S}/tools/etc/frr/* ${D}${sysconfdir}/frr/
     chown frr:frrvty ${D}${sysconfdir}/frr
     chown frr:frr ${D}${sysconfdir}/frr/*
@@ -118,6 +124,7 @@
         echo "d /run/frr 0755 frr frr -" \
             > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
     fi
+    oe_multilib_header frr/version.h
 }
 
 USERADD_PACKAGES = "${PN}"
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 83a9f7d..6b64328 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -54,7 +54,7 @@
 # Configures whether coreutils or uutils-coreutils is used.
 PREFERRED_PROVIDER_coreutils = "coreutils"
 PREFERRED_PROVIDER_virtual/opencl-icd ?= "opencl-icd-loader"
-PREFERRED_RPROVIDER_virtual/opencl-icd ?= "opencl-icd-loader"
+PREFERRED_RPROVIDER_virtual-opencl-icd ?= "opencl-icd-loader"
 
 SIGGEN_EXCLUDERECIPES_ABISAFE += " \
   fbset-modes \
diff --git a/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch
new file mode 100644
index 0000000..59fd379
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch
@@ -0,0 +1,122 @@
+From ce3affeb45a65649dda1edc9a4f0586e9db47ada Mon Sep 17 00:00:00 2001
+Message-Id: <ce3affeb45a65649dda1edc9a4f0586e9db47ada.1705064898.git.joerg.sommer@navimatix.de>
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Fri, 12 Jan 2024 13:59:51 +0100
+Subject: [PATCH] lsi2c: Replace error() by fprintf, drop error.h
+
+The MUSL C library doesn't support error.h. Because the only usage of this
+is the *error* function in lsi2c.c, this gets replaced by a *fprintf*. This
+doesn't print the program name, but keeps the message and the error
+description.
+
+Upstream-Status: Submitted [https://github.com/costad2/i2cdev/pull/5]
+---
+ libi2cdev/access.c         | 1 -
+ libi2cdev/i2c-bus-parser.c | 1 -
+ libi2cdev/i2c-dev-path.c   | 1 -
+ libi2cdev/i2c-error.c      | 1 -
+ libi2cdev/init.c           | 2 --
+ libi2cdev/sysfs.c          | 1 -
+ lsi2c/lsi2c.c              | 4 ++--
+ 7 files changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/libi2cdev/access.c b/libi2cdev/access.c
+index 62a3f59..2e77659 100644
+--- a/libi2cdev/access.c
++++ b/libi2cdev/access.c
+@@ -16,7 +16,6 @@
+ 
+ #include "busses.h"
+ #include "data.h"
+-#include "error.h"
+ #include "sysfs.h"
+ 
+ #include "i2cdiscov.h"
+diff --git a/libi2cdev/i2c-bus-parser.c b/libi2cdev/i2c-bus-parser.c
+index c4b8688..8c760e0 100644
+--- a/libi2cdev/i2c-bus-parser.c
++++ b/libi2cdev/i2c-bus-parser.c
+@@ -27,7 +27,6 @@
+ #include <dirent.h>
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <alloca.h>
+ #include <search.h>
+ 
+diff --git a/libi2cdev/i2c-dev-path.c b/libi2cdev/i2c-dev-path.c
+index b156db7..361761c 100644
+--- a/libi2cdev/i2c-dev-path.c
++++ b/libi2cdev/i2c-dev-path.c
+@@ -11,7 +11,6 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdio.h>
+-#include <error.h>
+ 
+ #include <linux/limits.h>
+ 
+diff --git a/libi2cdev/i2c-error.c b/libi2cdev/i2c-error.c
+index f92fb6b..540c112 100644
+--- a/libi2cdev/i2c-error.c
++++ b/libi2cdev/i2c-error.c
+@@ -9,7 +9,6 @@
+ 
+ #include <stdlib.h>
+ #include <stdio.h>
+-#include <error.h>
+ #include <errno.h>
+ #include <stdbool.h>
+ #include <stdarg.h>
+diff --git a/libi2cdev/init.c b/libi2cdev/init.c
+index 99a7edd..dfc4090 100644
+--- a/libi2cdev/init.c
++++ b/libi2cdev/init.c
+@@ -16,10 +16,8 @@
+ #include <errno.h>
+ #include <dirent.h>
+ #include <unistd.h>
+-#include <error.h>
+ #include <limits.h>
+ #include <ctype.h>
+-#include <error.h>
+ #include <fcntl.h>
+ #include <assert.h>
+ 
+diff --git a/libi2cdev/sysfs.c b/libi2cdev/sysfs.c
+index 2811500..a7e13a8 100644
+--- a/libi2cdev/sysfs.c
++++ b/libi2cdev/sysfs.c
+@@ -17,7 +17,6 @@
+ #include <assert.h>
+ #include <string.h>
+ #include <fcntl.h>
+-#include <error.h>
+ #include <errno.h>
+ 
+ #include <sys/types.h>
+diff --git a/lsi2c/lsi2c.c b/lsi2c/lsi2c.c
+index 7af5313..34c6225 100644
+--- a/lsi2c/lsi2c.c
++++ b/lsi2c/lsi2c.c
+@@ -38,7 +38,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <getopt.h>
+ #include <stdbool.h>
+ 
+@@ -205,7 +204,8 @@ static int read_config_file(const char *config_file_name)
+         if (err < 0) {
+             err = -err;
+         }
+-        error(0, err, "Failed to initialize i2cdevices");
++        fflush(stdout);
++        fprintf(stderr, "Failed to initialize i2cdevices: %s", strerror(err));
+         if (config_file) {
+             fclose(config_file);
+         }
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb
index b41ecff..b2b5fda 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb
@@ -17,6 +17,7 @@
 SRC_URI = "\
     git://github.com/costad2/i2cdev.git;protocol=https;branch=master \
     file://fix-lsi2c-makefile.patch \
+    file://fix-musl.patch \
 "
 SRCREV = "ed9ad777d842880e7ac6ca5e0de4bd2d3b4d02dc"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
index 1891eae..e083039 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
@@ -10,7 +10,7 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
 
-inherit autotools pkgconfig gettext gobject-introspection vala
+inherit autotools pkgconfig gettext gobject-introspection vala gtk-doc
 
 # Respect GI_DATA_ENABLED value when enabling vala-bindings:
 # configure: error: GObject-Introspection must be enabled for Vala bindings
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
index 93fac96..d43ea28 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
@@ -15,6 +15,6 @@
 
 DEPENDS = "ruby-native"
 PROVIDES = "virtual/opencl-icd"
-RPROVIDES:${PN} = "virtual/opencl-icd"
+RPROVIDES:${PN} = "virtual-opencl-icd"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb
index 6bf01a2..146ec6e 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb
@@ -9,7 +9,7 @@
 DEPENDS += "opencl-headers"
 
 PROVIDES = "virtual/opencl-icd"
-RPROVIDES:${PN} = "virtual/opencl-icd"
+RPROVIDES:${PN} = "virtual-opencl-icd"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
index 3936e04..d11751a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
@@ -9,7 +9,7 @@
            autoconf-archive-native \
 "
 GNOMEBASEBUILDCLASS = "autotools"
-inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg
+inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg gtk-doc
 
 # xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
 # cairo would at least needed to be built with xlib.
@@ -23,7 +23,4 @@
 
 EXTRA_OECONF += "--disable-man-pages"
 
-FILES:${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
-FILES:${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
-FILES:${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
-
+FILES:${PN} += "${datadir}/glade ${datadir}/metainfo ${libdir}/glade/modules/libgladegtk.so"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.0.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.0.bb
index 14fca66..d41a73e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.60.0.bb
@@ -6,7 +6,7 @@
 LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906"
 
-DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2"
+DEPENDS = "c-ares protobuf protobuf-native openssl libnsl2 abseil-cpp re2 zlib"
 DEPENDS:append:class-target = " googletest grpc-native "
 DEPENDS:append:class-nativesdk = " grpc-native "
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch
new file mode 100644
index 0000000..77b60ec
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch
@@ -0,0 +1,33 @@
+From 49737b1e4a74c77a8cd7ae727974d68503da087f Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 12 Jan 2024 13:52:08 +0100
+Subject: [PATCH] meson.build: require native gtkdoc
+
+this fixes:
+| Run-time dependency gtk-doc found: NO (tried pkgconfig)
+|
+| ../git/meson.build:206:13: ERROR: Dependency "gtk-doc" not found, tried pkgconfig
+
+Upstream-Status: Submitted [https://github.com/flatpak/flatpak/pull/5650/commits/e5de3e46b917f830d7f81e9db6ed2a9b7d7db942]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index f7f9372d..dccc3eb4 100644
+--- a/meson.build
++++ b/meson.build
+@@ -203,7 +203,7 @@ appstream_dep = dependency('appstream', version : '>=0.12.0')
+ gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
+ libseccomp_dep = dependency('libseccomp', required : get_option('seccomp'))
+ gir_dep = dependency('gobject-introspection-1.0', version : '>=1.40.0', required : get_option('gir'))
+-gtkdoc_dep = dependency('gtk-doc', required : get_option('gtkdoc'))
++gtkdoc_dep = dependency('gtk-doc', required : get_option('gtkdoc'), native : true)
+ build_gtk_doc = gtkdoc_dep.found()
+ 
+ wayland_client = dependency('wayland-client', required : get_option('wayland_security_context'))
+-- 
+2.43.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
index caa353b..19f6f45 100644
--- a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
@@ -7,6 +7,7 @@
     gitsm://github.com/flatpak/flatpak;protocol=https;branch=main \
     file://0001-flatpak-pc-add-pc_sysrootdir.patch \
     file://0001-meson.build-require-for-native-wayland-scanner.patch \
+    file://0001-meson.build-require-native-gtkdoc.patch \
 "
 
 SRCREV = "27b11b93c2a80a91c9461bc6c7f5e9a201406041"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
index 3912e0a..eb85a07 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -26,6 +26,6 @@
 EXTRA_OECONF = "--enable-debug --disable-static --disable-rebuilds --enable-compile-warnings=minimum"
 DEPENDS += "gtk+ glib-2.0 glib-2.0-native ruby-native intltool-native gnome-common-native autoconf-archive-native"
 
-inherit features_check autotools pkgconfig gettext
+inherit features_check autotools pkgconfig gettext gtk-doc
 
 REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
index d8a6c1d..f51451d 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
@@ -6,7 +6,7 @@
 DEPENDS = "glib-2.0 zlib"
 
 GNOMEBASEBUILDCLASS = "autotools"
-inherit gnomebase gobject-introspection vala
+inherit gnomebase gobject-introspection vala gtk-doc
 
 SRC_URI = "https://github.com/jstedfast/${BPN}/releases/download/${PV}/${BP}.tar.xz \
     file://iconv-detect.h \
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
deleted file mode 100644
index 52f0cd3..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 0d5c0e9a75eca43667b0e29155b635e50622b66a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 27 Feb 2015 21:55:36 +0000
-Subject: [PATCH] Revert "media-ctl: Don't install libmediactl and
-
- libv4l2subdev"
-
-This reverts commit 0911dce53b08b0df3066be2c75f67e8a314d8729.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Conflicts:
-	utils/media-ctl/Makefile.am
-
----
-Upstream-Status: Pending
-
- utils/media-ctl/Makefile.am | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index c48c8d6..e255e16 100644
---- a/utils/media-ctl/Makefile.am
-+++ b/utils/media-ctl/Makefile.am
-@@ -1,8 +1,7 @@
--noinst_LTLIBRARIES = libmediactl.la libv4l2subdev.la
--
-+lib_LTLIBRARIES = libmediactl.la libv4l2subdev.la
- libmediactl_la_SOURCES = libmediactl.c mediactl-priv.h
--libmediactl_la_CFLAGS = -static $(LIBUDEV_CFLAGS)
--libmediactl_la_LDFLAGS = -static $(LIBUDEV_LIBS)
-+libmediactl_la_CFLAGS = $(LIBUDEV_CFLAGS)
-+libmediactl_la_LDFLAGS = $(LIBUDEV_LIBS)
- 
- media-bus-format-names.h: ../../include/linux/media-bus-format.h
- 	$(AM_V_GEN) sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*FMT_//; /FIXED/ d; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' \
-@@ -18,9 +17,6 @@ CLEANFILES = $(BUILT_SOURCES)
- nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
- libv4l2subdev_la_SOURCES = libv4l2subdev.c
- libv4l2subdev_la_LIBADD = libmediactl.la
--libv4l2subdev_la_CFLAGS = -static
--libv4l2subdev_la_LDFLAGS = -static
--
- mediactl_includedir=$(includedir)/mediactl
- noinst_HEADERS = mediactl.h v4l2subdev.h
- 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch
new file mode 100644
index 0000000..64c01e4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch
@@ -0,0 +1,46 @@
+From 502c0302827cec3d2b2a69fb25189646685ef2ff Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <festevam@denx.de>
+Date: Fri, 12 Jan 2024 00:17:14 -0300
+Subject: [PATCH] keytable: meson: Restrict the installation of
+ 50-rc_keymap.conf
+
+Currently, meson tries to install 50-rc_keymap.conf even if systemd
+is not used.
+
+Commit 01f2c6c58e6f ("keytable: restrict installation of 50-rc_keymap.conf"),
+only allowed 50-rc_keymap.conf to be installed when both BPF and systemd
+were used.
+
+Apply the same logic in meson to fix the problem.
+
+Signed-off-by: Fabio Estevam <festevam@denx.de>
+Signed-off-by: Sean Young <sean@mess.org>
+Upstream-Status: Backport [https://git.linuxtv.org/v4l-utils.git/commit/?id=a21924ec424c4744af6f2a794e0677eba35dd168]
+---
+ utils/keytable/meson.build | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/utils/keytable/meson.build b/utils/keytable/meson.build
+index 4130a4bea514..76ce329eae8e 100644
+--- a/utils/keytable/meson.build
++++ b/utils/keytable/meson.build
+@@ -69,6 +69,8 @@ ir_keytable_udev_rules = files(
+ install_data(ir_keytable_udev_rules,
+              install_dir : ir_keytable_system_dir / 'rules.d')
+
++if ir_bpf_enabled
++if dep_systemd.found()
+ if have_udevdsyscallfilter
+     ir_keytable_systemd_files = files(
+         '50-rc_keymap.conf',
+@@ -76,6 +78,8 @@ if have_udevdsyscallfilter
+     install_data(ir_keytable_systemd_files,
+                  install_dir : systemd_systemdir / 'systemd-udevd.service.d')
+ endif
++endif
++endif
+
+ # Install non-existing directory to create empty directory structure
+ # See: https://github.com/mesonbuild/meson/issues/2904
+--
+2.34.1
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch
deleted file mode 100644
index d524759..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-original-patch-mediactl-pkgconfig.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 320b8378ee30eb5e0fe83a8b397f822f2f88a4c1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 1 Mar 2015 22:25:07 +0000
-Subject: [PATCH] %% original patch: mediactl-pkgconfig.patch
-
----
-Upstream-Status: Pending
-
- utils/media-ctl/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index e255e16..ff7b417 100644
---- a/utils/media-ctl/Makefile.am
-+++ b/utils/media-ctl/Makefile.am
-@@ -20,6 +20,7 @@ libv4l2subdev_la_LIBADD = libmediactl.la
- mediactl_includedir=$(includedir)/mediactl
- noinst_HEADERS = mediactl.h v4l2subdev.h
- 
-+pkgconfig_DATA = libmediactl.pc
- bin_PROGRAMS = media-ctl
- media_ctl_SOURCES = media-ctl.c options.c options.h tools.h
- media_ctl_LDADD = libmediactl.la libv4l2subdev.la
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch
deleted file mode 100644
index f6fcee9..0000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0003-original-patch-export-mediactl-headers.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f7109d6b2fcb291824d795071c04a492d9fbc45b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 1 Mar 2015 22:25:07 +0000
-Subject: [PATCH] %% original patch: export-mediactl-headers.patch
-
----
-Upstream-Status: Pending
-
- utils/media-ctl/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index ff7b417..6ce656f 100644
---- a/utils/media-ctl/Makefile.am
-+++ b/utils/media-ctl/Makefile.am
-@@ -17,8 +17,8 @@ CLEANFILES = $(BUILT_SOURCES)
- nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
- libv4l2subdev_la_SOURCES = libv4l2subdev.c
- libv4l2subdev_la_LIBADD = libmediactl.la
--mediactl_includedir=$(includedir)/mediactl
--noinst_HEADERS = mediactl.h v4l2subdev.h
-+otherincludedir = $(includedir)/mediactl
-+otherinclude_HEADERS = mediactl.h v4l2subdev.h
- 
- pkgconfig_DATA = libmediactl.pc
- bin_PROGRAMS = media-ctl
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb
index f314d9b..4ae1a18 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.24.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb
@@ -18,34 +18,30 @@
 # Needs further investigation
 GLIBC_64BIT_TIME_FLAGS = ""
 
-inherit autotools gettext pkgconfig
+inherit meson gettext pkgconfig
 
-PACKAGECONFIG ??= "media-ctl"
-PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
-PACKAGECONFIG[qv4l2] = ",--disable-qv4l2"
-PACKAGECONFIG[qvidcap] = ",--disable-qvidcap"
-PACKAGECONFIG[v4l2-tracer] = ",--disable-v4l2-tracer,json-c"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled"
+PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled"
+PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c"
 
 SRC_URI = "\
-    git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.24 \
-    file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
-    file://0002-original-patch-mediactl-pkgconfig.patch \
-    file://0003-original-patch-export-mediactl-headers.patch \
+    git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.26 \
+    file://0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch \
     file://0004-Do-not-use-getsubopt.patch \
 "
 
-SRCREV = "8799081b143627c9c09dea0c60ad3d1cc17cc848"
+SRCREV = "4aee01a027923cab1e40969f56f8ba58d3e6c0d1"
 
 PV .= "+git${SRCPV}"
 
 S = "${WORKDIR}/git"
 
-do_configure:prepend() {
-    cd ${S}; ./bootstrap.sh; cd -
-}
+EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false"
 
-EXTRA_OECONF = "--enable-shared --with-udevdir=${base_libdir}/udev \
-                --disable-v4l2-compliance-32 --disable-v4l2-ctl-32"
+# Disable the erroneous installation of gconv-modules that would break glib
+# like it is done in Debian and ArchLinux.
+EXTRA_OEMESON += "-Dgconv=disabled"
 
 VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
index 07e2e29..5b1d021 100644
--- a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
@@ -16,7 +16,10 @@
 
 DEPENDS += "bison-native flex-native wget-native gawk-native"
 
-inherit autotools-brokensep
+inherit autotools-brokensep update-alternatives
+ALTERNATIVE_PRIORITY = "50"
+ALTERNATIVE:${PN}-yang = "ietf-interfaces "
+ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang"
 
 EXTRA_OECONF = "ac_cv_path_SH=/bin/sh"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb b/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb
index 30df8e0..85012bc 100644
--- a/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb
@@ -15,7 +15,7 @@
 "
 SRC_URI[sha256sum] = "089db78d7ac982354bdbf39d973baf09581e6904ac4c92a98c5caadb3de44680"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig gtk-doc
 
 EXTRA_OECONF = " \
     --without-xml2-config \
diff --git a/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/default b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/default
new file mode 100644
index 0000000..b9f8e03
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/default
@@ -0,0 +1 @@
+EXTRA_ARGS="-r /dev/hwrng"
diff --git a/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/init b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/init
new file mode 100644
index 0000000..13f0ecd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/init
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# This is an init script for openembedded
+# Copy it to @SYSCONFDIR@/init.d/rng-tools and type
+# > update-rc.d rng-tools defaults 60
+#
+
+rngd=@SBINDIR@/rngd
+test -x "$rngd" || exit 1
+
+[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools"
+
+case "$1" in
+  start)
+    echo -n "Starting random number generator daemon"
+    start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
+    echo "."
+    ;;
+  stop)
+    echo -n "Stopping random number generator daemon"
+    start-stop-daemon -K -q -n rngd
+    echo "."
+    ;;
+  reload|force-reload)
+    echo -n "Signalling rng daemon restart"
+    start-stop-daemon -K -q -s 1 -x $rngd
+    start-stop-daemon -K -q -s 1 -x $rngd
+    ;;
+  restart)
+    echo -n "Stopping random number generator daemon"
+    start-stop-daemon -K -q -n rngd
+    echo "."
+    echo -n "Starting random number generator daemon"
+    start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS
+    echo "."
+    ;;
+  *)
+    echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}"
+    exit 1
+esac
+
+exit 0
diff --git a/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/rng-tools.service b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/rng-tools.service
new file mode 100644
index 0000000..5ae2fba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools/rng-tools.service
@@ -0,0 +1,32 @@
+[Unit]
+Description=Hardware RNG Entropy Gatherer Daemon
+DefaultDependencies=no
+Conflicts=shutdown.target
+Before=sysinit.target shutdown.target
+ConditionVirtualization=!container
+
+[Service]
+EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
+ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS
+CapabilityBoundingSet=CAP_SYS_ADMIN
+IPAddressDeny=any
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
+PrivateTmp=yes
+ProtectControlGroups=yes
+ProtectHome=yes
+ProtectHostname=yes
+ProtectKernelModules=yes
+ProtectKernelLogs=yes
+ProtectSystem=strict
+RestrictAddressFamilies=AF_UNIX
+RestrictNamespaces=yes
+RestrictRealtime=yes
+RestrictSUIDSGID=yes
+SystemCallArchitectures=native
+SystemCallErrorNumber=EPERM
+SystemCallFilter=@system-service
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools_6.16.bb b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools_6.16.bb
new file mode 100644
index 0000000..f0aa3ff
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/rng-tools/rng-tools_6.16.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Random number generator daemon"
+DESCRIPTION = "Check and feed random data from hardware device to kernel"
+HOMEPAGE = "https://github.com/nhorman/rng-tools"
+BUGTRACKER = "https://github.com/nhorman/rng-tools/issues"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "openssl libcap"
+
+SRC_URI = "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https \
+           file://init \
+           file://default \
+           file://rng-tools.service \
+           "
+SRCREV = "e061c313b95890eb5fa0ada0cd6eec619dafdfe2"
+
+S = "${WORKDIR}/git"
+
+inherit autotools update-rc.d systemd pkgconfig
+
+EXTRA_OECONF = "--without-rtlsdr"
+
+PACKAGECONFIG ??= "libjitterentropy"
+PACKAGECONFIG:libc-musl = "libargp libjitterentropy"
+
+PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
+PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy"
+PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl"
+PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2"
+PACKAGECONFIG[qrypt] = "--with-qrypt,--without-qrypt,curl"
+
+INITSCRIPT_PACKAGES = "${PN}-service"
+INITSCRIPT_NAME:${PN}-service = "rng-tools"
+INITSCRIPT_PARAMS:${PN}-service = "start 03 2 3 4 5 . stop 30 0 6 1 ."
+
+SYSTEMD_PACKAGES = "${PN}-service"
+SYSTEMD_SERVICE:${PN}-service = "rng-tools.service"
+
+CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER "
+
+PACKAGES =+ "${PN}-service"
+
+FILES:${PN}-service += " \
+    ${sysconfdir}/init.d/rng-tools \
+    ${sysconfdir}/default/rng-tools \
+"
+
+# Refer autogen.sh in rng-tools
+do_configure:prepend() {
+    cp ${S}/README.md ${S}/README
+}
+
+do_install:append() {
+    install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
+    install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools
+    install -Dm 0644 ${WORKDIR}/rng-tools.service \
+                     ${D}${systemd_system_unitdir}/rng-tools.service
+    sed -i \
+        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+        -e 's,@SBINDIR@,${sbindir},g' \
+        ${D}${sysconfdir}/init.d/rng-tools \
+        ${D}${systemd_system_unitdir}/rng-tools.service
+
+    if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then
+        sed -i \
+            -e '/^IPAddressDeny=any/d' \
+            -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \
+            ${D}${systemd_system_unitdir}/rng-tools.service
+    fi
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Replace-LFS-functions.patch b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Replace-LFS-functions.patch
deleted file mode 100644
index a9f1c86..0000000
--- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools/0001-Replace-LFS-functions.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 289105253fbf342fd22cbcde2ccc1127f732ab09 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Jul 2023 14:21:17 -0700
-Subject: [PATCH] Replace LFS functions
-
-The original functions are able to consume 64bit off_t now a days
-therefore *64 equivalents can be replaced, as a side it fixes build with
-musl.
-
-Upstream-Status: Submitted [https://github.com/jthornber/thin-provisioning-tools/pull/267]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/file_utils.rs     | 10 +++++-----
- src/io_engine/base.rs |  4 ++--
- src/thin/trim.rs      |  2 +-
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/file_utils.rs b/src/file_utils.rs
-index 0ca3c0f..d2b3ee9 100644
---- a/src/file_utils.rs
-+++ b/src/file_utils.rs
-@@ -11,18 +11,18 @@ fn test_bit(mode: u32, flag: u32) -> bool {
-     (mode & libc::S_IFMT) == flag
- }
- 
--fn is_file_or_blk_(info: &libc::stat64) -> bool {
-+fn is_file_or_blk_(info: &libc::stat) -> bool {
-     test_bit(info.st_mode, libc::S_IFBLK) || test_bit(info.st_mode, libc::S_IFREG)
- }
- 
- // wrapper of libc::stat64
--fn libc_stat64(path: &Path) -> io::Result<libc::stat64> {
-+fn libc_stat64(path: &Path) -> io::Result<libc::stat> {
-     let c_path = std::ffi::CString::new(path.as_os_str().as_bytes())
-         .map_err(|e| io::Error::new(io::ErrorKind::InvalidInput, e.to_string()))?;
- 
-     unsafe {
--        let mut st: libc::stat64 = std::mem::zeroed();
--        let r = libc::stat64(c_path.as_ptr(), &mut st);
-+        let mut st: libc::stat = std::mem::zeroed();
-+        let r = libc::stat(c_path.as_ptr(), &mut st);
-         if r == 0 {
-             Ok(st)
-         } else {
-@@ -56,7 +56,7 @@ fn get_device_size<P: AsRef<Path>>(path: P) -> io::Result<u64> {
-     let fd = file.as_raw_fd();
-     let mut cap = 0u64;
-     unsafe {
--        if libc::ioctl(fd, BLKGETSIZE64 as libc::c_ulong, &mut cap) == 0 {
-+        if libc::ioctl(fd, BLKGETSIZE64 as libc::c_int, &mut cap) == 0 {
-             Ok(cap)
-         } else {
-             Err(io::Error::last_os_error())
-diff --git a/src/io_engine/base.rs b/src/io_engine/base.rs
-index 725ebf7..db6209f 100644
---- a/src/io_engine/base.rs
-+++ b/src/io_engine/base.rs
-@@ -115,7 +115,7 @@ pub trait VectoredIo {
- 
- fn read_vectored_at(file: &File, bufs: &mut [libc::iovec], pos: u64) -> io::Result<usize> {
-     let ptr = bufs.as_ptr();
--    let ret = match unsafe { libc::preadv64(file.as_raw_fd(), ptr, bufs.len() as i32, pos as i64) }
-+    let ret = match unsafe { libc::preadv(file.as_raw_fd(), ptr, bufs.len() as i32, pos as i64) }
-     {
-         -1 => return Err(io::Error::last_os_error()),
-         n => n,
-@@ -125,7 +125,7 @@ fn read_vectored_at(file: &File, bufs: &mut [libc::iovec], pos: u64) -> io::Resu
- 
- fn write_vectored_at(file: &File, bufs: &[libc::iovec], pos: u64) -> io::Result<usize> {
-     let ptr = bufs.as_ptr();
--    let ret = match unsafe { libc::pwritev64(file.as_raw_fd(), ptr, bufs.len() as i32, pos as i64) }
-+    let ret = match unsafe { libc::pwritev(file.as_raw_fd(), ptr, bufs.len() as i32, pos as i64) }
-     {
-         -1 => return Err(io::Error::last_os_error()),
-         n => n,
-diff --git a/src/thin/trim.rs b/src/thin/trim.rs
-index 3d938ca..91a53dd 100644
---- a/src/thin/trim.rs
-+++ b/src/thin/trim.rs
-@@ -135,7 +135,7 @@ impl<'a> Iterator for RangeIterator<'a> {
- const BLKDISCARD: u32 = 0x1277;
- fn ioctl_blkdiscard(fd: i32, range: &[u64; 2]) -> std::io::Result<()> {
-     unsafe {
--        if libc::ioctl(fd, BLKDISCARD as libc::c_ulong, range) == 0 {
-+        if libc::ioctl(fd, BLKDISCARD as libc::c_int, range) == 0 {
-             Ok(())
-         } else {
-             Err(std::io::Error::last_os_error())
--- 
-2.41.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.9.bb b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.9.bb
index b643ad6..b79fdb1 100644
--- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.9.bb
@@ -10,7 +10,6 @@
 SRC_URI = " \
     git://github.com/jthornber/thin-provisioning-tools;branch=main;protocol=https \
     "
-SRC_URI:append:libc-musl = " file://0001-Replace-LFS-functions.patch"
 
 SRCREV = "1d60839b0a920df6476712b80f933854fb32e160"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.4.0.bb
similarity index 62%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.4.0.bb
index 6b9f704..a48e1cf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-apispec_6.4.0.bb
@@ -1,10 +1,10 @@
 SUMMARY = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)."
 HOMEPAGE = "https://github.com/marshmallow-code/apispec"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=824d596e050c0d5e3361efb438425945"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d9c303644a2e62578f0347748a80358"
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b38e4479916d43f2b1e88ce15fc2fae93adf2e8d55cb59ec74ac66a827941483"
+SRC_URI[sha256sum] = "42b8a6833cf154c9dbd22d006b56bf9c49c972d32d24fe716fd734e0f6b739b8"
 
 RDEPENDS:${PN} += "python3-packaging"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.2.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.2.bb
index f88a3ac..9dad138 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.8.2.bb
@@ -17,4 +17,4 @@
 	python3-asyncio \
 "
 
-SRC_URI[sha256sum] = "fadc39c66348f96476d8dc2d7aaee7ea0a39d96e333217f5321300677b980121"
+SRC_URI[sha256sum] = "f8609e3afdda318fdc336b4ba2de8dd397bb8f9b8a1b43e56c27330e32c2e34c"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.6.0.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.6.0.bb
index 683d847..77e6565 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.5.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.6.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3d7bdfe69b1ffbde073ca6e96f5c53f7"
 
-SRC_URI[sha256sum] = "1b5f10eca7765cc385e1430eefc5ced6e2e463bb18d1365510e2e539c1a6fe4e"
+SRC_URI[sha256sum] = "ae72889e60db6acbb3872c288cfa02ed157f4c27630fcd7f9c8442302c31e478"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.112.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.113.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.112.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.113.0.bb
index b1614b8..4e6bb7d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.112.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.113.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "c3bcb5fd70d57f4c94b30c0dbeade53c216febfbf1d771eeb1a2fa74bd0d6756"
+SRC_URI[sha256sum] = "bcffbc8ffbad631f699cf85aa91993f3dc03060b234ca9e6e2f9135028bd9b52"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.2.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.2.bb
index 1a4913b..9bd0926 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.26.2.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "54385acca5c0fbdda510cd8585ba6f3fcb06eeecf8a6ecca39d3ee148b092590"
+SRC_URI[sha256sum] = "97327dbbf58cccb58fc5a1712bba403ae76668e64814eb30f7316f7e27126b81"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.2.bb
similarity index 69%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.2.bb
index f0ca630..c08aec5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.20.2.bb
@@ -3,16 +3,12 @@
 HOMEPAGE = "https://github.com/marshmallow-code/marshmallow"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "\
-                    file://LICENSE;md5=5bccd400dedfa74364481e56aacc0b4a \
+                    file://LICENSE;md5=653847350fed2e0e7b02791a35b98d59 \
                     file://docs/license.rst;md5=13da439ad060419fb7cf364523017cfb"
 
-SRC_URI = "git://github.com/marshmallow-code/marshmallow.git;protocol=https;branch=dev"
+SRC_URI[sha256sum] = "4c1daff273513dc5eb24b219a8035559dc573c8f322558ef85f5438ddd1236dd"
 
-SRCREV = "dda9a8014dfe1bcb35e21307cfd5a8e19615a284"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools3
+inherit setuptools3 pypi
 
 PIP_INSTALL_PACKAGE = "marshmallow"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.2.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.2.bb
index 3c770e4..5333d30 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.25.2.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d"
 
 inherit pypi setuptools3
-SRC_URI[sha256sum] = "57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"
+SRC_URI[sha256sum] = "fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e"
 
 # http://errors.yoctoproject.org/Errors/Details/184715/
 # Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.11.0.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.11.0.bb
index 68168bb..72471e9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.11.0.bb
@@ -9,7 +9,7 @@
 
 PYPI_PACKAGE = "python-socketio"
 
-SRC_URI[sha256sum] = "01c616946fa9f67ed5cc3d1568e1c4940acfc64aeeb9ff621a53e80cabeb748a"
+SRC_URI[sha256sum] = "b03186e04b942088781f6286c13604a853e5e35ed59158c51ff7af22fa032e6f"
 
 PACKAGECONFIG ?= "asyncio_client client"
 PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.14.0.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.13.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.14.0.bb
index 0f0682f..177c6fc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.13.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.14.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
 
-SRC_URI[sha256sum] = "769ab3cfffea69c6b495c63a1aecdb522651c0304260fc25467a886d0be622e2"
+SRC_URI[sha256sum] = "a3726289da9eff2ce30f9b1b49ec59e9245216f7aecbfa2007f73dbe94999717"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb
index 02e4ef9..e4d8b7b 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.19.0.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 DEPENDS = "libxml-parser-perl-native exo gdk-pixbuf libxfce4ui libnotify xfce4-panel udev"
 
-inherit xfce gobject-introspection features_check mime-xdg perlnative
+inherit xfce gobject-introspection features_check mime-xdg perlnative gtk-doc
 
 # xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
 # cairo would at least needed to be built with xlib.
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index d30b688..7581d00 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -314,6 +314,16 @@
     def eval(self, data):
         bb.parse.BBHandler.inherit(self.classes, self.filename, self.lineno, data)
 
+class InheritDeferredNode(AstNode):
+    def __init__(self, filename, lineno, classes):
+        AstNode.__init__(self, filename, lineno)
+        self.inherit = (classes, filename, lineno)
+
+    def eval(self, data):
+        inherits = data.getVar('__BBDEFINHERITS', False) or []
+        inherits.append(self.inherit)
+        data.setVar('__BBDEFINHERITS', inherits)
+
 def handleInclude(statements, filename, lineno, m, force):
     statements.append(IncludeNode(filename, lineno, m.group(1), force))
 
@@ -364,6 +374,10 @@
     classes = m.group(1)
     statements.append(InheritNode(filename, lineno, classes))
 
+def handleInheritDeferred(statements, filename, lineno, m):
+    classes = m.group(1)
+    statements.append(InheritDeferredNode(filename, lineno, classes))
+
 def runAnonFuncs(d):
     code = []
     for funcname in d.getVar("__BBANONFUNCS", False) or []:
@@ -430,6 +444,14 @@
         logger.debug("Appending .bbappend file %s to %s", append, fn)
         bb.parse.BBHandler.handle(append, d, True)
 
+    while True:
+        inherits = d.getVar('__BBDEFINHERITS', False) or []
+        if not inherits:
+            break
+        inherit, filename, lineno = inherits.pop(0)
+        d.setVar('__BBDEFINHERITS', inherits)
+        bb.parse.BBHandler.inherit(inherit, filename, lineno, d, deferred=True)
+
     onlyfinalise = d.getVar("__ONLYFINALISE", False)
 
     safe_d = d
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 4d5b45e..cd1c998 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -21,6 +21,7 @@
 
 __func_start_regexp__    = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>fakeroot(?=\s)))\s*)*(?P<func>[\w\.\-\+\{\}\$:]+)?\s*\(\s*\)\s*{$" )
 __inherit_regexp__       = re.compile(r"inherit\s+(.+)" )
+__inherit_def_regexp__   = re.compile(r"inherit_defer\s+(.+)" )
 __export_func_regexp__   = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" )
 __addtask_regexp__       = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*")
 __deltask_regexp__       = re.compile(r"deltask\s+(.+)")
@@ -40,8 +41,10 @@
     """Return True if fn has a supported extension"""
     return os.path.splitext(fn)[-1] in [".bb", ".bbclass", ".inc"]
 
-def inherit(files, fn, lineno, d):
+def inherit(files, fn, lineno, d, deferred=False):
     __inherit_cache = d.getVar('__inherit_cache', False) or []
+    #if "${" in files and not deferred:
+    #    bb.warn("%s:%s has non deferred conditional inherit" % (fn, lineno))
     files = d.expand(files).split()
     for file in files:
         classtype = d.getVar("__bbclasstype", False)
@@ -265,6 +268,11 @@
         ast.handleInherit(statements, fn, lineno, m)
         return
 
+    m = __inherit_def_regexp__.match(s)
+    if m:
+        ast.handleInheritDeferred(statements, fn, lineno, m)
+        return
+
     return ConfHandler.feeder(lineno, s, fn, statements, conffile=False)
 
 # Add us to the handlers list
diff --git a/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb b/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb
index 50cba95..88c8998 100644
--- a/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb
+++ b/poky/meta-selftest/recipes-test/overlayfs-user/overlayfs-user.bb
@@ -5,7 +5,7 @@
 INHIBIT_DEFAULT_DEPS = "1"
 EXCLUDE_FROM_WORLD = "1"
 
-inherit ${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs", "", d)}
+inherit_defer ${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs", "", d)}
 include test_recipe.inc
 
 OVERLAYFS_WRITABLE_PATHS[mnt-overlay] += "/usr/share/my-application"
diff --git a/poky/meta/classes-global/insane.bbclass b/poky/meta/classes-global/insane.bbclass
index d625fd8..828f618 100644
--- a/poky/meta/classes-global/insane.bbclass
+++ b/poky/meta/classes-global/insane.bbclass
@@ -514,9 +514,9 @@
     """
     Check that ELF files do not use any 32 bit time APIs from glibc.
     """
-    thirtytwo_bit_time_archs = set(('arm','armeb','mipsarcho32','powerpc','x86'))
+    thirtytwo_bit_time_archs = {'arm','armeb','mipsarcho32','powerpc','x86'}
     overrides = set(d.getVar('OVERRIDES').split(':'))
-    if not(thirtytwo_bit_time_archs & overrides):
+    if not (thirtytwo_bit_time_archs & overrides):
         return
 
     import re
@@ -534,6 +534,7 @@
         # /usr/include/signal.h
         "sigtimedwait",
         # /usr/include/sys/time.h
+        "adjtime",
         "futimes", "futimesat", "getitimer", "gettimeofday", "lutimes",
         "setitimer", "settimeofday", "utimes",
         # /usr/include/sys/timex.h
@@ -1570,7 +1571,7 @@
 
 python () {
     import re
-    
+
     tests = d.getVar('ALL_QA').split()
     if "desktop" in tests:
         d.appendVar("PACKAGE_DEPENDS", " desktop-file-utils-native")
@@ -1606,6 +1607,12 @@
     if (d.getVar(d.expand('DEPENDS:${PN}'))):
         oe.qa.handle_error("pkgvarcheck", "recipe uses DEPENDS:${PN}, should use DEPENDS", d)
 
+    # virtual/ is meaningless for those variables
+    for k in ['RDEPENDS', 'RPROVIDES']:
+        for var in bb.utils.explode_deps(d.getVar(k + ':' + pn) or ""):
+            if var.startswith("virtual/"):
+                bb.warn("%s is set to %s, the substring 'virtual/' holds no meaning in this context. It is suggested to use the 'virtual-' instead." % (k, var))
+
     issues = []
     if (d.getVar('PACKAGES') or "").split():
         for dep in (d.getVar('QADEPENDS') or "").split():
diff --git a/poky/meta/classes-recipe/allarch.bbclass b/poky/meta/classes-recipe/allarch.bbclass
index 9138f40..e429b92 100644
--- a/poky/meta/classes-recipe/allarch.bbclass
+++ b/poky/meta/classes-recipe/allarch.bbclass
@@ -63,9 +63,9 @@
         d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS")
         d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS")
         d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs")
+
+        d.setVar("qemu_wrapper_cmdline", "def qemu_wrapper_cmdline(data, rootfs_path, library_paths):\n    return 'false'")
     elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d):
         bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE"))
 }
 
-def qemu_wrapper_cmdline(data, rootfs_path, library_paths):
-    return 'false'
diff --git a/poky/meta/classes-recipe/baremetal-image.bbclass b/poky/meta/classes-recipe/baremetal-image.bbclass
index 70791f9..b9a5843 100644
--- a/poky/meta/classes-recipe/baremetal-image.bbclass
+++ b/poky/meta/classes-recipe/baremetal-image.bbclass
@@ -110,7 +110,7 @@
 # Handle inherits of any of the image classes we need
 IMAGE_CLASSES ??= ""
 IMGCLASSES = " ${IMAGE_CLASSES}"
-inherit ${IMGCLASSES}
+inherit_defer ${IMGCLASSES}
 # Set defaults to satisfy IMAGE_FEATURES check
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
diff --git a/poky/meta/classes-recipe/gnomebase.bbclass b/poky/meta/classes-recipe/gnomebase.bbclass
index a12e9f3..7407332 100644
--- a/poky/meta/classes-recipe/gnomebase.bbclass
+++ b/poky/meta/classes-recipe/gnomebase.bbclass
@@ -28,7 +28,8 @@
 FILES:${PN}-doc += "${datadir}/devhelp"
 
 GNOMEBASEBUILDCLASS ??= "meson"
-inherit ${GNOMEBASEBUILDCLASS} pkgconfig
+inherit pkgconfig
+inherit_defer ${GNOMEBASEBUILDCLASS}
 
 do_install:append() {
 	rm -rf ${D}${localstatedir}/lib/scrollkeeper/*
diff --git a/poky/meta/classes-recipe/gobject-introspection-data.bbclass b/poky/meta/classes-recipe/gobject-introspection-data.bbclass
index 7f522a1..aa04c70 100644
--- a/poky/meta/classes-recipe/gobject-introspection-data.bbclass
+++ b/poky/meta/classes-recipe/gobject-introspection-data.bbclass
@@ -11,8 +11,3 @@
 # so that qemu use can be avoided when necessary.
 GI_DATA_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', \
                       bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
-
-do_compile:prepend() {
-    # This prevents g-ir-scanner from writing cache data to $HOME
-    export GI_SCANNER_DISABLE_CACHE=1
-}
diff --git a/poky/meta/classes-recipe/gobject-introspection.bbclass b/poky/meta/classes-recipe/gobject-introspection.bbclass
index 65c67dd..d0052cd 100644
--- a/poky/meta/classes-recipe/gobject-introspection.bbclass
+++ b/poky/meta/classes-recipe/gobject-introspection.bbclass
@@ -50,6 +50,11 @@
     cp ${STAGING_DIR_NATIVE}/${datadir}/aclocal/introspection.m4 ${S}/m4
 }
 
+do_compile:prepend() {
+    # This prevents g-ir-scanner from writing cache data to $HOME
+    export GI_SCANNER_DISABLE_CACHE=1
+}
+
 # .typelib files are needed at runtime and so they go to the main package (so
 # they'll be together with libraries they support).
 FILES:${PN}:append = " ${libdir}/girepository-*/*.typelib" 
diff --git a/poky/meta/classes-recipe/image.bbclass b/poky/meta/classes-recipe/image.bbclass
index 7231fad..28be6c6 100644
--- a/poky/meta/classes-recipe/image.bbclass
+++ b/poky/meta/classes-recipe/image.bbclass
@@ -14,14 +14,15 @@
 IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
 # Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk_base
 # in the non-Linux SDK_OS case, such as mingw32
-IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
+inherit populate_sdk_base
+IMGCLASSES += "${@['', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
 IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
 IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
 IMGCLASSES += "image_types_wic"
 IMGCLASSES += "rootfs-postcommands"
 IMGCLASSES += "image-postinst-intercepts"
 IMGCLASSES += "overlayfs-etc"
-inherit ${IMGCLASSES}
+inherit_defer ${IMGCLASSES}
 
 TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
 TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
@@ -609,7 +610,7 @@
             bb.note("Skipping symlink, source does not exist: %s -> %s" % (dst, src))
 }
 
-MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|${sysconfdir}|${nonarch_base_libdir}/udev|/lib/modules/[^/]*/modules.*|"
+MULTILIBRE_ALLOW_REP += "${base_bindir} ${base_sbindir} ${bindir} ${sbindir} ${libexecdir} ${sysconfdir} ${nonarch_base_libdir}/udev /lib/modules/[^/]*/modules.*"
 MULTILIB_CHECK_FILE = "${WORKDIR}/multilib_check.py"
 MULTILIB_TEMP_ROOTFS = "${WORKDIR}/multilib"
 
diff --git a/poky/meta/classes-recipe/image_types_wic.bbclass b/poky/meta/classes-recipe/image_types_wic.bbclass
index 669606d..00620fd 100644
--- a/poky/meta/classes-recipe/image_types_wic.bbclass
+++ b/poky/meta/classes-recipe/image_types_wic.bbclass
@@ -38,7 +38,7 @@
 	TARGET_SYS \
 "
 
-inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
+inherit_defer ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
 
 WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
 WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index 9ff37f5..a76aaee 100644
--- a/poky/meta/classes-recipe/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -171,7 +171,7 @@
 # image types.
 
 KERNEL_CLASSES ?= " kernel-uimage "
-inherit ${KERNEL_CLASSES}
+inherit_defer ${KERNEL_CLASSES}
 
 # Old style kernels may set ${S} = ${WORKDIR}/git for example
 # We need to move these over to STAGING_KERNEL_DIR. We can't just
diff --git a/poky/meta/classes-recipe/live-vm-common.bbclass b/poky/meta/classes-recipe/live-vm-common.bbclass
index b619f3a..d90cc67 100644
--- a/poky/meta/classes-recipe/live-vm-common.bbclass
+++ b/poky/meta/classes-recipe/live-vm-common.bbclass
@@ -68,8 +68,8 @@
 	efi_populate $1
 }
 
-inherit ${EFI_CLASS}
-inherit ${PCBIOS_CLASS}
+inherit_defer ${EFI_CLASS}
+inherit_defer ${PCBIOS_CLASS}
 
 populate_kernel() {
 	dest=$1
diff --git a/poky/meta/classes-recipe/packagegroup.bbclass b/poky/meta/classes-recipe/packagegroup.bbclass
index c2db664..cf6fc35 100644
--- a/poky/meta/classes-recipe/packagegroup.bbclass
+++ b/poky/meta/classes-recipe/packagegroup.bbclass
@@ -22,7 +22,7 @@
 
 LICENSE ?= "MIT"
 
-inherit ${@oe.utils.ifelse(d.getVar('PACKAGE_ARCH_EXPANDED') == 'all', 'allarch', '')}
+inherit_defer ${@oe.utils.ifelse(d.getVar('PACKAGE_ARCH_EXPANDED') == 'all', 'allarch', '')}
 
 # This automatically adds -dbg and -dev flavours of all PACKAGES
 # to the list. Their dependencies (RRECOMMENDS) are handled as usual
diff --git a/poky/meta/classes-recipe/populate_sdk_base.bbclass b/poky/meta/classes-recipe/populate_sdk_base.bbclass
index 8fadfef..81896d8 100644
--- a/poky/meta/classes-recipe/populate_sdk_base.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_base.bbclass
@@ -37,7 +37,7 @@
 # List of locales to install, or "all" for all of them, or unset for none.
 SDKIMAGE_LINGUAS ?= "all"
 
-inherit rootfs_${IMAGE_PKGTYPE}
+inherit_defer rootfs_${IMAGE_PKGTYPE}
 
 SDK_DIR = "${WORKDIR}/sdk"
 SDK_OUTPUT = "${SDK_DIR}/image"
diff --git a/poky/meta/classes-recipe/python3-dir.bbclass b/poky/meta/classes-recipe/python3-dir.bbclass
index d93d337..3d07de9 100644
--- a/poky/meta/classes-recipe/python3-dir.bbclass
+++ b/poky/meta/classes-recipe/python3-dir.bbclass
@@ -4,7 +4,7 @@
 # SPDX-License-Identifier: MIT
 #
 
-PYTHON_BASEVERSION = "3.11"
+PYTHON_BASEVERSION = "3.12"
 PYTHON_ABI = ""
 PYTHON_DIR = "python${PYTHON_BASEVERSION}"
 PYTHON_PN = "python3"
diff --git a/poky/meta/classes-recipe/rootfs-postcommands.bbclass b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
index 29ee749..163c7f4 100644
--- a/poky/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -55,19 +55,14 @@
 # deterministic. Package installs are not deterministic, causing the ordering
 # of entries to change between builds. In case that this isn't desired,
 # the command can be overridden.
+SORT_PASSWD_POSTPROCESS_COMMAND ??= "tidy_shadowutils_files"
+ROOTFS_POSTPROCESS_COMMAND += '${SORT_PASSWD_POSTPROCESS_COMMAND}'
+
 #
 # Note that useradd-staticids.bbclass has to be used to ensure that
 # the numeric IDs of dynamically created entries remain stable.
 #
-# We want this to run as late as possible, in particular after
-# systemd_sysusers_create and set_user_group. Using :append is not
-# enough for that, set_user_group is added that way and would end
-# up running after us.
-SORT_PASSWD_POSTPROCESS_COMMAND ??= "tidy_shadowutils_files"
-python () {
-    d.appendVar('ROOTFS_POSTPROCESS_COMMAND', ' ${SORT_PASSWD_POSTPROCESS_COMMAND}')
-    d.appendVar('ROOTFS_POSTPROCESS_COMMAND', ' rootfs_reproducible')
-}
+ROOTFS_POSTPROCESS_COMMAND += 'rootfs_reproducible'
 
 # Resolve the ID as described in the sysusers.d(5) manual: ID can be a numeric
 # uid, a couple uid:gid or uid:groupname or it is '-' meaning leaving it
diff --git a/poky/meta/classes-recipe/rootfs_ipk.bbclass b/poky/meta/classes-recipe/rootfs_ipk.bbclass
index a48ad07..87fff53 100644
--- a/poky/meta/classes-recipe/rootfs_ipk.bbclass
+++ b/poky/meta/classes-recipe/rootfs_ipk.bbclass
@@ -29,7 +29,7 @@
 
 OPKGLIBDIR ??= "${localstatedir}/lib"
 
-MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg|/usr/lib/opkg"
+MULTILIBRE_ALLOW_REP += "${OPKGLIBDIR}/opkg /usr/lib/opkg"
 
 python () {
 
diff --git a/poky/meta/classes-recipe/siteinfo.bbclass b/poky/meta/classes-recipe/siteinfo.bbclass
index 05253ae..68aefb8 100644
--- a/poky/meta/classes-recipe/siteinfo.bbclass
+++ b/poky/meta/classes-recipe/siteinfo.bbclass
@@ -73,6 +73,8 @@
     osinfo = {
         "darwin": "common-darwin",
         "darwin9": "common-darwin",
+        "darwin19": "common-darwin",
+        "darwin21": "common-darwin",
         "linux": "common-linux common-glibc",
         "linux-gnu": "common-linux common-glibc",
         "linux-gnu_ilp32": "common-linux common-glibc",
@@ -130,6 +132,8 @@
         "x86_64-cygwin": "bit-64",
         "x86_64-darwin": "bit-64",
         "x86_64-darwin9": "bit-64",
+        "x86_64-darwin19": "bit-64",
+        "x86_64-darwin21": "bit-64",
         "x86_64-linux": "bit-64",
         "x86_64-linux-musl": "x86_64-linux bit-64",
         "x86_64-linux-muslx32": "bit-32 ix86-common x32-linux",
diff --git a/poky/meta/classes/chrpath.bbclass b/poky/meta/classes/chrpath.bbclass
index 1aecb4d..16729dc 100644
--- a/poky/meta/classes/chrpath.bbclass
+++ b/poky/meta/classes/chrpath.bbclass
@@ -62,7 +62,7 @@
 def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d, break_hardlinks = False):
     import subprocess as sub
 
-    p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
+    p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', fpath],stdout=sub.PIPE,stderr=sub.PIPE, text=True)
     out, err = p.communicate()
     # If returned successfully, process stdout for results
     if p.returncode != 0:
diff --git a/poky/meta/classes/go-vendor.bbclass b/poky/meta/classes/go-vendor.bbclass
index 2426bdd..1bbb99a 100644
--- a/poky/meta/classes/go-vendor.bbclass
+++ b/poky/meta/classes/go-vendor.bbclass
@@ -48,7 +48,7 @@
     os.unlink(linkname)
 }
 
-addtask vendor_unlink before do_install after do_compile
+addtask vendor_unlink before do_package after do_install
 
 python do_go_vendor() {
     import shutil
@@ -103,18 +103,17 @@
         pathMajor = fetcher.ud[url].parm.get('go_pathmajor')
         pathMajor = None if not pathMajor else pathMajor.strip('/')
 
-        if not repo in modules:
-            modules[repo] =   { "version": version,
+        if not (repo, version) in modules:
+            modules[(repo, version)] =   {
                                 "repo_path": os.path.join(import_dir, p),
                                 "module_path": module_path,
                                 "subdir": subdir,
                                 "pathMajor": pathMajor }
 
-    for module_key in sorted(modules):
+    for module_key, module in modules.items():
 
         # only take the version which is explicitly listed
         # as a dependency in the go.mod
-        module = modules[module_key]
         module_path = module['module_path']
         rootdir = module['repo_path']
         subdir = module['subdir']
@@ -139,7 +138,7 @@
         dst = os.path.join(vendor_dir, module_path)
 
         bb.debug(1, "cp %s --> %s" % (src, dst))
-        shutil.copytree(src, dst, symlinks=True, \
+        shutil.copytree(src, dst, symlinks=True, dirs_exist_ok=True, \
             ignore=shutil.ignore_patterns(".git", \
                                             "vendor", \
                                             "*._test.go"))
@@ -169,6 +168,7 @@
     fetched_paths.remove('.')
 
     vendored_paths = set()
+    replaced_paths = dict()
     with open(modules_txt_src) as f:
         for line in f:
             if not line.startswith("#"):
@@ -182,6 +182,15 @@
                         vendored_paths.add(topdir)
 
                     topdir = os.path.dirname(topdir)
+            else:
+                replaced_module = line.split("=>")
+                if len(replaced_module) > 1:
+                    # This module has been replaced, use a local path
+                    # we parse the line that has a pattern "# module-name [module-version] => local-path
+                    actual_path = replaced_module[1].strip()
+                    vendored_name = replaced_module[0].split()[1]
+                    bb.debug(1, "added vendored name %s for actual path %s" % (vendored_name, actual_path))
+                    replaced_paths[vendored_name] = actual_path
 
     for path in fetched_paths:
         if path not in vendored_paths:
@@ -189,7 +198,13 @@
             if os.path.exists(realpath):
                 shutil.rmtree(realpath)
 
-    # Create a symlink the the actual directory
+    for vendored_name, replaced_path in replaced_paths.items():
+        symlink_target = os.path.join(source_dir, *['src', go_import, replaced_path])
+        symlink_name = os.path.join(vendor_dir, vendored_name)
+        bb.debug(1, "vendored name %s, symlink name %s" % (vendored_name, symlink_name))
+        os.symlink(symlink_target, symlink_name)
+
+    # Create a symlink to the actual directory
     os.symlink(vendor_dir, linkname)
 }
 
diff --git a/poky/meta/classes/useradd.bbclass b/poky/meta/classes/useradd.bbclass
index 0997b3d..cb809b5 100644
--- a/poky/meta/classes/useradd.bbclass
+++ b/poky/meta/classes/useradd.bbclass
@@ -268,4 +268,4 @@
 # Use the following to extend the useradd with custom functions
 USERADDEXTENSION ?= ""
 
-inherit ${USERADDEXTENSION}
+inherit_defer ${USERADDEXTENSION}
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index 9a465ea..702d840 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -1615,7 +1615,7 @@
                     sonames.add(prov)
         if file.endswith('.dylib') or file.endswith('.so'):
             rpath = []
-            p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-l', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+            p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-l', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
             out, err = p.communicate()
             # If returned successfully, process stdout for results
             if p.returncode == 0:
@@ -1624,7 +1624,7 @@
                     if l.startswith('path '):
                         rpath.append(l.split()[1])
 
-        p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
         out, err = p.communicate()
         # If returned successfully, process stdout for results
         if p.returncode == 0:
@@ -1686,7 +1686,7 @@
                 soname = None
                 if cpath.islink(file):
                     continue
-                if hostos == "darwin" or hostos == "darwin8":
+                if hostos.startswith("darwin"):
                     darwin_so(file, needed, sonames, renames, pkgver)
                 elif hostos.startswith("mingw"):
                     mingw_dll(file, needed, sonames, renames, pkgver)
diff --git a/poky/meta/lib/oe/package_manager/ipk/rootfs.py b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
index 1f74f7e..ba93eb6 100644
--- a/poky/meta/lib/oe/package_manager/ipk/rootfs.py
+++ b/poky/meta/lib/oe/package_manager/ipk/rootfs.py
@@ -165,7 +165,7 @@
     """
     def _multilib_sanity_test(self, dirs):
 
-        allow_replace = self.d.getVar("MULTILIBRE_ALLOW_REP")
+        allow_replace = "|".join((self.d.getVar("MULTILIBRE_ALLOW_REP") or "").split())
         if allow_replace is None:
             allow_replace = ""
 
diff --git a/poky/meta/lib/oe/reproducible.py b/poky/meta/lib/oe/reproducible.py
index 9ac75c0..448befc 100644
--- a/poky/meta/lib/oe/reproducible.py
+++ b/poky/meta/lib/oe/reproducible.py
@@ -131,6 +131,9 @@
         files = [f for f in files if not f[0] == '.']
 
         for fname in files:
+            if fname == "singletask.lock":
+                 # Ignore externalsrc/devtool lockfile [YOCTO #14921]
+                 continue
             filename = os.path.join(root, fname)
             try:
                 mtime = int(os.lstat(filename).st_mtime)
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 3f27164..8cd48f9 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -194,6 +194,18 @@
         post_process_cmds = self.d.getVar("ROOTFS_POSTPROCESS_COMMAND")
         rootfs_post_install_cmds = self.d.getVar('ROOTFS_POSTINSTALL_COMMAND')
 
+        def make_last(command, commands):
+            commands = commands.split()
+            if command in commands:
+                commands.remove(command)
+                commands.append(command)
+            return "".join(commands)
+
+        # We want this to run as late as possible, in particular after
+        # systemd_sysusers_create and set_user_group. Using :append is not enough
+        make_last("tidy_shadowutils_files", post_process_cmds)
+        make_last("rootfs_reproducible", post_process_cmds)
+
         execute_pre_post_process(self.d, pre_process_cmds)
 
         if self.progress_reporter:
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index df15c80..0c29687 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -744,27 +744,14 @@
     def test_recipetool_create_git_srcbranch(self):
         self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;protocol=https', 'matchbox-keyboard-0-1')
 
-
-class RecipetoolTests(RecipetoolBase):
-
-    @classmethod
-    def setUpClass(cls):
-        import sys
-
-        super(RecipetoolTests, cls).setUpClass()
-        bb_vars = get_bb_vars(['BBPATH'])
-        cls.bbpath = bb_vars['BBPATH']
-        libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'recipetool')
-        sys.path.insert(0, libpath)
+    def _go_urifiy(self, url, version, modulepath = None, pathmajor = None, subdir = None):
+        modulepath = ",path='%s'" % modulepath if len(modulepath) else ''
+        pathmajor = ",pathmajor='%s'" % pathmajor if len(pathmajor) else ''
+        subdir = ",subdir='%s'" % subdir if len(subdir) else ''
+        return "${@go_src_uri('%s','%s'%s%s%s)}" % (url, version, modulepath, pathmajor, subdir)
 
     def test_recipetool_create_go(self):
         # Basic test to check go recipe generation
-        def urifiy(url, version, modulepath = None, pathmajor = None, subdir = None):
-            modulepath = ",path='%s'" % modulepath if len(modulepath) else ''
-            pathmajor = ",pathmajor='%s'" % pathmajor if len(pathmajor) else ''
-            subdir = ",subdir='%s'" % subdir if len(subdir) else ''
-            return "${@go_src_uri('%s','%s'%s%s%s)}" % (url, version, modulepath, pathmajor, subdir)
-
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
 
@@ -932,7 +919,7 @@
 
         src_uri = set()
         for d in dependencies:
-            src_uri.add(urifiy(*d))
+            src_uri.add(self._go_urifiy(*d))
 
         checkvars = {}
         checkvars['GO_DEPENDENCIES_SRC_URI'] = src_uri
@@ -940,7 +927,73 @@
         self.assertTrue(os.path.isfile(deps_require_file))
         self._test_recipe_contents(deps_require_file, checkvars, [])
 
+    def test_recipetool_create_go_replace_modules(self):
+        # Check handling of replaced modules
+        temprecipe = os.path.join(self.tempdir, 'recipe')
+        os.makedirs(temprecipe)
 
+        recipefile = os.path.join(temprecipe, 'openapi-generator_git.bb')
+        deps_require_file = os.path.join(temprecipe, 'openapi-generator', 'go-modules.inc')
+        lics_require_file = os.path.join(temprecipe, 'openapi-generator', 'go-licenses.inc')
+        modules_txt_file = os.path.join(temprecipe, 'openapi-generator', 'modules.txt')
+
+        srcuri = 'https://github.com/OpenAPITools/openapi-generator.git'
+        srcrev = "v7.2.0"
+        srcbranch = "master"
+        srcsubdir = "samples/openapi3/client/petstore/go"
+
+        result = runCmd('recipetool create -o %s %s -S %s -B %s --src-subdir %s' % (temprecipe, srcuri, srcrev, srcbranch, srcsubdir))
+
+        self.maxDiff = None
+        inherits = ['go-vendor']
+
+        checkvars = {}
+        checkvars['GO_IMPORT'] = "github.com/OpenAPITools/openapi-generator/samples/openapi3/client/petstore/go"
+        checkvars['SRC_URI'] = {'git://${GO_IMPORT};destsuffix=git/src/${GO_IMPORT};nobranch=1;name=${BPN};protocol=https',
+                                'file://modules.txt'}
+
+        self.assertNotIn('Traceback', result.output)
+        self.assertIn('No license file was detected for the main module', result.output)
+        self.assertTrue(os.path.isfile(recipefile))
+        self._test_recipe_contents(recipefile, checkvars, inherits)
+
+        # make sure that dependencies don't mention local directory ./go-petstore
+        dependencies = \
+            [   ('github.com/stretchr/testify','v1.8.4', '', '', ''),
+                ('go.googlesource.com/oauth2','v0.10.0','golang.org/x/oauth2', '', ''),
+                ('github.com/davecgh/go-spew','v1.1.1', '', '', ''),
+                ('github.com/golang/protobuf','v1.5.3', '', '', ''),
+                ('github.com/kr/pretty','v0.3.0', '', '', ''),
+                ('github.com/pmezard/go-difflib','v1.0.0', '', '', ''),
+                ('github.com/rogpeppe/go-internal','v1.9.0', '', '', ''),
+                ('go.googlesource.com/net','v0.12.0','golang.org/x/net', '', ''),
+                ('github.com/golang/appengine','v1.6.7','google.golang.org/appengine', '', ''),
+                ('go.googlesource.com/protobuf','v1.31.0','google.golang.org/protobuf', '', ''),
+                ('gopkg.in/check.v1','v1.0.0-20201130134442-10cb98267c6c', '', '', ''),
+                ('gopkg.in/yaml.v3','v3.0.1', '', '', ''),
+            ]
+
+        src_uri = set()
+        for d in dependencies:
+            src_uri.add(self._go_urifiy(*d))
+
+        checkvars = {}
+        checkvars['GO_DEPENDENCIES_SRC_URI'] = src_uri
+
+        self.assertTrue(os.path.isfile(deps_require_file))
+        self._test_recipe_contents(deps_require_file, checkvars, [])
+
+class RecipetoolTests(RecipetoolBase):
+
+    @classmethod
+    def setUpClass(cls):
+        import sys
+
+        super(RecipetoolTests, cls).setUpClass()
+        bb_vars = get_bb_vars(['BBPATH'])
+        cls.bbpath = bb_vars['BBPATH']
+        libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'recipetool')
+        sys.path.insert(0, libpath)
 
     def _copy_file_with_cleanup(self, srcfile, basedstdir, *paths):
         dstdir = basedstdir
diff --git a/poky/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
index f1abd17..38d07ca 100644
--- a/poky/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/poky/meta/recipes-connectivity/bind/bind/bind-ensure-searching-for-json-headers-searches-sysr.patch
@@ -1,4 +1,4 @@
-From 246087f89e9434b726c7884e4c0964f71084f091 Mon Sep 17 00:00:00 2001
+From 5ae30329f168c1e8d2e0c3831988a4f3e9096e39 Mon Sep 17 00:00:00 2001
 From: Paul Gortmaker <paul.gortmaker@windriver.com>
 Date: Tue, 9 Jun 2015 11:22:00 -0400
 Subject: [PATCH] bind: ensure searching for json headers searches sysroot
@@ -33,10 +33,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 10e8bf6..bf20690 100644
+index 2ab8ddd..92fe983 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -814,7 +814,7 @@ AS_CASE([$with_lmdb],
+@@ -761,7 +761,7 @@ AS_CASE([$with_lmdb],
  	[no],[],
  	[auto|yes], [PKG_CHECK_MODULES([LMDB], [lmdb],
  				       [ac_lib_lmdb_found=yes],
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.20.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.21.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/bind/bind_9.18.20.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.21.bb
index 187685e..f5fb4bd 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.20.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.21.bb
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "4b891ebf58d3f2a7ac3dd2682990f528a3448eaa1c992ddc5c141b8587a98ec5"
+SRC_URI[sha256sum] = "a556be22505d9ea4f9c6717aee9c549739c68498aff3ca69035787ecc648fec5"
 
 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.6.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_6.6.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
index 417702e..640b301 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_6.6.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb
@@ -15,7 +15,7 @@
            file://0001-libc-compat.h-add-musl-workaround.patch \
            "
 
-SRC_URI[sha256sum] = "8738c804afd09f0bf756937f0c3de23117832a98d8cbbf50386cf5005cd613ce"
+SRC_URI[sha256sum] = "ff942dd9828d7d1f867f61fe72ce433078c31e5d8e4a78e20f02cb5892e8841d"
 
 inherit update-alternatives bash-completion pkgconfig
 
diff --git a/poky/meta/recipes-connectivity/iw/iw_5.19.bb b/poky/meta/recipes-connectivity/iw/iw_6.7.bb
similarity index 90%
rename from poky/meta/recipes-connectivity/iw/iw_5.19.bb
rename to poky/meta/recipes-connectivity/iw/iw_6.7.bb
index a19ae30..b46b54b 100644
--- a/poky/meta/recipes-connectivity/iw/iw_5.19.bb
+++ b/poky/meta/recipes-connectivity/iw/iw_6.7.bb
@@ -14,7 +14,7 @@
            file://separate-objdir.patch \
 "
 
-SRC_URI[sha256sum] = "2a44676d28a87bbc232903d5d573e7618e4fae0cea3a1aff067a26fa66652b75"
+SRC_URI[sha256sum] = "b3ef3fa85fa1177b11d3e97d6d38cdfe10ee250ca31482b581f3bd0fc79cb015"
 
 inherit pkgconfig
 
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_2.2.bb b/poky/meta/recipes-connectivity/ofono/ofono_2.3.bb
similarity index 95%
rename from poky/meta/recipes-connectivity/ofono/ofono_2.2.bb
rename to poky/meta/recipes-connectivity/ofono/ofono_2.3.bb
index 4e60f19..db5c817 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono_2.2.bb
+++ b/poky/meta/recipes-connectivity/ofono/ofono_2.3.bb
@@ -13,7 +13,7 @@
     file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
     file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \
 "
-SRC_URI[sha256sum] = "5e13121c0f885a81ad882db065549ea13477abbcc219f150b38a8d2ac92521de"
+SRC_URI[sha256sum] = "658f9c16aec09c56bd36424982afc6ef292c0942b3a9e8ffefdda5974f01dac3"
 
 inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
 
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0001-riscv-Fix-mispelling-of-extension-test-macro.patch b/poky/meta/recipes-connectivity/openssl/openssl/0001-riscv-Fix-mispelling-of-extension-test-macro.patch
new file mode 100644
index 0000000..1d217bd
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/0001-riscv-Fix-mispelling-of-extension-test-macro.patch
@@ -0,0 +1,31 @@
+From b51031b05f72923ff1cf3b6a4767450dee89d7f4 Mon Sep 17 00:00:00 2001
+From: Grant Nichol <me@grantnichol.com>
+Date: Fri, 22 Dec 2023 23:46:39 -0600
+Subject: [PATCH] riscv: Fix mispelling of extension test macro
+
+When refactoring the riscv extension test macros,
+RISCV_HAS_ZKND_AND_ZKNE was mispelled.
+
+CLA: trivial
+Upstream-Status: Backport [https://github.com/openssl/openssl/pull/23139]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ providers/implementations/ciphers/cipher_aes_xts_hw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/providers/implementations/ciphers/cipher_aes_xts_hw.c b/providers/implementations/ciphers/cipher_aes_xts_hw.c
+index 564d6d6..4cf1361 100644
+--- a/providers/implementations/ciphers/cipher_aes_xts_hw.c
++++ b/providers/implementations/ciphers/cipher_aes_xts_hw.c
+@@ -225,7 +225,7 @@ static const PROV_CIPHER_HW aes_xts_rv32i_zbkb_zknd_zkne = {                   \
+ # define PROV_CIPHER_HW_select_xts()                                           \
+ if (RISCV_HAS_ZBKB_AND_ZKND_AND_ZKNE())                                        \
+     return &aes_xts_rv32i_zbkb_zknd_zkne;                                      \
+-if (RISCV_HAS_ZKND_ZKNE())                                                     \
++if (RISCV_HAS_ZKND_AND_ZKNE())                                                 \
+     return &aes_xts_rv32i_zknd_zkne;
+ # else
+ /* The generic case */
+-- 
+2.43.0
+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
index d041d2d..cf08cdb 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
@@ -13,6 +13,7 @@
            file://0001-Configure-do-not-tweak-mips-cflags.patch \
            file://0001-Added-handshake-history-reporting-when-test-fails.patch \
            file://aarch64-bti.patch \
+           file://0001-riscv-Fix-mispelling-of-extension-test-macro.patch \
            "
 
 SRC_URI:append:class-nativesdk = " \
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index ae6fc51..5a57549 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -28,7 +28,7 @@
 
 LEAD_SONAME = "libglib-2.0.*"
 
-inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages
+inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 591e991..6e222df 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -26,7 +26,7 @@
 
 REQUIRED_DISTRO_FEATURES += "xattr"
 
-SRCREV ?= "490b94c3b530f88bf6d34b9e94aea28aaff87396"
+SRCREV ?= "cf69c6843fb62ab2ebee361f3d1a1141f1a6b01a"
 SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
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 0acf4cf..e617fcf 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
@@ -13,11 +13,14 @@
 
 iface atml0 inet dhcp
 
-# Wired or wireless interfaces
-auto eth0
+# Wired or wireless interfaces including predictable names
+auto /eth0
 iface eth0 inet dhcp
 iface eth1 inet dhcp
 
+auto /en*=eth
+iface eth inet dhcp
+
 # Ethernet/RNDIS gadget (g_ether)
 # ... or on host side, usbnet and random hwaddr
 iface usb0 inet static
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb b/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
index 319833f..44336c2 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
@@ -35,7 +35,7 @@
 
 inherit autotools pkgconfig binconfig-disabled ptest
 
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
+inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
 
 LDFLAGS:append:riscv64 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld ptest', ' -fuse-ld=bfd', '', d)}"
 
diff --git a/poky/meta/recipes-core/musl/musl.inc b/poky/meta/recipes-core/musl/musl.inc
index 66468e9..6ca52b1 100644
--- a/poky/meta/recipes-core/musl/musl.inc
+++ b/poky/meta/recipes-core/musl/musl.inc
@@ -25,6 +25,9 @@
 ARM_INSTRUCTION_SET:armv5 = "arm"
 ARM_INSTRUCTION_SET:armv4 = "arm"
 
+# 1.2.4 doesn't support riscv32
+COMPATIBLE_HOST:riscv32 = "null"
+
 # Enable out of tree build
 B = "${WORKDIR}/build"
 
diff --git a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index 11e31dc..c1d3c25 100644
--- a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -4,7 +4,8 @@
 
 SUMMARY = "Host packages for the standalone SDK or external toolchain"
 
-inherit packagegroup nativesdk
+inherit packagegroup
+inherit_defer nativesdk
 
 PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
 
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb
index 873d5e7..6455efd 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.5.3.bb
@@ -43,7 +43,7 @@
 PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi"
 
 inherit autotools-brokensep pkgconfig manpages
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)}
+inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)}
 
 CLEANBROKEN = "1"
 
diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
index a07df72..16bb10d 100644
--- a/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
+++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
@@ -15,6 +15,7 @@
            file://0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch \
            file://0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch \
            file://dont-depend-on-help2man.patch \
+           file://0003-libtool.m4-Cleanup-sysroot-trailing.patch \
            file://0006-libtool.m4-Handle-as-a-sysroot-correctly.patch \
            file://nohardcodepaths.patch \
            file://0007-libtool-Fix-support-for-NIOS2-processor.patch \
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
index 4c4d054..51c0c52 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
@@ -15,10 +15,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00010.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index 96b37003..3d5dcd0a 100644
+index a5f21a1..f884824 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -2378,8 +2378,14 @@ func_mode_install ()
+@@ -2381,8 +2381,14 @@ func_mode_install ()
  	func_append dir "$objdir"
  
  	if test -n "$relink_command"; then
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch
index 0285c14..c520833 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch
@@ -1,21 +1,26 @@
-From: Khem Raj <raj.khem@gmail.com>
-Subject: [PATCH] ltmain.in: Parse additional clang options
+ltmain.in: Parse additional clang options
 
-clang uses -rtlib and --unwindlib to select proper compiler runtime in
-some cases. There fore pass these options to linker when found in
+clang uses -rtlib and --unwindlib to select proper compiler
+runtime in some cases. Therefore pass these options to linker when found in
 ldflags
 
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+* build-aux/ltmain.in: Handle clang linker options
 
-Index: libtool-2.4.7/build-aux/ltmain.in
-===================================================================
---- libtool-2.4.7.orig/build-aux/ltmain.in
-+++ libtool-2.4.7/build-aux/ltmain.in
-@@ -5420,10 +5420,12 @@ func_mode_link ()
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=725646bf095bf5c07c49ae38dd060f95bd95ae3c]
+
+---
+ build-aux/ltmain.in | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index 037f009..ba5c816 100644
+--- a/build-aux/ltmain.in
++++ b/build-aux/ltmain.in
+@@ -5414,10 +5414,12 @@ func_mode_link ()
        # -fsanitize=*         Clang/GCC memory and address sanitizer
        # -fuse-ld=*           Linker select flags for GCC
-       # -f*-prefix-map*      needed for lto linking
+       # -f{file|debug|macro|profile}-prefix-map* needed for lto linking
 +      # -rtlib=*             select c runtime lib with clang
 +      # --unwindlib=*        select unwinder library with clang
        # -Wa,*                Pass flags directly to the assembler
@@ -23,6 +28,6 @@
        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
 -      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
 +      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-rtlib=*|--unwindlib=*| \
-       -specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*)
+       -specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
          func_quote_arg pretty "$arg"
  	arg=$func_quote_arg_result
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch b/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch
index 1920e2e..2126f82 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch
@@ -84,9 +84,10 @@
  AC_OUTPUT(Makefile)
  ]])
 diff --git a/tests/testsuite b/tests/testsuite
+index 24265e4..d388e3e 100755
 --- a/tests/testsuite
 +++ b/tests/testsuite
-@@ -48945,7 +48945,7 @@ $at_traceon; }
+@@ -48997,7 +48997,7 @@ $at_traceon; }
  
  
  LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -95,7 +96,7 @@
  
  #???
  if test PATH = "$shlibpath_var"; then
-@@ -49154,7 +49154,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -49211,7 +49211,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([lib2.c])
  LT_INIT
@@ -104,7 +105,7 @@
  AC_SUBST([sysroot])
  AC_OUTPUT(Makefile)
  _ATEOF
-@@ -49342,7 +49342,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -49404,7 +49404,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([prog.c])
  LT_INIT
@@ -113,7 +114,7 @@
  AC_SUBST([sysroot])
  AC_OUTPUT(Makefile)
  _ATEOF
-@@ -49694,7 +49694,7 @@ $at_traceon; }
+@@ -49761,7 +49761,7 @@ $at_traceon; }
  
  
  LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -122,7 +123,7 @@
  
  #???
  if test PATH = "$shlibpath_var"; then
-@@ -49903,7 +49903,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -49975,7 +49975,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([lib2.c])
  LT_INIT
@@ -131,7 +132,7 @@
  AC_SUBST([sysroot])
  AC_OUTPUT(Makefile)
  _ATEOF
-@@ -50091,7 +50091,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -50168,7 +50168,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([prog.c])
  LT_INIT
@@ -140,7 +141,7 @@
  AC_SUBST([sysroot])
  AC_OUTPUT(Makefile)
  _ATEOF
-@@ -50443,7 +50443,7 @@ $at_traceon; }
+@@ -50525,7 +50525,7 @@ $at_traceon; }
  
  
  LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -149,7 +150,7 @@
  
  #???
  if test PATH = "$shlibpath_var"; then
-@@ -50652,7 +50652,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -50739,7 +50739,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([lib2.c])
  LT_INIT
@@ -158,7 +159,7 @@
  AC_SUBST([sysroot])
  AC_OUTPUT(Makefile)
  _ATEOF
-@@ -50840,7 +50840,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -50932,7 +50932,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([prog.c])
  LT_INIT
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0003-libtool.m4-Cleanup-sysroot-trailing.patch b/poky/meta/recipes-devtools/libtool/libtool/0003-libtool.m4-Cleanup-sysroot-trailing.patch
new file mode 100644
index 0000000..6d92238
--- /dev/null
+++ b/poky/meta/recipes-devtools/libtool/libtool/0003-libtool.m4-Cleanup-sysroot-trailing.patch
@@ -0,0 +1,37 @@
+libtool.m4: Cleanup sysroot trailing "/"
+
+If $CC has --sysroot=/, it is a valid configuration however libtool will
+then set lt_sysroot to "/".
+
+This means references like $lt_sysroot$libdir become //usr/lib instead
+of the more normally expected /usr/lib. This may or may not break something
+but certainly is confusing to the user and gives confusing output. Making
+"/" simply unset lt_sysroot is much cleaner.
+
+Whilst here, trim any trailing '/' from sysroot paths to drop the duplication
+and result in cleaner/consistent output.
+
+* m4/libtool.m4: Cleanup sysroot trailing '/' handling
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=365805327c7b9bbdb0e622b954b6b0d8eaeb3f99]
+Signed-off-by:  Richard Purdie <richard.purdie@linuxfoundation.org>
+
+---
+ m4/libtool.m4 | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index fa1ae91..2f31d24 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -1256,7 +1256,9 @@ lt_sysroot=
+ case $with_libtool_sysroot in #(
+  yes)
+    if test yes = "$GCC"; then
+-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
++     # Trim trailing / since we'll always append absolute paths and we want
++     # to avoid //, if only for less confusing output for the user.
++     lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
+    fi
+    ;; #(
+  /*)
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch b/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch
index 07c7f91..35f48ef 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch
@@ -11,10 +11,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00017.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index 3d5dcd0a..2c994612 100644
+index f884824..25a91de 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -6475,7 +6475,7 @@ func_mode_link ()
+@@ -6503,7 +6503,7 @@ func_mode_link ()
  	      fi
  	    else
  	      # We cannot seem to hardcode it, guess we'll fake it.
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch b/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch
index 4fcf456..9203302 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch
@@ -10,10 +10,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00009.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index 2c994612..96238350 100644
+index 25a91de..40cb94a 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -7654,9 +7654,11 @@ EOF
+@@ -7682,9 +7682,11 @@ EOF
  	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
  	  for libdir in $rpath; do
  	    if test -n "$hardcode_libdir_flag_spec"; then
@@ -27,7 +27,7 @@
  		if test -z "$hardcode_libdirs"; then
  		  hardcode_libdirs=$libdir
  		else
-@@ -8386,6 +8388,10 @@ EOF
+@@ -8414,6 +8416,10 @@ EOF
        hardcode_libdirs=
        for libdir in $compile_rpath $finalize_rpath; do
  	if test -n "$hardcode_libdir_flag_spec"; then
@@ -38,7 +38,7 @@
  	  if test -n "$hardcode_libdir_separator"; then
  	    if test -z "$hardcode_libdirs"; then
  	      hardcode_libdirs=$libdir
-@@ -8437,6 +8443,10 @@ EOF
+@@ -8465,6 +8471,10 @@ EOF
        hardcode_libdirs=
        for libdir in $finalize_rpath; do
  	if test -n "$hardcode_libdir_flag_spec"; then
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch b/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
index 589a33e..8b6352b 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
@@ -13,10 +13,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index 96238350..6fb58ed2 100644
+index 40cb94a..2fa055e 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -7672,8 +7672,16 @@ EOF
+@@ -7700,8 +7700,16 @@ EOF
  		  esac
  		fi
  	      else
@@ -35,7 +35,7 @@
  	      fi
  	    elif test -n "$runpath_var"; then
  	      case "$perm_rpath " in
-@@ -8406,8 +8414,16 @@ EOF
+@@ -8434,8 +8442,16 @@ EOF
  	      esac
  	    fi
  	  else
@@ -54,7 +54,7 @@
  	  fi
  	elif test -n "$runpath_var"; then
  	  case "$perm_rpath " in
-@@ -8461,8 +8477,14 @@ EOF
+@@ -8489,8 +8505,14 @@ EOF
  	      esac
  	    fi
  	  else
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch b/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch
index a221dab..c104e90 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch
@@ -1,34 +1,29 @@
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Subject: [PATCH 06/12] libtool.m4: Handle "/" as a sysroot correctly
+libtool.m4: Change libtool to handle sysroots by default
 
-Update libtool.m4 to resolve a problem with lt_sysroot not being properly
-updated if the option '--with[-libtool]-sysroot' is not provided when
-running the 'configure' script for a package so that "/" as a sysroot
-is handled correctly by libtool.
+Rather than using no sysroot by default, always query gcc to obtain the sysroot.
 
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Upstream Report:
-http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html
+Upstream-Status: Inappropriate [Upstream are unlikely to accept this change of default]
 
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00018.html]
+---
+ m4/libtool.m4 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
 
-Index: libtool-2.4.7/m4/libtool.m4
-===================================================================
---- libtool-2.4.7.orig/m4/libtool.m4
-+++ libtool-2.4.7/m4/libtool.m4
-@@ -1254,16 +1254,20 @@ dnl lt_sysroot will always be passed unq
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index 2f31d24..bd90775 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -1254,18 +1254,18 @@ dnl lt_sysroot will always be passed unquoted.  We quote it here
  dnl in case the user passed a directory name.
  lt_sysroot=
  case $with_libtool_sysroot in #(
 - yes)
 + no)
     if test yes = "$GCC"; then
-      lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-+     # Treat "/" the same a an unset sysroot.
-+     if test "$lt_sysroot" = /; then
-+       lt_sysroot=
-+     fi
+      # Trim trailing / since we'll always append absolute paths and we want
+      # to avoid //, if only for less confusing output for the user.
+      lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
     fi
     ;; #(
 + yes|''|/)
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch b/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch
index 277afe0..676ce7f 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch
@@ -1,65 +1,60 @@
-From: Marek Vasut <marex@denx.de>
-Subject: [PATCH 07/12] libtool: Fix support for NIOS2 processor
+libtool: Fix support for NIOS2 processor
 
 The name of the system contains the string "nios2". This string
 is caught by the some of the greedy checks for OS/2 in libtool,
 in particular the *os2* branches of switch statements match for
 the nios2 string, which results in incorrect behavior of libtool.
 
-This patch adds an explicit check for *nios2* before the *os2*
-checks to prevent the OS/2 check incorrectly trapping the nios2
-as well.
+Switch to use $host_os instead of $host and tweak the patterns to
+match to avoid this problem for nios2.
 
-Signed-off-by: Marek Vasut <marex@denx.de>
+* build-aux/ltmain.in: Fix NIOS2 support
+---
+ build-aux/ltmain.in | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00021.html]
+Submitted: https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00021.html
+Reworked and submitted: https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00068.html
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=49e6cb0d4dfdca2a59b909dc4532fe22dbc57ad5]
 
-diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index 6fb58ed2..606f17be 100644
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -519,6 +519,12 @@ libtool_validate_options ()
+Index: libtool-2.4.7/build-aux/ltmain.in
+===================================================================
+--- libtool-2.4.7.orig/build-aux/ltmain.in
++++ libtool-2.4.7/build-aux/ltmain.in
+@@ -518,10 +518,10 @@ libtool_validate_options ()
+     # preserve --debug
      test : = "$debug_cmd" || func_append preserve_args " --debug"
  
-     case $host in
-+      # For NIOS2, we want to make sure that it's not caught by the
-+      # more general OS/2 check below. Otherwise, NIOS2 is the same
-+      # as the default option.
-+      *nios2*)
-+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-+        ;;
+-    case $host in
++    case $host_os in
        # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
        # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
-       *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
-@@ -6246,6 +6252,15 @@ func_mode_link ()
+-      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
++      cygwin* | mingw* | pw32* | cegcc* | solaris2* | os2*)
+         # don't eliminate duplications in $postdeps and $predeps
+         opt_duplicate_compiler_generated_deps=:
+         ;;
+@@ -6273,8 +6273,8 @@ func_mode_link ()
+ 	fi
  	if test -n "$library_names" &&
  	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
- 	  case $host in
-+	  *nios2*)
-+	    # For NIOS2, we want to make sure that it's not caught by the
-+	    # more general OS/2 check below. Otherwise, NIOS2 is the same
-+	    # as the default option.
-+	    if test no = "$installed"; then
-+	      func_append notinst_deplibs " $lib"
-+	      need_relink=yes
-+	    fi
-+	    ;;
- 	  *cygwin* | *mingw* | *cegcc* | *os2*)
+-	  case $host in
+-	  *cygwin* | *mingw* | *cegcc* | *os2*)
++	  case $host_os in
++	  cygwin* | mingw* | cegcc* | os2*)
  	      # No point in relinking DLLs because paths are not encoded
  	      func_append notinst_deplibs " $lib"
-@@ -6316,6 +6331,11 @@ func_mode_link ()
+ 	      need_relink=no
+@@ -6343,8 +6343,8 @@ func_mode_link ()
+ 	      soname=$dlname
  	    elif test -n "$soname_spec"; then
  	      # bleh windows
- 	      case $host in
-+	      *nios2*)
-+		# For NIOS2, we want to make sure that it's not caught by the
-+		# more general OS/2 check below. Otherwise, NIOS2 is the same
-+		# as the default option.
-+		;;
- 	      *cygwin* | mingw* | *cegcc* | *os2*)
+-	      case $host in
+-	      *cygwin* | mingw* | *cegcc* | *os2*)
++	      case $host_os in
++	      cygwin* | mingw* | cegcc* | os2*)
  	        func_arith $current - $age
  		major=$func_arith_result
--- 
-2.25.1
-
+ 		versuffix=-$major
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch b/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch
index 83c7437..c151c3b 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch
@@ -16,10 +16,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00016.html]
 
 diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 180dd9d1..022c1292 100644
+index bd90775..3794130 100644
 --- a/m4/libtool.m4
 +++ b/m4/libtool.m4
-@@ -7560,7 +7560,7 @@ if AC_TRY_EVAL(ac_compile); then
+@@ -7556,7 +7556,7 @@ if AC_TRY_EVAL(ac_compile); then
    for p in `eval "$output_verbose_link_cmd"`; do
      case $prev$p in
  
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch b/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
index 437c09f..f51deec 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
@@ -11,10 +11,10 @@
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00015.html]
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=e7dc729dd27b367905cd0ce52b5466d91537857a]
 
 diff --git a/Makefile.am b/Makefile.am
-index 6b546092..84795d87 100644
+index c29860e..9c34bfd 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -370,7 +370,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch b/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch
index a92e229..e451de5 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch
@@ -11,12 +11,12 @@
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00020.html]
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=e01c0bfe5e041418d84460901a1a5b11b89d596f]
 
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 
 diff --git a/Makefile.am b/Makefile.am
-index 84795d87..8c9949ed 100644
+index 9c34bfd..231ef3f 100644
 --- a/Makefile.am
 +++ b/Makefile.am
 @@ -333,7 +333,7 @@ EXTRA_DIST     += $(lt_aclocal_m4) \
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch b/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch
index 4945533..4c6b6f0 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch
@@ -1,28 +1,37 @@
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Subject: [PATCH 11/12] ltmain.in: Handle prefix-map compiler options correctly
+ltmain.in: Handle prefix-map compiler options correctly
 
-If lto is enabled, we need the prefix-map variables to be passed to the linker.
+If lto is enabled, we need the prefix-map variables to be passed to the linker
+to correctly link the objects using correctly mapped paths.
+
 Add these to the list of options libtool passes through.
 
+* build-aux/ltmain.in: Handle prefix-map compiler options
+
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html]
+https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html
+https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00066.html
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=cdf4bf702f11d17e06569936e8a433a77f791228]
 
-Index: libtool-2.4.7/build-aux/ltmain.in
-===================================================================
---- libtool-2.4.7.orig/build-aux/ltmain.in
-+++ libtool-2.4.7/build-aux/ltmain.in
-@@ -5419,11 +5419,12 @@ func_mode_link ()
+---
+ build-aux/ltmain.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index 0a50f5b..037f009 100644
+--- a/build-aux/ltmain.in
++++ b/build-aux/ltmain.in
+@@ -5413,11 +5413,12 @@ func_mode_link ()
        # -stdlib=*            select c++ std lib with clang
        # -fsanitize=*         Clang/GCC memory and address sanitizer
        # -fuse-ld=*           Linker select flags for GCC
-+      # -f*-prefix-map*      needed for lto linking
++      # -f{file|debug|macro|profile}-prefix-map* needed for lto linking
        # -Wa,*                Pass flags directly to the assembler
        -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
        -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
 -      -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
-+      -specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*)
++      -specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
          func_quote_arg pretty "$arg"
  	arg=$func_quote_arg_result
          func_append compile_command " $arg"
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch b/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch
index c750303..8469b87 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch
@@ -10,13 +10,13 @@
 https://sources.debian.org/data/main/libt/libtool/2.4.6-10/debian/patches/
         no_hostname.patch
 
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00011.html]
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=bd826173c4c9c3fa8d77d92785754897cb4bfd89]
 
 diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 022c1292..1a8a2998 100644
+index 3794130..84a550c 100644
 --- a/m4/libtool.m4
 +++ b/m4/libtool.m4
-@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
+@@ -730,7 +730,6 @@ _LT_CONFIG_SAVE_COMMANDS([
      cat <<_LT_EOF >> "$cfgfile"
  #! $SHELL
  # Generated automatically by $as_me ($PACKAGE) $VERSION
diff --git a/poky/meta/recipes-devtools/libtool/libtool/dont-depend-on-help2man.patch b/poky/meta/recipes-devtools/libtool/libtool/dont-depend-on-help2man.patch
index fd4084c..0013d16 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/dont-depend-on-help2man.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/dont-depend-on-help2man.patch
@@ -4,9 +4,10 @@
 Updated by: Robert Yang <liezhi.yang@windriver.com>
 
 diff --git a/Makefile.am b/Makefile.am
+index 7bd7f72..c29860e 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -404,21 +404,6 @@ $(notes_txt): $(notes_texi)
+@@ -411,21 +411,6 @@ $(notes_txt): $(notes_texi)
  	$(AM_V_GEN)$(MAKEINFO) -P '$(srcdir)/doc' --no-headers \
  	    $(MAKEINFOFLAGS) -o '$@' '$(notes_texi)'
  
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index bc1953c..d116eb8 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] = "fb299acf3a578573c190c858d49e0cf9d75f4bc49c3f24c5a63804997ef09213"
+SRC_URI[sha256sum] = "8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python3-alabaster_0.7.13.bb b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.13.bb
deleted file mode 100644
index 05d59fe..0000000
--- a/poky/meta/recipes-devtools/python/python3-alabaster_0.7.13.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system."
-HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=21860fdb805bf4e0bfaf94b566b747fa"
-
-SRC_URI[sha256sum] = "a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"
-
-inherit setuptools3 pypi
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-alabaster_0.7.16.bb b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.16.bb
new file mode 100644
index 0000000..c61fce4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.16.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system."
+HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/"
+BUGTRACKER = "https://github.com/sphinx-doc/alabaster/issues"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=21860fdb805bf4e0bfaf94b566b747fa"
+
+SRC_URI[sha256sum] = "75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"
+
+inherit python_flit_core pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-cython_3.0.7.bb b/poky/meta/recipes-devtools/python/python3-cython_3.0.8.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-cython_3.0.7.bb
rename to poky/meta/recipes-devtools/python/python3-cython_3.0.8.bb
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.40.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.41.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.40.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.41.bb
index 47aa7f0..de199ef 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.40.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.41.bb
@@ -12,7 +12,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4"
+SRC_URI[sha256sum] = "ed66e624884f76df22c8e16066d567aaa5a37d5b5fa19db2c6df6f7156db9048"
 
 DEPENDS += " ${PYTHON_PN}-gitdb"
 
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.92.2.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.92.9.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.92.2.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.92.9.bb
index ab5dd32..ae64391 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.92.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.92.9.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "841f89a486c43bdab55698de8929bd2635639ec20bf6ce98ccd75622d7ee6d41"
+SRC_URI[sha256sum] = "629f31788243559d35d3101ef8e94caf736cf8efaad3f0dd66ec7dbb31b8ef19"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.3.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb
rename to poky/meta/recipes-devtools/python/python3-jinja2_3.1.3.bb
index fa6d930..1805780 100644
--- a/poky/meta/recipes-devtools/python/python3-jinja2_3.1.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.3.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
 
-SRC_URI[sha256sum] = "31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"
+SRC_URI[sha256sum] = "ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"
 
 PYPI_PACKAGE = "Jinja2"
 
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.5.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.5.2.bb
similarity index 81%
rename from poky/meta/recipes-devtools/python/python3-markdown_3.5.bb
rename to poky/meta/recipes-devtools/python/python3-markdown_3.5.2.bb
index 1ad3f78..6836c56 100644
--- a/poky/meta/recipes-devtools/python/python3-markdown_3.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.5.2.bb
@@ -6,7 +6,7 @@
 inherit pypi python_setuptools_build_meta
 
 PYPI_PACKAGE = "Markdown"
-SRC_URI[sha256sum] = "a807eb2e4778d9156c8f07876c6e4d50b5494c5665c4834f67b06459dfd877b3"
+SRC_URI[sha256sum] = "e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_10.1.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_10.2.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-more-itertools_10.1.0.bb
rename to poky/meta/recipes-devtools/python/python3-more-itertools_10.2.0.bb
index be2a73c..fb28c35 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_10.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_10.2.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
 
-SRC_URI[sha256sum] = "626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a"
+SRC_URI[sha256sum] = "8fccb480c43d3e99a00087634c06dd02b0d50fbf088b380de5a41a015ec239e1"
 
 inherit pypi python_flit_core ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
index 9f5f25f..bbe309c 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
+++ b/poky/meta/recipes-devtools/python/python3-numpy/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
@@ -1,4 +1,4 @@
-From 27f6687e49bf555fc494d2f14bae6ecd0fa30f14 Mon Sep 17 00:00:00 2001
+From 46eea664cf89d0602e7ff16d587c37c045b125b7 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 10 Dec 2015 13:20:30 +0200
 Subject: [PATCH] Don't search /usr and so on for libraries by default to
@@ -8,15 +8,16 @@
 Upstream-Status: Inappropriate (As the code stands, this is a hack)
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
 ---
  numpy/distutils/system_info.py | 42 +++++-----------------------------
  1 file changed, 6 insertions(+), 36 deletions(-)
 
 diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 82e864a..135246d 100644
+index feb28f6..a48d6d1 100644
 --- a/numpy/distutils/system_info.py
 +++ b/numpy/distutils/system_info.py
-@@ -323,44 +323,14 @@ if sys.platform == 'win32':
+@@ -327,44 +327,14 @@ def add_system_root(library_root):
          add_system_root(os.path.join(conda_dir, 'Library'))
  
  else:
@@ -67,6 +68,3 @@
  
  if os.path.join(sys.prefix, 'lib') not in default_lib_dirs:
      default_lib_dirs.insert(0, os.path.join(sys.prefix, 'lib'))
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/python/python3-numpy_1.26.2.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.26.3.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-numpy_1.26.2.bb
rename to poky/meta/recipes-devtools/python/python3-numpy_1.26.3.bb
index 253b334..023d40a 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy_1.26.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-numpy_1.26.3.bb
@@ -13,7 +13,7 @@
            file://fix_reproducibility.patch \
            file://run-ptest \
            "
-SRC_URI[sha256sum] = "f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea"
+SRC_URI[sha256sum] = "697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4"
 
 GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.19.1.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.19.1.bb
deleted file mode 100644
index 70f16c7..0000000
--- a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.19.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-pycryptodome.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "8ae0dd1bcfada451c35f9e29a3e5db385caabc190f98e4a80ad02a61098fb776"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.20.0.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.20.0.bb
new file mode 100644
index 0000000..d24fa58
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.20.0.bb
@@ -0,0 +1,5 @@
+require python-pycryptodome.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.19.1.bb b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.20.0.bb
similarity index 69%
rename from poky/meta/recipes-devtools/python/python3-pycryptodomex_3.19.1.bb
rename to poky/meta/recipes-devtools/python/python3-pycryptodomex_3.20.0.bb
index d6e5c6d..2673ea8 100644
--- a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.19.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.20.0.bb
@@ -1,7 +1,7 @@
 require python-pycryptodome.inc
 inherit setuptools3
 
-SRC_URI[sha256sum] = "0b7154aff2272962355f8941fd514104a88cb29db2d8f43a29af900d6398eb1c"
+SRC_URI[sha256sum] = "7a710b79baddd65b806402e14766c721aee8fb83381769c27920f26476276c1e"
 
 FILES:${PN}-tests = " \
     ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.29.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.1.8.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.29.bb
rename to poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.1.8.bb
index a06d084..9e7e61a 100644
--- a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.11.29.bb
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.1.8.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "ff8f7fd82c7932113b46e7ef6742c70091cc63640c8c65db00d91f2e940b9514"
+SRC_URI[sha256sum] = "6e36caf430ff6485c4b57a4c6b364a13f6a898d16b9417c6c37467e59c14b05a"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/poky/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
index db08435..03ecda9 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
@@ -1,4 +1,4 @@
-From 78f482b91d94b44a02e02c4580166757119061ea Mon Sep 17 00:00:00 2001
+From 33bf96f31c4873032ace2cc9afacc3785997527a Mon Sep 17 00:00:00 2001
 From: Paulo Neves <ptsneves@gmail.com>
 Date: Tue, 7 Jun 2022 16:16:41 +0200
 Subject: [PATCH] Avoid shebang overflow on python-config.py
@@ -17,13 +17,13 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 55c7c46..1f6500a 100644
+index fb0b525..75d2e73 100644
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -2115,6 +2115,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
+@@ -2335,6 +2335,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
  	@ # Substitution happens here, as the completely-expanded BINDIR
  	@ # is not available in configure
- 	sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
+ 	sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py
 +	@ # Otherwise we might get huge shebangs with native paths
 +	sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py
  	@ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
deleted file mode 100644
index 16a4185..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 93ae2ed3fc8be0245e35063c4f63626792f4cd0c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 25 Jan 2019 19:04:13 +0100
-Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host
- contamination
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 15d0d45..37ed244 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1109,7 +1109,6 @@ class PyBuildExt(build_ext):
-                                                      'termcap'):
-                 readline_libs.append('termcap')
-             self.add(Extension('readline', ['readline.c'],
--                               library_dirs=['/usr/lib/termcap'],
-                                libraries=readline_libs))
-         else:
-             self.missing.append('readline')
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
deleted file mode 100644
index 222a567..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From aa8f1709c54557d2b51a9a37d15ccc3de62e90cb Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Wed, 4 Mar 2020 00:06:42 +0000
-Subject: [PATCH] Don't search system for headers/libraries
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
-
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 6811951..65ae476 100644
---- a/setup.py
-+++ b/setup.py
-@@ -877,8 +877,8 @@ class PyBuildExt(build_ext):
-             add_dir_to_list(self.compiler.include_dirs,
-                             sysconfig.get_config_var("INCLUDEDIR"))
- 
--        system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib']
--        system_include_dirs = ['/usr/include']
-+        system_lib_dirs = []
-+        system_include_dirs = []
-         # lib_dirs and inc_dirs are used to search for files;
-         # if a file is found in one of those directories, it can
-         # be assumed that no additional -I,-L directives are needed.
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch
index 07c6aef..026150f 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch
@@ -1,4 +1,4 @@
-From 7b0a14e7320078ac891d415cab9b7568e3f52ad8 Mon Sep 17 00:00:00 2001
+From f8a664cf1fc73e381d57d6927207286059744837 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Thu, 16 Sep 2021 16:35:37 +0200
 Subject: [PATCH] Lib/pty.py: handle stdin I/O errors same way as master I/O
@@ -30,10 +30,10 @@
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/Lib/pty.py b/Lib/pty.py
-index fefb63a..4cef056 100644
+index 1d97994..fa8821b 100644
 --- a/Lib/pty.py
 +++ b/Lib/pty.py
-@@ -184,7 +184,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read):
+@@ -178,7 +178,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read):
              i_buf = i_buf[n:]
  
          if stdin_avail and STDIN_FILENO in rfds:
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
index a0f3d72..680254f 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
@@ -1,6 +1,6 @@
-From 512c617bd00b74b30a80dd56a12391de46e2b6cf Mon Sep 17 00:00:00 2001
+From 71c194077bb907bfe423d3f3275f33a6c8ca0e74 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
-Date: Fri, 10 Sep 2021 12:28:31 +0200
+Date: Fri, 17 Nov 2023 14:26:32 +0100
 Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
  file
 
@@ -15,18 +15,18 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index 93c6f73..ff399e2 100644
+index 79c0510..91ebcb6 100644
 --- a/Lib/sysconfig.py
 +++ b/Lib/sysconfig.py
-@@ -668,6 +668,11 @@ def get_config_vars(*args):
-             _CONFIG_VARS['VPATH'] = sys._vpath
-         if os.name == 'posix':
-             _init_posix(_CONFIG_VARS)
-+        _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix']
-+        _CONFIG_VARS['base'] = _CONFIG_VARS['prefix']
-+        _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
-+        _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
-+        _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
-         if _HAS_USER_BASE:
-             # Setting 'userbase' is done below the call to the
-             # init function to enable using 'get_config_var' in
+@@ -668,6 +668,11 @@ def _init_config_vars():
+         _CONFIG_VARS['VPATH'] = sys._vpath
+     if os.name == 'posix':
+         _init_posix(_CONFIG_VARS)
++    _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix']
++    _CONFIG_VARS['base'] = _CONFIG_VARS['prefix']
++    _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
++    _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
++    _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
+     if _HAS_USER_BASE:
+         # Setting 'userbase' is done below the call to the
+         # init function to enable using 'get_config_var' in
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch
deleted file mode 100644
index 2f037ec..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From c960837b8fd83074bab5148236f3d0595468cea4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 16 Jan 2020 12:34:20 +0100
-Subject: [PATCH] Makefile: do not compile .pyc in parallel
-
-This was found to lock up builds, break reproducibility, and produce strange file ownership
-races.
-
-The upstream commit introducing the change was:
-https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504
-
-The build lock up issue is reported here:
-https://bugs.python.org/issue45945
-
-The repro failures are documented here:
-https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20211130-yr_o1a8d/packages/diff-html/
-
-Upstream-Status: Inappropriate [see issues above]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Makefile.pre.in | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/Makefile.pre.in b/Makefile.pre.in
-index edd70d4..5e13ba2 100644
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -1601,30 +1601,30 @@ libinstall:	build_all $(srcdir)/Modules/xxmodule.c
- 	fi
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
--		-j0 -d $(LIBDEST) -f \
-+		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- 		$(DESTDIR)$(LIBDEST)
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
--		-j0 -d $(LIBDEST) -f \
-+		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- 		$(DESTDIR)$(LIBDEST)
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
--		-j0 -d $(LIBDEST) -f \
-+		-d $(LIBDEST) -f \
- 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
- 		$(DESTDIR)$(LIBDEST)
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
--		-j0 -d $(LIBDEST)/site-packages -f \
-+		-d $(LIBDEST)/site-packages -f \
- 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
--		-j0 -d $(LIBDEST)/site-packages -f \
-+		-d $(LIBDEST)/site-packages -f \
- 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
--		-j0 -d $(LIBDEST)/site-packages -f \
-+		-d $(LIBDEST)/site-packages -f \
- 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
- 	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
- 		$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
index e1dabc9..158cbf8 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
@@ -1,4 +1,4 @@
-From 9f85089cc3a21d5ff235bb37c6c9758f2b70497d Mon Sep 17 00:00:00 2001
+From ea8e486a416b90c562f3b33faa91d9d1d030be0e Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 30 Jan 2019 12:41:04 +0100
 Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data
@@ -11,16 +11,16 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/Makefile.pre.in b/Makefile.pre.in
-index f0aedb7..edd70d4 100644
+index 7af1845..fc7ab79 100644
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -519,8 +519,7 @@ build_all_generate_profile:
- 	$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
- 
- run_profile_task:
+@@ -656,8 +656,7 @@ profile-run-stamp:
+ 	# enabled.
+ 	$(MAKE) profile-gen-stamp
+ 	# Next, run the profile task to generate the profile information.
 -	@ # FIXME: can't run for a cross build
 -	$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
 +	./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true
- 
- build_all_merge_profile:
  	$(LLVM_PROF_MERGER)
+ 	# Remove profile generation binary since we are done with it.
+ 	$(MAKE) clean-retain-profile
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch b/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
index a7d3726..edb8539 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
@@ -1,4 +1,4 @@
-From 0c8002d12149fdfbbcd9a9215876d474f157eb9c Mon Sep 17 00:00:00 2001
+From bafdd769330c9d49a066fb1427f451b8d253262d Mon Sep 17 00:00:00 2001
 From: Yi Fan Yu <yifan.yu@windriver.com>
 Date: Thu, 1 Apr 2021 13:08:37 -0700
 Subject: [PATCH] Skip failing tests due to load variability on YP AB
@@ -17,24 +17,25 @@
 [YOCTO #15177]
 
 Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
 ---
  Lib/test/_test_multiprocessing.py | 3 +++
  Lib/test/test_time.py             | 2 ++
  2 files changed, 5 insertions(+)
 
 diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
-index b50a154320..b8b2c4204d 100644
+index d52b10c..5f0e4e3 100644
 --- a/Lib/test/_test_multiprocessing.py
 +++ b/Lib/test/_test_multiprocessing.py
-@@ -618,6 +618,7 @@ def test_close(self):
- 
+@@ -682,6 +682,7 @@ class _TestProcess(BaseTestCase):
          close_queue(q)
  
+     @support.requires_resource('walltime')
 +    @unittest.skip('timing related test, dependent on load')
      def test_many_processes(self):
          if self.TYPE == 'threads':
              self.skipTest('test not appropriate for {}'.format(self.TYPE))
-@@ -2003,6 +2004,7 @@ def _test_timeout_f(cls, barrier, results):
+@@ -2066,6 +2067,7 @@ class _TestBarrier(BaseTestCase):
          except threading.BrokenBarrierError:
              results.append(True)
  
@@ -42,19 +43,19 @@
      def test_timeout(self):
          """
          Test wait(timeout)
-@@ -4890,6 +4892,7 @@ def signal_and_sleep(cls, sem, period):
-         sem.release()
+@@ -4992,6 +4994,7 @@ class TestWait(unittest.TestCase):
          time.sleep(period)
  
+     @support.requires_resource('walltime')
 +    @unittest.skip('timing related test, dependent on load')
      def test_wait_integer(self):
          from multiprocessing.connection import wait
  
 diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
-index 884b14231f..8f0638c0d7 100644
+index 02cc3f4..51a4548 100644
 --- a/Lib/test/test_time.py
 +++ b/Lib/test/test_time.py
-@@ -492,6 +492,7 @@ def test_perf_counter(self):
+@@ -492,6 +492,7 @@ class TimeTestCase(unittest.TestCase):
      @unittest.skipIf(
          support.is_wasi, "process_time not available on WASI"
      )
@@ -62,7 +63,7 @@
      def test_process_time(self):
          # process_time() should not include time spend during a sleep
          start = time.process_time()
-@@ -505,6 +506,7 @@ def test_process_time(self):
+@@ -505,6 +506,7 @@ class TimeTestCase(unittest.TestCase):
          self.assertTrue(info.monotonic)
          self.assertFalse(info.adjustable)
  
@@ -70,6 +71,3 @@
      def test_thread_time(self):
          if not hasattr(time, 'thread_time'):
              if sys.platform.startswith(('linux', 'win')):
--- 
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch b/poky/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
index 5e11341..b6c6ac5 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
@@ -1,4 +1,4 @@
-From b9f825b298b555c4770024d1f68ef1df65aad20a Mon Sep 17 00:00:00 2001
+From 37d058e841ba3bd89b5746cc5381afb014b11581 Mon Sep 17 00:00:00 2001
 From: Wentao Zhang <wentao.zhang@windriver.com>
 Date: Mon, 20 Mar 2023 13:39:52 +0800
 Subject: [PATCH] Update test_sysconfig for posix_user purelib
@@ -17,15 +17,16 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
+
 ---
  Lib/test/test_sysconfig.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
-index d96371d..20aea4b 100644
+index b6dbf3d..5672590 100644
 --- a/Lib/test/test_sysconfig.py
 +++ b/Lib/test/test_sysconfig.py
-@@ -373,7 +373,7 @@ class TestSysConfig(unittest.TestCase):
+@@ -372,7 +372,7 @@ class TestSysConfig(unittest.TestCase):
                  expected = os.path.normpath(global_path.replace(base, user, 1))
                  # bpo-44860: platlib of posix_user doesn't use sys.platlibdir,
                  # whereas posix_prefix does.
@@ -34,6 +35,3 @@
                      # Replace "/lib64/python3.11/site-packages" suffix
                      # with "/lib/python3.11/site-packages".
                      py_version_short = sysconfig.get_python_version()
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
index ef8edca..d668858 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -1,4 +1,4 @@
-From 4ba40ee527f844a804be571e52d9dc5447ae4cdd Mon Sep 17 00:00:00 2001
+From 0558745601cc72c8d6d79cd691f4b82330b29d58 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Mon, 22 Oct 2018 15:19:51 +0800
 Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
@@ -27,27 +27,27 @@
  1 file changed, 10 insertions(+), 9 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 90008bc..bf56195 100644
+index bd2be94..cb9e198 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -134,6 +134,7 @@ AC_CONFIG_HEADERS([pyconfig.h])
+@@ -137,6 +137,7 @@ AC_CONFIG_HEADERS([pyconfig.h])
  AC_CANONICAL_HOST
- AC_SUBST(build)
- AC_SUBST(host)
+ AC_SUBST([build])
+ AC_SUBST([host])
 +LT_INIT
  
  AS_VAR_IF([cross_compiling], [maybe],
   [AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])]
-@@ -887,7 +888,7 @@ AC_MSG_RESULT($with_cxx_main)
+@@ -896,7 +897,7 @@ AC_SUBST([CXX])
  preset_cxx="$CXX"
  if test -z "$CXX"
  then
 -        case "$CC" in
 +        case "$cc_basename" in
-         gcc)    AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;;
-         cc)     AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;;
-         clang|*/clang)     AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;;
-@@ -1300,7 +1301,7 @@ rmdir CaseSensitiveTestDir
+         gcc)    AC_PATH_TOOL([CXX], [g++], [g++], [notfound]) ;;
+         cc)     AC_PATH_TOOL([CXX], [c++], [c++], [notfound]) ;;
+         clang|*/clang)     AC_PATH_TOOL([CXX], [clang++], [clang++], [notfound]) ;;
+@@ -1328,7 +1329,7 @@ rmdir CaseSensitiveTestDir
  
  case $ac_sys_system in
  hp*|HP*)
@@ -56,16 +56,16 @@
      cc|*/cc) CC="$CC -Ae";;
      esac;;
  esac
-@@ -1834,7 +1835,7 @@ esac
+@@ -1854,7 +1855,7 @@ esac
  ],
- [AC_MSG_RESULT(no)])
+ [AC_MSG_RESULT([no])])
  if test "$Py_LTO" = 'true' ; then
 -  case $CC in
 +  case $cc_basename in
      *clang*)
        LDFLAGS_NOLTO="-fno-lto"
        dnl Clang linker requires -flto in order to link objects with LTO information.
-@@ -1955,7 +1956,7 @@ then
+@@ -1983,7 +1984,7 @@ then
    fi
  fi
  LLVM_PROF_ERR=no
@@ -74,7 +74,7 @@
    *clang*)
      # Any changes made here should be reflected in the GCC+Darwin case below
      PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
-@@ -2016,7 +2017,7 @@ esac
+@@ -2147,7 +2148,7 @@ AC_MSG_RESULT([$BOLT_APPLY_FLAGS])
  # compiler and platform.  BASECFLAGS tweaks need to be made even if the
  # user set OPT.
  
@@ -83,7 +83,7 @@
      *clang*)
          cc_is_clang=1
          ;;
-@@ -2235,7 +2236,7 @@ yes)
+@@ -2419,7 +2420,7 @@ yes)
  
      # ICC doesn't recognize the option, but only emits a warning
      ## XXX does it emit an unused result warning and can it be disabled?
@@ -92,16 +92,16 @@
              [*icc*], [ac_cv_disable_unused_result_warning=no]
              [PY_CHECK_CC_WARNING([disable], [unused-result])])
      AS_VAR_IF([ac_cv_disable_unused_result_warning], [yes],
-@@ -2477,7 +2478,7 @@ yes)
+@@ -2665,7 +2666,7 @@ yes)
      ;;
  esac
  
 -case "$CC" in
 +case "$cc_basename" in
- *icc*)
-     # ICC needs -fp-model strict or floats behave badly
-     CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict"
-@@ -3319,7 +3320,7 @@ then
+ *mpicc*)
+     CFLAGS_NODIST="$CFLAGS_NODIST"
+     ;;
+@@ -3482,7 +3483,7 @@ then
  		then
  			LINKFORSHARED="-Wl,--export-dynamic"
  		fi;;
@@ -110,12 +110,12 @@
  		  *gcc*)
  		    if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
  		    then
-@@ -6410,7 +6411,7 @@ if test "$ac_cv_gcc_asm_for_x87" = yes; then
+@@ -6802,7 +6803,7 @@ if test "$ac_cv_gcc_asm_for_x87" = yes; then
      # Some versions of gcc miscompile inline asm:
      # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
      # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
 -    case $CC in
 +    case $cc_basename in
          *gcc*)
-             AC_MSG_CHECKING(for gcc ipa-pure-const bug)
+             AC_MSG_CHECKING([for gcc ipa-pure-const bug])
              saved_cflags="$CFLAGS"
diff --git a/poky/meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch b/poky/meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch
deleted file mode 100644
index 1844e0e..0000000
--- a/poky/meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From dc966f1278c1077938626d682666767d2c8d0c72 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 9 Apr 2022 18:29:47 +0000
-Subject: [PATCH] setup.py: Do not detect multiarch paths when cross-compiling
-
-add_multiarch_paths() function relies on host tools like dpkg-configure
-to operate, which is not good when cross compiling, since it ends up
-adding native paths in includes in certain cases, e.g. when building
-for aarch64 targets using aarch64 build hosts running debian-like
-distributions e.g. ubuntu, it ends up adding native multiarch paths
--I/usr/include/aarch64-linux-gnu during cross compile and since arches
-are so similar, cross compiler (epecially clang) is inhererently configured
-with multiarch ends up adding these paths to compiler cmdline which
-works ok with gcc since headers are similar but clang barfs on some gcc
-extentions and build fails due to missing gnu extentions but it silently
-compiles when using cross gcc.
-
-Fixes python3 cross build by not running this funciton when cross compiling
-
-Upstream-Status: Inappropriate [OE-Specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- setup.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 2e7f263..f7a3d39 100644
---- a/setup.py
-+++ b/setup.py
-@@ -840,7 +840,8 @@ class PyBuildExt(build_ext):
-         # only change this for cross builds for 3.3, issues on Mageia
-         if CROSS_COMPILING:
-             self.add_cross_compiling_paths()
--        self.add_multiarch_paths()
-+        if not CROSS_COMPILING:
-+            self.add_multiarch_paths()
-         self.add_ldflags_cppflags()
- 
-     def init_inc_lib_dirs(self):
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch b/poky/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch
index ff695a4..cd112c0 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch
@@ -1,4 +1,4 @@
-From 564d8f117fec7e573cbc10323655acefb12d143f Mon Sep 17 00:00:00 2001
+From 23184742b009ef1a8b2c0c2d79515334d4450cb9 Mon Sep 17 00:00:00 2001
 From: Trevor Gamblin <tgamblin@baylibre.com>
 Date: Fri, 15 Sep 2023 08:48:33 -0400
 Subject: [PATCH] skip no_stdout_fileno test due to load variability
@@ -11,15 +11,16 @@
 [YOCTO #15210]
 
 Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
 ---
  Lib/test/test_builtin.py | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
-index 9078c409cc..615955c057 100644
+index de83b52..ba98fe8 100644
 --- a/Lib/test/test_builtin.py
 +++ b/Lib/test/test_builtin.py
-@@ -2247,6 +2247,7 @@ def test_input_tty_non_ascii_unicode_errors(self):
+@@ -2300,6 +2300,7 @@ class PtyTests(unittest.TestCase):
          # Check stdin/stdout error handler is used when invoking PyOS_Readline()
          self.check_input_tty("prompté", b"quux\xe9", "ascii")
  
@@ -27,6 +28,3 @@
      def test_input_no_stdout_fileno(self):
          # Issue #24402: If stdin is the original terminal but stdout.fileno()
          # fails, do not use the original stdout file descriptor
--- 
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch b/poky/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
index 4fb63a9..fc52fda 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
@@ -1,4 +1,4 @@
-From 9162460d81ccc725fb04a14b27d0bf4afcfb69c9 Mon Sep 17 00:00:00 2001
+From a5d429a0e1a4809c1ded7be7e45dcabeb82c53d8 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Sun, 12 Sep 2021 21:44:36 +0200
 Subject: [PATCH] sysconfig.py: use platlibdir also for purelib
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
-index daf9f00..e64bcdc 100644
+index 122d441..79c0510 100644
 --- a/Lib/sysconfig.py
 +++ b/Lib/sysconfig.py
-@@ -27,7 +27,7 @@ _INSTALL_SCHEMES = {
+@@ -28,7 +28,7 @@ _INSTALL_SCHEMES = {
      'posix_prefix': {
          'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
          'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch b/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch
index 97150f2..b4fe946 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch
@@ -1,4 +1,4 @@
-From 13aa6449c47980c7270dad2527c3911517bf34e6 Mon Sep 17 00:00:00 2001
+From b64c131a576a4b4f821514e711ab91b1394fb4ff Mon Sep 17 00:00:00 2001
 From: Tim Orling <timothy.t.orling@intel.com>
 Date: Fri, 18 Jun 2021 11:56:50 -0700
 Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk
@@ -12,13 +12,13 @@
 Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
 
 ---
- Lib/ctypes/test/test_find.py | 2 ++
+ Lib/test/test_ctypes/test_find.py | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py
+diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py
 index 1ff9d01..59def26 100644
---- a/Lib/ctypes/test/test_find.py
-+++ b/Lib/ctypes/test/test_find.py
+--- a/Lib/test/test_ctypes/test_find.py
++++ b/Lib/test/test_ctypes/test_find.py
 @@ -113,10 +113,12 @@ class FindLibraryLinux(unittest.TestCase):
                  # LD_LIBRARY_PATH)
                  self.assertEqual(find_library(libname), 'lib%s.so' % libname)
diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
index c762f98..410a9fc 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
@@ -1,4 +1,4 @@
-From 46856e692377d21be3562f6f90c242f5c9594ae2 Mon Sep 17 00:00:00 2001
+From ef5728f0af14da5c9f80b0f038fe5bf6d44cb0e9 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Mon, 5 Aug 2019 15:57:39 +0800
 Subject: [PATCH] test_locale.py: correct the test output format
@@ -32,10 +32,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
-index f844e62..04df0c2 100644
+index b0d7998..cb12153 100644
 --- a/Lib/test/test_locale.py
 +++ b/Lib/test/test_locale.py
-@@ -564,7 +564,7 @@ class TestMiscellaneous(unittest.TestCase):
+@@ -557,7 +557,7 @@ class TestMiscellaneous(unittest.TestCase):
              self.skipTest('test needs Turkish locale')
          loc = locale.getlocale(locale.LC_CTYPE)
          if verbose:
diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch b/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
index 199031d..0d0eb08 100644
--- a/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
+++ b/poky/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
@@ -1,4 +1,4 @@
-From 013ff01fdf2aa6ca69a7c80a2a2996630877e4ea Mon Sep 17 00:00:00 2001
+From dc69a1afdb3ba619705ff71e14f19ed3142e422f Mon Sep 17 00:00:00 2001
 From: Trevor Gamblin <tgamblin@baylibre.com>
 Date: Fri, 6 Oct 2023 10:59:44 -0400
 Subject: [PATCH] test_storlines: skip due to load variability
@@ -11,15 +11,16 @@
 [YOCTO #14933]
 
 Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
 ---
  Lib/test/test_ftplib.py | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
-index 082a90d46b..508814d56a 100644
+index 2f191ea..dc29346 100644
 --- a/Lib/test/test_ftplib.py
 +++ b/Lib/test/test_ftplib.py
-@@ -629,6 +629,7 @@ def test_storbinary_rest(self):
+@@ -626,6 +626,7 @@ class TestFTPClass(TestCase):
              self.client.storbinary('stor', f, rest=r)
              self.assertEqual(self.server.handler_instance.rest, str(r))
  
@@ -27,6 +28,3 @@
      def test_storlines(self):
          data = RETR_DATA.replace('\r\n', '\n').encode(self.client.encoding)
          f = io.BytesIO(data)
--- 
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
deleted file mode 100644
index 041a03b..0000000
--- a/poky/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 311cf9abc213fcd76795cc3a25814a15fb552065 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 7 Oct 2019 13:22:14 +0200
-Subject: [PATCH] setup.py: do not report missing dependencies for disabled
- modules
-
-Reporting those missing dependencies is misleading as the modules would not
-have been built anyway. This particularly matters in oe-core's automated
-build completeness checker which relies on the report.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
-
----
- setup.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/setup.py b/setup.py
-index 934cf2e..ccf83b4 100644
---- a/setup.py
-+++ b/setup.py
-@@ -517,6 +517,14 @@ class PyBuildExt(build_ext):
-                 print("%-*s   %-*s   %-*s" % (longest, e, longest, f,
-                                               longest, g))
- 
-+        # There is no need to report missing module dependencies,
-+        # if the modules have been disabled in the first place.
-+        # cannot use mods_disabled here, because remove_configured_extensions adds
-+        # only disabled extensions into it (doesn't cover _dbm, _gdbm, readline
-+        # we support disabling through PACKAGECONFIG)
-+        sysconf_dis = sysconfig.get_config_var('MODDISABLED_NAMES').split()
-+        self.missing = list(set(self.missing) - set(sysconf_dis))
-+
-         if self.missing:
-             print()
-             print("The necessary bits to build these optional modules were not "
diff --git a/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch b/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
index 30d2906..ed1c1b9 100644
--- a/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
+++ b/poky/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
@@ -1,8 +1,7 @@
-From 788cd0464ee2b175493a0167ceee8c0045ce323c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sun, 16 Feb 2020 17:50:25 +0100
-Subject: [PATCH] configure.ac, setup.py: do not add a curses include path from
- the host
+From 1438c3694665961aa9c478727846343ad31fa133 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 17 Nov 2023 14:16:40 +0100
+Subject: [PATCH] configure.ac: do not add a curses include path from the host
 
 This leads to host contamination, and particularly can cause
 curses modules to fail at runtime if the host curses is configured
@@ -14,16 +13,15 @@
 
 ---
  configure.ac | 6 ------
- setup.py     | 2 --
- 2 files changed, 8 deletions(-)
+ 1 file changed, 6 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index e5e3df8..bfdd987 100644
+index d81c19a..b15b765 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -5092,12 +5092,6 @@ then
-   [Define if you have struct stat.st_mtimensec])
- fi
+@@ -6507,12 +6507,6 @@ AS_VAR_IF([have_panel], [no], [
+   AC_MSG_RESULT([$have_panel (CFLAGS: $PANEL_CFLAGS, LIBS: $PANEL_LIBS)])
+ ])
  
 -# first curses header check
 -ac_save_cppflags="$CPPFLAGS"
@@ -31,19 +29,6 @@
 -  CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
 -fi
 -
- AC_CHECK_HEADERS(curses.h ncurses.h)
- 
  # On Solaris, term.h requires curses.h
-diff --git a/setup.py b/setup.py
-index 62f0e18..c190002 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1169,8 +1169,6 @@ class PyBuildExt(build_ext):
-         panel_library = 'panel'
-         if curses_library == 'ncursesw':
-             curses_defines.append(('HAVE_NCURSESW', '1'))
--            if not CROSS_COMPILING:
--                curses_includes.append('/usr/include/ncursesw')
-             # Bug 1464056: If _curses.so links with ncursesw,
-             # _curses_panel.so must link with panelw.
-             panel_library = 'panelw'
+ AC_CHECK_HEADERS([term.h], [], [], [
+ #ifdef HAVE_CURSES_H
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
deleted file mode 100644
index bbdd8b5..0000000
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 843574d5a5b0818e83e20f8c0389d567bd4733fb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 14 May 2013 15:00:26 -0700
-Subject: [PATCH] python3: Add target and native recipes
-
-Upstream-Status: Inappropriate [embedded specific]
-
-02/2015 Rebased for Python 3.4.2
-
-The proper prefix is inside our staging area.
-Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
-Signed-off-by: Phil Blundell <philb@gnu.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
-
----
- Lib/distutils/sysconfig.py | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 03b8558..57d193d 100644
---- a/Lib/distutils/sysconfig.py
-+++ b/Lib/distutils/sysconfig.py
-@@ -272,7 +272,9 @@ def get_python_inc(plat_specific=0, prefix=None):
-     If 'prefix' is supplied, use it instead of sys.base_prefix or
-     sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
-     """
--    if prefix is None:
-+    if prefix is None and os.environ.get('STAGING_INCDIR', ""):
-+        prefix = os.environ['STAGING_INCDIR'].rstrip('include')
-+    elif prefix is None:
-         prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-     if os.name == "posix":
-         if python_build:
-@@ -315,7 +317,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
-     If 'prefix' is supplied, use it instead of sys.base_prefix or
-     sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
-     """
--    if prefix is None:
-+    if os.environ.get('STAGING_LIBDIR', ""):
-+        lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
-+    else:
-+        lib_basename = "lib"
-+    if prefix is None and os.environ.get('STAGING_LIBDIR', ""):
-+        prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
-+    elif prefix is None:
-         if standard_lib:
-             prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-         else:
-@@ -329,7 +337,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
-         else:
-             # Pure Python
-             libdir = "lib"
--        libpython = os.path.join(prefix, libdir,
-+        libpython = os.path.join(prefix, lib_basename,
-                                  "python" + get_python_version())
-         if standard_lib:
-             return libpython
diff --git a/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
deleted file mode 100644
index 5a6cfc9..0000000
--- a/poky/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 627b8fe6b3c11e8bb1bb1ad1d6b816b79b8dd2ce Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei@gherzan.ro>
-Date: Mon, 28 Jan 2019 15:57:54 +0000
-Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet
- integrated in yocto so we skip the check for this module. Avoid a warning by
- not adding this module to missing variable.
-
-Upstream-Status: Inappropriate [distribution]
-
-Also simply disable the tk module since its not in DEPENDS.
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
----
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 7555dcd..f29ac86 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1364,7 +1364,6 @@ class PyBuildExt(build_ext):
-         self.detect_decimal()
-         self.detect_ctypes()
-         self.detect_multiprocessing()
--        self.detect_tkinter()
-         self.detect_uuid()
- 
-         # Uncomment the next line if you want to play with xxmodule.c
--- 
-2.30.2
-
diff --git a/poky/meta/recipes-devtools/python/python3/cgi_py.patch b/poky/meta/recipes-devtools/python/python3/cgi_py.patch
index 81e6099..8262c88 100644
--- a/poky/meta/recipes-devtools/python/python3/cgi_py.patch
+++ b/poky/meta/recipes-devtools/python/python3/cgi_py.patch
@@ -1,4 +1,4 @@
-From 5b0d1212d661e9a8a36738279fc9109f96eebd25 Mon Sep 17 00:00:00 2001
+From a56778372fe8dc7c42f5ffd911d89498c22dd064 Mon Sep 17 00:00:00 2001
 From: Mark Hatle <mark.hatle@windriver.com>
 Date: Wed, 21 Sep 2011 20:55:33 -0500
 Subject: [PATCH] Lib/cgi.py: Update the script as mentioned in the comment
@@ -12,7 +12,7 @@
  1 file changed, 1 insertion(+), 10 deletions(-)
 
 diff --git a/Lib/cgi.py b/Lib/cgi.py
-index 6cb8cf2..a873ff3 100755
+index 8787567..ebe8652 100755
 --- a/Lib/cgi.py
 +++ b/Lib/cgi.py
 @@ -1,13 +1,4 @@
diff --git a/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
index 2fbb17f..2c4aef0 100644
--- a/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
+++ b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
@@ -1,4 +1,4 @@
-From 7d5fc6a86103d9bd4a274e9fd31b6987e39998a1 Mon Sep 17 00:00:00 2001
+From 5b66463c10fec1440e977d5a21a0167862d6d79c Mon Sep 17 00:00:00 2001
 From: Ricardo Ribalda <ricardo@ribalda.com>
 Date: Tue, 18 Nov 2014 03:35:33 -0500
 Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for
@@ -20,10 +20,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 085fc0b..22790d7 100644
+index cb9e198..d81c19a 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -163,7 +163,7 @@ AC_ARG_WITH(
+@@ -165,7 +165,7 @@ AC_ARG_WITH([build-python],
      dnl Build Python interpreter is used for regeneration and freezing.
      ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python
      PYTHON_FOR_FREEZE="$with_build_python"
diff --git a/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch b/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch
index 296b413..104df94 100644
--- a/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch
+++ b/poky/meta/recipes-devtools/python/python3/deterministic_imports.patch
@@ -1,3 +1,8 @@
+From 039d5e652796b55f1132afa568c7432b6ed89afd Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 27 May 2022 17:05:44 +0100
+Subject: [PATCH] python3: Ensure stale empty python module directories don't
+
 There are two issues here. Firstly, the modules are accessed in on disk order. This
 means behaviour seen on one system might not reproduce on another and is a real headache.
 
@@ -9,12 +14,15 @@
 Upstream-Status: Pending [need to talk to upstream to see if they'll take one or both fixes]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
+---
+ Lib/importlib/metadata/__init__.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
 
-Index: Python-3.10.4/Lib/importlib/metadata/__init__.py
-===================================================================
---- Python-3.10.4.orig/Lib/importlib/metadata/__init__.py
-+++ Python-3.10.4/Lib/importlib/metadata/__init__.py
-@@ -819,7 +819,14 @@ class Lookup:
+diff --git a/Lib/importlib/metadata/__init__.py b/Lib/importlib/metadata/__init__.py
+index 82e0ce1..969cac4 100644
+--- a/Lib/importlib/metadata/__init__.py
++++ b/Lib/importlib/metadata/__init__.py
+@@ -710,7 +710,14 @@ class Lookup:
          self.infos = FreezableDefaultDict(list)
          self.eggs = FreezableDefaultDict(list)
  
diff --git a/poky/meta/recipes-devtools/python/python3/makerace.patch b/poky/meta/recipes-devtools/python/python3/makerace.patch
index c71c1e1..c813b39 100644
--- a/poky/meta/recipes-devtools/python/python3/makerace.patch
+++ b/poky/meta/recipes-devtools/python/python3/makerace.patch
@@ -1,4 +1,4 @@
-From dde5cb74f55b6dd39d25cff639d16940d9dad505 Mon Sep 17 00:00:00 2001
+From c1badb04004c78f376f77f8c41718d51947bf873 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Tue, 13 Jul 2021 23:19:29 +0100
 Subject: [PATCH] python3: Fix make race
@@ -18,13 +18,13 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.pre.in b/Makefile.pre.in
-index c6d7e85..205af6c 100644
+index fc7ab79..fb0b525 100644
 --- a/Makefile.pre.in
 +++ b/Makefile.pre.in
-@@ -2045,7 +2045,7 @@ TESTSUBDIRS=	ctypes/test \
- 		unittest/test/testmock
- 
+@@ -2246,7 +2246,7 @@ COMPILEALL_OPTS=-j0
  TEST_MODULES=@TEST_MODULES@
+ 
+ .PHONY: libinstall
 -libinstall:	all $(srcdir)/Modules/xxmodule.c
 +libinstall:	all $(srcdir)/Modules/xxmodule.c libainstall
  	@for i in $(SCRIPTDIR) $(LIBDEST); \
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index 766f083..771551c 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -201,17 +201,18 @@
     "compression": {
         "summary": "Python high-level compression support",
         "rdepends": [
-            "core"
+            "core",
+            "shell"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
             "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
-            "${libdir}/python${PYTHON_MAJMIN}/zipfile.py"
+            "${libdir}/python${PYTHON_MAJMIN}/zipfile",
+            "${libdir}/python${PYTHON_MAJMIN}/zipfile/_path"
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc"
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc"
         ]
     },
     "core": {
@@ -271,6 +272,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py",
             "${libdir}/python${PYTHON_MAJMIN}/inspect.py",
             "${libdir}/python${PYTHON_MAJMIN}/io.py",
+            "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py",
             "${libdir}/python${PYTHON_MAJMIN}/keyword.py",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so",
@@ -378,6 +380,7 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc",
+            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc",
@@ -452,9 +455,8 @@
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so",
-            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so"
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha2.*.so",
+            "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so"
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/crypt.*.pyc",
@@ -550,8 +552,7 @@
             "${libdir}/pkgconfig"
         ],
         "rdepends": [
-            "core",
-            "distutils"
+            "core"
         ],
         "summary": "Python development package"
     },
@@ -567,27 +568,6 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc"
         ]
     },
-    "distutils-windows": {
-        "summary": "Python distribution utilities (Windows installer stubs)",
-        "rdepends": [
-            "core"
-        ],
-        "files": [],
-        "cached": []
-    },
-    "distutils": {
-        "summary": "Python Distribution Utilities",
-        "rdepends": [
-            "compression",
-            "core",
-            "email",
-            "stringold"
-        ],
-        "files": [
-            "${libdir}/python${PYTHON_MAJMIN}/distutils"
-        ],
-        "cached": []
-    },
     "doctest": {
         "summary": "Python framework for running examples in docstrings",
         "rdepends": [
@@ -630,24 +610,12 @@
     "ensurepip": {
         "summary": "Support for bootstrapping the pip installer",
         "rdepends": [
-            "asyncio",
-            "compile",
-            "core",
-            "ctypes",
-            "image",
-            "io",
-            "mmap",
-            "plistlib",
-            "pprint",
-            "unixadmin",
-            "xmlrpc"
+            "core"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/ensurepip/"
         ],
-        "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/ensurepip/_uninstall.*.pyc"
-        ]
+        "cached": []
     },
     "fcntl": {
         "summary": "Python's fcntl interface",
@@ -715,7 +683,6 @@
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/_pyio.py",
-            "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so",
             "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so",
@@ -726,7 +693,6 @@
         ],
         "cached": [
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pipes.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc",
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc",
@@ -836,7 +802,6 @@
             "db",
             "debugger",
             "difflib",
-            "distutils",
             "doctest",
             "email",
             "ensurepip",
@@ -863,15 +828,14 @@
             "pydoc",
             "resource",
             "shell",
-            "smtpd",
             "sqlite3",
             "statistics",
             "stringold",
             "syslog",
             "terminal",
-            "tomllib",
             "threading",
             "tkinter",
+            "tomllib",
             "unittest",
             "unixadmin",
             "venv",
@@ -879,9 +843,6 @@
             "xmlrpc",
             "zoneinfo"
         ],
-        "rrecommends": [
-            "distutils-windows"
-        ],
         "summary": "All Python modules"
     },
     "multiprocessing": {
@@ -1104,31 +1065,6 @@
             "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc"
         ]
     },
-    "smtpd": {
-        "summary": "Python Simple Mail Transport Daemon",
-        "rdepends": [
-            "core",
-            "crypt",
-            "datetime",
-            "email",
-            "io",
-            "math",
-            "mime",
-            "netclient",
-            "stringold"
-        ],
-        "files": [
-            "${bindir}/smtpd.py",
-            "${libdir}/python${PYTHON_MAJMIN}/asynchat.py",
-            "${libdir}/python${PYTHON_MAJMIN}/asyncore.py",
-            "${libdir}/python${PYTHON_MAJMIN}/smtpd.py"
-        ],
-        "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asynchat.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asyncore.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtpd.*.pyc"
-        ]
-    },
     "sqlite3": {
         "summary": "Python Sqlite3 database support",
         "rdepends": [
@@ -1223,18 +1159,12 @@
     "tomllib": {
         "summary": "Provides an interface for parsing TOML",
         "rdepends": [
-            "core",
-            "datetime",
-            "stringold"
+            "core"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/tomllib/"
         ],
-        "cached": [
-            "${libdir}/python${PYTHON_MAJMIN}/tomllib/_re.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/tomllib/_types.*.pyc",
-            "${libdir}/python${PYTHON_MAJMIN}/tomllib/_parser.*.pyc"
-        ]
+        "cached": []
     },
     "turtle": {
         "summary": "Turtle graphics is a popular way for introducing programming to kids.",
diff --git a/poky/meta/recipes-devtools/python/python3_3.11.5.bb b/poky/meta/recipes-devtools/python/python3_3.12.1.bb
similarity index 96%
rename from poky/meta/recipes-devtools/python/python3_3.11.5.bb
rename to poky/meta/recipes-devtools/python/python3_3.12.1.bb
index e7b2b08..ece7539 100644
--- a/poky/meta/recipes-devtools/python/python3_3.11.5.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.12.1.bb
@@ -14,21 +14,16 @@
            file://check_build_completeness.py \
            file://reformat_sysconfig.py \
            file://cgi_py.patch \
-           file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
-           ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
            file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
            file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
            file://crosspythonpath.patch \
            file://0001-test_locale.py-correct-the-test-output-format.patch \
-           file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
-           file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
            file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
            file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \
            file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
            file://makerace.patch \
            file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \
            file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \
-           file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \
            file://deterministic_imports.patch \
            file://0001-Avoid-shebang-overflow-on-python-config.py.patch \
            file://0001-Update-test_sysconfig-for-posix_user-purelib.patch \
@@ -38,10 +33,9 @@
 
 SRC_URI:append:class-native = " \
            file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
-           file://12-distutils-prefix-is-inside-staging-area.patch \
-           file://0001-Don-t-search-system-for-headers-libraries.patch \
            "
-SRC_URI[sha256sum] = "85cd12e9cf1d6d5a45f17f7afe1cebe7ee628d3282281c492e86adf636defa3f"
+
+SRC_URI[sha256sum] = "8dfb8f426fcd226657f9e2bd5f1e96e53264965176fa17d32658e873591aeb21"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -57,7 +51,7 @@
 CVE_STATUS[CVE-2015-20107] = "upstream-wontfix: The mailcap module is insecure by design, so this can't be fixed in a meaningful way"
 CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour"
 
-PYTHON_MAJMIN = "3.11"
+PYTHON_MAJMIN = "3.12"
 
 S = "${WORKDIR}/Python-${PV}"
 
@@ -118,15 +112,30 @@
 *disabled*
 ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)}
 ${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)}
+${@bb.utils.contains('PACKAGECONFIG', 'tk', '', '_tkinter', d)}
 EOF
 }
 
 CPPFLAGS:append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
 
+# COMPILEALL_OPTS= ensures that .pyc are not compiled in parallel
+# This was found to lock up builds, break reproducibility, and produce strange file ownership
+# races.
+#
+# The upstream commit introducing the change was:
+# https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504
+#
+# The build lock up issue is reported here:
+# https://bugs.python.org/issue45945
+#
+# The repro failures are documented here:
+# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20211130-yr_o1a8d/packages/diff-html/
+
 EXTRA_OEMAKE = '\
   STAGING_LIBDIR=${STAGING_LIBDIR} \
   STAGING_INCDIR=${STAGING_INCDIR} \
   LIB=${baselib} \
+  COMPILEALL_OPTS= \
 '
 
 # Generate a Profile Guided Optimisation wrapper script that uses qemu-user for
diff --git a/poky/meta/recipes-extended/iputils/iputils_20231222.bb b/poky/meta/recipes-extended/iputils/iputils_20240117.bb
similarity index 96%
rename from poky/meta/recipes-extended/iputils/iputils_20231222.bb
rename to poky/meta/recipes-extended/iputils/iputils_20240117.bb
index e919feb..5a5e155 100644
--- a/poky/meta/recipes-extended/iputils/iputils_20231222.bb
+++ b/poky/meta/recipes-extended/iputils/iputils_20240117.bb
@@ -11,7 +11,7 @@
 DEPENDS = "gnutls"
 
 SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https"
-SRCREV = "84cdf26908b4a03b917a5429a6339b7374fcc38b"
+SRCREV = "8372f355bdf7a9b0c79338dd8ef8464c00a5c4e2"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
index c66a896..6f87249 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
@@ -110,6 +110,8 @@
 	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/19raid6check.broken
 	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/20raid5journal.broken
 	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/21raid5cache.broken
+	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-spare.broken
+	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-stop-readd.broken
 }
 
 RDEPENDS:${PN} += "bash"
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.03.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.04.bb
similarity index 94%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.17.03.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.17.04.bb
index 0da5294..fde51f6 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.03.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.17.04.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
            "
-SRCREV = "8c39f5a2d9b199189456f414afd9e536dae69d1b"
+SRCREV = "2f22ad595f067aa940cfe4f64107e10872c2f7b5"
 S = "${WORKDIR}/git"
 
 DEPENDS = "coreutils-native libbsd"
diff --git a/poky/meta/recipes-extended/xz/xz_5.4.4.bb b/poky/meta/recipes-extended/xz/xz_5.4.5.bb
similarity index 95%
rename from poky/meta/recipes-extended/xz/xz_5.4.4.bb
rename to poky/meta/recipes-extended/xz/xz_5.4.5.bb
index 90f4c3d..09eade8 100644
--- a/poky/meta/recipes-extended/xz/xz_5.4.4.bb
+++ b/poky/meta/recipes-extended/xz/xz_5.4.5.bb
@@ -25,7 +25,7 @@
                     "
 
 SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz"
-SRC_URI[sha256sum] = "aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8"
+SRC_URI[sha256sum] = "135c90b934aee8fbc0d467de87a05cb70d627da36abe518c357a873709e5b7d6"
 UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
 
 CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
diff --git a/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.14.bb b/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.15.bb
similarity index 92%
rename from poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.14.bb
rename to poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.15.bb
index 1d3b0de..528e3e0 100644
--- a/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.14.bb
+++ b/poky/meta/recipes-gnome/libxmlb/libxmlb_0.3.15.bb
@@ -8,7 +8,7 @@
 	file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \
 	file://run-ptest \
 "
-SRCREV = "aa577b276adc66564f5777f9a522ca3bf0bfa65e"
+SRCREV = "25a6384ad60f7e8550292e6cb4f262cc5da74be4"
 S = "${WORKDIR}/git"
 
 DEPENDS = "glib-2.0 xz zstd"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.119.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.120.bb
similarity index 96%
rename from poky/meta/recipes-graphics/drm/libdrm_2.4.119.bb
rename to poky/meta/recipes-graphics/drm/libdrm_2.4.120.bb
index e89ba68..18b3256 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.119.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.120.bb
@@ -13,7 +13,7 @@
 SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
           "
 
-SRC_URI[sha256sum] = "0a49f12f09b5b6e68eaaaff3f02ca7cff9aa926939b212d343161d3e8ac56291"
+SRC_URI[sha256sum] = "3bf55363f76c7250946441ab51d3a6cc0ae518055c0ff017324ab76cdefb327a"
 
 inherit meson pkgconfig manpages
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_23.3.2.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_23.3.3.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa-gl_23.3.2.bb
rename to poky/meta/recipes-graphics/mesa/mesa-gl_23.3.3.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index ddbebcc..e063eb3 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -20,7 +20,7 @@
            file://0001-gallium-Fix-build-with-llvm-17.patch \
 "
 
-SRC_URI[sha256sum] = "3cfcb81fa16f89c56abe3855d2637d396ee4e03849b659000a6b8e5f57e69adc"
+SRC_URI[sha256sum] = "518307c0057fa3cee8b58df78be431d4df5aafa7edc60d09278b2d7a0a80f3b4"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa_23.3.2.bb b/poky/meta/recipes-graphics/mesa/mesa_23.3.3.bb
similarity index 100%
rename from poky/meta/recipes-graphics/mesa/mesa_23.3.2.bb
rename to poky/meta/recipes-graphics/mesa/mesa_23.3.3.bb
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
index 06379ee..3e12495 100644
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-meson.build-use-python3-directly-for-python.patch
@@ -1,4 +1,4 @@
-From 2afe24fc95dbb89e99df29ccbe73afa835f58202 Mon Sep 17 00:00:00 2001
+From dec8cca59124d7f8796b54902482ceb295a71b51 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 6 Jan 2020 12:44:42 +0100
 Subject: [PATCH] meson.build: use 'python3' directly for python
@@ -14,10 +14,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index de6d16b5..79cedbf6 100644
+index 9f91ff2f..2391f89d 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -68,7 +68,7 @@ flags = [
+@@ -74,7 +74,7 @@ flags = [
  
  add_project_arguments(cc.get_supported_arguments(flags), language : 'c')
  
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-Fix-undefined-behavior-with-clang.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-Fix-undefined-behavior-with-clang.patch
deleted file mode 100644
index 48488d7..0000000
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-Fix-undefined-behavior-with-clang.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From ea328b246d093477cf26a68b42e975aaaef6abad Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Nov 2023 21:55:36 -0800
-Subject: [PATCH] vtest: Fix undefined behavior with clang
-
-This is seen when compiling with CC="clang -D_FORTIFY_SOURCE=2"
-Move #ifdef outside of printf() call.
-
-Fixes
-
-| ../git/vtest/vtest_server.c:244:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
-|   244 | #ifdef ENABLE_VENUS
-|       |  ^
-| ../git/vtest/vtest_server.c:246:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive]
-|   246 | #endif
-|       |  ^
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1309]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- vtest/vtest_server.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/vtest/vtest_server.c b/vtest/vtest_server.c
-index 1ca7f74f..93d949d7 100644
---- a/vtest/vtest_server.c
-+++ b/vtest/vtest_server.c
-@@ -197,6 +197,12 @@ static void vtest_server_parse_args(int argc, char **argv)
-    /* getopt_long stores the option index here. */
-    int option_index = 0;
- 
-+#ifdef ENABLE_VENUS
-+   char* ven = " [--venus]";
-+#else
-+   char* ven = "";
-+#endif
-+
-    do {
-       ret = getopt_long(argc, argv, "", long_options, &option_index);
- 
-@@ -244,10 +250,8 @@ static void vtest_server_parse_args(int argc, char **argv)
-          printf("Usage: %s [--no-fork] [--no-loop-or-fork] [--multi-clients] "
-                 "[--use-glx] [--use-egl-surfaceless] [--use-gles] [--no-virgl]"
-                 "[--rendernode <dev>] [--socket-path <path>] "
--#ifdef ENABLE_VENUS
--                " [--venus]"
--#endif
--                " [file]\n", argv[0]);
-+                "%s"
-+                " [file]\n", argv[0], ven);
-          exit(EXIT_FAILURE);
-          break;
-       }
--- 
-2.43.0
-
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb
similarity index 91%
rename from poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.0.bb
rename to poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb
index eb7ba10..0501b0c 100644
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.0.bb
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_1.0.1.bb
@@ -9,10 +9,9 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
 
 DEPENDS = "libdrm libepoxy virtual/egl virtual/libgbm"
-SRCREV = "9c9d55ecbe502e0d71ee99529709efcca69aac42"
+SRCREV = "690680e5f0f952e22424fca1538c1b24457a0868"
 SRC_URI = "git://gitlab.freedesktop.org/virgl/virglrenderer.git;branch=main;protocol=https \
            file://0001-meson.build-use-python3-directly-for-python.patch \
-           file://0001-vtest-Fix-undefined-behavior-with-clang.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
index 8b3f194..c61cdd0 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
+++ b/poky/meta/recipes-graphics/xorg-driver/xorg-driver-common.inc
@@ -13,8 +13,9 @@
 
 FILES:${PN} += " ${libdir}/xorg/modules/drivers/*.so"
 
+inherit pkgconfig features_check
 XORGBUILDCLASS ??= "autotools"
-inherit ${XORGBUILDCLASS} pkgconfig features_check
+inherit_defer ${XORGBUILDCLASS}
 
 # depends on virtual/xserver
 REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.9.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb
similarity index 91%
rename from poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.9.bb
rename to poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb
index 43c0618..6506d77 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.9.bb
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb
@@ -3,7 +3,7 @@
 SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
            file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
            "
-SRC_URI[sha256sum] = "ff697be2011b4c4966b7806929e51b7a08e9d33800d505305d26d9ccde4b533a"
+SRC_URI[sha256sum] = "1d3dadbd57fb86b16a018e9f5f957aeeadf744f56c0553f55737628d06d326ef"
 
 # These extensions are now integrated into the server, so declare the migration
 # path for in-place upgrades.
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
index 363d5da..a537ac2 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0002-purgatory-Pass-r-directly-to-linker.patch
@@ -1,4 +1,4 @@
-From a04bcf8f683c1a5a7d015920124457ad56fb7cf0 Mon Sep 17 00:00:00 2001
+From e5bc9fbd6029057a4e3815a5326af5bd83a450e6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 7 Sep 2015 07:59:45 +0000
 Subject: [PATCH] purgatory: Pass -r directly to linker
@@ -10,15 +10,16 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
 Upstream-Status: Pending
+
 ---
  purgatory/Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 2dd6c47..416e6b9 100644
+index 4d2d071..6673423 100644
 --- a/purgatory/Makefile
 +++ b/purgatory/Makefile
-@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+@@ -61,7 +61,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
  			-I$(shell $(CC) -print-file-name=include)
  $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
  			-Wl,--no-undefined -nostartfiles -nostdlib \
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
index 832fe67..e874a8b 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch
@@ -1,4 +1,4 @@
-From 55e583d20651e829afbbc8dba0f8ec3017cda2d5 Mon Sep 17 00:00:00 2001
+From b62c1da8f8e641397add10367ee9c4cfdedb1cc0 Mon Sep 17 00:00:00 2001
 From: Haiqing Bai <Haiqing.Bai@windriver.com>
 Date: Mon, 9 Jan 2017 15:26:29 +0800
 Subject: [PATCH] kexec: ARM: Fix add_buffer_phys_virt() align issue
@@ -12,15 +12,16 @@
 
 Suggested-By:fredrik.markstrom@gmail.com
 Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
+
 ---
  kexec/arch/arm/crashdump-arm.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index daa4788..3f72b38 100644
+index 1ec1826..cc20f63 100644
 --- a/kexec/arch/arm/crashdump-arm.c
 +++ b/kexec/arch/arm/crashdump-arm.c
-@@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
+@@ -242,6 +242,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
  	void *buf;
  	int err;
  	int last_ranges;
@@ -28,7 +29,7 @@
  
  	/*
  	 * First fetch all the memory (RAM) ranges that we are going to pass to
-@@ -281,6 +282,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
+@@ -283,6 +284,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
  
  		/* for support LPAE enabled kernel*/
  		elf_info.class = ELFCLASS64;
@@ -36,7 +37,7 @@
  
  		err = crash_create_elf64_headers(info, &elf_info,
  					 usablemem_rgns.ranges,
-@@ -302,8 +304,9 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
+@@ -304,8 +306,9 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
  	 * 1MB) so that available memory passed in kernel command line will be
  	 * aligned to 1MB. This is because kernel create_mapping() wants memory
  	 * regions to be aligned to SECTION_SIZE.
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
index 7a4b854..6a21744 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0005-Disable-PIE-during-link.patch
@@ -1,4 +1,4 @@
-From c54488ad5fd657e0f154d76d7456d9080be24836 Mon Sep 17 00:00:00 2001
+From 494888bcc3bbf070dfce1b2686ee34c8619aa33d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 10 Jun 2017 11:18:49 -0700
 Subject: [PATCH] Disable PIE during link
@@ -9,15 +9,16 @@
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  purgatory/Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 416e6b9..f00edb4 100644
+index 6673423..a7405ea 100644
 --- a/purgatory/Makefile
 +++ b/purgatory/Makefile
-@@ -59,7 +59,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
+@@ -60,7 +60,7 @@ $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \
  			-Iinclude \
  			-I$(shell $(CC) -print-file-name=include)
  $(PURGATORY): LDFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS)\
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.27.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb
similarity index 96%
rename from poky/meta/recipes-kernel/kexec/kexec-tools_2.0.27.bb
rename to poky/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb
index 9b9864d..c2141e6 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.27.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb
@@ -19,7 +19,7 @@
            file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \
            "
 
-SRC_URI[sha256sum] = "410f89057d1f4cd2b0477b6c2035ec2c52e21c185e90742bbae8b4f78a7077a5"
+SRC_URI[sha256sum] = "f33d2660b3e38d25a127e87097978e0f7a9a73ab5151a29eb80974d169ff6a29"
 
 inherit autotools update-rc.d systemd
 
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231030.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
similarity index 97%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231030.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
index b1f5247..16cf8e2 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231030.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
@@ -52,6 +52,7 @@
     & Firmware-OLPC \
     & Firmware-ath9k-htc \
     & Firmware-phanfw \
+    & Firmware-powervr \
     & Firmware-qat \
     & Firmware-qcom \
     & Firmware-qcom-yamato \
@@ -63,6 +64,7 @@
     & Firmware-radeon \
     & Firmware-ralink_a_mediatek_company_firmware \
     & Firmware-ralink-firmware \
+    & Firmware-rockchip \
     & Firmware-rtlwifi_firmware \
     & Firmware-imx-sdma_firmware \
     & Firmware-siano \
@@ -125,6 +127,7 @@
                     file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
                     file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
                     file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
+                    file://LICENSE.powervr;md5=83045ed2a2cda15b4eaff682c98c9533 \
                     file://LICENCE.qat_firmware;md5=72de83dfd9b87be7685ed099a39fbea4 \
                     file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
                     file://LICENSE.qcom_yamato;md5=d0de0eeccaf1843a850bf7a6777eec5c \
@@ -136,6 +139,7 @@
                     file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
                     file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
                     file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
+                    file://LICENCE.rockchip;md5=5fd70190c5ed39734baceada8ecced26 \
                     file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
                     file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
                     file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
@@ -151,7 +155,7 @@
                     "
 # WHENCE checksum is defined separately to ease overriding it if
 # class-devupstream is selected.
-WHENCE_CHKSUM  = "ceb5248746d24d165b603e71b288cf75"
+WHENCE_CHKSUM  = "3113c4ea08e5171555f3bf49eceb5b07"
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
 # so that the license files will be copied from fetched source
@@ -202,6 +206,7 @@
 NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
 NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
 NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
+NO_GENERIC_LICENSE[Firmware-powervr] = "LICENSE.powervr"
 NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware"
 NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
 NO_GENERIC_LICENSE[Firmware-qcom-yamato] = "LICENSE.qcom_yamato"
@@ -213,6 +218,7 @@
 NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon"
 NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware"
 NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
+NO_GENERIC_LICENSE[Firmware-rockchip] = "LICENCE.rockchip"
 NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
 NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
 NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
@@ -237,7 +243,7 @@
 # Pin this to the 20220509 release, override this in local.conf
 SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
 
-SRC_URI[sha256sum] = "c98d200fc4a3120de1a594713ce34e135819dff23e883a4ed387863ba25679c7"
+SRC_URI[sha256sum] = "96af7e4b5eabd37869cdb3dcbb7ab36911106d39b76e799fa1caab16a9dbe8bb"
 
 inherit allarch
 
@@ -248,7 +254,8 @@
 }
 
 do_install() {
-        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install
+        # install-nodedup avoids rdfind dependency
+        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install-nodedup
         cp GPL-2 LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
 }
 
@@ -360,6 +367,7 @@
              ${PN}-netronome-license ${PN}-netronome \
              ${PN}-olpc-license ${PN}-olpc \
              ${PN}-phanfw-license ${PN}-phanfw \
+             ${PN}-powervr-license ${PN}-powervr \
              ${PN}-qat ${PN}-qat-license \
              ${PN}-qcom-license ${PN}-qcom-yamato-license \
              ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 ${PN}-qcom-venus-6.0 \
@@ -381,6 +389,7 @@
              ${PN}-qcom-sm8250-adreno ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
              ${PN}-qcom-sm8250-thundercomm-rb5-sensors \
              ${PN}-qla2xxx ${PN}-qla2xxx-license \
+             ${PN}-rockchip-license ${PN}-rockchip-dptx \
              ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
              ${PN}-lt9611uxc ${PN}-lontium-license \
              ${PN}-whence-license \
@@ -779,6 +788,15 @@
 
 RDEPENDS:${PN}-phanfw += "${PN}-phanfw-license"
 
+# For PowerVR
+LICENSE:${PN}-powervr = "Firmware-powervr"
+LICENSE:${PN}-powervr-license = "Firmware-powervr"
+
+FILES:${PN}-powervr = "${nonarch_base_libdir}/firmware/powervr"
+FILES:${PN}-powervr-license = "${nonarch_base_libdir}/firmware/LICENSE.powervr"
+
+RDEPENDS:${PN}-powervr += "${PN}-powervr-license"
+
 # For qla2xxx
 LICENSE:${PN}-qla2xxx = "Firmware-qla2xxx"
 LICENSE:${PN}-qla2xxx-license = "Firmware-qla2xxx"
@@ -1458,6 +1476,12 @@
 
 FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
 
+# For Rockchip
+LICENSE:${PN}-rockchip-dptx = "Firmware-rockchip"
+FILES:${PN}-rockchip-license = "${nonarch_base_libdir}/firmware/LICENCE.rockchip"
+FILES:${PN}-rockchip-dptx = "${nonarch_base_libdir}/firmware/rockchip/dptx.bin"
+RDEPENDS:${PN}-rockchip-dptx = "${PN}-rockchip-license"
+
 # For Amlogic VDEC
 LICENSE:${PN}-amlogic-vdec = "Firmware-amlogic_vdec"
 FILES:${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec"
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 32882af..4f26813 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -54,7 +54,7 @@
 inherit linux-kernel-base kernel-arch manpages
 
 # needed for building the tools/perf Python bindings
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
+inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
 inherit python3-dir
 export PYTHON_SITEPACKAGES_DIR
 
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap-native_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap-native_git.bb
index 19cc1cf..2690b25 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap-native_git.bb
+++ b/poky/meta/recipes-kernel/systemtap/systemtap-native_git.bb
@@ -1,6 +1,6 @@
 
 require systemtap_git.bb
 
-inherit native
+inherit_defer native
 
 addtask addto_recipe_sysroot after do_populate_sysroot before do_build
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
index 0a1349e..68f5c76 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb
@@ -33,7 +33,7 @@
 PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod"
 
 inherit autotools gettext pkgconfig systemd
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'setuptools3-base', '', d)}
+inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'setuptools3-base', '', d)}
 
 # | ../git/elaborate.cxx:2601:21: error: storing the address of local variable 'sym' in '*s.systemtap_session::symbol_resolver' [-Werror=dangling-pointer=]
 CXXFLAGS += "-Wno-dangling-pointer"
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.3.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.4.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/mpg123/mpg123_1.32.3.bb
rename to poky/meta/recipes-multimedia/mpg123/mpg123_1.32.4.bb
index 3ea68b1..8c6101f 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.3.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.4.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] = "2d9913a57d4ee8f497a182c6e82582602409782a4fb481e989feebf4435867b4"
+SRC_URI[sha256sum] = "5a99664338fb2f751b662f40ee25804d0c9db6b575dcb5ce741c6dc64224a08a"
 
 UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch b/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
new file mode 100644
index 0000000..a6d67c1
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/no-musttail-arm.patch
@@ -0,0 +1,21 @@
+clang/arm: Do not use MUST_TAIL_CALL
+
+This causes clang-17 to crash see [1]
+this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit
+
+[1] https://github.com/llvm/llvm-project/issues/67767
+[2] https://github.com/WebKit/WebKit/commit/4d816460b765acd8aef90ab474615850b91ecc35
+
+Upstream-Status: Inappropriate [work around to avoid clang compiler crash]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/Source/WTF/wtf/Compiler.h
++++ b/Source/WTF/wtf/Compiler.h
+@@ -284,7 +284,7 @@
+ /* MUST_TAIL_CALL */
+ 
+ #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
+-#if __has_cpp_attribute(clang::musttail)
++#if __has_cpp_attribute(clang::musttail) && !defined(__arm__)
+ #define MUST_TAIL_CALL [[clang::musttail]]
+ #endif
+ #endif
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
index 2ba60eb..997aa55 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.42.2.bb
@@ -14,6 +14,7 @@
            file://reproducibility.patch \
            file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
            file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \
+           file://no-musttail-arm.patch \
            "
 SRC_URI[sha256sum] = "5720aa3e8627f1b9f63252187d4df0f8233ae71d697b1796ebfbe5ca750bd118"
 
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
index effba2e..9bbd7d5 100644
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
+++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
@@ -9,7 +9,12 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI = "git://github.com/intel/${BPN};branch=main;protocol=https"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+SRC_URI = "git://github.com/intel/${BPN};branch=main;protocol=https \
+	file://0001-BmapCopy.py-fix-error-message.patch \
+	file://0002-CLI.py-fix-block-device-udev-race-condition.patch \
+	file://0003-BmapCopy.py-tweak-suggested-udev-rule.patch \
+	"
 
 SRCREV = "d84a6fd202fe246a0bc19ed2082e41bcdd75fb13"
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch b/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch
new file mode 100644
index 0000000..ddac322
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch
@@ -0,0 +1,36 @@
+From ad0b0513a46c7d238d0fdabee0267c7084b75e84 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 11 Jan 2024 22:04:23 -0500
+Subject: [PATCH 1/3] BmapCopy.py: fix error message
+
+The wrong variable was being used when attempting to print out an informative
+message to the user. Leading to nonsense messages such as:
+
+	bmaptool: info: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 1 I/O scheduler: 1 in use. None)
+
+Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/129]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ bmaptools/BmapCopy.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/bmaptools/BmapCopy.py b/bmaptools/BmapCopy.py
+index 9de7ef434233..b1e8e0fcbdb7 100644
+--- a/bmaptools/BmapCopy.py
++++ b/bmaptools/BmapCopy.py
+@@ -892,9 +892,9 @@ class BmapBdevCopy(BmapCopy):
+                 _log.info(
+                     "failed to enable I/O optimization, expect "
+                     "suboptimal speed (reason: cannot switch to the "
+-                    f"{max_ratio_chg.temp_value} I/O scheduler: "
+-                    f"{max_ratio_chg.old_value or 'unknown scheduler'} in use. "
+-                    f"{max_ratio_chg.error})"
++                    f"'{scheduler_chg.temp_value}' I/O scheduler: "
++                    f"'{scheduler_chg.old_value or 'unknown scheduler'}' in use. "
++                    f"{scheduler_chg.error})"
+                 )
+             if max_ratio_chg.error or scheduler_chg.error:
+                 _log.info(
+-- 
+2.43.0.76.g1a87c842ece3
+
diff --git a/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch b/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
new file mode 100644
index 0000000..ea2749a
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
@@ -0,0 +1,83 @@
+From 34f4321dfce28697f830639260076e60d765698b Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Fri, 12 Jan 2024 01:16:19 -0500
+Subject: [PATCH 2/3] CLI.py: fix block device udev race condition
+
+We are encouraged to add a udev rule to change a block device's
+bdi/max_ratio to '1' and queue/scheduler to 'none', which I did.
+So I was surprised when, about 50% of the time, I kept seeing:
+
+	...
+	bmaptool: info: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 'none' I/O scheduler: 'bfq' in use. [Errno 13] Permission denied: '/sys/dev/block/8:160/queue/scheduler')
+	bmaptool: info: You may want to set these I/O optimizations through a udev rule like this:
+	...
+
+The strange part is that sometimes it doesn't report a problem and
+sometimes it does, even if the block device is left plugged in continuously
+between multiple bmaptool invocations.
+
+In all of my tests the bdi/max_ratio is always okay, but the
+queue/scheduler would sometimes be reported as being the default scheduler,
+not the one the udev rule was setting (none). Yet no matter how many times
+I would read the file outside of bmaptool it always would be set to the
+correct scheduler.
+
+It turns out that opening a block device in "wb+" mode, which is what
+bmaptool is doing at one point, causes the block device to act as though
+it was just inserted, giving it the default settings, then causing udev to
+trigger to switch it to the requested settings. However, if udev doesn't
+finish before bmaptool reads the scheduler value there's a chance it will
+read the pre-udev value, not the post-udev value, even though the block
+device was never physically removed and re-inserted.
+
+bmaptool was opening every file, then checking for block devices and
+if found, closing then re-opening the block devices via a special
+block-opening helper function. This patch re-organizes the code to only
+open block devices once using the special block-opening helper function
+that does not open block devices in "wb+" mode.
+
+Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/130]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ bmaptools/CLI.py | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/bmaptools/CLI.py b/bmaptools/CLI.py
+index 82303b7bc398..0a263f05cf43 100644
+--- a/bmaptools/CLI.py
++++ b/bmaptools/CLI.py
+@@ -38,6 +38,7 @@ import tempfile
+ import traceback
+ import shutil
+ import io
++import pathlib
+ from bmaptools import BmapCreate, BmapCopy, BmapHelpers, TransRead
+ 
+ VERSION = "3.7"
+@@ -440,17 +441,16 @@ def open_files(args):
+     # Try to open the destination file. If it does not exist, a new regular
+     # file will be created. If it exists and it is a regular file - it'll be
+     # truncated. If this is a block device, it'll just be opened.
++    dest_is_blkdev = False
+     try:
+-        dest_obj = open(args.dest, "wb+")
++        if pathlib.Path(args.dest).is_block_device():
++            dest_is_blkdev = True
++            dest_obj = open_block_device(args.dest)
++        else:
++            dest_obj = open(args.dest, "wb+")
+     except IOError as err:
+         error_out("cannot open destination file '%s':\n%s", args.dest, err)
+ 
+-    # Check whether the destination file is a block device
+-    dest_is_blkdev = stat.S_ISBLK(os.fstat(dest_obj.fileno()).st_mode)
+-    if dest_is_blkdev:
+-        dest_obj.close()
+-        dest_obj = open_block_device(args.dest)
+-
+     return (image_obj, dest_obj, bmap_obj, bmap_path, image_obj.size, dest_is_blkdev)
+ 
+ 
+-- 
+2.43.0.76.g1a87c842ece3
+
diff --git a/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch b/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
new file mode 100644
index 0000000..2794eea
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
@@ -0,0 +1,43 @@
+From 2a71e0c1a675e4f30f02c03dd0325944b393c434 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Fri, 12 Jan 2024 01:54:26 -0500
+Subject: [PATCH 3/3] BmapCopy.py: tweak suggested udev rule
+
+Both bdi/max_ratio and queue/scheduler are only valid for whole block devices,
+not individual partitions. Therefore, add a
+
+	ENV{DEVTYPE}!="partition",
+
+to the suggested udev rule so that bmaptool doesn't try to check every
+partition of the block device, just the whole device.
+
+Otherwise the following will appear in the logs:
+
+	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/bdi/min_ratio}, ignoring: No such file or directory
+	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/bdi/max_ratio}, ignoring: No such file or directory
+	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/queue/scheduler}, ignoring: No such file or directory
+	[... and so on for every partition on your block device ...]
+
+Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/131]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ bmaptools/BmapCopy.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bmaptools/BmapCopy.py b/bmaptools/BmapCopy.py
+index b1e8e0fcbdb7..a4c1177246a9 100644
+--- a/bmaptools/BmapCopy.py
++++ b/bmaptools/BmapCopy.py
+@@ -906,7 +906,8 @@ class BmapBdevCopy(BmapCopy):
+                     "\n"
+                     'ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="xxxx", '
+                     'ATTRS{idProduct}=="xxxx", TAG+="uaccess"\n'
+-                    'SUBSYSTEMS=="usb", ATTRS{idVendor}=="xxxx", '
++                    'SUBSYSTEMS=="usb", ENV{DEVTYPE}!="partition", '
++                    'ATTRS{idVendor}=="xxxx", '
+                     'ATTRS{idProduct}=="xxxx", ATTR{bdi/min_ratio}="0", '
+                     'ATTR{bdi/max_ratio}="1", ATTR{queue/scheduler}="none"\n'
+                     "\n"
+-- 
+2.43.0.76.g1a87c842ece3
+
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.23.2.bb b/poky/meta/recipes-support/gpgme/gpgme_1.23.2.bb
index b29c182..d8807b3 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.23.2.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.23.2.bb
@@ -54,7 +54,8 @@
                  --disable-g13-test \
 '
 
-inherit autotools texinfo binconfig-disabled pkgconfig ${PYTHON_INHERIT} python3native multilib_header
+inherit autotools texinfo binconfig-disabled pkgconfig multilib_header
+inherit_defer ${PYTHON_INHERIT} python3native
 
 export PKG_CONFIG='pkg-config'
 
diff --git a/poky/meta/recipes-support/libbsd/libbsd/0001-funopen-Replace-off64_t-with-off_t-in-funopen_seek.patch b/poky/meta/recipes-support/libbsd/libbsd/0001-funopen-Replace-off64_t-with-off_t-in-funopen_seek.patch
deleted file mode 100644
index 45ecef0..0000000
--- a/poky/meta/recipes-support/libbsd/libbsd/0001-funopen-Replace-off64_t-with-off_t-in-funopen_seek.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9c4e5f8984e46344c9e150764b8aa0a7a70b6cb5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 15 Dec 2022 09:02:22 -0800
-Subject: [PATCH] funopen: Replace off64_t with off_t in funopen_seek
-
-AC_SYS_LARGEFILE in configure.ac is setting needed defines to make
-64bit off_t on relevant platforms.
-
-Fixes build on musl
-
-| ../../../../../../../../workspace/sources/libbsd/src/funopen.c:68:28: error: unknown type name 'off64_t'; did you mean 'off_t'?
-| funopen_seek(void *cookie, off64_t *offset, int whence)
-|                            ^~~~~~~
-|                            off_t
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/libbsd/libbsd/-/merge_requests/24]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/funopen.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/funopen.c b/src/funopen.c
-index 1e6f43a..a9b40e8 100644
---- a/src/funopen.c
-+++ b/src/funopen.c
-@@ -65,7 +65,7 @@ funopen_write(void *cookie, const char *buf, size_t size)
- }
- 
- static int
--funopen_seek(void *cookie, off64_t *offset, int whence)
-+funopen_seek(void *cookie, off_t *offset, int whence)
- {
- 	struct funopen_cookie *cookiewrap = cookie;
- 	off_t soff = *offset;
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.11.7.bb b/poky/meta/recipes-support/libbsd/libbsd_0.11.8.bb
similarity index 81%
rename from poky/meta/recipes-support/libbsd/libbsd_0.11.7.bb
rename to poky/meta/recipes-support/libbsd/libbsd_0.11.8.bb
index 5c958f9..17049c8 100644
--- a/poky/meta/recipes-support/libbsd/libbsd_0.11.7.bb
+++ b/poky/meta/recipes-support/libbsd/libbsd_0.11.8.bb
@@ -1,6 +1,3 @@
-# Copyright (C) 2013 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
 SUMMARY = "Library of utility functions from BSD systems"
 DESCRIPTION = "This library provides useful functions commonly found on BSD systems, \
                and lacking on others like GNU systems, thus making it easier to port \
@@ -36,14 +33,12 @@
 LICENSE:${PN}-src = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-staticdev = "BSD-3-Clause & ISC & PD"
 
-LIC_FILES_CHKSUM = "file://COPYING;md5=75e85c5a558f86d10fbd5abc567ea5e6"
+LIC_FILES_CHKSUM = "file://COPYING;md5=befe09fada57bdcf7f7c12f51081b08f"
 SECTION = "libs"
 
-SRC_URI = "https://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
-           file://0001-funopen-Replace-off64_t-with-off_t-in-funopen_seek.patch \
-           "
+SRC_URI = "https://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "9baa186059ebbf25c06308e9f991fda31f7183c0f24931826d83aa6abd8a0261"
+SRC_URI[sha256sum] = "55fdfa2696fb4d55a592fa9ad14a9df897c7b0008ddb3b30c419914841f85f33"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-support/libunwind/libunwind.inc b/poky/meta/recipes-support/libunwind/libunwind.inc
deleted file mode 100644
index bf74f9f..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Library for obtaining the call-chain of a program"
-DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program"
-HOMEPAGE = "http://www.nongnu.org/libunwind"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f"
-DEPENDS += "libatomic-ops"
-DEPENDS:append:libc-musl = " libucontext"
-
-inherit autotools multilib_header
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,xz"
-PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, latex2man-native"
-
-EXTRA_OECONF:arm = "--enable-debug-frame"
-EXTRA_OECONF:armeb = "--enable-debug-frame"
-EXTRA_OECONF:aarch64 = "--enable-debug-frame"
-
-do_install:append () {
-	oe_multilib_header libunwind.h
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch b/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch
index fdadcd3..5840c2b 100644
--- a/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch
+++ b/poky/meta/recipes-support/libunwind/libunwind/0001-src-Gtrace-remove-unguarded-print-calls.patch
@@ -1,4 +1,4 @@
-From 87d24ee47fd0e0461fca32d17564f21d76cbcb92 Mon Sep 17 00:00:00 2001
+From 9b27fa9bcd5cadd4c841c42710f41a090377e531 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@arm.com>
 Date: Fri, 24 Mar 2023 16:18:44 +0000
 Subject: [PATCH] src/Gtrace: remove unguarded print() calls
@@ -19,7 +19,7 @@
 
 Fixes #482.
 
-Upstream-Status: Submitted [https://github.com/libunwind/libunwind/pull/483]
+Upstream-Status: Backport [9b27fa9bcd5cadd4c841c42710f41a090377e531]
 Signed-off-by: Ross Burton <ross.burton@arm.com>
 ---
  src/arm/Gtrace.c | 4 ++--
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch b/poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch
deleted file mode 100644
index f02f13f..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0003-x86-Stub-out-x86_local_resume.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 0b2243f19d4ea12a2a68478a5aed503947a800af Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Mar 2016 16:19:29 +0000
-Subject: [PATCH] x86: Stub out x86_local_resume()
-
-its purpose seems
-to be unwinding across signal handler boundaries, which cannot happen
-in correct programs anyway. Replacing the whole function with
-something like *(volatile char *)0=0; (i.e. crash), gets a working
-libunwind
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/x86/Gos-linux.c | 26 +-------------------------
- 1 file changed, 1 insertion(+), 25 deletions(-)
-
-diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c
-index d448dce..c25ae0c 100644
---- a/src/x86/Gos-linux.c
-+++ b/src/x86/Gos-linux.c
-@@ -284,31 +284,7 @@ x86_r_uc_addr (ucontext_t *uc, int reg)
- HIDDEN int
- x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
- {
--  struct cursor *c = (struct cursor *) cursor;
--  ucontext_t *uc = c->uc;
--
--  /* Ensure c->pi is up-to-date.  On x86, it's relatively common to be
--     missing DWARF unwind info.  We don't want to fail in that case,
--     because the frame-chain still would let us do a backtrace at
--     least.  */
--  dwarf_make_proc_info (&c->dwarf);
--
--  if (unlikely (c->sigcontext_format != X86_SCF_NONE))
--    {
--      struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
--
--      Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
--#if !defined(__ANDROID__)
--      x86_sigreturn (sc);
--#endif
--    }
--  else
--    {
--      Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
--#if !defined(__ANDROID__)
--      setcontext (uc);
--#endif
--    }
-+  *(volatile char *)0=0;
-   return -UNW_EINVAL;
- }
- 
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch b/poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch
deleted file mode 100644
index 124d0e0..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0004-Fix-build-on-mips-musl.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 6bdab5cc8f1e2ec5f84fc9f59f1699a726980709 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 23 Mar 2016 06:08:59 +0000
-Subject: [PATCH 4/6] Fix build on mips/musl
-
-Do not include endian.h on musl it includes
-further headers which can not be compiled in __ASSEMBLER__
- mode
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/coredump/_UCD_internal.h | 35 +++++++++++++++++++++++++++++++++++
- src/mips/getcontext.S        |  3 +--
- 2 files changed, 36 insertions(+), 2 deletions(-)
-
-diff --git a/src/coredump/_UCD_internal.h b/src/coredump/_UCD_internal.h
-index 3c95a2a..21ed1c3 100644
---- a/src/coredump/_UCD_internal.h
-+++ b/src/coredump/_UCD_internal.h
-@@ -44,6 +44,41 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
- 
- #include "libunwind_i.h"
- 
-+#ifndef __GLIBC__
-+#include <sys/reg.h>
-+
-+#define EF_REG0			6
-+#define EF_REG1			7
-+#define EF_REG2			8
-+#define EF_REG3			9
-+#define EF_REG4			10
-+#define EF_REG5			11
-+#define EF_REG6			12
-+#define EF_REG7			13
-+#define EF_REG8			14
-+#define EF_REG9			15
-+#define EF_REG10		16
-+#define EF_REG11		17
-+#define EF_REG12		18
-+#define EF_REG13		19
-+#define EF_REG14		20
-+#define EF_REG15		21
-+#define EF_REG16		22
-+#define EF_REG17		23
-+#define EF_REG18		24
-+#define EF_REG19		25
-+#define EF_REG20		26
-+#define EF_REG21		27
-+#define EF_REG22		28
-+#define EF_REG23		29
-+#define EF_REG24		30
-+#define EF_REG25		31
-+#define EF_REG28		34
-+#define EF_REG29		35
-+#define EF_REG30		36
-+#define EF_REG31		37
-+#endif
-+
- 
- #if SIZEOF_OFF_T == 4
- typedef uint32_t uoff_t;
-diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S
-index d1dbd57..de9b681 100644
---- a/src/mips/getcontext.S
-+++ b/src/mips/getcontext.S
-@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
- 
- #include "offsets.h"
--#include <endian.h>
- 
- 	.text
- 
- #if _MIPS_SIM == _ABIO32
--# if __BYTE_ORDER == __BIG_ENDIAN
-+# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
- #  define OFFSET 4
- # else
- #  define OFFSET 0
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch b/poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch
deleted file mode 100644
index 9941612..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/0006-Fix-for-X32.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f2eae0af620925b3686410470fc6fbc66ec1dc52 Mon Sep 17 00:00:00 2001
-From: Christopher Larson <chris_larson@mentor.com>
-Date: Tue, 13 Dec 2016 09:50:34 -0700
-Subject: [PATCH] Fix for X32
-
-Apply patch to fix the X32 build from https://github.com/sjnewbury/x32.
-
-Upstream-Status: Pending
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-
----
- src/x86_64/Gos-linux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/x86_64/Gos-linux.c b/src/x86_64/Gos-linux.c
-index b489329..0550005 100644
---- a/src/x86_64/Gos-linux.c
-+++ b/src/x86_64/Gos-linux.c
-@@ -146,8 +146,8 @@ x86_64_sigreturn (unw_cursor_t *cursor)
- 
-   Debug (8, "resuming at ip=%llx via sigreturn(%p)\n",
-              (unsigned long long) c->dwarf.ip, sc);
--  __asm__ __volatile__ ("mov %0, %%rsp;"
--                        "mov %1, %%rax;"
-+  __asm__ __volatile__ ("mov %q0, %%rsp;"
-+                        "mov %q1, %%rax;"
-                         "syscall"
-                         :: "r"((uint64_t)sc), "i"(SYS_rt_sigreturn)
-                         : "memory");
diff --git a/poky/meta/recipes-support/libunwind/libunwind/mips-byte-order.patch b/poky/meta/recipes-support/libunwind/libunwind/mips-byte-order.patch
new file mode 100644
index 0000000..8848780
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/mips-byte-order.patch
@@ -0,0 +1,35 @@
+From dbbf8110ed3fd2cbac20a8ec2ac769e13c67bab1 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 16 Jan 2024 18:22:38 +0000
+Subject: [PATCH 2/2] byte order
+
+endian.h on musl/mips can't be included in __ASSEMBLER__ mode,
+so use the __BYTE_ORDER__ symbol instead.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/mips/getcontext.S | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/mips/getcontext.S b/src/mips/getcontext.S
+index d1dbd579..de9b6818 100644
+--- a/src/mips/getcontext.S
++++ b/src/mips/getcontext.S
+@@ -24,12 +24,11 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
+ 
+ #include "offsets.h"
+-#include <endian.h>
+ 
+ 	.text
+ 
+ #if _MIPS_SIM == _ABIO32
+-# if __BYTE_ORDER == __BIG_ENDIAN
++# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ #  define OFFSET 4
+ # else
+ #  define OFFSET 0
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/mips-coredump-register.patch b/poky/meta/recipes-support/libunwind/libunwind/mips-coredump-register.patch
new file mode 100644
index 0000000..68adcd1
--- /dev/null
+++ b/poky/meta/recipes-support/libunwind/libunwind/mips-coredump-register.patch
@@ -0,0 +1,100 @@
+From 7750e2a29b084ee033acc82abab410035e220d3f Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 16 Jan 2024 18:21:26 +0000
+Subject: [PATCH 1/2] coredump-mips-register
+
+glibc and musl have different names for the registers, add a
+macro that generates the names appropriately.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+---
+ src/coredump/_UCD_access_reg_linux.c | 69 ++++++++++++++++------------
+ 1 file changed, 39 insertions(+), 30 deletions(-)
+
+diff --git a/src/coredump/_UCD_access_reg_linux.c b/src/coredump/_UCD_access_reg_linux.c
+index 27eef123..beefdb47 100644
+--- a/src/coredump/_UCD_access_reg_linux.c
++++ b/src/coredump/_UCD_access_reg_linux.c
+@@ -67,38 +67,47 @@ _UCD_access_reg (unw_addr_space_t as,
+     goto badreg;
+ #else
+ #if defined(UNW_TARGET_MIPS)
++
++/* glibc and musl use different names */
++#ifdef __GLIBC__
++#define EF_REG(x) EF_REG ## x
++#else
++#include <sys/reg.h>
++#define EF_REG(x) EF_R ## x
++#endif
++
+   static const uint8_t remap_regs[] =
+     {
+-      [UNW_MIPS_R0]  = EF_REG0,
+-      [UNW_MIPS_R1]  = EF_REG1,
+-      [UNW_MIPS_R2]  = EF_REG2,
+-      [UNW_MIPS_R3]  = EF_REG3,
+-      [UNW_MIPS_R4]  = EF_REG4,
+-      [UNW_MIPS_R5]  = EF_REG5,
+-      [UNW_MIPS_R6]  = EF_REG6,
+-      [UNW_MIPS_R7]  = EF_REG7,
+-      [UNW_MIPS_R8]  = EF_REG8,
+-      [UNW_MIPS_R9]  = EF_REG9,
+-      [UNW_MIPS_R10] = EF_REG10,
+-      [UNW_MIPS_R11] = EF_REG11,
+-      [UNW_MIPS_R12] = EF_REG12,
+-      [UNW_MIPS_R13] = EF_REG13,
+-      [UNW_MIPS_R14] = EF_REG14,
+-      [UNW_MIPS_R15] = EF_REG15,
+-      [UNW_MIPS_R16] = EF_REG16,
+-      [UNW_MIPS_R17] = EF_REG17,
+-      [UNW_MIPS_R18] = EF_REG18,
+-      [UNW_MIPS_R19] = EF_REG19,
+-      [UNW_MIPS_R20] = EF_REG20,
+-      [UNW_MIPS_R21] = EF_REG21,
+-      [UNW_MIPS_R22] = EF_REG22,
+-      [UNW_MIPS_R23] = EF_REG23,
+-      [UNW_MIPS_R24] = EF_REG24,
+-      [UNW_MIPS_R25] = EF_REG25,
+-      [UNW_MIPS_R28] = EF_REG28,
+-      [UNW_MIPS_R29] = EF_REG29,
+-      [UNW_MIPS_R30] = EF_REG30,
+-      [UNW_MIPS_R31] = EF_REG31,
++      [UNW_MIPS_R0]  = EF_REG(0),
++      [UNW_MIPS_R1]  = EF_REG(1),
++      [UNW_MIPS_R2]  = EF_REG(2),
++      [UNW_MIPS_R3]  = EF_REG(3),
++      [UNW_MIPS_R4]  = EF_REG(4),
++      [UNW_MIPS_R5]  = EF_REG(5),
++      [UNW_MIPS_R6]  = EF_REG(6),
++      [UNW_MIPS_R7]  = EF_REG(7),
++      [UNW_MIPS_R8]  = EF_REG(8),
++      [UNW_MIPS_R9]  = EF_REG(9),
++      [UNW_MIPS_R10] = EF_REG(10),
++      [UNW_MIPS_R11] = EF_REG(11),
++      [UNW_MIPS_R12] = EF_REG(12),
++      [UNW_MIPS_R13] = EF_REG(13),
++      [UNW_MIPS_R14] = EF_REG(14),
++      [UNW_MIPS_R15] = EF_REG(15),
++      [UNW_MIPS_R16] = EF_REG(16),
++      [UNW_MIPS_R17] = EF_REG(17),
++      [UNW_MIPS_R18] = EF_REG(18),
++      [UNW_MIPS_R19] = EF_REG(19),
++      [UNW_MIPS_R20] = EF_REG(20),
++      [UNW_MIPS_R21] = EF_REG(21),
++      [UNW_MIPS_R22] = EF_REG(22),
++      [UNW_MIPS_R23] = EF_REG(23),
++      [UNW_MIPS_R24] = EF_REG(24),
++      [UNW_MIPS_R25] = EF_REG(25),
++      [UNW_MIPS_R28] = EF_REG(28),
++      [UNW_MIPS_R29] = EF_REG(29),
++      [UNW_MIPS_R30] = EF_REG(30),
++      [UNW_MIPS_R31] = EF_REG(31),
+       [UNW_MIPS_PC]  = EF_CP0_EPC,
+     };
+ #elif defined(UNW_TARGET_X86)
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch b/poky/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch
deleted file mode 100644
index 49985b5..0000000
--- a/poky/meta/recipes-support/libunwind/libunwind/musl-header-conflict.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From e1de5a5b42062dc02769f320c7785928b2ee0c57 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 18 Aug 2016 14:46:32 +0100
-Subject: [PATCH] If you:
-
-TCLIBC=musl bitbake unwind
-TCLIBC=musl bitbake gcc-runtime -c cleansstate
-TCLIBC=musl bitbake gcc-runtime
-
-you will see libstdc++ fail to build due to finding libunwind's header file.
-
-Khem: "When we build any of gcc components they expect to use internal version
-and that works with glibc based gcc since the search headers first look into gcc
-headers, however with musl the gcc headers are searched after the standard
-headers ( which is by design the right thing )."
-
-This patch hacks around the issue by looking for a define used during gcc-runtime's
-build and skipping to the internal header in that case.
-
-[YOCTO #10129]
-
-RP 2016/8/18
-
-Upstream-Status: Inappropriate [really need to fix gcc]
-
----
- include/unwind.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/include/unwind.h b/include/unwind.h
-index 93780fa..c812414 100644
---- a/include/unwind.h
-+++ b/include/unwind.h
-@@ -23,6 +23,10 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
- 
-+#ifdef _GLIBCXX_SHARED
-+#include_next <unwind.h>
-+#endif
-+
- #ifndef _UNWIND_H
- #define _UNWIND_H
- 
diff --git a/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb b/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb
index d678626..3208785 100644
--- a/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb
+++ b/poky/meta/recipes-support/libunwind/libunwind_1.6.2.bb
@@ -1,25 +1,42 @@
-require libunwind.inc
+SUMMARY = "Library for obtaining the call-chain of a program"
+DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program"
+HOMEPAGE = "http://www.nongnu.org/libunwind"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f"
+DEPENDS += "libatomic-ops"
+DEPENDS:append:libc-musl = " libucontext"
 
 SRC_URI = "http://download.savannah.nongnu.org/releases/libunwind/libunwind-${PV}.tar.gz \
-           file://0003-x86-Stub-out-x86_local_resume.patch \
-           file://0004-Fix-build-on-mips-musl.patch \
+           file://mips-byte-order.patch \
+           file://mips-coredump-register.patch \
            file://0005-ppc32-Consider-ucontext-mismatches-between-glibc-and.patch \
-           file://0006-Fix-for-X32.patch \
            file://0001-src-Gtrace-remove-unguarded-print-calls.patch \
            "
-SRC_URI:append:libc-musl = " file://musl-header-conflict.patch"
 
 SRC_URI[sha256sum] = "4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976"
 
-EXTRA_OECONF:append:libc-musl = " --disable-documentation --disable-tests --enable-static"
+inherit autotools multilib_header
+
+COMPATIBLE_HOST:riscv32 = "null"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,xz"
+PACKAGECONFIG[zlib] = "--enable-zlibdebuginfo,--disable-zlibdebuginfo,zlib"
+PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, latex2man-native"
+
+EXTRA_OECONF = "--enable-static"
 
 # http://errors.yoctoproject.org/Errors/Details/20487/
 ARM_INSTRUCTION_SET:armv4 = "arm"
 ARM_INSTRUCTION_SET:armv5 = "arm"
 
-COMPATIBLE_HOST:riscv32 = "null"
-
 LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
 
 SECURITY_LDFLAGS:append:libc-musl = " -lssp_nonshared"
 CACHED_CONFIGUREVARS:append:libc-musl = " LDFLAGS='${LDFLAGS} -lucontext'"
+
+do_install:append () {
+	oe_multilib_header libunwind.h
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/nghttp2/nghttp2_1.57.0.bb b/poky/meta/recipes-support/nghttp2/nghttp2_1.58.0.bb
similarity index 91%
rename from poky/meta/recipes-support/nghttp2/nghttp2_1.57.0.bb
rename to poky/meta/recipes-support/nghttp2/nghttp2_1.58.0.bb
index 0cf1e3e..7b2ff4b 100644
--- a/poky/meta/recipes-support/nghttp2/nghttp2_1.57.0.bb
+++ b/poky/meta/recipes-support/nghttp2/nghttp2_1.58.0.bb
@@ -8,7 +8,7 @@
     ${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz \
     file://0001-fetch-ocsp-response-use-python3.patch \
 "
-SRC_URI[sha256sum] = "9210b0113109f43be526ac5835d58a701411821a4d39e155c40d67c40f47a958"
+SRC_URI[sha256sum] = "4a68a3040da92fd9872c056d0f6b0cd60de8410de10b578f8ade9ecc14d297e0"
 
 inherit cmake manpages python3native github-releases
 PACKAGECONFIG[manpages] = ""
diff --git a/poky/meta/recipes-support/vte/vte_0.74.1.bb b/poky/meta/recipes-support/vte/vte_0.74.2.bb
similarity index 95%
rename from poky/meta/recipes-support/vte/vte_0.74.1.bb
rename to poky/meta/recipes-support/vte/vte_0.74.2.bb
index 071f668..d8eafde 100644
--- a/poky/meta/recipes-support/vte/vte_0.74.1.bb
+++ b/poky/meta/recipes-support/vte/vte_0.74.2.bb
@@ -19,7 +19,7 @@
 inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-introspection systemd vala
 
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch"
-SRC_URI[archive.sha256sum] = "2328c3f1c998350a18e0e513348e9fc581d57ea4e7b89aedf11e0e3c65042b4f"
+SRC_URI[archive.sha256sum] = "a535fb2a98fea8a2449cd1a02cccf5190131dddff52e715afdace3feb536eae7"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
diff --git a/poky/scripts/lib/recipetool/create_go.py b/poky/scripts/lib/recipetool/create_go.py
index 21dcb41..c560831 100644
--- a/poky/scripts/lib/recipetool/create_go.py
+++ b/poky/scripts/lib/recipetool/create_go.py
@@ -504,8 +504,9 @@
 
         return inline_fcn, commit
 
-    def __go_handle_dependencies(self, go_mod, localfilesdir, extravalues, d):
+    def __go_handle_dependencies(self, go_mod, srctree, localfilesdir, extravalues, d):
 
+        import re
         src_uris = []
         src_revs = []
 
@@ -525,6 +526,27 @@
 
             return src_rev
 
+        # we first go over replacement list, because we are essentialy
+        # interested only in the replaced path
+        if go_mod['Replace']:
+            for replacement in go_mod['Replace']:
+                oldpath = replacement['Old']['Path']
+                path = replacement['New']['Path']
+                version = ''
+                if 'Version' in replacement['New']:
+                    version = replacement['New']['Version']
+
+                if os.path.exists(os.path.join(srctree, path)):
+                    # the module refers to the local path, remove it from requirement list
+                    # because it's a local module
+                    go_mod['Require'][:] = [v for v in go_mod['Require'] if v.get('Path') != oldpath]
+                else:
+                    # Replace the path and the version, so we don't iterate replacement list anymore
+                    for require in go_mod['Require']:
+                        if require['Path'] == oldpath:
+                            require.update({'Path': path, 'Version': version})
+                            break
+
         for require in go_mod['Require']:
             path = require['Path']
             version = require['Version']
@@ -534,18 +556,9 @@
             src_uris.append(inline_fcn)
             src_revs.append(generate_src_rev(path, version, commithash))
 
-        if go_mod['Replace']:
-            for replacement in go_mod['Replace']:
-                oldpath = replacement['Old']['Path']
-                path = replacement['New']['Path']
-                version = replacement['New']['Version']
-
-                inline_fcn, commithash = self.__generate_srcuri_inline_fcn(
-                    path, version, oldpath)
-                src_uris.append(inline_fcn)
-                src_revs.append(generate_src_rev(path, version, commithash))
-
-        pn, _ = determine_from_url(go_mod['Module']['Path'])
+        # strip version part from module URL /vXX
+        baseurl = re.sub(r'/v(\d+)$', '', go_mod['Module']['Path'])
+        pn, _ = determine_from_url(baseurl)
         go_mods_basename = "%s-modules.inc" % pn
 
         go_mods_filename = os.path.join(localfilesdir, go_mods_basename)
@@ -626,7 +639,9 @@
                 lic_files_chksum.append(
                     'file://src/${GO_IMPORT}/vendor/%s;md5=%s' % (licvalue[1], licvalue[2]))
 
-        pn, _ = determine_from_url(go_mod['Module']['Path'])
+        # strip version part from module URL /vXX
+        baseurl = re.sub(r'/v(\d+)$', '', go_mod['Module']['Path'])
+        pn, _ = determine_from_url(baseurl)
         licenses_basename = "%s-licenses.inc" % pn
 
         licenses_filename = os.path.join(localfilesdir, licenses_basename)
@@ -672,6 +687,13 @@
 
         localfilesdir = tempfile.mkdtemp(prefix='recipetool-go-')
         extravalues.setdefault('extrafiles', {})
+
+        # Use an explicit name determined from the module name because it
+        # might differ from the actual URL for replaced modules
+        # strip version part from module URL /vXX
+        baseurl = re.sub(r'/v(\d+)$', '', go_mod['Module']['Path'])
+        pn, _ = determine_from_url(baseurl)
+
         # go.mod files with version < 1.17 may not include all indirect
         # dependencies. Thus, we have to upgrade the go version.
         if go_version_major == 1 and go_version_minor < 17:
@@ -689,18 +711,18 @@
             # Write additional $BPN-modules.inc file
             self.__go_mod_vendor(go_mod, srctree, localfilesdir, extravalues, d)
             lines_before.append("LICENSE += \" & ${GO_MOD_LICENSES}\"")
-            lines_before.append("require ${BPN}-licenses.inc")
+            lines_before.append("require %s-licenses.inc" % (pn))
 
             self.__rewrite_src_uri(lines_before, ["file://modules.txt"])
 
-            self.__go_handle_dependencies(go_mod, localfilesdir, extravalues, d)
-            lines_before.append("require ${BPN}-modules.inc")
+            self.__go_handle_dependencies(go_mod, srctree, localfilesdir, extravalues, d)
+            lines_before.append("require %s-modules.inc" % (pn))
 
         # Do generic license handling
         handle_license_vars(srctree, lines_before, handled, extravalues, d)
         self.__rewrite_lic_uri(lines_before)
 
-        lines_before.append("GO_IMPORT = \"{}\"".format(go_import))
+        lines_before.append("GO_IMPORT = \"{}\"".format(baseurl))
         lines_before.append("SRCREV_FORMAT = \"${BPN}\"")
 
     def __update_lines_before(self, updated, newlines, lines_before):
@@ -720,6 +742,12 @@
                 new_licenses = []
                 licenses = origvalue.split('\\')
                 for license in licenses:
+                    if not license:
+                        logger.warning("No license file was detected for the main module!")
+                        # the license list of the main recipe must be empty
+                        # this can happen for example in case of CLOSED license
+                        # Fall through to complete recipe generation
+                        continue
                     license = license.strip()
                     uri, chksum = license.split(';', 1)
                     url = urllib.parse.urlparse(uri)