subtree updates

- Minor change to fit-image.bbclass for upstream dependency change.

meta-arm: b2c43dbf9b..03af0c72f1:
  Abdellatif El Khlifi (1):
        arm-bsp/linux-yocto: corstone1000: Update the Upstream-Status of the remoteproc patches

  Adam Johnston (1):
        arm-bsp/corstone-1000: IMAGE_ROOTFS_EXTRA_SPACE workaround

  Ali Can Ozaslan (1):
        arm-bsp/linux-yocto: corstone1000: Update to version 6.12

  Bence Balogh (1):
        arm-bsp/documentation: corstone1000: describe host level authentication

  Hugues KAMBA MPIANA (1):
        arm-bsp/documentation: corstone1000: Show flyout menu in sidebar

  Jamin Lin (1):
        arm: remove python3-pyhsslms recipe

  Jon Mason (2):
        arm/trusted-firmware-a: update 2.10 LTS to the latest versions
        arm/trusted-firmware-a: bump fip and tests to 2.12

  Mikko Rapeli (2):
        edk2-firmware: fix PlatformStandaloneMmRpmb.dsc build
        trusted-firmware-a: fix mbedtls license checksum

  Musa Antike (5):
        arm-systemready/linux-distros: Move Fedora unattended conf to SRC_URI
        arm-systemready/linux-distros: Move openSUSE unattended conf to SRC_URI
        arm-systemready/linux-distros: Implement unattended Debian
        arm-systemready/oeqa: Add unattended installation testcase
        kas: Include unattended Debian test

  Peter Hoyes (1):
        arm/lib: Relax "Listening for serial connection" regex

  Philip Puk (1):
        arm-bsp/recipes-security: Add protobuf interface to crypto-sp in corstone1000

  Quentin Schulz (1):
        arm/trusted-firmware-a: add support for 2.12.0

  Ross Burton (4):
        arm-bsp/linux-yocto: fix Juno build with linux 6.12
        arm-bsp/linux-yocto: add temporary 6.10 recipe
        arm-toolchain/external-arm-toolchain: update for toolchain provider changes
        arm-toolchain: remove external-arm-toolchain

meta-security: c9585ebfe8..7307755636:
  Armin Kuster (11):
        chkroot: update to 0.58b
        drop: debug-tweaks from ci
        harden.conf: drop debug-tweaks
        scap-security-guide: drop python pkgs
        kas: tweak to improve CI work flow
        parsec-service: fix build error
        README: add pipeline badge
        .gitlab-ci: speed up parsec builds
        packagegroup-core-security: drop firejail for musl
        kas: musl don't build apparmor
        lynis: update to 3.1.4

  Louis Rannou (1):
        dm-verity: set staging correctly in case basename has changed

  Mikko Rapeli (15):
        tpm2-tools: add dependency to efivar
        u-boot: enable TPM support via "tpm2" in MACHINE_FEATURES
        systemd: enable TPM support
        systemd-boot: enable TPM support via "tpm2" in DISTRO_FEATURES
        linux-yocto: enable ecryptfs
        ecryptfs-utils: depend on ecryptfs kernel module
        oeqa runtime clamav.py: skip test_freshclam_download with systemd
        oeqa runtime ima.py: skip without "integrity" in DISTRO_FEATURES
        kas-security-alt.yml: fix systemd config
        apparmor: update from 3.1.3 to 4.0.3
        oeqa runtime clamav.py: use curl if ping fails
        libtpm: update from 0.9.6 to 0.10.0
        libtpm: rename to libtpms
        libtpms: set CVE_PRODUCT
        swtpm: update from 0.8.2 to 0.10.0

  akash hadke (1):
        meta-security: Remove True option to getVar calls

  gr embeter (1):
        dm-verity-img.bbclass: add DM_VERITY_SETUP_ARGS

meta-openembedded: af28a667fb..0623501548:
  Akash Hadke (1):
        fitimage.bbclass: Remove True option to getVar calls

  Alexander Stein (1):
        libcamera: update to 0.4.0

  Alistair Francis (1):
        libspdm: Initial support for libspdm

  Antonios Christidis (1):
        opencl-cts: Add recipe

  Ayoub Zaki (6):
        bmap-writer: update to latest git version
        bmap-writer: update to latest git version
        botan: update 3.5.0 -> 3.6.1
        pistache : add initial recipe
        pistache: fix package config dependencies
        pkcs11-provider: Upgrade 0.5 -> 0.6

  Bartosz Golaszewski (4):
        gpiod-sysfs-proxy: update v0.1.1 -> v0.1.2
        python3-gpiod: update v2.2.2 -> v2.2.3
        libgpiod: unduplicate the EXTRA_OECONF assignment
        cheese: new recipe

  Bartosz Szostak (5):
        jsoncons: add new recipe
        ctre: add new recipe
        yyjson: add new recipe
        yyjson: force build shared library
        cxxopts: add new recipe

  Benjamin Bouvier (1):
        bridge-utils: add CVE_PRODUCT

  Changqing Li (2):
        poppler: upgrade 24.11.0 -> 24.12.0
        dlt-daemon: make DLT_WatchdogSec configurable

  Chanh Nguyen (1):
        mctp: upgrade 2.0 -> 2.1

  Christian Lindeberg (1):
        crucible: Use go module fetcher

  Christos Gavros (3):
        nativesdk-pistache: dependency with brotli
        android-tools-native: dependency with android-tools-conf-native
        net-snmp-native: dependency with libpci-native

  Darrel Griët (1):
        polkit: Install rules in subdir

  Derek Straka (83):
        python3-janus: update to version 1.1.0
        python3-ipython: update to version 8.30.0
        python3-libusb1: rename recipe to reflect the python version and update to use pypi
        python3-*: Update recipes to correctly check the upstream packages
        python3-yarl: update recipe to use the ptest-python-pytest class
        python3-yappi: update recipe to use the ptest-python-pytest class
        python3-xlrd: update recipe to use the ptest-python-pytest class
        python3-wsproto: update recipe to use the ptest-python-pytest class
        python3-wrapt: update recipe to use the ptest-python-pytest class
        python3-validators: update recipe to use the ptest-python-pytest class
        python3-uritemplate: update recipe to use the ptest-python-pytest class
        python3-unidiff: update recipe to use the ptest-python-pytest class
        python3-ujson: update recipe to use the ptest-python-pytest class
        python3-u-msgpack-python: update recipe to use the ptest-python-pytest class
        python3-tzdata: update recipe to use the ptest-python-pytest class
        python3-typeguard: update recipe to use the ptest-python-pytest class
        python3-trustme: update recipe to use the ptest-python-pytest class
        python3-tomlkit: update recipe to use the ptest-python-pytest class
        python3-tomli-w: update recipe to use the ptest-python-pytest class
        python3-sqlparse: update recipe to use the ptest-python-pytest class
        python3-soupsieve: update recipe to use the ptest-python-pytest class
        python3-simpleeval: update recipe to use the ptest-python-pytest class
        python3-smpplib: update recipe to use the ptest-python-pytest class
        python3-service-identity: update recipe to use the ptest-python-pytest class
        python3-serpent: update recipe to use the ptest-python-pytest class
        python3-semver: update recipe to use the ptest-python-pytest class
        python3-scrypt: update recipe to use the ptest-python-pytest class
        python3-requests-toolbelt: update recipe to use the ptest-python-pytest class
        python3-requests-file: update recipe to use the ptest-python-pytest class
        python3-rapidjson: update recipe to use the ptest-python-pytest class
        python3-pyyaml-include: update recipe to use the ptest-python-pytest class
        python3-pytoml: update recipe to use the ptest-python-pytest class
        python3-python-multipart: update recipe to use the ptest-python-pytest class
        python3-pytest-localserver: update recipe to use the ptest-python-pytest class
        python3-pyserial: update recipe to use the ptest-python-pytest class
        python3-pyroute2: update recipe to use the ptest-python-pytest class
        python3-pydantic: update recipe to use the ptest-python-pytest class
        python3-pydantic-core: update recipe to use the ptest-python-pytest class
        python3-pyasn1-modules: update recipe to use the ptest-python-pytest class
        python3-py-cpuinfo: update recipe to use the ptest-python-pytest class
        python3-ptyprocess: update recipe to use the ptest-python-pytest class
        python3-propcache: update recipe to use the ptest-python-pytest class
        python3-prettytable: update recipe to use the ptest-python-pytest class
        python3-precise-runner: update recipe to use the ptest-python-pytest class
        python3-portion: update recipe to use the ptest-python-pytest class
        python3-polyline: update recipe to use the ptest-python-pytest class
        python3-platformdirs: update recipe to use the ptest-python-pytest class
        python3-pint: update recipe to use the ptest-python-pytest class
        python3-pillow: update recipe to use the ptest-python-pytest class
        python3-inflection: update recipe to use the ptest-python-pytest class
        python3-netaddr: update recipe to use the ptest-python-pytest class
        python3-ordered-set: update recipe to use the ptest-python-pytest class
        python3-outcome: update recipe to use the ptest-python-pytest class
        python3-msgpack: update recipe to use the ptest-python-pytest class
        python3-multidict: update recipe to use the ptest-python-pytest class
        python3-marshmallow: update recipe to use the ptest-python-pytest class
        python3-lz4: update recipe to use the ptest-python-pytest class
        python3-jdcal: update recipe to use the ptest-python-pytest class
        python3-iso3166: update recipe to use the ptest-python-pytest class
        python3-ipy: update recipe to use the ptest-python-pytest class
        python3-intervals: update recipe to use the ptest-python-pytest class
        python3-httptools: update recipe to use the ptest-python-pytest class
        python3-html2text: update recipe to use the ptest-python-pytest class
        python3-geojson: update recipe to use the ptest-python-pytest class
        python3-freezegun: update recipe to use the ptest-python-pytest class
        python3-flexparser: update recipe to use the ptest-python-pytest class
        python3-flexcache: update recipe to use the ptest-python-pytest class
        python3-flask: update recipe to use the ptest-python-pytest class
        python3-fastjsonschema: update recipe to use the ptest-python-pytest class
        python3-execnet: update recipe to use the ptest-python-pytest class
        python3-ecdsa: update recipe to use the ptest-python-pytest class
        python3-dominate: update recipe to use the ptest-python-pytest class
        python3-dasbus: update recipe to use the ptest-python-pytest class
        python3-bleak: update recipe to use the ptest-python-pytest class
        python3-arrow: update recipe to use the ptest-python-pytest class
        python3-aspectlib: update recipe to use the ptest-python-pytest class
        python3-configobj: update recipe to use the ptest-python-pytest class
        python3-blinker: update recipe to use the ptest-python-pytest class
        python3-cachetools: update recipe to use the ptest-python-pytest class
        python3-cbor2: update recipe to use the ptest-python-pytest class
        python3-inotify: update recipe to use the ptest-python-pytest class
        python3-appdirs: update recipe to use the ptest-python-pytest class
        python3-asgiref: update recipe to use the ptest-python-pytest class

  Divya Chellam (2):
        grpc: upgrade 1.66.1 -> 1.68.0
        redis: upgrade 7.2.6 -> 7.2.7

  Etienne Cordonnier (1):
        uutils-coreutils: upgrade 0.0.28 -> 0.0.29

  Gianfranco Costamagna (1):
        vbxguestdrivers: upgrade 7.0.22 -> 7.1.4

  Gyorgy Sarvari (18):
        dbus-cxx: fix typo in PACKAGECONFIG
        ndctl: fix compiling without including tests
        ndctl: fix building documentation
        python3-zeroconf: correct license file and checksum
        civetweb: fix pathes in cmake file
        python3-ujson: correct license file and checksum
        python3-oletools: correct license file and checksum
        python3-cachecontrol: correct license file and checksum
        python3-robotframework-seriallibrary: correct license file and checksum
        opentelemetry-cpp: fix non-default PACKAGECONFIG options
        python3-posix-ipc: use correct C compiler to detect system features
        python3-pydantic-core: remove not needed INSANE_SKIP
        fatresize: set correct LICENSE
        pipewire-0.2: drop old version of recipe
        libdvbcsa: set correct LICENSE
        znc: fix LICENSE value, clean up SRC_URI
        open62541: fix qa error with encryption-openssl PACKAGECONFIG
        ndpi: correct LICENSE value

  Hieu Van Nguyen (1):
        gphoto2: Fix /usr/bin/gphoto2 runtime error

  Hongxu Jia (5):
        Use 7zip 24.09 to replace p7zip 16.02
        Update p7zip to 7zip
        android-tools: fix warning: library search path "/usr/lib/p7zip" is unsafe for cross-compilation
        python3-beautifulsoup4,python3-soupsieve: fix loop dependency error
        pahole: update COMPATIBLE_HOST setting

  Jaeyoon Jung (1):
        jansson: fix a symbol clash when building with cmake

  Jason Schonberg (14):
        c-ares: upgrade 1.28.1 -> 1.29.0
        onig: upgrade 6.9.9 -> 6.9.10
        c-ares: upgrade 1.29.0 -> 1.30.0
        libcgi-perl: upgrade 4.66 -> 4.67
        c-ares: upgrade 1.30.0 -> 1.31.0
        c-ares: upgrade 1.31.0 -> 1.32.0
        xrdp: upgrade 0.9.19 -> 0.9.20
        c-ares: upgrade 1.32.0 -> 1.32.1
        c-ares: upgrade 1.32.1 -> 1.32.2
        c-ares: upgrade 1.32.2 -> 1.32.3
        nodejs: upgrade 22.12.0 -> 22.13.1
        hiawatha: upgrade 10.12 -> 11.0
        zchunk: upgrade 1.4.0 -> 1.5.1
        c-ares: upgrade 1.32.3 -> 1.33.0

  Jiaying Song (3):
        eject: fix do_fetch error
        xfce-dusk-gtk3: fix do_fetch error
        chrony: fix do_fetch error

  Jörg Sommer (4):
        libtinyxml: set CVE product to tinyxml
        libtinyxml2: set CVE product to tinyxml2
        kernel-hardening-checker: New recipe to check security options
        spectre-meltdown-checker: New recipe to check hardware vulnerability

  Kai Kang (16):
        libxfce4util: 4.19.3 -> 4.20.0
        libxfce4ui: 4.19.6 -> 4.20.0
        exo: 4.19.1 -> 4.20.0
        garcon: 4.19.1 -> 4.20.0
        thunar: 4.19.0 -> 4.20.0
        thunar-volman: 4.18.0 -> 4.20.0
        tumbler: 4.18.0 -> 4.20.0
        xfce4-appfinder: 4.19.3 -> 4.20.0
        xfce4-power-manager: 4.18.2 -> 4.20.0
        xfconf: 4.18.2 -> 4.20.0
        xfce4-settings: 4.18.3 -> 4.20.0
        xfwm4: 4.19.0 -> 4.20.0
        xfce4-dev-tools: 4.18.1 -> 4.20.0
        libxfce4windowing: add recipe
        xfdesktop: 4.18.1 -> 4.20.0
        xfce4-panel: 4.18.6 -> 4.20.0

  Khem Raj (43):
        kernel-module-emlog: Fix build with kernel 6.12+
        packagegroup-meta-oe: Remove libpeas from packagegroup-meta-oe-gnome
        libpeas: Disable lua support on architectures without luajit port
        lua-lgi: Disable on architecture without luajit port
        libnfs: Add gnutls build time dependency
        xfce4-pulseaudio-plugin: Fix build with libwindowing 4.19.6
        7zip: Fix build with clang
        python3-propcache: Add missing rdeps for ptests to run/pass
        python3-google-auth: Add missing dep on python3-pyjwt
        x265: Re-add -DENABLE_PIC=ON
        openh264: Disable build on riscv32
        libheif: Make openh264 as packageconfig
        mozjs-128: Fix riscv arch specification in triplets
        pocketpy: Add pic options to cflags
        openh264: Fix meson build for x86
        x265: Fix build on x86
        python3-argcomplete: Upgrade to 3.5.3
        spdlog: Upgrade to 1.15.0
        mariadb: Upgrade to 10.11.10
        gerbera: Upgrade to 2.4.1
        mpd: Upgrade mpd to 0.23.16
        mpd: Use meson wrap for fmt
        mpd: Drop adding +git to PV
        spdlog: Switch to latest on 1.x branch
        python3-pyrad: Fix build with poetry 2.x
        packagegroup-meta-multimedia: Drop adding openh264 and libde265
        vsomeip: Upgrade to 3.5.3
        cpprest: Skip recipe due to unbuildable dependency websocketpp
        cpp-netlib: Skip recipe, not buildable with boost >= 1.87
        websocketpp: Skip recipe, not buildable with boost >= 1.87
        vsomeip: Skip building, needs porting to boost >= 1.87
        etcd-cpp-apiv3: Skip recipe since it does not work with boost >= 1.87
        mariadb: Upgrade to 11.4.4
        cpp-netlib: Make SKIP_RECIPE weak
        tigervnc: Replace using --system-acdir with --aclocal-path
        python3-portion: Fix test_doc.py ptest
        python3-pylint: Upgrade 3.3.1 -> 3.3.3
        ncftp: Replace references to ACLOCALEXTRAPATH
        syslog-ng: Remove references to ACLOCALEXTRAPATH
        php: Drop references to ACLOCALDIR
        opencl-cts: Disable for RISCV architectures
        python3-pandas: Inherit pkgconfig class
        luaposix: Fix LUA_INCDIR path

  Lei Maohui (1):
        gjs: Deleted gsettings from gsettings

  Leon Anavi (46):
        python3-charset-normalizer: Upgrade 3.4.0 -> 3.4.1
        python3-bitstring: Upgrade 4.2.3 -> 4.3.0
        python3-inflate64: Upgrade 1.0.0 -> 1.0.1
        python3-uswid: Upgrade 0.5.0 -> 0.5.1
        python3-tomli-w: Upgrade 1.0.0 -> 1.1.0
        python3-pydantic: Upgrade 2.10.2 -> 2.10.4
        python3-apispec: Upgrade 6.8.0 -> 6.8.1
        python3-anyio: Upgrade 4.7.0 -> 4.8.0
        python3-git-pw: Upgrade 2.6.0 -> 2.7.0
        python3-pymodbus: Upgrade 3.8.2 -> 3.8.3
        python3-kivy: Upgrade 2.3.0 -> 2.3.1
        python3-marshmallow: Upgrade 3.23.3 -> 3.24.1
        python3-a2wsgi: Upgrade 1.10.7 -> 1.10.8
        python3-cerberus: Upgrade 1.3.5 -> 1.3.7
        python3-yamlloader: Upgrade 1.4.1 -> 1.5.1
        python3-deprecated: Upgrade 1.2.14 -> 1.2.15
        python3-cached-property: Upgrade 1.5.2 -> 2.0.1
        python3-icecream: Upgrade 2.1.3 -> 2.1.4
        python3-pyusb: Upgrade 1.3.0 -> 1.3.1
        python3-cachecontrol: Upgrade 0.14.1 -> 0.14.2
        python3-pydantic: Upgrade 2.10.4 -> 2.10.5
        python3-dbus-fast: Upgrade 2.24.4 -> 2.28.0
        python3-inline-snapshot: Upgrade 0.18.2 -> 0.19.1
        python3-responses: Upgrade 0.25.3 -> 0.25.5
        python3-bandit: Upgrade 1.8.0 -> 1.8.2
        python3-pyscaffold: Upgrade 4.5 -> 4.6
        python3-filelock: Upgrade 3.16.1 -> 3.17.0
        python3-aioresponses: Upgrade 0.7.7 -> 0.7.8
        python3-tox: Upgrade 4.23.2 -> 4.24.1
        python3-imageio: Upgrade 2.36.1 -> 2.37.0
        python3-snagboot: Upgrade 2.0 -> 2.1
        python3-zeroconf: Upgrade 0.140.1 -> 0.141.0
        python3-networkx: Upgrade 3.1 -> 3.4.2
        python3-cachetools: Upgrade 5.5.0 -> 5.5.1
        python3-pocketsphinx: Upgrade 5.0.3 -> 5.0.4
        python3-marshmallow: Upgrade 3.25.1 -> 3.26.0
        python3-wrapt: Upgrade 1.17.1 -> 1.17.2
        python3-hpack: Upgrade 4.0.0 -> 4.1.0
        python3-hyperframe: Upgrade 6.0.1 -> 6.1.0
        python3-scikit-build-core: Use PYTHON_INCLUDE_DIR
        python3-annotated-types: Add native and nativesdk
        python3-tzdata: Add native and nativesdk
        python3-pydantic-core: Add native and nativesdk
        python3-pydantic: Add native and nativesdk
        python3-lief: Add recipe
        python3-nanobind: Add recipe

  Luca Boccassi (2):
        polkit: fix permissions of /usr/share/polkit-1/rules.d/ again
        polkit: update 125 -> 126

  Markus Volk (27):
        iwd: update 3.0 -> 3.2
        cbindgen: add recipe
        mozjs: add recipe for mozjs-128
        gjs: update 1.80.2 -> 1.82.1
        luajit: update
        lua-lgi: add recipe
        libpeas: add recipe for 2.0.5
        packagegroup-meta-oe: adjust after libpeas update
        geary: build with libpeas-1
        eog: build with libpeas-1
        gedit: build with libpeas-1
        malcontent: update 0.12.0 -> 0.13.0
        gegl: update 0.4.50 -> 0.4.52
        x265: drop restriction for x86/x86-64
        packagegoup-meta-multimedia: adjust RDEPENDS for h264/hevc
        x265: update 3.2.1 -> 4.1
        openh264: update 2.3.1 -> 2.5.0
        libheif: add recipe
        dav1d: update 1.4.3 -> 1.5.0
        libde265: update 1.0.12 -> 1.0.15
        libde265: switch to cmake buildsystem
        polkit: dont add mozjs PACKAGECONFIG
        mozjs-115: remove recipe
        iwd: update 3.2 -> 3.3
        gnome-shell: update 47.2 -> 47.3
        gnome-control-center: update 47.2 -> 47.3
        gvfs: add backport patch to add support for libnfs6

  Martin Jansa (3):
        lapack: add PACKAGECONFIG for cblas
        lapack: fix buildpaths in ptest also when CBLAS is enabled
        lapack: upgrade to latest 3.12.1

  Peter Kjellerstedt (1):
        lvm2: Remove a lingering reference to ${PN}-udevrules

  Peter Marko (52):
        ace: ignore CVE-2009-1147
        apache2: ignore CVE-1999-0678 and CVE-1999-1412
        apache2: remove old version references from CVEs
        spice: ignore CVE-2016-0749
        gattlib: mark CVE-2019-6498 as fixed
        monkey: ignore CVE-2013-1771
        redis: ignore CVE-2022-0543
        spice-gtk: mark CVE-2012-4425 as fixed
        apache2: ignore disputed CVE CVE-2007-0086
        swagger-ui: mark CVE-2016-1000229 as fixed
        memcached: ignore disputed CVE-2022-26635
        emlog: set CVE_PRODUCT
        opensc: upgrade 0.25.1 -> 0.26.0
        opensc: mark CVE-2024-8443 as fixed
        memcached: add UPSTREAM_CHECK_URI
        memcached: upgrade 1.6.17 -> 1.6.33
        php: upgrade 8.2.20 -> 8.2.26
        libmemcached: remove recipe for version 1.0.7
        libmemcached: merge inc into bb
        libmemcached: ignore CVE-2023-27478
        sassc: ignore CVE-2022-43357
        wireshark: upgrade 4.2.8 -> 4.2.9
        weechat: upgrade 4.0.4 -> 4.5.0
        apache2: ignore CVE-1999-1237
        rtmpdump: mark CVE-2015-8270, CVE-2015-8271 and CVE-2015-8272 as fixed
        rtmpdump: add +git to PV
        libconfuse: patch CVE-2022-40320
        opusfile: patch CVE-2022-47021
        synergy: patch CVE-2020-15117
        uw-imap: patch CVE-2018-19518
        spice: set CVE-2016-2150 status to fixed
        id3lib: mark CVE-2007-4460 as fixed
        procmail: patch CVE-2014-3618
        procmail: patch CVE-2017-16844.
        imagemagick: refactor so devtool upgrade works
        imagemagick: upgrade 7.1.1-26 -> 7.1.1-43
        imagemagick: mark CVE-2023-5341 as fixed
        libwmf; switched to unofficial fork
        limwmf: upgrade 0.2.8.4 -> 0.2.13
        audiofile: fix multiple CVEs
        audiofile: patch CVE-2017-6829
        audiofile: fix multiple CVEs
        audiofile: patch CVE-2017-6831
        audiofile: patch CVE-2017-6839
        libtinyxml: patch CVE-2021-42260
        libtinyxml: patch CVE-2023-34194
        proftpd: define UPSTREAM_CHECK_GITTAGREGEX
        proftpd: upgrade 1.3.8b -> 1.3.8c
        proftpd: define suffix for CVE version comparison
        vorbis-tools: patch CVE-2023-43361
        audiofile: mark CVE-2020-18781 as patched
        yasm: update to latest git revision

  Piotr Łobacz (2):
        plymouth: remove patch causing issue with no login prompt
        plymouth: remove extra kernel parameter

  Preeti Sachan (1):
        bpftool: fix libelf.h not found error

  Richard Purdie (2):
        crash-cross-canadian: Update to match OE-Core virtual provider changes
        recipes: Fix variable assignment whitespace

  Ross Burton (3):
        ncftp: update for autoconf changes in core
        syslog-ng: remove obsolete double-run of configure
        ntp: set CONFIG_SITE in do_compile

  Sean Nyekjaer (1):
        can-utils: RRECOMMENDS only ip from iproute2

  Soumya Sambu (2):
        python3-django: upgrade 4.2.16 -> 4.2.17
        python3-django: upgrade 5.0.9 -> 5.0.10

  Thomas Schlien (2):
        collectd: add PACKAGECONFIG for dpdk
        rtmpdump: update 2.4 -> v2.6

  Tom Geelen (7):
        python3-aiohttp: upgrade 3.11.8 -> 3.11.11
        python3-pillow: upgrade 10.4.0 -> 11.0.0
        python3-propcache: upgrade 0.2.0 -> 0.2.1
        python3-pyjwt: upgrade 2.9.0 -> 2.10.1
        python3-pytest-asyncio: upgrade 0.23.6 -> 0.24.0
        python3-sqlalchemy: upgrade 2.0.35 -> 2.0.36
        python3-yarl: upgrade 1.18.0 -> 1.18.3

  Wang Mingyu (181):
        ace: update 8.0.1 -> 8.0.2
        ctags: upgrade 6.1.20241201.0 -> 6.1.20241215.0
        graphviz: upgrade 12.2.0 -> 12.2.1
        libnfs: upgrade 5.0.3 -> 6.0.2
        libplist: upgrade 2.3.0 -> 2.6.0
        libusbmuxd: upgrade 2.0.2 -> 2.1.0
        localsearch: upgrade 3.8.1 -> 3.8.2
        lvm2: update 2.03.28 -> 2.03.29
        mcelog: upgrade 201 -> 202
        monit: upgrade 5.34.2 -> 5.34.3
        nanopb-generator(-runtime): upgrade 0.4.9 -> 0.4.9.1
        openjpeg: upgrade 2.5.2 -> 2.5.3
        python3-pybind11-json: upgrade 0.2.14 -> 0.2.15
        stunnel: upgrade 5.73 -> 5.74
        tinysparql: upgrade 3.8.1 -> 3.8.2
        xkbevd: upgrade 1.1.5 -> 1.1.6
        libp11: update 0.4.12 -> 0.4.13
        ctags: upgrade 6.1.20241215.0 -> 6.1.20241222.0
        libcapture-tiny-perl: upgrade 0.48 -> 0.50
        libsdl2-image: upgrade 2.8.2 -> 2.8.3
        nano: upgrade 8.2 -> 8.3
        nvmetcli: upgrade 0.7 -> 0.8
        ostree: upgrade 2024.9 -> 2024.10
        python3-aiosignal: upgrade 1.3.1 -> 1.3.2
        python3-anyio: upgrade 4.6.2 -> 4.7.0
        python3-apiflask: upgrade 2.2.1 -> 2.3.2
        python3-apispec: upgrade 6.7.1 -> 6.8.0
        python3-astroid: upgrade 3.3.5 -> 3.3.7
        python3-cantools: upgrade 39.4.13 -> 40.0.0
        python3-cassandra-driver: upgrade 3.29.1 -> 3.29.2
        python3-cmake: upgrade 3.31.1 -> 3.31.2
        python3-cmd2: upgrade 2.5.7 -> 2.5.8
        python3-coverage: upgrade 7.6.2 -> 7.6.9
        python3-croniter: upgrade 5.0.1 -> 6.0.0
        python3-cytoolz: upgrade 1.0.0 -> 1.0.1
        python3-drgn: upgrade 0.0.29 -> 0.0.30
        python3-elementpath: upgrade 4.6.0 -> 4.7.0
        python3-eth-keyfile: upgrade 0.7.0 -> 0.8.0
        python3-eth-utils: upgrade 5.0.0 -> 5.1.0
        python3-fastjsonschema: upgrade 2.21.0 -> 2.21.1
        python3-fastnumbers: upgrade 5.1.0 -> 5.1.1
        python3-fsspec: upgrade 2024.10.0 -> 2024.12.0
        python3-geojson: upgrade 3.1.0 -> 3.2.0
        python3-google-api-python-client: upgrade 2.135.0 -> 2.136.0
        python3-google-auth: upgrade 2.36.0 -> 2.37.0
        python3-grpcio-channelz: upgrade 1.67.1 -> 1.68.1
        python3-grpcio-reflection: upgrade 1.67.1 -> 1.68.1
        python3-grpcio: upgrade 1.67.1 -> 1.68.1
        python3-haversine: upgrade 2.8.1 -> 2.9.0
        python3-httptools: upgrade 0.6.2 -> 0.6.4
        python3-httpx: upgrade 0.28.0 -> 0.28.1
        python3-importlib-metadata: upgrade 8.4.0 -> 8.5.0
        python3-inline-snapshot: upgrade 0.14.0 -> 0.18.1
        python3-ipython: upgrade 8.30.0 -> 8.31.0
        python3-janus: upgrade 1.1.0 -> 2.0.0
        python3-marshmallow: upgrade 3.23.1 -> 3.23.2
        python3-mlcommons-loadgen: upgrade 5.0.0 -> 5.0.4
        python3-moteus: upgrade 0.3.72 -> 0.3.76
        python3-pdm-backend: upgrade 2.4.2 -> 2.4.3
        python3-pdm: upgrade 2.22.0 -> 2.22.1
        python3-pycurl: upgrade 7.45.3 -> 7.45.4
        python3-pydantic-core: upgrade 2.27.1 -> 2.27.2
        python3-pymisp: upgrade 2.5.0 -> 2.5.4
        python3-pymodbus: upgrade 3.7.4 -> 3.8.2
        python3-pyproject-api: upgrade 1.7.2 -> 1.8.0
        python3-pyroute2: upgrade 0.7.12 -> 0.8.1
        python3-pytest-benchmark: upgrade 4.0.0 -> 5.1.0
        python3-pytest-cov: upgrade 5.0.0 -> 6.0.0
        python3-pytest-freezer: upgrade 0.4.8 -> 0.4.9
        python3-python-multipart: upgrade 0.0.12 -> 0.0.20
        python3-redis: upgrade 5.1.1 -> 5.2.1
        python3-robotframework: upgrade 7.1 -> 7.1.1
        python3-schedule: upgrade 1.2.1 -> 1.2.2
        python3-sqlparse: upgrade 0.5.2 -> 0.5.3
        python3-starlette: upgrade 0.39.2 -> 0.42.0
        python3-typer: upgrade 0.14.0 -> 0.15.1
        python3-types-setuptools: upgrade 73.0.0.20240822 -> 75.5.0.20241120
        python3-virtualenv: upgrade 20.26.6 -> 20.28.0
        python3-web3: upgrade 7.3.0 -> 7.6.1
        python3-wtforms: upgrade 3.1.2 -> 3.2.1
        sip: upgrade 6.9.0 -> 6.9.1
        thingsboard-gateway: upgrade 3.5.1 -> 3.5.3.1
        tk: upgrade 9.0.0 -> 9.0.1
        uftrace: upgrade 0.16 -> 0.17
        ctags: upgrade 6.1.20241222.0 -> 6.1.20241229.0
        doxygen: upgrade 1.12.0 -> 1.13.0
        flatbuffers: upgrade 24.3.25 -> 24.12.23
        libnet-dns-perl: upgrade 1.47 -> 1.49
        libsdl2-image: upgrade 2.8.3 -> 2.8.4
        memcached: upgrade 1.6.33 -> 1.6.34
        parallel: upgrade 20241122 -> 20241222
        python3-astroid: upgrade 3.3.7 -> 3.3.8
        python3-coverage: upgrade 7.6.9 -> 7.6.10
        python3-kiwisolver: upgrade 1.4.7 -> 1.4.8
        python3-libusb1: upgrade 3.1.0 -> 3.2.0
        python3-path: upgrade 17.0.0 -> 17.1.0
        python3-pulsectl: upgrade 24.11.0 -> 24.12.0
        python3-pybcj: upgrade 1.0.2 -> 1.0.3
        python3-pyppmd: upgrade 1.1.0 -> 1.1.1
        python3-starlette: upgrade 0.42.0 -> 0.44.0
        python3-trio: upgrade 0.27.0 -> 0.28.0
        ctags: upgrade 6.1.20241229.0 -> 6.1.20250105.0
        doxygen: upgrade 1.13.0 -> 1.13.1
        evolution-data-server: upgrade 3.54.2 -> 3.54.3
        fping: upgrade 5.2 -> 5.3
        byacc: upgrade 20230219 -> 20241231
        composefs: upgrade 1.0.5 -> 1.0.8
        libbpf: upgrade 1.4.7 -> 1.5.0
        python3-grpcio-channelz: upgrade 1.68.1 -> 1.69.0
        python3-grpcio-reflection: upgrade 1.68.1 -> 1.69.0
        python3-grpcio: upgrade 1.68.1 -> 1.69.0
        python3-inline-snapshot: upgrade 0.18.1 -> 0.18.2
        python3-marshmallow: upgrade 3.23.2 -> 3.23.3
        python3-pillow: upgrade 11.0.0 -> 11.1.0
        python3-portalocker: upgrade 3.0.0 -> 3.1.1
        python3-pyusb: upgrade 1.2.1 -> 1.3.0
        python3-starlette: upgrade 0.44.0 -> 0.45.2
        python3-trustme: upgrade 1.2.0 -> 1.2.1
        python3-virtualenv: upgrade 20.28.0 -> 20.28.1
        pocketpy: upgrade 2.0.3 -> 2.0.4
        chrony: upgrade 4.5 -> 4.6.1
        ctags: upgrade 6.1.20250105.0 -> 6.1.20250112.0
        ddrescue: upgrade 1.28 -> 1.29
        doxygen: upgrade 1.13.1 -> 1.13.2
        gtk-vnc: upgrade 1.3.1 -> 1.4.0
        iniparser: upgrade 4.2.4 -> 4.2.5
        jsoncons: upgrade 1.0.0 -> 1.1.0
        libconfig-general-perl: upgrade 2.65 -> 2.67
        libdbi-perl: upgrade 1.644 -> 1.646
        libserialport: upgrade 0.1.1 -> 0.1.2
        lldpd: upgrade 1.0.18 -> 1.0.19
        monit: upgrade 5.34.3 -> 5.34.4
        paho-mqtt-c: upgrade 1.3.13 -> 1.3.14
        pugixml: upgrade 1.14 -> 1.15
        python3-aniso8601: upgrade 9.0.1 -> 10.0.0
        python3-cmake: upgrade 3.31.2 -> 3.31.4
        python3-dirty-equals: upgrade 0.8.0 -> 0.9.0
        python3-flask-marshmallow: upgrade 1.2.1 -> 1.3.0
        python3-gnupg: upgrade 0.5.3 -> 0.5.4
        python3-marshmallow: upgrade 3.24.1 -> 3.25.1
        python3-mlcommons-loadgen: upgrade 5.0.4 -> 5.0.5
        python3-pdm: upgrade 2.22.1 -> 2.22.2
        python3-sh: upgrade 2.1.0 -> 2.2.1
        python3-sqlalchemy: upgrade 2.0.36 -> 2.0.37
        python3-wrapt: upgrade 1.17.0 -> 1.17.1
        python3-zeroconf: upgrade 0.136.2 -> 0.139.0
        ser2net: upgrade 4.6.2 -> 4.6.3
        thingsboard-gateway: upgrade 3.5.3.1 -> 3.6.3
        wpan-tools: upgrade 0.9 -> 0.10
        xdg-desktop-portal-gtk: upgrade 1.15.1 -> 1.15.2
        ctags: upgrade 6.1.20250112.0 -> 6.1.20250119.0
        cxxopts: upgrade 3.2.0 -> 3.2.1
        dialog: upgrade 1.3-20240619 -> 1.3-20250116
        freeipmi: update 1.6.14 -> 1.6.15
        iotop: upgrade 1.26 -> 1.27
        libgee: upgrade 0.20.6 -> 0.20.8
        libtoml11: upgrade 4.2.0 -> 4.3.0
        lvm2: update 2.03.29 -> 2.03.30
        mutter: upgrade 47.3 -> 47.4
        opensc: upgrade 0.26.0 -> 0.26.1
        openvpn: upgrade 2.6.12 -> 2.6.13
        pocketpy: upgrade 2.0.4 -> 2.0.5
        python3-cantools: upgrade 40.0.0 -> 40.1.1
        python3-cloudpickle: upgrade 3.1.0 -> 3.1.1
        python3-cmd2: upgrade 2.5.8 -> 2.5.9
        python3-dbus-fast: upgrade 2.28.0 -> 2.30.2
        python3-eth-abi: upgrade 5.1.0 -> 5.2.0
        python3-hexbytes: upgrade 1.2.1 -> 1.3.0
        python3-inline-snapshot: upgrade 0.19.1 -> 0.19.3
        python3-jdatetime: upgrade 5.0.0 -> 5.1.0
        python3-psycopg: upgrade 3.2.3 -> 3.2.4
        python3-responses: upgrade 0.25.5 -> 0.25.6
        python3-robotframework: upgrade 7.1.1 -> 7.2
        python3-smpplib: upgrade 2.2.3 -> 2.2.4
        python3-twitter: upgrade 4.14.0 -> 4.15.0
        python3-virtualenv: upgrade 20.28.1 -> 20.29.1
        python3-web3: upgrade 7.6.1 -> 7.7.0
        python3-zeroconf: upgrade 0.139.0 -> 0.140.1
        toybox: upgrade 0.8.11 -> 0.8.12
        cbindgen: update 0.27.0 -> 0.28.0
        smarty: update 4.5.5 -> 5.4.2

  Xiangyu Chen (1):
        crash: fix crash cannot work with kaslr

  Yi Zhao (20):
        python3-kivy: cleanup dependencies
        python3-pyproj: cleanup dependencies
        frr: upgrade 10.1.1 -> 10.2
        networkmanager: upgrade 1.48.10 -> 1.50.0
        strongswan: upgrade 5.9.14 -> 6.0.0
        nspr: upgrade 4.35 -> 4.36
        nss: upgrade 3.103 -> 3.107
        mce-inject: update to latest git rev
        openldap: upgrade 2.6.8 -> 2.6.9
        tigervnc: upgrade 1.14.0 -> 1.14.1
        frr: upgrade 10.2 -> 10.2.1
        snort3: upgrade 3.3.4.0 -> 3.6.1.0
        pahole: upgrade 1.27 -> 1.28
        libbpf: upgrade 1.4.6 -> 1.4.7
        snapper: set pam module path to ${base_libdir}/security
        mariadb: set pam module path to ${base_libdir}/security
        malcontent: set pam module path to ${base_libdir}/security
        cockpit: set pam module path to ${base_libdir}/security
        zfs: enable packageconfig pam for pam distro feature
        audit: upgrade 4.0.2 -> 4.0.3

  Yogita Urade (2):
        postgresql: upgrade 16.4 -> 16.5
        poppler: upgrade 24.12.0 -> 25.01.0

  Zhang Peng (1):
        lapack: fix TMPDIR reference in do_package_qa

  van Veen, Stephan (1):
        tclap: use most recent version

meta-raspberrypi: 97d7a6b5ec..b58e2af859:
  Andrei Gherzan (1):
        docs: Fix ReadTheDocs sphinx.configuration requirement

  Anibal Limon (1):
        linux-firmware-rpidistro: Add cyfmac43455-sdio.bin symlink to minimal

  Jan Vermaete (2):
        kas: added the synaptics-killswitch license in comment
        kas: debug-tweaks as IMAGE_FEATURE is removed

poky: cc5e3503e4..c2da016918:
  Adrian Freihofer (17):
        busybox: add klogd service to FILES
        dropbear: add dropbearkey.service to FILES
        systemd.bbclass: refactor adding files
        systemd.bbclass: do not automatically add Also services
        systemd: split networkd into its own package
        devtool: modify support debug-builds
        devtool: ide-sdk sort cmake preset
        devtool: ide-sdk recommend DEBUG_BUILD
        oe-selftest: devtool ide-sdk use modify debug-build
        rust: increase test timeout again
        devtool: build-sdk remove unused imports
        devtool: ide-sdk remove the plugin from eSDK installer
        migration-guides: systemd.bbclass do not add Also services for 5.2
        sdk-manual: extensible.rst: update devtool ide-sdk
        sdk-manual: extensible.rst: remove confusing post-install-logging
        release-notes-5.2: cover devtool modify --debug-build
        sdk-manual: extensible.rst: devtool ide-sdk improve

  Alessio Cascone (1):
        tzcode-native: Fix compiler setting from 2023d version

  Alexander Kanavin (34):
        oe-setup-build: raise exceptions on errors
        python3-cryptography-vectors: correct upstream version check
        conf/bitbake.conf: move addfragments to just after the local.conf include
        gettext: update 0.22.5 -> 0.23.1
        libxt: update 1.3.0 -> 1.3.1
        libxshmfence: update 1.3.2 -> 1.3.3
        rt-tests: update 2.7 -> 2.8
        iproute2: update 6.11.0 -> 6.12.0
        kbd: update 2.6.4 -> 2.7.1
        shadow: merge .inc into .bb
        shadow: exclude pre-releases from version checks
        file: upgrade 5.45 -> 5.46
        bbconfigbuild/configfragments.py: set BBPATH in standalone datastore
        python3-click: update 8.1.7 -> 8.1.8
        python3-jinja2: upgrade 3.1.4 -> 3.1.5
        ppp: update 2.5.1 -> 2.5.2
        tcl: update 9.0.0 -> 9.0.1
        bc: update 1.07.1 -> 1.08.1
        texinfo: update 7.1.1 -> 7.2
        boost: update 1.86.0 -> 1.87.0
        liburcu: update 0.14.1 -> 0.15.0
        libxcrypt: update 4.4.36 -> 4.4.37
        ruby: update 3.3.6 -> 3.4.1
        shadow: update 4.16.0 -> 4.17.1
        blktool: remove the recipe
        python3-numpy: upgrade 2.1.3 -> 2.2.1
        tcl8: upgrade 8.6.15 -> 8.6.16
        libgit2: update 1.8.4 -> 1.9.0
        sysvinit: update 3.11 -> 3.13
        procps: update 4.0.4 -> 4.0.5
        dbus: update 1.14.10 -> 1.16.0
        tcl: disable 'zipfs' feature
        tcl8: add a patch to address Y2038 issues (tcl 9.x doesn't need it)
        selftest/virgl: add a link to RHEL merge request to address the missing vgem module

  Alexander Yurkov (2):
        oeqa/selftest/recipetool: Update create_go test.
        classes: go-vendor: Change symlink creation.

  Alexander van Gessel (1):
        busybox: Change symlink locations to match alternative

  Angelo.Ribeiro (1):
        report-error: Add PN to error report file

  Antonin Godard (34):
        Gather dependencies in poky.yaml.in
        poky.yaml.in: add missing locales dependency
        poky.yaml.in: replace inkscape dependency by librsvg2-bin
        system-requirements: add fedora 39 to supported distros
        system-requirements: update list of supported distros
        system-requirements.rst: add dependencies for pdf builds
        Update the documentation for SRCPV
        set_versions.py: use backward-compatible python argument in run
        ref-manual/variables: document the KERNEL_CONSOLE variable
        ref-manual/classes: drop the migrate_localcount class
        ref-manual/variables: document the FIRMWARE_COMPRESSION variable
        ref-manual/variables: add missing entries to SDK_ARCHIVE_TYPE
        ref-manual/variables: document the WIC_SECTOR_SIZE variable
        ref-manual/variable: remove obsolete SETUPTOOLS_INSTALL_ARGS
        ref-manual/classes: document the cython class
        Remove debug-tweaks references
        Drop support for BB_DANGLINGAPPENDS_WARNONLY
        ref-manual/variables: document the CHECKLAYER_REQUIRED_TESTS variable
        ref-manual/classes: document the yocto-check-layer class
        ref-manual/variables: document the CARGO_INSTALL_LIBRARIES variable
        ref-manual/variables: document the PREFERRED_RPROVIDER variable
        migration-guides: update the release notes for 5.2
        bitbake: doc/bitbake-user-manual-metadata: fix unindent warnings
        bitbake: doc: update releases.rst
        ref-manual/qa-checks: remove patch-status-core/patch-status-noncore
        contributor-guide/submit-changes.rst: suggest to remove the git signature
        ref-manual/devtool-reference: add warning note on deploy-target and shared objects
        SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication
        ref-manual/packages: move ptest section to the test-manual
        ref-manual: move runtime-testing section to the test-manual
        Update autobuilder URLs to valkyrie
        test-manual/reproducible-builds: fix reproducible links
        test-manual/ptest: link to common framework ptest classes
        dev-manual/building: document the initramfs-framework recipe

  Archana Polampalli (1):
        rsync: upgrade 3.3.0 -> 3.4.1

  Artur Kowalski (8):
        systemd-systemctl: add support for --global flag
        systemd.bbclass: add ${sysconfdir}/systemd/user to search path
        systemd.bbclass: factor out service lookup logic into separate function
        systemd.bbclass: introduce systemd_service_searchpaths()
        systemd.bbclass: properly handle user units in systemd_create_presets
        systemd.bbclass: update postinst and prerm hooks
        systemd.bbclass: support user units in postinst and prerm hooks
        image.bbclass: enable systemd user services

  Bastian Germann (6):
        font-util: Correct SPDX expression
        libbsd: Drop licenses that were removed upstream
        libxfont2: Document more specific BSD-4-Clause-UC
        man-pages: Document more specific BSD-4-Clause-UC
        util-linux: Document more specific BSD-4-Clause-UC
        busybox: Correct SPDX license reference

  Bastien JAUNY (1):
        classes/logging: Added the bbverbnote command to the logging set

  Benjamin Bara (3):
        multilib.conf: overwrite conf files for debs
        glibc: set ld.so.conf as conf file
        multilib-example.conf: explicitly overwrite the BASELIB

  Benjamin Szőke (1):
        systemd: Add WATCHDOG_RUNTIME_SEC optional variable

  Bin Lan (3):
        gcc: backport patch to fix data relocation to !ENDBR: stpcpy
        package_rpm: set a timestamp handling policy with the new macro %build_mtime_policy
        bitbake: bb/fetch2/__init__.py: remove a DeprecationWarning in uri_replace()

  Bruce Ashfield (15):
        linux-yocto/6.12: update to v6.12.5
        linux-yocto/6.6: update to v6.6.66
        kern-tools: fix python 3.12 warning
        linux-yocto/6.6: update to v6.6.69
        linux-yocto/6.12: update to v6.12.8
        linux-yocto-dev: update to v6.13
        linux-yocto/6.12: update to v6.12.9
        yocto-bsp: drop genericarm64 SRCREV
        linux-yocto/6.6: update to v6.6.71
        linux-yoto/6.12: skylake drop CONFIG_SND_SOC_INTEL_SKL_RT286_MACH
        linux-yocto/6.12: update to v6.12.10
        linux-yocto/6.6: update to v6.6.72
        linux-yocto/6.12: update to v6.12.11
        linux-yocto/6.6: update to v6.6.74
        linux-yocto/6.12: bsp/genericarm64: enable PowerVR DRM and Intel HDA sound drivers

  Changqing Li (2):
        sanity.bbclass: Lower the length of TMPDIR limit to 400
        systemd: enable create-log-dirs

  Chen Qi (2):
        systemd: upgrade from 256.9 to 257
        rpm: avoid empty plugindir error

  Chris Laplante (13):
        bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc
        devtool: un-globalize the 'basepath' variable
        devtool: un-globalize 'workspace' variable
        devtool: un-globalize 'context' variable and convert it to a dataclass
        devtool: un-globalize 'config' variable
        devtool: un-globalize 'plugins' variable
        devtool: misc cleanups
        devtool: remove unused 'config' param from '_create_workspace' method
        devtool: standard: cleanup imports; stop relying on transitive bb imports
        devtool: standard: fix typo in variable
        devtool: standard: fix unbound variable usage
        devtool: standard: simplify get_staging_kver
        oeqa/selftest: also copy local changes from the 'scripts/' dir

  Christian Taedcke (1):
        kernel-yocto: enable fetching kernel metadata using file fetcher

  Christos Gavros (1):
        sanity: Add test for functional c++ toolchain

  Colin McAllister (2):
        cve-check: Fix errors in log lines
        cve-check: Rework patch parsing

  Daniel McGregor (1):
        util-linux-libuuid: use util-linux's CVE_PRODUCT value

  Deepesh Varatharajan (3):
        rust-target-config: Update the data layout for x86 , ppc , riscv64 , aarch64 and loongaarch64 targets.
        rust: Fix for duplicate libstd.so
        rust: Upgrade 1.80.1->1.81.0

  Denis OSTERLAND-HEIM (1):
        create-spdx: support line numbers

  Derek Straka (5):
        classes/pypi: update the default UPSTREAM_CHECK_URI to use the simple repo API
        python3-*: Update recipes to correctly check the upstream packages
        classes/ptest-python-pytest: add a new class to consolidate pytest ptest functionality
        python3-*: Update recipes with pytest ptests to use the new ptest-python-pytest class
        classes/ptest-python-pytest: simplify python ptest file overriding

  Dmitry Baryshkov (1):
        linux-firmware: upgrade 20241210 -> 20250109

  Enrico Jörns (2):
        kernel-yocto: make kernel commits reproducible
        ref-manual: add documentation for the barebox class

  Enrico Scholz (1):
        rust-common: add LDFLAGS to 'build-rust-cc' wrapper

  Esben Haabendal (2):
        pulseaudio: fix webrtc audio depdency
        files: overlayfs-create-dirs: Improve mount unit dependency

  Fabio Estevam (2):
        u-boot: upgrade 2024.10 -> 2025.01
        piglit: Upgrade to latest revision

  Georgi, Tom (1):
        devtool: ide-sdk: check 'tools-debug' for gdbserver

  Guénaël Muller (1):
        ref-manual: use standardized method accross both ubuntu and debian for locale install

  Guðni Már Gilbert (1):
        gnupg: remove obsolete patch

  Harish Sadineni (3):
        rust: fix for rust multilib sdk configuration
        rust: remove redundant cargo config file
        oeqa/sdk/context: fix for gtk3 test failure during do_testsdk

  Haseeb Ashraf (1):
        llvm: set LLVM_HOST_TRIPLE for cross-compilation

  Hiago De Franco (2):
        libxkbcommon: replace locale dependecy from RDEPENDS to RRECOMMENDS
        eudev: backport patch to fix udevd hanging while trying to access /dev/urandom

  Hongxu Jia (6):
        initramfs-module-install: remove loongarch64 from COMPATIBLE_HOST
        packagegroup-core-tools-testapps: skip KEXECTOOLS for loongarch64
        packagegroup-core-tools-profile: skip VALGRIND for loongarch64
        meta/lib/oe/spdx30_tasks.py: set license alias to hasConcludedLicense relationship
        meta/lib/oe/sbom30.py: set alias for scan declared licenses
        classes/spdx-common: Fix patch error for recipes that inherit dos2unix.

  Igor Opaniuk (1):
        lib/spdx30_tasks: support directories deployed by image recipes

  Jermain Horsman (2):
        openssh: update SRC_URI to use https
        webp: update SRC_URI to use https

  Jiaying Song (3):
        tcl: Resolve tcl-ptest run failure
        expect: Replace tclsh with tclsh8 in the scripts used in the Expect
        boost: fix do_fetch error

  Joshua Watt (4):
        lib/configfragments: Restrict fragment file checking
        lib/configfragements: enable/disable multiple fragements at once
        udev-extraconf: Allow FAT mount group to be specified
        lib: spdx: Upgrade to final 3.0.1 release

  Justin Bronder (1):
        scripts: wrap lz4c and convert to lz4

  Kevin Hao (2):
        yocto-bsp: Bump the default kernel to v6.12 for beaglebone
        yocto-bsp: Bump the default kernel to v6.12 for x86 machines

  Khem Raj (8):
        musl: Upgrade to latest
        nfs-utils: Fix warnings found with clang
        webkitgtk: Fix build on 32bit arches with 64bit time_t only
        nfs-utils: Use v2 of upstream patch for tpyecast fix
        webkitgtk: Fix a typo OFFF -> OFF
        webkitgtk: Disable JIT on RISCV64
        rt-tests: Fix build with glibc 2.41+
        gawk: Enable high precision arithmetic support

  Lee Chee Yang (2):
        migration-guides: add release notes for 5.1.1
        migration-guides: add release notes for 5.0.6

  Lei YU (1):
        systemd: PACKAGECONFIG mountfsd and nsresourced

  Leon Anavi (1):
        perf: Fix a minor typo

  Marc Ferland (5):
        linux-firmware: split ath10k firmwares in separate packages
        linux-firmware: split ath11k firmwares in separate packages
        linux-firmware: split amdgpu firmwares in separate packages
        linux-firmware: split ath12k firmwares in separate packages
        linux-firmware: split qca firmwares in separate packages

  Marek Vasut (2):
        u-boot: kernel-fitimage: Fix dependency loop if UBOOT_SIGN_ENABLE and UBOOT_ENV enabled
        base-files: Drop /bin/sh dependency

  Mark Hatle (1):
        populate_sdk_ext: write_local_conf add shutil import

  Markus Volk (2):
        glib-2.0: update 2.82.2 -> 2.82.4
        libsecret: update patch Upstream-Status

  Maxin John (1):
        formfactor: add support for qemuriscv64 and qemuriscv32

  Michael Opdenacker (3):
        dev-manual: fix styling of references to bmaptool
        dev-manual/bmaptool.rst: correct command for bmaptool-native
        dev-manual/bmaptool.rst: simplify and fix instructions

  Mikko Rapeli (3):
        systemd: set CVE_PRODUCT
        systemd: add apparmor PACKAGECONFIG support
        systemd: add fido to PACKAGECONFIG options

  Nick Owens (1):
        bitbake: git-make-shallow: use stdin mode

  Omri Sarig (1):
        python3: Update stringold summary

  Pedro Ferreira (1):
        rust-common.bbclass: soft assignment for RUSTLIB path

  Peter Kjellerstedt (1):
        systemd: Remove /var/log/README using a patch

  Peter Marko (5):
        openssl: remove obsolete CVE version suffix
        ofono: patch CVE-2024-7540, CVE-2024-7541, CVE-2024-7542
        go: upgrade 1.22.8 -> 1.22.9
        go: upgrade 1.22.9 -> 1.22.10
        go: upgrade 1.22.10 -> 1.22.11

  Philip Lorenz (2):
        image/populate_sdk: Support usrmerge in toolchain SDK builds
        bitbake: asyncrpc: Handle websockets exceptions

  Priyal Doshi (1):
        tzdata/tzcode-native: upgrade 2024b -> 2025a

  Quentin Schulz (4):
        uboot-extlinux-config.bbclass: simplify FDT/FDTDIR logic
        uboot-extlinux-config.bbclass: add support for DTBOs
        uboot-extlinux-config.bbclass: invalidate do_create_extlinux_config on changes to UBOOT_EXTLINUX_FDTOVERLAYS:x
        ref-manual: variables: fix spurious parenthesis

  Ricardo Salveti (1):
        efivar: enable support for riscv64

  Richard Purdie (51):
        build-appliance-image: Update to master head revision
        subversion: Upgrade 1.14.4 -> 1.14.5
        qemu: Upgrade 9.1.1 -> 9.2.0
        lttng-modules: Upgrade 2.13.15 -> 2.13.16
        bitbake: parse: Add include_all conf file directive
        Revert "python3-numpy: upgrade 2.1.3 -> 2.2.0"
        cve-update-nvd2-native: Tweak to work better with NFS DL_DIR
        base-passwd: upgrade 3.6.5 -> 3.6.6
        bash-completion: upgrade 2.15.0 -> 2.16.0
        ca-certificates: upgrade 20240203 -> 20241223
        cmake-native,cmake: upgrade 3.31.0 -> 3.31.3,3.31.0 -> 3.31.3
        cracklib: upgrade 2.10.2 -> 2.10.3
        debianutils: upgrade 5.20 -> 5.21
        gpgme: upgrade 1.24.0 -> 1.24.1
        init-system-helpers: upgrade 1.67 -> 1.68
        libcap: upgrade 2.71 -> 2.73
        libical: upgrade 3.0.18 -> 3.0.19
        nettle: upgrade 3.10 -> 3.10.1
        piglit: upgrade to latest revision
        puzzles: upgrade to latest revision
        python3-cryptography{,-vectors}: upgrade 43.0.3 -> 44.0.0
        python3-hypothesis: upgrade 6.122.6 -> 6.123.2
        python3-maturin: upgrade 1.7.8 -> 1.8.1
        python3-pyparsing: upgrade 3.2.0 -> 3.2.1
        python3-ruamel-yaml: upgrade 0.18.6 -> 0.18.7
        python3-urllib3: upgrade 2.2.3 -> 2.3.0
        xxhash: upgrade 0.8.2 -> 0.8.3
        python3-attrs: upgrade 24.2.0 -> 24.3.0
        go-vendor: Fix absolute paths issue
        sstate: Ensure errors cause task failure
        bitbake.conf: Add bash-completion-native to ASSUME_PROVIDED
        bitbake.conf: Add libstdc++-native to ASSUME_PROVIDED
        bitbake.conf: Drop obsolete and misleading comment
        python3-rpds-py: upgrade 0.21.0 -> 0.22.3
        conf/distro/defaultsetup: Use include_all for maintainers.inc
        bitbake: bin/git-make-shallow: Fix syntax to work with older git versions
        coreutils: Improve core-utils-native dependency handling
        util-linux: Improve PACKAGES_DYNAMIC handling for util-linux-native
        native: Improve ${PN}-XXX package name handling
        python3-psutil: Fix native dependencies
        oeqa/selftest/sstatetests: Cover aarch64 SDKMACHINE in tests
        bitbake: parse/ast: Add support for BB_RECIPE_VIRTUAL_PROVIDERS
        classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
        base: Switch virtual/cross-XXX to be under recipe specific providers
        python3-cffi: Add missing pkgconfig dependency
        bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48
        oeqa/sshcontrol: Handle empty reads
        bitbake.conf: Handle empty BB_CURRENT_MC
        bitbake: cooker/cache: Drop mc 'default' string value
        oeqa/sdk/context: Improve multilib handling
        meta/meta-selftest: Fix variable assignment whitespace

  Robert Yang (3):
        base/features_check: Make PARSE_ALL_RECIPES and SOURCE_MIRROR_FETCH boolean
        libx11-compose-data: Use CONFLICT_DISTRO_FEATURES to skip when x11
        fmt: 11.0.2 -> 11.1.1

  Ross Burton (28):
        bash: remove aclocal workarounds
        subversion: add explicit DEPENDS on expat
        subversion: refactor do_configure
        tcl: don't run aclocal in do_configure
        tcl8: don't run aclocal in do_configure
        expect: don't run aclocal in do_configure
        expect: cleanup do_install
        ofono: fix the build when toolchain has old linux headers
        bitbake: fetch2/wget: handle HTTP 308 Permanent Redirect
        bitbake: fetch2/wget: correctly construct the target URL in checkstatus()
        libtheora: backport a patch to fix autoreconf
        autotools: log when we're removing aclocal.m4
        autotools: remove aclocal --automake-acdir, relocated so knows the right path
        rsync: clean up configure/configure.sh fiddling
        classes/nativesdk: also override TUNE_PKGARCH
        classes/qemu: use tune to select QEMU_EXTRAOPTIONS, not package architecture
        classes/qemu: move QEMU_EXTRAOPTIONS for PPC to the relevant tunes
        qemu/machine: rename QEMU_EXTRAOPTIONS for consistency
        lttng-tools: disable patching our libtool.m4
        autotools: clean up aclocal/ search path assignments
        libtool: remove obsolete ACLOCALEXTRAPATH
        autoconf: rename autotools_aclocals and only run in do_configure
        fmt: fix build with GCC 9.4
        oeqa/poisoning: fix gcc include poisoning test
        gcc: make include poisoning fatal again in gcc/g++
        man-db: fix broken requirement for flex
        build-appliance-image: Update to master head revision
        meson: upgrade to 1.7.0

  Savvas Etairidis (1):
        bitbake: tests/parse: Add test for unclosed functions

  Sean Nyekjaer (2):
        rust-cross-canadian: set CC_<triple> for nativesdk
        oeqa/sdk/rust: Add a crate that needs the target and SDK host toolchain

  Simon A. Eugster (2):
        bitbake: doc: Document suffix for BBFILE_PRIORITY
        grub-efi-cfg: Add GRUB_TITLE for custom GRUB titles

  Slawomir Stepien (1):
        kernel-yocto: move the cp of ${KBUILD_DEFCONFIG} file outside if body

  Stefan Gloor (1):
        wic: add documentation for existing options to help.py

  Stefan Herbrechtsmeier (11):
        bitbake: tests: fetch: adapt npmsw tests to fixed unpack behavior
        bitbake: tests: fetch: do not skip plain npmsw tests
        bitbake: fetch2: npmsw: ignore bundled dependencies in packages
        bitbake: tests: fetch: add npmsw test case for bundled dependencies
        bitbake: tests: fetch: update npmsw tests to new lockfile format
        bitbake: fetch2: npmsw: remove old lockfile format support
        bitbake: tests: fetch: replace [url] with urls for npm
        bitbake: fetch2: do not prefix embedded checksums
        bitbake: fetch2: read checksum from SRC_URI flag for npm
        bitbake: utils: add Go mod h1 checksum support
        bitbake: tests: utils: add test for Go mod h1 checksum

  Sunil Dora (1):
        gcc: poison-system-directories patch updated for missing paths

  Thomas Perrot (1):
        opensbi: bump to 1.6

  Thomas Roos (1):
        gcc-sanitizers.inc: Workaround for aarch64

  Tom Hochstein (5):
        pkgconfig: Add pkg-config-native to SDK
        wayland-protocols: Remove inoperative packaging override
        weston: Fix wayland-protocols dependency
        weston: Disable unused tests build
        mesa: Fix missing GLES3 headers in SDK sysroot

  Trevor Gamblin (6):
        python3-numpy: upgrade 2.1.3 -> 2.2.0
        reproducible-builds.rst: show how to build a single package
        libdnf: backport patch to fix segfault
        python3: upgrade 3.13.0 -> 3.13.1
        python3-numpy: upgrade 2.2.1 -> 2.2.2
        cmake: upgrade 3.31.3 -> 3.31.4

  Walter Schweizer (1):
        initrdscripts: add UBI support

  Wang Mingyu (55):
        systemd: upgrade 256.8 -> 256.9
        appstream: upgrade 1.0.3 -> 1.0.4
        erofs-utils: upgrade 1.8.2 -> 1.8.3
        igt-gpu-tools: upgrade 1.29 -> 1.30
        json-glib: upgrade 1.10.0 -> 1.10.6
        libice: upgrade 1.1.1 -> 1.1.2
        libjitterentropy: upgrade 3.6.0 -> 3.6.1
        libsm: upgrade 1.2.4 -> 1.2.5
        libxau: upgrade 1.0.11 -> 1.0.12
        libxcvt: upgrade 0.1.2 -> 0.1.3
        libxrender: upgrade 0.9.11 -> 0.9.12
        libxv: upgrade 1.0.12 -> 1.0.13
        libxxf86vm: upgrade 1.1.5 -> 1.1.6
        mpg123: upgrade 1.32.9 -> 1.32.10
        nfs-utils: upgrade 2.8.1 -> 2.8.2
        ofono: upgrade 2.13 -> 2.14
        pango: upgrade 1.55.0 -> 1.55.5
        re2c: upgrade 4.0.1 -> 4.0.2
        socat: upgrade 1.8.0.1 -> 1.8.0.2
        bind: upgrade 9.20.3 -> 9.20.4
        diffoscope: upgrade 283 -> 284
        libportal: upgrade 0.8.1 -> 0.9.0
        libwebp: upgrade 1.4.0 -> 1.5.0
        llvm: upgrade 19.1.5 -> 19.1.6
        meson: upgrade 1.6.0 -> 1.6.1
        python3-certifi: upgrade 2024.8.30 -> 2024.12.14
        python3-dbusmock: upgrade 0.32.2 -> 0.33.0
        python3-hatchling: upgrade 1.26.3 -> 1.27.0
        python3-hypothesis: upgrade 6.119.4 -> 6.122.6
        python3-mako: upgrade 1.3.6 -> 1.3.8
        python3-maturin: upgrade 1.7.4 -> 1.7.8
        python3-psutil: upgrade 6.1.0 -> 6.1.1
        python3-pyopenssl: upgrade 24.2.1 -> 24.3.0
        python3-pytest-subtests: upgrade 0.13.1 -> 0.14.1
        python3-pytest: upgrade 8.3.3 -> 8.3.4
        python3-six: upgrade 1.16.0 -> 1.17.0
        repo: upgrade 2.49.3 -> 2.50.1
        wayland-protocols: upgrade 1.38 -> 1.39
        webkitgtk: upgrade 2.46.4 -> 2.46.5
        xserver-xorg: upgrade 21.1.14 -> 21.1.15
        systemd: upgrade 257 -> 257.1
        debugedit: Fix install conflict when enable multilib.
        erofs-utils: upgrade 1.8.3 -> 1.8.4
        gtk4: upgrade 4.16.7 -> 4.16.12
        hwdata: upgrade 0.390 -> 0.391
        libedit: upgrade 20240808-3.1 -> 20250104-3.1
        libsdl2: upgrade 2.30.10 -> 2.30.11
        libtest-warnings-perl: upgrade 0.033 -> 0.037
        python3-gitdb: upgrade 4.0.11 -> 4.0.12
        python3-poetry-core: upgrade 1.9.1 -> 2.0.0
        python3-pygments: upgrade 2.18.0 -> 2.19.0
        python3-ruamel-yaml: upgrade 0.18.7 -> 0.18.9
        stress-ng: upgrade 0.18.07 -> 0.18.08
        xf86-input-synaptics: upgrade 1.9.2 -> 1.10.0
        xinit: upgrade 1.4.2 -> 1.4.3

  Xiangyu Chen (1):
        lttng-modules: fix sched_stat_runtime changed in Linux 6.6.66

  Yash Shinde (1):
        gdb: Upgrade 15.2 -> 16.1

  Yi Zhao (3):
        libpam: set pam module path to ${base_libdir}/security
        util-linux: replace local patch with upstream patch
        util-linux: add volatile file for lastlog2

  Yoann Congal (4):
        bitbake: tests/parse: add test for ?= and ??= operators for variable flags
        bitbake: data_smart: fix ??= operator for variable flags
        selftest/reproducible: Print full log path on failure
        selftest/reproducible: Print error context on failure

  Yogita Urade (1):
        ofono: fix CVE-2024-7539

  hongxu (3):
        meta/lib/oe/sbom30.py: correct alias
        meta/lib/oe/sbom30.py: fix alias in simplelicensing_customIdToUri not extracted
        meta/lib/oe/cve_check.py: fix patched_cves not updated

Change-Id: I2081cc0af45520cce98a9edeba250e4dc214310a
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/poky/bitbake/bin/git-make-shallow b/poky/bitbake/bin/git-make-shallow
index 9de557c..e6c180b 100755
--- a/poky/bitbake/bin/git-make-shallow
+++ b/poky/bitbake/bin/git-make-shallow
@@ -115,8 +115,8 @@
     all_refs = get_all_refs()
     to_remove = set(all_refs) - set(refs)
     if to_remove:
-        check_output(['xargs', '-0', '-n', '1'] + git_cmd + ['update-ref', '-d', '--no-deref'],
-                     input=''.join(l + '\0' for l in to_remove))
+        check_output(git_cmd + ['update-ref', '--no-deref', '--stdin', '-z'],
+                     input=''.join('delete ' + l + '\0\0' for l in to_remove))
 
 
 def follow_history_intersections(revisions, refs):
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
index 75930fe..2680c6a 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
@@ -976,13 +976,13 @@
 ``addfragments`` takes three parameters:
 
 -  path prefix for fragment files inside the layer file tree that bitbake
-uses to construct full paths to the fragment files
+   uses to construct full paths to the fragment files
 
 -  name of variable that holds the list of enabled fragments in an
-active build
+   active build
 
 -  name of variable that contains a list of variable names containing
-fragment-specific metadata (such as descriptions)
+   fragment-specific metadata (such as descriptions)
 
 This allows listing enabled configuration fragments in ``OE_FRAGMENTS``
 variable like this::
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 6c5bab4..ad219b5 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -754,6 +754,10 @@
    :term:`BBFILE_PRIORITY`
       Assigns the priority for recipe files in each layer.
 
+      This variable is used in the ``conf/layer.conf`` file and must be
+      suffixed with a `_` followed by the name of the specific layer (e.g.
+      ``BBFILE_PRIORITY_emenlow``). Colon as separator is not supported.
+
       This variable is useful in situations where the same recipe appears
       in more than one layer. Setting this variable allows you to
       prioritize a layer against other layers that contain the same recipe
@@ -768,7 +772,7 @@
       higher precedence. For example, the value 6 has a higher precedence
       than the value 5. If not specified, the :term:`BBFILE_PRIORITY` variable
       is set based on layer dependencies (see the :term:`LAYERDEPENDS` variable
-      for more information. The default priority, if unspecified for a
+      for more information). The default priority, if unspecified for a
       layer with no dependencies, is the lowest defined priority + 1 (or 1
       if no priorities are defined).
 
diff --git a/poky/bitbake/doc/releases.rst b/poky/bitbake/doc/releases.rst
index b271e2a..3e80140 100644
--- a/poky/bitbake/doc/releases.rst
+++ b/poky/bitbake/doc/releases.rst
@@ -4,6 +4,12 @@
 BitBake Supported Release Manuals
 =================================
 
+****************************
+Release Series 5.1 (styhead)
+****************************
+
+- :yocto_docs:`BitBake 2.10 User Manual </bitbake/2.10/>`
+
 *******************************
 Release Series 5.0 (scarthgap)
 *******************************
@@ -16,12 +22,6 @@
 
 - :yocto_docs:`BitBake 2.0 User Manual </bitbake/2.0/>`
 
-****************************
-Release Series 3.1 (dunfell)
-****************************
-
-- :yocto_docs:`BitBake 1.46 User Manual </bitbake/1.46/>`
-
 ================================
 BitBake Outdated Release Manuals
 ================================
@@ -62,10 +62,11 @@
 
 - :yocto_docs:`BitBake 1.48 User Manual </bitbake/1.48/>`
 
-*******************************************
-Release Series 3.1 (dunfell first versions)
-*******************************************
+****************************
+Release Series 3.1 (dunfell)
+****************************
 
+- :yocto_docs:`BitBake 1.46 User Manual </bitbake/1.46/>`
 - :yocto_docs:`3.1 BitBake User Manual </3.1/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.1.1 BitBake User Manual </3.1.1/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.1.2 BitBake User Manual </3.1.2/bitbake-user-manual/bitbake-user-manual.html>`
diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py
index 9be4926..17b7203 100644
--- a/poky/bitbake/lib/bb/asyncrpc/client.py
+++ b/poky/bitbake/lib/bb/asyncrpc/client.py
@@ -112,11 +112,16 @@
             )
 
         async def connect_sock():
-            websocket = await websockets.connect(
-                uri,
-                ping_interval=None,
-                open_timeout=self.timeout,
-            )
+            try:
+                websocket = await websockets.connect(
+                    uri,
+                    ping_interval=None,
+                    open_timeout=self.timeout,
+                )
+            except asyncio.exceptions.TimeoutError:
+                raise ConnectionError("Timeout while connecting to websocket")
+            except (OSError, websockets.InvalidHandshake, websockets.InvalidURI) as exc:
+                raise ConnectionError(f"Could not connect to websocket: {exc}") from exc
             return WebsocketConnection(websocket, self.timeout)
 
         self._connect_sock = connect_sock
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index ec7b023..2361c56 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -395,7 +395,7 @@
         # It will be used later for deciding whether we
         # need extra cache file dump/load support
         self.mc = mc
-        self.logger = PrefixLoggerAdapter("Cache: %s: " % (mc if mc else "default"), logger)
+        self.logger = PrefixLoggerAdapter("Cache: %s: " % (mc if mc else ''), logger)
         self.caches_array = caches_array
         self.cachedir = self.data.getVar("CACHE")
         self.clean = set()
diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py
index 7944faf..baa7cba 100644
--- a/poky/bitbake/lib/bb/command.py
+++ b/poky/bitbake/lib/bb/command.py
@@ -421,15 +421,30 @@
         return command.cooker.recipecaches[mc].pkg_dp
     getDefaultPreference.readonly = True
 
+
     def getSkippedRecipes(self, command, params):
+        """
+        Get the map of skipped recipes for the specified multiconfig/mc name (`params[0]`).
+
+        Invoked by `bb.tinfoil.Tinfoil.get_skipped_recipes`
+
+        :param command: Internally used parameter.
+        :param params: Parameter array. params[0] is multiconfig/mc name. If not given, then default mc '' is assumed.
+        :return: Dict whose keys are virtualfns and values are `bb.cooker.SkippedPackage`
+        """
+        try:
+            mc = params[0]
+        except IndexError:
+            mc = ''
+
         # Return list sorted by reverse priority order
         import bb.cache
         def sortkey(x):
             vfn, _ = x
-            realfn, _, mc = bb.cache.virtualfn2realfn(vfn)
-            return (-command.cooker.collections[mc].calc_bbfile_priority(realfn)[0], vfn)
+            realfn, _, item_mc = bb.cache.virtualfn2realfn(vfn)
+            return -command.cooker.collections[item_mc].calc_bbfile_priority(realfn)[0], vfn
 
-        skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey))
+        skipdict = OrderedDict(sorted(command.cooker.skiplist_by_mc[mc].items(), key=sortkey))
         return list(skipdict.items())
     getSkippedRecipes.readonly = True
 
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index ceaaac1..5b885cd 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -133,7 +133,8 @@
         self.baseconfig_valid = False
         self.parsecache_valid = False
         self.eventlog = None
-        self.skiplist = {}
+        # The skiplists, one per multiconfig
+        self.skiplist_by_mc = defaultdict(dict)
         self.featureset = CookerFeatures()
         if featureSet:
             for f in featureSet:
@@ -614,8 +615,8 @@
         localdata = {}
 
         for mc in self.multiconfigs:
-            taskdata[mc] = bb.taskdata.TaskData(halt, skiplist=self.skiplist, allowincomplete=allowincomplete)
-            localdata[mc] = data.createCopy(self.databuilder.mcdata[mc])
+            taskdata[mc] = bb.taskdata.TaskData(halt, skiplist=self.skiplist_by_mc[mc], allowincomplete=allowincomplete)
+            localdata[mc] = bb.data.createCopy(self.databuilder.mcdata[mc])
             bb.data.expandKeys(localdata[mc])
 
         current = 0
@@ -936,7 +937,7 @@
         for mc in self.multiconfigs:
             # First get list of recipes, including skipped
             recipefns = list(self.recipecaches[mc].pkg_fn.keys())
-            recipefns.extend(self.skiplist.keys())
+            recipefns.extend(self.skiplist_by_mc[mc].keys())
 
             # Work out list of bbappends that have been applied
             applied_appends = []
@@ -2355,7 +2356,7 @@
         for virtualfn, info_array in result:
             if info_array[0].skipped:
                 self.skipped += 1
-                self.cooker.skiplist[virtualfn] = SkippedPackage(info_array[0])
+                self.cooker.skiplist_by_mc[mc][virtualfn] = SkippedPackage(info_array[0])
             self.bb_caches[mc].add_info(virtualfn, info_array, self.cooker.recipecaches[mc],
                                         parsed=parsed, watcher = self.cooker.add_filewatch)
         return True
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index 1f447d3..65c153a 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -346,7 +346,7 @@
     def _findLayerConf(self, data):
         return findConfigFile("bblayers.conf", data)
 
-    def parseConfigurationFiles(self, prefiles, postfiles, mc = "default"):
+    def parseConfigurationFiles(self, prefiles, postfiles, mc = ""):
         data = bb.data.createCopy(self.basedata)
         data.setVar("BB_CURRENT_MC", mc)
 
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index c6049d5..897ceeb 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -827,6 +827,8 @@
                 value = copy.copy(local_var[flag])
             elif flag == "_content" and "_defaultval" in local_var and not noweakdefault:
                 value = copy.copy(local_var["_defaultval"])
+            elif "_defaultval_flag_"+flag in local_var and not noweakdefault:
+                value = copy.copy(local_var["_defaultval_flag_"+flag])
 
 
         if flag == "_content" and local_var is not None and ":append" in local_var and not parsing:
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index f79e278..de36f06 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -34,7 +34,7 @@
 
 logger = logging.getLogger("BitBake.Fetcher")
 
-CHECKSUM_LIST = [ "md5", "sha256", "sha1", "sha384", "sha512" ]
+CHECKSUM_LIST = [ "goh1", "md5", "sha256", "sha1", "sha384", "sha512" ]
 SHOWN_CHECKSUM_LIST = ["sha256"]
 
 class BBFetchException(Exception):
@@ -461,7 +461,7 @@
                 for k in replacements:
                     uri_replace_decoded[loc] = uri_replace_decoded[loc].replace(k, replacements[k])
                 #bb.note("%s %s %s" % (regexp, uri_replace_decoded[loc], uri_decoded[loc]))
-                result_decoded[loc] = re.sub(regexp, uri_replace_decoded[loc], uri_decoded[loc], 1)
+                result_decoded[loc] = re.sub(regexp, uri_replace_decoded[loc], uri_decoded[loc], count=1)
             if loc == 2:
                 # Handle path manipulations
                 basename = None
@@ -1316,20 +1316,23 @@
         self.setup = False
 
         def configure_checksum(checksum_id):
+            checksum_plain_name = "%ssum" % checksum_id
             if "name" in self.parm:
                 checksum_name = "%s.%ssum" % (self.parm["name"], checksum_id)
             else:
-                checksum_name = "%ssum" % checksum_id
-
-            setattr(self, "%s_name" % checksum_id, checksum_name)
+                checksum_name = checksum_plain_name
 
             if checksum_name in self.parm:
                 checksum_expected = self.parm[checksum_name]
-            elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate", "gs", "gomod"]:
+            elif checksum_plain_name in self.parm:
+                checksum_expected = self.parm[checksum_plain_name]
+                checksum_name = checksum_plain_name
+            elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate", "gs", "gomod", "npm"]:
                 checksum_expected = None
             else:
                 checksum_expected = d.getVarFlag("SRC_URI", checksum_name)
 
+            setattr(self, "%s_name" % checksum_id, checksum_name)
             setattr(self, "%s_expected" % checksum_id, checksum_expected)
 
         self.names = self.parm.get("name",'default').split(',')
diff --git a/poky/bitbake/lib/bb/fetch2/gomod.py b/poky/bitbake/lib/bb/fetch2/gomod.py
index 21fbe80..6c999e8 100644
--- a/poky/bitbake/lib/bb/fetch2/gomod.py
+++ b/poky/bitbake/lib/bb/fetch2/gomod.py
@@ -119,10 +119,7 @@
             ('https', proxy, '/' + path, None, None, None))
         ud.parm['downloadfilename'] = path
 
-        # Set name parameter if sha256sum is set in recipe
-        name = f"{module}@{ud.parm['version']}"
-        if d.getVarFlag('SRC_URI', name + '.sha256sum'):
-            ud.parm['name'] = name
+        ud.parm['name'] = f"{module}@{ud.parm['version']}"
 
         # Set subdir for unpack
         ud.parm['subdir'] = os.path.join(moddir, 'cache/download',
diff --git a/poky/bitbake/lib/bb/fetch2/npmsw.py b/poky/bitbake/lib/bb/fetch2/npmsw.py
index a5fa598..2f9599e 100644
--- a/poky/bitbake/lib/bb/fetch2/npmsw.py
+++ b/poky/bitbake/lib/bb/fetch2/npmsw.py
@@ -37,38 +37,26 @@
     """
         Run a callback for each dependencies of a shrinkwrap file.
         The callback is using the format:
-            callback(name, params, deptree)
+            callback(name, data, location)
         with:
             name = the package name (string)
-            params = the package parameters (dictionary)
-            destdir = the destination of the package (string)
+            data = the package data (dictionary)
+            location = the location of the package (string)
     """
-    # For handling old style dependencies entries in shinkwrap files
-    def _walk_deps(deps, deptree):
-        for name in deps:
-            subtree = [*deptree, name]
-            _walk_deps(deps[name].get("dependencies", {}), subtree)
-            if callback is not None:
-                if deps[name].get("dev", False) and not dev:
-                    continue
-                elif deps[name].get("bundled", False):
-                    continue
-                destsubdirs = [os.path.join("node_modules", dep) for dep in subtree]
-                destsuffix = os.path.join(*destsubdirs)
-                callback(name, deps[name], destsuffix)
+    packages = shrinkwrap.get("packages")
+    if not packages:
+        raise FetchError("Invalid shrinkwrap file format")
 
-    # packages entry means new style shrinkwrap file, else use dependencies
-    packages = shrinkwrap.get("packages", None)
-    if packages is not None:
-        for package in packages:
-            if package != "":
-                name = package.split('node_modules/')[-1]
-                package_infos = packages.get(package, {})
-                if dev == False and package_infos.get("dev", False):
-                    continue
-                callback(name, package_infos, package)
-    else:
-        _walk_deps(shrinkwrap.get("dependencies", {}), [])
+    for location, data in packages.items():
+        # Skip empty main and local link target packages
+        if not location.startswith('node_modules/'):
+            continue
+        elif not dev and data.get("dev", False):
+            continue
+        elif data.get("inBundle", False):
+            continue
+        name = location.split('node_modules/')[-1]
+        callback(name, data, location)
 
 class NpmShrinkWrap(FetchMethod):
     """Class to fetch all package from a shrinkwrap file"""
@@ -95,12 +83,18 @@
             extrapaths = []
             unpack = True
 
-            integrity = params.get("integrity", None)
-            resolved = params.get("resolved", None)
-            version = params.get("version", resolved)
+            integrity = params.get("integrity")
+            resolved = params.get("resolved")
+            version = params.get("version")
+            link = params.get("link", False)
+
+            # Handle link sources
+            if link:
+                localpath = resolved
+                unpack = False
 
             # Handle registry sources
-            if is_semver(version) and integrity:
+            elif version and is_semver(version) and integrity:
                 # Handle duplicate dependencies without url
                 if not resolved:
                     return
@@ -128,10 +122,10 @@
                 extrapaths.append(resolvefile)
 
             # Handle http tarball sources
-            elif version.startswith("http") and integrity:
-                localfile = npm_localfile(os.path.basename(version))
+            elif resolved.startswith("http") and integrity:
+                localfile = npm_localfile(os.path.basename(resolved))
 
-                uri = URI(version)
+                uri = URI(resolved)
                 uri.params["downloadfilename"] = localfile
 
                 checksum_name, checksum_expected = npm_integrity(integrity)
@@ -141,28 +135,12 @@
 
                 localpath = os.path.join(d.getVar("DL_DIR"), localfile)
 
-            # Handle local tarball and link sources
-            elif version.startswith("file"):
-                localpath = version[5:]
-                if not version.endswith(".tgz"):
-                    unpack = False
+            # Handle local tarball sources
+            elif resolved.startswith("file"):
+                localpath = resolved[5:]
 
             # Handle git sources
-            elif version.startswith(("git", "bitbucket","gist")) or (
-                not version.endswith((".tgz", ".tar", ".tar.gz"))
-                and not version.startswith((".", "@", "/"))
-                and "/" in version
-            ):
-                if version.startswith("github:"):
-                    version = "git+https://github.com/" + version[len("github:"):]
-                elif version.startswith("gist:"):
-                    version = "git+https://gist.github.com/" + version[len("gist:"):]
-                elif version.startswith("bitbucket:"):
-                    version = "git+https://bitbucket.org/" + version[len("bitbucket:"):]
-                elif version.startswith("gitlab:"):
-                    version = "git+https://gitlab.com/" + version[len("gitlab:"):]
-                elif not version.startswith(("git+","git:")):
-                    version = "git+https://github.com/" + version
+            elif resolved.startswith("git"):
                 regex = re.compile(r"""
                     ^
                     git\+
@@ -174,10 +152,9 @@
                     $
                     """, re.VERBOSE)
 
-                match = regex.match(version)
-
+                match = regex.match(resolved)
                 if not match:
-                    raise ParameterError("Invalid git url: %s" % version, ud.url)
+                    raise ParameterError("Invalid git url: %s" % resolved, ud.url)
 
                 groups = match.groupdict()
 
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index 773d41c..1984260 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -305,13 +305,45 @@
 
         class FixedHTTPRedirectHandler(urllib.request.HTTPRedirectHandler):
             """
-            urllib2.HTTPRedirectHandler resets the method to GET on redirect,
-            when we want to follow redirects using the original method.
+            urllib2.HTTPRedirectHandler before 3.13 has two flaws:
+            
+            It resets the method to GET on redirect when we want to follow
+            redirects using the original method (typically HEAD). This was fixed
+            in 759e8e7.
+
+            It also doesn't handle 308 (Permanent Redirect). This was fixed in
+            c379bc5.
+
+            Until we depend on Python 3.13 onwards, copy the redirect_request
+            method to fix these issues.
             """
             def redirect_request(self, req, fp, code, msg, headers, newurl):
-                newreq = urllib.request.HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, headers, newurl)
-                newreq.get_method = req.get_method
-                return newreq
+                m = req.get_method()
+                if (not (code in (301, 302, 303, 307, 308) and m in ("GET", "HEAD")
+                    or code in (301, 302, 303) and m == "POST")):
+                    raise urllib.HTTPError(req.full_url, code, msg, headers, fp)
+
+                # Strictly (according to RFC 2616), 301 or 302 in response to
+                # a POST MUST NOT cause a redirection without confirmation
+                # from the user (of urllib.request, in this case).  In practice,
+                # essentially all clients do redirect in this case, so we do
+                # the same.
+
+                # Be conciliant with URIs containing a space.  This is mainly
+                # redundant with the more complete encoding done in http_error_302(),
+                # but it is kept for compatibility with other callers.
+                newurl = newurl.replace(' ', '%20')
+
+                CONTENT_HEADERS = ("content-length", "content-type")
+                newheaders = {k: v for k, v in req.headers.items()
+                            if k.lower() not in CONTENT_HEADERS}
+                return urllib.request.Request(newurl,
+                            method="HEAD" if m == "HEAD" else "GET",
+                            headers=newheaders,
+                            origin_req_host=req.origin_req_host,
+                            unverifiable=True)
+
+            http_error_308 = urllib.request.HTTPRedirectHandler.http_error_302
 
         # We need to update the environment here as both the proxy and HTTPS
         # handlers need variables set. The proxy needs http_proxy and friends to
@@ -344,8 +376,8 @@
             opener = urllib.request.build_opener(*handlers)
 
             try:
-                uri_base = ud.url.split(";")[0]
-                uri = "{}://{}{}".format(urllib.parse.urlparse(uri_base).scheme, ud.host, ud.path)
+                parts = urllib.parse.urlparse(ud.url.split(";")[0])
+                uri = "{}://{}{}".format(parts.scheme, parts.netloc, parts.path)
                 r = urllib.request.Request(uri)
                 r.get_method = lambda: "HEAD"
                 # Some servers (FusionForge, as used on Alioth) require that the
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index 0337018..290ed45 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -43,6 +43,21 @@
         else:
             bb.parse.ConfHandler.include(self.filename, s, self.lineno, data, False)
 
+class IncludeAllNode(AstNode):
+    def __init__(self, filename, lineno, what_file):
+        AstNode.__init__(self, filename, lineno)
+        self.what_file = what_file
+
+    def eval(self, data):
+        """
+        Include the file and evaluate the statements
+        """
+        s = data.expand(self.what_file)
+        logger.debug2("CONF %s:%s: including %s", self.filename, self.lineno, s)
+
+        for path in data.getVar("BBPATH").split(":"):
+            bb.parse.ConfHandler.include(self.filename, os.path.join(path, s), self.lineno, data, False)
+
 class ExportNode(AstNode):
     def __init__(self, filename, lineno, var):
         AstNode.__init__(self, filename, lineno)
@@ -137,7 +152,10 @@
 
         flag = None
         if 'flag' in groupd and groupd['flag'] is not None:
-            flag = groupd['flag']
+            if groupd["lazyques"]:
+                flag = "_defaultval_flag_"+groupd['flag']
+            else:
+                flag = groupd['flag']
         elif groupd["lazyques"]:
             flag = "_defaultval"
 
@@ -366,6 +384,9 @@
 def handleInclude(statements, filename, lineno, m, force):
     statements.append(IncludeNode(filename, lineno, m.group(1), force))
 
+def handleIncludeAll(statements, filename, lineno, m):
+    statements.append(IncludeAllNode(filename, lineno, m.group(1)))
+
 def handleExport(statements, filename, lineno, m):
     statements.append(ExportNode(filename, lineno, m.group(1)))
 
@@ -419,6 +440,30 @@
         code.append("%s(d)" % funcname)
     bb.utils.better_exec("\n".join(code), {"d": d})
 
+# Handle recipe level PREFERRED_PROVIDERs
+def handleVirtRecipeProviders(tasklist, d):
+    depends = (d.getVar("DEPENDS") or "").split()
+    virtprovs = (d.getVar("BB_RECIPE_VIRTUAL_PROVIDERS") or "").split()
+    newdeps = []
+    for dep in depends:
+        if dep in virtprovs:
+            newdep = d.getVar("PREFERRED_PROVIDER_" + dep)
+            if not newdep:
+                 bb.fatal("Error, recipe virtual provider PREFERRED_PROVIDER_%s not set" % dep)
+            newdeps.append(newdep)
+        else:
+            newdeps.append(dep)
+    d.setVar("DEPENDS", " ".join(newdeps))
+    for task in tasklist:
+        taskdeps = (d.getVarFlag(task, "depends") or "").split()
+        remapped = []
+        for entry in taskdeps:
+            r, t = entry.split(":")
+            if r in virtprovs:
+                r = d.getVar("PREFERRED_PROVIDER_" + r)
+            remapped.append("%s:%s" % (r, t))
+        d.setVarFlag(task, "depends", " ".join(remapped))
+
 def finalize(fn, d, variant = None):
     saved_handlers = bb.event.get_handlers().copy()
     try:
@@ -444,6 +489,7 @@
 
         tasklist = d.getVar('__BBTASKS', False) or []
         bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d)
+        handleVirtRecipeProviders(tasklist, d)
         bb.build.add_tasks(tasklist, d)
 
         bb.parse.siggen.finalise(fn, d, variant)
diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index d0711ed..24f81f7 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -43,6 +43,7 @@
     """, re.X)
 __include_regexp__ = re.compile( r"include\s+(.+)" )
 __require_regexp__ = re.compile( r"require\s+(.+)" )
+__includeall_regexp__ = re.compile( r"include_all\s+(.+)" )
 __export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/~]+)$" )
 __unset_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)$" )
 __unset_flag_regexp__ = re.compile( r"unset\s+([a-zA-Z0-9\-_+.${}/~]+)\[([a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]+)\]$" )
@@ -178,6 +179,11 @@
         ast.handleInclude(statements, fn, lineno, m, True)
         return
 
+    m = __includeall_regexp__.match(s)
+    if m:
+        ast.handleIncludeAll(statements, fn, lineno, m)
+        return
+
     m = __export_regexp__.match(s)
     if m:
         ast.handleExport(statements, fn, lineno, m)
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 363f3a2..d647170 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -1739,6 +1739,8 @@
         if cwd is None:
             cwd = self.gitdir
         actual_refs = self.git(['for-each-ref', '--format=%(refname)'], cwd=cwd).splitlines()
+        # Resolve references into the same format as the comparision (needed by git 2.48 onwards)
+        actual_refs = self.git(['rev-parse', '--symbolic-full-name'] + actual_refs, cwd=cwd).splitlines()
         full_expected = self.git(['rev-parse', '--symbolic-full-name'] + expected_refs, cwd=cwd).splitlines()
         self.assertEqual(sorted(set(full_expected)), sorted(set(actual_refs)))
 
@@ -2627,8 +2629,8 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         ud = fetcher.ud[fetcher.urls[0]]
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
@@ -2641,9 +2643,9 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_bad_checksum(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
         # Fetch once to get a tarball
-        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher = bb.fetch.Fetch(urls, self.d)
         ud = fetcher.ud[fetcher.urls[0]]
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
@@ -2660,9 +2662,9 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_premirrors(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
         # Fetch once to get a tarball
-        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher = bb.fetch.Fetch(urls, self.d)
         ud = fetcher.ud[fetcher.urls[0]]
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
@@ -2682,7 +2684,7 @@
         # while the fetcher object exists, which it does when we rename the
         # download directory to "mirror" above. Thus we need a new fetcher to go
         # with the now empty download directory.
-        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher = bb.fetch.Fetch(urls, self.d)
         ud = fetcher.ud[fetcher.urls[0]]
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
@@ -2690,9 +2692,9 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_premirrors_with_specified_filename(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
         # Fetch once to get a tarball
-        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher = bb.fetch.Fetch(urls, self.d)
         ud = fetcher.ud[fetcher.urls[0]]
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
@@ -2712,8 +2714,8 @@
     @skipIfNoNetwork()
     def test_npm_mirrors(self):
         # Fetch once to get a tarball
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         ud = fetcher.ud[fetcher.urls[0]]
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
@@ -2737,8 +2739,8 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_destsuffix_downloadfilename(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0;destsuffix=foo/bar;downloadfilename=foo-bar.tgz'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0;destsuffix=foo/bar;downloadfilename=foo-bar.tgz']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         fetcher.download()
         self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'foo-bar.tgz')))
         fetcher.unpack(self.unpackdir)
@@ -2746,18 +2748,18 @@
         self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
 
     def test_npm_no_network_no_tarball(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
         self.d.setVar('BB_NO_NETWORK', '1')
-        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher = bb.fetch.Fetch(urls, self.d)
         with self.assertRaises(bb.fetch2.NetworkAccess):
             fetcher.download()
 
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_no_network_with_tarball(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
         # Fetch once to get a tarball
-        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher = bb.fetch.Fetch(urls, self.d)
         fetcher.download()
         # Disable network access
         self.d.setVar('BB_NO_NETWORK', '1')
@@ -2770,8 +2772,8 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_registry_alternate(self):
-        url = 'npm://skimdb.npmjs.com;package=@savoirfairelinux/node-server-example;version=1.0.0'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        urls = ['npm://skimdb.npmjs.com;package=@savoirfairelinux/node-server-example;version=1.0.0']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         fetcher.download()
         fetcher.unpack(self.unpackdir)
         unpackdir = os.path.join(self.unpackdir, 'npm')
@@ -2780,8 +2782,8 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_version_latest(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=latest'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        url = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=latest']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         fetcher.download()
         fetcher.unpack(self.unpackdir)
         unpackdir = os.path.join(self.unpackdir, 'npm')
@@ -2790,46 +2792,46 @@
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_registry_invalid(self):
-        url = 'npm://registry.invalid.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        urls = ['npm://registry.invalid.org;package=@savoirfairelinux/node-server-example;version=1.0.0']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         with self.assertRaises(bb.fetch2.FetchError):
             fetcher.download()
 
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_package_invalid(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/invalid;version=1.0.0'
-        fetcher = bb.fetch.Fetch([url], self.d)
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/invalid;version=1.0.0']
+        fetcher = bb.fetch.Fetch(urls, self.d)
         with self.assertRaises(bb.fetch2.FetchError):
             fetcher.download()
 
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_version_invalid(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=invalid'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=invalid']
         with self.assertRaises(bb.fetch2.ParameterError):
-            fetcher = bb.fetch.Fetch([url], self.d)
+            fetcher = bb.fetch.Fetch(urls, self.d)
 
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_registry_none(self):
-        url = 'npm://;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        urls = ['npm://;package=@savoirfairelinux/node-server-example;version=1.0.0']
         with self.assertRaises(bb.fetch2.MalformedUrl):
-            fetcher = bb.fetch.Fetch([url], self.d)
+            fetcher = bb.fetch.Fetch(urls, self.d)
 
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_package_none(self):
-        url = 'npm://registry.npmjs.org;version=1.0.0'
+        urls = ['npm://registry.npmjs.org;version=1.0.0']
         with self.assertRaises(bb.fetch2.MissingParameterError):
-            fetcher = bb.fetch.Fetch([url], self.d)
+            fetcher = bb.fetch.Fetch(urls, self.d)
 
     @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npm_version_none(self):
-        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example'
+        urls = ['npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example']
         with self.assertRaises(bb.fetch2.MissingParameterError):
-            fetcher = bb.fetch.Fetch([url], self.d)
+            fetcher = bb.fetch.Fetch(urls, self.d)
 
     def create_shrinkwrap_file(self, data):
         import json
@@ -2838,32 +2840,30 @@
         bb.utils.mkdirhier(datadir)
         with open(swfile, 'w') as f:
             json.dump(data, f)
-        # Also configure the S directory
-        self.sdir = os.path.join(self.unpackdir, 'S')
-        self.d.setVar('S', self.sdir)
         return swfile
 
-    @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npmsw(self):
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=',
                     'dependencies': {
-                        'content-type': {
-                            'version': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
-                            'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
-                            'dependencies': {
-                                'cookie': {
-                                    'version': 'git+https://github.com/jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09',
-                                    'from': 'git+https://github.com/jshttp/cookie.git'
-                                }
-                            }
-                        }
+                        'content-type': "1.0.4"
                     }
+                },
+                'node_modules/array-flatten/node_modules/content-type': {
+                    'version': '1.0.4',
+                    'resolved': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
+                    'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
+                    'dependencies': {
+                        'cookie': 'git+https://github.com/jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09'
+                    }
+                },
+                'node_modules/array-flatten/node_modules/content-type/node_modules/cookie': {
+                    'resolved': 'git+https://github.com/jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09'
                 }
             }
         })
@@ -2873,19 +2873,17 @@
         self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
         self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'github.com.jshttp.cookie.git')))
         fetcher.unpack(self.unpackdir)
-        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'npm-shrinkwrap.json')))
-        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'package.json')))
-        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'package.json')))
-        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'node_modules', 'cookie', 'package.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'npm-shrinkwrap.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'node_modules', 'array-flatten', 'package.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'package.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'node_modules', 'cookie', 'package.json')))
 
-    @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npmsw_git(self):
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'cookie': {
-                    'version': 'github:jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09',
-                    'from': 'github:jshttp/cookie.git'
+            'packages': {
+                'node_modules/cookie': {
+                    'resolved': 'git+https://github.com/jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09'
                 }
             }
         })
@@ -2893,41 +2891,16 @@
         fetcher.download()
         self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'github.com.jshttp.cookie.git')))
 
-        swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'cookie': {
-                    'version': 'jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09',
-                    'from': 'jshttp/cookie.git'
-                }
-            }
-        })
-        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
-        fetcher.download()
-        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'github.com.jshttp.cookie.git')))
-
-        swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'nodejs': {
-                    'version': 'gitlab:gitlab-examples/nodejs.git#892a1f16725e56cc3a2cb0d677be42935c8fc262',
-                    'from': 'gitlab:gitlab-examples/nodejs'
-                }
-            }
-        })
-        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
-        fetcher.download()
-        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'gitlab.com.gitlab-examples.nodejs.git')))
-
-    @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npmsw_dev(self):
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
                 },
-                'content-type': {
+                'node_modules/content-type': {
                     'version': '1.0.4',
                     'resolved': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
                     'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
@@ -2946,12 +2919,11 @@
         self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
         self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
 
-    @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npmsw_destsuffix(self):
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -2965,8 +2937,8 @@
 
     def test_npmsw_no_network_no_tarball(self):
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -2988,8 +2960,8 @@
         self.d.setVar('BB_NO_NETWORK', '1')
         # Fetch again
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -2999,15 +2971,14 @@
         fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
         fetcher.download()
         fetcher.unpack(self.unpackdir)
-        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'package.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'node_modules', 'array-flatten', 'package.json')))
 
-    @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npmsw_npm_reusability(self):
         # Fetch once with npmsw
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -3024,13 +2995,12 @@
         fetcher.unpack(self.unpackdir)
         self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'npm', 'package.json')))
 
-    @skipIfNoNpm()
     @skipIfNoNetwork()
     def test_npmsw_bad_checksum(self):
         # Try to fetch with bad checksum
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-gfNEp2hqgLTFKT6P3AsBYMgsBqg='
@@ -3042,8 +3012,8 @@
             fetcher.download()
         # Fetch correctly to get a tarball
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -3081,8 +3051,8 @@
         # Fetch again
         self.assertFalse(os.path.exists(ud.localpath))
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -3109,8 +3079,8 @@
         # Fetch again with invalid url
         self.assertFalse(os.path.exists(ud.localpath))
         swfile = self.create_shrinkwrap_file({
-            'dependencies': {
-                'array-flatten': {
+            'packages': {
+                'node_modules/array-flatten': {
                     'version': '1.1.1',
                     'resolved': 'https://invalid',
                     'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
@@ -3121,6 +3091,28 @@
         fetcher.download()
         self.assertTrue(os.path.exists(ud.localpath))
 
+    @skipIfNoNetwork()
+    def test_npmsw_bundled(self):
+        swfile = self.create_shrinkwrap_file({
+            'packages': {
+                'node_modules/array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                },
+                'node_modules/content-type': {
+                    'version': '1.0.4',
+                    'resolved': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
+                    'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
+                    'inBundle': True
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
+        self.assertFalse(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
+
 class GitSharedTest(FetcherTest):
     def setUp(self):
         super(GitSharedTest, self).setUp()
@@ -3401,7 +3393,6 @@
         fetcher = bb.fetch2.Fetch(urls, self.d)
         ud = fetcher.ud[urls[0]]
         self.assertEqual(ud.url, 'https://proxy.golang.org/github.com/%21azure/azure-sdk-for-go/sdk/storage/azblob/%40v/v1.0.0.zip')
-        self.assertNotIn('name', ud.parm)
 
         fetcher.download()
         fetcher.unpack(self.unpackdir)
@@ -3419,7 +3410,6 @@
         fetcher = bb.fetch2.Fetch(urls, self.d)
         ud = fetcher.ud[urls[0]]
         self.assertEqual(ud.url, 'https://proxy.golang.org/github.com/%21azure/azure-sdk-for-go/sdk/storage/azblob/%40v/v1.0.0.mod')
-        self.assertNotIn('name', ud.parm)
 
         fetcher.download()
         fetcher.unpack(self.unpackdir)
@@ -3452,7 +3442,6 @@
         fetcher = bb.fetch2.Fetch(urls, self.d)
         ud = fetcher.ud[urls[0]]
         self.assertEqual(ud.url, 'https://proxy.golang.org/gopkg.in/ini.v1/%40v/v1.67.0.zip')
-        self.assertNotIn('name', ud.parm)
 
         fetcher.download()
         fetcher.unpack(self.unpackdir)
@@ -3470,7 +3459,6 @@
         fetcher = bb.fetch2.Fetch(urls, self.d)
         ud = fetcher.ud[urls[0]]
         self.assertEqual(ud.url, 'https://proxy.golang.org/go.opencensus.io/%40v/v0.24.0.zip')
-        self.assertNotIn('name', ud.parm)
 
         fetcher.download()
         fetcher.unpack(self.unpackdir)
diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py
index 56eb66b..cb60af3 100644
--- a/poky/bitbake/lib/bb/tests/parse.py
+++ b/poky/bitbake/lib/bb/tests/parse.py
@@ -75,6 +75,59 @@
         self.assertEqual(d.getVarFlag("A","flag"), None)
         self.assertEqual(d.getVar("B"), "2")
 
+    defaulttest = """
+A = "set value"
+A ??= "default value"
+
+A[flag_set_vs_question] = "set flag"
+A[flag_set_vs_question] ?= "question flag"
+
+A[flag_set_vs_default] = "set flag"
+A[flag_set_vs_default] ??= "default flag"
+
+A[flag_question] ?= "question flag"
+
+A[flag_default] ??= "default flag"
+
+A[flag_question_vs_default] ?= "question flag"
+A[flag_question_vs_default] ??= "default flag"
+
+A[flag_default_vs_question] ??= "default flag"
+A[flag_default_vs_question] ?= "question flag"
+
+A[flag_set_question_default] = "set flag"
+A[flag_set_question_default] ?= "question flag"
+A[flag_set_question_default] ??= "default flag"
+
+A[flag_set_default_question] = "set flag"
+A[flag_set_default_question] ??= "default flag"
+A[flag_set_default_question] ?= "question flag"
+
+A[flag_set_twice] = "set flag first"
+A[flag_set_twice] = "set flag second"
+
+A[flag_question_twice] ?= "question flag first"
+A[flag_question_twice] ?= "question flag second"
+
+A[flag_default_twice] ??= "default flag first"
+A[flag_default_twice] ??= "default flag second"
+"""
+    def test_parse_defaulttest(self):
+        f = self.parsehelper(self.defaulttest)
+        d = bb.parse.handle(f.name, self.d)['']
+        self.assertEqual(d.getVar("A"), "set value")
+        self.assertEqual(d.getVarFlag("A","flag_set_vs_question"), "set flag")
+        self.assertEqual(d.getVarFlag("A","flag_set_vs_default"), "set flag")
+        self.assertEqual(d.getVarFlag("A","flag_question"), "question flag")
+        self.assertEqual(d.getVarFlag("A","flag_default"), "default flag")
+        self.assertEqual(d.getVarFlag("A","flag_question_vs_default"), "question flag")
+        self.assertEqual(d.getVarFlag("A","flag_default_vs_question"), "question flag")
+        self.assertEqual(d.getVarFlag("A","flag_set_question_default"), "set flag")
+        self.assertEqual(d.getVarFlag("A","flag_set_default_question"), "set flag")
+        self.assertEqual(d.getVarFlag("A","flag_set_twice"), "set flag second")
+        self.assertEqual(d.getVarFlag("A","flag_question_twice"), "question flag first")
+        self.assertEqual(d.getVarFlag("A","flag_default_twice"), "default flag second")
+
     exporttest = """
 A = "a"
 export B = "b"
@@ -348,3 +401,45 @@
             self.assertIn("else", d.getVar("do_compilepython"))
             check_function_flags(d)
 
+    export_function_unclosed_tab = """
+do_compile () {
+       bb.note("Something")
+\t}
+"""
+    export_function_unclosed_space = """
+do_compile () {
+       bb.note("Something")
+ }
+"""
+    export_function_residue = """
+do_compile () {
+       bb.note("Something")
+}
+
+include \\
+"""
+
+    def test_unclosed_functions(self):
+        def test_helper(content, expected_error):
+            with tempfile.TemporaryDirectory() as tempdir:
+                recipename = tempdir + "/recipe_unclosed.bb"
+                with open(recipename, "w") as f:
+                    f.write(content)
+                    f.flush()
+                os.chdir(tempdir)
+                with self.assertRaises(bb.parse.ParseError) as error:
+                    bb.parse.handle(recipename, bb.data.createCopy(self.d))
+                self.assertIn(expected_error, str(error.exception))
+
+        with tempfile.TemporaryDirectory() as tempdir:
+            test_helper(self.export_function_unclosed_tab, "Unparsed lines from unclosed function")
+            test_helper(self.export_function_unclosed_space, "Unparsed lines from unclosed function")
+            test_helper(self.export_function_residue, "Unparsed lines")
+
+            recipename_closed = tempdir + "/recipe_closed.bb"
+            with open(recipename_closed, "w") as in_file:
+                lines = self.export_function_unclosed_tab.split("\n")
+                lines[3] = "}"
+                in_file.write("\n".join(lines))
+                in_file.flush()
+            bb.parse.handle(recipename_closed, bb.data.createCopy(self.d))
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
index b57650d..80b003b 100644
--- a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
@@ -9,7 +9,7 @@
     with open(stampname, "a+") as f:
         f.write(d.getVar("BB_UNIHASH") + "\n")
 
-    if d.getVar("BB_CURRENT_MC") != "default":
+    if d.getVar("BB_CURRENT_MC") != "":
         thistask = d.expand("${BB_CURRENT_MC}:${PN}:${BB_CURRENTTASK}")
     if thistask in d.getVar("SLOWTASKS").split():
         bb.note("Slowing task %s" % thistask)
diff --git a/poky/bitbake/lib/bb/tests/utils.py b/poky/bitbake/lib/bb/tests/utils.py
index c363f62..48e61df 100644
--- a/poky/bitbake/lib/bb/tests/utils.py
+++ b/poky/bitbake/lib/bb/tests/utils.py
@@ -130,6 +130,14 @@
             checksum = bb.utils.sha256_file(f.name)
             self.assertEqual(checksum, "fcfbae8bf6b721dbb9d2dc6a9334a58f2031a9a9b302999243f99da4d7f12d0f")
 
+    def test_goh1(self):
+        import hashlib
+        with tempfile.NamedTemporaryFile() as f:
+            f.write(self.filler)
+            f.flush()
+            checksum = bb.utils.goh1_file(f.name)
+            self.assertEqual(checksum, "81191f04d4abf413e5badd234814e4202d9efa73e6f9437e9ddd6b8165b569ef")
+
 class EditMetadataFile(unittest.TestCase):
     _origfile = """
 # A comment
diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py
index 0e937fb..13b05ce 100644
--- a/poky/bitbake/lib/bb/tinfoil.py
+++ b/poky/bitbake/lib/bb/tinfoil.py
@@ -188,11 +188,19 @@
             self._cache[name] = attrvalue
             return attrvalue
 
+    class TinfoilSkiplistByMcAdapter:
+        def __init__(self, tinfoil):
+            self.tinfoil = tinfoil
+
+        def __getitem__(self, mc):
+            return self.tinfoil.get_skipped_recipes(mc)
+
     def __init__(self, tinfoil):
         self.tinfoil = tinfoil
         self.multiconfigs = [''] + (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split()
         self.collections = {}
         self.recipecaches = {}
+        self.skiplist_by_mc = self.TinfoilSkiplistByMcAdapter(tinfoil)
         for mc in self.multiconfigs:
             self.collections[mc] = self.TinfoilCookerCollectionAdapter(tinfoil, mc)
             self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
@@ -201,8 +209,6 @@
         # Grab these only when they are requested since they aren't always used
         if name in self._cache:
             return self._cache[name]
-        elif name == 'skiplist':
-            attrvalue = self.tinfoil.get_skipped_recipes()
         elif name == 'bbfile_config_priorities':
             ret = self.tinfoil.run_command('getLayerPriorities')
             bbfile_config_priorities = []
@@ -514,12 +520,12 @@
         """
         return defaultdict(list, self.run_command('getOverlayedRecipes', mc))
 
-    def get_skipped_recipes(self):
+    def get_skipped_recipes(self, mc=''):
         """
         Find recipes which were skipped (i.e. SkipRecipe was raised
         during parsing).
         """
-        return OrderedDict(self.run_command('getSkippedRecipes'))
+        return OrderedDict(self.run_command('getSkippedRecipes', mc))
 
     def get_all_providers(self, mc=''):
         return defaultdict(list, self.run_command('allProviders', mc))
@@ -533,6 +539,7 @@
     def get_runtime_providers(self, rdep):
         return self.run_command('getRuntimeProviders', rdep)
 
+    # TODO: teach this method about mc
     def get_recipe_file(self, pn):
         """
         Get the file name for the specified recipe/target. Raises
@@ -541,6 +548,7 @@
         """
         best = self.find_best_provider(pn)
         if not best or (len(best) > 3 and not best[3]):
+            # TODO: pass down mc
             skiplist = self.get_skipped_recipes()
             taskdata = bb.taskdata.TaskData(None, skiplist=skiplist)
             skipreasons = taskdata.get_reasons(pn)
diff --git a/poky/bitbake/lib/bb/ui/uihelper.py b/poky/bitbake/lib/bb/ui/uihelper.py
index 82913e0..e6983bd 100644
--- a/poky/bitbake/lib/bb/ui/uihelper.py
+++ b/poky/bitbake/lib/bb/ui/uihelper.py
@@ -31,7 +31,7 @@
 
         if isinstance(event, bb.build.TaskStarted):
             tid = event._fn + ":" + event._task
-            if event._mc != "default":
+            if event._mc != "":
                 self.running_tasks[tid] = { 'title' : "mc:%s:%s %s" % (event._mc, event._package, event._task), 'starttime' : time.time(), 'pid' : event.pid }
             else:
                 self.running_tasks[tid] = { 'title' : "%s %s" % (event._package, event._task), 'starttime' : time.time(), 'pid' : event.pid }
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index e722f91..135c71c 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -585,6 +585,31 @@
     import hashlib
     return _hasher(hashlib.sha512(), filename)
 
+def goh1_file(filename):
+    """
+    Return the hex string representation of the Go mod h1 checksum of the
+    filename. The Go mod h1 checksum uses the Go dirhash package. The package
+    defines hashes over directory trees and is used by go mod for mod files and
+    zip archives.
+    """
+    import hashlib
+    import zipfile
+
+    lines = []
+    if zipfile.is_zipfile(filename):
+        with zipfile.ZipFile(filename) as archive:
+            for fn in sorted(archive.namelist()):
+                method = hashlib.sha256()
+                method.update(archive.read(fn))
+                hash = method.hexdigest()
+                lines.append("%s  %s\n" % (hash, fn))
+    else:
+        hash = _hasher(hashlib.sha256(), filename)
+        lines.append("%s  go.mod\n" % hash)
+    method = hashlib.sha256()
+    method.update("".join(lines).encode('utf-8'))
+    return method.hexdigest()
+
 def preserved_envvars_exported():
     """Variables which are taken from the environment and placed in and exported
     from the metadata"""
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index bfc18a75..eb7cb46 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -142,10 +142,10 @@
         # Ensure we list skipped recipes
         # We are largely guessing about PN, PV and the preferred version here,
         # but we have no choice since skipped recipes are not fully parsed
-        skiplist = list(self.tinfoil.cooker.skiplist.keys())
-        mcspec = 'mc:%s:' % mc
+        skiplist = list(self.tinfoil.cooker.skiplist_by_mc[mc].keys())
+
         if mc:
-            skiplist = [s[len(mcspec):] for s in skiplist if s.startswith(mcspec)]
+            skiplist = [s.removeprefix(f'mc:{mc}:') for s in skiplist]
 
         for fn in skiplist:
             recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
@@ -162,7 +162,7 @@
         def print_item(f, pn, ver, layer, ispref):
             if not selected_layer or layer == selected_layer:
                 if not bare and f in skiplist:
-                    skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist[f].skipreason
+                    skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist_by_mc[mc][f].skipreason
                 else:
                     skipped = ''
                 if show_filenames:
@@ -301,7 +301,7 @@
             if self.show_appends_for_pn(pn, cooker_data, args.mc):
                 appends = True
 
-        if not args.pnspec and self.show_appends_for_skipped():
+        if not args.pnspec and self.show_appends_for_skipped(args.mc):
             appends = True
 
         if not appends:
@@ -317,9 +317,9 @@
 
         return self.show_appends_output(filenames, best_filename)
 
-    def show_appends_for_skipped(self):
+    def show_appends_for_skipped(self, mc):
         filenames = [os.path.basename(f)
-                    for f in self.tinfoil.cooker.skiplist.keys()]
+                    for f in self.tinfoil.cooker.skiplist_by_mc[mc].keys()]
         return self.show_appends_output(filenames, None, " (skipped)")
 
     def show_appends_output(self, filenames, best_filename, name_suffix = ''):
diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst
index c5400e4..3d249ee 100644
--- a/poky/documentation/brief-yoctoprojectqs/index.rst
+++ b/poky/documentation/brief-yoctoprojectqs/index.rst
@@ -78,7 +78,7 @@
 following command installs the host packages based on an Ubuntu
 distribution::
 
-   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
 
 .. note::
 
diff --git a/poky/documentation/contributor-guide/recipe-style-guide.rst b/poky/documentation/contributor-guide/recipe-style-guide.rst
index 6a3eec3..806bf23 100644
--- a/poky/documentation/contributor-guide/recipe-style-guide.rst
+++ b/poky/documentation/contributor-guide/recipe-style-guide.rst
@@ -47,10 +47,10 @@
 
 When a recipe references a git revision that does not correspond to a released
 version of software (e.g. is not a tagged version), the :term:`PV` variable
-should include the Git revision using the following to make the
-version clear::
+should include the sign ``+``, so :term:`bitbake` automatically includes package
+version information during the packaging phase::
 
-    PV = "<version>+git${SRCPV}"
+    PV = "<version>+git"
 
 In this case, ``<version>`` should be the most recently released version of the
 software from the current source revision (``git describe`` can be useful for
diff --git a/poky/documentation/contributor-guide/submit-changes.rst b/poky/documentation/contributor-guide/submit-changes.rst
index 7dc8da7..85ca987 100644
--- a/poky/documentation/contributor-guide/submit-changes.rst
+++ b/poky/documentation/contributor-guide/submit-changes.rst
@@ -65,6 +65,13 @@
    git config --global user.name "Ada Lovelace"
    git config --global user.email "ada.lovelace@gmail.com"
 
+By default, Git adds a signature line at the end of patches containing the Git
+version. We suggest to remove it as it doesn't add useful information.
+
+Remove it with the following command::
+
+   git config --global format.signature ""
+
 Clone the Git repository for the component to modify
 ----------------------------------------------------
 
diff --git a/poky/documentation/dev-manual/bmaptool.rst b/poky/documentation/dev-manual/bmaptool.rst
index f6f0e6a..87162a4 100644
--- a/poky/documentation/dev-manual/bmaptool.rst
+++ b/poky/documentation/dev-manual/bmaptool.rst
@@ -1,13 +1,13 @@
 .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
 
-Flashing Images Using ``bmaptool``
-**********************************
+Flashing Images Using `bmaptool`
+********************************
 
 A fast and easy way to flash an image to a bootable device is to use
-bmaptool, which is integrated into the OpenEmbedded build system.
-bmaptool is a generic tool that creates a file's block map (bmap) and
+`bmaptool`, which is integrated into the OpenEmbedded build system.
+`bmaptool` is a generic tool that creates a file's block map (bmap) and
 then uses that map to copy the file. As compared to traditional tools
-such as dd or cp, bmaptool can copy (or flash) large files like raw
+such as `dd` or `cp`, `bmaptool` can copy (or flash) large files like raw
 system image files much faster.
 
 .. note::
@@ -20,13 +20,13 @@
          $ sudo apt install bmap-tools
 
    -  If you are unable to install the ``bmap-tools`` package, you will
-      need to build bmaptool before using it. Use the following command::
+      need to build `bmaptool` before using it. Use the following command::
 
-         $ bitbake bmaptool-native
+         $ bitbake bmaptool-native -caddto_recipe_sysroot
 
 Following, is an example that shows how to flash a Wic image. Realize
-that while this example uses a Wic image, you can use bmaptool to flash
-any type of image. Use these steps to flash an image using bmaptool:
+that while this example uses a Wic image, you can use `bmaptool` to flash
+any type of image. Use these steps to flash an image using `bmaptool`:
 
 #. *Update your local.conf File:* You need to have the following set
    in your ``local.conf`` file before building your image::
@@ -39,18 +39,17 @@
 
       $ bitbake image
 
-#. *Flash the Device:* Flash the device with the image by using bmaptool
+#. *Flash the Device:* Flash the device with the image by using `bmaptool`
    depending on your particular setup. The following commands assume the
    image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
 
-   -  If you have write access to the media, use this command form::
+   -  If you installed the package for `bmaptool`, you can directly run::
 
-         $ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
+         $ sudo bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
 
-   -  If you do not have write access to the media, set your permissions
-      first and then use the same command form::
+   -  Otherwise, if you built `bmaptool` with BitBake, run::
 
-         $ sudo chmod 666 /dev/sdX
+         $ sudo chmod a+w /dev/sdX       # get write access to the media, needed only once after booting
          $ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
 
 For help on the ``bmaptool`` command, use the following command::
diff --git a/poky/documentation/dev-manual/build-quality.rst b/poky/documentation/dev-manual/build-quality.rst
index 713ea3a..fbe5fb6 100644
--- a/poky/documentation/dev-manual/build-quality.rst
+++ b/poky/documentation/dev-manual/build-quality.rst
@@ -236,7 +236,7 @@
    DISTRO_VERSION = 3.4+snapshot-a0245d7be08f3d24ea1875e9f8872aa6bbff93be
    USER_CLASSES = buildstats
    IMAGE_CLASSES = qemuboot qemuboot license_image
-   IMAGE_FEATURES = debug-tweaks
+   IMAGE_FEATURES = allow-empty-password empty-root-password allow-root-login post-install-logging
    IMAGE_LINGUAS =
    IMAGE_INSTALL = packagegroup-core-boot speex speexdsp
    BAD_RECOMMENDATIONS =
diff --git a/poky/documentation/dev-manual/building.rst b/poky/documentation/dev-manual/building.rst
index fe50269..4770a5a 100644
--- a/poky/documentation/dev-manual/building.rst
+++ b/poky/documentation/dev-manual/building.rst
@@ -280,7 +280,9 @@
 #. *Create the Initramfs Image Recipe:* You can reference the
    ``core-image-minimal-initramfs.bb`` recipe found in the
    ``meta/recipes-core`` directory of the :term:`Source Directory`
-   as an example from which to work.
+   as an example from which to work. The ``core-image-minimal-initramfs`` recipe
+   is based on the :ref:`initramfs-framework <dev-manual/building:Customizing an
+   Initramfs using \`\`initramfs-framework\`\`>` recipe described below.
 
 #. *Decide if You Need to Bundle the Initramfs Image Into the Kernel
    Image:* If you want the :term:`Initramfs` image that is built to be bundled
@@ -308,6 +310,86 @@
    and bundled with the kernel image if you used the
    :term:`INITRAMFS_IMAGE_BUNDLE` variable described earlier.
 
+Customizing an Initramfs using ``initramfs-framework``
+------------------------------------------------------
+
+The ``core-image-minimal-initramfs.bb`` recipe found in
+:oe_git:`meta/recipes-core/images
+</openembedded-core/tree/meta/recipes-core/images>` uses the
+:oe_git:`initramfs-framework_1.0.bb
+</openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb>`
+recipe as its base component. The goal of the ``initramfs-framework`` recipe is
+to provide the building blocks to build a customized :term:`Initramfs`.
+
+The ``initramfs-framework`` recipe relies on shell initialization scripts
+defined in :oe_git:`meta/recipes-core/initrdscripts/initramfs-framework
+</openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-framework>`. Since some of
+these scripts do not apply for all use cases, the ``initramfs-framework`` recipe
+defines different packages:
+
+-  ``initramfs-framework-base``: this package installs the basic components of
+   an :term:`Initramfs`, such as the ``init`` script or the ``/dev/console``
+   character special file. As this package is a runtime dependency of all
+   modules listed below, it is automatically pulled in when one of the modules
+   is installed in the image.
+-  ``initramfs-module-exec``: support for execution of applications.
+-  ``initramfs-module-mdev``: support for `mdev
+   <https://wiki.gentoo.org/wiki/Mdev>`__.
+-  ``initramfs-module-udev``: support for :wikipedia:`Udev <Udev>`.
+-  ``initramfs-module-e2fs``: support for :wikipedia:`ext4/ext3/ext2
+   <Extended_file_system>` filesystems.
+-  ``initramfs-module-nfsrootfs``: support for locating and mounting the root
+   partition via :wikipedia:`NFS <Network_File_System>`.
+-  ``initramfs-module-rootfs``: support for locating and mounting the root
+   partition.
+-  ``initramfs-module-debug``: dynamic debug support.
+-  ``initramfs-module-lvm``: :wikipedia:`LVM <Logical_volume_management>` rootfs support.
+-  ``initramfs-module-overlayroot``: support for mounting a read-write overlay
+   on top of a read-only root filesystem.
+
+In addition to the packages defined by the ``initramfs-framework`` recipe
+itself, the following packages are defined by the recipes present in
+:oe_git:`meta/recipes-core/initrdscripts </openembedded-core/tree/meta/recipes-core/initrdscripts>`:
+
+-  ``initramfs-module-install``: module to create and install a partition layout
+   on a selected block device.
+-  ``initramfs-module-install-efi``: module to create and install an EFI
+   partition layout on a selected block device.
+-  ``initramfs-module-setup-live``: module to start a shell in the
+   :term:`Initramfs` if ``root=/dev/ram0`` in passed in the `Kernel command-line
+   <https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html>`__
+   or the ``root=`` parameter was not passed.
+
+To customize the :term:`Initramfs`, you can add or remove packages listed
+earlier from the :term:`PACKAGE_INSTALL` variable with a :ref:`bbappend
+<dev-manual/layers:Appending Other Layers Metadata With Your Layer>` on the
+``core-image-minimal-initramfs`` recipe, or create a custom recipe for the
+:term:`Initramfs` taking ``core-image-minimal-initramfs`` as example.
+
+Custom scripts can be added to the :term:`Initramfs` by writing your own
+recipes. The recipes are conventionally named ``initramfs-module-<module name>``
+where ``<module name>`` is the name of the module. The recipe should set its
+:term:`RDEPENDS` package-specific variables to include
+``initramfs-framework-base`` and the other packages on which the module depends
+at runtime.
+
+The recipe must install shell initialization scripts in :term:`${D} <D>`\
+``/init.d`` and must follow the ``<number>-<script name>`` naming scheme where:
+
+-  ``<number>`` is a *two-digit* number that affects the execution order of the
+   script compared to others. For example, the script ``80-setup-live`` would be
+   executed after ``01-udev`` because 80 is greater than 01.
+
+   This number being two-digits is important here as the scripts are executed
+   alphabetically. For example, the script ``10-script`` would be executed
+   before the script ``8-script``, because ``1`` is inferior to ``8``.
+   Therefore, the script should be named ``08-script``.
+
+-  ``<script name>`` is the script name which you can choose freely.
+
+   If two script use the same ``<number>``, they are sorted alphabetically based
+   on ``<script name>``.
+
 Bundling an Initramfs Image From a Separate Multiconfig
 -------------------------------------------------------
 
diff --git a/poky/documentation/dev-manual/customizing-images.rst b/poky/documentation/dev-manual/customizing-images.rst
index 5b18958..6348259 100644
--- a/poky/documentation/dev-manual/customizing-images.rst
+++ b/poky/documentation/dev-manual/customizing-images.rst
@@ -62,8 +62,7 @@
 :ref:`meta/classes-recipe/image.bbclass <ref-classes-image>`.
 This class lists out the available
 :term:`IMAGE_FEATURES` of which most map to package groups while some, such
-as ``debug-tweaks`` and ``read-only-rootfs``, resolve as general
-configuration settings.
+as ``read-only-rootfs``, resolve as general configuration settings.
 
 In summary, the file looks at the contents of the :term:`IMAGE_FEATURES`
 variable and then maps or configures the feature accordingly. Based on
diff --git a/poky/documentation/dev-manual/external-scm.rst b/poky/documentation/dev-manual/external-scm.rst
index 97a7e63..896b1b5 100644
--- a/poky/documentation/dev-manual/external-scm.rst
+++ b/poky/documentation/dev-manual/external-scm.rst
@@ -12,10 +12,13 @@
 Subversion (SVN), Git, and Bazaar (BZR) repositories.
 
 To enable this behavior, the :term:`PV` of
-the recipe needs to reference
-:term:`SRCPV`. Here is an example::
+the recipe needs to include a ``+`` sign in its assignment.
+Here is an example::
 
-   PV = "1.2.3+git${SRCPV}"
+   PV = "1.2.3+git"
+
+:term:`Bitbake` later includes the source control information in :term:`PKGV`
+during the packaging phase.
 
 Then, you can add the following to your
 ``local.conf``::
diff --git a/poky/documentation/dev-manual/index.rst b/poky/documentation/dev-manual/index.rst
index 7afd0d8..8243c0f 100644
--- a/poky/documentation/dev-manual/index.rst
+++ b/poky/documentation/dev-manual/index.rst
@@ -39,7 +39,6 @@
    external-scm
    read-only-rootfs
    build-quality
-   runtime-testing
    debugging
    licenses
    security-subjects
diff --git a/poky/documentation/dev-manual/layers.rst b/poky/documentation/dev-manual/layers.rst
index 89c8466..c649e2b 100644
--- a/poky/documentation/dev-manual/layers.rst
+++ b/poky/documentation/dev-manual/layers.rst
@@ -470,11 +470,23 @@
 means the original recipe and append filenames are version
 number-specific. If the corresponding recipe is renamed to update to a
 newer version, you must also rename and possibly update the
-corresponding ``.bbappend`` as well. During the build process, BitBake
-displays an error on starting if it detects a ``.bbappend`` file that
-does not have a corresponding recipe with a matching name. See the
-:term:`BB_DANGLINGAPPENDS_WARNONLY`
-variable for information on how to handle this error.
+corresponding ``.bbappend`` as well.
+
+During the build process, BitBake displays an error on startup if it detects a
+``.bbappend`` file that does not have a corresponding recipe with a matching
+name. To handle these errors, the best practice is to rename the ``.bbappend``
+to match the original recipe version. This also gives you the opportunity to see
+if the ``.bbappend`` is still relevant for the new version of the recipe.
+
+Another method it to use the character ``%`` in the ``.bbappend`` filename. For
+example, to append information to every ``6.*`` minor versions of the recipe
+``someapp``, the ``someapp_6.%.bbappend`` file can be created. This way, an
+error will only be triggered if the ``someapp`` recipe has a major version
+update.
+
+Finally, another method to deal with these errors is to use the variable
+:term:`BBMASK`, especially in cases where modifying the ``.bbappend`` is not
+possible.
 
 Overlaying a File Using Your Layer
 ----------------------------------
diff --git a/poky/documentation/dev-manual/new-recipe.rst b/poky/documentation/dev-manual/new-recipe.rst
index 61fc2eb..944b962 100644
--- a/poky/documentation/dev-manual/new-recipe.rst
+++ b/poky/documentation/dev-manual/new-recipe.rst
@@ -291,13 +291,13 @@
 
 Another way of specifying source is from an SCM. For Git repositories,
 you must specify :term:`SRCREV` and you should specify :term:`PV` to include
-the revision with :term:`SRCPV`. Here is an example from the recipe
-``meta/recipes-core/musl/gcompat_git.bb``::
+a ``+`` sign in its definition. Here is an example from the recipe
+:oe_git:`meta/recipes-sato/l3afpad/l3afpad_git.bb </openembedded-core/tree/meta/recipes-sato/l3afpad/l3afpad_git.bb>`::
 
-   SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current"
+   SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https"
 
-   PV = "1.0.0+1.1+git${SRCPV}"
-   SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
+   PV = "0.8.18.1.11+git"
+   SRCREV ="3cdccdc9505643e50f8208171d9eee5de11a42ff"
 
 If your :term:`SRC_URI` statement includes URLs pointing to individual files
 fetched from a remote server other than a version control system,
diff --git a/poky/documentation/dev-manual/packages.rst b/poky/documentation/dev-manual/packages.rst
index e5028ff..4ba2dca 100644
--- a/poky/documentation/dev-manual/packages.rst
+++ b/poky/documentation/dev-manual/packages.rst
@@ -16,7 +16,7 @@
 -  :ref:`dev-manual/packages:generating and using signed packages`
 
 -  :ref:`Setting up and running package test
-   (ptest) <dev-manual/packages:testing packages with ptest>`
+   (ptest) <test-manual/ptest:testing packages with ptest>`
 
 -  :ref:`dev-manual/packages:creating node package manager (npm) packages`
 
@@ -84,10 +84,6 @@
 
 -  :term:`PR`: The recipe revision.
 
--  :term:`SRCPV`: The OpenEmbedded
-   build system uses this string to help define the value of :term:`PV` when
-   the source code revision needs to be included in it.
-
 -  :yocto_wiki:`PR Service </PR_Service>`: A
    network-based service that helps automate keeping package feeds
    compatible with existing package manager applications such as RPM,
@@ -256,15 +252,14 @@
 
    SRCREV = "${AUTOREV}"
 
-Furthermore, you need to reference :term:`SRCPV` in :term:`PV` in order to
+Furthermore, you need to include a ``+`` sign in :term:`PV` in order to
 automatically update the version whenever the revision of the source
 code changes. Here is an example::
 
-   PV = "1.0+git${SRCPV}"
+   PV = "1.0+git"
 
-The OpenEmbedded build system substitutes :term:`SRCPV` with the following:
-
-.. code-block:: none
+The OpenEmbedded build system will automatically add the source control
+information to the end of the variable :term:`PKGV`, in this format::
 
    AUTOINC+source_code_revision
 
@@ -887,114 +882,8 @@
 Testing Packages With ptest
 ===========================
 
-A Package Test (ptest) runs tests against packages built by the
-OpenEmbedded build system on the target machine. A ptest contains at
-least two items: the actual test, and a shell script (``run-ptest``)
-that starts the test. The shell script that starts the test must not
-contain the actual test --- the script only starts the test. On the other
-hand, the test can be anything from a simple shell script that runs a
-binary and checks the output to an elaborate system of test binaries and
-data files.
-
-The test generates output in the format used by Automake::
-
-   result: testname
-
-where the result can be ``PASS``, ``FAIL``, or ``SKIP``, and
-the testname can be any identifying string.
-
-For a list of Yocto Project recipes that are already enabled with ptest,
-see the :yocto_wiki:`Ptest </Ptest>` wiki page.
-
-.. note::
-
-   A recipe is "ptest-enabled" if it inherits the :ref:`ref-classes-ptest`
-   class.
-
-Adding ptest to Your Build
---------------------------
-
-To add package testing to your build, add the :term:`DISTRO_FEATURES` and
-:term:`EXTRA_IMAGE_FEATURES` variables to your ``local.conf`` file, which
-is found in the :term:`Build Directory`::
-
-   DISTRO_FEATURES:append = " ptest"
-   EXTRA_IMAGE_FEATURES += "ptest-pkgs"
-
-Once your build is complete, the ptest files are installed into the
-``/usr/lib/package/ptest`` directory within the image, where ``package``
-is the name of the package.
-
-Running ptest
--------------
-
-The ``ptest-runner`` package installs a shell script that loops through
-all installed ptest test suites and runs them in sequence. Consequently,
-you might want to add this package to your image.
-
-Getting Your Package Ready
---------------------------
-
-In order to enable a recipe to run installed ptests on target hardware,
-you need to prepare the recipes that build the packages you want to
-test. Here is what you have to do for each recipe:
-
--  *Be sure the recipe inherits the* :ref:`ref-classes-ptest` *class:*
-   Include the following line in each recipe::
-
-      inherit ptest
-
--  *Create run-ptest:* This script starts your test. Locate the
-   script where you will refer to it using
-   :term:`SRC_URI`. Here is an
-   example that starts a test for ``dbus``::
-
-      #!/bin/sh
-      cd test
-      make -k runtest-TESTS
-
--  *Ensure dependencies are met:* If the test adds build or runtime
-   dependencies that normally do not exist for the package (such as
-   requiring "make" to run the test suite), use the
-   :term:`DEPENDS` and
-   :term:`RDEPENDS` variables in
-   your recipe in order for the package to meet the dependencies. Here
-   is an example where the package has a runtime dependency on "make"::
-
-      RDEPENDS:${PN}-ptest += "make"
-
--  *Add a function to build the test suite:* Not many packages support
-   cross-compilation of their test suites. Consequently, you usually
-   need to add a cross-compilation function to the package.
-
-   Many packages based on Automake compile and run the test suite by
-   using a single command such as ``make check``. However, the host
-   ``make check`` builds and runs on the same computer, while
-   cross-compiling requires that the package is built on the host but
-   executed for the target architecture (though often, as in the case
-   for ptest, the execution occurs on the host). The built version of
-   Automake that ships with the Yocto Project includes a patch that
-   separates building and execution. Consequently, packages that use the
-   unaltered, patched version of ``make check`` automatically
-   cross-compiles.
-
-   Regardless, you still must add a ``do_compile_ptest`` function to
-   build the test suite. Add a function similar to the following to your
-   recipe::
-
-      do_compile_ptest() {
-          oe_runmake buildtest-TESTS
-      }
-
--  *Ensure special configurations are set:* If the package requires
-   special configurations prior to compiling the test code, you must
-   insert a ``do_configure_ptest`` function into the recipe.
-
--  *Install the test suite:* The :ref:`ref-classes-ptest` class
-   automatically copies the file ``run-ptest`` to the target and then runs make
-   ``install-ptest`` to run the tests. If this is not enough, you need
-   to create a ``do_install_ptest`` function and make sure it gets
-   called after the "make install-ptest" completes.
+See the :ref:`test-manual/ptest:Testing Packages With ptest` section of the
+Yocto Project Test Environment Manual.
 
 Creating Node Package Manager (NPM) Packages
 ============================================
diff --git a/poky/documentation/dev-manual/securing-images.rst b/poky/documentation/dev-manual/securing-images.rst
index e5791d3..f4b528e 100644
--- a/poky/documentation/dev-manual/securing-images.rst
+++ b/poky/documentation/dev-manual/securing-images.rst
@@ -107,18 +107,18 @@
 You can take some steps that are specific to the OpenEmbedded build
 system to make your images more secure:
 
--  Ensure "debug-tweaks" is not one of your selected
-   :term:`IMAGE_FEATURES`.
+-  Ensure that "allow-empty-password", "allow-root-login", or
+   "empty-root-password" are not one of your selected :term:`IMAGE_FEATURES`.
    When creating a new project, the default is to provide you with an
-   initial ``local.conf`` file that enables this feature using the
+   initial ``local.conf`` file that enables these features using the
    :term:`EXTRA_IMAGE_FEATURES`
    variable with the line::
 
-      EXTRA_IMAGE_FEATURES = "debug-tweaks"
+      EXTRA_IMAGE_FEATURES = "allow-empty-password empty-root-password allow-root-login"
 
-   To disable that feature, simply comment out that line in your
+   To disable these features, simply comment out that line in your
    ``local.conf`` file, or make sure :term:`IMAGE_FEATURES` does not contain
-   "debug-tweaks" before producing your final image. Among other things,
+   any of these features before producing your final image. Among other things,
    leaving this in place sets the root password as blank, which makes
    logging in for debugging or inspection easy during development but
    also means anyone can easily log in during production.
diff --git a/poky/documentation/dev-manual/wic.rst b/poky/documentation/dev-manual/wic.rst
index a3880f3..fced0e1 100644
--- a/poky/documentation/dev-manual/wic.rst
+++ b/poky/documentation/dev-manual/wic.rst
@@ -513,7 +513,7 @@
 
    For more information on how to use the ``bmaptool``
    to flash a device with an image, see the
-   ":ref:`dev-manual/bmaptool:flashing images using \`\`bmaptool\`\``"
+   ":ref:`dev-manual/bmaptool:flashing images using \`bmaptool\``"
    section.
 
 Using a Modified Kickstart File
@@ -721,7 +721,7 @@
 
    Once the new kernel is added back into the image, you can use the
    ``dd`` command or :ref:`bmaptool
-   <dev-manual/bmaptool:flashing images using \`\`bmaptool\`\`>`
+   <dev-manual/bmaptool:flashing images using \`bmaptool\`>` commands
    to flash your wic image onto an SD card or USB stick and test your
    target.
 
diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst
index fda4169..28ef3b2 100644
--- a/poky/documentation/kernel-dev/common.rst
+++ b/poky/documentation/kernel-dev/common.rst
@@ -1562,16 +1562,9 @@
       changed.
 
    -  :term:`PV`: The default :term:`PV`
-      assignment is typically adequate. It combines the
-      :term:`LINUX_VERSION` with the Source Control Manager (SCM) revision
-      as derived from the :term:`SRCPV`
-      variable. The combined results are a string with the following
-      form::
-
-         3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2
-
-      While lengthy, the extra verbosity in :term:`PV` helps ensure you are
-      using the exact sources from which you intend to build.
+      assignment is typically adequate. It combines the value of
+      :term:`LINUX_VERSION` and the value ``+git`` which adds source control
+      information to :term:`PKGV` later during the packaging phase.
 
    -  :term:`COMPATIBLE_MACHINE`:
       A list of the machines supported by your new recipe. This variable
diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst
index c8f3cbc..da26cca 100644
--- a/poky/documentation/migration-guides/migration-1.5.rst
+++ b/poky/documentation/migration-guides/migration-1.5.rst
@@ -248,8 +248,8 @@
 framework replaces the older ``imagetest-qemu`` framework.
 
 You can learn more about performing automated image tests in the
-":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-section in the Yocto Project Development Tasks Manual.
+":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+section in the Yocto Project Test Environment Manual.
 
 .. _migration-1.5-build-history:
 
diff --git a/poky/documentation/migration-guides/migration-1.6.rst b/poky/documentation/migration-guides/migration-1.6.rst
index 916169e..b052a43 100644
--- a/poky/documentation/migration-guides/migration-1.6.rst
+++ b/poky/documentation/migration-guides/migration-1.6.rst
@@ -221,7 +221,7 @@
 
 Package Tests (ptest) are built but not installed by default. For
 information on using Package Tests, see the
-":ref:`dev-manual/packages:testing packages with ptest`" section in the
+":ref:`test-manual/ptest:testing packages with ptest`" section in the
 Yocto Project Development Tasks Manual. See also the ":ref:`ref-classes-ptest`"
 section.
 
diff --git a/poky/documentation/migration-guides/migration-5.2.rst b/poky/documentation/migration-guides/migration-5.2.rst
index 7b35e77..e9de691 100644
--- a/poky/documentation/migration-guides/migration-5.2.rst
+++ b/poky/documentation/migration-guides/migration-5.2.rst
@@ -14,6 +14,28 @@
 This section provides migration information for moving to the Yocto
 Project |yocto-ver| Release (codename "|yocto-codename|") from the prior release.
 
+``debug-tweaks`` removed from :term:`IMAGE_FEATURES`
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``debug-tweaks`` image feature is now removed because it was too vague about
+what it achieved: an image on which the ``root`` user can login without a
+password.
+
+To achieve the same result, the features previously added by ``debug-tweaks``
+should be manually added to the :term:`IMAGE_FEATURES` variable. These are:
+
+-  ``allow-empty-password``
+-  ``allow-root-login``
+-  ``empty-root-password``
+-  ``post-install-logging``
+
+Such a statement would be::
+
+   IMAGE_FEATURES += "allow-empty-password allow-root-login empty-root-password post-install-logging"
+
+See the list of available image features in the :ref:`ref-features-image`
+section of the Yocto Project Reference Manual.
+
 Supported kernel versions
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -34,9 +56,44 @@
 Go language changes
 ~~~~~~~~~~~~~~~~~~~
 
+Rust language changes
+~~~~~~~~~~~~~~~~~~~~~
+
+-  Recipes inheriting the :ref:`ref-classes-cargo` do not install libraries by
+   default anymore. This behavior can be controlled by the
+   :term:`CARGO_INSTALL_LIBRARIES` variable.
+
 systemd changes
 ~~~~~~~~~~~~~~~
 
+-  Support for ``split-usr`` and ``unmerged-usr`` are now removed after Systemd
+   was updated to version 255. This option allowed installing Systemd in a
+   system where directories such as ``/lib``, ``/sbin`` or ``/bin`` are *not*
+   merged into ``/usr``.
+
+   As a consequence, the ``systemd`` recipe no longer contains the ``usrmerge``
+   :term:`PACKAGECONFIG` option as it is now implied by default.
+
+-  ``systemd.bbclass``: If a ``systemd`` service file had referred to other service
+   files by starting them via
+   `Also <https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html#Also=>`__,
+   the other service files were automatically added to the :term:`FILES` variable of
+   the same package. Example: 
+
+   a.service contains::
+
+      [Install]
+      Also=b.service
+
+   If ``a.service`` is packaged in package ``A``, ``b.service`` was
+   automatically packaged into package ``A`` as well. This happened even if
+   ``b.service`` was explicitly added to package ``B`` using :term:`FILES` and
+   :term:`SYSTEMD_SERVICE` variables.
+   This prevented such services from being packaged into different packages.
+   Therefore, this automatic behavior has been removed for service files (but
+   not for socket files).
+   Now all service files must be explicitly added to :term:`FILES`.
+
 Recipe changes
 ~~~~~~~~~~~~~~
 
@@ -45,16 +102,35 @@
 
 The following variables have been removed:
 
+-  ``PACKAGE_SNAP_LIB_SYMLINKS``: related to an unmaintained and obsolete
+   "micro" :term:`distro <DISTRO>`.
+
+-  ``SETUPTOOLS_INSTALL_ARGS``: obsolete and unused variable.
+
+-  ``BB_DANGLINGAPPENDS_WARNONLY``: support for only warning the user when a
+   ``.bbappend`` file doesn't apply to the original recipe has been dropped. See
+   the :ref:`dev-manual/layers:Appending Other Layers Metadata With Your Layer`
+   section of the Yocto Project Development Tasks Manual for alternatives to
+   this variable.
+
 Removed recipes
 ~~~~~~~~~~~~~~~
 
 The following recipes have been removed in this release:
 
+-  ``liburi-perl``: moved to :oe_git:`meta-perl </meta-openembedded/tree/meta-perl>`.
+-  ``python3-isodate``: moved to :oe_git:`meta-python </meta-openembedded/tree/meta-python>`.
+-  ``python3-iniparse``: removed as there are no consumers of this recipe in
+   :oe_git:`openembedded-core </openembedded-core>` or :oe_git:`meta-openembedded </meta-openembedded>`.
+
 Removed classes
 ~~~~~~~~~~~~~~~
 
 The following classes have been removed in this release:
 
+-  ``migrate_localcount.bbclass``: obsolete class for which code was already
+   removed in 2012.
+
 Miscellaneous changes
 ~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/poky/documentation/migration-guides/release-5.0.rst b/poky/documentation/migration-guides/release-5.0.rst
index 9169188..4f92c49 100644
--- a/poky/documentation/migration-guides/release-5.0.rst
+++ b/poky/documentation/migration-guides/release-5.0.rst
@@ -12,3 +12,4 @@
    release-notes-5.0.3
    release-notes-5.0.4
    release-notes-5.0.5
+   release-notes-5.0.6
diff --git a/poky/documentation/migration-guides/release-5.1.rst b/poky/documentation/migration-guides/release-5.1.rst
index 768edfa..581bbf1 100644
--- a/poky/documentation/migration-guides/release-5.1.rst
+++ b/poky/documentation/migration-guides/release-5.1.rst
@@ -7,3 +7,4 @@
 
    migration-5.1
    release-notes-5.1
+   release-notes-5.1.1
diff --git a/poky/documentation/migration-guides/release-notes-5.0.6.rst b/poky/documentation/migration-guides/release-notes-5.0.6.rst
new file mode 100644
index 0000000..b6f4219
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-5.0.6.rst
@@ -0,0 +1,223 @@
+Release notes for Yocto-5.0.6 (Scarthgap)
+-----------------------------------------
+
+Security Fixes in Yocto-5.0.6
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  acpica: Fix :cve_nist:`2024-24856`
+-  curl: Fix :cve_nist:`2024-9681`
+-  dropbear: Fix :cve_nist:`2023-48795`
+-  expat: Fix :cve_nist:`2024-50602`
+-  ffmpeg: Fix :cve_nist:`2023-49501`, :cve_nist:`2023-49528`, :cve_nist:`2023-50007`,
+   :cve_nist:`2024-7055` and :cve_mitre:`2024-28661`
+-  glib-2.0: Fix :cve_nist:`2024-52533`
+-  ghostscript: Fix :cve_nist:`2024-46951`, :cve_nist:`2024-46952`, :cve_nist:`2024-46953`,
+   :cve_nist:`2024-46954`, :cve_nist:`2024-46955` and :cve_nist:`2024-46956`
+-  gstreamer1.0: Ignore :cve_nist:`2024-0444`
+-  libpam: Fix :cve_nist:`2024-10041`
+-  libsndfile: Fix :cve_nist:`2024-50612`
+-  libsoup: Fix :cve_nist:`2024-52530`, :cve_nist:`2024-52531` and :cve_nist:`2024-52532`
+-  ovmf: Fix :cve_nist:`2024-1298` and :cve_nist:`2024-38796`
+-  python3-zipp: Fix :cve_nist:`2024-5569`
+-  qemu: Fix :cve_nist:`2024-4693`, :cve_nist:`2024-6505` and :cve_nist:`2024-7730`
+-  qemu: Ignore :cve_nist:`2024-6505`
+
+
+Fixes in Yocto-5.0.6
+~~~~~~~~~~~~~~~~~~~~
+
+-  binutils: Add missing perl modules to :term:`RDEPENDS` for nativesdk variant
+-  binutils: stable 2.42 branch update
+-  bitbake: Remove custom exception backtrace formatting
+-  bitbake: fetch2/git: Use quote from shlex, not pipes
+-  bitbake: fetch2: use persist_data context managers
+-  bitbake: fetch/wget: Increase timeout to 100s from 30s
+-  bitbake: persist_data: close connection in SQLTable __exit__
+-  bitbake: runqueue: Fix performance of multiconfigs with large overlap
+-  bitbake: runqueue: Fix scenetask processing performance issue
+-  bitbake: runqueue: Optimise setscene loop processing
+-  build-appliance-image: Update to scarthgap head revision
+-  builder: set :term:`CVE_PRODUCT`
+-  cmake: Fix sporadic issues when determining compiler internals
+-  cml1: do_diffconfig: Don't override .config with .config.orig
+-  contributor-guide: Remove duplicated words
+-  dev-manual: bblock: use warning block instead of attention
+-  dev-manual: document how to provide confs from layer.conf
+-  dnf: drop python3-iniparse from :term:`DEPENDS` and :term:`RDEPENDS`
+-  do_package/sstate/sstatesig: Change timestamp clamping to hash output only
+-  doc: Makefile: add support for xelatex
+-  doc: Makefile: publish pdf and epub versions too
+-  doc: Makefile: remove inkscape, replace by rsvg-convert
+-  doc: add a download page for epub and pdf
+-  doc: conf.py: add a bitbake_git extlink
+-  doc: standards.md: add a section on admonitions
+-  doc: sphinx-static: switchers.js.in: do not refer to URL_ROOT anymore
+-  dropbear: backport fix for concurrent channel open/close
+-  enchant2: fix do_fetch error
+-  expat: upgrade to 2.6.4
+-  gcc: backport patch to fix an issue with tzdata 2024b
+-  ghostscript: upgrade to 10.04.0
+-  glibc: stable 2.39 branch updates
+-  groff: fix rare build race in hdtbl
+-  libgcrypt: Fix building error with '-O2' in sysroot path
+-  libpam: drop cracklib from :term:`DEPENDS`
+-  libxml-parser-perl: fix do_fetch error
+-  llvm: reduce size of -dbg package
+-  lttng-ust: backport patch to fix cmake-multiple-shared-libraries build error
+-  migration-guides: add release notes for 4.0.23 and 5.0.5
+-  ninja: fix build with python 3.13
+-  oeqa/runtime/ssh: Fix incorrect timeout fix
+-  oeqa/runtime/ssh: Rework ssh timeout
+-  oeqa/utils/gitarchive: Return tag name and improve exclude handling
+-  package_rpm: Check if file exists before open()
+-  package_rpm: restrict rpm to 4 threads
+-  package_rpm: use zstd's default compression level
+-  poky.conf: bump version for 5.0.6
+-  pseudo: Fix envp bug and add posix_spawn wrapper
+-  python3-poetry-core: drop python3-six from :term:`RDEPENDS`
+-  python3-requests: upgrade to 2.32.2
+-  python3-urllib3: upgrade to 2.2.2
+-  qemu: upgrade to 8.2.7
+-  qemurunner: Clean up serial_lock handling
+-  ref-manual: classes: fix bin_package description
+-  resulttool: Add --logfile-archive option to store mode
+-  resulttool: Allow store to filter to specific revisions
+-  resulttool: Clean up repoducible build logs
+-  resulttool: Fix passthrough of --all files in store mode
+-  resulttool: Handle ltp rawlogs as well as ptest
+-  resulttool: Improve repo layout for oeselftest results
+-  resulttool: Trim the precision of duration information
+-  resulttool: Use single space indentation in json output
+-  rootfs: Ensure run-postinsts is not uninstalled for read-only-rootfs-delayed-postinsts
+-  rxvt-unicode.inc: disable the terminfo installation by setting TIC to :
+-  sanity: check for working user namespaces
+-  scripts/install-buildtools: Update to 5.0.5
+-  selftest/reproducible: Clean up pathnames
+-  selftest/reproducible: Drop rawlogs
+-  shared-mime-info: drop itstool-native from :term:`DEPENDS`
+-  strace: download release tarballs from GitHub
+-  systemd-boot: drop intltool-native from :term:`DEPENDS`
+-  systemd: drop intltool-native from :term:`DEPENDS`
+-  systemd: upgrade to 255.13
+-  sysvinit: backport patch for fixing one issue of pidof
+-  tcl: skip io-13.6 test case
+-  toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails
+-  tune-cortexa32: set tune feature as armv8a
+-  tzcode-native: upgrade to 2024b
+-  tzdata: upgrade to 2024b
+-  uboot-sign: fix concat_dtb arguments
+-  udev-extraconf: fix network.sh script did not configure hotplugged interfaces
+-  webkitgtk: fix erroneous use of unsuported DEBUG_LEVELFLAG variable
+-  wireless-regdb: upgrade to 2024.10.07
+
+
+Known Issues in Yocto-5.0.6
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-5.0.6
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Thanks to the following people who contributed to this release:
+
+-  Aleksandar Nikolic
+-  Alexander Kanavin
+-  Antonin Godard
+-  Archana Polampalli
+-  Bin Lan
+-  Changqing Li
+-  Chen Qi
+-  Chris Laplante
+-  Clayton Casciato
+-  Deepthi Hemraj
+-  Divya Chellam
+-  Florian Kreutzer
+-  Gassner, Tobias.ext
+-  Guðni Már Gilbert
+-  Harish Sadineni
+-  Hitendra Prajapati
+-  Hongxu Jia
+-  Jagadeesh Krishnanjanappa
+-  Jiaying Song
+-  Jinfeng Wang
+-  Joshua Watt
+-  Lee Chee Yang
+-  Markus Volk
+-  Michael Opdenacker
+-  Pavel Zhukov
+-  Peter Marko
+-  Philip Lorenz
+-  Randy MacLeod
+-  Regis Dargent
+-  Richard Purdie
+-  Robert Yang
+-  Ross Burton
+-  Soumya Sambu
+-  Steve Sakoman
+-  Talel BELHAJSALEM
+-  Trevor Gamblin
+-  Vijay Anusuri
+-  Wang Mingyu
+-  Yogita Urade
+
+
+Repositories / Downloads for Yocto-5.0.6
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
+-  Tag:  :yocto_git:`yocto-5.0.6 </poky/log/?h=yocto-5.0.6>`
+-  Git Revision: :yocto_git:`2541a8171f91812a4b16e7dc4da0d77d2318a256 </poky/commit/?id=2541a8171f91812a4b16e7dc4da0d77d2318a256>`
+-  Release Artefact: poky-2541a8171f91812a4b16e7dc4da0d77d2318a256
+-  sha: b77157596ae75d163387a08a317397a57ab8fa6cf4725f28e344fae3f69cca4d
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/poky-2541a8171f91812a4b16e7dc4da0d77d2318a256.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/poky-2541a8171f91812a4b16e7dc4da0d77d2318a256.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
+-  Tag:  :oe_git:`yocto-5.0.6 </openembedded-core/log/?h=yocto-5.0.6>`
+-  Git Revision: :oe_git:`336eec6808710f260a5336ca8ca98139a80ccb14 </openembedded-core/commit/?id=336eec6808710f260a5336ca8ca98139a80ccb14>`
+-  Release Artefact: oecore-336eec6808710f260a5336ca8ca98139a80ccb14
+-  sha: 38c4fa7e7e88c28361c012dd5baabe373e2ec3c8aba6194146768b146192cceb
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/oecore-336eec6808710f260a5336ca8ca98139a80ccb14.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/oecore-336eec6808710f260a5336ca8ca98139a80ccb14.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
+-  Tag:  :yocto_git:`yocto-5.0.6 </meta-mingw/log/?h=yocto-5.0.6>`
+-  Git Revision: :yocto_git:`acbba477893ef87388effc4679b7f40ee49fc852 </meta-mingw/commit/?id=acbba477893ef87388effc4679b7f40ee49fc852>`
+-  Release Artefact: meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852
+-  sha: 3b7c2f475dad5130bace652b150367f587d44b391218b1364a8bbc430b48c54c
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
+-  Tag:  :oe_git:`yocto-5.0.6 </bitbake/log/?h=yocto-5.0.6>`
+-  Git Revision: :oe_git:`f40a3a477d5241b697bf2fb030dd804c1ff5839f </bitbake/commit/?id=f40a3a477d5241b697bf2fb030dd804c1ff5839f>`
+-  Release Artefact: bitbake-f40a3a477d5241b697bf2fb030dd804c1ff5839f
+-  sha: dbfc056c7408a5547f624799621ab1261a05685112e0922a88007723b1edbc87
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/bitbake-f40a3a477d5241b697bf2fb030dd804c1ff5839f.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/bitbake-f40a3a477d5241b697bf2fb030dd804c1ff5839f.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
+-  Tag: :yocto_git:`yocto-5.0.6 </yocto-docs/log/?h=yocto-5.0.6>`
+-  Git Revision: :yocto_git:`TBD </yocto-docs/commit/?id=TBD>`
+
diff --git a/poky/documentation/migration-guides/release-notes-5.1.1.rst b/poky/documentation/migration-guides/release-notes-5.1.1.rst
new file mode 100644
index 0000000..32488a9
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-5.1.1.rst
@@ -0,0 +1,289 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-5.1.1 (Styhead)
+---------------------------------------
+
+Security Fixes in Yocto-5.1.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  go: Fix :cve_nist:`2024-34155`, :cve_nist:`2024-34156` and :cve_nist:`2024-34158`
+-  linux-yocto/6.6: Fix :cve_nist:`2023-52917`, :cve_nist:`2024-46735`, :cve_nist:`2024-46737`, :cve_nist:`2024-46738`, :cve_nist:`2024-46739`, :cve_nist:`2024-46740`, :cve_nist:`2024-46741`, :cve_nist:`2024-46742`, :cve_nist:`2024-46743`, :cve_nist:`2024-46744`, :cve_nist:`2024-46746`, :cve_nist:`2024-46747`, :cve_nist:`2024-46749`, :cve_nist:`2024-46750`, :cve_nist:`2024-46755`, :cve_nist:`2024-46756`, :cve_nist:`2024-46757`, :cve_nist:`2024-46758`, :cve_nist:`2024-46759`, :cve_nist:`2024-46760`, :cve_nist:`2024-46761`, :cve_nist:`2024-46762`, :cve_nist:`2024-46763`, :cve_nist:`2024-46765`, :cve_nist:`2024-46768`, :cve_nist:`2024-46770`, :cve_nist:`2024-46771`, :cve_nist:`2024-46773`, :cve_nist:`2024-46776`, :cve_nist:`2024-46777`, :cve_nist:`2024-46780`, :cve_nist:`2024-46781`, :cve_nist:`2024-46782`, :cve_nist:`2024-46783`, :cve_nist:`2024-46784`, :cve_nist:`2024-46785`, :cve_nist:`2024-46786`, :cve_nist:`2024-46787`, :cve_nist:`2024-46788`, :cve_nist:`2024-46791`, :cve_nist:`2024-46794`, :cve_nist:`2024-46795`, :cve_nist:`2024-46796`, :cve_nist:`2024-46797`, :cve_nist:`2024-46798`, :cve_nist:`2024-46800`, :cve_nist:`2024-46822`, :cve_nist:`2024-46825`, :cve_nist:`2024-46826`, :cve_nist:`2024-46827`, :cve_nist:`2024-46828`, :cve_nist:`2024-46829`, :cve_nist:`2024-46830`, :cve_nist:`2024-46831`, :cve_nist:`2024-46832`, :cve_nist:`2024-46835`, :cve_nist:`2024-46836`, :cve_nist:`2024-46838`, :cve_nist:`2024-46840`, :cve_nist:`2024-46843`, :cve_nist:`2024-46844`, :cve_nist:`2024-46845`, :cve_nist:`2024-46846`, :cve_nist:`2024-46847`, :cve_nist:`2024-46848`, :cve_nist:`2024-46849`, :cve_nist:`2024-46852`, :cve_nist:`2024-46853`, :cve_nist:`2024-46854`, :cve_nist:`2024-46855`, :cve_nist:`2024-46857`, :cve_nist:`2024-46858`, :cve_nist:`2024-46859`, :cve_nist:`2024-46860`, :cve_nist:`2024-46861`, :cve_nist:`2024-46863`, :cve_nist:`2024-46864`, :cve_nist:`2024-47663`, :cve_nist:`2024-47664`, :cve_nist:`2024-47665`, :cve_nist:`2024-47666`, :cve_nist:`2024-47667`, :cve_nist:`2024-47668`, :cve_nist:`2024-47669`, :cve_nist:`2024-47670`, :cve_nist:`2024-47671`, :cve_nist:`2024-47672`, :cve_nist:`2024-47673`, :cve_nist:`2024-47674`, :cve_nist:`2024-47675`, :cve_nist:`2024-47678`, :cve_nist:`2024-47679`, :cve_nist:`2024-47681`, :cve_nist:`2024-47682`, :cve_nist:`2024-47683`, :cve_nist:`2024-47684`, :cve_nist:`2024-47685`, :cve_nist:`2024-47686`, :cve_nist:`2024-47688`, :cve_nist:`2024-47689`, :cve_nist:`2024-47690`, :cve_nist:`2024-47691`, :cve_nist:`2024-47692`, :cve_nist:`2024-47693`, :cve_nist:`2024-47695`, :cve_nist:`2024-47696`, :cve_nist:`2024-47697`, :cve_nist:`2024-47698`, :cve_nist:`2024-47699`, :cve_nist:`2024-47700`, :cve_nist:`2024-47701`, :cve_nist:`2024-47705`, :cve_nist:`2024-47706`, :cve_nist:`2024-47707`, :cve_nist:`2024-47710`, :cve_nist:`2024-47712`, :cve_nist:`2024-47713`, :cve_nist:`2024-47714`, :cve_nist:`2024-47715`, :cve_nist:`2024-47716`, :cve_nist:`2024-47718`, :cve_nist:`2024-47719`, :cve_nist:`2024-47720`, :cve_nist:`2024-47723`, :cve_nist:`2024-47727`, :cve_nist:`2024-47728`, :cve_nist:`2024-47730`, :cve_nist:`2024-47731`, :cve_nist:`2024-47734`, :cve_nist:`2024-47735`, :cve_nist:`2024-47737`, :cve_nist:`2024-47738`, :cve_nist:`2024-47739`, :cve_nist:`2024-47741`, :cve_nist:`2024-47742`, :cve_nist:`2024-47743`, :cve_nist:`2024-47744`, :cve_nist:`2024-47745`, :cve_nist:`2024-47747`, :cve_nist:`2024-47748`, :cve_nist:`2024-47749`, :cve_nist:`2024-47750`, :cve_nist:`2024-47751`, :cve_nist:`2024-47752`, :cve_nist:`2024-47753`, :cve_nist:`2024-47754`, :cve_nist:`2024-47757`, :cve_nist:`2024-49850`, :cve_nist:`2024-49851`, :cve_nist:`2024-49852`, :cve_nist:`2024-49853`, :cve_nist:`2024-49854`, :cve_nist:`2024-49855`, :cve_nist:`2024-49856`, :cve_nist:`2024-49858`, :cve_nist:`2024-49859`, :cve_nist:`2024-49860`, :cve_nist:`2024-49861` and :cve_nist:`2024-49862`
+-  linux-yocto/6.10: Fix :cve_nist:`2023-52917`, :cve_nist:`2024-46714`, :cve_nist:`2024-46719`, :cve_nist:`2024-46720`, :cve_nist:`2024-46721`, :cve_nist:`2024-46722`, :cve_nist:`2024-46723`, :cve_nist:`2024-46724`, :cve_nist:`2024-46725`, :cve_nist:`2024-46726`, :cve_nist:`2024-46727`, :cve_nist:`2024-46728`, :cve_nist:`2024-46730`, :cve_nist:`2024-46731`, :cve_nist:`2024-46732`, :cve_nist:`2024-46735`, :cve_nist:`2024-46737`, :cve_nist:`2024-46738`, :cve_nist:`2024-46739`, :cve_nist:`2024-46740`, :cve_nist:`2024-46741`, :cve_nist:`2024-46742`, :cve_nist:`2024-46743`, :cve_nist:`2024-46744`, :cve_nist:`2024-46746`, :cve_nist:`2024-46747`, :cve_nist:`2024-46749`, :cve_nist:`2024-46750`, :cve_nist:`2024-46751`, :cve_nist:`2024-46755`, :cve_nist:`2024-46756`, :cve_nist:`2024-46757`, :cve_nist:`2024-46758`, :cve_nist:`2024-46759`, :cve_nist:`2024-46760`, :cve_nist:`2024-46761`, :cve_nist:`2024-46762`, :cve_nist:`2024-46763`, :cve_nist:`2024-46765`, :cve_nist:`2024-46766`, :cve_nist:`2024-46768`, :cve_nist:`2024-46769`, :cve_nist:`2024-46770`, :cve_nist:`2024-46771`, :cve_nist:`2024-46772`, :cve_nist:`2024-46773`, :cve_nist:`2024-46774`, :cve_nist:`2024-46775`, :cve_nist:`2024-46776`, :cve_nist:`2024-46777`, :cve_nist:`2024-46778`, :cve_nist:`2024-46779`, :cve_nist:`2024-46780`, :cve_nist:`2024-46781`, :cve_nist:`2024-46782`, :cve_nist:`2024-46783`, :cve_nist:`2024-46784`, :cve_nist:`2024-46785`, :cve_nist:`2024-46786`, :cve_nist:`2024-46787`, :cve_nist:`2024-46788`, :cve_nist:`2024-46789`, :cve_nist:`2024-46790`, :cve_nist:`2024-46791`, :cve_nist:`2024-46792`, :cve_nist:`2024-46793`, :cve_nist:`2024-46794`, :cve_nist:`2024-46795`, :cve_nist:`2024-46796`, :cve_nist:`2024-46797`, :cve_nist:`2024-46798`, :cve_nist:`2024-46799`, :cve_nist:`2024-46800`, :cve_nist:`2024-46801`, :cve_nist:`2024-46802`, :cve_nist:`2024-46803`, :cve_nist:`2024-46804`, :cve_nist:`2024-46805`, :cve_nist:`2024-46806`, :cve_nist:`2024-46807`, :cve_nist:`2024-46808`, :cve_nist:`2024-46809`, :cve_nist:`2024-46810`, :cve_nist:`2024-46811`, :cve_nist:`2024-46812`, :cve_nist:`2024-46813`, :cve_nist:`2024-46814`, :cve_nist:`2024-46815`, :cve_nist:`2024-46816`, :cve_nist:`2024-46817`, :cve_nist:`2024-46818`, :cve_nist:`2024-46819`, :cve_nist:`2024-46820`, :cve_nist:`2024-46821`, :cve_nist:`2024-46822`, :cve_nist:`2024-46823`, :cve_nist:`2024-46824`, :cve_nist:`2024-46825`, :cve_nist:`2024-46826`, :cve_nist:`2024-46827`, :cve_nist:`2024-46828`, :cve_nist:`2024-46829`, :cve_nist:`2024-46830`, :cve_nist:`2024-46831`, :cve_nist:`2024-46832`, :cve_nist:`2024-46833`, :cve_nist:`2024-46834`, :cve_nist:`2024-46835`, :cve_nist:`2024-46836`, :cve_nist:`2024-46837`, :cve_nist:`2024-46838`, :cve_nist:`2024-46840`, :cve_nist:`2024-46841`, :cve_nist:`2024-46842`, :cve_nist:`2024-46843`, :cve_nist:`2024-46844`, :cve_nist:`2024-46845`, :cve_nist:`2024-46846`, :cve_nist:`2024-46847`, :cve_nist:`2024-46848`, :cve_nist:`2024-46849`, :cve_nist:`2024-46850`, :cve_nist:`2024-46851`, :cve_nist:`2024-46852`, :cve_nist:`2024-46853`, :cve_nist:`2024-46854`, :cve_nist:`2024-46855`, :cve_nist:`2024-46856`, :cve_nist:`2024-46857`, :cve_nist:`2024-46858`, :cve_nist:`2024-46859`, :cve_nist:`2024-46860`, :cve_nist:`2024-46861`, :cve_nist:`2024-46862`, :cve_nist:`2024-46863`, :cve_nist:`2024-46864`, :cve_nist:`2024-46866`, :cve_nist:`2024-46867`, :cve_nist:`2024-46868`, :cve_nist:`2024-46869`, :cve_nist:`2024-46870`, :cve_nist:`2024-46871`, :cve_nist:`2024-47658`, :cve_nist:`2024-47659`, :cve_nist:`2024-47660`, :cve_nist:`2024-47661`, :cve_nist:`2024-47662`, :cve_nist:`2024-47663`, :cve_nist:`2024-47664`, :cve_nist:`2024-47665`, :cve_nist:`2024-47666`, :cve_nist:`2024-47667`, :cve_nist:`2024-47668`, :cve_nist:`2024-47669`, :cve_nist:`2024-47670`, :cve_nist:`2024-47671`, :cve_nist:`2024-47672`, :cve_nist:`2024-47673`, :cve_nist:`2024-47674`, :cve_nist:`2024-47675`, :cve_nist:`2024-47676`, :cve_nist:`2024-47677`, :cve_nist:`2024-47678`, :cve_nist:`2024-47679`, :cve_nist:`2024-47680`, :cve_nist:`2024-47681`, :cve_nist:`2024-47682`, :cve_nist:`2024-47683`, :cve_nist:`2024-47684`, :cve_nist:`2024-47685`, :cve_nist:`2024-47686`, :cve_nist:`2024-47687`, :cve_nist:`2024-47688`, :cve_nist:`2024-47689`, :cve_nist:`2024-47690`, :cve_nist:`2024-47691`, :cve_nist:`2024-47692`, :cve_nist:`2024-47693`, :cve_nist:`2024-47695`, :cve_nist:`2024-47696`, :cve_nist:`2024-47697`, :cve_nist:`2024-47698`, :cve_nist:`2024-47699`, :cve_nist:`2024-47700`, :cve_nist:`2024-47701`, :cve_nist:`2024-47702`, :cve_nist:`2024-47703`, :cve_nist:`2024-47704`, :cve_nist:`2024-47705`, :cve_nist:`2024-47706`, :cve_nist:`2024-47707`, :cve_nist:`2024-47710`, :cve_nist:`2024-47712`, :cve_nist:`2024-47713`, :cve_nist:`2024-47714`, :cve_nist:`2024-47715`, :cve_nist:`2024-47716`, :cve_nist:`2024-47717`, :cve_nist:`2024-47718`, :cve_nist:`2024-47719`, :cve_nist:`2024-47720`, :cve_nist:`2024-47721`, :cve_nist:`2024-47723`, :cve_nist:`2024-47724`, :cve_nist:`2024-47727`, :cve_nist:`2024-47728`, :cve_nist:`2024-47730`, :cve_nist:`2024-47731`, :cve_nist:`2024-47732`, :cve_nist:`2024-47733`, :cve_nist:`2024-47734`, :cve_nist:`2024-47735`, :cve_nist:`2024-47736`, :cve_nist:`2024-47737`, :cve_nist:`2024-47738`, :cve_nist:`2024-47739`, :cve_nist:`2024-47741`, :cve_nist:`2024-47742`, :cve_nist:`2024-47743`, :cve_nist:`2024-47744`, :cve_nist:`2024-47745`, :cve_nist:`2024-47746`, :cve_nist:`2024-47747`, :cve_nist:`2024-47748`, :cve_nist:`2024-47749`, :cve_nist:`2024-47750`, :cve_nist:`2024-47751`, :cve_nist:`2024-47752`, :cve_nist:`2024-47753`, :cve_nist:`2024-47754`, :cve_nist:`2024-47757`, :cve_nist:`2024-49850`, :cve_nist:`2024-49851`, :cve_nist:`2024-49852`, :cve_nist:`2024-49853`, :cve_nist:`2024-49854`, :cve_nist:`2024-49855`, :cve_nist:`2024-49856`, :cve_nist:`2024-49858`, :cve_nist:`2024-49859`, :cve_nist:`2024-49860`, :cve_nist:`2024-49861`, :cve_nist:`2024-49862`, :cve_nist:`2024-49863`, :cve_nist:`2024-49864`, :cve_nist:`2024-49866`, :cve_nist:`2024-49867`, :cve_nist:`2024-49868`, :cve_nist:`2024-49870`, :cve_nist:`2024-49871`, :cve_nist:`2024-49874` and :cve_nist:`2024-49875`
+-  orc: Fix :cve_nist:`2024-40897` (follow-up fix)
+-  vim: Fix :cve_nist:`2024-45306` and :cve_nist:`2024-47814`
+-  wpa-supplicant: Ignore :cve_nist:`2024-5290`
+-  xserver-xorg: Fix :cve_nist:`2024-9632`
+-  xwayland: Fix :cve_nist:`2024-9632`
+
+
+Fixes in Yocto-5.1.1
+~~~~~~~~~~~~~~~~~~~~
+
+-  binutils: Add missing perl modules to :term:`RDEPENDS` for nativsdk variant
+-  binutils: Fix binutils mingw packaging
+-  bitbake.conf: Mark VOLATILE_LOG_DIR & VOLATILE_TMP_DIR as obsolete
+-  bitbake: Remove custom exception backtrace formatting
+-  bitbake: bitbake: doc/user-manual: Update the :term:`BB_HASHSERVE_UPSTREAM`
+-  bitbake: fetch2/git: Use quote from shlex, not pipes
+-  bitbake: fetch2: don't try to preserve all attributes when unpacking files
+-  bitbake: fetch2: use persist_data context managers
+-  bitbake: fetch/wget: Increase timeout to 100s from 30s
+-  bitbake: gitsm: Add call_process_submodules() to remove duplicated code
+-  bitbake: gitsm: Remove downloads/tmpdir when failed
+-  bitbake: persist_data: close connection in SQLTable __exit__
+-  bitbake: tests/fetch: Update GoModTest and GoModGitTest
+-  bitbake: tests/fetch: Use our own mirror of mobile-broadband-provider to decouple from gnome gitlab
+-  bitbake: tests/fetch: Use our own mirror of sysprof to decouple from gnome gitlab
+-  bluez: Fix mesh builds on musl
+-  build-appliance-image: Update to styhead head revision
+-  cml1.bbclass: do_diffconfig: Don't override .config with .config.orig
+-  contributor-guide: Remove duplicated words
+-  cve-check: add field "modified" to JSON report
+-  cve-check: add support for cvss v4.0
+-  cve-check: do not skip cve status description after :
+-  cve-check: fix malformed cve status description with : characters
+-  dev-manual: add bblock documentation
+-  dev-manual: bblock: use warning block instead of attention
+-  dev-manual: document how to provide confs from layer.conf
+-  documentation: features: describe distribution feature pni-name
+-  documentation; features: remove duplicate word in distribution feature ext2
+-  documentation: Makefile: add SPHINXLINTDOCS to specify subset to sphinx-lint
+-  documentation: Makefile: add support for xelatex
+-  documentation: Makefile: publish pdf and epub versions too
+-  documentation: Makefile: remove inkscape, replace by rsvg-convert
+-  documentation: README: add instruction to run Vale on a subset
+-  documentation: Replace VOLATILE_LOG_DIR with :term:`FILESYSTEM_PERMS_TABLES`
+-  documentation: Replace VOLATILE_TMP_DIR with :term:`FILESYSTEM_PERMS_TABLES`
+-  documentation: add a download page for epub and pdf
+-  documentation: conf.py: add a bitbake_git extlink
+-  documentation: conf.py: rename :cve: role to :cve_nist:
+-  documentation: sphinx-static/switchers.js.in: do not refer to URL_ROOT anymore
+-  documentation: styles: vocabularies: Yocto: add sstate
+-  e2fsprogs: removed 'sed -u' option
+-  efi-bootdisk.wks: Increase overhead-factor to avoid test failures
+-  ffmpeg: Add "libswresample libavcodec" to :term:`CVE_PRODUCT`
+-  ffmpeg: Disable asm optimizations on x86
+-  ffmpeg: fix packaging examples
+-  ffmpeg: nasm is x86 only, so only DEPEND if x86
+-  ffmpeg: no need for textrel :term:`INSANE_SKIP`
+-  gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0
+-  gcc: add a backport patch to fix an issue with tzdata 2024b
+-  git: upgrade to 2.46.1
+-  glib-2.0: fix glib-2.0 ptest failure when upgrading tzdata2024b
+-  glibc: Fix missing randomness in __gen_tempname
+-  glibc: stable 2.40 branch updates
+-  go: upgrade to 1.22.8
+-  groff: fix rare build race in hdtbl
+-  icu: update patch Upstream-Status
+-  image.bbclass: Drop support for ImageQAFailed exceptions in image_qa
+-  json-c: avoid ptest failure caused by valgrind
+-  kexec-tools: update :term:`COMPATIBLE_HOST` because of makedumpfile
+-  kmscube: Upgrade to latest revision (b2f97f53e0..)
+-  lib/oe/package-manager: skip processing installed-pkgs with empty globs
+-  libevdev: upgrade to 1.13.3
+-  libgfortran: fix buildpath QA issue
+-  libpam: use libdir in conditional
+-  linux-yocto/6.6: update to v6.6.54
+-  linux-yocto/6.10: bsp/genericarm64: disable ARM64_SME
+-  linux-yocto/6.10: cfg: gpio: allow to re-enable the deprecated GPIO sysfs interface
+-  linux-yocto/6.10: genericarm64.cfg: enable CONFIG_DMA_CMA
+-  linux-yocto/6.10: update to v6.10.14
+-  linux-yocto: Enable l2tp drivers when ptest featuee is on
+-  lsb-release: fix Distro Codename shell escaping
+-  migration-guides/release-notes-4.0: update :term:`BB_HASHSERVE_UPSTREAM` for new infrastructure
+-  migration-guides/release-notes-5.0: NO_OUTPUT -> NO_COLOR
+-  migration-guides/release-notes-5.1: add beaglebone-yocto parselogs test oeqa failure
+-  migration-guides/release-notes-5.1: document added python3-libarchive-c ptest
+-  migration-guides/release-notes-5.1: document fixed _test_devtool_add_git_url test
+-  migration-guides/release-notes-5.1: document oeqa/selftest envvars change
+-  migration-guides/release-notes-5.1: document spirv-tools reproducibility
+-  migration-guides/release-notes-5.1: fix spdx bullet point
+-  migration-guides/release-notes-5.1: update for several section
+-  migration-guides/release-notes-5.1: update release note for styhead
+-  migration-guides: 5.1: fix titles
+-  migration-guides: add release notes for 4.0.21 and 4.0.22
+-  oeqa/postactions: Fix archive retrieval from target
+-  oeqa/runtime/ssh: Fix incorrect timeout fix
+-  oeqa/runtime/ssh: Rework ssh timeout
+-  oeqa/selftest/gcc: Fix kex exchange identification error
+-  oeqa/selftest: Update the :term:`BB_HASHSERVE_UPSTREAM`
+-  openssl: Fix SDK environment script to avoid unbound variable
+-  orc: upgrade to 0.4.40
+-  overview-manual: concepts: add details on package splitting
+-  ovmf-native: remove .pyc files from install
+-  package_rpm: Check if file exists before open()
+-  package_rpm: restrict rpm to 4 threads
+-  package_rpm: use zstd's default compression level
+-  poky.conf: bump version for 5.1.1
+-  pseudo: Fix envp bug and add posix_spawn wrapper
+-  python3-maturin: sort external libs in wheel files
+-  python3-setuptools: Add "python:setuptools" to :term:`CVE_PRODUCT`
+-  qemu: Fix build on musl/riscv64
+-  qemurunner: Clean up serial_lock handling
+-  ref-manual: add missing CVE_CHECK manifest variables
+-  ref-manual: add missing :term:`EXTERNAL_KERNEL_DEVICETREE` variable
+-  ref-manual: add missing :term:`OPKGBUILDCMD` variable
+-  ref-manual: add missing :term:`TESTIMAGE_FAILED_QA_ARTIFACTS`
+-  ref-manual: add missing image manifest variables
+-  ref-manual: add missing nospdx class
+-  ref-manual: add missing variable :term:`PRSERV_UPSTREAM`
+-  ref-manual: add mission pep517-backend sanity check
+-  ref-manual: add new :term:`RECIPE_UPGRADE_EXTRA_TASKS` variable
+-  ref-manual: add new retain class and variables
+-  ref-manual: add new vex class
+-  ref-manual: devtool-reference: document missing commands
+-  ref-manual: devtool-reference: refresh example outputs
+-  ref-manual: drop TCLIBCAPPEND variable
+-  ref-manual: drop siteconfig class
+-  ref-manual: faq: add q&a on class appends
+-  ref-manual: fix ordering of insane checks list
+-  ref-manual: merge patch-status-* to patch-status
+-  ref-manual: release-process: add a reference to the doc's release
+-  ref-manual: release-process: refresh the current LTS releases
+-  ref-manual: release-process: update releases.svg
+-  ref-manual: release-process: update releases.svg with month after "Current"
+-  ref-manual: structure.rst: document missing tmp/ dirs
+-  ref-manual: variables: add SIGGEN_LOCKEDSIGS* variables
+-  rootfs-postcommands.bbclass: make opkg status reproducible
+-  scripts/install-buildtools: Update to 5.1
+-  selftest/sstatetests: run CDN mirror check only once
+-  shadow: use update-alternatives to handle groups.1
+-  strace: download release tarballs from GitHub
+-  systemd: fix broken links for sysvinit-compatible commands
+-  tcl: skip io-13.6 test case
+-  toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails
+-  tune-cortexa32: set tune feature as armv8a
+-  tzdata/tzcode-native: upgrade to 2024b
+-  uboot-sign: fix concat_dtb arguments
+-  udev-extraconf: fix network.sh script did not configure hotplugged interfaces
+-  util-linux: Add `findmnt` to the bash completion :term:`RDEPENDS`
+-  vim: Upgrade to 9.1.0764
+-  virglrenderer: Add patch to fix -int-conversion build issue
+-  weston: Add missing runtime dependency on freerdp
+-  weston: backport patch to allow neatvnc < v0.9.0
+-  wireless-regdb: upgrade to 2024.10.07
+-  xserver-xorg: upgrade to 21.1.14
+-  xwayland: upgrade to 24.1.4
+
+
+Known Issues in Yocto-5.1.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+Contributors to Yocto-5.1.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Aditya Tayade
+-  Alban Bedel
+-  Aleksandar Nikolic
+-  Alexander Kanavin
+-  Antonin Godard
+-  Bruce Ashfield
+-  Chen Qi
+-  Chris Laplante
+-  Christian Lindeberg
+-  Claus Stovgaard
+-  Clayton Casciato
+-  Daniel McGregor
+-  Deepthi Hemraj
+-  Harish Sadineni
+-  Hiago De Franco
+-  Hongxu Jia
+-  Jagadeesh Krishnanjanappa
+-  Jinfeng Wang
+-  Jonas Gorski
+-  Jose Quaresma
+-  Joshua Watt
+-  Julien Stephan
+-  Jörg Sommer
+-  Kai Kang
+-  Katawann
+-  Khem Raj
+-  Lee Chee Yang
+-  Markus Volk
+-  Martin Jansa
+-  Mathieu Dubois-Briand
+-  Michael Opdenacker
+-  Mikko Rapeli
+-  Niko Mauno
+-  Ola x Nilsson
+-  Pavel Zhukov
+-  Peter Kjellerstedt
+-  Peter Marko
+-  Purushottam Choudhary
+-  Regis Dargent
+-  Richard Purdie
+-  Robert Yang
+-  Rohini Sangam
+-  Ross Burton
+-  Sergei Zhmylev
+-  Shunsuke Tokumoto
+-  Steve Sakoman
+-  Talel BELHAJSALEM
+-  Tom Hochstein
+-  Vijay Anusuri
+-  Wang Mingyu
+-  Yi Zhao
+-  Yoann Congal
+-  Zahir Hussain
+
+
+Repositories / Downloads for Yocto-5.1.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`styhead </poky/log/?h=styhead>`
+-  Tag:  :yocto_git:`yocto-5.1.1 </poky/log/?h=yocto-5.1.1>`
+-  Git Revision: :yocto_git:`7e081bd98fdc5435e850d1df79a5e0f1e30293d0 </poky/commit/?id=7e081bd98fdc5435e850d1df79a5e0f1e30293d0>`
+-  Release Artefact: poky-7e081bd98fdc5435e850d1df79a5e0f1e30293d0
+-  sha: 1ae688856bcd4aa2d1a14c2659217143cc2050151a8c194b99e6b472b0a99710
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.1/poky-7e081bd98fdc5435e850d1df79a5e0f1e30293d0.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.1.1/poky-7e081bd98fdc5435e850d1df79a5e0f1e30293d0.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`styhead </openembedded-core/log/?h=styhead>`
+-  Tag:  :oe_git:`yocto-5.1.1 </openembedded-core/log/?h=yocto-5.1.1>`
+-  Git Revision: :oe_git:`b511d0146a2e8f316f4aecc90c853215674013ea </openembedded-core/commit/?id=b511d0146a2e8f316f4aecc90c853215674013ea>`
+-  Release Artefact: oecore-b511d0146a2e8f316f4aecc90c853215674013ea
+-  sha: 71eb36bf898b3eb5a7a79c2f1c057755405740e82b21a57ac540cebc1337e151
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.1/oecore-b511d0146a2e8f316f4aecc90c853215674013ea.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.1.1/oecore-b511d0146a2e8f316f4aecc90c853215674013ea.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`styhead </meta-mingw/log/?h=styhead>`
+-  Tag:  :yocto_git:`yocto-5.1.1 </meta-mingw/log/?h=yocto-5.1.1>`
+-  Git Revision: :yocto_git:`77fe18d4f8ec34501045c5d92ce7e13b1bd129e9 </meta-mingw/commit/?id=77fe18d4f8ec34501045c5d92ce7e13b1bd129e9>`
+-  Release Artefact: meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9
+-  sha: 4c7f8100a3675d9863e51825def3df5b263ffc81cd57bae26eedbc156d771534
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.1/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.1.1/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
+
+bitbake
+
+-  Repository Location: :bitbake_git:`/`
+-  Branch: :bitbake_git:`2.10 </log/?h=2.10>`
+-  Tag:  :bitbake_git:`yocto-5.1.1 </log/?h=yocto-5.1.1>`
+-  Git Revision: :bitbake_git:`9602a684568910fd333ffce907fa020ad3661c26 </commit/?id=9602a684568910fd333ffce907fa020ad3661c26>`
+-  Release Artefact: bitbake-9602a684568910fd333ffce907fa020ad3661c26
+-  sha: 8f5304b7a71cf7ad5dc8e5ee8bbfc041780bd402712f314d2c3c8be79c89a526
+-  Download Locations:
+   https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.1/bitbake-9602a684568910fd333ffce907fa020ad3661c26.tar.bz2
+   https://mirrors.kernel.org/yocto/yocto/yocto-5.1.1/bitbake-9602a684568910fd333ffce907fa020ad3661c26.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`styhead </yocto-docs/log/?h=styhead>`
+-  Tag: :yocto_git:`yocto-5.1.1 </yocto-docs/log/?h=yocto-5.1.1>`
+-  Git Revision: :yocto_git:`8288c8cae7fe7303e89d8ed286de91fc26ce6cc3 </yocto-docs/commit/?id=8288c8cae7fe7303e89d8ed286de91fc26ce6cc3>`
+
diff --git a/poky/documentation/migration-guides/release-notes-5.2.rst b/poky/documentation/migration-guides/release-notes-5.2.rst
index d03ed7a..06dce8d 100644
--- a/poky/documentation/migration-guides/release-notes-5.2.rst
+++ b/poky/documentation/migration-guides/release-notes-5.2.rst
@@ -14,36 +14,383 @@
 
 -  New variables:
 
+   -  ``linux-firmware``: Add the :term:`FIRMWARE_COMPRESSION` variable which
+      allows compression the firmwares provided by the ``linux-firmware`` recipe.
+      Possible values are ``xz`` and ``zst``.
+
 -  Kernel-related changes:
 
+   -  :ref:`ref-classes-cml1`: in :ref:`ref-tasks-diffconfig`, do not override
+      ``.config`` with ``.config.orig``. This applies to other recipes using the
+      class :ref:`ref-classes-cml1`.
+
+   -  ``linux-firmware``: add following new firmware packages:
+
+       -  ``qcom-qcm6490-audio``
+       -  ``qcom-qcm6490-compute``
+       -  ``qcom-adreno-a663``
+       -  ``qcom-qcm6490-adreno``
+       -  ``qcom-sa8775p-adreno``
+       -  ``qcom-qcm6490-ipa``
+       -  ``qcom-x1e80100-audio``
+       -  ``qcom-qcs615-adreno``
+
+   -  The :ref:`ref-classes-kernel-yocto` classes now supports in-tree
+      configuration fragments. These can be added with the
+      :term:`KERNEL_FEATURES` variable.
+
+   -  The ``kern-tools`` recipe is now able to recognize files ending with
+      ``.config`` for :ref:`ref-classes-kernel-yocto`-based Kernel recipes.
+
+   -  Support the LZMA compression algorithm in the
+      :ref:`ref-classes-kernel-uboot` class. This can be done by setting the
+      variable :term:`FIT_KERNEL_COMP_ALG` to ``lzma``.
+
 -  New core recipes:
 
+   -  ``python3-pefile``: required for the :ref:`ref-classes-uki` class.
+
+   -  Add initial support for the `Barebox <https://www.barebox.org>`__
+      bootloader, along with associated OEQA test cases.
+
+   -  Import ``makedumpfile`` from meta-openembedded, as the ``kexec-tools``
+      recipe :term:`RDEPENDS` on it.
+
+   -  The ``tcl-8`` recipe was added back to support the build of ``expect``.
+
+   -  Add the ``libdisplay-info`` recipe, an EDID and DisplayID library,
+      required for Weston 14.0.1 and newer.
+
+   -  The ``hwdata`` recipe was imported from :oe_git:`meta-openembedded
+      </meta-openembedded>`, a recipe for hardware identification and
+      configuration data, needed by ``libdisplay-info``.
+
+-  New core classes:
+
+   -  New :ref:`ref-classes-uki` class for building Unified Kernel Images (UKI).
+      Associated OEQA tests were also added for this class.
+
+   -  New :ref:`ref-classes-cython` class for python recipes that require Cython
+      for their compilation. Existing recipes depending on Cython now inherit
+      this class. This class also strips potential build paths in the compilation
+      output for reproducibility.
+
+-  Architecture-specific changes:
+
+   -  ``tune-cortexa32``: set tune feature to ``armv8a``.
+
 -  QEMU / ``runqemu`` changes:
 
+-  Documentation changes:
+
+   -  Use ``rsvg`` as a replacement of ``inkscape`` to convert svg files in the
+      documentation.
+
+   -  The ``cve`` role was replaced by ``cve_nist`` to avoid a conflict with
+      more recent version of Sphinx.
+
 -  Go changes:
 
+   -  The :ref:`ref-classes-go-mod` class now sets an internal variable
+      ``GO_MOD_CACHE_DIR`` to enable the use of the Go module fetchers for
+      downloading and unpacking module dependencies to the module cache.
+
+   -  Make the :ref:`ref-tasks-compile` task run before
+      :ref:`ref-tasks-populate_lic` in the :ref:`ref-classes-go-mod` class so
+      license files are found by :ref:`ref-tasks-populate_lic` after the ``go
+      install`` command is run in :ref:`ref-tasks-compile`.
+
 -  Rust changes:
 
--  wic Image Creator changes:
+   -  ``rust-target-config``: Update the data layout for the *x86-64* target, as
+      it was different in Rust from LLVM, which produced a data layout error.
+
+-  Wic Image Creator changes:
+
+   -  Allow the ``--exclude-path`` option to exclude symlinks.
+
+   -  Add the variable :term:`WIC_SECTOR_SIZE` to control the sector size of Wic
+      images.
 
 -  SDK-related changes:
 
+   -  Add support for ZST-compression through :term:`SDK_ARCHIVE_TYPE`, by
+      setting its value to ``tar.zst``.
+
+   -  The ``debug-tweaks`` features were removed from ``-sdk`` images
+      (``core-image-*-sdk.bb``).
+
+   -  Enable ``ipv6``, ``acl``, and ``xattr`` in :term:`DISTRO_FEATURES_NATIVESDK`.
+
 -  Testing-related changes:
 
+   -  ``oeqa/postactions``: Fix archive retrieval from target.
+
+   -  ``oeqa/selftest/gcc``: Fix kex exchange identification error.
+
+   -  ``oeqa/utils/qemurunner``: support ignoring vt100 escape sequences.
+
+   -  ``oeqa``: support passing custom boot patterns to runqemu.
+
+   -  ``oeqa/selftest/cases``: add basic U-boot and Barebox tests.
+
+   -  ``oeqa/selftest/rust``: skip on all MIPS platforms.
+
+   -  Lots of changes and improvements to the :term:`Toaster` OEQA tests.
+
+   -  ``oeqa/selftest``: add a test for bitbake "-e" and "-getvar" difference.
+
+   -  ``oeqa/ssh``: improve performance and log sizes when handling large files.
+
 -  Utility script changes:
 
+   -  The ``patchreview.py`` script now uses the ``check_upstream_status`` from
+      ``oe.qa`` to get patch statuses.
+
+   -  ``resulttool``:
+
+      -  Allow store to filter to specific revisions (``--revision`` flag).
+
+      -  Use single space indentation in JSON output, to save disk
+         space.
+
+      -  Add ``--logfile-archive`` option to store and archive log files
+         separately.
+
+      -  Handle LTP raw logs as well as Ptest.
+
+   -  ``scripts/yocto-check-layer``:
+
+      -  Check for the presence of a ``SECURITY.md`` file in layers and make it
+         mandatory.
+
+      -  The :ref:`ref-classes-yocto-check-layer` class now uses
+         :term:`CHECKLAYER_REQUIRED_TESTS` to get the list of QA checks to verify
+         when running the ``yocto-check-layer`` script.
+
 -  BitBake changes:
 
+   -  ``fetch2``: do not preserve ownership when unpacking.
+
+   -  ``fetch2``: switch from Sqlite ``persist_data`` to a standard cache file
+      for checksums, and drop ``persist_data``.
+
+   -  ``fetch2``: add support for GitHub codespaces by adding the
+      ``GITHUB_TOKEN`` to the list of variables exported during ``git``
+      invocations.
+
+   -  ``fetch2``: set User-Agent to 'bitbake/version' instead of a "fake
+      mozilla" user agent.
+
+   -  ``compress``: use ``lz4`` instead of ``lz4c``, as ``lz4c`` as been
+      considered deprecrated since 2018.
+
+   -  ``server/process``: decrease idle/main loop frequency, as it is idle and
+      main loops have socket select calls to know when to execute.
+
+   -  ``bitbake-worker``: improve bytearray truncation performance when large
+       amounts of data are being transferred from the cooker to the worker.
+
+   -  ``bitbake-worker/cooker``: increase the default pipe size from 64KB to
+      512KB for better efficiency when transferring large amounts of data.
+
+   -  ``fetch/wget``: increase timeout to 100s from 30s to match CDN worst
+      response time.
+
+   -  ``bitbake-getvar``: catch ``NoProvider`` exception to improve error
+      readability when a recipe is not found with ``--recipe``.
+
+   -  ``bb/build``: add a function ``bb.build.listtasks()`` to list the tasks in
+      a datastore.
+
+   -  Remove custom exception backtrace formatting, and replace occurences of
+      ``bb.exception.format_exception()`` by ``traceback.format_exception()``.
+
+   -  ``runqueue``: various performance optimizations including:
+
+      -  Fix performance of multiconfigs with large overlap.
+      -  Optimise ``setscene`` loop processing by starting where it
+         was left off in the previous execution.
+
+   -  ``knotty`` now hints the user if :term:`MACHINE` was not set in
+      the ``local.conf`` file.
+
 -  Packaging changes:
 
--  Security changes:
+   -  ``systemd``: extract dependencies from ``.note.dlopen`` ELF segments, to
+      better detect dynamically linked libraries at runtime.
+
+   -  ``package_rpm``: use ZSTD's default compression level from the variable
+      :term:`ZSTD_COMPRESSION_LEVEL`.
+
+   -  ``package_rpm``: restrict RPM packaging to 4 threads to improve
+      the compression speed.
 
 -  LLVM related changes:
 
 -  SPDX-related changes:
 
+   -  SPDX 3.0: Find local sources when searching for debug sources.
+
+   -  SPDX 3.0: Map ``gitsm`` URIs to ``git``.
+
+   -  SPDX 3.0: Link license and build by alias instead of SPDX ID.
+
+   -  Fix SPDX tasks not running when code changes (use of ``file-checksums``).
+
+-  ``devtool`` changes:
+
+   -  Remove the "S = WORKDIR" workaround as now :term:`S` cannot be equal to
+      :term:`WORKDIR`.
+
+   -  The already broken ``--debug-build-config`` option of
+      ``devtool ide-sdk`` has been replaced by a new ``--debug-build`` option
+      of ``devtool modify``. The new ``devtool ide-sdk`` workflow is:
+      ``devtool modify my-recipe --debug-build`` followed by
+      ``devtool ide-sdk my-recipe my-image``.
+
+-  Patchtest-related changes:
+
+   -  Refactor pattern definitions in a ``patterns`` module.
+
+   -  Refactor and improve the ``mbox`` module.
+
+   -  Split out result messages.
+
+   -  Add a check for user name tags in patches (for example "fix added by
+      @username").
+
+-  :ref:`ref-classes-insane` class related changes:
+
+   -  Only parse ELF if they are files and not symlinks.
+
+   -  Check for ``RUNPATH`` in addition to ``RPATH`` in binaries.
+
+   -  Ensure :ref:`ref-classes-insane` tasks of dependencies run in builds when
+      expected.
+
+-  Security changes:
+
+   -  The ``PIE`` gcc flag is now passed for the *powerpc* architecture after a
+      bugfix in gcc (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81170).
+
+   -  ``openssh``: be more restrictive on private key file permissions by
+      setting them from the :ref:`ref-tasks-install` task.
+
+-  :ref:`ref-classes-cve-check` changes:
+
+   -  Update the :term:`DL_DIR` database location name
+      (``${DL_DIR}/CVE_CHECK2``).
+
+   -  Add the field "modified" to the JSON report (from "NVD-modified").
+
+   -  Add support for CVSS v4.0.
+
+   -  Fix malformed cve status description with ``:`` characters.
+
+   -  Restore the :term:`CVE_CHECK_SHOW_WARNINGS` variable and functionality. It
+      currently prints warning message for every unpatched CVE the
+      :ref:`ref-classes-cve-check` class finds.
+
+-  New :term:`PACKAGECONFIG` options for individual recipes:
+
+      -  ``perf``: ``zstd``
+      -  ``ppp``: ``pam``, ``openssl``
+      -  ``libpciaccess``: ``zlib``
+      -  ``gdk-pixbuf``: ``gif``, ``others``
+      -  ``libpam``: ``selinux``
+      -  ``libsecret``: ``pam``
+
 -  Miscellaneous changes:
 
+   -  ``bluez``: fix mesh build when building with musl.
+
+   -  ``systemd-bootchart``: now supports the 32-bit *riscv* architecture.
+
+   -  ``systemd-boot``: now supports the *riscv* architecture.
+
+   -  ``python3-pip``: the ``pip`` executable is now left and not deleted, and
+      can be used instead of ``pip3`` and ``pip2``.
+
+   -  ``tar`` image types are now more reproducible as the :term:`IMAGE_CMD` for
+      ``tar`` now strips ``atime`` and ``ctime`` from the archive content.
+
+   -  :term:`SOLIBSDEV` and :term:`SOLIBS` are now defined for the *mingw32*
+      architecture (``.dll``).
+
+   -  :ref:`rootfs-postcommands <ref-classes-rootfs*>`: make opkg status reproducible.
+
+   -  The default :term:`KERNEL_CONSOLE` value is no longer ``ttyS0`` but the
+      first entry from the :term:`SERIAL_CONSOLES` variable.
+
+   -  ``virglrenderer``: add a patch to fix ``-int-conversion`` build issue.
+
+   -  ``ffmpeg``: disable asm optimizations for the *x86* architecture as PIC is
+      required and *x86* ASM code is not PIC.
+
+   -  ``udev-extraconf``: fix the ``network.sh`` script that did not configure
+      hotplugged interfaces.
+
+   -  ``classes-global/license``: move several functions and logic to library
+      code in :oe_git:`meta/lib/oe/license.py </openembedded-core/tree/meta/lib/oe/license.py>`.
+
+   -  The recipe ``cairo`` now disables the features ``symbol-lookup``,
+      ``spectre`, and ``tests`` by default.
+
+   -  The recipe ``glib-2.0`` now disables the feature ``sysprof`` by default.
+
+   -  The recipe ``gstreamer1.0-libav`` now disables the feature ``doc`` by default.
+
+   -  ``rxvt-unicode``: change ``virtual/x-terminal-emulator`` from
+      :term:`PROVIDES` to :term:`RPROVIDES` as ``virtual-x-terminal-emulator``.
+      Also make this recipe depend on the ``x11`` distro features with
+      :term:`REQUIRED_DISTRO_FEATURES`.
+
+   -  ``rxvt-unicode.inc``: disable the ``terminfo`` installation by setting
+      ``TIC`` to ``:`` in :term:`EXTRA_OECONF`, to avoid host contamination.
+
+   -  ``matchbox-terminal``: add ``x-terminal-emulator`` as :term:`RPROVIDES`
+      and set :term:`ALTERNATIVE` for the recipe.
+
+   -  ``default-providers.conf``: set ``rxvt-unicode`` as the default
+      ``virtual-x-terminal-emulator`` runtime provider with
+      :term:`PREFERRED_RPROVIDER`.
+
+   -  ``systemd``: set better sane time at startup by creating the
+      ``clock-epoch`` file in ``${libdir}`` if the ``set-time-epoch``
+      :term:`PACKAGECONFIG` config is set.
+
+   -  ``cve-update-nvd2-native``: updating the database will now result in an
+      error if :term:`BB_NO_NETWORK` is enabled and
+      :term:`CVE_DB_UPDATE_INTERVAL` is not set to ``-1``.
+
+   -  ``systemtap``: add ``--with-extra-version="oe"`` configure option to
+      improve the reproducibility of the recipe.
+
+   -  ``python3``: package ``tkinter``'s shared objects separately in the
+      ``python3-tkinter`` package.
+
+   -  ``init-manager``: set the variable ``VIRTUAL-RUNTIME_dev_manager`` to
+      ``udev`` by default in
+      :oe_git:`meta/conf/distro/include/init-manager-none.inc
+      </openembedded-core/tree/meta/conf/distro/include/init-manager-none.inc>`
+      and :oe_git:`meta/conf/distro/include/init-manager-sysvinit.inc
+      </openembedded-core/tree/meta/conf/distro/include/init-manager-sysvinit.inc>`,
+      instead of :oe_git:`meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+      </openembedded-core/tree/meta/recipes-core/packagegroups/packagegroup-core-boot.bb>`
+      only.
+
+      Likewise, the same is done for ``VIRTUAL-RUNTIME_keymaps`` with
+      ``keymaps`` as its default value.
+
+   -  ``seatd``: Create a ``seat`` group and package the systemd service
+      ``seatd.service`` with correct permissions.
+
+      That way, the ``weston`` user in ``weston-init.bb`` was added to the
+      ``seat`` group to be able to properly establish connection between the
+      Weston and the ``seatd`` socket.
+
+
 Known Issues in |yocto-ver|
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/poky/documentation/poky.yaml.in b/poky/documentation/poky.yaml.in
index c770318..d045ff5 100644
--- a/poky/documentation/poky.yaml.in
+++ b/poky/documentation/poky.yaml.in
@@ -1,3 +1,7 @@
+#
+# Macros used in the documentation
+#
+
 DISTRO : "5.1"
 DISTRO_NAME_NO_CAP : "styhead"
 DISTRO_NAME : "Styhead"
@@ -8,34 +12,7 @@
 DOCCONF_VERSION : "dev"
 BITBAKE_SERIES : ""
 YOCTO_DL_URL : "https://downloads.yoctoproject.org"
-YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
 YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
-UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
-     build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
-     xz-utils debianutils iputils-ping python3-git python3-jinja2 \
-     python3-subunit zstd liblz4-tool file locales libacl1
-     \n\   $ sudo locale-gen en_US.UTF-8"
-FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
-     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
-     ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
-     python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
-     python3-jinja2 rpcgen perl-FindBin perl-File-Compare \
-     perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl"
-OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
-     diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
-     python3-pexpect xz which python3-Jinja2 rpcgen \
-     zstd lz4 bzip2 gzip hostname libacl1
-     \n\   $ sudo pip3 install GitPython"
-ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release
-     \n\   $ sudo yum install dnf-plugins-core
-     \n\   $ sudo dnf config-manager --set-enabled crb
-     \n\   $ sudo dnf makecache
-     \n\   $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \
-     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
-     socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
-     python3-GitPython python3-jinja2 python3-pexpect xz which \
-     rpcgen zstd lz4 cpio glibc-langpack-en libacl"
-PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
 MIN_PYTHON_VERSION : "3.8.0"
 MIN_TAR_VERSION : "1.28"
 MIN_GIT_VERSION : "1.8.3.1"
@@ -47,3 +24,237 @@
 MIN_DISK_SPACE_RM_WORK : "40"
 # RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu 22.04 (x86-64) on a 4 core system
 MIN_RAM : "8"
+
+#
+# Dependencies
+#
+
+# Shared between distros
+PIP3_HOST_PACKAGES_DOC: sphinx sphinx_rtd_theme pyyaml
+
+UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL: >-
+  build-essential
+  chrpath
+  cpio
+  debianutils
+  diffstat
+  file
+  gawk
+  gcc
+  git
+  iputils-ping
+  libacl1
+  liblz4-tool
+  locales
+  python3
+  python3-git
+  python3-jinja2
+  python3-pexpect
+  python3-pip
+  python3-subunit
+  socat
+  texinfo
+  unzip
+  wget
+  xz-utils
+  zstd
+
+UBUNTU_DEBIAN_HOST_PACKAGES_DOC: >-
+  git
+  librsvg2-bin
+  locales
+  make
+  python3-saneyaml
+  python3-sphinx-rtd-theme
+  sphinx
+
+UBUNTU_DEBIAN_HOST_PACKAGES_DOC_PDF: >-
+  fonts-freefont-otf
+  latexmk
+  tex-gyre
+  texlive-fonts-extra
+  texlive-fonts-recommended
+  texlive-lang-all
+  texlive-latex-extra
+  texlive-latex-recommended
+  texlive-xetex
+
+FEDORA_HOST_PACKAGES_ESSENTIAL: >-
+  bzip2
+  ccache
+  chrpath
+  cpio
+  cpp
+  diffstat
+  diffutils
+  file
+  findutils
+  gawk
+  gcc
+  gcc-c++
+  git
+  glibc-devel
+  glibc-langpack-en
+  gzip
+  hostname
+  libacl
+  lz4
+  make
+  patch
+  perl
+  perl-Data-Dumper
+  perl-File-Compare
+  perl-File-Copy
+  perl-FindBin
+  perl-Text-ParseWords
+  perl-Thread-Queue
+  perl-bignum
+  perl-locale
+  python
+  python3
+  python3-GitPython
+  python3-jinja2
+  python3-pexpect
+  python3-pip
+  rpcgen
+  socat
+  tar
+  texinfo
+  unzip
+  wget
+  which
+  xz
+  zstd
+
+FEDORA_HOST_PACKAGES_DOC: >-
+  git
+  glibc-locale-source
+  librsvg2-tools
+  make
+  python3-pip
+  which
+
+FEDORA_HOST_PACKAGES_DOC_PDF: >-
+  'texlive-collection-lang*'
+  latexmk
+  texlive-collection-fontsextra
+  texlive-collection-fontsrecommended
+  texlive-collection-latex
+  texlive-collection-latexextra
+  texlive-collection-latexrecommended
+  texlive-collection-xetex
+  texlive-fncychap
+  texlive-gnu-freefont
+  texlive-tex-gyre
+  texlive-xetex
+
+OPENSUSE_HOST_PACKAGES_ESSENTIAL: >-
+  bzip2
+  chrpath
+  diffstat
+  gcc
+  gcc-c++
+  git
+  gzip
+  hostname
+  libacl1
+  lz4
+  make
+  makeinfo
+  patch
+  python
+  python-curses
+  python-xml
+  python3
+  python3-Jinja2
+  python3-curses
+  python3-pexpect
+  python3-pip
+  rpcgen
+  socat
+  tar
+  wget
+  which
+  xz
+  zstd
+
+OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL: GitPython
+
+OPENSUSE_HOST_PACKAGES_DOC: >-
+  git
+  glibc-i18ndata
+  make
+  python3-pip
+  rsvg-convert
+  which
+
+OPENSUSE_HOST_PACKAGES_DOC_PDF: >-
+  'texlive-collection-lang*'
+  texlive-collection-fontsextra
+  texlive-collection-fontsrecommended
+  texlive-collection-latex
+  texlive-collection-latexextra
+  texlive-collection-latexrecommended
+  texlive-collection-xetex
+  texlive-fncychap
+  texlive-gnu-freefont
+  texlive-latexmk
+  texlive-tex-gyre
+  texlive-xetex
+
+ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
+  bzip2
+  ccache
+  chrpath
+  cpio
+  cpp
+  diffstat
+  diffutils
+  gawk
+  gcc
+  gcc-c++
+  git
+  glibc-devel
+  glibc-langpack-en
+  gzip
+  libacl
+  lz4
+  make
+  patch
+  perl
+  perl-Data-Dumper
+  perl-Text-ParseWords
+  perl-Thread-Queue
+  python3
+  python3-GitPython
+  python3-jinja2
+  python3-pexpect
+  python3-pip
+  rpcgen
+  socat
+  tar
+  texinfo
+  unzip
+  wget
+  which
+  xz
+  zstd
+
+ALMALINUX_HOST_PACKAGES_DOC: >-
+  git
+  glibc-locale-source
+  librsvg2-tools
+  make
+  python3-pip
+  which
+
+ALMALINUX_HOST_PACKAGES_DOC_PDF: >-
+  latexmk
+  texlive-collection-fontsrecommended
+  texlive-collection-latex
+  texlive-collection-latexrecommended
+  texlive-collection-xetex
+  texlive-fncychap
+  texlive-gnu-freefont
+  texlive-tex-gyre
+  texlive-xetex
diff --git a/poky/documentation/profile-manual/intro.rst b/poky/documentation/profile-manual/intro.rst
index 86310cf..3179125 100644
--- a/poky/documentation/profile-manual/intro.rst
+++ b/poky/documentation/profile-manual/intro.rst
@@ -43,7 +43,7 @@
 Alternatively,  you can add ``tools-profile`` to the :term:`EXTRA_IMAGE_FEATURES` line in
 your ``local.conf`` file::
 
-   EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile"
+   EXTRA_IMAGE_FEATURES:append = " tools-profile"
 
 If you use the ``tools-profile`` method, you don't need to build an sdk image ---
 the tracing and profiling tools will be included in non-sdk images as well e.g.::
@@ -69,7 +69,7 @@
 To generate debug info for packages, you can add ``dbg-pkgs`` to
 :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example::
 
-   EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
+   EXTRA_IMAGE_FEATURES:append = " dbg-pkgs"
 
 Additionally, in order to generate the right type of debug info, we also need to
 set :term:`PACKAGE_DEBUG_SPLIT_STYLE` in the ``local.conf`` file::
diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst
index 17be149..d17b256 100644
--- a/poky/documentation/profile-manual/usage.rst
+++ b/poky/documentation/profile-manual/usage.rst
@@ -308,7 +308,7 @@
 To generate the debug info for the packages in the image, we can add
 ``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example::
 
-   EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
+   EXTRA_IMAGE_FEATURES:append = " dbg-pkgs"
 
 Additionally, in order to generate the type of debugging information that perf
 understands, we also need to set :term:`PACKAGE_DEBUG_SPLIT_STYLE`
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index e5fe440..8ad7731 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -128,6 +128,43 @@
 -  :ref:`ref-tasks-install` --- runs ``make install`` and
    passes in ``${``\ :term:`D`\ ``}`` as ``DESTDIR``.
 
+.. _ref-classes-barebox:
+
+``barebox``
+===========
+
+The :ref:`ref-classes-barebox` class manages building the barebox bootloader.
+
+If a file named ``defconfig`` is included in the :term:`SRC_URI`, it will be
+copied to ``.config`` in the build directory and used as the barebox
+configuration.
+Instead of providing a ``defconfig`` file, you can set :term:`BAREBOX_CONFIG`
+to a defconfig provided by the barebox source tree.
+If neither ``defconfig`` nor :term:`BAREBOX_CONFIG` is specified, the class
+will raise an error.
+
+The :ref:`ref-classes-barebox` class supports config fragments and internally
+includes the :ref:`ref-classes-cml1` class to provide `Kconfig
+<https://docs.kernel.org/kbuild/kconfig-language.html>`__ support for
+barebox, enabling tasks such as :ref:`ref-tasks-menuconfig` and
+:ref:`ref-tasks-diffconfig`.
+
+The generated barebox binaries are deployed to
+:term:`DEPLOY_DIR_IMAGE` as well as installed to ``BAREBOX_INSTALL_PATH``
+(``/boot`` by default) making them part of the recipe’s base package.
+This setup supports both using the barebox binaries as independent artifacts
+and installing them into a rootfs.
+:term:`BAREBOX_BINARY` can be used to select a distinct binary to deploy and
+install.
+If ``barebox`` is set as the :term:`EFI_PROVIDER`, the class will leverage
+:oe_git:`conf/image-uefi.conf </openembedded-core/tree/meta/conf/image-uefi.conf>`
+to define the default installation paths and naming conventions.
+
+The compiled-in barebox environment can be extended by adding environment files
+to the ``BAREBOX_ENV_DIR``.
+The ``BAREBOX_FIRMWARE_DIR`` variable allows you to specify the firmware blob
+search directory, enabling loading of additional firmware like TF-A or OP-TEE.
+
 .. _ref-classes-base:
 
 ``base``
@@ -614,6 +651,15 @@
 ":ref:`dev-manual/vulnerabilities:checking for vulnerabilities`"
 section in the Development Tasks Manual.
 
+.. _ref-classes-cython:
+
+``cython``
+==========
+
+The :ref:`ref-classes-cython` class can be used by Python recipes that require
+`Cython <https://cython.org/>`__ as part of their build dependencies
+(:term:`DEPENDS`).
+
 .. _ref-classes-debian:
 
 ``debian``
@@ -1877,14 +1923,6 @@
 class is enabled by default because it is inherited by the
 :ref:`ref-classes-base` class.
 
-.. _ref-classes-migrate_localcount:
-
-``migrate_localcount``
-======================
-
-The :ref:`ref-classes-migrate_localcount` class verifies a recipe's localcount data and
-increments it appropriately.
-
 .. _ref-classes-mime:
 
 ``mime``
@@ -2626,7 +2664,7 @@
 This class is intended to be inherited by individual recipes. However,
 the class' functionality is largely disabled unless "ptest" appears in
 :term:`DISTRO_FEATURES`. See the
-":ref:`dev-manual/packages:testing packages with ptest`"
+":ref:`test-manual/ptest:testing packages with ptest`"
 section in the Yocto Project Development Tasks Manual for more information
 on ptest.
 
@@ -2650,7 +2688,7 @@
 have tests intended to be executed with ``gnome-desktop-testing``.
 
 For information on setting up and running ptests, see the
-":ref:`dev-manual/packages:testing packages with ptest`"
+":ref:`test-manual/ptest:testing packages with ptest`"
 section in the Yocto Project Development Tasks Manual.
 
 .. _ref-classes-python3-dir:
@@ -3231,8 +3269,8 @@
    TESTIMAGE_AUTO = "1"
 
 For information on how to enable, run, and create new tests, see the
-":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-section in the Yocto Project Development Tasks Manual.
+":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+section in the Yocto Project Test Environment Manual.
 
 .. _ref-classes-testsdk:
 
@@ -3601,3 +3639,23 @@
 :term:`PACKAGECONFIG_CONFARGS` variables
 to specify additional configuration options to be passed on the Waf
 command line.
+
+.. _ref-classes-yocto-check-layer:
+
+``yocto-check-layer``
+=====================
+
+The :ref:`ref-classes-yocto-check-layer` class is used by the
+:oe_git:`yocto-check-layer </openembedded-core/tree/scripts/yocto-check-layer>`
+script to ensure that packages from Yocto Project Compatible layers don't skip
+required QA checks listed in :term:`CHECKLAYER_REQUIRED_TESTS` defined by the
+:ref:`ref-classes-insane` class.
+
+It adds an anonymous python function with extra processing to all recipes,
+and globally inheriting this class with :term:`INHERIT` is not advised. Instead
+the ``yocto-check-layer`` script should be used as it handles usage of this
+class.
+
+For more information on the Yocto Project
+Compatible layers, see the :ref:`dev-manual/layers:Making Sure Your Layer is
+Compatible With Yocto Project` section of the Yocto Project Development Manual.
diff --git a/poky/documentation/ref-manual/devtool-reference.rst b/poky/documentation/ref-manual/devtool-reference.rst
index d74d5c29..a6ea00c 100644
--- a/poky/documentation/ref-manual/devtool-reference.rst
+++ b/poky/documentation/ref-manual/devtool-reference.rst
@@ -553,6 +553,26 @@
 call is made in the application for a dependent function (e.g. a library
 call), the function cannot be found.
 
+.. warning::
+
+   Runtime dependencies can be explicitly listed in the :term:`RDEPENDS`
+   variable, but may also be the result of a :term:`DEPENDS` assignment in your
+   application's recipe. This is usually the case when your application depends
+   on libraries for compilation: these libraries are listed as build-time
+   dependencies in the :term:`DEPENDS` variable in your application's recipe.
+   However these may also be runtime dependencies if they install shared objects
+   on which your application will dynamically link to at runtime (e.g. shared
+   libraries ending with ``.so``).
+
+   These runtime dependencies are automatically resolved by the
+   :term:`OpenEmbedded Build System` during the packaging phase. Since
+   ``devtool`` ignores packaging dependencies, they will not be installed
+   automatically with ``devtool deploy-target``.
+
+   For more information on how the :term:`OpenEmbedded Build System` handles
+   packaging, see the :ref:`overview-manual/concepts:Automatically Added Runtime
+   Dependencies` section of the Yocto Project Overview and Concepts Manual.
+
 To be sure you have all the dependencies local to the target, you need
 to be sure that the packages are pre-deployed (installed) on the target
 before attempting to run your application.
diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst
index 6e52dfc..70e85f7 100644
--- a/poky/documentation/ref-manual/features.rst
+++ b/poky/documentation/ref-manual/features.rst
@@ -207,7 +207,7 @@
 
 -  *ptest:* Enables building the package tests where supported by
    individual recipes. For more information on package tests, see the
-   ":ref:`dev-manual/packages:testing packages with ptest`" section
+   ":ref:`test-manual/ptest:testing packages with ptest`" section
    in the Yocto Project Development Tasks Manual.
 
 -  *pulseaudio:* Include support for
@@ -285,31 +285,24 @@
 -  *dbg-pkgs:* Installs debug symbol packages for all packages installed
    in a given image.
 
--  *debug-tweaks:* Makes an image suitable for development (e.g. allows
-   root logins, logins without passwords ---including root ones, and enables
-   post-installation logging). See the ``allow-empty-password``,
-   ``allow-root-login``, ``empty-root-password``, and ``post-install-logging``
-   features in this list for additional information.
-
 -  *dev-pkgs:* Installs development packages (headers and extra library
    links) for all packages installed in a given image.
 
 -  *doc-pkgs:* Installs documentation packages for all packages
    installed in a given image.
 
--  *empty-root-password:* This feature or ``debug-tweaks`` is required if
-   you want to allow root login with an empty password. If these features
-   are not present in :term:`IMAGE_FEATURES`, a non-empty password is
-   forced in ``/etc/passwd`` and ``/etc/shadow`` if such files exist.
+-  *empty-root-password:* This feature can be used if you want to allow root
+   login with an empty password. If this feature is not present in
+   :term:`IMAGE_FEATURES`, a non-empty password is forced in ``/etc/passwd`` and
+   ``/etc/shadow`` if such files exist.
 
    .. note::
        ``empty-root-password`` doesn't set an empty root password by itself.
        You get an initial empty root password thanks to the
        :oe_git:`base-passwd </openembedded-core/tree/meta/recipes-core/base-passwd/>`
        and :oe_git:`shadow </openembedded-core/tree/meta/recipes-extended/shadow/>`
-       recipes, and the presence of ``empty-root-password`` or ``debug-tweaks``
-       just disables the mechanism which forces an non-empty password for the
-       root user.
+       recipes, and the presence of ``empty-root-password`` just disables the
+       mechanism which forces an non-empty password for the root user.
 
 -  *lic-pkgs:* Installs license packages for all packages installed in a
    given image.
diff --git a/poky/documentation/ref-manual/images.rst b/poky/documentation/ref-manual/images.rst
index c45f910..d6bdc92 100644
--- a/poky/documentation/ref-manual/images.rst
+++ b/poky/documentation/ref-manual/images.rst
@@ -119,8 +119,8 @@
    deployed to a separate partition so that you can boot into it and use
    it to deploy a second image to be tested. You can find more
    information about runtime testing in the
-   ":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-   section in the Yocto Project Development Tasks Manual.
+   ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+   section in the Yocto Project Test Environment Manual.
 
 -  ``core-image-testmaster-initramfs``: A RAM-based Initial Root
    Filesystem (:term:`Initramfs`) image tailored for use with the
diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst
index 53b1836..27d46de 100644
--- a/poky/documentation/ref-manual/qa-checks.rst
+++ b/poky/documentation/ref-manual/qa-checks.rst
@@ -752,21 +752,17 @@
 
 .. _qa-check-patch-status:
 
-- ``Missing Upstream-Status in patch <patchfile> Please add according to <url> [patch-status-core/patch-status-noncore]``
+- ``Missing Upstream-Status in patch <patchfile> Please add according to <url> [patch-status]``
 
     The ``Upstream-Status`` value is missing in the specified patch file's header.
     This value is intended to track whether or not the patch has been sent
     upstream, whether or not it has been merged, etc.
 
-    There are two options for this same check - ``patch-status-core`` (for
-    recipes in OE-Core) and ``patch-status-noncore`` (for recipes in any other
-    layer).
-
     For more information, see the
     ":ref:`contributor-guide/recipe-style-guide:patch upstream status`"
     section in the Yocto Project and OpenEmbedded Contributor Guide.
 
-- ``Malformed Upstream-Status in patch <patchfile> Please correct according to <url> [patch-status-core/patch-status-noncore]``
+- ``Malformed Upstream-Status in patch <patchfile> Please correct according to <url> [patch-status]``
 
     The ``Upstream-Status`` value in the specified patch file's header is invalid -
     it must be a specific format. See the "Missing Upstream-Status" entry above
@@ -795,7 +791,7 @@
 
     This check will detect if the source of the package contains some
     upstream-provided tests and, if so, that ptests are implemented for this
-    recipe.  See the ":ref:`dev-manual/packages:testing packages with ptest`"
+    recipe.  See the ":ref:`test-manual/ptest:testing packages with ptest`"
     section in the Yocto Project Development Tasks Manual. See also the
     ":ref:`ref-classes-ptest`" section.
 
diff --git a/poky/documentation/ref-manual/release-process.rst b/poky/documentation/ref-manual/release-process.rst
index 691e7d3..639921b 100644
--- a/poky/documentation/ref-manual/release-process.rst
+++ b/poky/documentation/ref-manual/release-process.rst
@@ -148,8 +148,8 @@
 developer, you can validate your projects. This section overviews the
 available test infrastructure used in the Yocto Project. For information
 on how to run available tests on your projects, see the
-":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-section in the Yocto Project Development Tasks Manual.
+":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+section in the Yocto Project Test Environment Manual.
 
 The QA/testing infrastructure is woven into the project to the point
 where core developers take some of it for granted. The infrastructure
@@ -175,7 +175,7 @@
    operation and functions. However, the test can also use the IP
    address of a machine to test.
 
--  :ref:`ptest <dev-manual/packages:testing packages with ptest>`:
+-  :ref:`ptest <test-manual/ptest:testing packages with ptest>`:
    Runs tests against packages produced during the build for a given
    piece of software. The test allows the packages to be run within a
    target image.
@@ -190,7 +190,7 @@
 them and the Yocto Project development team can run them faster and more
 efficiently.
 
-The Yocto Project's main Autobuilder (&YOCTO_AB_URL;) publicly tests each Yocto
+The Yocto Project's main :yocto_ab:`Autobuilder <>` publicly tests each Yocto
 Project release's code in the :oe_git:`openembedded-core </openembedded-core>`,
 :yocto_git:`poky </poky>` and :oe_git:`bitbake </bitbake>` repositories. The
 testing occurs for both the current state of the "master" branch and also for
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index 0fc9255..b087d37 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -62,8 +62,14 @@
 
 -  Ubuntu 22.04 (LTS)
 
+-  Ubuntu 24.04 (LTS)
+
 -  Fedora 38
 
+-  Fedora 39
+
+-  Fedora 40
+
 -  CentOS Stream 8
 
 -  Debian GNU/Linux 11 (Bullseye)
@@ -72,6 +78,10 @@
 
 -  OpenSUSE Leap 15.4
 
+-  OpenSUSE Leap 15.5
+
+-  OpenSUSE Leap 15.6
+
 -  AlmaLinux 8
 
 -  AlmaLinux 9
@@ -150,10 +160,27 @@
 Here are the packages needed to build an image on a headless system
 with a supported Ubuntu or Debian Linux distribution::
 
-   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
+
+You also need to ensure you have the ``en_US.UTF-8`` locale enabled::
+
+   $ locale --all-locales | grep en_US.utf8
+
+If this is not the case, you can reconfigure the ``locales`` package to add it
+(requires an interactive shell)::
+
+   $ sudo dpkg-reconfigure locales
 
 .. note::
 
+   -  If you are not in an interactive shell, ``dpkg-reconfigure`` will
+      not work as expected. To add the locale you will need to edit
+      ``/etc/locale.gen`` file to add/uncomment the ``en_US.UTF-8`` locale.
+      A naive way to do this as root is::
+
+         $ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
+         $ locale-gen
+
    -  If your build system has the ``oss4-dev`` package installed, you
       might experience QEMU build failures due to the package installing
       its own custom ``/usr/include/linux/soundcard.h`` on the Debian
@@ -164,8 +191,12 @@
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo apt install git make inkscape texlive-latex-extra
-   $ sudo apt install sphinx python3-saneyaml python3-sphinx-rtd-theme
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC;
+
+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+   $ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC_PDF;
 
 Fedora Packages
 ---------------
@@ -177,8 +208,13 @@
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo dnf install git make python3-pip which inkscape texlive-fncychap
-   &PIP3_HOST_PACKAGES_DOC;
+   $ sudo dnf install &FEDORA_HOST_PACKAGES_DOC;
+   $ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
+
+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+   $ sudo dnf install &FEDORA_HOST_PACKAGES_DOC_PDF;
 
 openSUSE Packages
 -----------------
@@ -187,11 +223,17 @@
 with a supported openSUSE distribution::
 
    $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
+   $ sudo pip3 install &OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL;
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo zypper install git make python3-pip which inkscape texlive-fncychap
-   &PIP3_HOST_PACKAGES_DOC;
+   $ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC;
+   $ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
+
+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+   $ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC_PDF;
 
 
 AlmaLinux Packages
@@ -200,6 +242,10 @@
 Here are the packages needed to build an image on a headless system
 with a supported AlmaLinux distribution::
 
+   $ sudo dnf install -y epel-release
+   $ sudo yum install dnf-plugins-core
+   $ sudo dnf config-manager --set-enabled crb
+   $ sudo dnf makecache
    $ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL;
 
 .. note::
@@ -217,8 +263,20 @@
 
 Here are the packages needed to build Project documentation manuals::
 
-   $ sudo dnf install git make python3-pip which inkscape texlive-fncychap
-   &PIP3_HOST_PACKAGES_DOC;
+   $ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC;
+   $ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
+
+In addition to the previous packages, here are the packages needed to build the
+documentation in PDF format::
+
+   $ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC_PDF;
+
+.. warning::
+
+   Unlike Fedora or OpenSUSE, AlmaLinux does not provide the packages
+   ``texlive-collection-fontsextra``, ``texlive-collection-lang*`` and
+   ``texlive-collection-latexextra``, so you may run into issues. These may be
+   installed using `tlmgr <https://tug.org/texlive/tlmgr.html>`_.
 
 .. _system-requirements-buildtools:
 
diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst
index df751d7..d2e1f4c 100644
--- a/poky/documentation/ref-manual/tasks.rst
+++ b/poky/documentation/ref-manual/tasks.rst
@@ -615,8 +615,8 @@
 
 Boots an image and performs runtime tests within the image. For
 information on automatically testing images, see the
-":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-section in the Yocto Project Development Tasks Manual.
+":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+section in the Yocto Project Test Environment Manual.
 
 .. _ref-tasks-testimage_auto:
 
@@ -628,8 +628,8 @@
 :term:`TESTIMAGE_AUTO` equal to "1".
 
 For information on automatically testing images, see the
-":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-section in the Yocto Project Development Tasks Manual.
+":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+section in the Yocto Project Test Environment Manual.
 
 Kernel-Related Tasks
 ====================
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 1eee617..47d4e81 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -209,12 +209,11 @@
          SRCREV = "${AUTOREV}"
 
       If you use the previous statement to retrieve the latest version of
-      software, you need to be sure :term:`PV` contains
-      ``${``\ :term:`SRCPV`\ ``}``. For example, suppose you have a kernel
-      recipe that inherits the :ref:`ref-classes-kernel` class and you
-      use the previous statement. In this example, ``${SRCPV}`` does not
-      automatically get into :term:`PV`. Consequently, you need to change
-      :term:`PV` in your recipe so that it does contain ``${SRCPV}``.
+      software, you need to make sure :term:`PV` contains the ``+`` sign so
+      :term:`bitbake` includes source control information to :term:`PKGV` when
+      packaging the recipe. For example::
+
+         PV = "6.10.y+git"
 
       For more information see the
       ":ref:`dev-manual/packages:automatically incrementing a package version number`"
@@ -294,6 +293,35 @@
       :term:`PACKAGE_EXCLUDE` variables for related
       information.
 
+   :term:`BAREBOX_BINARY`
+      When using the :ref:`ref-classes-barebox` class, this variable allows you
+      to specify a particular binary that should be deployed and installed.
+
+      The barebox build system can build multiple barebox binaries at once.
+      By default, all built binaries will be deployed and installed under their
+      original name.
+
+      Here is an example usage of this variable::
+
+         BAREBOX_BINARY = "barebox-boundarydevices-imx6dl-nitrogen6x-1g.img"
+
+   :term:`BAREBOX_CONFIG`
+      When using the :ref:`ref-classes-barebox` class, this variable allows you
+      to specify the name of the barebox defconfig to build.
+      The name must be a defconfig file known to the barebox build environment.
+      This variable is mainly useful for generic use cases where a dedicated
+      configuration is not required.
+      The :ref:`ref-classes-barebox` class itself already sets it for some QEMU
+      machines::
+
+         BAREBOX_CONFIG:qemuarm = "multi_v7_defconfig"
+         BAREBOX_CONFIG:qemuarm64 = "multi_v8_defconfig"
+         BAREBOX_CONFIG:qemux86-64 = "efi_defconfig"
+
+      Except for these, the default value of :term:`BAREBOX_CONFIG` is empty.
+      For more information on how to provide a barebox configuration, see the
+      :ref:`ref-classes-barebox` class.
+
    :term:`BASE_LIB`
       The library directory name for the CPU or Application Binary
       Interface (ABI) tune. The :term:`BASE_LIB` applies only in the Multilib
@@ -362,24 +390,6 @@
    :term:`BB_CURRENTTASK`
       See :term:`bitbake:BB_CURRENTTASK` in the BitBake manual.
 
-   :term:`BB_DANGLINGAPPENDS_WARNONLY`
-      Defines how BitBake handles situations where an append file
-      (``.bbappend``) has no corresponding recipe file (``.bb``). This
-      condition often occurs when layers get out of sync (e.g. ``oe-core``
-      bumps a recipe version and the old recipe no longer exists and the
-      other layer has not been updated to the new version of the recipe
-      yet).
-
-      The default fatal behavior is safest because it is the sane reaction
-      given something is out of sync. It is important to realize when your
-      changes are no longer being applied.
-
-      You can change the default behavior by setting this variable to "1",
-      "yes", or "true" in your ``local.conf`` file, which is located in the
-      :term:`Build Directory`: Here is an example::
-
-         BB_DANGLINGAPPENDS_WARNONLY = "1"
-
    :term:`BB_DEFAULT_TASK`
       See :term:`bitbake:BB_DEFAULT_TASK` in the BitBake manual.
 
@@ -1249,6 +1259,15 @@
       :term:`Metadata` so it does not need to be parsed every time
       BitBake is started.
 
+   :term:`CARGO_INSTALL_LIBRARIES`
+      When inheriting the :ref:`ref-classes-cargo` class, the variable
+      :term:`CARGO_INSTALL_LIBRARIES` can be set to a non-empty value by
+      individual recipes to enable the installation of the libraries the
+      recipe has built in ``${B}/target/${CARGO_TARGET_SUBDIR}`` (files ending
+      with ``.so`` or ``.rlib``). By default this variable is not defined and
+      libraries are not installed, to replicate the behavior of the ``cargo
+      install`` command.
+
    :term:`CC`
       The minimal command and arguments used to run the C compiler.
 
@@ -1269,6 +1288,17 @@
       -  :term:`BUILDSDK_CFLAGS` when building for
          an SDK (i.e. ``nativesdk-``)
 
+   :term:`CHECKLAYER_REQUIRED_TESTS`
+      The :term:`CHECKLAYER_REQUIRED_TESTS` variable lists the QA tests that are
+      required to be enabled to pass the Yocto Project Compatible status for a
+      layer. It is meant to be a read-only variable and any change to the
+      variable may be done with the approval of the :oe_wiki:`Technical Steering
+      Committee (TSC) </TSC>`.
+
+      For more information on the Yocto Project Compatible status, see
+      the :ref:`dev-manual/layers:Making Sure Your Layer is Compatible With
+      Yocto Project` section of the Yocto Project Development Manual.
+
    :term:`CLASSOVERRIDE`
       An internal variable specifying the special class override that
       should currently apply (e.g. "class-target", "class-native", and so
@@ -2605,10 +2635,14 @@
         - "dbg-pkgs" --- adds -dbg packages for all installed packages including
           symbol information for debugging and profiling.
 
-        - "debug-tweaks" --- makes an image suitable for debugging. For example, allows root logins without passwords and
-          enables post-installation logging. See the 'allow-empty-password' and
-          'post-install-logging' features in the ":ref:`ref-features-image`"
-          section for more information.
+        - "empty-root-password" --- This feature can be used if you want to
+          allow root login with an empty password.
+        - "allow-empty-password" --- Allows Dropbear and OpenSSH to accept
+          logins from accounts having an empty password string.
+        - "allow-root-login" --- Allows Dropbear and OpenSSH to accept root logins.
+        - "post-install-logging" --- Enables logging postinstall script runs to
+          the ``/var/log/postinstall.log`` file on first boot of the image on
+          the target system.
         - "dev-pkgs" --- adds -dev packages for all installed packages. This is
           useful if you want to develop against the libraries in the image.
         - "read-only-rootfs" --- creates an image whose root filesystem is
@@ -3039,6 +3073,16 @@
       tables, examine the existing ``fs-perms.txt``,
       ``fs-perms-volatile-log.txt`` and ``fs-perms-volatile-tmp.txt`` files.
 
+   :term:`FIRMWARE_COMPRESSION`
+      The :term:`FIRMWARE_COMPRESSION` allows compressing the firmware provided
+      by the ``linux-firmware`` recipe. The default value of this variable is an
+      empty string (no compression), and the possible values it can take are
+      ``xz`` and ``zst``. This can allow significant disk space savings.
+
+      For this to work, the Linux Kernel requires the
+      ``CONFIG_FW_LOADER_COMPRESS_XZ`` or ``CONFIG_FW_LOADER_COMPRESS_ZSTD``
+      configuration options to be set.
+
    :term:`FIT_ADDRESS_CELLS`
       Specifies the value of the ``#address-cells`` value for the
       description of the FIT image.
@@ -4579,6 +4623,19 @@
       You can register custom kernel image types with the
       :ref:`ref-classes-kernel` class using this variable.
 
+   :term:`KERNEL_CONSOLE`
+     The :term:`KERNEL_CONSOLE` variable holds the value of the ``console``
+     parameter of the kernel command line and can be used in places such as a
+     ``wks`` description file for :ref:`Wic images <dev-manual/wic:creating
+     partitioned images using wic>`.
+
+     The default value of this variable is extracted from the first console
+     device and setting in :term:`SERIAL_CONSOLES`. If nothing is found in
+     :term:`SERIAL_CONSOLES`, the default value is set to ``ttyS0,115200``.
+
+     For more information, see the `Kernel command-line documentation
+     <https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html>`__.
+
    :term:`KERNEL_DANGLING_FEATURES_WARN_ONLY`
       When kernel configuration fragments are missing for some
       :term:`KERNEL_FEATURES` specified by layers or BSPs,
@@ -5157,7 +5214,7 @@
       The :term:`LINUX_VERSION` variable is used to define :term:`PV`
       for the recipe::
 
-         PV = "${LINUX_VERSION}+git${SRCPV}"
+         PV = "${LINUX_VERSION}+git"
 
    :term:`LINUX_VERSION_EXTENSION`
       A string extension compiled into the version string of the Linux
@@ -6698,6 +6755,28 @@
    :term:`PREFERRED_PROVIDERS`
       See :term:`bitbake:PREFERRED_PROVIDERS` in the BitBake manual.
 
+   :term:`PREFERRED_RPROVIDER`
+      The :term:`PREFERRED_RPROVIDER` variable works like the
+      :term:`PREFERRED_PROVIDER` variable, but it denotes packages that provide a
+      *runtime* component. Runtime providers are declared in recipes that set
+      the :term:`RPROVIDES` variable for a specific package.
+
+      For example::
+
+         PREFERRED_RPROVIDER_virtual-x-terminal-emulator = "rxvt-unicode"
+
+      This statement sets the runtime provider for the X terminal emulator to
+      ``rxvt-unicode``. The ``rxvt-unicode`` package is a runtime provider of
+      this component because the ``rxvt-unicode`` recipe set the following
+      :term:`RPROVIDES` definition for the ``rxvt-unicode`` (``${PN}``)
+      package::
+
+         RPROVIDES:${PN} = "virtual-x-terminal-emulator"
+
+      For more information on virtual providers, see the
+      ":ref:`dev-manual/new-recipe:using virtual providers`" section in the
+      Yocto Project Development Tasks Manual.
+
    :term:`PREFERRED_VERSION`
       If there are multiple versions of a recipe available, this variable
       determines which version should be given preference. You must always
@@ -6720,22 +6799,14 @@
          string. You cannot use the wildcard character in any other
          location of the string.
 
-      The specified version is matched against :term:`PV`, which
-      does not necessarily match the version part of the recipe's filename.
-      For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb``
-      where ``foo_git.bb`` contains the following assignment::
+      The specified version is matched against :term:`PV`, which does not
+      necessarily match the version part of the recipe's filename.
 
-         PV = "1.1+git${SRCPV}"
-
-      In this case, the correct way to select
-      ``foo_git.bb`` is by using an assignment such as the following::
-
-         PREFERRED_VERSION_foo = "1.1+git%"
-
-      Compare that previous example
-      against the following incorrect example, which does not work::
-
-         PREFERRED_VERSION_foo = "git"
+      If you want to select a recipe named ``foo_git.bb`` which has :term:`PV`
+      set to ``1.2.3+git``, you can do so by setting ```PREFERRED_VERSION_foo``
+      to ``1.2.3%`` (i.e. simply setting ``PREFERRED_VERSION_foo`` to ``git``
+      will not work as the name of the recipe isn't used, but rather its
+      :term:`PV` definition).
 
       Sometimes the :term:`PREFERRED_VERSION` variable can be set by
       configuration files in a way that is hard to change. You can use
@@ -6905,7 +6976,7 @@
 
    :term:`PTEST_ENABLED`
       Specifies whether or not :ref:`Package
-      Test <dev-manual/packages:testing packages with ptest>` (ptest)
+      Test <test-manual/ptest:testing packages with ptest>` (ptest)
       functionality is enabled when building a recipe. You should not set
       this variable directly. Enabling and disabling building Package Tests
       at build time should be done by adding "ptest" to (or removing it
@@ -7503,6 +7574,8 @@
       Specifies the type of archive to create for the SDK. Valid values:
 
       - ``tar.xz`` (default)
+      - ``tar.zst``
+      - ``7zip``
       - ``zip``
 
       Only one archive type can be specified.
@@ -7827,11 +7900,6 @@
       class, this variable can be used to specify additional arguments to be
       passed to ``setup.py build`` in the ``setuptools3_do_compile()`` task.
 
-   :term:`SETUPTOOLS_INSTALL_ARGS`
-      When used by recipes that inherit the :ref:`ref-classes-setuptools3`
-      class, this variable can be used to specify additional arguments to be
-      passed to ``setup.py install`` in the ``setuptools3_do_install()`` task.
-
    :term:`SETUPTOOLS_SETUP_PATH`
       When used by recipes that inherit the :ref:`ref-classes-setuptools3`
       class, this variable should be used to specify the directory in which
@@ -8041,6 +8109,31 @@
 
          You can specify only a single URL in :term:`SOURCE_MIRROR_URL`.
 
+      .. note::
+
+         If the mirror is protected behind a username and password, the
+         :term:`build host` needs to be configured so the :term:`build system
+         <OpenEmbedded Build System>` is able to fetch from the mirror.
+
+         The recommended way to do that is by setting the following parameters
+         in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home
+         directory)::
+
+            machine example.com
+            login <user>
+            password <password>
+
+         This file requires permissions set to ``400`` or ``600`` to prevent
+         other users from reading the file::
+
+            chmod 600 "$HOME/.netrc"
+
+         Another method to configure the username and password is from the URL
+         in :term:`SOURCE_MIRROR_URL` directly, with the ``user`` and ``pswd``
+         parameters::
+
+            SOURCE_MIRROR_URL = "http://example.com/my_source_mirror;user=<user>;pswd=<password>"
+
    :term:`SPDX_ARCHIVE_PACKAGED`
       This option allows to add to :term:`SPDX` output compressed archives
       of the files in the generated target packages.
@@ -8321,21 +8414,23 @@
       (SCM).
 
    :term:`SRCPV`
-      Returns the version string of the current package. This string is
-      used to help define the value of :term:`PV`.
+      The variable :term:`SRCPV` is deprecated. It was previously used to
+      include source control information in :term:`PV` for :term:`bitbake` to
+      work correctly but this is no longer a requirement. Source control
+      information will be automatically included by :term:`bitbake` in the
+      variable :term:`PKGV` during packaging if the ``+`` sign is present in
+      :term:`PV`.
 
-      The :term:`SRCPV` variable is defined in the ``meta/conf/bitbake.conf``
-      configuration file in the :term:`Source Directory` as
-      follows::
+      .. note::
 
-         SRCPV = "${@bb.fetch2.get_srcrev(d)}"
+         The :term:`SRCPV` variable used to be defined in the
+         ``meta/conf/bitbake.conf`` configuration file in the :term:`Source
+         Directory` as follows::
 
-      Recipes that need to define :term:`PV` do so with the help of the
-      :term:`SRCPV`. For example, the ``ofono`` recipe (``ofono_git.bb``)
-      located in ``meta/recipes-connectivity`` in the Source Directory
-      defines :term:`PV` as follows::
+            SRCPV = "${@bb.fetch2.get_srcrev(d)}"
 
-         PV = "0.12-git${SRCPV}"
+         The ``get_srcrev`` function can still be used to include source control
+         information in variables manually.
 
    :term:`SRCREV`
       The revision of the source code used to build the package. This
@@ -8446,6 +8541,34 @@
              file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \
              file://.* file:///some-local-dir/sstate/PATH"
 
+      .. note::
+
+         If the mirror is protected behind a username and password, the
+         :term:`build host` needs to be configured so the :term:`build system
+         <OpenEmbedded Build System>` is able to download the sstate cache using
+         authentication.
+
+         The recommended way to do that is by setting the following parameters
+         in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home
+         directory)::
+
+            machine someserver.tld
+            login <user>
+            password <password>
+
+         This file requires permissions set to ``400`` or ``600`` to prevent
+         other users from reading the file::
+
+            chmod 600 "$HOME/.netrc"
+
+         Another method to configure the username and password is from the
+         URL in :term:`SSTATE_MIRRORS` directly, with the ``user`` and ``pswd``
+         parameters::
+
+            SSTATE_MIRRORS ?= "\
+                file://.* https://someserver.tld/share/sstate/PATH;user=<user>;pswd=<password>;downloadfilename=PATH \
+            "
+
       The Yocto Project actually shares the cache data objects built by its
       autobuilder::
 
@@ -9211,8 +9334,8 @@
       file.
 
       For more information on testing images, see the
-      ":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-      section in the Yocto Project Development Tasks Manual.
+      ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+      section in the Yocto Project Test Environment Manual.
 
    :term:`TEST_SERIALCONTROL_CMD`
       For automated hardware testing, specifies the command to use to
@@ -9283,8 +9406,8 @@
          TEST_SUITES = "test_A test_B"
 
       For more information on testing images, see the
-      ":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-      section in the Yocto Project Development Tasks Manual.
+      ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+      section in the Yocto Project Test Environment Manual.
 
    :term:`TEST_TARGET`
       Specifies the target controller to use when running tests against a
@@ -9302,8 +9425,8 @@
       You can provide the following arguments with :term:`TEST_TARGET`:
 
       -  *"qemu":* Boots a QEMU image and runs the tests. See the
-         ":ref:`dev-manual/runtime-testing:enabling runtime tests on qemu`" section
-         in the Yocto Project Development Tasks Manual for more
+         ":ref:`test-manual/runtime-testing:enabling runtime tests on qemu`" section
+         in the Yocto Project Test Environment Manual for more
          information.
 
       -  *"simpleremote":* Runs the tests on target hardware that is
@@ -9318,8 +9441,8 @@
             ``meta/lib/oeqa/controllers/simpleremote.py``.
 
       For information on running tests on hardware, see the
-      ":ref:`dev-manual/runtime-testing:enabling runtime tests on hardware`"
-      section in the Yocto Project Development Tasks Manual.
+      ":ref:`test-manual/runtime-testing:enabling runtime tests on hardware`"
+      section in the Yocto Project Test Environment Manual.
 
    :term:`TEST_TARGET_IP`
       The IP address of your hardware under test. The :term:`TEST_TARGET_IP`
@@ -9355,8 +9478,8 @@
 
       For more information
       on enabling, running, and writing these tests, see the
-      ":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
-      section in the Yocto Project Development Tasks Manual and the
+      ":ref:`test-manual/runtime-testing:performing automated runtime testing`"
+      section in the Yocto Project Test Environment Manual and the
       ":ref:`ref-classes-testimage`" section.
 
    :term:`TESTIMAGE_FAILED_QA_ARTIFACTS`
@@ -10180,6 +10303,17 @@
       Specifies the timeout in seconds used by the ``watchdog`` recipe and
       also by ``systemd`` during reboot. The default is 60 seconds.
 
+   :term:`WIC_SECTOR_SIZE`
+      The variable :term:`WIC_SECTOR_SIZE` controls the sector size of Wic
+      images. In the background, this controls the value of the
+      ``PARTED_SECTOR_SIZE`` environment variable passed to the ``parted``
+      command-line utility, used to generated the images. The default value is
+      ``512``.
+
+      For more information on how to create Wic images, see the
+      ":ref:`dev-manual/wic:creating partitioned images using wic`" section in
+      the Yocto Project Development Tasks Manual.
+
    :term:`WIRELESS_DAEMON`
       For ``connman`` and ``packagegroup-base``, specifies the wireless
       daemon to use. The default is "wpa-supplicant" (note that the value
diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst
index 3f6a754..8483951 100644
--- a/poky/documentation/sdk-manual/extensible.rst
+++ b/poky/documentation/sdk-manual/extensible.rst
@@ -178,7 +178,7 @@
 Once you have the SDK installed, you must run the SDK environment setup
 script before you can actually use the SDK.
 
-When using a SDK directly in a Yocto build, you will find the script in
+When using an SDK directly in a Yocto build, you will find the script in
 ``tmp/deploy/images/qemux86-64/`` in your :term:`Build Directory`.
 
 When using a standalone SDK installer, this setup script resides in
@@ -622,28 +622,91 @@
       decide you do not want to proceed with your work. If you do use this
       command, realize that the source tree is preserved.
 
-``devtool ide-sdk`` configures IDEs for the extensible SDK
-----------------------------------------------------------
+``devtool ide-sdk`` configures IDEs and bootstraps SDKs
+-------------------------------------------------------
 
-``devtool ide-sdk`` automatically configures IDEs to use the extensible SDK.
-To make sure that all parts of the extensible SDK required by the generated
-IDE configuration are available, ``devtool ide-sdk`` uses BitBake in the
-background to bootstrap the extensible SDK.
+The ``devtool ide-sdk`` command can provide an IDE configuration for IDEs when
+working on the source code of one or more recipes.
+Depending on the programming language, and the build system used by the recipe,
+the tools required for cross-development and remote debugging are different.
+For example:
 
-The extensible SDK supports two different development modes.
-``devtool ide-sdk`` supports both of them:
+-  A C/C++ project usually uses CMake or Meson.
+
+-  A Python project uses setuptools or one of its successors.
+
+-  A Rust project uses Cargo.
+
+Also, the IDE plugins needed for the integration of a build system with the
+IDE and the corresponding settings are usually specific to these build-systems.
+To hide all these details from the user, ``devtool ide-sdk`` does two things:
+
+-  It generates any kind of SDK needed for cross-development and remote
+   debugging of the specified recipes.
+
+-  It generates the configuration for the IDE (and the IDE plugins) for using
+   the cross-toolchain and remote debugging tools provided by the SDK directly
+   from the IDE.
+
+For supported build systems the configurations generated by ``devtool ide-sdk``
+combine the advantages of the ``devtool modify`` based workflow
+(see :ref:`using_devtool`) with the advantages of the simple Environment Setup
+script based workflow (see :ref:`running_the_ext_sdk_env`) provided by Yocto's
+SDK or eSDK:
+
+-  The source code of the recipe is in the workspace created by
+   ``devtool modify`` or ``devtool add``.
+   Using ``devtool build``, ``devtool build-image``,
+   ``devtool deploy-target`` or ``bitbake`` is possible.
+   Also ``devtool ide-sdk`` can be used to update the SDK and the IDE
+   configuration at any time.
+
+-  ``devtool ide-sdk`` aims to support multiple programming languages and
+   multiple IDEs natively. "Natively" means that the IDE is configured to call
+   the build tool (e.g. ``cmake`` or ``meson``) directly. This has several
+   advantages.
+   First of all, it is usually much faster to call for example ``cmake`` than
+   ``devtool build``.
+   It also allows to benefit from the very good integration that IDEs like
+   VSCode offer for tools like CMake or GDB.
+   
+   However, supporting many programming languages and multiple
+   IDEs is quite an elaborate and constantly evolving thing. Support for IDEs
+   is therefore implemented as plugins. Plugins can also be provided by
+   optional layers.
+
+So much about the introduction to the default mode of ``devtool sdk-ide`` which
+is called the "modified" mode because it uses the workspace created by
+``devtool modify`` and the per recipe :term:`Sysroots <Sysroot>` of BitBake.
+
+For some recipes and use cases, this default behavior of ``devtool ide-sdk``
+with full ``devtool`` and ``bitbake`` integration might not be suitable.
+To offer full feature parity with the SDK and the eSDK, ``devtool ide-sdk`` has
+a second mode called "shared" mode.
+If ``devtool ide-sdk`` is called with the ``--mode=shared`` option, it
+bootstraps an SDK directly from the BitBake environment, which offers the same
+Environment Setup script as described in :ref:`running_the_ext_sdk_env`.
+In addition to the (e)SDK installer-based setup, the IDE gets configured
+to use the shared :term:`Sysroots <Sysroot>` and the tools from the SDK.
+``devtool ide-sdk --mode=shared`` is basically a wrapper for the setup of the
+extensible SDK as described in :ref:`setting_up_ext_sdk_in_build`.
+
+The use of ``devtool ide-sdk`` is an alternative to using one of the SDK
+installers.
+``devtool ide-sdk`` allows the creation of SDKs that offer all the
+functionality of the SDK and the eSDK installers. Compared to the installers,
+however, the SDK created with ``devtool ide-sdk`` is much more flexible.
+For example, it is very easy to change the :term:`MACHINE` in the
+``local.conf`` file, update the layer meta data and then regenerate the SDK.
+
+Let's take a look at an example of how to use ``devtool ide-sdk`` in each of
+the two modes:
 
 #. *Modified mode*:
 
-   By default ``devtool ide-sdk`` generates IDE configurations for recipes in
-   workspaces created by ``devtool modify`` or ``devtool add`` as described in
-   :ref:`using_devtool`.  This mode creates IDE configurations with support for
-   advanced features, such as deploying the binaries to the remote target
-   device and performing remote debugging sessions. The generated IDE
-   configurations use the per recipe sysroots as Bitbake does internally.
-
-   In order to use the tool, a few settings are needed. As a starting example,
-   the following lines of code can be added to the ``local.conf`` file::
+   In order to use the ``devtool ide-sdk``, a few settings are needed. As a
+   starting example, the following lines of code can be added to the
+   ``local.conf`` file::
 
       # Build the companion debug file system
       IMAGE_GEN_DEBUGFS = "1"
@@ -655,7 +718,9 @@
       # SSH is mandatory, no password simplifies the usage
       EXTRA_IMAGE_FEATURES += "\
          ssh-server-openssh \
-         debug-tweaks \
+         allow-empty-password \
+         allow-root-login \
+         empty-root-password \
       "
 
       # Remote debugging needs gdbserver on the target device
@@ -666,15 +731,20 @@
       IMAGE_INSTALL:append = " my-recipe"
 
    Assuming the BitBake environment is set up correctly and a workspace has
-   been created for the recipe using ``devtool modify my-recipe``, the
+   been created for the recipe using ``devtool modify my-recipe`` or probably
+   even better by using ``devtool modify my-recipe --debug-build``, the
    following command can create the SDK and the configuration for VSCode in
    the recipe workspace::
 
       $ devtool ide-sdk my-recipe core-image-minimal --target root@192.168.7.2
 
-   The command requires an image recipe (``core-image-minimal`` for this example)
-   that is used to create the SDK. This firmware image should also be installed
-   on the target device.  It is possible to pass multiple package recipes.
+   The command requires an image recipe (``core-image-minimal`` for this
+   example) that is used to create the SDK.
+   This firmware image should also be installed on the target device.
+   It is possible to pass multiple package recipes::
+
+      $ devtool ide-sdk my-recipe-1 my-recipe-2 core-image-minimal --target root@192.168.7.2
+
    ``devtool ide-sdk`` tries to create an IDE configuration for all package
    recipes.
 
@@ -684,9 +754,9 @@
 
    For example, a CMake preset is created for a recipe that inherits
    :ref:`ref-classes-cmake`. In the case of VSCode, CMake presets are supported
-   by the CMake Tools plugin.  This is an example of how the build
-   configuration used by ``bitbake`` is exported to an IDE configuration that
-   gives exactly the same build results.
+   by the CMake Tools plugin. This is an example of how the build configuration
+   used by ``bitbake`` is exported to an IDE configuration that gives exactly
+   the same build results.
 
    Support for remote debugging with seamless integration into the IDE is
    important for a cross-SDK. ``devtool ide-sdk`` automatically generates the
@@ -699,23 +769,54 @@
       running on the target device, it is essential that the image built by
       ``devtool ide-sdk`` is running on the target device.
 
-   ``devtool ide-sdk`` aims to support multiple programming languages and
-   multiple IDEs natively. "Natively" means that the IDE is configured to call
-   the build tool (e.g. CMake or Meson) directly. This has several advantages.
-   First of all, it is much faster than ``devtool build``, but it also allows
-   to use the very good integration of tools like CMake or GDB in VSCode and
-   other IDEs. However, supporting many programming languages and multiple
-   IDEs is quite an elaborate and constantly evolving thing. Support for IDEs
-   is therefore implemented as plugins. Plugins can also be provided by
-   optional layers.
-
    The default IDE is VSCode. Some hints about using VSCode:
 
-   -  To work on the source code of a recipe an instance of VSCode is started in
-      the recipe's workspace. Example::
+   -  VSCode can be used to work on the BitBake recipes or the application
+      source code.
+      Usually there is one instance of VSCode running in the folder where the
+      BitBake recipes are. This instance has the
+      `Yocto Project BitBake plugin <https://marketplace.visualstudio.com/items?itemName=yocto-project.yocto-bitbake>`_
+      running.
+
+      .. warning::
+
+         Some VSCode plugins (Python, BitBake and others) need a reasonable
+         configuration to work as expected. Otherwise, some plugins try to
+         index the build directory of BitBake, which keeps your system quite
+         busy until an out of memory exception stops this nonsense.
+         Other plugins, such as the BitBake plugin, do not behave as expected.
+
+         To work around such issues, the ``oe-init-build-env`` script creates
+         an initial ``.vscode/settings.json`` file if ``code`` can be found
+         and the ``.vscode`` folder does not yet exist.
+         It is best to run ``oe-init-build-env`` once before starting VSCode.
+         An alternative approach is to use a build folder outside the layers,
+         e.g. ``oe-init-build-env ../build``.
+
+      The BitBake plugin also offers to create devtool workspaces and run
+      ``devtool ide-sdk`` with a few mouse clicks.
+      Of course, issuing commands in the terminal works as well.
+
+   -  To work on the source code of a recipe another instance of VSCode is
+      started in the recipe's workspace. Example::
 
          code build/workspace/sources/my-recipe
 
+      This instance of VSCode uses plugins that are useful for the development
+      of the application. ``devtool ide-sdk`` generates the necessary
+      ``extensions.json``, ``settings.json``, ``tasks.json``and ``launch.json``
+      configuration files for all the involved plugins.
+
+      When the source code folder present in the workspace folder is opened in
+      VSCode for the first time, a pop-up message recommends installing the
+      required plugins.
+      After accepting the installation of the plugins, working with the source
+      code or some debugging tasks should work as usual with VSCode.
+
+      Starting the VSCode instances in the recipe workspace folders can also be
+      done by a mouse click on the recipe workspaces in the first VSCode
+      instance.
+
    -  To work with CMake press ``Ctrl + Shift + p``, type ``cmake``. This will
       show some possible commands like selecting a CMake preset, compiling or
       running CTest.
@@ -728,10 +829,9 @@
       show some possible commands like compiling or executing the unit tests.
 
       A note on running cross-compiled unit tests on the host: Meson enables
-      support for QEMU user-mode by default. It is expected that the execution
-      of the unit tests from the IDE will work easily without any additional
-      steps, provided that the code is suitable for execution on the host
-      machine.
+      support for QEMU user mode by default. It is expected that the execution
+      of the unit tests from the IDE will work without any additional steps,
+      given that the code is suitable for the execution on the host machine.
 
    -  For the deployment to the target device, just press ``Ctrl + Shift + p``,
       type ``task``.  Select ``install && deploy-target``.
@@ -742,23 +842,23 @@
       selected.  After selecting one of the generated configurations, press the
       "play" button.
 
-      Starting a remote debugging session automatically initiates the deployment
-      to the target device. If this is not desired, the
+      Starting a remote debugging session automatically initiates the
+      deployment to the target device. If this is not desired, the
       ``"dependsOn": ["install && deploy-target...]`` parameter of the tasks
       with ``"label": "gdbserver start...`` can be removed from the
       ``tasks.json`` file.
 
-      VSCode supports GDB with many different setups and configurations for many
-      different use cases.  However, most of these setups have some limitations
-      when it comes to cross-development, support only a few target
+      VSCode supports GDB with many different setups and configurations for
+      many different use cases.  However, most of these setups have some
+      limitations when it comes to cross-development, support only a few target
       architectures or require a high performance target device. Therefore
       ``devtool ide-sdk`` supports the classic, generic setup with GDB on the
       development host and gdbserver on the target device.
 
       Roughly summarized, this means:
 
-      -  The binaries are copied via SSH to the remote target device by a script
-         referred by ``tasks.json``.
+      -  The binaries are copied via SSH to the remote target device by a
+         script referred by ``tasks.json``.
 
       -  gdbserver is started on the remote target device via SSH by a script
          referred by ``tasks.json``.
@@ -783,8 +883,8 @@
    .. code-block:: sh
 
       # Create the SDK
-      devtool modify cmake-example
-      devtool ide-sdk cmake-example core-image-minimal -c --debug-build-config --ide=none
+      devtool modify cmake-example --debug-build
+      devtool ide-sdk cmake-example core-image-minimal -c --ide=none
 
       # Install the firmware on a target device or start QEMU
       runqemu
@@ -860,16 +960,9 @@
 
 #. *Shared sysroots mode*
 
-   For some recipes and use cases a per-recipe sysroot based SDK is not
-   suitable.  Optionally ``devtool ide-sdk`` configures the IDE to use the
-   toolchain provided by the extensible SDK as described in
-   :ref:`running_the_ext_sdk_env`. ``devtool ide-sdk --mode=shared`` is
-   basically a wrapper for the setup of the extensible SDK as described in
-   :ref:`setting_up_ext_sdk_in_build`. The IDE gets a configuration to use the
-   shared sysroots.
-
-   Creating a SDK with shared sysroots that contains all the dependencies needed
-   to work with ``my-recipe`` is possible with the following example command::
+   Creating an SDK with shared :term:`Sysroots <Sysroot>` that contains all the
+   dependencies needed to work with ``my-recipe`` is possible with the following
+   example command::
 
       $ devtool ide-sdk --mode=shared my-recipe
 
@@ -883,12 +976,14 @@
       echo "project(foo VERSION 1.0)" > kit-test/CMakeLists.txt
       code kit-test
 
-   If there is a CMake project in the workspace, cross-compilation is supported:
+   If there is a CMake project in the workspace, cross-compilation is
+   supported:
 
    - Press ``Ctrl + Shift + P``, type ``CMake: Scan for Kits``
    - Press ``Ctrl + Shift + P``, type ``CMake: Select a Kit``
 
-   Finally most of the features provided by CMake and the IDE should be available.
+   Finally most of the features provided by CMake and the IDE should be
+   available.
 
    Other IDEs than VSCode are supported as well. However,
    ``devtool ide-sdk --mode=shared --ide=none my-recipe`` is currently
diff --git a/poky/documentation/set_versions.py b/poky/documentation/set_versions.py
index 376337e..5c55f47 100755
--- a/poky/documentation/set_versions.py
+++ b/poky/documentation/set_versions.py
@@ -99,12 +99,12 @@
 
 # Test tags exist and inform the user to fetch if not
 try:
-    subprocess.run(["git", "show", "yocto-%s" % release_series[activereleases[0]]], capture_output=True, check=True)
+    subprocess.run(["git", "show", "yocto-%s" % release_series[activereleases[0]]], stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True)
 except subprocess.CalledProcessError:
     sys.exit("Please run 'git fetch --tags' before building the documentation")
 
 # Try and figure out what we are
-tags = subprocess.run(["git", "tag", "--points-at", "HEAD"], capture_output=True, text=True).stdout
+tags = subprocess.run(["git", "tag", "--points-at", "HEAD"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).stdout
 for t in tags.split():
     if t.startswith("yocto-"):
         ourversion = t[6:]
@@ -122,7 +122,7 @@
                 bitbakeversion = bitbake_mapping[i]
 else:
     # We're floating on a branch
-    branch = subprocess.run(["git", "branch", "--show-current"], capture_output=True, text=True).stdout.strip()
+    branch = subprocess.run(["git", "branch", "--show-current"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).stdout.strip()
     ourbranch = branch
     if branch != "master" and branch not in release_series:
         # We're not on a known release branch so we have to guess. Compare the numbers of commits
@@ -130,7 +130,7 @@
         possible_branch = None
         branch_count = 0
         for b in itertools.chain(release_series.keys(), ["master"]):
-            result = subprocess.run(["git", "log", "--format=oneline",  "HEAD..origin/" + b], capture_output=True, text=True)
+            result = subprocess.run(["git", "log", "--format=oneline",  "HEAD..origin/" + b], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
             if result.returncode == 0:
                 count = result.stdout.count('\n')
                 if not possible_branch or count < branch_count:
@@ -153,9 +153,9 @@
     else:
         sys.exit("Unknown series for branch %s" % branch)
 
-    previoustags = subprocess.run(["git", "tag", "--merged", "HEAD"], capture_output=True, text=True).stdout
+    previoustags = subprocess.run(["git", "tag", "--merged", "HEAD"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).stdout
     previoustags = [t[6:] for t in previoustags.split() if t.startswith("yocto-" + release_series[ourseries])]
-    futuretags = subprocess.run(["git", "tag", "--merged", ourbranch], capture_output=True, text=True).stdout
+    futuretags = subprocess.run(["git", "tag", "--merged", ourbranch], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).stdout
     futuretags = [t[6:] for t in futuretags.split() if t.startswith("yocto-" + release_series[ourseries])]
 
     # Append .999 against the last known version
@@ -228,7 +228,7 @@
             for branch in activereleases + ([ourseries] if ourseries not in activereleases else []):
                 if branch == devbranch:
                     continue
-                branch_versions = subprocess.run('git tag --list yocto-%s*' % (release_series[branch]), shell=True, capture_output=True, text=True).stdout.split()
+                branch_versions = subprocess.run('git tag --list yocto-%s*' % (release_series[branch]), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).stdout.split()
                 branch_versions = sorted([v.replace("yocto-" +  release_series[branch] + ".", "").replace("yocto-" +  release_series[branch], "0") for v in branch_versions], key=int)
                 if not branch_versions:
                     continue
@@ -273,7 +273,7 @@
     v_maj, v_min, v_patch = v_semver.groups('0')
     return int("{:0>2}{:0>2}{:0>2}".format(v_maj, v_min, v_patch), 10)
 
-yocto_tags = subprocess.run(["git", "tag", "--list", "--sort=version:refname", "yocto-*"], capture_output=True, text=True).stdout
+yocto_tags = subprocess.run(["git", "tag", "--list", "--sort=version:refname", "yocto-*"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).stdout
 yocto_tags = sorted(yocto_tags.split() + missing_tags, key=tag_to_semver_like)
 tags = [tag[6:] for tag in yocto_tags]
 
diff --git a/poky/documentation/test-manual/index.rst b/poky/documentation/test-manual/index.rst
index 86a2f43..d365d33 100644
--- a/poky/documentation/test-manual/index.rst
+++ b/poky/documentation/test-manual/index.rst
@@ -12,6 +12,8 @@
 
    intro
    test-process
+   ptest
+   runtime-testing
    understand-autobuilder
    reproducible-builds
    yocto-project-compatible
diff --git a/poky/documentation/test-manual/intro.rst b/poky/documentation/test-manual/intro.rst
index 882ca16..1a8e938 100644
--- a/poky/documentation/test-manual/intro.rst
+++ b/poky/documentation/test-manual/intro.rst
@@ -130,7 +130,9 @@
       $ bitbake image -c testimage
 
    The tests use the :ref:`ref-classes-testimage`
-   class and the :ref:`ref-tasks-testimage` task.
+   class and the :ref:`ref-tasks-testimage` task. See the
+   :ref:`test-manual/runtime-testing:Performing Automated Runtime Testing`
+   section of the Yocto Project Test Environment Manual for more information.
 
 -  *Layer Testing:* The Autobuilder has the possibility to test whether
    specific layers work with the test of the system. The layers tested
@@ -140,7 +142,7 @@
 -  *Package Testing:* A Package Test (ptest) runs tests against packages
    built by the OpenEmbedded build system on the target machine. See the
    :ref:`Testing Packages With
-   ptest <dev-manual/packages:Testing Packages With ptest>` section
+   ptest <test-manual/ptest:Testing Packages With ptest>` section
    in the Yocto Project Development Tasks Manual and the
    ":yocto_wiki:`Ptest </Ptest>`" Wiki page for more
    information on Ptest.
diff --git a/poky/documentation/test-manual/ptest.rst b/poky/documentation/test-manual/ptest.rst
new file mode 100644
index 0000000..2c021af
--- /dev/null
+++ b/poky/documentation/test-manual/ptest.rst
@@ -0,0 +1,128 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+***************************
+Testing Packages With ptest
+***************************
+
+A Package Test (ptest) runs tests against packages built by the
+OpenEmbedded build system on the target machine. A ptest contains at
+least two items: the actual test, and a shell script (``run-ptest``)
+that starts the test. The shell script that starts the test must not
+contain the actual test --- the script only starts the test. On the other
+hand, the test can be anything from a simple shell script that runs a
+binary and checks the output to an elaborate system of test binaries and
+data files.
+
+The test generates output in the format used by Automake::
+
+   result: testname
+
+where the result can be ``PASS``, ``FAIL``, or ``SKIP``, and
+the testname can be any identifying string.
+
+For a list of Yocto Project recipes that are already enabled with ptest,
+see the :yocto_wiki:`Ptest </Ptest>` wiki page.
+
+.. note::
+
+   A recipe is "ptest-enabled" if it inherits the :ref:`ref-classes-ptest`
+   class.
+
+Adding ptest to Your Build
+==========================
+
+To add package testing to your build, add the :term:`DISTRO_FEATURES` and
+:term:`EXTRA_IMAGE_FEATURES` variables to your ``local.conf`` file, which
+is found in the :term:`Build Directory`::
+
+   DISTRO_FEATURES:append = " ptest"
+   EXTRA_IMAGE_FEATURES += "ptest-pkgs"
+
+Once your build is complete, the ptest files are installed into the
+``/usr/lib/package/ptest`` directory within the image, where ``package``
+is the name of the package.
+
+Running ptest
+=============
+
+The ``ptest-runner`` package installs a shell script that loops through
+all installed ptest test suites and runs them in sequence. Consequently,
+you might want to add this package to your image.
+
+Getting Your Package Ready
+==========================
+
+In order to enable a recipe to run installed ptests on target hardware,
+you need to prepare the recipes that build the packages you want to
+test. Here is what you have to do for each recipe:
+
+-  *Be sure the recipe inherits the* :ref:`ref-classes-ptest` *class:*
+   Include the following line in each recipe::
+
+      inherit ptest
+
+   .. note::
+
+      Classes for common frameworks already exist in :term:`OpenEmbedded-Core
+      (OE-Core)`, such as:
+
+      -  :oe_git:`go-ptest </openembedded-core/tree/meta/classes-recipe/go-ptest.bbclass>`
+      -  :ref:`ref-classes-ptest-cargo`
+      -  :ref:`ref-classes-ptest-gnome`
+      -  :oe_git:`ptest-perl </openembedded-core/tree/meta/classes-recipe/ptest-perl.bbclass>`
+      -  :oe_git:`ptest-python-pytest </openembedded-core/tree/meta/classes-recipe/ptest-python-pytest.bbclass>`
+
+      Inheriting these classes with the ``inherit`` keyword in your recipe will
+      make the next steps automatic.
+
+-  *Create run-ptest:* This script starts your test. Locate the
+   script where you will refer to it using
+   :term:`SRC_URI`. Here is an
+   example that starts a test for ``dbus``::
+
+      #!/bin/sh
+      cd test
+      make -k runtest-TESTS
+
+-  *Ensure dependencies are met:* If the test adds build or runtime
+   dependencies that normally do not exist for the package (such as
+   requiring "make" to run the test suite), use the
+   :term:`DEPENDS` and
+   :term:`RDEPENDS` variables in
+   your recipe in order for the package to meet the dependencies. Here
+   is an example where the package has a runtime dependency on "make"::
+
+      RDEPENDS:${PN}-ptest += "make"
+
+-  *Add a function to build the test suite:* Not many packages support
+   cross-compilation of their test suites. Consequently, you usually
+   need to add a cross-compilation function to the package.
+
+   Many packages based on Automake compile and run the test suite by
+   using a single command such as ``make check``. However, the host
+   ``make check`` builds and runs on the same computer, while
+   cross-compiling requires that the package is built on the host but
+   executed for the target architecture (though often, as in the case
+   for ptest, the execution occurs on the host). The built version of
+   Automake that ships with the Yocto Project includes a patch that
+   separates building and execution. Consequently, packages that use the
+   unaltered, patched version of ``make check`` automatically
+   cross-compiles.
+
+   Regardless, you still must add a ``do_compile_ptest`` function to
+   build the test suite. Add a function similar to the following to your
+   recipe::
+
+      do_compile_ptest() {
+          oe_runmake buildtest-TESTS
+      }
+
+-  *Ensure special configurations are set:* If the package requires
+   special configurations prior to compiling the test code, you must
+   insert a ``do_configure_ptest`` function into the recipe.
+
+-  *Install the test suite:* The :ref:`ref-classes-ptest` class
+   automatically copies the file ``run-ptest`` to the target and then runs make
+   ``install-ptest`` to run the tests. If this is not enough, you need
+   to create a ``do_install_ptest`` function and make sure it gets
+   called after the "make install-ptest" completes.
diff --git a/poky/documentation/test-manual/reproducible-builds.rst b/poky/documentation/test-manual/reproducible-builds.rst
index 91f94a5..aaf2e45 100644
--- a/poky/documentation/test-manual/reproducible-builds.rst
+++ b/poky/documentation/test-manual/reproducible-builds.rst
@@ -91,13 +91,21 @@
 
    oe-selftest -r reproducible.ReproducibleTests.test_reproducible_builds
 
-This defaults to including a ``world`` build so, if other layers are added, it would
-also run the tests for recipes in the additional layers. Different build targets
-can be defined using the :term:`OEQA_REPRODUCIBLE_TEST_TARGET` variable in ``local.conf``.
-The first build will be run using :ref:`Shared State <overview-manual/concepts:Shared State>` if
-available, the second build explicitly disables
-:ref:`Shared State <overview-manual/concepts:Shared State>` except for recipes defined in
-the :term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS` variable, and builds on the
+This defaults to including a ``world`` build so, if other layers are added, it
+would also run the tests for recipes in the additional layers. Different build
+targets can be defined using the :term:`OEQA_REPRODUCIBLE_TEST_TARGET` variable
+in ``local.conf``. For example, running reproducibility tests for only the
+``python3-numpy`` recipe can be done by setting::
+
+   OEQA_REPRODUCIBLE_TEST_TARGET = "python3-numpy"
+
+in local.conf before running the ``oe-selftest`` command shown above.
+
+Reproducibility builds the target list twice. The first build will be run using
+:ref:`Shared State <overview-manual/concepts:Shared State>` if available, the
+second build explicitly disables :ref:`Shared State
+<overview-manual/concepts:Shared State>` except for recipes defined in the
+:term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS` variable, and builds on the
 specific host the build is running on. This means we can test reproducibility
 builds between different host distributions over time on the Autobuilder.
 
@@ -111,12 +119,8 @@
 The project's current reproducibility status can be seen at
 :yocto_home:`/reproducible-build-results/`
 
-You can also check the reproducibility status on supported host distributions:
-
--  CentOS: :yocto_ab:`/typhoon/#/builders/reproducible-centos`
--  Debian: :yocto_ab:`/typhoon/#/builders/reproducible-debian`
--  Fedora: :yocto_ab:`/typhoon/#/builders/reproducible-fedora`
--  Ubuntu: :yocto_ab:`/typhoon/#/builders/reproducible-ubuntu`
+You can also check the reproducibility status on the Autobuilder:
+:yocto_ab:`/valkyrie/#/builders/reproducible`.
 
 ===============================
 Can I test my layer or recipes?
diff --git a/poky/documentation/dev-manual/runtime-testing.rst b/poky/documentation/test-manual/runtime-testing.rst
similarity index 98%
rename from poky/documentation/dev-manual/runtime-testing.rst
rename to poky/documentation/test-manual/runtime-testing.rst
index 7a2b42f..557e053 100644
--- a/poky/documentation/dev-manual/runtime-testing.rst
+++ b/poky/documentation/test-manual/runtime-testing.rst
@@ -1,5 +1,6 @@
 .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
 
+************************************
 Performing Automated Runtime Testing
 ************************************
 
@@ -153,7 +154,7 @@
 
    If you choose "SystemdbootTarget", there are additional requirements
    and considerations. See the
-   ":ref:`dev-manual/runtime-testing:selecting systemdboottarget`" section, which
+   ":ref:`test-manual/runtime-testing:selecting systemdboottarget`" section, which
    follows, for more information.
 
 -  *"BeagleBoneTarget":* Choose "BeagleBoneTarget" if you are deploying
@@ -179,7 +180,7 @@
 
 If you did not set :term:`TEST_TARGET` to "SystemdbootTarget", then you do
 not need any information in this section. You can skip down to the
-":ref:`dev-manual/runtime-testing:running tests`" section.
+":ref:`test-manual/runtime-testing:running tests`" section.
 
 If you did set :term:`TEST_TARGET` to "SystemdbootTarget", you also need to
 perform a one-time setup of your controller image by doing the following:
diff --git a/poky/documentation/test-manual/test-process.rst b/poky/documentation/test-manual/test-process.rst
index 7bec5ba..945b568 100644
--- a/poky/documentation/test-manual/test-process.rst
+++ b/poky/documentation/test-manual/test-process.rst
@@ -20,7 +20,7 @@
 We have two broad categories of test builds, including "full" and
 "quick". On the Autobuilder, these can be seen as "a-quick" and
 "a-full", simply for ease of sorting in the UI. Use our Autobuilder
-:yocto_ab:`console view </typhoon/#/console>` to see where we manage most
+:yocto_ab:`console view </valkyrie/#/console>` to see where we manage most
 test-related items.
 
 Builds are triggered manually when the test branches are ready. The
diff --git a/poky/documentation/test-manual/understand-autobuilder.rst b/poky/documentation/test-manual/understand-autobuilder.rst
index 6b4fab4..7f4d1be 100644
--- a/poky/documentation/test-manual/understand-autobuilder.rst
+++ b/poky/documentation/test-manual/understand-autobuilder.rst
@@ -10,7 +10,7 @@
 The "a-full" and "a-quick" targets are the usual entry points into the
 Autobuilder and it makes sense to follow the process through the system
 starting there. This is best visualized from the :yocto_ab:`Autobuilder
-Console view </typhoon/#/console>`.
+Console view </valkyrie/#/console>`.
 
 Each item along the top of that view represents some "target build" and
 these targets are all run in parallel. The 'full' build will trigger the
diff --git a/poky/meta-selftest/conf/fragments/test-fragment.conf b/poky/meta-selftest/conf/fragments/test-fragment.conf
index 4c1d240..82dd353 100644
--- a/poky/meta-selftest/conf/fragments/test-fragment.conf
+++ b/poky/meta-selftest/conf/fragments/test-fragment.conf
@@ -1,3 +1,5 @@
 BB_CONF_FRAGMENT_SUMMARY = "This is a configuration fragment intended for testing in oe-selftest context"
 BB_CONF_FRAGMENT_DESCRIPTION = "It defines a variable that can be checked inside the test."
+
 SELFTEST_FRAGMENT_VARIABLE = "somevalue"
+require conf/multilib.conf
diff --git a/poky/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb b/poky/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb
index 2ce85fe..819f654 100644
--- a/poky/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb
+++ b/poky/meta-selftest/recipes-extended/sysdig/sysdig-selftest_0.28.0.bb
@@ -28,7 +28,7 @@
            file://0099-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \
            "
 SRCREV_sysdig = "4fb6288275f567f63515df0ff0a6518043ecfa9b"
-SRCREV_falco= "caa0e4d0044fdaaebab086592a97f0c7f32aeaa9"
+SRCREV_falco = "caa0e4d0044fdaaebab086592a97f0c7f32aeaa9"
 
 SRCREV_FORMAT = "sysdig_falco"
 
diff --git a/poky/meta-selftest/recipes-test/bbclasses/systemd-and-sysvinit.bb b/poky/meta-selftest/recipes-test/bbclasses/systemd-and-sysvinit.bb
index f9fc59a..94f9a7a 100644
--- a/poky/meta-selftest/recipes-test/bbclasses/systemd-and-sysvinit.bb
+++ b/poky/meta-selftest/recipes-test/bbclasses/systemd-and-sysvinit.bb
@@ -14,4 +14,4 @@
 
 SYSTEMD_SERVICE:${PN} = "${BPN}.service"
 
-EXCLUDE_FROM_WORLD="1"
+EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta-selftest/recipes-test/bbclasses/systemd-only.bb b/poky/meta-selftest/recipes-test/bbclasses/systemd-only.bb
index 590a27b..6968247 100644
--- a/poky/meta-selftest/recipes-test/bbclasses/systemd-only.bb
+++ b/poky/meta-selftest/recipes-test/bbclasses/systemd-only.bb
@@ -9,4 +9,4 @@
 
 SYSTEMD_SERVICE:${PN} = "${BPN}.service"
 
-EXCLUDE_FROM_WORLD="1"
+EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb b/poky/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb
index f1b6c55..c480679 100644
--- a/poky/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb
+++ b/poky/meta-selftest/recipes-test/gitrepotest/gitrepotest.bb
@@ -5,7 +5,7 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-PATCHTOOL="git"
+PATCHTOOL = "git"
 
 SRC_URI = "git://git.yoctoproject.org/git/matchbox-panel-2;branch=master;protocol=https \
            file://0001-testpatch.patch \
diff --git a/poky/meta-selftest/recipes-test/poison/poison.bb b/poky/meta-selftest/recipes-test/poison/poison.bb
index e9eee0c..771113a 100644
--- a/poky/meta-selftest/recipes-test/poison/poison.bb
+++ b/poky/meta-selftest/recipes-test/poison/poison.bb
@@ -8,13 +8,25 @@
 # This test confirms that compiling code that searches /usr/include for headers
 # will result in compiler errors.  This recipe should will fail to build and
 # oe-selftest has a test that verifies that.
-do_compile() {
-    bbnote Testing preprocessor
-    echo "int main(int argc, char** argv) {}" | ${CPP} -I/usr/include -
-    bbnote Testing C compiler
-    echo "int main(int argc, char** argv) {}" | ${CC} -x c -I/usr/include -
-    bbnote Testing C++ compiler
-    echo "int main(int argc, char** argv) {}" | ${CC} -x c++ -I/usr/include -
+python do_compile() {
+    import subprocess
+
+    tests = {
+        "Preprocessor": "${CPP} -I/usr/include -",
+        "C Compiler": "${CC} -I/usr/include -x c -",
+        "C++ Compiler": "${CXX} -I/usr/include -x c++ -",
+    }
+
+    for name, cmd in tests.items():
+        cmd = d.expand(cmd)
+        bb.note("Test command: " + cmd)
+        testcode = "int main(int argc, char** argv) {}"
+        proc = subprocess.run(cmd, shell=True, input=testcode, capture_output=True, text=True)
+
+        if proc.returncode != 0 and "is unsafe for cross-compilation" in proc.stderr:
+            bb.note(f"{name} passed: {proc.stderr}")
+        else:
+            bb.error(f"{name} is not poisoned. Exit status {proc.returncode}, output: {proc.stdout} {proc.stderr}")
 }
 
 EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta-selftest/recipes-test/selftest-users/acreategroup.bb b/poky/meta-selftest/recipes-test/selftest-users/acreategroup.bb
index 7805182..a970c41 100644
--- a/poky/meta-selftest/recipes-test/selftest-users/acreategroup.bb
+++ b/poky/meta-selftest/recipes-test/selftest-users/acreategroup.bb
@@ -6,7 +6,7 @@
 S = "${WORKDIR}/sources"
 UNPACKDIR = "${S}"
 
-EXCLUDE_FROM_WORLD="1"
+EXCLUDE_FROM_WORLD = "1"
 
 inherit useradd allarch
 
diff --git a/poky/meta-selftest/recipes-test/selftest-users/bcreategroup.bb b/poky/meta-selftest/recipes-test/selftest-users/bcreategroup.bb
index b15c07d..08106da 100644
--- a/poky/meta-selftest/recipes-test/selftest-users/bcreategroup.bb
+++ b/poky/meta-selftest/recipes-test/selftest-users/bcreategroup.bb
@@ -10,7 +10,7 @@
 S = "${WORKDIR}/sources"
 UNPACKDIR = "${S}"
 
-EXCLUDE_FROM_WORLD="1"
+EXCLUDE_FROM_WORLD = "1"
 
 inherit useradd allarch
 
diff --git a/poky/meta-selftest/recipes-test/selftest-users/ccreategroup.bb b/poky/meta-selftest/recipes-test/selftest-users/ccreategroup.bb
index ff2da1c..c82ced8 100644
--- a/poky/meta-selftest/recipes-test/selftest-users/ccreategroup.bb
+++ b/poky/meta-selftest/recipes-test/selftest-users/ccreategroup.bb
@@ -8,7 +8,7 @@
 S = "${WORKDIR}/sources"
 UNPACKDIR = "${S}"
 
-EXCLUDE_FROM_WORLD="1"
+EXCLUDE_FROM_WORLD = "1"
 
 inherit useradd allarch
 
diff --git a/poky/meta-selftest/recipes-test/selftest-users/dcreategroup.bb b/poky/meta-selftest/recipes-test/selftest-users/dcreategroup.bb
index ab0a529..0030e81 100644
--- a/poky/meta-selftest/recipes-test/selftest-users/dcreategroup.bb
+++ b/poky/meta-selftest/recipes-test/selftest-users/dcreategroup.bb
@@ -8,7 +8,7 @@
 S = "${WORKDIR}/sources"
 UNPACKDIR = "${S}"
 
-EXCLUDE_FROM_WORLD="1"
+EXCLUDE_FROM_WORLD = "1"
 
 inherit useradd allarch
 
diff --git a/poky/meta-skeleton/conf/multilib-example.conf b/poky/meta-skeleton/conf/multilib-example.conf
index 07fd7b6..cddbfc1 100644
--- a/poky/meta-skeleton/conf/multilib-example.conf
+++ b/poky/meta-skeleton/conf/multilib-example.conf
@@ -3,11 +3,12 @@
 # or specific in an configuration file like this, then require it.
 #
 # This configuration specifies an x86 64 bit machine as the main machine
-# type and then adds a multilib in the "lib32" directory where those
-# libraries are compiled with the "x86" tune.
+# type and then adds a multilib in the explicitly overwritten "lib32" directory
+# where those libraries are compiled with the "x86" tune.
 #
 
 MACHINE = "qemux86-64"
 require conf/multilib.conf
 MULTILIBS = "multilib:lib32"
 DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
+BASELIB:virtclass-multilib-lib32 = "lib32"
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index 459c83f..db9cfec 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -20,7 +20,7 @@
 SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "6.6%"
+PREFERRED_VERSION_linux-yocto ?= "6.12%"
 
 KERNEL_IMAGETYPE = "zImage"
 DTB_FILES = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
diff --git a/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc b/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
index 50a233d..943604c 100644
--- a/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
+++ b/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
@@ -2,7 +2,7 @@
 require conf/machine/include/x86/qemuboot-x86.inc
 MACHINE_FEATURES += "wifi efi pcbios"
 
-PREFERRED_VERSION_linux-yocto ?= "6.6%"
+PREFERRED_VERSION_linux-yocto ?= "6.12%"
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
 XSERVER ?= "${XSERVER_X86_BASE} \
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.12.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.12.bbappend
index 97e512f..1ffd219 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.12.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_6.12.bbappend
@@ -1,4 +1,9 @@
 COMPATIBLE_MACHINE:genericarm64 = "genericarm64"
+COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
+COMPATIBLE_MACHINE:genericx86 = "genericx86"
+COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
 
-# Incorporate fixes post 6.12.3
-SRCREV_meta:genericarm64 = "9ee4baec963b10d213c060622fce6d2b34166f40"
+KMACHINE:beaglebone-yocto ?= "beaglebone"
+KMACHINE:genericx86 ?= "common-pc"
+KMACHINE:genericx86-64 ?= "common-pc-64"
+
diff --git a/poky/meta/classes-global/base.bbclass b/poky/meta/classes-global/base.bbclass
index 101ecdc..988bdbc 100644
--- a/poky/meta/classes-global/base.bbclass
+++ b/poky/meta/classes-global/base.bbclass
@@ -48,13 +48,13 @@
         return ""
     return "${BASE_DEFAULT_DEPS}"
 
-BASE_DEFAULT_DEPS = "virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}compilerlibs virtual/libc"
+BASE_DEFAULT_DEPS = "virtual/cross-cc virtual/compilerlibs virtual/libc"
 
 BASEDEPENDS = ""
 BASEDEPENDS:class-target = "${@get_base_dep(d)}"
 BASEDEPENDS:class-nativesdk = "${@get_base_dep(d)}"
 
-DEPENDS:prepend="${BASEDEPENDS} "
+DEPENDS:prepend = "${BASEDEPENDS} "
 
 FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"
 # THISDIR only works properly with imediate expansion as it has to run
@@ -312,16 +312,6 @@
         if statusheader:
             bb.plain('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines)))
 
-    # This code is to silence warnings where the SDK variables overwrite the 
-    # target ones and we'd see duplicate key names overwriting each other
-    # for various PREFERRED_PROVIDERS
-    if isinstance(e, bb.event.RecipePreFinalise):
-        if d.getVar("TARGET_PREFIX") == d.getVar("SDK_PREFIX"):
-            d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils")
-            d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc")
-            d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++")
-            d.delVar("PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs")
-
     if isinstance(e, bb.event.RecipeParsed):
         #
         # If we have multiple providers of virtual/X and a PREFERRED_PROVIDER_virtual/X is set
@@ -330,7 +320,7 @@
         # particular.
         #
         pn = d.getVar('PN')
-        source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
+        source_mirror_fetch = bb.utils.to_boolean(d.getVar('SOURCE_MIRROR_FETCH', False))
         if not source_mirror_fetch:
             provs = (d.getVar("PROVIDES") or "").split()
             multiprovidersallowed = (d.getVar("BB_MULTI_PROVIDER_ALLOWED") or "").split()
@@ -553,7 +543,7 @@
         d.appendVarFlag('do_devshell', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
 
     need_machine = d.getVar('COMPATIBLE_MACHINE')
-    if need_machine and not d.getVar('PARSE_ALL_RECIPES', False):
+    if need_machine and not bb.utils.to_boolean(d.getVar('PARSE_ALL_RECIPES', False)):
         import re
         compat_machines = (d.getVar('MACHINEOVERRIDES') or "").split(":")
         for m in compat_machines:
@@ -562,7 +552,8 @@
         else:
             raise bb.parse.SkipRecipe("incompatible with machine %s (not in COMPATIBLE_MACHINE)" % d.getVar('MACHINE'))
 
-    source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False) or d.getVar('PARSE_ALL_RECIPES', False)
+    source_mirror_fetch = bb.utils.to_boolean(d.getVar('SOURCE_MIRROR_FETCH', False)) or \
+            bb.utils.to_boolean(d.getVar('PARSE_ALL_RECIPES', False))
     if not source_mirror_fetch:
         need_host = d.getVar('COMPATIBLE_HOST')
         if need_host:
diff --git a/poky/meta/classes-global/logging.bbclass b/poky/meta/classes-global/logging.bbclass
index ce03abf..136f1e1 100644
--- a/poky/meta/classes-global/logging.bbclass
+++ b/poky/meta/classes-global/logging.bbclass
@@ -32,6 +32,16 @@
 	fi
 }
 
+# Notify the user of a noteworthy condition.
+# Output: logs console
+bbverbnote() {
+        if [ -p ${LOGFIFO} ]; then
+                printf "%b\0" "bbverbnote $*" > ${LOGFIFO}
+        else
+            echo "NOTE: $*"
+        fi
+}
+
 # Print a warning to the log. Warnings are non-fatal, and do not
 # indicate a build failure.
 # Output: logs console
diff --git a/poky/meta/classes-global/package_rpm.bbclass b/poky/meta/classes-global/package_rpm.bbclass
index 3579d0d..f383ed1 100644
--- a/poky/meta/classes-global/package_rpm.bbclass
+++ b/poky/meta/classes-global/package_rpm.bbclass
@@ -699,7 +699,7 @@
     cmd = cmd + " --define '_smp_ncpus_max 4'"
     cmd = cmd + " --define '_source_payload %s'" % rpmbuild_compmode
     cmd = cmd + " --define '_binary_payload %s'" % rpmbuild_compmode
-    cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'"
+    cmd = cmd + " --define 'build_mtime_policy clamp_to_source_date_epoch'"
     cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'"
     cmd = cmd + " --define '_buildhost reproducible'"
     cmd = cmd + " --define '__font_provides %{nil}'"
diff --git a/poky/meta/classes-global/sanity.bbclass b/poky/meta/classes-global/sanity.bbclass
index a0b2508..66693fc 100644
--- a/poky/meta/classes-global/sanity.bbclass
+++ b/poky/meta/classes-global/sanity.bbclass
@@ -602,6 +602,28 @@
                 bb.utils.remove(stamp + "*")
                 bb.utils.remove(workdir, recurse = True)
 
+def check_cpp_toolchain(d):
+    """
+    it checks if the c++ compiling and linking to libstdc++ works properly in the native system
+    """
+    import shlex
+    import subprocess
+
+    cpp_code = """
+    #include <iostream>
+    int main() {
+        std::cout << "Hello, World!" << std::endl;
+        return 0;
+    }
+    """
+
+    cmd = shlex.split(d.getVar("BUILD_CXX")) + ["-x", "c++","-", "-o", "/dev/null", "-lstdc++"]
+    try:
+        subprocess.run(cmd, input=cpp_code, capture_output=True, text=True, check=True)
+        return None
+    except subprocess.CalledProcessError as e:
+        return f"An unexpected issue occurred during the C++ toolchain check: {str(e)}"
+
 def sanity_handle_abichanges(status, d):
     #
     # Check the 'ABI' of TMPDIR
@@ -760,8 +782,8 @@
     if not oes_bb_conf:
         status.addresult('You are not using the OpenEmbedded version of conf/bitbake.conf. This means your environment is misconfigured, in particular check BBPATH.\n')
 
-    # The length of TMPDIR can't be longer than 410
-    status.addresult(check_path_length(tmpdir, "TMPDIR", 410))
+    # The length of TMPDIR can't be longer than 400
+    status.addresult(check_path_length(tmpdir, "TMPDIR", 400))
 
     # Check that TMPDIR isn't located on nfs
     status.addresult(check_not_nfs(tmpdir, "TMPDIR"))
@@ -770,6 +792,9 @@
     # macOS with default HFS+ file system)
     status.addresult(check_case_sensitive(tmpdir, "TMPDIR"))
 
+    # Check if linking with lstdc++ is failing
+    status.addresult(check_cpp_toolchain(d))
+
 def sanity_check_locale(d):
     """
     Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists.
diff --git a/poky/meta/classes-global/sstate.bbclass b/poky/meta/classes-global/sstate.bbclass
index decfb5a..2c259a6 100644
--- a/poky/meta/classes-global/sstate.bbclass
+++ b/poky/meta/classes-global/sstate.bbclass
@@ -646,6 +646,7 @@
     d.setVar("SSTATE_CURRTASK", ss['task'])
     bb.utils.remove(sstatebuild, recurse=True)
     bb.utils.mkdirhier(sstatebuild)
+    exit = False
     for state in ss['dirs']:
         if not os.path.exists(state[1]):
             continue
@@ -664,8 +665,11 @@
                 if not link.startswith(tmpdir):
                     continue
                 bb.error("sstate found an absolute path symlink %s pointing at %s. Please replace this with a relative link." % (srcpath, link))
+                exit = True
         bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0]))
         bb.utils.rename(state[1], sstatebuild + state[0])
+    if exit:
+        bb.fatal("Failing task due to absolute path symlinks")
 
     workdir = d.getVar('WORKDIR')
     sharedworkdir = os.path.join(d.getVar('TMPDIR'), "work-shared")
diff --git a/poky/meta/classes-global/staging.bbclass b/poky/meta/classes-global/staging.bbclass
index c2213ff..1008867 100644
--- a/poky/meta/classes-global/staging.bbclass
+++ b/poky/meta/classes-global/staging.bbclass
@@ -126,8 +126,8 @@
 do_populate_sysroot[vardepsexclude] += "BB_MULTI_PROVIDER_ALLOWED"
 
 POPULATESYSROOTDEPS = ""
-POPULATESYSROOTDEPS:class-target = "virtual/${HOST_PREFIX}binutils:do_populate_sysroot"
-POPULATESYSROOTDEPS:class-nativesdk = "virtual/${HOST_PREFIX}binutils:do_populate_sysroot"
+POPULATESYSROOTDEPS:class-target = "virtual/cross-binutils:do_populate_sysroot"
+POPULATESYSROOTDEPS:class-nativesdk = "virtual/nativesdk-cross-binutils:do_populate_sysroot"
 do_populate_sysroot[depends] += "${POPULATESYSROOTDEPS}"
 
 SSTATETASKS += "do_populate_sysroot"
diff --git a/poky/meta/classes-global/utils.bbclass b/poky/meta/classes-global/utils.bbclass
index c9cae89..530a490 100644
--- a/poky/meta/classes-global/utils.bbclass
+++ b/poky/meta/classes-global/utils.bbclass
@@ -367,3 +367,13 @@
 		git config --local user.name "${PATCH_GIT_USER_NAME}"
 	fi
 }
+
+# Sets fixed git committer and author for reproducible commits
+reproducible_git_committer_author() {
+	export GIT_COMMITTER_NAME="${PATCH_GIT_USER_NAME}"
+	export GIT_COMMITTER_EMAIL="${PATCH_GIT_USER_EMAIL}"
+	export GIT_COMMITTER_DATE="$(date -d @${SOURCE_DATE_EPOCH})"
+	export GIT_AUTHOR_NAME="${PATCH_GIT_USER_NAME}"
+	export GIT_AUTHOR_EMAIL="${PATCH_GIT_USER_EMAIL}"
+	export GIT_AUTHOR_DATE="$(date -d @${SOURCE_DATE_EPOCH})"
+}
diff --git a/poky/meta/classes-recipe/autotools.bbclass b/poky/meta/classes-recipe/autotools.bbclass
index 9ebdca4..e33eae7 100644
--- a/poky/meta/classes-recipe/autotools.bbclass
+++ b/poky/meta/classes-recipe/autotools.bbclass
@@ -52,7 +52,7 @@
 export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
 
 export CXX_FOR_BUILD = "${BUILD_CXX}"
-export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
+export CXXFLAGS_FOR_BUILD = "${BUILD_CXXFLAGS}"
 
 export LD_FOR_BUILD = "${BUILD_LD}"
 export LDFLAGS_FOR_BUILD = "${BUILD_LDFLAGS}"
@@ -134,17 +134,11 @@
 
 EXTRA_OECONF:append = " ${PACKAGECONFIG_CONFARGS}"
 
-do_configure[prefuncs] += "autotools_preconfigure autotools_aclocals ${EXTRACONFFUNCS}"
-do_compile[prefuncs] += "autotools_aclocals"
-do_install[prefuncs] += "autotools_aclocals"
+do_configure[prefuncs] += "autotools_preconfigure autotools_sitefiles ${EXTRACONFFUNCS}"
 do_configure[postfuncs] += "autotools_postconfigure"
 
-ACLOCALDIR = "${STAGING_DATADIR}/aclocal"
-ACLOCALEXTRAPATH = ""
-ACLOCALEXTRAPATH:class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
-ACLOCALEXTRAPATH:class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
-
-python autotools_aclocals () {
+# Tell autoconf to load the site defaults from siteinfo
+python autotools_sitefiles () {
     sitefiles, searched = siteinfo_get_files(d, sysrootcache=True)
     d.setVar("CONFIG_SITE", " ".join(sitefiles))
 }
@@ -171,8 +165,8 @@
 	if [ -e ${AUTOTOOLS_SCRIPT_PATH}/configure.in -o -e ${AUTOTOOLS_SCRIPT_PATH}/configure.ac ]; then
 		olddir=`pwd`
 		cd ${AUTOTOOLS_SCRIPT_PATH}
-		mkdir -p ${ACLOCALDIR}
-		ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
+		# aclocal looks in the native sysroot by default, so tell it to also look in the target sysroot.
+		ACLOCAL="aclocal --aclocal-path=${STAGING_DATADIR}/aclocal/"
 		if [ x"${acpaths}" = xdefault ]; then
 			acpaths=
 			for i in `find ${AUTOTOOLS_SCRIPT_PATH} -ignore_readdir_race -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
@@ -182,17 +176,11 @@
 		else
 			acpaths="${acpaths}"
 		fi
-		acpaths="$acpaths ${ACLOCALEXTRAPATH}"
-		AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]\+$//};q'`
-		automake --version
-		echo "AUTOV is $AUTOV"
-		if [ -d ${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV ]; then
-			ACLOCAL="$ACLOCAL --automake-acdir=${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV"
-		fi
 		# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
 		# like it was auto-generated.  Work around this by blowing it away
 		# by hand, unless the package specifically asked not to run aclocal.
 		if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then
+			bbnote Removing existing aclocal.m4
 			rm -f aclocal.m4
 		fi
 		if [ -e configure.in ]; then
@@ -212,8 +200,8 @@
 			cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
 			if [ -d ${S}/po/ ]; then
 				cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
-				if [ ! -e ${S}/po/remove-potcdate.sin ]; then
-					cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
+				if [ ! -e ${S}/po/remove-potcdate.sed ]; then
+					cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${S}/po/
 				fi
 			fi
 			PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4"
diff --git a/poky/meta/classes-recipe/cargo.bbclass b/poky/meta/classes-recipe/cargo.bbclass
index b583f84..76a3966 100644
--- a/poky/meta/classes-recipe/cargo.bbclass
+++ b/poky/meta/classes-recipe/cargo.bbclass
@@ -42,7 +42,7 @@
 # This is based on the content of CARGO_BUILD_FLAGS and generally will need to
 # change if CARGO_BUILD_FLAGS changes.
 BUILD_DIR = "${@['release', 'debug'][d.getVar('DEBUG_BUILD') == '1']}"
-CARGO_TARGET_SUBDIR="${RUST_HOST_SYS}/${BUILD_DIR}"
+CARGO_TARGET_SUBDIR = "${RUST_HOST_SYS}/${BUILD_DIR}"
 oe_cargo_build () {
 	export RUSTFLAGS="${RUSTFLAGS}"
 	bbnote "Using rust targets from ${RUST_TARGET_PATH}"
diff --git a/poky/meta/classes-recipe/features_check.bbclass b/poky/meta/classes-recipe/features_check.bbclass
index 163a7bc..4e122ec 100644
--- a/poky/meta/classes-recipe/features_check.bbclass
+++ b/poky/meta/classes-recipe/features_check.bbclass
@@ -16,7 +16,7 @@
 
 
 python () {
-    if d.getVar('PARSE_ALL_RECIPES', False):
+    if bb.utils.to_boolean(d.getVar('PARSE_ALL_RECIPES', False)):
         return
 
     unused = True
diff --git a/poky/meta/classes-recipe/go.bbclass b/poky/meta/classes-recipe/go.bbclass
index 9146dd6..e3e4782 100644
--- a/poky/meta/classes-recipe/go.bbclass
+++ b/poky/meta/classes-recipe/go.bbclass
@@ -20,8 +20,8 @@
 
 export GOARCH = "${TARGET_GOARCH}"
 export GOOS = "${TARGET_GOOS}"
-export GOHOSTARCH="${BUILD_GOARCH}"
-export GOHOSTOS="${BUILD_GOOS}"
+export GOHOSTARCH = "${BUILD_GOARCH}"
+export GOHOSTOS = "${BUILD_GOOS}"
 
 GOARM[export] = "0"
 GOARM:arm:class-target = "${TARGET_GOARM}"
diff --git a/poky/meta/classes-recipe/grub-efi-cfg.bbclass b/poky/meta/classes-recipe/grub-efi-cfg.bbclass
index 52e85a3..9a5cb99 100644
--- a/poky/meta/classes-recipe/grub-efi-cfg.bbclass
+++ b/poky/meta/classes-recipe/grub-efi-cfg.bbclass
@@ -23,6 +23,7 @@
 GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
 
 GRUB_ROOT ?= "${ROOT}"
+GRUB_TITLE ?= ""
 APPEND ?= ""
 
 # Uses MACHINE specific KERNEL_IMAGETYPE
@@ -91,10 +92,15 @@
         if not overrides:
             bb.fatal('OVERRIDES not defined')
 
+        localdata.need_overrides()
         localdata.setVar('OVERRIDES', 'grub_' + label + ':' + overrides)
 
         for btype in btypes:
-            cfgfile.write('\nmenuentry \'%s%s\'{\n' % (label, btype[0]))
+            title = localdata.getVar('GRUB_TITLE')
+            if not title or len(title) == 0:
+                title = label
+
+            cfgfile.write('\nmenuentry \'%s%s\'{\n' % (title, btype[0]))
             lb = label
             if label == "install":
                 lb = "install-efi"
diff --git a/poky/meta/classes-recipe/gtk-icon-cache.bbclass b/poky/meta/classes-recipe/gtk-icon-cache.bbclass
index 9ecb499..fad8c4c 100644
--- a/poky/meta/classes-recipe/gtk-icon-cache.bbclass
+++ b/poky/meta/classes-recipe/gtk-icon-cache.bbclass
@@ -16,7 +16,7 @@
 inherit features_check
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-DEPENDS +=" ${@ '' if d.getVar('BPN') == 'hicolor-icon-theme' else 'hicolor-icon-theme' } \
+DEPENDS += "${@ '' if d.getVar('BPN') == 'hicolor-icon-theme' else 'hicolor-icon-theme' } \
             ${@ '' if d.getVar('BPN') == 'gdk-pixbuf' else 'gdk-pixbuf' } \
             ${@ '' if d.getVar('BPN') == d.getVar('GTKPN') else d.getVar('GTKPN') } \
             ${GTKPN}-native \
diff --git a/poky/meta/classes-recipe/image.bbclass b/poky/meta/classes-recipe/image.bbclass
index eda3c6d..f08818d 100644
--- a/poky/meta/classes-recipe/image.bbclass
+++ b/poky/meta/classes-recipe/image.bbclass
@@ -681,37 +681,11 @@
 deltask do_package_write_deb
 deltask do_package_write_rpm
 
-# Prepare the root links to point to the /usr counterparts.
-create_merged_usr_symlinks() {
-    root="$1"
-    install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir}
-    ln -rs $root${base_bindir} $root/bin
-    ln -rs $root${base_sbindir} $root/sbin
-    ln -rs $root${base_libdir} $root/${baselib}
-
-    if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then
-       install -d $root${nonarch_base_libdir}
-       ln -rs $root${nonarch_base_libdir} $root/lib
-    fi
-
-    # create base links for multilibs
-    multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}"
-    for d in $multi_libdirs; do
-        install -d $root${exec_prefix}/$d
-        ln -rs $root${exec_prefix}/$d $root/$d
-    done
-}
-
 create_merged_usr_symlinks_rootfs() {
     create_merged_usr_symlinks ${IMAGE_ROOTFS}
 }
 
-create_merged_usr_symlinks_sdk() {
-    create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT}
-}
-
 ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs', '',d)}"
-POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk', '',d)}"
 
 reproducible_final_image_task () {
     if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
@@ -728,6 +702,7 @@
 systemd_preset_all () {
     if [ -e ${IMAGE_ROOTFS}${root_prefix}/lib/systemd/systemd ]; then
 	systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
+	systemctl --root="${IMAGE_ROOTFS}" --global --preset-mode=enable-only preset-all
     fi
 }
 
diff --git a/poky/meta/classes-recipe/image_types_wic.bbclass b/poky/meta/classes-recipe/image_types_wic.bbclass
index 9a29966..1b422b6 100644
--- a/poky/meta/classes-recipe/image_types_wic.bbclass
+++ b/poky/meta/classes-recipe/image_types_wic.bbclass
@@ -111,7 +111,7 @@
 WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
 WKS_FILE_DEPENDS_DEFAULT += "bmaptool-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native erofs-utils-native"
 # Unified kernel images need objcopy
-WKS_FILE_DEPENDS_DEFAULT += "virtual/${TARGET_PREFIX}binutils"
+WKS_FILE_DEPENDS_DEFAULT += "virtual/cross-binutils"
 WKS_FILE_DEPENDS_BOOTLOADERS = ""
 WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release"
 WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux systemd-boot os-release"
diff --git a/poky/meta/classes-recipe/kernel-fitimage.bbclass b/poky/meta/classes-recipe/kernel-fitimage.bbclass
index 67c98ad..fe076ba 100644
--- a/poky/meta/classes-recipe/kernel-fitimage.bbclass
+++ b/poky/meta/classes-recipe/kernel-fitimage.bbclass
@@ -5,6 +5,7 @@
 #
 
 inherit kernel-uboot kernel-artifact-names uboot-config
+require conf/image-fitimage.conf
 
 def get_fit_replacement_type(d):
     kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
@@ -52,58 +53,6 @@
         d.setVar('EXTERNAL_KERNEL_DEVICETREE', "${RECIPE_SYSROOT}/boot/devicetree")
 }
 
-
-# Description string
-FIT_DESC ?= "Kernel fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}"
-
-# Kernel fitImage Hash Algo
-FIT_HASH_ALG ?= "sha256"
-
-# Kernel fitImage Signature Algo
-FIT_SIGN_ALG ?= "rsa2048"
-
-# Kernel / U-Boot fitImage Padding Algo
-FIT_PAD_ALG ?= "pkcs-1.5"
-
-# Generate keys for signing Kernel fitImage
-FIT_GENERATE_KEYS ?= "0"
-
-# Size of private keys in number of bits
-FIT_SIGN_NUMBITS ?= "2048"
-
-# args to openssl genrsa (Default is just the public exponent)
-FIT_KEY_GENRSA_ARGS ?= "-F4"
-
-# args to openssl req (Default is -batch for non interactive mode and
-# -new for new certificate)
-FIT_KEY_REQ_ARGS ?= "-batch -new"
-
-# Standard format for public key certificate
-FIT_KEY_SIGN_PKCS ?= "-x509"
-
-# Sign individual images as well
-FIT_SIGN_INDIVIDUAL ?= "0"
-
-FIT_CONF_PREFIX ?= "conf-"
-FIT_CONF_PREFIX[doc] = "Prefix to use for FIT configuration node name"
-
-FIT_SUPPORTED_INITRAMFS_FSTYPES ?= "cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst cpio.gz ext2.gz cpio"
-
-# Allow user to select the default DTB for FIT image when multiple dtb's exists.
-FIT_CONF_DEFAULT_DTB ?= ""
-
-# length of address in number of <u32> cells
-# ex: 1 32bits address, 2 64bits address
-FIT_ADDRESS_CELLS ?= "1"
-
-# Keys used to sign individually image nodes.
-# The keys to sign image nodes must be different from those used to sign
-# configuration nodes, otherwise the "required" property, from
-# UBOOT_DTB_BINARY, will be set to "conf", because "conf" prevails on "image".
-# Then the images signature checking will not be mandatory and no error will be
-# raised in case of failure.
-# UBOOT_SIGN_IMG_KEYNAME = "dev2" # keys name in keydir (eg. "dev2.crt", "dev2.key")
-
 #
 # Emit the fitImage ITS header
 #
diff --git a/poky/meta/classes-recipe/kernel-yocto.bbclass b/poky/meta/classes-recipe/kernel-yocto.bbclass
index a5d89dc..cef6b9e 100644
--- a/poky/meta/classes-recipe/kernel-yocto.bbclass
+++ b/poky/meta/classes-recipe/kernel-yocto.bbclass
@@ -62,8 +62,8 @@
 
     return sources_list
 
-# check the SRC_URI for "kmeta" type'd git repositories. Return the name of
-# the repository as it will be found in UNPACKDIR
+# check the SRC_URI for "kmeta" type'd git repositories and directories. Return
+# the name of the repository or directory as it will be found in UNPACKDIR
 def find_kernel_feature_dirs(d):
     feature_dirs=[]
     fetch = bb.fetch2.Fetch([], d)
@@ -71,13 +71,16 @@
         urldata = fetch.ud[url]
         parm = urldata.parm
         type=""
+        destdir = ""
         if "type" in parm:
             type = parm["type"]
         if "destsuffix" in parm:
             destdir = parm["destsuffix"]
-            if type == "kmeta":
-                feature_dirs.append(destdir)
-	    
+        elif urldata.type == "file":
+            destdir = urldata.basepath
+        if type == "kmeta" and destdir:
+            feature_dirs.append(destdir)
+
     return feature_dirs
 
 # find the master/machine source branch. In the same way that the fetcher proceses
@@ -147,10 +150,6 @@
 	# from the source tree, into a common location and normalized "defconfig" name,
 	# where the rest of the process will include and incoroporate it into the build
 	#
-	# If the fetcher has already placed a defconfig in UNPACKDIR (from the SRC_URI),
-	# we don't overwrite it, but instead warn the user that SRC_URI defconfigs take
-	# precendence.
-	#
 	if [ -n "${KBUILD_DEFCONFIG}" ]; then
 		if [ -f "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" ]; then
 			if [ -f "${UNPACKDIR}/defconfig" ]; then
@@ -160,10 +159,8 @@
 				if [ $? -ne 0 ]; then
 					bbdebug 1 "detected SRC_URI or patched defconfig in UNPACKDIR. ${KBUILD_DEFCONFIG} copied over it"
 				fi
-				cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${UNPACKDIR}/defconfig
-			else
-				cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${UNPACKDIR}/defconfig
 			fi
+			cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${UNPACKDIR}/defconfig
 			in_tree_defconfig="${UNPACKDIR}/defconfig"
 		else
 			bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree (${S}/arch/${ARCH}/configs/)"
@@ -349,6 +346,9 @@
 	cd ${S}
 
 	check_git_config
+	if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
+		reproducible_git_committer_author
+	fi
 	meta_dir=$(kgit --meta)
 	(cd ${meta_dir}; ln -sf patch.queue series)
 	if [ -f "${meta_dir}/series" ]; then
@@ -431,6 +431,9 @@
 		rm -f .gitignore
 		git init
 		check_git_config
+		if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
+			reproducible_git_committer_author
+		fi
 		git add .
 		git commit -q -n -m "baseline commit: creating repo for ${PN}-${PV}"
 		git clean -d -f
@@ -451,8 +454,8 @@
     return
 }
 
-do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot"
-do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot"
+do_kernel_configme[depends] += "virtual/cross-binutils:do_populate_sysroot"
+do_kernel_configme[depends] += "virtual/cross-cc:do_populate_sysroot"
 do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot"
 do_kernel_configme[depends] += "kern-tools-native:do_populate_sysroot"
 do_kernel_configme[dirs] += "${S} ${B}"
diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index a7c4bf0..617727a 100644
--- a/poky/meta/classes-recipe/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -12,7 +12,7 @@
 KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
 
 PROVIDES += "virtual/kernel"
-DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native"
+DEPENDS += "virtual/cross-binutils virtual/cross-cc kmod-native bc-native bison-native"
 DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
 DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
 DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}"
@@ -661,7 +661,7 @@
 # Note: This class saves the value of localversion to a file
 # so other recipes like make-mod-scripts can restore it via the
 # helper function get_kernellocalversion_file
-export LOCALVERSION="${KERNEL_LOCALVERSION}"
+export LOCALVERSION = "${KERNEL_LOCALVERSION}"
 
 kernel_do_configure() {
 	# fixes extra + in /lib/modules/2.6.37+
diff --git a/poky/meta/classes-recipe/native.bbclass b/poky/meta/classes-recipe/native.bbclass
index d9651a7..1d94321 100644
--- a/poky/meta/classes-recipe/native.bbclass
+++ b/poky/meta/classes-recipe/native.bbclass
@@ -119,6 +119,7 @@
 INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
 
 python native_virtclass_handler () {
+    import re
     pn = e.data.getVar("PN")
     if not pn.endswith("-native"):
         return
@@ -158,10 +159,20 @@
                 newdeps.append(dep.replace(pn, bpn) + "-native")
             else:
                 newdeps.append(dep)
-        d.setVar(varname, " ".join(newdeps))
+        output_varname = varname
+        # Handle ${PN}-xxx -> ${BPN}-xxx-native
+        if suffix != "${PN}" and "${PN}" in suffix:
+            output_varname = varname.replace("${PN}", "${BPN}") + "-native"
+            d.renameVar(varname, output_varname)
+        d.setVar(output_varname, " ".join(newdeps))
 
     map_dependencies("DEPENDS", e.data, selfref=False)
-    for pkg in e.data.getVar("PACKAGES", False).split():
+    # We need to handle things like ${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}
+    # and not pass ${PN}-test since in the native case it would be ignored. This does mean we ignore
+    # anonymous python derived PACKAGES entries.
+    for pkg in re.split(r"\${@(?:{.*?}|.)+?}|\s", d.getVar("PACKAGES", False)):
+        if not pkg:
+            continue
         map_dependencies("RDEPENDS", e.data, pkg)
         map_dependencies("RRECOMMENDS", e.data, pkg)
         map_dependencies("RSUGGESTS", e.data, pkg)
diff --git a/poky/meta/classes-recipe/nativesdk.bbclass b/poky/meta/classes-recipe/nativesdk.bbclass
index b0634de..4e57349 100644
--- a/poky/meta/classes-recipe/nativesdk.bbclass
+++ b/poky/meta/classes-recipe/nativesdk.bbclass
@@ -32,6 +32,7 @@
 #
 PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}"
 PACKAGE_ARCHS = "${SDK_PACKAGE_ARCHS}"
+TUNE_PKGARCH = "${SDK_ARCH}"
 
 #
 # We need chrpath >= 0.14 to ensure we can deal with 32 and 64 bit
diff --git a/poky/meta/classes-recipe/populate_sdk_base.bbclass b/poky/meta/classes-recipe/populate_sdk_base.bbclass
index 031c65f..98ac723 100644
--- a/poky/meta/classes-recipe/populate_sdk_base.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_base.bbclass
@@ -175,6 +175,33 @@
 POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk  = " write_target_sdk_manifest sdk_prune_dirs"
 POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest"
 
+# Prepare the root links to point to the /usr counterparts.
+create_merged_usr_symlinks() {
+    root="$1"
+    install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir}
+    ln -rs $root${base_bindir} $root/bin
+    ln -rs $root${base_sbindir} $root/sbin
+    ln -rs $root${base_libdir} $root/${baselib}
+
+    if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then
+       install -d $root${nonarch_base_libdir}
+       ln -rs $root${nonarch_base_libdir} $root/lib
+    fi
+
+    # create base links for multilibs
+    multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}"
+    for d in $multi_libdirs; do
+        install -d $root${exec_prefix}/$d
+        ln -rs $root${exec_prefix}/$d $root/$d
+    done
+}
+
+create_merged_usr_symlinks_sdk() {
+    create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT}
+}
+
+POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk', '',d)}"
+
 SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC}' if '${SDK_PACKAGING_FUNC}' else ''}"
 SDK_POSTPROCESS_COMMAND = "create_sdk_files check_sdk_sysroots archive_sdk ${SDK_PACKAGING_COMMAND}"
 
diff --git a/poky/meta/classes-recipe/populate_sdk_ext.bbclass b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
index 8cb27ad..de4799f 100644
--- a/poky/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -289,6 +289,8 @@
     return uninative_checksum
 
 def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_checksum):
+    import shutil
+
     #check if custome templateconf path is set
     use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF')
 
@@ -766,7 +768,7 @@
 
     # FIXME hopefully we can remove this restriction at some point, but the eSDK
     # can only be built for the primary (default) multiconfig
-    if d.getVar('BB_CURRENT_MC') != 'default':
+    if d.getVar('BB_CURRENT_MC') != '':
         bb.fatal('The extensible SDK can currently only be built for the default multiconfig.  Currently trying to build for %s.' % d.getVar('BB_CURRENT_MC'))
 
     # eSDK dependencies don't use the traditional variables and things don't work properly if they are set
diff --git a/poky/meta/classes-recipe/ptest-python-pytest.bbclass b/poky/meta/classes-recipe/ptest-python-pytest.bbclass
new file mode 100644
index 0000000..a4615e1
--- /dev/null
+++ b/poky/meta/classes-recipe/ptest-python-pytest.bbclass
@@ -0,0 +1,37 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit ptest
+
+# Overridable configuration for the directory within the source tree
+# containing the pytest files
+PTEST_PYTEST_DIR ?= "tests"
+
+do_install_ptest() {
+	# Check if the recipe provides its own version of run-ptest
+	# If nothing exists in the SRC_URI, dynamically create a 
+	# run-test script of "last resort" that has the default
+	# pytest behavior.
+	# 
+	# Users can override this behavior by simply including a
+	# custom script (run-ptest) in the source file list
+	if [ ! -f "${UNPACKDIR}/run-ptest" ]; then
+		cat > ${D}${PTEST_PATH}/run-ptest << EOF
+#!/bin/sh
+pytest --automake
+EOF
+		# Ensure the newly created script has the execute bit set
+		chmod 755 ${D}${PTEST_PATH}/run-ptest
+	fi
+	if [ -d "${S}/${PTEST_PYTEST_DIR}" ]; then
+		install -d ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR}
+		cp -rf ${S}/${PTEST_PYTEST_DIR}/* ${D}${PTEST_PATH}/${PTEST_PYTEST_DIR}/
+	fi
+}
+
+FILES:${PN}-ptest:prepend = "${PTEST_PATH}/*"
+
+RDEPENDS:${PN}-ptest:prepend = "python3-pytest python3-unittest-automake-output "
diff --git a/poky/meta/classes-recipe/pypi.bbclass b/poky/meta/classes-recipe/pypi.bbclass
index c6bbe81..b0bc167 100644
--- a/poky/meta/classes-recipe/pypi.bbclass
+++ b/poky/meta/classes-recipe/pypi.bbclass
@@ -28,6 +28,14 @@
     archive_downloadname = d.getVar('PYPI_ARCHIVE_NAME_PREFIX') + archive_name
     return 'https://files.pythonhosted.org/packages/source/%s/%s/%s;downloadfilename=%s' % (package[0], package, archive_name, archive_downloadname)
 
+def pypi_normalize(d):
+    """"
+        Normalize the package names to match PEP625 (https://peps.python.org/pep-0625/).
+        For non-compliant packages, maintainers can set UPSTREAM_CHECK_PYPI_PACKAGE to override the normalization
+    """
+    import re
+    return re.sub(r"[-_.]+", "-", d.getVar('PYPI_PACKAGE')).lower()
+
 PYPI_SRC_URI ?= "${@pypi_src_uri(d)}"
 
 HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/"
@@ -36,8 +44,14 @@
 S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}"
 
 # Replace any '_' characters in the pypi URI with '-'s to follow the PyPi website naming conventions
-UPSTREAM_CHECK_PYPI_PACKAGE ?= "${@d.getVar('PYPI_PACKAGE').replace('_', '-')}"
-UPSTREAM_CHECK_URI ?= "https://pypi.org/project/${UPSTREAM_CHECK_PYPI_PACKAGE}/"
-UPSTREAM_CHECK_REGEX ?= "/${UPSTREAM_CHECK_PYPI_PACKAGE}/(?P<pver>(\d+[\.\-_]*)+)/"
+UPSTREAM_CHECK_PYPI_PACKAGE ?= "${@pypi_normalize(d)}"
+
+# Use the simple repository API rather than the potentially unstable project URL
+# More information on the pypi API specification is avaialble here:
+# https://packaging.python.org/en/latest/specifications/simple-repository-api/
+#
+# NOTE: All URLs for the simple API MUST request canonical normalized URLs per the spec
+UPSTREAM_CHECK_URI ?= "https://pypi.org/simple/${@pypi_normalize(d)}"
+UPSTREAM_CHECK_REGEX ?= "${UPSTREAM_CHECK_PYPI_PACKAGE}-(?P<pver>(\d+[\.\-_]*)+).(tar\.gz|tgz|zip|tar\.bz2)"
 
 CVE_PRODUCT ?= "python:${PYPI_PACKAGE}"
diff --git a/poky/meta/classes-recipe/python3native.bbclass b/poky/meta/classes-recipe/python3native.bbclass
index 654a002..da1283d 100644
--- a/poky/meta/classes-recipe/python3native.bbclass
+++ b/poky/meta/classes-recipe/python3native.bbclass
@@ -6,7 +6,7 @@
 
 inherit python3-dir
 
-PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
+PYTHON = "${STAGING_BINDIR_NATIVE}/python3-native/python3"
 EXTRANATIVEPATH += "python3-native"
 DEPENDS:append = " python3-native "
 
@@ -20,8 +20,8 @@
 # find_package(PythonLibs REQUIRED)
 # which ends up using libs/includes from build host
 # Therefore pre-empt that effort
-export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
-export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+export PYTHON_LIBRARY = "${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
+export PYTHON_INCLUDE_DIR = "${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
 
 # suppress host user's site-packages dirs.
 export PYTHONNOUSERSITE = "1"
diff --git a/poky/meta/classes-recipe/python_pyo3.bbclass b/poky/meta/classes-recipe/python_pyo3.bbclass
index 9a32eac..7f5a00f 100644
--- a/poky/meta/classes-recipe/python_pyo3.bbclass
+++ b/poky/meta/classes-recipe/python_pyo3.bbclass
@@ -11,13 +11,13 @@
 
 inherit cargo python3-dir siteinfo
 
-export PYO3_CROSS="1"
-export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}"
-export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}"
-export CARGO_BUILD_TARGET="${RUST_HOST_SYS}"
+export PYO3_CROSS = "1"
+export PYO3_CROSS_PYTHON_VERSION = "${PYTHON_BASEVERSION}"
+export PYO3_CROSS_LIB_DIR = "${STAGING_LIBDIR}"
+export CARGO_BUILD_TARGET = "${RUST_HOST_SYS}"
 export RUSTFLAGS
-export PYO3_PYTHON="${PYTHON}"
-export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config"
+export PYO3_PYTHON = "${PYTHON}"
+export PYO3_CONFIG_FILE = "${WORKDIR}/pyo3.config"
 
 python_pyo3_do_configure () {
     cat > ${WORKDIR}/pyo3.config << EOF
diff --git a/poky/meta/classes-recipe/qemu.bbclass b/poky/meta/classes-recipe/qemu.bbclass
index dbb5ee0..e9fe757 100644
--- a/poky/meta/classes-recipe/qemu.bbclass
+++ b/poky/meta/classes-recipe/qemu.bbclass
@@ -60,18 +60,5 @@
 # this dance). For others (e.g. arm) a -cpu option is not necessary, since the
 # qemu-arm default CPU supports all required architecture levels.
 
-QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
-QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
-
-QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
-QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
-QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
-QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
-QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
-QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
-QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
-QEMU_EXTRAOPTIONS_powerpc64le = " -cpu POWER9"
-# Some packages e.g. fwupd sets PACKAGE_ARCH = MACHINE_ARCH and uses meson which
-# needs right options to usermode qemu
-QEMU_EXTRAOPTIONS_qemuppc = " -cpu 7400"
-QEMU_EXTRAOPTIONS_qemuppc64 = " -cpu POWER9"
+QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS:tune-%s" % d.getVar('TUNE_PKGARCH')) or ""}"
+QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS:tune-${TUNE_PKGARCH}"
diff --git a/poky/meta/classes-recipe/rust-common.bbclass b/poky/meta/classes-recipe/rust-common.bbclass
index 6940093..31331c7 100644
--- a/poky/meta/classes-recipe/rust-common.bbclass
+++ b/poky/meta/classes-recipe/rust-common.bbclass
@@ -13,7 +13,7 @@
 FILES:${PN}-dev += "${rustlibdir}/*.rlib ${rustlibdir}/*.rmeta"
 FILES:${PN}-dbg += "${rustlibdir}/.debug"
 
-RUSTLIB = "-L ${STAGING_DIR_HOST}${rustlibdir}"
+RUSTLIB ?= "-L ${STAGING_DIR_HOST}${rustlibdir}"
 RUST_DEBUG_REMAP = "--remap-path-prefix=${WORKDIR}=${TARGET_DBGSRC_DIR}"
 RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
 RUSTLIB_DEP ??= "libstd-rs"
@@ -173,7 +173,7 @@
 	mkdir -p "${WRAPPER_DIR}"
 
 	# Yocto Build / Rust Host C compiler
-	create_wrapper_rust "${RUST_BUILD_CC}" "" "${CRATE_CC_FLAGS}" "${BUILD_CC}"
+	create_wrapper_rust "${RUST_BUILD_CC}" "" "${CRATE_CC_FLAGS}" "${BUILD_CC}" "${BUILD_LDFLAGS}"
 	# Yocto Build / Rust Host C++ compiler
 	create_wrapper_rust "${RUST_BUILD_CXX}" "" "${CRATE_CC_FLAGS}" "${BUILD_CXX}"
 	# Yocto Build / Rust Host linker
diff --git a/poky/meta/classes-recipe/rust-target-config.bbclass b/poky/meta/classes-recipe/rust-target-config.bbclass
index 399c13d..67aaa56 100644
--- a/poky/meta/classes-recipe/rust-target-config.bbclass
+++ b/poky/meta/classes-recipe/rust-target-config.bbclass
@@ -146,7 +146,7 @@
 FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2"
 
 ## aarch64-unknown-linux-{gnu, musl}
-DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
 TARGET_ENDIAN[aarch64] = "little"
 TARGET_POINTER_WIDTH[aarch64] = "64"
 TARGET_C_INT_WIDTH[aarch64] = "32"
@@ -160,21 +160,21 @@
 MAX_ATOMIC_WIDTH[x86_64] = "64"
 
 ## x86_64-unknown-linux-gnux32
-DATA_LAYOUT[x86_64-x32] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+DATA_LAYOUT[x86_64-x32] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
 TARGET_ENDIAN[x86_64-x32] = "little"
 TARGET_POINTER_WIDTH[x86_64-x32] = "32"
 TARGET_C_INT_WIDTH[x86_64-x32] = "32"
 MAX_ATOMIC_WIDTH[x86_64-x32] = "64"
 
 ## i686-unknown-linux-{gnu, musl}
-DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+DATA_LAYOUT[i686] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128"
 TARGET_ENDIAN[i686] = "little"
 TARGET_POINTER_WIDTH[i686] = "32"
 TARGET_C_INT_WIDTH[i686] = "32"
 MAX_ATOMIC_WIDTH[i686] = "64"
 
 ## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
-DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+DATA_LAYOUT[i586] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128"
 TARGET_ENDIAN[i586] = "little"
 TARGET_POINTER_WIDTH[i586] = "32"
 TARGET_C_INT_WIDTH[i586] = "32"
@@ -216,21 +216,21 @@
 MAX_ATOMIC_WIDTH[mips64el] = "64"
 
 ## powerpc-unknown-linux-{gnu, musl}
-DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
+DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-Fn32-i64:64-n32"
 TARGET_ENDIAN[powerpc] = "big"
 TARGET_POINTER_WIDTH[powerpc] = "32"
 TARGET_C_INT_WIDTH[powerpc] = "32"
 MAX_ATOMIC_WIDTH[powerpc] = "32"
 
 ## powerpc64-unknown-linux-{gnu, musl}
-DATA_LAYOUT[powerpc64] = "E-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512"
+DATA_LAYOUT[powerpc64] = "E-m:e-Fi64-i64:64-n32:64-S128-v256:256:256-v512:512:512"
 TARGET_ENDIAN[powerpc64] = "big"
 TARGET_POINTER_WIDTH[powerpc64] = "64"
 TARGET_C_INT_WIDTH[powerpc64] = "32"
 MAX_ATOMIC_WIDTH[powerpc64] = "64"
 
 ## powerpc64le-unknown-linux-{gnu, musl}
-DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
+DATA_LAYOUT[powerpc64le] = "e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512"
 TARGET_ENDIAN[powerpc64le] = "little"
 TARGET_POINTER_WIDTH[powerpc64le] = "64"
 TARGET_C_INT_WIDTH[powerpc64le] = "32"
@@ -244,14 +244,14 @@
 MAX_ATOMIC_WIDTH[riscv32gc] = "32"
 
 ## riscv64gc-unknown-linux-{gnu, musl}
-DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
 TARGET_ENDIAN[riscv64gc] = "little"
 TARGET_POINTER_WIDTH[riscv64gc] = "64"
 TARGET_C_INT_WIDTH[riscv64gc] = "32"
 MAX_ATOMIC_WIDTH[riscv64gc] = "64"
 
 ## loongarch64-unknown-linux-{gnu, musl}
-DATA_LAYOUT[loongarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+DATA_LAYOUT[loongarch64] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
 TARGET_ENDIAN[loongarch64] = "little"
 TARGET_POINTER_WIDTH[loongarch64] = "64"
 TARGET_C_INT_WIDTH[loongarch64] = "32"
diff --git a/poky/meta/classes-recipe/rust.bbclass b/poky/meta/classes-recipe/rust.bbclass
index dae25ca..e727601 100644
--- a/poky/meta/classes-recipe/rust.bbclass
+++ b/poky/meta/classes-recipe/rust.bbclass
@@ -43,9 +43,9 @@
 HOST_CXXFLAGS ?= "${CXXFLAGS}"
 HOST_CPPFLAGS ?= "${CPPFLAGS}"
 
-rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${RUST_HOST_SYS}/lib"
+rustlib_suffix = "${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${RUST_HOST_SYS}/lib"
 # Native sysroot standard library path
-rustlib_src="${prefix}/lib/${rustlib_suffix}"
+rustlib_src = "${prefix}/lib/${rustlib_suffix}"
 # Host sysroot standard library path
-rustlib="${libdir}/${rustlib_suffix}"
-rustlib:class-native="${libdir}/rustlib/${BUILD_SYS}/lib"
+rustlib = "${libdir}/${rustlib_suffix}"
+rustlib:class-native = "${libdir}/rustlib/${BUILD_SYS}/lib"
diff --git a/poky/meta/classes-recipe/setuptools3.bbclass b/poky/meta/classes-recipe/setuptools3.bbclass
index 64a78e9..f19899d 100644
--- a/poky/meta/classes-recipe/setuptools3.bbclass
+++ b/poky/meta/classes-recipe/setuptools3.bbclass
@@ -49,4 +49,4 @@
 
 EXPORT_FUNCTIONS do_configure do_compile do_install
 
-export LDSHARED="${CCLD} -shared"
+export LDSHARED = "${CCLD} -shared"
diff --git a/poky/meta/classes-recipe/setuptools3_legacy.bbclass b/poky/meta/classes-recipe/setuptools3_legacy.bbclass
index 264b1f5..030c3d9 100644
--- a/poky/meta/classes-recipe/setuptools3_legacy.bbclass
+++ b/poky/meta/classes-recipe/setuptools3_legacy.bbclass
@@ -79,6 +79,6 @@
 
 EXPORT_FUNCTIONS do_configure do_compile do_install
 
-export LDSHARED="${CCLD} -shared"
+export LDSHARED = "${CCLD} -shared"
 DEPENDS += "python3-setuptools-native"
 
diff --git a/poky/meta/classes-recipe/systemd.bbclass b/poky/meta/classes-recipe/systemd.bbclass
index 7324af8..4c9f51d 100644
--- a/poky/meta/classes-recipe/systemd.bbclass
+++ b/poky/meta/classes-recipe/systemd.bbclass
@@ -37,17 +37,29 @@
 	fi
 
 	if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
-		for service in ${SYSTEMD_SERVICE_ESCAPED}; do
+		for service in ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}; do
 			systemctl ${OPTS} enable "$service"
 		done
+
+		for service in ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}; do
+			systemctl --global ${OPTS} enable "$service"
+		done
 	fi
 
 	if [ -z "$D" ]; then
+		# Reload only system service manager
+		# --global for daemon-reload is not supported: https://github.com/systemd/systemd/issues/19284
 		systemctl daemon-reload
-		systemctl preset ${SYSTEMD_SERVICE_ESCAPED}
+		[ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}" ] && \
+			systemctl preset ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}
+
+		[ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}" ] && \
+			systemctl --global preset ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}
 
 		if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
-			systemctl --no-block restart ${SYSTEMD_SERVICE_ESCAPED}
+			# --global flag for restart is not supported by systemd (see above)
+			[ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}" ] && \
+				systemctl --no-block restart ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}
 		fi
 	fi
 fi
@@ -56,9 +68,14 @@
 systemd_prerm() {
 if systemctl >/dev/null 2>/dev/null; then
 	if [ -z "$D" ]; then
-		systemctl stop ${SYSTEMD_SERVICE_ESCAPED}
+		if [ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}" ]; then
+			systemctl stop ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}
+			systemctl disable ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", False, d)}
+		fi
 
-		systemctl disable ${SYSTEMD_SERVICE_ESCAPED}
+		# same as above, --global flag is not supported for stop so do disable only
+		[ -n "${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}" ] && \
+			systemctl --global disable ${@systemd_filter_services("${SYSTEMD_SERVICE_ESCAPED}", True, d)}
 	fi
 fi
 }
@@ -68,6 +85,49 @@
 systemd_populate_packages[vardepsexclude] += "OVERRIDES"
 
 
+def systemd_service_path(service, searchpaths, d):
+    path_found = ''
+
+    # Deal with adding, for example, 'ifplugd@eth0.service' from
+    # 'ifplugd@.service'
+    base = None
+    at = service.find('@')
+    if at != -1:
+        ext = service.rfind('.')
+        base = service[:at] + '@' + service[ext:]
+
+    for path in searchpaths:
+        if os.path.lexists(oe.path.join(d.getVar("D"), path, service)):
+            path_found = path
+            break
+        elif base is not None:
+            if os.path.exists(oe.path.join(d.getVar("D"), path, base)):
+                path_found = path
+                break
+
+    return path_found, base
+
+def systemd_service_searchpaths(user, d):
+    if user:
+        return [
+            oe.path.join(d.getVar("sysconfdir"), "systemd", "user"),
+            d.getVar("systemd_user_unitdir"),
+        ]
+    else:
+        return [
+            oe.path.join(d.getVar("sysconfdir"), "systemd", "system"),
+            d.getVar("systemd_system_unitdir"),
+        ]
+
+def systemd_service_exists(service, user, d):
+    searchpaths = systemd_service_searchpaths(user, d)
+    path, _ = systemd_service_path(service, searchpaths, d)
+
+    return path != ''
+
+def systemd_filter_services(services, user, d):
+    return ' '.join(service for service in services.split() if systemd_service_exists(service, user, d))
+
 python systemd_populate_packages() {
     import re
     import shlex
@@ -124,73 +184,66 @@
         return appended
 
     # Add systemd files to FILES:*-systemd, parse for Also= and follow recursive
-    def systemd_add_files_and_parse(pkg_systemd, path, service, keys):
+    def systemd_add_files_and_parse(pkg_systemd, path, service):
         # avoid infinite recursion
         if systemd_append_file(pkg_systemd, oe.path.join(path, service)):
             fullpath = oe.path.join(d.getVar("D"), path, service)
             if service.find('.service') != -1:
                 # for *.service add *@.service
                 service_base = service.replace('.service', '')
-                systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service', keys)
+                systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service')
+                # Add the socket unit which is referred by the Also= in this service file to the same package.
+                with open(fullpath, 'r') as unit_f:
+                    for line in unit_f:
+                        if line.startswith('Also'):
+                            also_unit = line.split('=', 1)[1].strip()
+                            if also_unit.find('.socket') != -1:
+                                systemd_add_files_and_parse(pkg_systemd, path, also_unit)
             if service.find('.socket') != -1:
                 # for *.socket add *.service and *@.service
                 service_base = service.replace('.socket', '')
-                systemd_add_files_and_parse(pkg_systemd, path, service_base + '.service', keys)
-                systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service', keys)
-            for key in keys.split():
-                # recurse all dependencies found in keys ('Also';'Conflicts';..) and add to files
-                cmd = "grep %s %s | sed 's,%s=,,g' | tr ',' '\\n'" % (key, shlex.quote(fullpath), key)
-                pipe = os.popen(cmd, 'r')
-                line = pipe.readline()
-                while line:
-                    line = line.replace('\n', '')
-                    systemd_add_files_and_parse(pkg_systemd, path, line, keys)
-                    line = pipe.readline()
-                pipe.close()
+                systemd_add_files_and_parse(pkg_systemd, path, service_base + '.service')
+                systemd_add_files_and_parse(pkg_systemd, path, service_base + '@.service')
 
     # Check service-files and call systemd_add_files_and_parse for each entry
     def systemd_check_services():
-        searchpaths = [oe.path.join(d.getVar("sysconfdir"), "systemd", "system"),]
-        searchpaths.append(d.getVar("systemd_system_unitdir"))
-        searchpaths.append(d.getVar("systemd_user_unitdir"))
+        searchpaths = systemd_service_searchpaths(False, d)
+        searchpaths.extend(systemd_service_searchpaths(True, d))
+
         systemd_packages = d.getVar('SYSTEMD_PACKAGES')
 
-        keys = 'Also'
         # scan for all in SYSTEMD_SERVICE[]
         for pkg_systemd in systemd_packages.split():
             for service in get_package_var(d, 'SYSTEMD_SERVICE', pkg_systemd).split():
-                path_found = ''
-
-                # Deal with adding, for example, 'ifplugd@eth0.service' from
-                # 'ifplugd@.service'
-                base = None
-                at = service.find('@')
-                if at != -1:
-                    ext = service.rfind('.')
-                    base = service[:at] + '@' + service[ext:]
-
-                for path in searchpaths:
-                    if os.path.lexists(oe.path.join(d.getVar("D"), path, service)):
-                        path_found = path
-                        break
-                    elif base is not None:
-                        if os.path.exists(oe.path.join(d.getVar("D"), path, base)):
-                            path_found = path
-                            break
+                path_found, base = systemd_service_path(service, searchpaths, d)
 
                 if path_found != '':
-                    systemd_add_files_and_parse(pkg_systemd, path_found, service, keys)
+                    systemd_add_files_and_parse(pkg_systemd, path_found, service)
                 else:
                     bb.fatal("Didn't find service unit '{0}', specified in SYSTEMD_SERVICE:{1}. {2}".format(
                         service, pkg_systemd, "Also looked for service unit '{0}'.".format(base) if base is not None else ""))
 
-    def systemd_create_presets(pkg, action):
-        presetf = oe.path.join(d.getVar("PKGD"), d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg)
+    def systemd_create_presets(pkg, action, user):
+        # Check there is at least one service of given type (system/user), don't
+        # create empty files.
+        needs_preset = False
+        for service in d.getVar('SYSTEMD_SERVICE:%s' % pkg).split():
+            if systemd_service_exists(service, user, d):
+                needs_preset = True
+                break
+
+        if not needs_preset:
+            return
+
+        prefix = "user" if user else "system"
+        presetf = oe.path.join(d.getVar("PKGD"), d.getVar("systemd_unitdir"), "%s-preset/98-%s.preset" % (prefix, pkg))
         bb.utils.mkdirhier(os.path.dirname(presetf))
         with open(presetf, 'a') as fd:
             for service in d.getVar('SYSTEMD_SERVICE:%s' % pkg).split():
+                if not systemd_service_exists(service, user, d):
+                    continue
                 fd.write("%s %s\n" % (action,service))
-        d.appendVar("FILES:%s" % pkg, ' ' + oe.path.join(d.getVar("systemd_unitdir"), "system-preset/98-%s.preset" % pkg))
+        d.appendVar("FILES:%s" % pkg, ' ' + oe.path.join(d.getVar("systemd_unitdir"), "%s-preset/98-%s.preset" % (prefix, pkg)))
 
     # Run all modifications once when creating package
     if os.path.exists(d.getVar("D")):
@@ -200,7 +253,8 @@
                 systemd_generate_package_scripts(pkg)
                 action = get_package_var(d, 'SYSTEMD_AUTO_ENABLE', pkg)
                 if action in ("enable", "disable"):
-                    systemd_create_presets(pkg, action)
+                    systemd_create_presets(pkg, action, False)
+                    systemd_create_presets(pkg, action, True)
                 elif action not in ("mask", "preset"):
                     bb.fatal("SYSTEMD_AUTO_ENABLE:%s '%s' is not 'enable', 'disable', 'mask' or 'preset'" % (pkg, action))
         systemd_check_services()
diff --git a/poky/meta/classes-recipe/uboot-extlinux-config.bbclass b/poky/meta/classes-recipe/uboot-extlinux-config.bbclass
index 0413e76..099476f 100644
--- a/poky/meta/classes-recipe/uboot-extlinux-config.bbclass
+++ b/poky/meta/classes-recipe/uboot-extlinux-config.bbclass
@@ -15,6 +15,7 @@
 # UBOOT_EXTLINUX_KERNEL_IMAGE      - Kernel image name.
 # UBOOT_EXTLINUX_FDTDIR            - Device tree directory.
 # UBOOT_EXTLINUX_FDT               - Device tree file.
+# UBOOT_EXTLINUX_FDTOVERLAYS       - Device tree overlay files. Space-separated list.
 # UBOOT_EXTLINUX_INITRD            - Indicates a list of filesystem images to
 #                                    concatenate and use as an initrd (optional).
 # UBOOT_EXTLINUX_MENU_DESCRIPTION  - Name to use as description.
@@ -66,6 +67,7 @@
 UBOOT_EXTLINUX_CONSOLE ??= "console=${console},${baudrate}"
 UBOOT_EXTLINUX_LABELS ??= "linux"
 UBOOT_EXTLINUX_FDT ??= ""
+UBOOT_EXTLINUX_FDTOVERLAYS ??= ""
 UBOOT_EXTLINUX_FDTDIR ??= "../"
 UBOOT_EXTLINUX_KERNEL_IMAGE ??= "../${KERNEL_IMAGETYPE}"
 UBOOT_EXTLINUX_KERNEL_ARGS ??= "rootwait rw"
@@ -136,15 +138,17 @@
                 fdtdir = localdata.getVar('UBOOT_EXTLINUX_FDTDIR')
 
                 fdt = localdata.getVar('UBOOT_EXTLINUX_FDT')
+                fdtoverlays = localdata.getVar('UBOOT_EXTLINUX_FDTOVERLAYS')
+
+                cfgfile.write('LABEL %s\n\tKERNEL %s\n' % (menu_description, kernel_image))
 
                 if fdt:
-                    cfgfile.write('LABEL %s\n\tKERNEL %s\n\tFDT %s\n' %
-                                 (menu_description, kernel_image, fdt))
+                    cfgfile.write('\tFDT %s\n' % (fdt))
                 elif fdtdir:
-                    cfgfile.write('LABEL %s\n\tKERNEL %s\n\tFDTDIR %s\n' %
-                                 (menu_description, kernel_image, fdtdir))
-                else:
-                    cfgfile.write('LABEL %s\n\tKERNEL %s\n' % (menu_description, kernel_image))
+                    cfgfile.write('\tFDTDIR %s\n' % (fdtdir))
+
+                if fdtoverlays:
+                    cfgfile.write('\tFDTOVERLAYS %s\n' % (' '.join(fdtoverlays.split())))
 
                 kernel_args = localdata.getVar('UBOOT_EXTLINUX_KERNEL_ARGS')
 
@@ -158,7 +162,7 @@
     except OSError:
         bb.fatal('Unable to open %s' % (cfile))
 }
-UBOOT_EXTLINUX_VARS = "CONSOLE MENU_DESCRIPTION ROOT KERNEL_IMAGE FDTDIR FDT KERNEL_ARGS INITRD"
+UBOOT_EXTLINUX_VARS = "CONSOLE MENU_DESCRIPTION ROOT KERNEL_IMAGE FDTDIR FDT FDTOVERLAYS KERNEL_ARGS INITRD"
 do_create_extlinux_config[vardeps] += "${@' '.join(['UBOOT_EXTLINUX_%s:%s' % (v, l) for v in d.getVar('UBOOT_EXTLINUX_VARS').split() for l in d.getVar('UBOOT_EXTLINUX_LABELS').split()])}"
 do_create_extlinux_config[vardepsexclude] += "OVERRIDES"
 
diff --git a/poky/meta/classes-recipe/uboot-sign.bbclass b/poky/meta/classes-recipe/uboot-sign.bbclass
index a17be74..96c47ab 100644
--- a/poky/meta/classes-recipe/uboot-sign.bbclass
+++ b/poky/meta/classes-recipe/uboot-sign.bbclass
@@ -26,6 +26,7 @@
 
 # We need some variables from u-boot-config
 inherit uboot-config
+require conf/image-fitimage.conf
 
 # Enable use of a U-Boot fitImage
 UBOOT_FITIMAGE_ENABLE ?= "0"
@@ -85,9 +86,6 @@
 # ex: 1 32bits address, 2 64bits address
 UBOOT_FIT_ADDRESS_CELLS ?= "1"
 
-# This is only necessary for determining the signing configuration
-KERNEL_PN = "${PREFERRED_PROVIDER_virtual/kernel}"
-
 UBOOT_FIT_UBOOT_LOADADDRESS ?= "${UBOOT_LOADADDRESS}"
 UBOOT_FIT_UBOOT_ENTRYPOINT ?= "${UBOOT_ENTRYPOINT}"
 
@@ -96,8 +94,6 @@
     sign = d.getVar('UBOOT_SIGN_ENABLE') == '1'
     if d.getVar('UBOOT_FITIMAGE_ENABLE') == '1' or sign:
         d.appendVar('DEPENDS', " u-boot-tools-native dtc-native")
-    if sign:
-        d.appendVar('DEPENDS', " " + d.getVar('KERNEL_PN'))
 }
 
 concat_dtb() {
@@ -106,16 +102,26 @@
 
 	if [ -e "${UBOOT_DTB_BINARY}" ]; then
 		# Re-sign the kernel in order to add the keys to our dtb
+		UBOOT_MKIMAGE_MODE="auto-conf"
+		# Signing individual images is not recommended as that
+		# makes fitImage susceptible to mix-and-match attack.
+		if [ "${FIT_SIGN_INDIVIDUAL}" = "1" ] ; then
+			UBOOT_MKIMAGE_MODE="auto"
+		fi
 		${UBOOT_MKIMAGE_SIGN} \
 			${@'-D "${UBOOT_MKIMAGE_DTCOPTS}"' if len('${UBOOT_MKIMAGE_DTCOPTS}') else ''} \
-			-F -k "${UBOOT_SIGN_KEYDIR}" \
+			-f $UBOOT_MKIMAGE_MODE \
+			-k "${UBOOT_SIGN_KEYDIR}" \
+			-o "${FIT_HASH_ALG},${FIT_SIGN_ALG}" \
+			-g "${UBOOT_SIGN_IMG_KEYNAME}" \
 			-K "${UBOOT_DTB_BINARY}" \
-			-r ${B}/fitImage-linux \
+			-d /dev/null \
+			-r ${B}/unused.itb \
 			${UBOOT_MKIMAGE_SIGN_ARGS}
 		# Verify the kernel image and u-boot dtb
 		${UBOOT_FIT_CHECK_SIGN} \
 			-k "${UBOOT_DTB_BINARY}" \
-			-f ${B}/fitImage-linux
+			-f ${B}/unused.itb
 		cp ${UBOOT_DTB_BINARY} ${UBOOT_DTB_SIGNED}
 	fi
 
@@ -351,10 +357,6 @@
 }
 
 do_uboot_assemble_fitimage() {
-	if [ "${UBOOT_SIGN_ENABLE}" = "1" ] ; then
-		cp "${STAGING_DIR_HOST}/sysroot-only/fitImage" "${B}/fitImage-linux"
-	fi
-
 	if [ -n "${UBOOT_CONFIG}" ]; then
 		unset i
 		for config in ${UBOOT_MACHINE}; do
diff --git a/poky/meta/classes-recipe/uki.bbclass b/poky/meta/classes-recipe/uki.bbclass
index 441e4a7..92f6905 100644
--- a/poky/meta/classes-recipe/uki.bbclass
+++ b/poky/meta/classes-recipe/uki.bbclass
@@ -64,7 +64,7 @@
     os-release \
     systemd-boot \
     systemd-boot-native \
-    virtual/${TARGET_PREFIX}binutils \
+    virtual/cross-binutils \
     virtual/kernel \
 "
 
diff --git a/poky/meta/classes/create-spdx-2.2.bbclass b/poky/meta/classes/create-spdx-2.2.bbclass
index 27242ec..494bde1 100644
--- a/poky/meta/classes/create-spdx-2.2.bbclass
+++ b/poky/meta/classes/create-spdx-2.2.bbclass
@@ -75,11 +75,17 @@
                     pass
             if extracted_info.extractedText is None:
                 # If it's not SPDX or PD, then NO_GENERIC_LICENSE must be set
-                filename = d.getVarFlag('NO_GENERIC_LICENSE', name)
+                entry = d.getVarFlag('NO_GENERIC_LICENSE', name).split(';')
+                filename = entry[0]
+                params = {i.split('=')[0]: i.split('=')[1] for i in entry[1:] if '=' in i}
+                beginline = int(params.get('beginline', 1))
+                endline = params.get('endline', None)
+                if endline:
+                    endline = int(endline)
                 if filename:
                     filename = d.expand("${S}/" + filename)
                     with open(filename, errors="replace") as f:
-                        extracted_info.extractedText = f.read()
+                        extracted_info.extractedText = "".join(line for idx, line in enumerate(f, 1) if beginline <= idx and idx <= (endline or idx))
                 else:
                     bb.fatal("Cannot find any text for license %s" % name)
 
diff --git a/poky/meta/classes/go-vendor.bbclass b/poky/meta/classes/go-vendor.bbclass
index 38ea69a..6ec6178 100644
--- a/poky/meta/classes/go-vendor.bbclass
+++ b/poky/meta/classes/go-vendor.bbclass
@@ -70,7 +70,7 @@
     if os.path.exists(vendor_dir):
         # Nothing to do except re-establish link to actual vendor folder
         if not os.path.exists(linkname):
-            os.symlink(vendor_dir, linkname)
+            oe.path.relsymlink(vendor_dir, linkname)
         return
 
     bb.utils.mkdirhier(vendor_dir)
@@ -201,11 +201,15 @@
     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)
+        relative_symlink_target = os.path.relpath(symlink_target, os.path.dirname(symlink_name))
         bb.debug(1, "vendored name %s, symlink name %s" % (vendored_name, symlink_name))
-        os.symlink(symlink_target, symlink_name)
+
+        os.makedirs(os.path.dirname(symlink_name), exist_ok=True)
+        os.symlink(relative_symlink_target, symlink_name)
 
     # Create a symlink to the actual directory
-    os.symlink(vendor_dir, linkname)
+    relative_vendor_dir = os.path.relpath(vendor_dir, os.path.dirname(linkname))
+    os.symlink(relative_vendor_dir, linkname)
 }
 
 addtask go_vendor before do_patch after do_unpack
diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass
index c95c3a5..c1d6de1 100644
--- a/poky/meta/classes/multilib_global.bbclass
+++ b/poky/meta/classes/multilib_global.bbclass
@@ -155,6 +155,12 @@
             extramp.append(translate_provide(pref, p))
     d.setVar("BB_MULTI_PROVIDER_ALLOWED", " ".join(mp + extramp))
 
+    virtprovs = d.getVar("BB_RECIPE_VIRTUAL_PROVIDERS").split()
+    for p in virtprovs.copy():
+        for pref in prefixes:
+            virtprovs.append(translate_provide(pref, p))
+    d.setVar("BB_RECIPE_VIRTUAL_PROVIDERS", " ".join(virtprovs))
+
     abisafe = (d.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE") or "").split()
     extras = []
     for p in prefixes:
diff --git a/poky/meta/classes/report-error.bbclass b/poky/meta/classes/report-error.bbclass
index 1452513..2b880c8 100644
--- a/poky/meta/classes/report-error.bbclass
+++ b/poky/meta/classes/report-error.bbclass
@@ -81,6 +81,7 @@
             task = e.task
             taskdata={}
             log = e.data.getVar('BB_LOGFILE')
+            taskdata['recipe'] = e.data.expand("${PN}")
             taskdata['package'] = e.data.expand("${PF}")
             taskdata['task'] = task
             if log:
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 0ed0766..8b60708 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -205,6 +205,7 @@
 # its own in staging
 ASSUME_PROVIDED = "\
     bash-native \
+    bash-completion-native \
     bzip2-native \
     chrpath-native \
     diffstat-native \
@@ -216,6 +217,7 @@
     hostperl-runtime-native \
     hostpython-runtime-native \
     libgcc-native \
+    libstdc++-native \
     patch-native \
     sed-native \
     tar-native \
@@ -441,8 +443,6 @@
 
 STAGING_DIR_TARGET = "${RECIPE_SYSROOT}"
 
-# Setting DEPLOY_DIR outside of TMPDIR is helpful, when you are using
-# packaged staging and/or multimachine.
 DEPLOY_DIR ?= "${TMPDIR}/deploy"
 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
@@ -827,7 +827,12 @@
 include conf/site.conf
 include conf/auto.conf
 include conf/local.conf
-require conf/multiconfig/${BB_CURRENT_MC}.conf
+
+OE_FRAGMENTS_PREFIX ?= "conf/fragments"
+OE_FRAGMENTS_METADATA_VARS ?= "BB_CONF_FRAGMENT_SUMMARY BB_CONF_FRAGMENT_DESCRIPTION"
+addfragments ${OE_FRAGMENTS_PREFIX} OE_FRAGMENTS OE_FRAGMENTS_METADATA_VARS
+
+require ${@"conf/multiconfig/${BB_CURRENT_MC}.conf" if "${BB_CURRENT_MC}" != "" else ""}
 include conf/machine/${MACHINE}.conf
 include conf/machine-sdk/${SDKMACHINE}.conf
 require conf/cve-check-map.conf
@@ -837,9 +842,6 @@
 include conf/licenses.conf
 require conf/sanity.conf
 include conf/bblock.conf
-OE_FRAGMENTS_PREFIX ?= "conf/fragments"
-OE_FRAGMENTS_METADATA_VARS ?= "BB_CONF_FRAGMENT_SUMMARY BB_CONF_FRAGMENT_DESCRIPTION"
-addfragments ${OE_FRAGMENTS_PREFIX} OE_FRAGMENTS OE_FRAGMENTS_METADATA_VARS
 
 ##################################################################
 # Weak variables (usually to retain backwards compatibility)
diff --git a/poky/meta/conf/distro/defaultsetup.conf b/poky/meta/conf/distro/defaultsetup.conf
index e6369dc..80de23f 100644
--- a/poky/meta/conf/distro/defaultsetup.conf
+++ b/poky/meta/conf/distro/defaultsetup.conf
@@ -1,7 +1,7 @@
 include conf/distro/include/default-providers.inc
 include conf/distro/include/default-versions.inc
 include conf/distro/include/default-distrovars.inc
-include conf/distro/include/maintainers.inc
+include_all conf/distro/include/maintainers.inc
 include conf/distro/include/time64.inc
 require conf/distro/include/tcmode-${TCMODE}.inc
 require conf/distro/include/tclibc-${TCLIBC}.inc
diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc
index 506d778..d3eefb7 100644
--- a/poky/meta/conf/distro/include/default-providers.inc
+++ b/poky/meta/conf/distro/include/default-providers.inc
@@ -1,6 +1,7 @@
 #
 # Default virtual providers
 #
+BB_RECIPE_VIRTUAL_PROVIDERS = "virtual/cross-cc virtual/cross-c++ virtual/cross-binutils virtual/nativesdk-cross-cc virtual/nativesdk-cross-c++ virtual/nativesdk-cross-binutils"
 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
 PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg"
 PREFERRED_PROVIDER_virtual/egl ?= "mesa"
diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc
index 6d11c98..5000b08 100644
--- a/poky/meta/conf/distro/include/distro_alias.inc
+++ b/poky/meta/conf/distro/include/distro_alias.inc
@@ -17,7 +17,6 @@
 DISTRO_PN_ALIAS:pn-babeltrace = "OSPDT"
 DISTRO_PN_ALIAS:pn-babeltrace2 = "OSPDT"
 DISTRO_PN_ALIAS:pn-bjam = "OpenSuSE=boost-jam Debian=bjam"
-DISTRO_PN_ALIAS:pn-blktool = "Debian=blktool Mandriva=blktool"
 DISTRO_PN_ALIAS:pn-bluez5 = "Fedora=bluez  Opensuse=bluez"
 DISTRO_PN_ALIAS:pn-bootchart2 = "Fedora=bootchart2 Opensuse=bootchart"
 DISTRO_PN_ALIAS:pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 5d1aa17..6e3cb54 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -69,7 +69,6 @@
 RECIPE_MAINTAINER:pn-binutils-testsuite = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-bison = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER:pn-blktool = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER:pn-blktrace = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-bluez5 = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-bmaptool = "Trevor Woerner <twoerner@gmail.com>"
diff --git a/poky/meta/conf/distro/include/tclibc-baremetal.inc b/poky/meta/conf/distro/include/tclibc-baremetal.inc
index f3d27bb..abea5a7 100644
--- a/poky/meta/conf/distro/include/tclibc-baremetal.inc
+++ b/poky/meta/conf/distro/include/tclibc-baremetal.inc
@@ -19,10 +19,10 @@
 LIBC_DEPENDENCIES = ""
 
 EXTRA_OECONF:pn-gcc-cross-${TARGET_ARCH}:append = " --without-headers"
-DEPENDS:remove:pn-meta-toolchain = "virtual/libc virtual/${TARGET_PREFIX}compilerlibs"
+DEPENDS:remove:pn-meta-toolchain = "virtual/libc virtual/compilerlibs"
 
 # certain compiler libs cannot be used without libc, avoid the dependence on compilerlibs
-BASEDEPENDS:remove:class-target = "virtual/${TARGET_PREFIX}compilerlibs"
+BASEDEPENDS:remove:class-target = "virtual/compilerlibs"
 
 TARGET_OS = "elf"
 TARGET_OS:arm = "eabi"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 37621cb..34f20b8 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -2,16 +2,20 @@
 # Default toolchain configuration
 #
 
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross-${TARGET_ARCH}"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross-${TARGET_ARCH}"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross-${TARGET_ARCH}"
-PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"
+PREFERRED_PROVIDER_virtual/cross-binutils = "${MLPREFIX}binutils-cross-${TARGET_ARCH}"
+PREFERRED_PROVIDER_virtual/cross-cc = "${MLPREFIX}gcc-cross-${TARGET_ARCH}"
+PREFERRED_PROVIDER_virtual/cross-c++ = "${MLPREFIX}gcc-cross-${TARGET_ARCH}"
+PREFERRED_PROVIDER_virtual/compilerlibs = "gcc-runtime"
 PREFERRED_PROVIDER_gdb = "gdb"
 
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}binutils ?= "binutils-crosssdk-${SDK_SYS}"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}gcc = "gcc-crosssdk-${SDK_SYS}"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ = "gcc-crosssdk-${SDK_SYS}"
-PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime"
+PREFERRED_PROVIDER_virtual/cross-binutils:class-nativesdk ?= "binutils-crosssdk-${SDK_SYS}"
+PREFERRED_PROVIDER_virtual/cross-cc:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
+PREFERRED_PROVIDER_virtual/cross-c++:class-nativesdk = "gcc-crosssdk-${SDK_SYS}"
+
+PREFERRED_PROVIDER_virtual/nativesdk-cross-binutils ?= "binutils-crosssdk-${SDK_SYS}"
+PREFERRED_PROVIDER_virtual/nativesdk-cross-cc = "gcc-crosssdk-${SDK_SYS}"
+PREFERRED_PROVIDER_virtual/nativesdk-cross-c++ = "gcc-crosssdk-${SDK_SYS}"
+PREFERRED_PROVIDER_virtual/nativesdk-compilerlibs = "nativesdk-gcc-runtime"
 
 # Default libc config
 PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
@@ -19,12 +23,12 @@
 GCCVERSION ?= "14.%"
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.43%"
-GDBVERSION ?= "15.%"
+GDBVERSION ?= "16.%"
 GLIBCVERSION ?= "2.40%"
 LINUXLIBCVERSION ?= "6.12%"
-QEMUVERSION ?= "9.1%"
+QEMUVERSION ?= "9.2%"
 GOVERSION ?= "1.22%"
-RUSTVERSION ?= "1.80%"
+RUSTVERSION ?= "1.81%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
 PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/poky/meta/conf/distro/include/time64.inc b/poky/meta/conf/distro/include/time64.inc
index f9f2fd0..5122e2a 100644
--- a/poky/meta/conf/distro/include/time64.inc
+++ b/poky/meta/conf/distro/include/time64.inc
@@ -53,5 +53,5 @@
 INSANE_SKIP:append:pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = " 32bit-time"
 #gcc-cross-canadian-arm-14.1.0-r0 do_package_qa: QA Issue: xxx/x86_64-oesdk-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.1.0/plugin/gengtype uses 32-bit api 'ctime'
 INSANE_SKIP:append:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = " 32bit-time"
-#gdb-cross-canadian-arm-15.2-r0 do_package_qa: QA Issue: xxx/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gdb uses 32-bit api 'lstat'
+#gdb-cross-canadian-arm-16.1-r0 do_package_qa: QA Issue: xxx/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gdb uses 32-bit api 'lstat'
 INSANE_SKIP:append:pn-gdb-cross-canadian-${TRANSLATED_TARGET_ARCH} = " 32bit-time"
diff --git a/poky/meta/conf/documentation.conf b/poky/meta/conf/documentation.conf
index f091239..295fefb 100644
--- a/poky/meta/conf/documentation.conf
+++ b/poky/meta/conf/documentation.conf
@@ -179,7 +179,7 @@
 FILESYSTEM_PERMS_TABLES[doc] = "Allows you to define your own file permissions settings table as part of your configuration for the packaging process."
 FONT_EXTRA_RDEPENDS[doc] = "When a recipe inherits the fontcache class, this variable specifies runtime dependencies for font packages. This variable defaults to 'fontconfig-utils'."
 FONT_PACKAGES[doc] = "When a recipe inherits the fontcache class, this variable identifies packages containing font files that need to be cached by Fontconfig."
-FULL_OPTIMIZATION[doc]= "The options to pass in TARGET_CFLAGS and CFLAGS when compiling an optimized system. This variable defaults to '-O2 ${DEBUG_LEVELFLAG}'."
+FULL_OPTIMIZATION[doc] = "The options to pass in TARGET_CFLAGS and CFLAGS when compiling an optimized system. This variable defaults to '-O2 ${DEBUG_LEVELFLAG}'."
 
 #G
 
diff --git a/poky/meta/conf/image-fitimage.conf b/poky/meta/conf/image-fitimage.conf
new file mode 100644
index 0000000..be9ae30
--- /dev/null
+++ b/poky/meta/conf/image-fitimage.conf
@@ -0,0 +1,53 @@
+# Possible options for fitImage generation, mainly
+# related to signing of the fitImage content.
+
+# Description string
+FIT_DESC ?= "Kernel fitImage for ${DISTRO_NAME}/${PV}/${MACHINE}"
+
+# Kernel fitImage Hash Algo
+FIT_HASH_ALG ?= "sha256"
+
+# Kernel fitImage Signature Algo
+FIT_SIGN_ALG ?= "rsa2048"
+
+# Kernel / U-Boot fitImage Padding Algo
+FIT_PAD_ALG ?= "pkcs-1.5"
+
+# Generate keys for signing Kernel fitImage
+FIT_GENERATE_KEYS ?= "0"
+
+# Size of private keys in number of bits
+FIT_SIGN_NUMBITS ?= "2048"
+
+# args to openssl genrsa (Default is just the public exponent)
+FIT_KEY_GENRSA_ARGS ?= "-F4"
+
+# args to openssl req (Default is -batch for non interactive mode and
+# -new for new certificate)
+FIT_KEY_REQ_ARGS ?= "-batch -new"
+
+# Standard format for public key certificate
+FIT_KEY_SIGN_PKCS ?= "-x509"
+
+# Sign individual images as well
+FIT_SIGN_INDIVIDUAL ?= "0"
+
+FIT_CONF_PREFIX ?= "conf-"
+FIT_CONF_PREFIX[doc] = "Prefix to use for FIT configuration node name"
+
+FIT_SUPPORTED_INITRAMFS_FSTYPES ?= "cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst cpio.gz ext2.gz cpio"
+
+# Allow user to select the default DTB for FIT image when multiple dtb's exists.
+FIT_CONF_DEFAULT_DTB ?= ""
+
+# length of address in number of <u32> cells
+# ex: 1 32bits address, 2 64bits address
+FIT_ADDRESS_CELLS ?= "1"
+
+# Keys used to sign individually image nodes.
+# The keys to sign image nodes must be different from those used to sign
+# configuration nodes, otherwise the "required" property, from
+# UBOOT_DTB_BINARY, will be set to "conf", because "conf" prevails on "image".
+# Then the images signature checking will not be mandatory and no error will be
+# raised in case of failure.
+# UBOOT_SIGN_IMG_KEYNAME = "dev2" # keys name in keydir (eg. "dev2.crt", "dev2.key")
diff --git a/poky/meta/conf/machine/include/mips/tune-mips-24k.inc b/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
index 106ff62..ec4e53f 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
@@ -22,15 +22,15 @@
 
 MIPSPKGSFX_VARIANT:tune-mips32r2-24kc = "mips32r2-24kc"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf} mips32r2-24kc-nf"
-QEMU_EXTRAOPTIONS_mips32r2-24kc-nf = " -cpu 24Kc"
+QEMU_EXTRAOPTIONS:tune-mips32r2-24kc-nf = " -cpu 24Kc"
 
 MIPSPKGSFX_VARIANT:tune-mips32r2-24kec = "mips32r2-24kec"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kc} mips32r2-24kec-nf"
-QEMU_EXTRAOPTIONS_mips32r2-24kec-nf = " -cpu 24KEc"
+QEMU_EXTRAOPTIONS:tune-mips32r2-24kec-nf = " -cpu 24KEc"
 
 MIPSPKGSFX_VARIANT:tune-mips32r2-24kec-m16 = "mips32r2-24kec${MIPSPKGSFX_MIPS16E}"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-24kec} mips32r2-24kec-m16-nf"
-QEMU_EXTRAOPTIONS_mips32r2-24kec-m16-nf = " -cpu 24KEc"
+QEMU_EXTRAOPTIONS:tune-mips32r2-24kec-m16-nf = " -cpu 24KEc"
 
 
 # little endian: kc, kc+dsp=kec, kc+dsp+mips16e=kec-m16
@@ -40,12 +40,12 @@
 
 MIPSPKGSFX_VARIANT:tune-mips32r2el-24kc = "mips32r2el-24kc"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf} mips32r2el-24kc-nf"
-QEMU_EXTRAOPTIONS_mips32r2el-24kc-nf = " -cpu 24Kc"
+QEMU_EXTRAOPTIONS:tune-mips32r2el-24kc-nf = " -cpu 24Kc"
 
 MIPSPKGSFX_VARIANT:tune-mips32r2el-24kec = "mips32r2el-24kec"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kc} mips32r2el-24kec-nf"
-QEMU_EXTRAOPTIONS_mips32r2el-24kec-nf = " -cpu 24KEc"
+QEMU_EXTRAOPTIONS:tune-mips32r2el-24kec-nf = " -cpu 24KEc"
 
 MIPSPKGSFX_VARIANT:tune-mips32r2el-24kec-m16 = "mips32r2el-24kec${MIPSPKGSFX_MIPS16E}"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-24kec} mips32r2el-24kec-m16-nf"
-QEMU_EXTRAOPTIONS_mips32r2el-24kec-m16-nf = " -cpu 24KEc"
+QEMU_EXTRAOPTIONS:tune-mips32r2el-24kec-m16-nf = " -cpu 24KEc"
diff --git a/poky/meta/conf/machine/include/mips/tune-mips-74k.inc b/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
index e4927a1..0ec90ca 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
@@ -18,11 +18,11 @@
 
 MIPSPKGSFX_VARIANT:tune-mips32r2-74kc = "mips32r2-74kc"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-nf} mips32r2-74kc-nf"
-QEMU_EXTRAOPTIONS_mips32r2-74kc-nf = " -cpu 24Kc"
+QEMU_EXTRAOPTIONS:tune-mips32r2-74kc-nf = " -cpu 24Kc"
 
 MIPSPKGSFX_VARIANT:tune-mips32r2-74kc-m16 = "mips32r2-74kc${MIPSPKGSFX_MIPS16E}"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2-74kc} mips32r2-74kc-m16-nf"
-QEMU_EXTRAOPTIONS_mips32r2-74kc-m16-nf = " -cpu 24KEc"
+QEMU_EXTRAOPTIONS:tune-mips32r2-74kc-m16-nf = " -cpu 24KEc"
 
 # little endian: kc+dsp2=kc, kc+dsp2+mips16e=kc-m16
 TUNE_FEATURES:tune-mips32r2el-74kc = "${TUNE_FEATURES:tune-mips32r2el-nf} 74kc"
@@ -30,8 +30,8 @@
 
 MIPSPKGSFX_VARIANT:tune-mips32r2el-74kc = "mips32r2el-74kc"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-nf} mips32r2el-74kc-nf"
-QEMU_EXTRAOPTIONS_mips32r2el-74kc-nf = " -cpu 24Kc"
+QEMU_EXTRAOPTIONS:tune-mips32r2el-74kc-nf = " -cpu 24Kc"
 
 MIPSPKGSFX_VARIANT:tune-mips32r2el-74kc-m16 = "mips32r2el-74kc${MIPSPKGSFX_MIPS16E}"
 PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc-m16 = "${PACKAGE_EXTRA_ARCHS:tune-mips32r2el-74kc} mips32r2el-74kc-m16-nf"
-QEMU_EXTRAOPTIONS_mips32r2el-74kc-m16-nf = " -cpu 24KEc"
+QEMU_EXTRAOPTIONS:tune-mips32r2el-74kc-m16-nf = " -cpu 24KEc"
diff --git a/poky/meta/conf/machine/include/mips/tune-mips64r2.inc b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
index e9ca420..226f443 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
@@ -12,13 +12,13 @@
 BASE_LIB:tune-mips64r2 = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2 = "mips64r2"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2 = "mips64 mips64r2"
-QEMU_EXTRAOPTIONS_mips64r2 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el = "${TUNE_FEATURES:tune-mips64el} mips64r2"
 BASE_LIB:tune-mips64r2el = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2el = "mips64r2el"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el = "mips64el mips64r2el"
-QEMU_EXTRAOPTIONS_mips64r2el = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2el = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 Soft Float
 AVAILTUNES += "mips64r2-nf mips64r2el-nf"
@@ -27,13 +27,13 @@
 BASE_LIB:tune-mips64r2-nf = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2-nf = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf = "mips64-nf mips64r2-nf"
-QEMU_EXTRAOPTIONS_mips64r2-nf = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2-nf = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-nf = "${TUNE_FEATURES:tune-mips64el-nf} mips64r2"
 BASE_LIB:tune-mips64r2el-nf = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-nf = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
-QEMU_EXTRAOPTIONS_mips64r2el-nf = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2el-nf = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 n32
 AVAILTUNES += "mips64r2-n32 mips64r2el-n32"
@@ -42,13 +42,13 @@
 BASE_LIB:tune-mips64r2-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
-QEMU_EXTRAOPTIONS_mips64r2-n32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2-n32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-n32 = "${TUNE_FEATURES:tune-mips64el-n32} mips64r2"
 BASE_LIB:tune-mips64r2el-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
-QEMU_EXTRAOPTIONS_mips64r2el-n32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2el-n32 = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 n32 and Soft Float
 AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32"
@@ -57,13 +57,13 @@
 BASE_LIB:tune-mips64r2-nf-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
-QEMU_EXTRAOPTIONS_mips64r2-nf-n32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2-nf-n32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-nf-n32 = "${TUNE_FEATURES:tune-mips64el-nf-n32} mips64r2"
 BASE_LIB:tune-mips64r2el-nf-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
-QEMU_EXTRAOPTIONS_mips64r2el-nf-32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2el-nf-32 = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 o32
 AVAILTUNES += "mips64r2-o32 mips64r2el-o32"
@@ -72,13 +72,13 @@
 BASE_LIB:tune-mips64r2-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
-QEMU_EXTRAOPTIONS_mips64r2-o32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2-o32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-o32 = "${TUNE_FEATURES:tune-mips64el-o32} mips64r2"
 BASE_LIB:tune-mips64r2el-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
-QEMU_EXTRAOPTIONS_mips64r2el-o32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2el-o32 = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 o32 and Soft Float
 AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32"
@@ -87,10 +87,10 @@
 BASE_LIB:tune-mips64r2-nf-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
-QEMU_EXTRAOPTIONS_mips64r2-nf-o32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2-nf-o32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-nf-o32 = "${TUNE_FEATURES:tune-mips64el-nf-o32} mips64r2"
 BASE_LIB:tune-mips64r2el-nf-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
-QEMU_EXTRAOPTIONS_mips64r2el-nf-o32 = " -cpu MIPS64R2-generic"
+QEMU_EXTRAOPTIONS:tune-mips64r2el-nf-o32 = " -cpu MIPS64R2-generic"
diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index 2533151..f627fbc 100644
--- a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -21,3 +21,4 @@
 BASE_LIB:tune-powerpc64le = "lib64"
 TUNE_PKGARCH:tune-powerpc64le = "powerpc64le"
 PACKAGE_EXTRA_ARCHS:tune-powerpc64le = "powerpc64le"
+QEMU_EXTRAOPTIONS:tune-powerpc64le = " -cpu POWER9"
diff --git a/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
index 49b94f5..4d149cf 100644
--- a/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
@@ -9,3 +9,4 @@
 TUNE_FEATURES:tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
 TUNE_PKGARCH:tune-ppc7400 = "ppc7400"
 PACKAGE_EXTRA_ARCHS:tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppc7400"
+QEMU_EXTRAOPTIONS:tune-ppc7400 = " -cpu 7400"
diff --git a/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
index 036f8b2..3dc1738 100644
--- a/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
@@ -9,6 +9,7 @@
 TUNE_FEATURES:tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
 TUNE_PKGARCH:tune-ppce500mc = "ppce500mc"
 PACKAGE_EXTRA_ARCHS:tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce500mc"
+QEMU_EXTRAOPTIONS:tune-ppce500mc = " -cpu e500mc"
 
 # pass -mcpu=e500mc for ppce500mc kernel cross compile
 TARGET_CC_KERNEL_ARCH = "-mcpu=e500mc"
diff --git a/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
index 461164d..99bbb33 100644
--- a/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
@@ -18,3 +18,4 @@
 TUNE_FEATURES:tune-ppce500v2 = "m32 ppce500v2 bigendian"
 TUNE_PKGARCH:tune-ppce500v2 = "ppce500v2"
 PACKAGE_EXTRA_ARCHS:tune-ppce500v2 = "ppce500v2"
+QEMU_EXTRAOPTIONS:tune-ppce500v2 = " -cpu e500v2"
diff --git a/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
index 4915b81..446b344 100644
--- a/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
@@ -10,11 +10,13 @@
 BASE_LIB:tune-ppce5500 = "lib"
 TUNE_PKGARCH:tune-ppce5500 = "ppce5500"
 PACKAGE_EXTRA_ARCHS:tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce5500"
+QEMU_EXTRAOPTIONS:tune-ppce5500 = " -cpu e500mc"
 
 TUNE_FEATURES:tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
 BASE_LIB:tune-ppc64e5500 = "lib64"
 TUNE_PKGARCH:tune-ppc64e5500 = "ppc64e5500"
 PACKAGE_EXTRA_ARCHS:tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e5500"
+QEMU_EXTRAOPTIONS:tune-ppc64e5500 = " -cpu e500mc"
 
 # QEMU usermode fails with invalid instruction error (YOCTO: #10304)
 MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
index f6310ab..4444705 100644
--- a/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
@@ -10,11 +10,13 @@
 BASE_LIB:tune-ppce6500 = "lib"
 TUNE_PKGARCH:tune-ppce6500 = "ppce6500"
 PACKAGE_EXTRA_ARCHS:tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc} ppce6500"
+QEMU_EXTRAOPTIONS:tune-ppce6500 = " -cpu e500mc"
 
 TUNE_FEATURES:tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
 BASE_LIB:tune-ppc64e6500 = "lib64"
 TUNE_PKGARCH:tune-ppc64e6500 = "ppc64e6500"
 PACKAGE_EXTRA_ARCHS:tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS:tune-powerpc64} ppc64e6500"
+QEMU_EXTRAOPTIONS:tune-ppc64e6500 = " -cpu e500mc"
 
 # QEMU usermode fails with invalid instruction error (YOCTO: #10304)
 MACHINE_FEATURES_BACKFILL_CONSIDERED:append = "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' qemu-usermode', '', d)}"
diff --git a/poky/meta/conf/machine/include/x86/tune-core2.inc b/poky/meta/conf/machine/include/x86/tune-core2.inc
index 082fd4e..a4ec090 100644
--- a/poky/meta/conf/machine/include/x86/tune-core2.inc
+++ b/poky/meta/conf/machine/include/x86/tune-core2.inc
@@ -21,18 +21,18 @@
 BASE_LIB:tune-core2-32 = "lib"
 TUNE_PKGARCH:tune-core2-32 = "core2-32"
 PACKAGE_EXTRA_ARCHS:tune-core2-32 = "${PACKAGE_EXTRA_ARCHS:tune-i686} core2-32"
-QEMU_EXTRAOPTIONS_core2-32 = " -cpu Nehalem,check=false"
+QEMU_EXTRAOPTIONS:tune-core2-32 = " -cpu Nehalem,check=false"
 
 AVAILTUNES += "core2-64"
 TUNE_FEATURES:tune-core2-64 = "${TUNE_FEATURES:tune-x86-64} core2"
 BASE_LIB:tune-core2-64 = "lib64"
 TUNE_PKGARCH:tune-core2-64 = "core2-64"
 PACKAGE_EXTRA_ARCHS:tune-core2-64 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64} core2-64"
-QEMU_EXTRAOPTIONS_core2-64 = " -cpu Nehalem,check=false"
+QEMU_EXTRAOPTIONS:tune-core2-64 = " -cpu Nehalem,check=false"
 
 AVAILTUNES += "core2-64-x32"
 TUNE_FEATURES:tune-core2-64-x32 = "${TUNE_FEATURES:tune-x86-64-x32} core2"
 BASE_LIB:tune-core2-64-x32 = "libx32"
 TUNE_PKGARCH:tune-core2-64-x32 = "core2-64-x32"
 PACKAGE_EXTRA_ARCHS:tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS:tune-x86-64-x32} core2-64-x32"
-QEMU_EXTRAOPTIONS_core2-64-x32 = " -cpu Nehalem,check=false"
+QEMU_EXTRAOPTIONS:tune-core2-64-x32 = " -cpu Nehalem,check=false"
diff --git a/poky/meta/conf/machine/include/x86/tune-corei7.inc b/poky/meta/conf/machine/include/x86/tune-corei7.inc
index 7798288..076af97 100644
--- a/poky/meta/conf/machine/include/x86/tune-corei7.inc
+++ b/poky/meta/conf/machine/include/x86/tune-corei7.inc
@@ -21,18 +21,18 @@
 BASE_LIB:tune-corei7-32 = "lib"
 TUNE_PKGARCH:tune-corei7-32 = "corei7-32"
 PACKAGE_EXTRA_ARCHS:tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS:tune-core2-32} corei7-32"
-QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false"
+QEMU_EXTRAOPTIONS:tune-corei7-32 = " -cpu Nehalem,check=false"
 
 AVAILTUNES += "corei7-64"
 TUNE_FEATURES:tune-corei7-64 = "${TUNE_FEATURES:tune-x86-64} corei7"
 BASE_LIB:tune-corei7-64 = "lib64"
 TUNE_PKGARCH:tune-corei7-64 = "corei7-64"
 PACKAGE_EXTRA_ARCHS:tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64} corei7-64"
-QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
+QEMU_EXTRAOPTIONS:tune-corei7-64 = " -cpu Nehalem,check=false"
 
 AVAILTUNES += "corei7-64-x32"
 TUNE_FEATURES:tune-corei7-64-x32 = "${TUNE_FEATURES:tune-x86-64-x32} corei7"
 BASE_LIB:tune-corei7-64-x32 = "libx32"
 TUNE_PKGARCH:tune-corei7-64-x32 = "corei7-64-x32"
 PACKAGE_EXTRA_ARCHS:tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS:tune-core2-64-x32} corei7-64-x32"
-QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false"
+QEMU_EXTRAOPTIONS:tune-corei7-64-x32 = " -cpu Nehalem,check=false"
diff --git a/poky/meta/conf/machine/include/x86/tune-x86-64-v3.inc b/poky/meta/conf/machine/include/x86/tune-x86-64-v3.inc
index 254f03c..49f0dd0 100644
--- a/poky/meta/conf/machine/include/x86/tune-x86-64-v3.inc
+++ b/poky/meta/conf/machine/include/x86/tune-x86-64-v3.inc
@@ -21,11 +21,11 @@
 BASE_LIB:tune-x86-64-v3 = "lib64"
 TUNE_PKGARCH:tune-x86-64-v3 = "x86-64-v3"
 PACKAGE_EXTRA_ARCHS:tune-x86-64-v3 = "${PACKAGE_EXTRA_ARCHS:tune-corei7-64} x86-64-v3"
-QEMU_EXTRAOPTIONS_x86-64-v3 = " -cpu Skylake-Client,check=false"
+QEMU_EXTRAOPTIONS:tune-x86-64-v3 = " -cpu Skylake-Client,check=false"
 
 AVAILTUNES += "x86-64-v3-x32"
 TUNE_FEATURES:tune-x86-64-v3-x32 = "${TUNE_FEATURES:tune-x86-64-x32} x86-64-v3"
 BASE_LIB:tune-x86-64-v3-x32 = "libx32"
 TUNE_PKGARCH:tune-x86-64-v3-x32 = "x86-64-v3-x32"
 PACKAGE_EXTRA_ARCHS:tune-x86-64-v3-x32 = "${PACKAGE_EXTRA_ARCHS:tune-corei7-64-x32} x86-64-v3-x32"
-QEMU_EXTRAOPTIONS_x86-64-v3-x32 = " -cpu Skylake-Client,check=false"
+QEMU_EXTRAOPTIONS:tune-x86-64-v3-x32 = " -cpu Skylake-Client,check=false"
diff --git a/poky/meta/conf/multilib.conf b/poky/meta/conf/multilib.conf
index 7bdfcd5..979ae50 100644
--- a/poky/meta/conf/multilib.conf
+++ b/poky/meta/conf/multilib.conf
@@ -21,6 +21,7 @@
 MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32"
 
 OPKG_ARGS:append = " --force-maintainer --force-overwrite"
+APT_ARGS:append = " -o Dpkg::Options::=--force-confnew -o Dpkg::Options::=--force-overwrite"
 
 # These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES
 # ${MLPREFIX}${BPN}
diff --git a/poky/meta/files/overlayfs-create-dirs.service.in b/poky/meta/files/overlayfs-create-dirs.service.in
index d8d9163..c843154 100644
--- a/poky/meta/files/overlayfs-create-dirs.service.in
+++ b/poky/meta/files/overlayfs-create-dirs.service.in
@@ -1,7 +1,6 @@
 [Unit]
 Description=Overlayfs directories setup {LOWERDIR}
-Requires={DATA_MOUNT_UNIT}
-After={DATA_MOUNT_UNIT}
+RequiresMountsFor={DATA_MOUNT_POINT}
 DefaultDependencies=no
 
 [Service]
diff --git a/poky/meta/lib/bbconfigbuild/configfragments.py b/poky/meta/lib/bbconfigbuild/configfragments.py
index 30cc5ec..c1dddc3 100644
--- a/poky/meta/lib/bbconfigbuild/configfragments.py
+++ b/poky/meta/lib/bbconfigbuild/configfragments.py
@@ -23,6 +23,7 @@
 class ConfigFragmentsPlugin(LayerPlugin):
     def get_fragment_info(self, path, name):
         d = bb.data.init()
+        d.setVar('BBPATH', self.tinfoil.config_data.getVar('BBPATH'))
         bb.parse.handle(path, d, True)
         summary = d.getVar('BB_CONF_FRAGMENT_SUMMARY')
         description = d.getVar('BB_CONF_FRAGMENT_DESCRIPTION')
@@ -43,6 +44,8 @@
              for topdir, dirs, files in os.walk(os.path.join(layerdir, fragments_path_prefix)):
                  fragmentdir = os.path.relpath(topdir, os.path.join(layerdir, fragments_path_prefix))
                  for fragmentfile in sorted(files):
+                     if fragmentfile.startswith(".") or not fragmentfile.endswith(".conf"):
+                         continue
                      fragmentname = os.path.normpath("/".join((layername, fragmentdir, fragmentfile.split('.')[0])))
                      fragmentpath = os.path.join(topdir, fragmentfile)
                      fragmentsummary, fragmentdesc = self.get_fragment_info(fragmentpath, fragmentname)
@@ -101,34 +104,37 @@
         """ Enable a fragment in the local build configuration """
         def enable_helper(varname, origvalue, op, newlines):
             enabled_fragments = origvalue.split()
-            if args.fragmentname in enabled_fragments:
-                print("Fragment {} already included in {}".format(args.fragmentname, args.confpath))
-            else:
-                enabled_fragments.append(args.fragmentname)
+            for f in args.fragmentname:
+                if f in enabled_fragments:
+                    print("Fragment {} already included in {}".format(f, args.confpath))
+                else:
+                    enabled_fragments.append(f)
             return " ".join(enabled_fragments), None, 0, True
 
-        if not self.fragment_exists(args.fragmentname):
-            raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(args.fragmentname))
+        for f in args.fragmentname:
+            if not self.fragment_exists(f):
+                raise Exception("Fragment {} does not exist; use 'list-fragments' to see the full list.".format(f))
 
         self.create_conf(args.confpath)
         modified = bb.utils.edit_metadata_file(args.confpath, ["OE_FRAGMENTS"], enable_helper)
         if modified:
-            print("Fragment {} added to {}.".format(args.fragmentname, args.confpath))
+            print("Fragment {} added to {}.".format(", ".join(args.fragmentname), args.confpath))
 
     def do_disable_fragment(self, args):
         """ Disable a fragment in the local build configuration """
         def disable_helper(varname, origvalue, op, newlines):
             enabled_fragments = origvalue.split()
-            if args.fragmentname in enabled_fragments:
-                enabled_fragments.remove(args.fragmentname)
-            else:
-                print("Fragment {} not currently enabled in {}".format(args.fragmentname, args.confpath))
+            for f in args.fragmentname:
+                if f in enabled_fragments:
+                    enabled_fragments.remove(f)
+                else:
+                    print("Fragment {} not currently enabled in {}".format(f, args.confpath))
             return " ".join(enabled_fragments), None, 0, True
 
         self.create_conf(args.confpath)
         modified = bb.utils.edit_metadata_file(args.confpath, ["OE_FRAGMENTS"], disable_helper)
         if modified:
-            print("Fragment {} removed from {}.".format(args.fragmentname, args.confpath))
+            print("Fragment {} removed from {}.".format(", ".join(args.fragmentname), args.confpath))
 
     def do_disable_all_fragments(self, args):
         """ Disable all fragments in the local build configuration """
@@ -149,11 +155,11 @@
 
         parser_enable_fragment = self.add_command(sp, 'enable-fragment', self.do_enable_fragment, parserecipes=False)
         parser_enable_fragment.add_argument("--confpath", default=default_confpath, help='Configuration file which contains a list of enabled fragments (default is {}).'.format(default_confpath))
-        parser_enable_fragment.add_argument('fragmentname', help='The name of the fragment (use list-fragments to see them)')
+        parser_enable_fragment.add_argument('fragmentname', help='The name of the fragment (use list-fragments to see them)', nargs='+')
 
         parser_disable_fragment = self.add_command(sp, 'disable-fragment', self.do_disable_fragment, parserecipes=False)
         parser_disable_fragment.add_argument("--confpath", default=default_confpath, help='Configuration file which contains a list of enabled fragments (default is {}).'.format(default_confpath))
-        parser_disable_fragment.add_argument('fragmentname', help='The name of the fragment')
+        parser_disable_fragment.add_argument('fragmentname', help='The name of the fragment', nargs='+')
 
         parser_disable_all = self.add_command(sp, 'disable-all-fragments', self.do_disable_all_fragments, parserecipes=False)
         parser_disable_all.add_argument("--confpath", default=default_confpath, help='Configuration file which contains a list of enabled fragments (default is {}).'.format(default_confpath))
diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py
index 5161d33..8ae5d3b 100644
--- a/poky/meta/lib/oe/classextend.py
+++ b/poky/meta/lib/oe/classextend.py
@@ -33,7 +33,7 @@
             name = name.replace("-" + self.extname, "")
         if name.startswith("virtual/"):
             # Assume large numbers of dashes means a triplet is present and we don't need to convert
-            if name.count("-") >= 3 and name.endswith(("-go", "-binutils", "-gcc", "-g++")):
+            if name.count("-") >= 3 and name.endswith(("-go",)):
                 return name
             subs = name.split("/", 1)[1]
             if not subs.startswith(self.extname):
diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py
index 647a94f..5c272ba 100644
--- a/poky/meta/lib/oe/cve_check.py
+++ b/poky/meta/lib/oe/cve_check.py
@@ -5,9 +5,11 @@
 #
 
 import collections
-import re
-import itertools
 import functools
+import itertools
+import os.path
+import re
+import oe.patch
 
 _Version = collections.namedtuple(
     "_Version", ["release", "patch_l", "pre_l", "pre_v"]
@@ -71,76 +73,132 @@
     return _release, _patch, _pre
 
 
+def parse_cve_from_filename(patch_filename):
+    """
+    Parses CVE ID from the filename
+
+    Matches the last "CVE-YYYY-ID" in the file name, also if written
+    in lowercase. Possible to have multiple CVE IDs in a single
+    file name, but only the last one will be detected from the file name.
+
+    Returns the last CVE ID foudn in the filename. If no CVE ID is found
+    an empty string is returned.
+    """
+    cve_file_name_match = re.compile(r".*(CVE-\d{4}-\d{4,})", re.IGNORECASE)
+
+    # Check patch file name for CVE ID
+    fname_match = cve_file_name_match.search(patch_filename)
+    return fname_match.group(1).upper() if fname_match else ""
+
+
+def parse_cves_from_patch_contents(patch_contents):
+    """
+    Parses CVE IDs from patch contents
+
+    Matches all CVE IDs contained on a line that starts with "CVE: ". Any
+    delimiter (',', '&', "and", etc.) can be used without any issues. Multiple
+    "CVE:" lines can also exist.
+
+    Returns a set of all CVE IDs found in the patch contents.
+    """
+    cve_ids = set()
+    cve_match = re.compile(r"CVE-\d{4}-\d{4,}")
+    # Search for one or more "CVE: " lines
+    for line in patch_contents.split("\n"):
+        if not line.startswith("CVE:"):
+            continue
+        cve_ids.update(cve_match.findall(line))
+    return cve_ids
+
+
+def parse_cves_from_patch_file(patch_file):
+    """
+    Parses CVE IDs associated with a particular patch file, using both the filename
+    and patch contents.
+
+    Returns a set of all CVE IDs found in the patch filename and contents.
+    """
+    cve_ids = set()
+    filename_cve = parse_cve_from_filename(patch_file)
+    if filename_cve:
+        bb.debug(2, "Found %s from patch file name %s" % (filename_cve, patch_file))
+        cve_ids.add(parse_cve_from_filename(patch_file))
+
+    # Remote patches won't be present and compressed patches won't be
+    # unpacked, so say we're not scanning them
+    if not os.path.isfile(patch_file):
+        bb.note("%s is remote or compressed, not scanning content" % patch_file)
+        return cve_ids
+
+    with open(patch_file, "r", encoding="utf-8") as f:
+        try:
+            patch_text = f.read()
+        except UnicodeDecodeError:
+            bb.debug(
+                1,
+                "Failed to read patch %s using UTF-8 encoding"
+                " trying with iso8859-1" % patch_file,
+            )
+            f.close()
+            with open(patch_file, "r", encoding="iso8859-1") as f:
+                patch_text = f.read()
+
+    cve_ids.update(parse_cves_from_patch_contents(patch_text))
+
+    if not cve_ids:
+        bb.debug(2, "Patch %s doesn't solve CVEs" % patch_file)
+    else:
+        bb.debug(2, "Patch %s solves %s" % (patch_file, ", ".join(sorted(cve_ids))))
+
+    return cve_ids
+
+
 def get_patched_cves(d):
     """
-    Get patches that solve CVEs using the "CVE: " tag.
+    Determines the CVE IDs that have been solved by either patches incuded within
+    SRC_URI or by setting CVE_STATUS.
+
+    Returns a dictionary with the CVE IDs as keys and an associated dictonary of
+    relevant metadata as the value.
     """
-
-    import re
-    import oe.patch
-
-    cve_match = re.compile(r"CVE:( CVE-\d{4}-\d+)+")
-
-    # Matches the last "CVE-YYYY-ID" in the file name, also if written
-    # in lowercase. Possible to have multiple CVE IDs in a single
-    # file name, but only the last one will be detected from the file name.
-    # However, patch files contents addressing multiple CVE IDs are supported
-    # (cve_match regular expression)
-    cve_file_name_match = re.compile(r".*(CVE-\d{4}-\d+)", re.IGNORECASE)
-
     patched_cves = {}
     patches = oe.patch.src_patches(d)
     bb.debug(2, "Scanning %d patches for CVEs" % len(patches))
+
+    # Check each patch file
     for url in patches:
         patch_file = bb.fetch.decodeurl(url)[2]
-
-        # Check patch file name for CVE ID
-        fname_match = cve_file_name_match.search(patch_file)
-        if fname_match:
-            cve = fname_match.group(1).upper()
-            patched_cves[cve] = {"abbrev-status": "Patched", "status": "fix-file-included", "resource": patch_file}
-            bb.debug(2, "Found %s from patch file name %s" % (cve, patch_file))
-
-        # Remote patches won't be present and compressed patches won't be
-        # unpacked, so say we're not scanning them
-        if not os.path.isfile(patch_file):
-            bb.note("%s is remote or compressed, not scanning content" % patch_file)
-            continue
-
-        with open(patch_file, "r", encoding="utf-8") as f:
-            try:
-                patch_text = f.read()
-            except UnicodeDecodeError:
-                bb.debug(1, "Failed to read patch %s using UTF-8 encoding"
-                        " trying with iso8859-1" %  patch_file)
-                f.close()
-                with open(patch_file, "r", encoding="iso8859-1") as f:
-                    patch_text = f.read()
-
-        # Search for one or more "CVE: " lines
-        text_match = False
-        for match in cve_match.finditer(patch_text):
-            # Get only the CVEs without the "CVE: " tag
-            cves = patch_text[match.start()+5:match.end()]
-            for cve in cves.split():
-                bb.debug(2, "Patch %s solves %s" % (patch_file, cve))
-                patched_cves[cve] = {"abbrev-status": "Patched", "status": "fix-file-included", "resource": patch_file}
-                text_match = True
-
-        if not fname_match and not text_match:
-            bb.debug(2, "Patch %s doesn't solve CVEs" % patch_file)
+        for cve_id in parse_cves_from_patch_file(patch_file):
+            if cve_id not in patched_cves:
+                patched_cves[cve_id] = {
+                    "abbrev-status": "Patched",
+                    "status": "fix-file-included",
+                    "resource": [patch_file],
+                }
+            else:
+                patched_cves[cve_id]["resource"].append(patch_file)
 
     # Search for additional patched CVEs
-    for cve in (d.getVarFlags("CVE_STATUS") or {}):
-        decoded_status = decode_cve_status(d, cve)
+    for cve_id in d.getVarFlags("CVE_STATUS") or {}:
+        decoded_status = decode_cve_status(d, cve_id)
         products = d.getVar("CVE_PRODUCT")
-        if has_cve_product_match(decoded_status, products) == True:
-            patched_cves[cve] = {
+        if has_cve_product_match(decoded_status, products):
+            if cve_id in patched_cves:
+                bb.warn(
+                    'CVE_STATUS[%s] = "%s" is overwriting previous status of "%s: %s"'
+                    % (
+                        cve_id,
+                        d.getVarFlag("CVE_STATUS", cve_id),
+                        patched_cves[cve_id]["abbrev-status"],
+                        patched_cves[cve_id]["status"],
+                    )
+                )
+            patched_cves[cve_id] = {
                 "abbrev-status": decoded_status["mapping"],
                 "status": decoded_status["detail"],
                 "justification": decoded_status["description"],
                 "affected-vendor": decoded_status["vendor"],
-                "affected-product": decoded_status["product"]
+                "affected-product": decoded_status["product"],
             }
 
     return patched_cves
@@ -253,7 +311,10 @@
         description = status_split[4].strip()
     elif len(status_split) >= 2 and status_split[1].strip() == "cpe":
         # Malformed CPE
-        bb.warn('Invalid CPE information for CVE_STATUS[%s] = "%s", not setting CPE' % (detail, cve, status))
+        bb.warn(
+            'Invalid CPE information for CVE_STATUS[%s] = "%s", not setting CPE'
+            % (cve, status)
+        )
     else:
         # Other case: no CPE, the syntax is then:
         # detail: description
@@ -263,9 +324,13 @@
     status_out["product"] = product
     status_out["description"] = description
 
-    status_mapping = d.getVarFlag("CVE_CHECK_STATUSMAP", status_out['detail'])
+    detail = status_out["detail"]
+    status_mapping = d.getVarFlag("CVE_CHECK_STATUSMAP", detail)
     if status_mapping is None:
-        bb.warn('Invalid detail "%s" for CVE_STATUS[%s] = "%s", fallback to Unpatched' % (detail, cve, status))
+        bb.warn(
+            'Invalid detail "%s" for CVE_STATUS[%s] = "%s", fallback to Unpatched'
+            % (detail, cve, status)
+        )
         status_mapping = "Unpatched"
     status_out["mapping"] = status_mapping
 
diff --git a/poky/meta/lib/oe/sbom30.py b/poky/meta/lib/oe/sbom30.py
index 29cb9e4..f7c4b32 100644
--- a/poky/meta/lib/oe/sbom30.py
+++ b/poky/meta/lib/oe/sbom30.py
@@ -267,7 +267,7 @@
 
     def new_alias_id(self, obj, replace):
         unihash = self.d.getVar("BB_UNIHASH")
-        namespace = self.get_namespace() + "/"
+        namespace = self.get_namespace()
         if unihash not in obj._id:
             bb.warn(f"Unihash {unihash} not found in {obj._id}")
             return None
@@ -495,7 +495,7 @@
             return []
 
         if not to:
-            to = [oe.spdx30.Element.NoneElement]
+            to = [oe.spdx30.IndividualElement.NoneElement]
 
         ret = []
 
@@ -589,12 +589,14 @@
 
         file_licenses = set()
         for extracted_lic in oe.spdx_common.extract_licenses(filepath):
-            file_licenses.add(self.new_license_expression(extracted_lic, license_data))
+            lic = self.new_license_expression(extracted_lic, license_data)
+            self.set_element_alias(lic)
+            file_licenses.add(lic)
 
         self.new_relationship(
             [spdx_file],
             oe.spdx30.RelationshipType.hasDeclaredLicense,
-            file_licenses,
+            [oe.sbom30.get_element_link_id(lic_alias) for lic_alias in file_licenses],
         )
         spdx_file.extension.append(OELicenseScannedExtension())
 
@@ -855,6 +857,18 @@
         self.doc.import_ = sorted(imports.values(), key=lambda e: e.externalSpdxId)
         bb.debug(1, "Linking...")
         self.link()
+
+        # Manually go through all of the simplelicensing_customIdToUri DictionaryEntry
+        # items and resolve any aliases to actual objects.
+        for lic in self.foreach_type(oe.spdx30.simplelicensing_LicenseExpression):
+            for d in lic.simplelicensing_customIdToUri:
+                if d.value.startswith(OE_ALIAS_PREFIX):
+                    obj = self.find_by_id(d.value)
+                    if obj is not None:
+                        d.value = obj._id
+                    else:
+                        self.missing_ids.add(d.value)
+
         self.missing_ids -= set(imports.keys())
         return self.missing_ids
 
diff --git a/poky/meta/lib/oe/spdx30.py b/poky/meta/lib/oe/spdx30.py
index 5cd2eb4..cd97eeb 100644
--- a/poky/meta/lib/oe/spdx30.py
+++ b/poky/meta/lib/oe/spdx30.py
@@ -133,8 +133,9 @@
         if value.utcoffset() is None:
             value = value.astimezone()
         offset = value.utcoffset()
-        if offset % timedelta(minutes=1):
-            offset = offset - (offset % timedelta(minutes=1))
+        seconds = offset % timedelta(minutes=-1 if offset.total_seconds() < 0 else 1)
+        if seconds:
+            offset = offset - seconds
             value = value.replace(tzinfo=timezone(offset))
         value = value.replace(microsecond=0)
         return value
@@ -922,6 +923,12 @@
         return obj
 
     def _decode_properties(self, decoder, objectset=None):
+        def decode_value(d):
+            if not d.is_list():
+                return d.read_value()
+
+            return [decode_value(val_d) for val_d in d.read_list()]
+
         if self.CLOSED:
             super()._decode_properties(decoder, objectset=objectset)
             return
@@ -936,7 +943,7 @@
                 )
 
             with decoder.read_property(key) as prop_d:
-                self.__dict__["_obj_data"][key] = prop_d.read_value()
+                self.__dict__["_obj_data"][key] = decode_value(prop_d)
 
     def _encode_properties(self, encoder, state):
         def encode_value(encoder, v):
@@ -948,6 +955,11 @@
                 encoder.write_integer(v)
             elif isinstance(v, float):
                 encoder.write_float(v)
+            elif isinstance(v, list):
+                with encoder.write_list() as list_s:
+                    for i in v:
+                        with list_s.write_list_item() as item_s:
+                            encode_value(item_s, i)
             else:
                 raise TypeError(
                     f"Unsupported serialized type {type(v)} with value '{v}'"
@@ -1197,7 +1209,7 @@
 
         return SHACLObjectSet(new_objects, link=True)
 
-    def encode(self, encoder, force_list=False):
+    def encode(self, encoder, force_list=False, *, key=None):
         """
         Serialize a list of objects to a serialization encoder
 
@@ -1244,7 +1256,7 @@
         else:
             objects = list(self.objects)
 
-        objects.sort()
+        objects.sort(key=key)
 
         if use_list:
             # Ensure top level objects are only written in the top level graph
@@ -1265,7 +1277,7 @@
                     with list_s.write_list_item() as item_s:
                         o.encode(item_s, state)
 
-        else:
+        elif objects:
             objects[0].encode(encoder, state)
 
     def decode(self, decoder):
@@ -1410,6 +1422,15 @@
         pass
 
     @abstractmethod
+    def is_list(self):
+        """
+        Checks if the next item is a list
+
+        Returns True if the next item is a list, or False if it is a scalar
+        """
+        pass
+
+    @abstractmethod
     def read_object(self):
         """
         Consume next item as an object
@@ -1507,12 +1528,15 @@
         return None
 
     def read_list(self):
-        if isinstance(self.data, (list, tuple, set)):
+        if self.is_list():
             for v in self.data:
                 yield self.__class__(v)
         else:
             yield self
 
+    def is_list(self):
+        return isinstance(self.data, (list, tuple, set))
+
     def __get_value(self, *keys):
         for k in keys:
             if k and k in self.data:
@@ -1962,18 +1986,11 @@
 
 
 # CLASSES
-@register("http://spdx.invalid./AbstractClass", abstract=False)
-class http_spdx_invalid_AbstractClass(SHACLObject):
-    NODE_KIND = NodeKind.BlankNodeOrIRI
-    NAMED_INDIVIDUALS = {
-    }
-
-
 # A class for describing the energy consumption incurred by an AI model in
 # different stages of its lifecycle.
 @register("https://spdx.org/rdf/3.0.1/terms/AI/EnergyConsumption", compact_type="ai_EnergyConsumption", abstract=False)
 class ai_EnergyConsumption(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2010,7 +2027,7 @@
 # used for measurement.
 @register("https://spdx.org/rdf/3.0.1/terms/AI/EnergyConsumptionDescription", compact_type="ai_EnergyConsumptionDescription", abstract=False)
 class ai_EnergyConsumptionDescription(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2093,7 +2110,7 @@
 # Provides information about the creation of the Element.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/CreationInfo", compact_type="CreationInfo", abstract=False)
 class CreationInfo(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2147,7 +2164,7 @@
 # A key with an associated value.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/DictionaryEntry", compact_type="DictionaryEntry", abstract=False)
 class DictionaryEntry(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2177,15 +2194,7 @@
     NODE_KIND = NodeKind.IRI
     ID_ALIAS = "spdxId"
     NAMED_INDIVIDUALS = {
-        "NoAssertionElement": "https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement",
-        "NoneElement": "https://spdx.org/rdf/3.0.1/terms/Core/NoneElement",
     }
-    # An Individual Value for Element representing a set of Elements of unknown
-    # identify or cardinality (number).
-    NoAssertionElement = "https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement"
-    # An Individual Value for Element representing a set of Elements with
-    # cardinality (number/count) of zero.
-    NoneElement = "https://spdx.org/rdf/3.0.1/terms/Core/NoneElement"
 
     @classmethod
     def _register_props(cls):
@@ -2276,10 +2285,10 @@
             "element",
             ListProp(ObjectProp(Element, False, context=[
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoneElement", "NoneElement"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/SpdxOrganization", "SpdxOrganization"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement", "NoAssertionElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
                 ],)),
             iri="https://spdx.org/rdf/3.0.1/terms/Core/element",
             compact="element",
@@ -2308,10 +2317,10 @@
             "rootElement",
             ListProp(ObjectProp(Element, False, context=[
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoneElement", "NoneElement"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/SpdxOrganization", "SpdxOrganization"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement", "NoAssertionElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
                 ],)),
             iri="https://spdx.org/rdf/3.0.1/terms/Core/rootElement",
             compact="rootElement",
@@ -2321,7 +2330,7 @@
 # A reference to a resource identifier defined outside the scope of SPDX-3.0 content that uniquely identifies an Element.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/ExternalIdentifier", compact_type="ExternalIdentifier", abstract=False)
 class ExternalIdentifier(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2425,7 +2434,7 @@
 # external to that SpdxDocument.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/ExternalMap", compact_type="ExternalMap", abstract=False)
 class ExternalMap(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2469,7 +2478,7 @@
 # A reference to a resource outside the scope of SPDX-3.0 content related to an Element.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/ExternalRef", compact_type="ExternalRef", abstract=False)
 class ExternalRef(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2774,10 +2783,28 @@
     sha512 = "https://spdx.org/rdf/3.0.1/terms/Core/HashAlgorithm/sha512"
 
 
+# A concrete subclass of Element used by Individuals in the
+# Core profile.
+@register("https://spdx.org/rdf/3.0.1/terms/Core/IndividualElement", compact_type="IndividualElement", abstract=False)
+class IndividualElement(Element):
+    NODE_KIND = NodeKind.IRI
+    ID_ALIAS = "spdxId"
+    NAMED_INDIVIDUALS = {
+        "NoAssertionElement": "https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement",
+        "NoneElement": "https://spdx.org/rdf/3.0.1/terms/Core/NoneElement",
+    }
+    # An Individual Value for Element representing a set of Elements of unknown
+    # identify or cardinality (number).
+    NoAssertionElement = "https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement"
+    # An Individual Value for Element representing a set of Elements with
+    # cardinality (number/count) of zero.
+    NoneElement = "https://spdx.org/rdf/3.0.1/terms/Core/NoneElement"
+
+
 # Provides an independently reproducible mechanism that permits verification of a specific Element.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/IntegrityMethod", compact_type="IntegrityMethod", abstract=True)
 class IntegrityMethod(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2823,7 +2850,7 @@
 # A mapping between prefixes and namespace partial URIs.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/NamespaceMap", compact_type="NamespaceMap", abstract=False)
 class NamespaceMap(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2852,7 +2879,7 @@
 # An SPDX version 2.X compatible verification method for software packages.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/PackageVerificationCode", compact_type="PackageVerificationCode", abstract=False)
 class PackageVerificationCode(IntegrityMethod):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2911,7 +2938,7 @@
 # A tuple of two positive integers that define a range.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/PositiveIntegerRange", compact_type="PositiveIntegerRange", abstract=False)
 class PositiveIntegerRange(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -2977,7 +3004,7 @@
     core = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/core"
     # the element follows the Dataset profile specification
     dataset = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/dataset"
-    # the element follows the expanded Licensing profile specification
+    # the element follows the ExpandedLicensing profile specification
     expandedLicensing = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/expandedLicensing"
     # the element follows the Extension profile specification
     extension = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/extension"
@@ -2985,7 +3012,7 @@
     lite = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/lite"
     # the element follows the Security profile specification
     security = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/security"
-    # the element follows the simple Licensing profile specification
+    # the element follows the SimpleLicensing profile specification
     simpleLicensing = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/simpleLicensing"
     # the element follows the Software profile specification
     software = "https://spdx.org/rdf/3.0.1/terms/Core/ProfileIdentifierType/software"
@@ -3025,10 +3052,10 @@
             "from_",
             ObjectProp(Element, True, context=[
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoneElement", "NoneElement"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/SpdxOrganization", "SpdxOrganization"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement", "NoAssertionElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
                 ],),
             iri="https://spdx.org/rdf/3.0.1/terms/Core/from",
             min_count=1,
@@ -3114,10 +3141,10 @@
             "to",
             ListProp(ObjectProp(Element, False, context=[
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoneElement", "NoneElement"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/SpdxOrganization", "SpdxOrganization"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement", "NoAssertionElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
                 ],)),
             iri="https://spdx.org/rdf/3.0.1/terms/Core/to",
             min_count=1,
@@ -3343,8 +3370,8 @@
         cls._add_property(
             "dataLicense",
             ObjectProp(simplelicensing_AnyLicenseInfo, False, context=[
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                 ],),
             iri="https://spdx.org/rdf/3.0.1/terms/Core/dataLicense",
             compact="dataLicense",
@@ -3587,7 +3614,7 @@
 # A property name with an associated value.
 @register("https://spdx.org/rdf/3.0.1/terms/Extension/CdxPropertyEntry", compact_type="extension_CdxPropertyEntry", abstract=False)
 class extension_CdxPropertyEntry(SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -3614,7 +3641,7 @@
 # A characterization of some aspect of an Element that is associated with the Element in a generalized fashion.
 @register("https://spdx.org/rdf/3.0.1/terms/Extension/Extension", compact_type="extension_Extension", abstract=True)
 class extension_Extension(SHACLExtensibleObject, SHACLObject):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -3724,13 +3751,7 @@
         # found.
         cls._add_property(
             "security_assessedElement",
-            ObjectProp(Element, False, context=[
-                    ("https://spdx.org/rdf/3.0.1/terms/Core/NoneElement", "NoneElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/Core/SpdxOrganization", "SpdxOrganization"),
-                    ("https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement", "NoAssertionElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
-                ],),
+            ObjectProp(software_SoftwareArtifact, False),
             iri="https://spdx.org/rdf/3.0.1/terms/Security/assessedElement",
             compact="security_assessedElement",
         )
@@ -3826,7 +3847,7 @@
 # A canonical, unique, immutable identifier
 @register("https://spdx.org/rdf/3.0.1/terms/Software/ContentIdentifier", compact_type="software_ContentIdentifier", abstract=False)
 class software_ContentIdentifier(IntegrityMethod):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -4134,10 +4155,10 @@
             "subject",
             ObjectProp(Element, True, context=[
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoneElement", "NoneElement"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/SpdxOrganization", "SpdxOrganization"),
                     ("https://spdx.org/rdf/3.0.1/terms/Core/NoAssertionElement", "NoAssertionElement"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
                 ],),
             iri="https://spdx.org/rdf/3.0.1/terms/Core/subject",
             min_count=1,
@@ -4245,7 +4266,7 @@
 # A mathematically calculated representation of a grouping of data.
 @register("https://spdx.org/rdf/3.0.1/terms/Core/Hash", compact_type="Hash", abstract=False)
 class Hash(IntegrityMethod):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -4366,8 +4387,8 @@
         cls._add_property(
             "expandedlicensing_member",
             ListProp(ObjectProp(simplelicensing_AnyLicenseInfo, False, context=[
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                 ],)),
             iri="https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/member",
             min_count=2,
@@ -4400,8 +4421,8 @@
         cls._add_property(
             "expandedlicensing_member",
             ListProp(ObjectProp(simplelicensing_AnyLicenseInfo, False, context=[
-                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                     ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoAssertionLicense", "expandedlicensing_NoAssertionLicense"),
+                    ("https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/NoneLicense", "expandedlicensing_NoneLicense"),
                 ],)),
             iri="https://spdx.org/rdf/3.0.1/terms/ExpandedLicensing/member",
             min_count=2,
@@ -4603,7 +4624,7 @@
 # A type of extension consisting of a list of name value pairs.
 @register("https://spdx.org/rdf/3.0.1/terms/Extension/CdxPropertiesExtension", compact_type="extension_CdxPropertiesExtension", abstract=False)
 class extension_CdxPropertiesExtension(extension_Extension):
-    NODE_KIND = NodeKind.BlankNode
+    NODE_KIND = NodeKind.BlankNodeOrIRI
     NAMED_INDIVIDUALS = {
     }
 
@@ -4831,7 +4852,7 @@
         )
 
 
-# Asbtract ancestor class for all VEX relationships
+# Abstract ancestor class for all VEX relationships
 @register("https://spdx.org/rdf/3.0.1/terms/Security/VexVulnAssessmentRelationship", compact_type="security_VexVulnAssessmentRelationship", abstract=True)
 class security_VexVulnAssessmentRelationship(security_VulnAssessmentRelationship):
     NODE_KIND = NodeKind.IRI
@@ -5040,13 +5061,14 @@
             "security_actionStatement",
             StringProp(),
             iri="https://spdx.org/rdf/3.0.1/terms/Security/actionStatement",
+            min_count=1,
             compact="security_actionStatement",
         )
         # Records the time when a recommended action was communicated in a VEX statement
         # to mitigate a vulnerability.
         cls._add_property(
             "security_actionStatementTime",
-            ListProp(DateTimeStampProp(pattern=r"^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\dZ$",)),
+            DateTimeStampProp(pattern=r"^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\dZ$",),
             iri="https://spdx.org/rdf/3.0.1/terms/Security/actionStatementTime",
             compact="security_actionStatementTime",
         )
diff --git a/poky/meta/lib/oe/spdx30_tasks.py b/poky/meta/lib/oe/spdx30_tasks.py
index 036c58b..658e533 100644
--- a/poky/meta/lib/oe/spdx30_tasks.py
+++ b/poky/meta/lib/oe/spdx30_tasks.py
@@ -135,7 +135,7 @@
     topdir,
     get_spdxid,
     get_purposes,
-    license_data,
+    license_data=None,
     *,
     archive=None,
     ignore_dirs=[],
@@ -169,7 +169,10 @@
             )
             spdx_files.add(spdx_file)
 
-            if oe.spdx30.software_SoftwarePurpose.source in file_purposes:
+            if (
+                oe.spdx30.software_SoftwarePurpose.source in file_purposes
+                and license_data is not None
+            ):
                 objset.scan_declared_licenses(spdx_file, filepath, license_data)
 
             if archive is not None:
@@ -524,7 +527,7 @@
     build_objset.new_relationship(
         source_files,
         oe.spdx30.RelationshipType.hasConcludedLicense,
-        [recipe_spdx_license],
+        [oe.sbom30.get_element_link_id(recipe_spdx_license)],
     )
 
     dep_sources = {}
@@ -1072,25 +1075,45 @@
         for image in task["images"]:
             image_filename = image["filename"]
             image_path = image_deploy_dir / image_filename
-            a = objset.add_root(
-                oe.spdx30.software_File(
-                    _id=objset.new_spdxid("image", image_filename),
-                    creationInfo=objset.doc.creationInfo,
-                    name=image_filename,
-                    verifiedUsing=[
-                        oe.spdx30.Hash(
-                            algorithm=oe.spdx30.HashAlgorithm.sha256,
-                            hashValue=bb.utils.sha256_file(image_path),
-                        )
-                    ],
+            if os.path.isdir(image_path):
+                a = add_package_files(
+                        d,
+                        objset,
+                        image_path,
+                        lambda file_counter: objset.new_spdxid(
+                            "imagefile", str(file_counter)
+                        ),
+                        lambda filepath: [],
+                        license_data=None,
+                        ignore_dirs=[],
+                        ignore_top_level_dirs=[],
+                        archive=None,
                 )
-            )
-            set_purposes(
-                d, a, "SPDX_IMAGE_PURPOSE:%s" % imagetype, "SPDX_IMAGE_PURPOSE"
-            )
-            set_timestamp_now(d, a, "builtTime")
+                artifacts.extend(a)
+            else:
+                a = objset.add_root(
+                    oe.spdx30.software_File(
+                        _id=objset.new_spdxid("image", image_filename),
+                        creationInfo=objset.doc.creationInfo,
+                        name=image_filename,
+                        verifiedUsing=[
+                            oe.spdx30.Hash(
+                                algorithm=oe.spdx30.HashAlgorithm.sha256,
+                                hashValue=bb.utils.sha256_file(image_path),
+                            )
+                        ],
+                    )
+                )
 
-            artifacts.append(a)
+                artifacts.append(a)
+
+            for a in artifacts:
+                set_purposes(
+                    d, a, "SPDX_IMAGE_PURPOSE:%s" % imagetype, "SPDX_IMAGE_PURPOSE"
+                )
+
+                set_timestamp_now(d, a, "builtTime")
+
 
         if artifacts:
             objset.new_scoped_relationship(
diff --git a/poky/meta/lib/oe/spdx_common.py b/poky/meta/lib/oe/spdx_common.py
index ff18d91..23a1727 100644
--- a/poky/meta/lib/oe/spdx_common.py
+++ b/poky/meta/lib/oe/spdx_common.py
@@ -187,6 +187,8 @@
             bb.build.exec_func("do_unpack", d)
 
             if d.getVar("SRC_URI") != "":
+                if bb.data.inherits_class('dos2unix', d):
+                    bb.build.exec_func('do_convert_crlf_to_lf', d)
                 bb.build.exec_func("do_patch", d)
 
         # Copy source from work-share to spdx_workdir
diff --git a/poky/meta/lib/oeqa/sdk/cases/rust.py b/poky/meta/lib/oeqa/sdk/cases/rust.py
index a542458..4b115be 100644
--- a/poky/meta/lib/oeqa/sdk/cases/rust.py
+++ b/poky/meta/lib/oeqa/sdk/cases/rust.py
@@ -31,6 +31,7 @@
             raise unittest.SkipTest("RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain")
 
     def test_cargo_build(self):
+        self._run('cd %s/hello; cargo add zstd' % (self.tc.sdk_dir))
         self._run('cd %s/hello; cargo build' % self.tc.sdk_dir)
 
 class RustHostCompileTest(OESDKTestCase):
@@ -52,5 +53,6 @@
 
     def test_cargo_build(self):
         sdksys = self.td.get("SDK_SYS")
+        self._run('cd %s/hello; cargo add zstd' % (self.tc.sdk_dir))
         self._run('cd %s/hello; cargo build --target %s-gnu' % (self.tc.sdk_dir, sdksys))
         self._run('cd %s/hello; cargo run --target %s-gnu' % (self.tc.sdk_dir, sdksys))
diff --git a/poky/meta/lib/oeqa/sdk/context.py b/poky/meta/lib/oeqa/sdk/context.py
index 01c38c2..d968cfa 100644
--- a/poky/meta/lib/oeqa/sdk/context.py
+++ b/poky/meta/lib/oeqa/sdk/context.py
@@ -23,6 +23,13 @@
         self.target_pkg_manifest = target_pkg_manifest
         self.host_pkg_manifest = host_pkg_manifest
 
+        # match multilib according to sdk_env
+        self.multilib = ""
+        multilibs = self.td.get('MULTILIB_VARIANTS', '').split()
+        for ml in multilibs:
+            if ml in os.path.basename(self.sdk_env):
+                self.multilib = ml
+
     def _hasPackage(self, manifest, pkg, regex=False):
         if regex:
             # do regex match
@@ -41,11 +48,7 @@
 
     def hasTargetPackage(self, pkg, multilib=False, regex=False):
         if multilib:
-            # match multilib according to sdk_env
-            mls = self.td.get('MULTILIB_VARIANTS', '').split()
-            for ml in mls:
-                if ('ml'+ml) in self.sdk_env:
-                    pkg = ml + '-' + pkg
+            pkg = self.multilib + '-' + pkg
         return self._hasPackage(self.target_pkg_manifest, pkg, regex=regex)
 
 class OESDKTestContextExecutor(OETestContextExecutor):
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index 0927231..b509bcf 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -234,6 +234,5 @@
 
 class Poisoning(OESelftestTestCase):
     def test_poisoning(self):
-        res = bitbake("poison", ignore_status=True)
-        self.assertNotEqual(res.status, 0)
-        self.assertTrue("is unsafe for cross-compilation" in res.output)
+        # The poison recipe fails if the poisoning didn't work
+        bitbake("poison")
diff --git a/poky/meta/lib/oeqa/selftest/cases/cve_check.py b/poky/meta/lib/oeqa/selftest/cases/cve_check.py
index 3dd3e89..511e4b8 100644
--- a/poky/meta/lib/oeqa/selftest/cases/cve_check.py
+++ b/poky/meta/lib/oeqa/selftest/cases/cve_check.py
@@ -120,6 +120,211 @@
         self.assertEqual(has_cve_product_match(status, "test glibca:glibc"), True)
         self.assertEqual(has_cve_product_match(status, "glibca:glibc test"), True)
 
+    def test_parse_cve_from_patch_filename(self):
+        from oe.cve_check import parse_cve_from_filename
+
+        # Patch filename without CVE ID
+        self.assertEqual(parse_cve_from_filename("0001-test.patch"), "")
+
+        # Patch with single CVE ID
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2022-12345.patch"), "CVE-2022-12345"
+        )
+
+        # Patch with multiple CVE IDs
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2022-41741-CVE-2022-41742.patch"),
+            "CVE-2022-41742",
+        )
+
+        # Patches with CVE ID and appended text
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2023-3019-0001.patch"), "CVE-2023-3019"
+        )
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2024-21886-1.patch"), "CVE-2024-21886"
+        )
+
+        # Patch with CVE ID and prepended text
+        self.assertEqual(
+            parse_cve_from_filename("grep-CVE-2012-5667.patch"), "CVE-2012-5667"
+        )
+        self.assertEqual(
+            parse_cve_from_filename("0001-CVE-2012-5667.patch"), "CVE-2012-5667"
+        )
+
+        # Patch with CVE ID and both prepended and appended text
+        self.assertEqual(
+            parse_cve_from_filename(
+                "0001-tpm2_import-fix-fixed-AES-key-CVE-2021-3565-0001.patch"
+            ),
+            "CVE-2021-3565",
+        )
+
+        # Only grab the last CVE ID in the filename
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2012-5667-CVE-2012-5668.patch"),
+            "CVE-2012-5668",
+        )
+
+        # Test invalid CVE ID with incorrect length (must be at least 4 digits)
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2024-001.patch"),
+            "",
+        )
+
+        # Test valid CVE ID with very long length
+        self.assertEqual(
+            parse_cve_from_filename("CVE-2024-0000000000000000000000001.patch"),
+            "CVE-2024-0000000000000000000000001",
+        )
+
+    def test_parse_cve_from_patch_contents(self):
+        import textwrap
+        from oe.cve_check import parse_cves_from_patch_contents
+
+        # Standard patch file excerpt without any patches
+        self.assertEqual(
+            parse_cves_from_patch_contents(
+                textwrap.dedent("""\
+            remove "*" for root since we don't have a /etc/shadow so far.
+
+            Upstream-Status: Inappropriate [configuration]
+
+            Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+            --- base-passwd/passwd.master~nobash
+            +++ base-passwd/passwd.master
+            @@ -1,4 +1,4 @@
+            -root:*:0:0:root:/root:/bin/sh
+            +root::0:0:root:/root:/bin/sh
+            daemon:*:1:1:daemon:/usr/sbin:/bin/sh
+            bin:*:2:2:bin:/bin:/bin/sh
+            sys:*:3:3:sys:/dev:/bin/sh
+            """)
+            ),
+            set(),
+        )
+
+        # Patch file with multiple CVE IDs (space-separated)
+        self.assertEqual(
+            parse_cves_from_patch_contents(
+                textwrap.dedent("""\
+                There is an assertion in function _cairo_arc_in_direction().
+
+                CVE: CVE-2019-6461 CVE-2019-6462
+                Upstream-Status: Pending
+                Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+                diff --git a/src/cairo-arc.c b/src/cairo-arc.c
+                index 390397bae..1bde774a4 100644
+                --- a/src/cairo-arc.c
+                +++ b/src/cairo-arc.c
+                @@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t          *cr,
+                    if (cairo_status (cr))
+                        return;
+
+                -    assert (angle_max >= angle_min);
+                +    if (angle_max < angle_min)
+                +       return;
+
+                    if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
+                    angle_max = fmod (angle_max - angle_min, 2 * M_PI);
+            """),
+            ),
+            {"CVE-2019-6461", "CVE-2019-6462"},
+        )
+
+        # Patch file with multiple CVE IDs (comma-separated w/ both space and no space)
+        self.assertEqual(
+            parse_cves_from_patch_contents(
+                textwrap.dedent("""\
+                There is an assertion in function _cairo_arc_in_direction().
+
+                CVE: CVE-2019-6461,CVE-2019-6462, CVE-2019-6463
+                Upstream-Status: Pending
+                Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+                diff --git a/src/cairo-arc.c b/src/cairo-arc.c
+                index 390397bae..1bde774a4 100644
+                --- a/src/cairo-arc.c
+                +++ b/src/cairo-arc.c
+                @@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t          *cr,
+                    if (cairo_status (cr))
+                        return;
+
+                -    assert (angle_max >= angle_min);
+                +    if (angle_max < angle_min)
+                +       return;
+
+                    if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
+                    angle_max = fmod (angle_max - angle_min, 2 * M_PI);
+
+            """),
+            ),
+            {"CVE-2019-6461", "CVE-2019-6462", "CVE-2019-6463"},
+        )
+
+        # Patch file with multiple CVE IDs (&-separated)
+        self.assertEqual(
+            parse_cves_from_patch_contents(
+                textwrap.dedent("""\
+                There is an assertion in function _cairo_arc_in_direction().
+
+                CVE: CVE-2019-6461 & CVE-2019-6462
+                Upstream-Status: Pending
+                Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+                diff --git a/src/cairo-arc.c b/src/cairo-arc.c
+                index 390397bae..1bde774a4 100644
+                --- a/src/cairo-arc.c
+                +++ b/src/cairo-arc.c
+                @@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t          *cr,
+                    if (cairo_status (cr))
+                        return;
+
+                -    assert (angle_max >= angle_min);
+                +    if (angle_max < angle_min)
+                +       return;
+
+                    if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
+                    angle_max = fmod (angle_max - angle_min, 2 * M_PI);
+            """),
+            ),
+            {"CVE-2019-6461", "CVE-2019-6462"},
+        )
+
+        # Patch file with multiple lines with CVE IDs
+        self.assertEqual(
+            parse_cves_from_patch_contents(
+                textwrap.dedent("""\
+                There is an assertion in function _cairo_arc_in_direction().
+
+                CVE: CVE-2019-6461 & CVE-2019-6462
+
+                CVE: CVE-2019-6463 & CVE-2019-6464
+                Upstream-Status: Pending
+                Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+                diff --git a/src/cairo-arc.c b/src/cairo-arc.c
+                index 390397bae..1bde774a4 100644
+                --- a/src/cairo-arc.c
+                +++ b/src/cairo-arc.c
+                @@ -186,7 +186,8 @@ _cairo_arc_in_direction (cairo_t          *cr,
+                    if (cairo_status (cr))
+                        return;
+
+                -    assert (angle_max >= angle_min);
+                +    if (angle_max < angle_min)
+                +       return;
+
+                    if (angle_max - angle_min > 2 * M_PI * MAX_FULL_CIRCLES) {
+                    angle_max = fmod (angle_max - angle_min, 2 * M_PI);
+
+            """),
+            ),
+            {"CVE-2019-6461", "CVE-2019-6462", "CVE-2019-6463", "CVE-2019-6464"},
+        )
 
     def test_recipe_report_json(self):
         config = """
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 8d80501..e09e975 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -64,11 +64,15 @@
             # under COREBASE and we don't want to copy that, so we have
             # to be selective.
             result = runCmd('git status --porcelain', cwd=oldreporoot)
+
+            # Also copy modifications to the 'scripts/' directory
+            canonical_layerpath_scripts = os.path.normpath(canonical_layerpath + "../scripts")
+
             for line in result.output.splitlines():
                 if line.startswith(' M ') or line.startswith('?? '):
                     relpth = line.split()[1]
                     pth = os.path.join(oldreporoot, relpth)
-                    if pth.startswith(canonical_layerpath):
+                    if pth.startswith(canonical_layerpath) or pth.startswith(canonical_layerpath_scripts):
                         if relpth.endswith('/'):
                             destdir = os.path.join(corecopydir, relpth)
                             # avoid race condition by not copying .pyc files YPBZ#13421,13803
@@ -2533,7 +2537,7 @@
         self.track_for_cleanup(tempdir)
         self.add_command_to_tearDown('bitbake -c clean %s' % recipe_name)
 
-        result = runCmd('devtool modify %s -x %s' % (recipe_name, tempdir))
+        result = runCmd('devtool modify %s -x %s --debug-build' % (recipe_name, tempdir))
         self.assertExists(os.path.join(tempdir, build_file),
                           'Extracted source could not be found')
         self.assertExists(os.path.join(self.workspacedir, 'conf',
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index f742dd4..36557f2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -760,13 +760,13 @@
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
 
-        recipefile = os.path.join(temprecipe, 'edgex-go_git.bb')
-        deps_require_file = os.path.join(temprecipe, 'edgex-go', 'edgex-go-modules.inc')
-        lics_require_file = os.path.join(temprecipe, 'edgex-go', 'edgex-go-licenses.inc')
-        modules_txt_file = os.path.join(temprecipe, 'edgex-go', 'modules.txt')
+        recipefile = os.path.join(temprecipe, 'recipetool-go-test_git.bb')
+        deps_require_file = os.path.join(temprecipe, 'recipetool-go-test', 'recipetool-go-test-modules.inc')
+        lics_require_file = os.path.join(temprecipe, 'recipetool-go-test', 'recipetool-go-test-licenses.inc')
+        modules_txt_file = os.path.join(temprecipe, 'recipetool-go-test', 'modules.txt')
 
-        srcuri = 'https://github.com/edgexfoundry/edgex-go.git'
-        srcrev = "v3.0.0"
+        srcuri = 'https://git.yoctoproject.org/recipetool-go-test.git'
+        srcrev = "c3e213c01b6c1406b430df03ef0d1ae77de5d2f7"
         srcbranch = "main"
 
         result = runCmd('recipetool create -o %s %s -S %s -B %s' % (temprecipe, srcuri, srcrev, srcbranch))
@@ -775,207 +775,27 @@
         inherits = ['go-vendor']
 
         checkvars = {}
-        checkvars['GO_IMPORT'] = "github.com/edgexfoundry/edgex-go"
+        checkvars['GO_IMPORT'] = "git.yoctoproject.org/recipetool-go-test"
         checkvars['SRC_URI'] = {'git://${GO_IMPORT};destsuffix=git/src/${GO_IMPORT};nobranch=1;name=${BPN};protocol=https',
                                 'file://modules.txt'}
-        checkvars['LIC_FILES_CHKSUM'] = {'file://src/${GO_IMPORT}/LICENSE;md5=8f8bc924cf73f6a32381e5fd4c58d603'}
+        checkvars['LIC_FILES_CHKSUM'] = {
+            'file://src/${GO_IMPORT}/LICENSE;md5=4e3933dd47afbf115e484d11385fb3bd',
+            'file://src/${GO_IMPORT}/is/LICENSE;md5=62beaee5a116dd1e80161667b1df39ab'
+        }
 
-        self.assertTrue(os.path.isfile(recipefile))
         self._test_recipe_contents(recipefile, checkvars, inherits)
+        self.assertNotIn('Traceback', result.output)
 
         checkvars = {}
         checkvars['VENDORED_LIC_FILES_CHKSUM'] = set(
-                 ['file://src/${GO_IMPORT}/vendor/github.com/Microsoft/go-winio/LICENSE;md5=69205ff73858f2c22b2ca135b557e8ef',
-                 'file://src/${GO_IMPORT}/vendor/github.com/armon/go-metrics/LICENSE;md5=d2d77030c0183e3d1e66d26dc1f243be',
-                 'file://src/${GO_IMPORT}/vendor/github.com/cenkalti/backoff/LICENSE;md5=1571d94433e3f3aa05267efd4dbea68b',
-                 'file://src/${GO_IMPORT}/vendor/github.com/davecgh/go-spew/LICENSE;md5=c06795ed54b2a35ebeeb543cd3a73e56',
-                 'file://src/${GO_IMPORT}/vendor/github.com/eclipse/paho.mqtt.golang/LICENSE;md5=dcdb33474b60c38efd27356d8f2edec7',
-                 'file://src/${GO_IMPORT}/vendor/github.com/eclipse/paho.mqtt.golang/edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3',
-                 'file://src/${GO_IMPORT}/vendor/github.com/edgexfoundry/go-mod-bootstrap/v3/LICENSE;md5=0d6dae39976133b2851fba4c1e1275ff',
-                 'file://src/${GO_IMPORT}/vendor/github.com/edgexfoundry/go-mod-configuration/v3/LICENSE;md5=0d6dae39976133b2851fba4c1e1275ff',
-                 'file://src/${GO_IMPORT}/vendor/github.com/edgexfoundry/go-mod-core-contracts/v3/LICENSE;md5=0d6dae39976133b2851fba4c1e1275ff',
-                 'file://src/${GO_IMPORT}/vendor/github.com/edgexfoundry/go-mod-messaging/v3/LICENSE;md5=0d6dae39976133b2851fba4c1e1275ff',
-                 'file://src/${GO_IMPORT}/vendor/github.com/edgexfoundry/go-mod-registry/v3/LICENSE;md5=0d6dae39976133b2851fba4c1e1275ff',
-                 'file://src/${GO_IMPORT}/vendor/github.com/edgexfoundry/go-mod-secrets/v3/LICENSE;md5=f9fa2f4f8e0ef8cc7b5dd150963eb457',
-                 'file://src/${GO_IMPORT}/vendor/github.com/fatih/color/LICENSE.md;md5=316e6d590bdcde7993fb175662c0dd5a',
-                 'file://src/${GO_IMPORT}/vendor/github.com/fxamacker/cbor/v2/LICENSE;md5=827f5a2fa861382d35a3943adf9ebb86',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-jose/go-jose/v3/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-jose/go-jose/v3/json/LICENSE;md5=591778525c869cdde0ab5a1bf283cd81',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-kit/log/LICENSE;md5=5b7c15ad5fffe2ff6e9d58a6c161f082',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-logfmt/logfmt/LICENSE;md5=98e39517c38127f969de33057067091e',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-playground/locales/LICENSE;md5=3ccbda375ee345400ad1da85ba522301',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-playground/universal-translator/LICENSE;md5=2e2b21ef8f61057977d27c727c84bef1',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-playground/validator/v10/LICENSE;md5=a718a0f318d76f7c5d510cbae84f0b60',
-                 'file://src/${GO_IMPORT}/vendor/github.com/go-redis/redis/v7/LICENSE;md5=58103aa5ea1ee9b7a369c9c4a95ef9b5',
-                 'file://src/${GO_IMPORT}/vendor/github.com/golang/protobuf/LICENSE;md5=939cce1ec101726fa754e698ac871622',
-                 'file://src/${GO_IMPORT}/vendor/github.com/gomodule/redigo/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93',
-                 'file://src/${GO_IMPORT}/vendor/github.com/google/uuid/LICENSE;md5=88073b6dd8ec00fe09da59e0b6dfded1',
-                 'file://src/${GO_IMPORT}/vendor/github.com/gorilla/mux/LICENSE;md5=33fa1116c45f9e8de714033f99edde13',
-                 'file://src/${GO_IMPORT}/vendor/github.com/gorilla/websocket/LICENSE;md5=c007b54a1743d596f46b2748d9f8c044',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/consul/api/LICENSE;md5=b8a277a612171b7526e9be072f405ef4',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/errwrap/LICENSE;md5=b278a92d2c1509760384428817710378',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/go-cleanhttp/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/go-hclog/LICENSE;md5=ec7f605b74b9ad03347d0a93a5cc7eb8',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/go-immutable-radix/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/go-multierror/LICENSE;md5=d44fdeb607e2d2614db9464dbedd4094',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/go-rootcerts/LICENSE;md5=65d26fcc2f35ea6a181ac777e42db1ea',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/golang-lru/LICENSE;md5=f27a50d2e878867827842f2c60e30bfc',
-                 'file://src/${GO_IMPORT}/vendor/github.com/hashicorp/serf/LICENSE;md5=b278a92d2c1509760384428817710378',
-                 'file://src/${GO_IMPORT}/vendor/github.com/leodido/go-urn/LICENSE;md5=8f50db5538ec1148a9b3d14ed96c3418',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mattn/go-colorable/LICENSE;md5=24ce168f90aec2456a73de1839037245',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mattn/go-isatty/LICENSE;md5=f509beadd5a11227c27b5d2ad6c9f2c6',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mitchellh/consulstructure/LICENSE;md5=96ada10a9e51c98c4656f2cede08c673',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mitchellh/copystructure/LICENSE;md5=56da355a12d4821cda57b8f23ec34bc4',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mitchellh/go-homedir/LICENSE;md5=3f7765c3d4f58e1f84c4313cecf0f5bd',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mitchellh/mapstructure/LICENSE;md5=3f7765c3d4f58e1f84c4313cecf0f5bd',
-                 'file://src/${GO_IMPORT}/vendor/github.com/mitchellh/reflectwalk/LICENSE;md5=3f7765c3d4f58e1f84c4313cecf0f5bd',
-                 'file://src/${GO_IMPORT}/vendor/github.com/nats-io/nats.go/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327',
-                 'file://src/${GO_IMPORT}/vendor/github.com/nats-io/nkeys/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327',
-                 'file://src/${GO_IMPORT}/vendor/github.com/nats-io/nuid/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327',
-                 'file://src/${GO_IMPORT}/vendor/github.com/pmezard/go-difflib/LICENSE;md5=e9a2ebb8de779a07500ddecca806145e',
-                 'file://src/${GO_IMPORT}/vendor/github.com/rcrowley/go-metrics/LICENSE;md5=1bdf5d819f50f141366dabce3be1460f',
-                 'file://src/${GO_IMPORT}/vendor/github.com/spiffe/go-spiffe/v2/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327',
-                 'file://src/${GO_IMPORT}/vendor/github.com/stretchr/objx/LICENSE;md5=d023fd31d3ca39ec61eec65a91732735',
-                 'file://src/${GO_IMPORT}/vendor/github.com/stretchr/testify/LICENSE;md5=188f01994659f3c0d310612333d2a26f',
-                 'file://src/${GO_IMPORT}/vendor/github.com/x448/float16/LICENSE;md5=de8f8e025d57fe7ee0b67f30d571323b',
-                 'file://src/${GO_IMPORT}/vendor/github.com/zeebo/errs/LICENSE;md5=84914ab36fc0eb48edbaa53e66e8d326',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/crypto/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/mod/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/net/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/sync/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/sys/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/text/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/golang.org/x/tools/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707',
-                 'file://src/${GO_IMPORT}/vendor/google.golang.org/genproto/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57',
-                 'file://src/${GO_IMPORT}/vendor/google.golang.org/grpc/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57',
-                 'file://src/${GO_IMPORT}/vendor/google.golang.org/protobuf/LICENSE;md5=02d4002e9171d41a8fad93aa7faf3956',
-                 'file://src/${GO_IMPORT}/vendor/gopkg.in/eapache/queue.v1/LICENSE;md5=1bfd4408d3de090ef6b908b0cc45a316',
-                 'file://src/${GO_IMPORT}/vendor/gopkg.in/yaml.v3/LICENSE;md5=3c91c17266710e16afdbb2b6d15c761c'])
-
+                 ['file://src/${GO_IMPORT}/vendor/github.com/godbus/dbus/v5/LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed',
+                 'file://src/${GO_IMPORT}/vendor/github.com/matryer/is/LICENSE;md5=62beaee5a116dd1e80161667b1df39ab'])
         self.assertTrue(os.path.isfile(lics_require_file))
         self._test_recipe_contents(lics_require_file, checkvars, [])
 
+        # make sure that dependencies don't mention local directory ./matryer/is
         dependencies = \
-            [   ('github.com/eclipse/paho.mqtt.golang','v1.4.2', '', '', ''),
-                ('github.com/edgexfoundry/go-mod-bootstrap','v3.0.1','github.com/edgexfoundry/go-mod-bootstrap/v3','/v3', ''),
-                ('github.com/edgexfoundry/go-mod-configuration','v3.0.0','github.com/edgexfoundry/go-mod-configuration/v3','/v3', ''),
-                ('github.com/edgexfoundry/go-mod-core-contracts','v3.0.0','github.com/edgexfoundry/go-mod-core-contracts/v3','/v3', ''),
-                ('github.com/edgexfoundry/go-mod-messaging','v3.0.0','github.com/edgexfoundry/go-mod-messaging/v3','/v3', ''),
-                ('github.com/edgexfoundry/go-mod-secrets','v3.0.1','github.com/edgexfoundry/go-mod-secrets/v3','/v3', ''),
-                ('github.com/fxamacker/cbor','v2.4.0','github.com/fxamacker/cbor/v2','/v2', ''),
-                ('github.com/gomodule/redigo','v1.8.9', '', '', ''),
-                ('github.com/google/uuid','v1.3.0', '', '', ''),
-                ('github.com/gorilla/mux','v1.8.0', '', '', ''),
-                ('github.com/rcrowley/go-metrics','v0.0.0-20201227073835-cf1acfcdf475', '', '', ''),
-                ('github.com/spiffe/go-spiffe','v2.1.4','github.com/spiffe/go-spiffe/v2','/v2', ''),
-                ('github.com/stretchr/testify','v1.8.2', '', '', ''),
-                ('go.googlesource.com/crypto','v0.8.0','golang.org/x/crypto', '', ''),
-                ('gopkg.in/eapache/queue.v1','v1.1.0', '', '', ''),
-                ('gopkg.in/yaml.v3','v3.0.1', '', '', ''),
-                ('github.com/microsoft/go-winio','v0.6.0','github.com/Microsoft/go-winio', '', ''),
-                ('github.com/hashicorp/go-metrics','v0.3.10','github.com/armon/go-metrics', '', ''),
-                ('github.com/cenkalti/backoff','v2.2.1+incompatible', '', '', ''),
-                ('github.com/davecgh/go-spew','v1.1.1', '', '', ''),
-                ('github.com/edgexfoundry/go-mod-registry','v3.0.0','github.com/edgexfoundry/go-mod-registry/v3','/v3', ''),
-                ('github.com/fatih/color','v1.9.0', '', '', ''),
-                ('github.com/go-jose/go-jose','v3.0.0','github.com/go-jose/go-jose/v3','/v3', ''),
-                ('github.com/go-kit/log','v0.2.1', '', '', ''),
-                ('github.com/go-logfmt/logfmt','v0.5.1', '', '', ''),
-                ('github.com/go-playground/locales','v0.14.1', '', '', ''),
-                ('github.com/go-playground/universal-translator','v0.18.1', '', '', ''),
-                ('github.com/go-playground/validator','v10.13.0','github.com/go-playground/validator/v10','/v10', ''),
-                ('github.com/go-redis/redis','v7.3.0','github.com/go-redis/redis/v7','/v7', ''),
-                ('github.com/golang/protobuf','v1.5.2', '', '', ''),
-                ('github.com/gorilla/websocket','v1.4.2', '', '', ''),
-                ('github.com/hashicorp/consul','v1.20.0','github.com/hashicorp/consul/api', '', 'api'),
-                ('github.com/hashicorp/errwrap','v1.0.0', '', '', ''),
-                ('github.com/hashicorp/go-cleanhttp','v0.5.1', '', '', ''),
-                ('github.com/hashicorp/go-hclog','v0.14.1', '', '', ''),
-                ('github.com/hashicorp/go-immutable-radix','v1.3.0', '', '', ''),
-                ('github.com/hashicorp/go-multierror','v1.1.1', '', '', ''),
-                ('github.com/hashicorp/go-rootcerts','v1.0.2', '', '', ''),
-                ('github.com/hashicorp/golang-lru','v0.5.4', '', '', ''),
-                ('github.com/hashicorp/serf','v0.10.1', '', '', ''),
-                ('github.com/leodido/go-urn','v1.2.3', '', '', ''),
-                ('github.com/mattn/go-colorable','v0.1.12', '', '', ''),
-                ('github.com/mattn/go-isatty','v0.0.14', '', '', ''),
-                ('github.com/mitchellh/consulstructure','v0.0.0-20190329231841-56fdc4d2da54', '', '', ''),
-                ('github.com/mitchellh/copystructure','v1.2.0', '', '', ''),
-                ('github.com/mitchellh/go-homedir','v1.1.0', '', '', ''),
-                ('github.com/mitchellh/mapstructure','v1.5.0', '', '', ''),
-                ('github.com/mitchellh/reflectwalk','v1.0.2', '', '', ''),
-                ('github.com/nats-io/nats.go','v1.25.0', '', '', ''),
-                ('github.com/nats-io/nkeys','v0.4.4', '', '', ''),
-                ('github.com/nats-io/nuid','v1.0.1', '', '', ''),
-                ('github.com/pmezard/go-difflib','v1.0.0', '', '', ''),
-                ('github.com/stretchr/objx','v0.5.0', '', '', ''),
-                ('github.com/x448/float16','v0.8.4', '', '', ''),
-                ('github.com/zeebo/errs','v1.3.0', '', '', ''),
-                ('go.googlesource.com/mod','v0.8.0','golang.org/x/mod', '', ''),
-                ('go.googlesource.com/net','v0.9.0','golang.org/x/net', '', ''),
-                ('go.googlesource.com/sync','v0.1.0','golang.org/x/sync', '', ''),
-                ('go.googlesource.com/sys','v0.7.0','golang.org/x/sys', '', ''),
-                ('go.googlesource.com/text','v0.9.0','golang.org/x/text', '', ''),
-                ('go.googlesource.com/tools','v0.6.0','golang.org/x/tools', '', ''),
-                ('github.com/googleapis/go-genproto','v0.0.0-20230223222841-637eb2293923','google.golang.org/genproto', '', ''),
-                ('github.com/grpc/grpc-go','v1.53.0','google.golang.org/grpc', '', ''),
-                ('go.googlesource.com/protobuf','v1.28.1','google.golang.org/protobuf', '', ''),
-            ]
-
-        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, [])
-
-    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', '', '', ''),
+            [   ('github.com/godbus/dbus','v5.1.0', 'github.com/godbus/dbus/v5', '/v5', ''),
             ]
 
         src_uri = set()
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index ee6f8cb..3fb0e5e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -239,18 +239,31 @@
         # may reuse the previous log file so restart the bitbake server.
         bitbake("--kill-server")
 
+        def print_condensed_error_log(logs, context_lines=10, tail_lines=20):
+            """Prints errors with context and the end of the log."""
+
+            logs = logs.split("\n")
+            for i, line in enumerate(logs):
+                if line.startswith("ERROR"):
+                    self.logger.info("Found ERROR (line %d):" % (i + 1))
+                    for l in logs[i-context_lines:i+context_lines]:
+                        self.logger.info("      " + l)
+
+            self.logger.info("End of log:")
+            for l in logs[-tail_lines:]:
+                self.logger.info("      " + l)
+
         bitbake_failure_count = 0
         if not use_sstate:
             if self.sstate_targets:
                self.logger.info("Building prebuild for %s (sstate allowed)..." % (name))
                self.write_config(config)
                try:
-                   bitbake("--continue "+' '.join(self.sstate_targets), limit_exc_output=20)
+                   bitbake("--continue "+' '.join(self.sstate_targets))
                except AssertionError as e:
                    bitbake_failure_count += 1
                    self.logger.error("Bitbake failed! but keep going... Log:")
-                   for line in str(e).split("\n"):
-                       self.logger.info("    "+line)
+                   print_condensed_error_log(str(e))
 
             # This config fragment will disable using shared and the sstate
             # mirror, forcing a complete build from scratch
@@ -264,13 +277,11 @@
         d = get_bb_vars(capture_vars)
         # targets used to be called images
         try:
-            bitbake("--continue "+' '.join(getattr(self, 'images', self.targets)), limit_exc_output=20)
+            bitbake("--continue "+' '.join(getattr(self, 'images', self.targets)))
         except AssertionError as e:
             bitbake_failure_count += 1
-
             self.logger.error("Bitbake failed! but keep going... Log:")
-            for line in str(e).split("\n"):
-                self.logger.info("    "+line)
+            print_condensed_error_log(str(e))
 
             # The calling function expects the existence of the deploy
             # directories containing the packages.
@@ -318,7 +329,9 @@
                 self.logger.error('%s build failed. Trying to compute built packages differences but the test will fail.' % name)
                 fails.append("Bitbake %s failure" % name)
                 if self.save_results:
-                    self.copy_file(variables["BB_CONSOLELOG"], os.path.join(save_dir, "bitbake-%s.log" % name))
+                    failure_log_path = os.path.join(save_dir, "bitbake-%s.log" % name)
+                    self.logger.info('Failure log for %s will be copied to %s'% (name, failure_log_path))
+                    self.copy_file(variables["BB_CONSOLELOG"], failure_log_path)
             vars_list[i] = variables
 
         vars_A, vars_B = vars_list
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 27090ae..4843d81 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -273,6 +273,8 @@
         import subprocess, os
 
         distro = oe.lsb.distro_identifier()
+        # Merge request to address the issue on centos/rhel/derivatives:
+        # https://gitlab.com/cki-project/kernel-ark/-/merge_requests/3449
         if distro and (distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'centos-9', 'ubuntu-16.04', 'ubuntu-18.04'] or
             distro.startswith('almalinux') or distro.startswith('rocky')):
             self.skipTest('virgl headless cannot be tested with %s' %(distro))
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index fa0172d..5164244 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -367,13 +367,7 @@
         self.run_test_sstate_cache_management_script('m4', global_config,  target_config, ignore_patterns=['populate_lic'])
 
 class SStateHashSameSigs(SStateBase):
-    def test_sstate_32_64_same_hash(self):
-        """
-        The sstate checksums for both native and target should not vary whether
-        they're built on a 32 or 64 bit system. Rather than requiring two different
-        build machines and running a builds, override the variables calling uname()
-        manually and check using bitbake -S.
-        """
+    def sstate_hashtest(self, sdkmachine):
 
         self.write_config("""
 MACHINE = "qemux86"
@@ -391,10 +385,10 @@
 TMPDIR = "${TOPDIR}/tmp-sstatesamehash2"
 BUILD_ARCH = "i686"
 BUILD_OS = "linux"
-SDKMACHINE = "i686"
+SDKMACHINE = "%s"
 PACKAGE_CLASSES = "package_rpm package_ipk package_deb"
 BB_SIGNATURE_HANDLER = "OEBasicHash"
-""")
+""" % sdkmachine)
         self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2")
         bitbake("core-image-weston -S none")
 
@@ -414,6 +408,20 @@
         self.maxDiff = None
         self.assertCountEqual(files1, files2)
 
+    def test_sstate_32_64_same_hash(self):
+        """
+        The sstate checksums for both native and target should not vary whether
+        they're built on a 32 or 64 bit system. Rather than requiring two different
+        build machines and running a builds, override the variables calling uname()
+        manually and check using bitbake -S.
+        """
+        self.sstate_hashtest("i686")
+
+    def test_sstate_sdk_arch_same_hash(self):
+        """
+        Similarly, test an arm SDK has the same hashes
+        """
+        self.sstate_hashtest("aarch64")
 
     def test_sstate_nativelsbstring_same_hash(self):
         """
diff --git a/poky/meta/lib/oeqa/utils/sshcontrol.py b/poky/meta/lib/oeqa/utils/sshcontrol.py
index 36c2ecb..6c56487 100644
--- a/poky/meta/lib/oeqa/utils/sshcontrol.py
+++ b/poky/meta/lib/oeqa/utils/sshcontrol.py
@@ -57,8 +57,10 @@
                     if select.select([self.process.stdout], [], [], 5)[0] != []:
                         data = os.read(self.process.stdout.fileno(), 1024)
                         if not data:
-                            self.process.stdout.close()
-                            eof = True
+                            self.process.poll()
+                            if self.process.returncode is None:
+                                self.process.stdout.close()
+                                eof = True
                         else:
                             data = data.decode("utf-8")
                             output += data
diff --git a/poky/meta/recipes-bsp/efivar/efivar_39.bb b/poky/meta/recipes-bsp/efivar/efivar_39.bb
index fe21332..b052e38 100644
--- a/poky/meta/recipes-bsp/efivar/efivar_39.bb
+++ b/poky/meta/recipes-bsp/efivar/efivar_39.bb
@@ -5,7 +5,7 @@
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
 
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64|riscv64).*-linux"
 
 SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \
            file://0001-docs-do-not-build-efisecdb-manpage.patch \
diff --git a/poky/meta/recipes-bsp/formfactor/files/qemuriscv32/machconfig b/poky/meta/recipes-bsp/formfactor/files/qemuriscv32/machconfig
new file mode 100755
index 0000000..2789b5f
--- /dev/null
+++ b/poky/meta/recipes-bsp/formfactor/files/qemuriscv32/machconfig
@@ -0,0 +1,10 @@
+HAVE_TOUCHSCREEN=1
+HAVE_KEYBOARD=1
+
+DISPLAY_CAN_ROTATE=0
+DISPLAY_ORIENTATION=0
+DISPLAY_WIDTH_PIXELS=640
+DISPLAY_HEIGHT_PIXELS=480
+DISPLAY_BPP=16
+DISPLAY_DPI=150
+DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/poky/meta/recipes-bsp/formfactor/files/qemuriscv64/machconfig b/poky/meta/recipes-bsp/formfactor/files/qemuriscv64/machconfig
new file mode 100755
index 0000000..2789b5f
--- /dev/null
+++ b/poky/meta/recipes-bsp/formfactor/files/qemuriscv64/machconfig
@@ -0,0 +1,10 @@
+HAVE_TOUCHSCREEN=1
+HAVE_KEYBOARD=1
+
+DISPLAY_CAN_ROTATE=0
+DISPLAY_ORIENTATION=0
+DISPLAY_WIDTH_PIXELS=640
+DISPLAY_HEIGHT_PIXELS=480
+DISPLAY_BPP=16
+DISPLAY_DPI=150
+DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
index fed3c7e..a004e3a 100644
--- a/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
+++ b/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
@@ -23,7 +23,7 @@
     bb.build.exec_func('build_efi_cfg', d)
 }
 
-do_configure[vardeps] += "APPEND ROOT"
+do_configure[vardeps] += "APPEND ROOT GRUB_TITLE"
 
 do_install() {
 	install -d ${D}${EFI_FILES_PATH}
diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_1.5.1.bb b/poky/meta/recipes-bsp/opensbi/opensbi_1.6.bb
similarity index 91%
rename from poky/meta/recipes-bsp/opensbi/opensbi_1.5.1.bb
rename to poky/meta/recipes-bsp/opensbi/opensbi_1.6.bb
index 652b811..3c16656 100644
--- a/poky/meta/recipes-bsp/opensbi/opensbi_1.5.1.bb
+++ b/poky/meta/recipes-bsp/opensbi/opensbi_1.6.bb
@@ -8,11 +8,13 @@
 
 inherit autotools-brokensep deploy
 
-SRCREV = "43cace6c3671e5172d0df0a8963e552bb04b7b20"
-SRC_URI = "git://github.com/riscv/opensbi.git;branch=release-1.5.x;protocol=https"
+SRCREV = "bd613dd92113f683052acfb23d9dc8ba60029e0a"
+SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
+TARGET_DBGSRC_DIR = "/share/opensbi/*/generic/firmware/"
+
 TARGET_CC_ARCH += "${LDFLAGS}"
 
 RISCV_SBI_FW_TEXT_START ??= "0x80000000"
@@ -45,4 +47,3 @@
 FILES:${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_dynamic.*"
 
 COMPATIBLE_HOST = "(riscv64|riscv32).*"
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/poky/meta/recipes-bsp/u-boot/files/0001-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch b/poky/meta/recipes-bsp/u-boot/files/0001-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch
deleted file mode 100644
index 2eeef99..0000000
--- a/poky/meta/recipes-bsp/u-boot/files/0001-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From e093607e9a08e9c29b7bbaa6aeb137036db798a6 Mon Sep 17 00:00:00 2001
-From: Markus Volk <f_l_k@t-online.de>
-Date: Wed, 30 Oct 2024 05:46:00 +0100
-Subject: [PATCH] scripts/dtc/pylibfdt/libfdt.i_shipped: Use SWIG_AppendOutput
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Swig has changed language specific AppendOutput functions. The helper
-macro SWIG_AppendOutput remains unchanged. Use that instead
-of SWIG_Python_AppendOutput, which would require an extra parameter
-since swig 4.3.0.
-
-/home/flk/poky/build-test/tmp/work/qemux86_64-poky-linux/u-boot/2024.10/git/arch/x86/cpu/u-boot-64.lds
-| scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
-| scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
-|  5581 |     resultobj = SWIG_Python_AppendOutput(resultobj, val);
-|       |                 ^~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/a63456b9191fae2fe49f4b121e025792022e3950]
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
----
- scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
-index 56cc5d48f4..e4659489a9 100644
---- a/scripts/dtc/pylibfdt/libfdt.i_shipped
-+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
-@@ -1037,7 +1037,7 @@ typedef uint32_t fdt32_t;
- 			fdt_string(fdt1, fdt32_to_cpu($1->nameoff)));
- 		buff = PyByteArray_FromStringAndSize(
- 			(const char *)($1 + 1), fdt32_to_cpu($1->len));
--		resultobj = SWIG_Python_AppendOutput(resultobj, buff);
-+		resultobj = SWIG_AppendOutput(resultobj, buff);
- 	}
- }
- 
-@@ -1076,7 +1076,7 @@ typedef uint32_t fdt32_t;
- 
- %typemap(argout) int *depth {
-         PyObject *val = Py_BuildValue("i", *arg$argnum);
--        resultobj = SWIG_Python_AppendOutput(resultobj, val);
-+        resultobj = SWIG_AppendOutput(resultobj, val);
- }
- 
- %apply int *depth { int *depth };
-@@ -1092,7 +1092,7 @@ typedef uint32_t fdt32_t;
-            if (PyTuple_GET_SIZE(resultobj) == 0)
-               resultobj = val;
-            else
--              resultobj = SWIG_Python_AppendOutput(resultobj, val);
-+              resultobj = SWIG_AppendOutput(resultobj, val);
-         }
- }
- 
--- 
-2.47.0
-
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index fe3afb3..fc86024 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -12,10 +12,9 @@
 
 # We use the revision in order to avoid having to fetch it from the
 # repo during parse
-SRCREV = "f919c3a889f0ec7d63a48b5d0ed064386b0980bd"
+SRCREV = "6d41f0a39d6423c8e57e92ebbe9f8c0333a63f72"
 
 SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master"
-SRC_URI += "file://0001-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch"
 
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc b/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc
index f301076..4e4f7fa 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools.inc
@@ -2,7 +2,7 @@
 DEPENDS += "gnutls openssl util-linux swig-native"
 
 inherit python3native
-export STAGING_INCDIR="${STAGING_INCDIR_NATIVE}"
+export STAGING_INCDIR = "${STAGING_INCDIR_NATIVE}"
 
 PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage ${MLPREFIX}u-boot-mkeficapsule"
 PROVIDES:class-native = "u-boot-mkimage-native u-boot-mkenvimage-native u-boot-mkeficapsule-native"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2024.10.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2025.01.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot-tools_2024.10.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot-tools_2025.01.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2024.10.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2025.01.bb
similarity index 100%
rename from poky/meta/recipes-bsp/u-boot/u-boot_2024.10.bb
rename to poky/meta/recipes-bsp/u-boot/u-boot_2025.01.bb
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 38d07ca..2fa4ba1 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 5ae30329f168c1e8d2e0c3831988a4f3e9096e39 Mon Sep 17 00:00:00 2001
+From 0b3f9331639695300a1ec89e3020765ab1ef5e31 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
@@ -27,16 +27,15 @@
 
 Upstream-Status: Inappropriate [OE Specific]
 Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-
 ---
  configure.ac | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index 2ab8ddd..92fe983 100644
+index 865b4d0..a80b6ce 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -761,7 +761,7 @@ AS_CASE([$with_lmdb],
+@@ -863,7 +863,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.20.3.bb b/poky/meta/recipes-connectivity/bind/bind_9.20.4.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/bind/bind_9.20.3.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.20.4.bb
index a77b030..d9ea440 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.20.3.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.20.4.bb
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "f90c2da1621299f56a2e6585a6fe459ec3efd6f2fdf84a8fbf31b40be7698a73"
+SRC_URI[sha256sum] = "3a8e1a05e00e3e9bc02bdffded7862faf7726ba76ba997f42ab487777bd8210b"
 
 UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
 # follow the ESV versions divisible by 2
diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc
index 073061e..133e861 100644
--- a/poky/meta/recipes-connectivity/connman/connman.inc
+++ b/poky/meta/recipes-connectivity/connman/connman.inc
@@ -155,12 +155,12 @@
 PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
 
 FILES:${PN}-tools = "${bindir}/wispr"
-RDEPENDS:${PN}-tools ="${PN}"
+RDEPENDS:${PN}-tools = "${PN}"
 
 FILES:${PN}-tests = "${bindir}/*-test"
 
 FILES:${PN}-client = "${bindir}/connmanctl"
-RDEPENDS:${PN}-client ="${PN}"
+RDEPENDS:${PN}-client = "${PN}"
 
 FILES:${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
             ${libdir}/connman/plugins \
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_2.5.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_2.5.bb
index d8fc706..7310f2d 100644
--- a/poky/meta/recipes-connectivity/inetutils/inetutils_2.5.bb
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_2.5.bb
@@ -141,7 +141,7 @@
 ALTERNATIVE_LINK_NAME[telnetd] = "${sbindir}/telnetd"
 ALTERNATIVE_TARGET[telnetd] = "${sbindir}/in.telnetd"
 
-ALTERNATIVE:${PN}-inetd= "inetd"
+ALTERNATIVE:${PN}-inetd = "inetd"
 ALTERNATIVE:${PN}-traceroute = "traceroute"
 
 ALTERNATIVE:${PN}-hostname = "hostname"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch
index 555d63b..03af400 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-include-libnetlink.h-add-missing-include-for-htobe64.patch
@@ -1,4 +1,4 @@
-From f3c574b27000fd887cee84ab47adf23f767cbea1 Mon Sep 17 00:00:00 2001
+From 4dc0613e229f6b4a57beb00dde14ef319a2dcad8 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Sat, 24 Aug 2024 15:32:25 +0200
 Subject: [PATCH] include/libnetlink.h: add missing include for htobe64
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-rearrange-and-prune-header-files.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-rearrange-and-prune-header-files.patch
new file mode 100644
index 0000000..2f77910
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-ip-rearrange-and-prune-header-files.patch
@@ -0,0 +1,90 @@
+From 714291a63246cb3e6b86eb2a78fa84216d768a4b Mon Sep 17 00:00:00 2001
+From: Stephen Hemminger <stephen@networkplumber.org>
+Date: Tue, 10 Dec 2024 13:38:08 -0800
+Subject: [PATCH] ip: rearrange and prune header files
+
+The recent report of issues with missing limits.h impacting musl
+suggested looking at what files are and are not included in ip code.
+
+The standard practice is to put standard headers first, then system,
+then local headers. Used iwyu to get suggestions about missing
+and extraneous headers.
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=7e23da91fca6e5dedeb32a7d308cf20982e897c3]
+Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ ip/iplink.c  | 13 +++++--------
+ ip/ipnetns.c | 19 +++++++++----------
+ 2 files changed, 14 insertions(+), 18 deletions(-)
+
+diff --git a/ip/iplink.c b/ip/iplink.c
+index e650a5c2..8df367ed 100644
+--- a/ip/iplink.c
++++ b/ip/iplink.c
+@@ -11,17 +11,14 @@
+ #include <fcntl.h>
+ #include <dlfcn.h>
+ #include <errno.h>
++#include <string.h>
++#include <strings.h>
++#include <limits.h>
++
+ #include <sys/socket.h>
++#include <arpa/inet.h>
+ #include <linux/if.h>
+-#include <linux/if_packet.h>
+ #include <linux/if_ether.h>
+-#include <linux/sockios.h>
+-#include <netinet/in.h>
+-#include <arpa/inet.h>
+-#include <string.h>
+-#include <sys/ioctl.h>
+-#include <stdbool.h>
+-#include <linux/mpls.h>
+ 
+ #include "rt_names.h"
+ #include "utils.h"
+diff --git a/ip/ipnetns.c b/ip/ipnetns.c
+index 5c943400..a20cd8bc 100644
+--- a/ip/ipnetns.c
++++ b/ip/ipnetns.c
+@@ -1,21 +1,21 @@
+ /* SPDX-License-Identifier: GPL-2.0 */
+ #define _ATFILE_SOURCE
+-#include <sys/file.h>
+-#include <sys/types.h>
+-#include <sys/stat.h>
+-#include <sys/wait.h>
+-#include <sys/inotify.h>
+-#include <sys/mount.h>
+-#include <sys/syscall.h>
++
+ #include <stdio.h>
++#include <stdint.h>
+ #include <string.h>
+-#include <sched.h>
+ #include <fcntl.h>
+ #include <dirent.h>
+ #include <errno.h>
+ #include <unistd.h>
+ #include <ctype.h>
+-#include <linux/limits.h>
++#include <limits.h>
++
++#include <sys/file.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <sys/inotify.h>
++#include <sys/mount.h>
+ 
+ #include <linux/net_namespace.h>
+ 
+@@ -23,7 +23,6 @@
+ #include "list.h"
+ #include "ip_common.h"
+ #include "namespace.h"
+-#include "json_print.h"
+ 
+ static int usage(void)
+ {
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0002-bridge-mst-fix-a-musl-build-issue.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0002-bridge-mst-fix-a-musl-build-issue.patch
deleted file mode 100644
index 3e266b9..0000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/0002-bridge-mst-fix-a-musl-build-issue.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001
-From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
-Date: Sun, 22 Sep 2024 16:50:10 +0200
-Subject: [PATCH] bridge: mst: fix a musl build issue
-
-This patch fixes a compilation error raised by the bump to version 6.11.0
-in Buildroot using musl as the C library for the cross-compilation
-toolchain.
-
-After setting the CFLGAS
-
-ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
-IPROUTE2_CFLAGS += -D__UAPI_DEF_IN6_ADDR=0 -D__UAPI_DEF_SOCKADDR_IN6=0 \
-                        -D__UAPI_DEF_IPV6_MREQ=0
-endif
-
-to fix the following errors:
-
-In file included from ../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/arpa/inet.h:9,
-                 from ../include/libnetlink.h:14,
-                 from mst.c:10:
-../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr'
-   23 | struct in6_addr {
-      |        ^~~~~~~~
-In file included from ../include/uapi/linux/if_bridge.h:19,
-                 from mst.c:7:
-../include/uapi/linux/in6.h:33:8: note: originally defined here
-   33 | struct in6_addr {
-      |        ^~~~~~~~
-../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: error: redefinition of 'struct sockaddr_in6'
-   34 | struct sockaddr_in6 {
-      |        ^~~~~~~~~~~~
-../include/uapi/linux/in6.h:50:8: note: originally defined here
-   50 | struct sockaddr_in6 {
-      |        ^~~~~~~~~~~~
-../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: error: redefinition of 'struct ipv6_mreq'
-   42 | struct ipv6_mreq {
-      |        ^~~~~~~~~
-../include/uapi/linux/in6.h:60:8: note: originally defined here
-   60 | struct ipv6_mreq {
-
-I got this further errors
-
-../include/uapi/linux/in6.h:72:25: error: field 'flr_dst' has incomplete type
-   72 |         struct in6_addr flr_dst;
-      |                         ^~~~~~~
-../include/uapi/linux/if_bridge.h:711:41: error: field 'ip6' has incomplete type
-  711 |                         struct in6_addr ip6;
-      |                                         ^~~
-
-fixed by including the netinet/in.h header.
-
-Upstream-Status: Backport
-[https://kernel.googlesource.com/pub/scm/network/iproute2/iproute2/+/6a77abab92516e65f07f8657fc4e384c4541ce0e]
-
-Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
----
- bridge/mst.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/bridge/mst.c b/bridge/mst.c
-index 873ca536..c8f7e660 100644
---- a/bridge/mst.c
-+++ b/bridge/mst.c
-@@ -4,6 +4,7 @@
-  */
-
- #include <stdio.h>
-+#include <netinet/in.h>
- #include <linux/if_bridge.h>
- #include <net/if.h>
-
---
-2.39.5 (Apple Git-154)
-
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0003-bridge-mst-fix-a-further-musl-build-issue.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0003-bridge-mst-fix-a-further-musl-build-issue.patch
deleted file mode 100644
index 6a30f6d..0000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/0003-bridge-mst-fix-a-further-musl-build-issue.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 043ef90e2fa94397eb5c85330889ca4146a6d58a Mon Sep 17 00:00:00 2001
-From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
-Date: Sun, 22 Sep 2024 16:50:11 +0200
-Subject: [PATCH] bridge: mst: fix a further musl build issue
-
-This patch fixes the following build errors:
-
-In file included from mst.c:11:
-../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
-   80 | _PRINT_FUNC(tv, const struct timeval *)
-      |                              ^~~~~~~
-../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC'
-   50 |                                     type value);                        \
-      |                                     ^~~~
-../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration
-   80 | _PRINT_FUNC(tv, const struct timeval *)
-      |                              ^~~~~~~
-../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC'
-   55 |                                             type value)                 \
-      |                                             ^~~~
-../include/json_print.h: In function 'print_tv':
-../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types]
-   58 |                                                value);                  \
-      |                                                ^~~~~
-      |                                                |
-      |                                                const struct timeval *
-../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC'
-   80 | _PRINT_FUNC(tv, const struct timeval *)
-      | ^~~~~~~~~~~
-../include/json_print.h:50:42: note: expected 'const struct timeval *' but argument is of type 'const struct timeval *'
-   50 |                                     type value);                        \
-      |                                          ^
-../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC'
-   80 | _PRINT_FUNC(tv, const struct timeval *)
-
-Upstream-Status: Backport
-[https://kernel.googlesource.com/pub/scm/network/iproute2/iproute2/+/043ef90e2fa94397eb5c85330889ca4146a6d58a]
-
-Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
----
- bridge/mst.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/bridge/mst.c b/bridge/mst.c
-index c8f7e660..fccb7fd6 100644
---- a/bridge/mst.c
-+++ b/bridge/mst.c
-@@ -4,6 +4,7 @@
-  */
-
- #include <stdio.h>
-+#include <sys/time.h>
- #include <netinet/in.h>
- #include <linux/if_bridge.h>
- #include <net/if.h>
---
-2.39.5 (Apple Git-154)
-
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_6.11.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_6.12.0.bb
similarity index 92%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_6.11.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_6.12.0.bb
index 652484a..741d547 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_6.11.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_6.12.0.bb
@@ -13,14 +13,10 @@
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
            file://0001-include-libnetlink.h-add-missing-include-for-htobe64.patch \
+           file://0001-ip-rearrange-and-prune-header-files.patch \
            "
 
-SRC_URI:append:libc-musl = "\
-           file://0002-bridge-mst-fix-a-musl-build-issue.patch \
-           file://0003-bridge-mst-fix-a-further-musl-build-issue.patch \ 
-           "
-
-SRC_URI[sha256sum] = "1f795398a04aeaacd06a8f6ace2cfd913c33fa5953ca99daae83bb5c534611c3"
+SRC_URI[sha256sum] = "bbd141ef7b5d0127cc2152843ba61f274dc32814fa3e0f13e7d07a080bef53d9"
 
 inherit update-alternatives bash-completion pkgconfig
 
diff --git a/poky/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch b/poky/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
new file mode 100644
index 0000000..794726f
--- /dev/null
+++ b/poky/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
@@ -0,0 +1,190 @@
+From dab0f3daafb760ace0d4091f74ff90edb225ca02 Mon Sep 17 00:00:00 2001
+From: q66 <q66@chimera-linux.org>
+Date: Sun, 15 Dec 2024 03:04:53 +0100
+Subject: [PATCH] Update asiolink for boost 1.87
+
+Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2523]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/lib/asiolink/io_address.cc         |  4 ++--
+ src/lib/asiolink/io_service.cc         |  8 ++++----
+ src/lib/asiolink/tcp_endpoint.h        |  2 +-
+ src/lib/asiolink/udp_endpoint.h        |  2 +-
+ src/lib/asiolink/unix_domain_socket.cc | 16 ++++++++--------
+ src/lib/dhcp/iface_mgr.cc              |  2 +-
+ 6 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/src/lib/asiolink/io_address.cc b/src/lib/asiolink/io_address.cc
+index 43459bf..06b7d3d 100644
+--- a/src/lib/asiolink/io_address.cc
++++ b/src/lib/asiolink/io_address.cc
+@@ -37,7 +37,7 @@ IOAddress::Hash::operator()(const IOAddress &io_address) const {
+ // because we'd like to throw our own exception on failure.
+ IOAddress::IOAddress(const std::string& address_str) {
+     boost::system::error_code err;
+-    asio_address_ = ip::address::from_string(address_str, err);
++    asio_address_ = ip::make_address(address_str, err);
+     if (err) {
+         isc_throw(IOError, "Failed to convert string to address '"
+                   << address_str << "': " << err.message());
+@@ -116,7 +116,7 @@ IOAddress::isV6Multicast() const {
+ uint32_t
+ IOAddress::toUint32() const {
+     if (asio_address_.is_v4()) {
+-        return (asio_address_.to_v4().to_ulong());
++        return (asio_address_.to_v4().to_uint());
+     } else {
+         isc_throw(BadValue, "Can't convert " << toText()
+                   << " address to IPv4.");
+diff --git a/src/lib/asiolink/io_service.cc b/src/lib/asiolink/io_service.cc
+index 411de64..cc28d24 100644
+--- a/src/lib/asiolink/io_service.cc
++++ b/src/lib/asiolink/io_service.cc
+@@ -30,7 +30,7 @@ public:
+     /// @brief The constructor.
+     IOServiceImpl() :
+         io_service_(),
+-        work_(new boost::asio::io_service::work(io_service_)) {
++        work_(boost::asio::make_work_guard(io_service_)) {
+     };
+ 
+     /// @brief The destructor.
+@@ -92,7 +92,7 @@ public:
+ 
+     /// @brief Restarts the IOService in preparation for a subsequent @ref run() invocation.
+     void restart() {
+-        io_service_.reset();
++        io_service_.restart();
+     }
+ 
+     /// @brief Removes IO service work object to let it finish running
+@@ -115,12 +115,12 @@ public:
+     ///
+     /// @param callback The callback to be run on the IO service.
+     void post(const std::function<void ()>& callback) {
+-        io_service_.post(callback);
++        boost::asio::post(io_service_, callback);
+     }
+ 
+ private:
+     boost::asio::io_service io_service_;
+-    boost::shared_ptr<boost::asio::io_service::work> work_;
++    boost::asio::executor_work_guard<boost::asio::io_service::executor_type> work_;
+ };
+ 
+ IOService::IOService() : io_impl_(new IOServiceImpl()) {
+diff --git a/src/lib/asiolink/tcp_endpoint.h b/src/lib/asiolink/tcp_endpoint.h
+index 8ebd575..7c8cb35 100644
+--- a/src/lib/asiolink/tcp_endpoint.h
++++ b/src/lib/asiolink/tcp_endpoint.h
+@@ -42,7 +42,7 @@ public:
+     /// \param port The TCP port number of the endpoint.
+     TCPEndpoint(const IOAddress& address, const unsigned short port) :
+         asio_endpoint_placeholder_(
+-            new boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(address.toText()),
++            new boost::asio::ip::tcp::endpoint(boost::asio::ip::make_address(address.toText()),
+                               port)),
+         asio_endpoint_(*asio_endpoint_placeholder_)
+     {}
+diff --git a/src/lib/asiolink/udp_endpoint.h b/src/lib/asiolink/udp_endpoint.h
+index f960bf3..2a3da9f 100644
+--- a/src/lib/asiolink/udp_endpoint.h
++++ b/src/lib/asiolink/udp_endpoint.h
+@@ -42,7 +42,7 @@ public:
+     /// \param port The UDP port number of the endpoint.
+     UDPEndpoint(const IOAddress& address, const unsigned short port) :
+         asio_endpoint_placeholder_(
+-            new boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(address.toText()),
++            new boost::asio::ip::udp::endpoint(boost::asio::ip::make_address(address.toText()),
+                               port)),
+         asio_endpoint_(*asio_endpoint_placeholder_)
+     {}
+diff --git a/src/lib/asiolink/unix_domain_socket.cc b/src/lib/asiolink/unix_domain_socket.cc
+index f43e1c9..43ff3c8 100644
+--- a/src/lib/asiolink/unix_domain_socket.cc
++++ b/src/lib/asiolink/unix_domain_socket.cc
+@@ -83,7 +83,7 @@ public:
+     /// @param buffer Buffers holding the data to be sent.
+     /// @param handler User supplied callback to be invoked when data have
+     /// been sent or sending error is signalled.
+-    void doSend(const boost::asio::const_buffers_1& buffer,
++    void doSend(const boost::asio::const_buffer& buffer,
+                 const UnixDomainSocket::Handler& handler);
+ 
+ 
+@@ -103,7 +103,7 @@ public:
+     /// @param ec Error code returned as a result of sending the data.
+     /// @param length Length of the data sent.
+     void sendHandler(const UnixDomainSocket::Handler& remote_handler,
+-                     const boost::asio::const_buffers_1& buffer,
++                     const boost::asio::const_buffer& buffer,
+                      const boost::system::error_code& ec,
+                      size_t length);
+ 
+@@ -127,7 +127,7 @@ public:
+     /// @param buffer A buffer into which the data should be received.
+     /// @param handler User supplied callback invoked when data have been
+     /// received on an error is signalled.
+-    void doReceive(const boost::asio::mutable_buffers_1& buffer,
++    void doReceive(const boost::asio::mutable_buffer& buffer,
+                    const UnixDomainSocket::Handler& handler);
+ 
+     /// @brief Local handler invoked as a result of asynchronous receive.
+@@ -146,7 +146,7 @@ public:
+     /// @param ec Error code returned as a result of asynchronous receive.
+     /// @param length Size of the received data.
+     void receiveHandler(const UnixDomainSocket::Handler& remote_handler,
+-                        const boost::asio::mutable_buffers_1& buffer,
++                        const boost::asio::mutable_buffer& buffer,
+                         const boost::system::error_code& ec,
+                         size_t length);
+ 
+@@ -197,7 +197,7 @@ UnixDomainSocketImpl::asyncSend(const void* data, const size_t length,
+ }
+ 
+ void
+-UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer,
++UnixDomainSocketImpl::doSend(const boost::asio::const_buffer& buffer,
+                              const UnixDomainSocket::Handler& handler) {
+     auto local_handler = std::bind(&UnixDomainSocketImpl::sendHandler,
+                                    shared_from_this(),
+@@ -207,7 +207,7 @@ UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer,
+ 
+ void
+ UnixDomainSocketImpl::sendHandler(const UnixDomainSocket::Handler& remote_handler,
+-                                  const boost::asio::const_buffers_1& buffer,
++                                  const boost::asio::const_buffer& buffer,
+                                   const boost::system::error_code& ec,
+                                   size_t length) {
+     // The asynchronous send may return EWOULDBLOCK or EAGAIN on some
+@@ -230,7 +230,7 @@ UnixDomainSocketImpl::asyncReceive(void* data, const size_t length,
+ }
+ 
+ void
+-UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer,
++UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffer& buffer,
+                                 const UnixDomainSocket::Handler& handler) {
+     auto local_handler = std::bind(&UnixDomainSocketImpl::receiveHandler,
+                                    shared_from_this(),
+@@ -240,7 +240,7 @@ UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer,
+ 
+ void
+ UnixDomainSocketImpl::receiveHandler(const UnixDomainSocket::Handler& remote_handler,
+-                                     const boost::asio::mutable_buffers_1& buffer,
++                                     const boost::asio::mutable_buffer& buffer,
+                                      const boost::system::error_code& ec,
+                                      size_t length) {
+     // The asynchronous receive may return EWOULDBLOCK or EAGAIN on some
+diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc
+index 01a1d63..419268b 100644
+--- a/src/lib/dhcp/iface_mgr.cc
++++ b/src/lib/dhcp/iface_mgr.cc
+@@ -1034,7 +1034,7 @@ IfaceMgr::getLocalAddress(const IOAddress& remote_addr, const uint16_t port) {
+     }
+ 
+     // Create socket that will be used to connect to remote endpoint.
+-    boost::asio::io_service io_service;
++    boost::asio::io_context io_service;
+     boost::asio::ip::udp::socket sock(io_service);
+ 
+     boost::system::error_code err_code;
diff --git a/poky/meta/recipes-connectivity/kea/kea_2.6.1.bb b/poky/meta/recipes-connectivity/kea/kea_2.6.1.bb
index 4f8c412..19e07f5 100644
--- a/poky/meta/recipes-connectivity/kea/kea_2.6.1.bb
+++ b/poky/meta/recipes-connectivity/kea/kea_2.6.1.bb
@@ -19,6 +19,7 @@
            file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
            file://0001-Replace-Name-NameString-with-vector-of-uint8_t.patch \
            file://0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch \
+           file://0001-Update-asiolink-for-boost-1.87.patch \
            "
 SRC_URI[sha256sum] = "d2ce14a91c2e248ad2876e29152d647bcc5e433bc68dafad0ee96ec166fcfad1"
 
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-typecast-warning-with-clang.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-typecast-warning-with-clang.patch
new file mode 100644
index 0000000..f493a30
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-typecast-warning-with-clang.patch
@@ -0,0 +1,32 @@
+From 0a64c5ad17786796d84390e480a38b4f762229ae Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Dec 2024 19:20:39 -0800
+Subject: [PATCH v2] Fix typecast warning with clang
+
+Fixes
+file.c:200:8: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
+
+Upstream-Status: Submitted [https://marc.info/?l=linux-nfs&m=173463533411103&w=2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Benjamin Coddington <bcodding@redhat.com>
+Cc: Steve Dickson <steved@redhat.com>
+---
+v2: Make base as const char pointer insread of trying type punning
+
+ support/nsm/file.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/support/nsm/file.c b/support/nsm/file.c
+index de122b0f..68f99bf0 100644
+--- a/support/nsm/file.c
++++ b/support/nsm/file.c
+@@ -184,7 +184,8 @@ static char *
+ nsm_make_temp_pathname(const char *pathname)
+ {
+ 	size_t size;
+-	char *path, *base;
++	char *path;
++	const char *base;
+ 	int len;
+ 
+ 	size = strlen(pathname) + sizeof(".new") + 1;
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.2.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.1.bb
rename to poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.2.bb
index 488a1a7..18c4a24 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.1.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.8.2.bb
@@ -31,9 +31,10 @@
            file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
            file://clang-warnings.patch \
            file://0001-locktest-Makefile.am-Do-not-use-build-flags.patch \
+           file://0001-Fix-typecast-warning-with-clang.patch \
            "
 
-SRC_URI[sha256sum] = "a0be95b08396908048583fcf6b34a7c1ab49d53e8a12eb28673ccfd2eff0c505"
+SRC_URI[sha256sum] = "a39bbea76ac0ab9e6e8699caf3c308b6b310c20d458e8fa8606196d358e7fb15"
 
 # Only kernel-module-nfsd is required here (but can be built-in)  - the nfsd module will
 # pull in the remainder of the dependencies.
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/CVE-2024-7539.patch b/poky/meta/recipes-connectivity/ofono/ofono/CVE-2024-7539.patch
new file mode 100644
index 0000000..e415969
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono/CVE-2024-7539.patch
@@ -0,0 +1,88 @@
+From 389e2344f86319265fb72ae590b470716e038fdc Mon Sep 17 00:00:00 2001
+From: Sicelo A. Mhlongo <absicsz@gmail.com>
+Date: Tue, 17 Dec 2024 11:31:29 +0200
+Subject: [PATCH] ussd: ensure ussd content fits in buffers
+
+Fixes: CVE-2024-7539
+
+CVE: CVE-2024-7539
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=389e2344f86319265fb72ae590b470716e038fdc]
+
+Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
+---
+ drivers/atmodem/ussd.c      | 5 ++++-
+ drivers/huaweimodem/ussd.c  | 5 ++++-
+ drivers/speedupmodem/ussd.c | 5 ++++-
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/atmodem/ussd.c b/drivers/atmodem/ussd.c
+index 32a9fe9..99da559 100644
+--- a/drivers/atmodem/ussd.c
++++ b/drivers/atmodem/ussd.c
+@@ -93,7 +93,7 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
+	const char *content;
+	int dcs;
+	enum sms_charset charset;
+-	unsigned char msg[160];
++	unsigned char msg[160] = {0};
+	const unsigned char *msg_ptr = NULL;
+	long msg_len;
+
+@@ -113,6 +113,9 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
+	if (!g_at_result_iter_next_number(&iter, &dcs))
+		dcs = 0;
+
++	if (strlen(content) > sizeof(msg) * 2)
++		goto out;
++
+	if (!cbs_dcs_decode(dcs, NULL, NULL, &charset, NULL, NULL, NULL)) {
+		ofono_error("Unsupported USSD data coding scheme (%02x)", dcs);
+		status = 4; /* Not supported */
+diff --git a/drivers/huaweimodem/ussd.c b/drivers/huaweimodem/ussd.c
+index 5e1c907..3d165c8 100644
+--- a/drivers/huaweimodem/ussd.c
++++ b/drivers/huaweimodem/ussd.c
+@@ -38,7 +38,7 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
+	int status;
+	int dcs = 0;
+	const char *content;
+-	unsigned char msg[160];
++	unsigned char msg[160] = {0};
+	const unsigned char *msg_ptr = NULL;
+	long msg_len;
+
+@@ -55,6 +55,9 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
+
+	g_at_result_iter_next_number(&iter, &dcs);
+
++	if (strlen(content) > sizeof(msg) * 2)
++		goto out;
++
+	msg_ptr = decode_hex_own_buf(content, -1, &msg_len, 0, msg);
+
+ out:
+diff --git a/drivers/speedupmodem/ussd.c b/drivers/speedupmodem/ussd.c
+index aafa4bc..a5efde0 100644
+--- a/drivers/speedupmodem/ussd.c
++++ b/drivers/speedupmodem/ussd.c
+@@ -37,7 +37,7 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
+	int status;
+	int dcs = 0;
+	const char *content;
+-	unsigned char msg[160];
++	unsigned char msg[160] = {0};
+	const unsigned char *msg_ptr = NULL;
+	long msg_len;
+
+@@ -54,6 +54,9 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
+
+	g_at_result_iter_next_number(&iter, &dcs);
+
++	if (strlen(content) > sizeof(msg) * 2)
++		goto out;
++
+	msg_ptr = decode_hex_own_buf(content, -1, &msg_len, 0, msg);
+
+ out:
+--
+2.40.0
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/CVE-2024-7540_CVE-2024-7541_CVE-2024-7542.patch b/poky/meta/recipes-connectivity/ofono/ofono/CVE-2024-7540_CVE-2024-7541_CVE-2024-7542.patch
new file mode 100644
index 0000000..fd97d4b
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono/CVE-2024-7540_CVE-2024-7541_CVE-2024-7542.patch
@@ -0,0 +1,52 @@
+From 29ff6334b492504ace101be748b256e6953d2c2f Mon Sep 17 00:00:00 2001
+From: "Sicelo A. Mhlongo" <absicsz@gmail.com>
+Date: Tue, 17 Dec 2024 11:31:28 +0200
+Subject: [PATCH] atmodem: sms: ensure buffer is initialized before use
+
+Fixes: CVE-2024-7540
+Fixes: CVE-2024-7541
+Fixes: CVE-2024-7542
+
+CVE: CVE-2024-7540
+CVE: CVE-2024-7541
+CVE: CVE-2024-7542
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=29ff6334b492504ace101be748b256e6953d2c2f]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ drivers/atmodem/sms.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/atmodem/sms.c b/drivers/atmodem/sms.c
+index d994856b..0668c631 100644
+--- a/drivers/atmodem/sms.c
++++ b/drivers/atmodem/sms.c
+@@ -399,7 +399,7 @@ static void at_cmt_notify(GAtResult *result, gpointer user_data)
+ 	struct sms_data *data = ofono_sms_get_data(sms);
+ 	GAtResultIter iter;
+ 	const char *hexpdu;
+-	unsigned char pdu[176];
++	unsigned char pdu[176] = {0};
+ 	long pdu_len;
+ 	int tpdu_len;
+ 
+@@ -466,7 +466,7 @@ static void at_cmgr_notify(GAtResult *result, gpointer user_data)
+ 	struct sms_data *data = ofono_sms_get_data(sms);
+ 	GAtResultIter iter;
+ 	const char *hexpdu;
+-	unsigned char pdu[176];
++	unsigned char pdu[176] = {0};
+ 	long pdu_len;
+ 	int tpdu_len;
+ 
+@@ -648,7 +648,7 @@ static void at_cmgl_notify(GAtResult *result, gpointer user_data)
+ 	struct sms_data *data = ofono_sms_get_data(sms);
+ 	GAtResultIter iter;
+ 	const char *hexpdu;
+-	unsigned char pdu[176];
++	unsigned char pdu[176] = {0};
+ 	long pdu_len;
+ 	int tpdu_len;
+ 	int index;
+-- 
+2.30.2
+
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/rmnet.patch b/poky/meta/recipes-connectivity/ofono/ofono/rmnet.patch
new file mode 100644
index 0000000..11dfd5d
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono/rmnet.patch
@@ -0,0 +1,45 @@
+From git@z Thu Jan  1 00:00:00 1970
+Subject: [PATCH] rmnet: Handle toolchains with old kernel headers
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 19 Dec 2024 13:47:15 +0000
+Message-Id: <e2b6a94dd9a3789e31dafadfc70c53b565d1db04.camel@linuxfoundation.org>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 7bit
+
+The RMNET_FLAGS_*GRESS_MAP_CKSUMV5 defines were added to the kernel in
+5.14[1] and some toolchains use older headers, so add fallback defines
+in case they are needed.
+
+[1] linux b6e5d27e32ef6089d316ce7e1ecaf595584d4b84
+
+Upstream-Status: Submitted [https://lore.kernel.org/ofono/e2b6a94dd9a3789e31dafadfc70c53b565d1db04.camel@linuxfoundation.org/T/#u]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/rmnet.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/rmnet.c b/src/rmnet.c
+index 42b03249..9a7f52fb 100644
+--- a/src/rmnet.c
++++ b/src/rmnet.c
+@@ -27,6 +27,16 @@
+ #define MAX_MUX_IDS 254U
+ #define DEFAULT_MTU 1400U
+ 
++/*
++ * These were added in 5.14 so define them here if the toolchain's kernel headers are old.
++ */
++#ifndef RMNET_FLAGS_INGRESS_MAP_CKSUMV5
++#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4)
++#endif
++#ifndef RMNET_FLAGS_EGRESS_MAP_CKSUMV5
++#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5)
++#endif
++
+ struct rmnet_request {
+ 	uint32_t parent_ifindex;
+ 	rmnet_new_interfaces_func_t new_cb;
+-- 
+2.43.0
+
diff --git a/poky/meta/recipes-connectivity/ofono/ofono_2.13.bb b/poky/meta/recipes-connectivity/ofono/ofono_2.14.bb
similarity index 88%
rename from poky/meta/recipes-connectivity/ofono/ofono_2.13.bb
rename to poky/meta/recipes-connectivity/ofono/ofono_2.14.bb
index 2cc59b5..9a91afa 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono_2.13.bb
+++ b/poky/meta/recipes-connectivity/ofono/ofono_2.14.bb
@@ -9,9 +9,12 @@
 
 SRC_URI = "\
     ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+    file://rmnet.patch \
     file://ofono \
+    file://CVE-2024-7539.patch \
+    file://CVE-2024-7540_CVE-2024-7541_CVE-2024-7542.patch \
 "
-SRC_URI[sha256sum] = "fa813ed74a4658e5702f707033497bf891504ffdc0f1b45d85bc3f092010744f"
+SRC_URI[sha256sum] = "983cbfd5e1e1a410ba7ad2db7f50fadc91e50b29f1ede40cdc73f941da7ba95f"
 
 inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
 
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_9.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_9.9p1.bb
index 6d9dac3..cb47ae7 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_9.9p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_9.9p1.bb
@@ -11,7 +11,7 @@
 DEPENDS = "zlib openssl virtual/crypt"
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
-SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
+SRC_URI = "https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
            file://sshd_config \
            file://ssh_config \
            file://init \
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.4.0.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.4.0.bb
index b7f96db..9d99c21 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.4.0.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.4.0.bb
@@ -265,6 +265,3 @@
 BBCLASSEXTEND = "native nativesdk"
 
 CVE_PRODUCT = "openssl:openssl"
-
-CVE_VERSION_SUFFIX = "alphabetical"
-
diff --git a/poky/meta/recipes-connectivity/ppp/ppp_2.5.1.bb b/poky/meta/recipes-connectivity/ppp/ppp_2.5.2.bb
similarity index 88%
rename from poky/meta/recipes-connectivity/ppp/ppp_2.5.1.bb
rename to poky/meta/recipes-connectivity/ppp/ppp_2.5.2.bb
index 89c9789..9ea99cc 100644
--- a/poky/meta/recipes-connectivity/ppp/ppp_2.5.1.bb
+++ b/poky/meta/recipes-connectivity/ppp/ppp_2.5.2.bb
@@ -5,11 +5,11 @@
 HOMEPAGE = "http://samba.org/ppp/"
 BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
 DEPENDS = "libpcap virtual/crypt"
-LICENSE = "BSD-3-Clause & BSD-3-Clause-Attribution & GPL-2.0-or-later & LGPL-2.0-or-later & PD & RSA-MD & MIT"
-LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=1bea10e81fc6f2df105b1f8b733cb149 \
-                    file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
+LICENSE = "BSD-2-Clause & GPL-2.0-or-later & LGPL-2.0-or-later & PD & RSA-MD & MIT"
+LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=25;md5=f0463bd67ae70535c709fca554089bd8 \
                     file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
-                    file://chat/chat.c;beginline=1;endline=1;md5=234d7d4edd08962c0144e4604050e0b6"
+                    file://chat/chat.c;beginline=1;endline=1;md5=234d7d4edd08962c0144e4604050e0b6 \
+                    "
 
 SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz \
            file://pon \
@@ -25,13 +25,14 @@
            file://ppp@.service \
            "
 
-SRC_URI[sha256sum] = "733b7f5840b613da4eab0429a5081293275f06ba8b528e1b8eea6964faf0243a"
+SRC_URI[sha256sum] = "47da358de54a10cb10bf6ff2cf9b1c03c0d3555518f6182e8f701b8e55733cb2"
 
 inherit autotools pkgconfig systemd
 
-PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} openssl"
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} openssl multilink"
 PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam"
 PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl"
+PACKAGECONFIG[multilink] = "--enable-multilink,--disable-multilink"
 
 do_install:append () {
 	mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
diff --git a/poky/meta/recipes-connectivity/socat/socat_1.8.0.1.bb b/poky/meta/recipes-connectivity/socat/socat_1.8.0.2.bb
similarity index 94%
rename from poky/meta/recipes-connectivity/socat/socat_1.8.0.1.bb
rename to poky/meta/recipes-connectivity/socat/socat_1.8.0.2.bb
index 95b4017..7d5da67 100644
--- a/poky/meta/recipes-connectivity/socat/socat_1.8.0.1.bb
+++ b/poky/meta/recipes-connectivity/socat/socat_1.8.0.2.bb
@@ -13,7 +13,7 @@
            file://0001-fix-compile-procan.c-failed.patch \
 "
 
-SRC_URI[sha256sum] = "6a283565db7cf86292c6f70504c58abb03e29888adeed5a6c5f3457e803c1b81"
+SRC_URI[sha256sum] = "adc07a9c2723527cf6568d2fb96559794cf9c254a4bc2edd36f7f3789e9f7625"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index 8bcd91e..60253fc 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -72,29 +72,6 @@
 
 BASEFILESISSUEINSTALL ?= "do_install_basefilesissue"
 
-# In previous versions of base-files, /run was a softlink to /var/run and the
-# directory was located in /var/volatlie/run.  Also, /var/lock was a softlink
-# to /var/volatile/lock which is where the real directory was located.  Now,
-# /run and /run/lock are the real directories.  If we are upgrading, we may
-# need to remove the symbolic links first before we create the directories.
-# Otherwise the directory creation will fail and we will have circular symbolic
-# links.
-# 
-pkg_preinst:${PN} () {
-    #!/bin/sh -e
-    if [ x"$D" = "x" ]; then
-        if [ -h "/var/lock" ]; then
-            # Remove the symbolic link
-            rm -f /var/lock
-        fi
-
-        if [ -h "/run" ]; then
-            # Remove the symbolic link
-            rm -f /run
-        fi
-    fi     
-}
-
 do_install () {
 	for d in ${dirs555}; do
 		install -m 0555 -d ${D}$d
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch
index 60e755f..1cdf993 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0001-Add-a-shutdown-group.patch
@@ -1,4 +1,4 @@
-From 03150b2575c5ec1ba30726d30d47303627e6fc60 Mon Sep 17 00:00:00 2001
+From 6bbd3d01d123b042167aa6dea30b5e8d9d4de4dc Mon Sep 17 00:00:00 2001
 From: Saul Wold <sgw@linux.intel.com>
 Date: Fri, 29 Apr 2022 13:32:27 +0000
 Subject: [PATCH] Add a shutdown group
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch
index 41dfc27..54b96c8 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-Add-the-sgx-group.patch
@@ -1,4 +1,4 @@
-From 6ad8995014cc30c932a8b4dae066c56ae33a107f Mon Sep 17 00:00:00 2001
+From dbd66c0ab1fd134ecba2eb1c040445e20d92f79a Mon Sep 17 00:00:00 2001
 From: Alex Kiernan <alexk@zuma.ai>
 Date: Fri, 28 Jul 2023 10:28:57 +0100
 Subject: [PATCH] base-passwd: Add the sgx group
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch
index 61b3ed3..47712c4 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch
@@ -1,4 +1,4 @@
-From 54bb95b9c4532f9cbe634dd43798ce37c93d6f50 Mon Sep 17 00:00:00 2001
+From e2e6880587d4ada13e815bf132f21b42a979a607 Mon Sep 17 00:00:00 2001
 From: Scott Garman <scott.a.garman@intel.com>
 Date: Fri, 29 Apr 2022 13:32:27 +0000
 Subject: [PATCH] Use /bin/sh instead of /bin/bash for the root user
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch
index 6b13d4c..9396d13 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0003-Remove-for-root-since-we-do-not-have-an-etc-shadow.patch
@@ -1,4 +1,4 @@
-From 03406451d66a9d561d6e32a181248e5a0bd58d58 Mon Sep 17 00:00:00 2001
+From 022cf6956c647cc193fce2b0ccdf1308d3e208cd Mon Sep 17 00:00:00 2001
 From: Scott Garman <scott.a.garman@intel.com>
 Date: Fri, 29 Apr 2022 13:32:28 +0000
 Subject: [PATCH] Remove "*" for root since we do not have an /etc/shadow
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch
index 85739d5..85f40a9 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0004-Add-an-input-group-for-the-dev-input-devices.patch
@@ -1,4 +1,4 @@
-From 662da5251f3f9634c583eeccc8242a05393d37be Mon Sep 17 00:00:00 2001
+From ef6d3257ca8308feeff40272a18e87ca7e2dc81b Mon Sep 17 00:00:00 2001
 From: Darren Hart <dvhart@linux.intel.com>
 Date: Fri, 29 Apr 2022 13:32:28 +0000
 Subject: [PATCH] Add an input group for the /dev/input/* devices
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch
index 65a9ef5..7264c29 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0005-Add-kvm-group.patch
@@ -1,4 +1,4 @@
-From c6e5c31cd276f69a4db479188efb3ab3e0f35dd8 Mon Sep 17 00:00:00 2001
+From 6c81c51ee49427175cc8bcb09b236677be4c0815 Mon Sep 17 00:00:00 2001
 From: Jacob Kroon <jacob.kroon@gmail.com>
 Date: Wed, 30 Jan 2019 04:53:48 +0000
 Subject: [PATCH] Add kvm group
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch b/poky/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch
index a4d2dd8..d3b1b12 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch
+++ b/poky/meta/recipes-core/base-passwd/base-passwd/0007-Add-wheel-group.patch
@@ -1,4 +1,4 @@
-From fc9790b768971d5b9e9b6d215bc29885a646c335 Mon Sep 17 00:00:00 2001
+From 00b7725977043c628129560dd8ca798c0ecb8791 Mon Sep 17 00:00:00 2001
 From: Louis Rannou <lrannou@baylibre.com>
 Date: Thu, 15 Jun 2023 13:43:55 +0200
 Subject: [PATCH] base-passwd: add the wheel group
diff --git a/poky/meta/recipes-core/base-passwd/base-passwd_3.6.5.bb b/poky/meta/recipes-core/base-passwd/base-passwd_3.6.6.bb
similarity index 97%
rename from poky/meta/recipes-core/base-passwd/base-passwd_3.6.5.bb
rename to poky/meta/recipes-core/base-passwd/base-passwd_3.6.6.bb
index 47c15e5..cc5c905 100644
--- a/poky/meta/recipes-core/base-passwd/base-passwd_3.6.5.bb
+++ b/poky/meta/recipes-core/base-passwd/base-passwd_3.6.6.bb
@@ -15,7 +15,7 @@
            file://0001-base-passwd-Add-the-sgx-group.patch \
            "
 
-SRC_URI[sha256sum] = "bd30ab67b1f8029d3e70d3419e5033fb4595ab91c91307c3b7c00978e8d111b2"
+SRC_URI[sha256sum] = "cfcb17a5cfb5d7ce53f062b2a30c74ac7f9425af81010d3591aeffc60f269263"
 
 # the package is taken from launchpad; that source is static and goes stale
 # so we check the latest upstream from a directory that does get updated
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index 67a9111..638b40c 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -7,7 +7,7 @@
 
 # bzip2 applet in busybox is based on lightly-modified bzip2-1.0.4 source
 # the GPL is version 2 only
-LICENSE = "GPL-2.0-only & bzip2-1.0.4"
+LICENSE = "GPL-2.0-only & bzip2-1.0.6"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=de10de48642ab74318e893a61105afbb \
                     file://archival/libarchive/bz/LICENSE;md5=28e3301eae987e8cfe19988e98383dae"
 
@@ -24,7 +24,14 @@
 PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
 
 FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
-FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_system_unitdir}/syslog.service ${sysconfdir}/default/busybox-syslog"
+FILES:${PN}-syslog = "\
+    ${sysconfdir}/init.d/syslog* \
+    ${sysconfdir}/syslog-startup.conf* \
+    ${sysconfdir}/syslog.conf* \
+    ${systemd_system_unitdir}/syslog.service \
+    ${systemd_system_unitdir}/busybox-klogd.service \
+    ${sysconfdir}/default/busybox-syslog \
+"
 FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*"
 FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
 FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
@@ -215,10 +222,14 @@
 	sed -i "s:^/usr/bin/:BINDIR/:" busybox.links*
 	sed -i "s:^/usr/sbin/:SBINDIR/:" busybox.links*
 
-	# Move arch/link to BINDIR to match coreutils
+	# Move arch/base32/link to BINDIR to match coreutils
 	sed -i "s:^BASE_BINDIR/arch:BINDIR/arch:" busybox.links*
+	sed -i "s:^BASE_BINDIR/base32:BINDIR/base32:" busybox.links*
 	sed -i "s:^BASE_BINDIR/link:BINDIR/link:" busybox.links*
 
+	# Move start-stop-daemon to SBINDIR to match dpkg
+	sed -i "s:^BASE_SBINDIR/start-stop-daemon:SBINDIR/start-stop-daemon:" busybox.links*
+
 	sed -i "s:^BASE_BINDIR/:${base_bindir}/:" busybox.links*
 	sed -i "s:^BASE_SBINDIR/:${base_sbindir}/:" busybox.links*
 	sed -i "s:^BINDIR/:${bindir}/:" busybox.links*
diff --git a/poky/meta/recipes-core/coreutils/coreutils_9.5.bb b/poky/meta/recipes-core/coreutils/coreutils_9.5.bb
index af0fcdc..5372318 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_9.5.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_9.5.bb
@@ -60,7 +60,7 @@
 base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \
                      mknod mv pwd rm rmdir sleep stty sync touch true uname stat"
 
-sbindir_progs= "chroot"
+sbindir_progs = "chroot"
 
 # Split stdbuf into its own package, so one can include
 # coreutils-stdbuf without getting the rest of coreutils, but make
@@ -182,7 +182,9 @@
 # may need tweaking if DEPENDS changes
 # Can't use ${PN}-dev here since flags with overrides and key expansion not supported
 RRECOMMENDS:coreutils-dev[nodeprrecs] = "1"
-RRECOMMENDS:${PN}-dev += "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
+DEVDEPS = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
+DEVDEPS:class-native = ""
+RRECOMMENDS:${PN}-dev += "${DEVDEPS}"
 
 do_install_ptest () {
     install -d ${D}${PTEST_PATH}/tests
diff --git a/poky/meta/recipes-core/dbus/dbus/tmpdir.patch b/poky/meta/recipes-core/dbus/dbus/tmpdir.patch
deleted file mode 100644
index bf086e1..0000000
--- a/poky/meta/recipes-core/dbus/dbus/tmpdir.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 5105fedd7fa13dadd2d0d864fb77873b83b79a4b Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 23 Jun 2011 13:52:09 +0200
-Subject: [PATCH] buildsys: hardcode socketdir to /tmp
-
-the TMPDIR env var isn't always pointing to the right target path
-
-Upstream-Status: Inappropriate [embedded]
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-
-Original comment:
-
-	avoid to check tmp dir at build time. instead uses hard coded /tmp here
-	comment added by Kevin Tian <kevin.tian@intel.com>
----
- configure.ac |   11 +----------
- 1 files changed, 1 insertions(+), 10 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 408054b..6d26180 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1483,16 +1483,7 @@ AC_SUBST(TEST_LAUNCH_HELPER_BINARY)
- AC_DEFINE_UNQUOTED(DBUS_TEST_LAUNCH_HELPER_BINARY, "$TEST_LAUNCH_HELPER_BINARY",
-                    [Full path to the launch helper test program in the builddir])
- 
--#### Find socket directories
--if ! test -z "$TMPDIR" ; then
--   DEFAULT_SOCKET_DIR=$TMPDIR
--elif ! test -z "$TEMP" ; then
--   DEFAULT_SOCKET_DIR=$TEMP
--elif ! test -z "$TMP" ; then
--   DEFAULT_SOCKET_DIR=$TMP
--else
--   DEFAULT_SOCKET_DIR=/tmp
--fi
-+DEFAULT_SOCKET_DIR=/tmp
- 
- DEFAULT_SOCKET_DIR=`echo $DEFAULT_SOCKET_DIR | sed 's/+/%2B/g'`
- 
--- 
-1.6.6.1
-
diff --git a/poky/meta/recipes-core/dbus/dbus_1.14.10.bb b/poky/meta/recipes-core/dbus/dbus_1.16.0.bb
similarity index 77%
rename from poky/meta/recipes-core/dbus/dbus_1.14.10.bb
rename to poky/meta/recipes-core/dbus/dbus_1.16.0.bb
index 6a08f69..f516273 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.14.10.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.16.0.bb
@@ -3,43 +3,44 @@
 HOMEPAGE = "https://dbus.freedesktop.org"
 SECTION = "base"
 
-inherit autotools pkgconfig gettext upstream-version-is-even ptest-gnome
+inherit meson pkgconfig gettext upstream-version-is-even ptest-gnome
 
 LICENSE = "AFL-2.1 | GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6423dcd74d7be9715b0db247fd889da3 \
-                    file://dbus/dbus.h;beginline=6;endline=20;md5=866739837ccd835350af94dccd6457d8 \
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb0ffc69a965797a3d6686baa153ef05 \
+                    file://dbus/dbus.h;beginline=6;endline=22;md5=df4251a6c6e15e6a9e3c77b2ac30065d \
                     "
 
 SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.xz \
            file://run-ptest \
-           file://tmpdir.patch \
            file://dbus-1.init \
            "
 
-SRC_URI[sha256sum] = "ba1f21d2bd9d339da2d4aa8780c09df32fea87998b73da24f49ab9df1e36a50f"
+SRC_URI[sha256sum] = "9f8ca5eb51cbe09951aec8624b86c292990ae2428b41b856e2bed17ec65c8849"
 
-EXTRA_OECONF = "--disable-xml-docs \
-                --disable-doxygen-docs \
-                --enable-largefile \
-                --with-system-socket=/run/dbus/system_bus_socket \
-                --enable-modular-tests \
-                --enable-checks \
-                --runstatedir=/run \
+EXTRA_OEMESON = "-Dxml_docs=disabled \
+                 -Ddoxygen_docs=disabled \
+                 -Dsystem_socket=/run/dbus/system_bus_socket \
+                 -Dmodular_tests=enabled \
+                 -Dchecks=true \
+                 -Druntime_dir=${runtimedir} \
+                 -Dtest_socket_dir=/tmp \
+                 -Dsession_socket_dir=/tmp \
                 "
-EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
                    user-session \
+                  ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
                   "
 PACKAGECONFIG:class-native = ""
 PACKAGECONFIG:class-nativesdk = ""
 
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
-PACKAGECONFIG[x11] = "--enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
-PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
-PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"
-PACKAGECONFIG[audit] = "--enable-libaudit,--disable-libaudit,audit"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd_system_unitdir=${systemd_system_unitdir},-Dsystemd=disabled,systemd"
+PACKAGECONFIG[x11] = "-Dx11_autolaunch=enabled,-Dx11_autolaunch=disabled, virtual/libx11 libsm"
+PACKAGECONFIG[user-session] = "-Duser_session=true -Dsystemd_user_unitdir=${systemd_user_unitdir},-Duser_session=false"
+PACKAGECONFIG[verbose-mode] = "-Dverbose_mode=true,-Dverbose_mode=false,,"
+PACKAGECONFIG[audit] = "-Dlibaudit=enabled,-Dlibaudit=disabled,audit"
+PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
+PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false"
 
 DEPENDS = "expat virtual/libintl autoconf-archive-native glib-2.0"
 RDEPENDS:${PN} += "${PN}-common ${PN}-tools"
@@ -124,9 +125,7 @@
 }
 
 
-do_install() {
-	autotools_do_install
-
+do_install:append:class-target() {
 	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
 		install -d ${D}${sysconfdir}/init.d
 		sed 's:@bindir@:${bindir}:' < ${UNPACKDIR}/dbus-1.init > ${S}/dbus-1.init.sh
@@ -159,27 +158,23 @@
 	# Remove empty testexec directory as we don't build tests
 	rm -rf ${D}${libdir}/dbus-1.0/test
 
-	# Remove /var/run as it is created on startup
-	rm -rf ${D}${localstatedir}/run
+	# Remove /run as it is created on startup
+	rm -rf ${D}${runtimedir}
 }
 
-do_install:class-native() {
-	autotools_do_install
-
+do_install:append:class-native() {
 	# dbus-launch has no X support so lets not install it in case the host
 	# has a more featured and useful version
 	rm -f ${D}${bindir}/dbus-launch
 }
 
-do_install:class-nativesdk() {
-	autotools_do_install
-
+do_install:append:class-nativesdk() {
 	# dbus-launch has no X support so lets not install it in case the host
 	# has a more featured and useful version
 	rm -f ${D}${bindir}/dbus-launch
 
-	# Remove /var/run to avoid QA error
-	rm -rf ${D}${localstatedir}/run
+	# Remove /run to avoid QA error
+	rm -rf ${D}${runtimedir}
 }
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2024.86.bb b/poky/meta/recipes-core/dropbear/dropbear_2024.86.bb
index e3f4d17..be246a0 100644
--- a/poky/meta/recipes-core/dropbear/dropbear_2024.86.bb
+++ b/poky/meta/recipes-core/dropbear/dropbear_2024.86.bb
@@ -129,3 +129,5 @@
 }
 
 CONFFILES:${PN} = "${sysconfdir}/default/dropbear"
+
+FILES:${PN} += "${systemd_system_unitdir}/dropbearkey.service"
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb
similarity index 95%
rename from poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
rename to poky/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb
index 96acf9b..e443b6b 100644
--- a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
+++ b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb
@@ -42,5 +42,5 @@
 	install -d ${D}${datadir}/gettext/po/
 	cp ${S}/build-aux/config.rpath ${D}${datadir}/gettext/
 	cp ${S}/gettext-runtime/po/Makefile.in.in ${D}${datadir}/gettext/po/
-	cp ${S}/gettext-runtime/po/remove-potcdate.sin ${D}${datadir}/gettext/po/
+	cp ${S}/gettext-runtime/po/remove-potcdate.sed ${D}${datadir}/gettext/po/
 }
diff --git a/poky/meta/recipes-core/gettext/gettext-sources.inc b/poky/meta/recipes-core/gettext/gettext-sources.inc
index fd05837..5d90d81 100644
--- a/poky/meta/recipes-core/gettext/gettext-sources.inc
+++ b/poky/meta/recipes-core/gettext/gettext-sources.inc
@@ -1,4 +1,4 @@
 HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
 SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
            "
-SRC_URI[sha256sum] = "ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0"
+SRC_URI[sha256sum] = "52a578960fe308742367d75cd1dff8552c5797bd0beba7639e12bdcda28c0e49"
diff --git a/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch b/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
index 33d45a0..e59c73f 100644
--- a/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
+++ b/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
@@ -1,4 +1,4 @@
-From c58c503c532d20883a93ef778327c86dd6de24f6 Mon Sep 17 00:00:00 2001
+From 9d36ff90d3a488caa8cd7b3351e5a3bdc4229b1b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 6 Mar 2020 21:04:05 +0000
 Subject: [PATCH] init-env.in: do not add C/CXX parameters
@@ -13,7 +13,7 @@
  1 file changed, 4 deletions(-)
 
 diff --git a/gettext-tools/tests/init-env.in b/gettext-tools/tests/init-env.in
-index cc84ffd..b69c990 100644
+index 0968388..3d9a8a5 100644
 --- a/gettext-tools/tests/init-env.in
 +++ b/gettext-tools/tests/init-env.in
 @@ -3,10 +3,6 @@ top_builddir=../..
@@ -24,6 +24,6 @@
 -CFLAGS="@CFLAGS@"
 -CXX="@CXX@"
 -CXXFLAGS="@CXXFLAGS@"
+ OBJC="@OBJC@"
+ OBJCFLAGS="@OBJCFLAGS@"
  CPPFLAGS="@CPPFLAGS@"
- LDFLAGS="@LDFLAGS@"
- LTLIBINTL="@LTLIBINTL@"
diff --git a/poky/meta/recipes-core/gettext/gettext/0001-intl-Fix-build-failure-with-make-j.patch b/poky/meta/recipes-core/gettext/gettext/0001-intl-Fix-build-failure-with-make-j.patch
deleted file mode 100644
index 144259d..0000000
--- a/poky/meta/recipes-core/gettext/gettext/0001-intl-Fix-build-failure-with-make-j.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 97a6a63ad61949663283f5fad68c9d5fb9be1f15 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <bruno@clisp.org>
-Date: Tue, 12 Sep 2023 11:33:41 +0200
-Subject: [PATCH] intl: Fix build failure with "make -j".
-
-Reported by Christian Weisgerber <naddy@mips.inka.de> at
-<https://lists.gnu.org/archive/html/bug-gettext/2023-09/msg00005.html>.
-
-* gettext-runtime/intl/Makefile.am (langprefs.lo, log.lo): Depend on gettextP.h
-and its subordinate includes.
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commit;h=97a6a63ad61949663283f5fad68c9d5fb9be1f15]
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- gettext-runtime/intl/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gettext-runtime/intl/Makefile.am b/gettext-runtime/intl/Makefile.am
-index da7abb758..9e56978bc 100644
---- a/gettext-runtime/intl/Makefile.am
-+++ b/gettext-runtime/intl/Makefile.am
-@@ -387,8 +387,8 @@ dngettext.lo:        ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo
- ngettext.lo:         ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
- plural.lo:           ../config.h $(srcdir)/plural-exp.h $(PLURAL_DEPS)
- plural-exp.lo:       ../config.h $(srcdir)/plural-exp.h
--langprefs.lo:        ../config.h
--log.lo:              ../config.h
-+langprefs.lo:        ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
-+log.lo:              ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
- printf.lo:           ../config.h
- setlocale.lo:        ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
- version.lo:          ../config.h libgnuintl.h
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch b/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
index 94afb25..a8f6684 100644
--- a/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
+++ b/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
@@ -1,4 +1,4 @@
-From 7006142d199af13628edc687847a9a5bac48b45d Mon Sep 17 00:00:00 2001
+From 4e9ea45803fe8dfc41ec5c51a65048addd985765 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 7 Jan 2020 16:44:38 +0100
 Subject: [PATCH] tests/autopoint-3: unset MAKEFLAGS
@@ -13,13 +13,13 @@
  1 file changed, 1 insertion(+)
 
 diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3
-index bd3fbf3..380eaac 100755
+index af2e17f..46cf3f7 100755
 --- a/gettext-tools/tests/autopoint-3
 +++ b/gettext-tools/tests/autopoint-3
-@@ -131,6 +131,7 @@ test $? = 0 || { cat autopoint.err; Exit 1; }
- ${CONFIG_SHELL} ./configure >/dev/null 2>autpoint.err
+@@ -137,6 +137,7 @@ ${CONFIG_SHELL} ./configure >/dev/null 2>autopoint.err
  test $? = 0 || { cat autopoint.err; Exit 1; }
  
+ : ${MAKE=make}
 +unset MAKEFLAGS
  ${MAKE} >/dev/null 2>autopoint.err
  test $? = 0 || { cat autopoint.err; Exit 1; }
diff --git a/poky/meta/recipes-core/gettext/gettext/parallel.patch b/poky/meta/recipes-core/gettext/gettext/parallel.patch
deleted file mode 100644
index 8ecba46..0000000
--- a/poky/meta/recipes-core/gettext/gettext/parallel.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 83333bc873c2655ff1de161f6b7db930f22f1cea Mon Sep 17 00:00:00 2001
-From: Joe Slater <jslater@windriver.com>
-Date: Thu, 7 Jun 2012 16:37:01 -0700
-Subject: [PATCH] instal libgettextlib.a before removing it
-
-In a multiple job build, Makefile can simultaneously
-be installing and removing libgettextlib.a.  We serialize
-the operations.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
----
- gettext-tools/gnulib-lib/Makefile.am | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gettext-tools/gnulib-lib/Makefile.am b/gettext-tools/gnulib-lib/Makefile.am
-index ab729cd..a0d713e 100644
---- a/gettext-tools/gnulib-lib/Makefile.am
-+++ b/gettext-tools/gnulib-lib/Makefile.am
-@@ -58,6 +58,10 @@ AM_CFLAGS = @WARN_CFLAGS@
- # Rules generated and collected by gnulib-tool.
- include Makefile.gnulib
- 
-+# defined in Makefile.gnulib but missing this dependency
-+#
-+install-exec-clean: install-libLTLIBRARIES
-+
- # OS/2 does not support a DLL name longer than 8 characters.
- if OS2
- libgettextlib_la_LDFLAGS += -os2dllname gtlib
diff --git a/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch b/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
index 7d39d60..3baf549 100644
--- a/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
+++ b/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
@@ -1,4 +1,4 @@
-From aa8dfe0aafd0b53a6c5bac61b356ca92e1430a36 Mon Sep 17 00:00:00 2001
+From 33fd16b0b2c69ec1118bb605384e7e3b1a94eee0 Mon Sep 17 00:00:00 2001
 From: "Hongjun.Yang" <hongjun.yang@windriver.com>
 Date: Thu, 28 Jul 2016 12:36:15 +0800
 Subject: [PATCH] fix for ptest
@@ -15,7 +15,7 @@
  3 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index f4e54ea..a47ff14 100644
+index 5106676..3114998 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext],
@@ -28,7 +28,7 @@
  dnl Override automake's tar command used for creating distributions.
  am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'
 diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
-index 126d069..aa23232 100644
+index e128f5b..9f7447c 100644
 --- a/gettext-runtime/configure.ac
 +++ b/gettext-runtime/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],
@@ -41,7 +41,7 @@
  
  dnl Installation directories.
 diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
-index 3610ee3..6f56a23 100644
+index 3b1f461..14510a9 100644
 --- a/gettext-tools/configure.ac
 +++ b/gettext-tools/configure.ac
 @@ -22,7 +22,7 @@ AC_INIT([gettext-tools],
diff --git a/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch b/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
index ceb1856..9774c4c 100644
--- a/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
+++ b/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
@@ -1,4 +1,4 @@
-From 6aa1338b916fe72c200b6f160b934be15b6ff590 Mon Sep 17 00:00:00 2001
+From 7302a77e08e62fc3b00f75d8aa143c5565c3f680 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 23 Jan 2018 00:54:13 +0000
 Subject: [PATCH] gettext: beat library detection into shape
@@ -19,10 +19,10 @@
  3 files changed, 31 insertions(+), 286 deletions(-)
 
 diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
-index 0340490..0355388 100644
+index c7160d7..8e46cc7 100644
 --- a/gettext-tools/gnulib-m4/libxml.m4
 +++ b/gettext-tools/gnulib-m4/libxml.m4
-@@ -13,6 +13,7 @@ dnl gl_LIBXML(FORCE-INCLUDED)
+@@ -14,6 +14,7 @@ dnl gl_LIBXML(FORCE-INCLUDED)
  dnl   forces the use of the included or an external libxml.
  AC_DEFUN([gl_LIBXML],
  [
@@ -30,7 +30,7 @@
    AC_REQUIRE([AM_ICONV_LINK])
  
    ifelse([$1], , [
-@@ -30,106 +31,10 @@ AC_DEFUN([gl_LIBXML],
+@@ -31,106 +32,10 @@ AC_DEFUN([gl_LIBXML],
    INCXML=
    ifelse([$1], [yes], , [
      if test "$gl_cv_libxml_use_included" != yes; then
@@ -142,10 +142,10 @@
    ])
    AC_SUBST([LIBXML])
 diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
-index dbc9eb8..136e512 100644
+index baa2cf4..b287c5b 100644
 --- a/libtextstyle/gnulib-local/m4/libglib.m4
 +++ b/libtextstyle/gnulib-local/m4/libglib.m4
-@@ -6,106 +6,26 @@ dnl with or without modifications, as long as this notice is preserved.
+@@ -7,106 +7,26 @@ dnl with or without modifications, as long as this notice is preserved.
  
  dnl From Bruno Haible.
  
@@ -266,10 +266,10 @@
    AC_SUBST([LTLIBGLIB])
    AC_SUBST([INCGLIB])
 diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
-index dbc9eb8..136e512 100644
+index baa2cf4..b287c5b 100644
 --- a/libtextstyle/gnulib-m4/libglib.m4
 +++ b/libtextstyle/gnulib-m4/libglib.m4
-@@ -6,106 +6,26 @@ dnl with or without modifications, as long as this notice is preserved.
+@@ -7,106 +7,26 @@ dnl with or without modifications, as long as this notice is preserved.
  
  dnl From Bruno Haible.
  
diff --git a/poky/meta/recipes-core/gettext/gettext_0.22.5.bb b/poky/meta/recipes-core/gettext/gettext_0.23.1.bb
similarity index 96%
rename from poky/meta/recipes-core/gettext/gettext_0.22.5.bb
rename to poky/meta/recipes-core/gettext/gettext_0.23.1.bb
index 0bf2a56..da4e6c6 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.22.5.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.23.1.bb
@@ -22,13 +22,11 @@
 
 require gettext-sources.inc
 SRC_URI += " \
-           file://parallel.patch \
            file://use-pkgconfig.patch \
            file://run-ptest \
            file://serial-tests-config.patch \
            file://0001-tests-autopoint-3-unset-MAKEFLAGS.patch \
            file://0001-init-env.in-do-not-add-C-CXX-parameters.patch \
-           file://0001-intl-Fix-build-failure-with-make-j.patch \
            "
 
 inherit autotools texinfo pkgconfig ptest
@@ -90,7 +88,7 @@
 
 PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc"
 
-FILES:${PN} += "${libdir}/${BPN}/*"
+FILES:${PN} += "${libdir}/${BPN}/"
 
 # The its/Makefile.am has defined:
 # itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
@@ -130,7 +128,7 @@
 	rm ${D}${datadir}/aclocal/*
 	rm ${D}${datadir}/gettext/config.rpath
 	rm ${D}${datadir}/gettext/po/Makefile.in.in
-	rm ${D}${datadir}/gettext/po/remove-potcdate.sin
+	rm ${D}${datadir}/gettext/po/remove-potcdate.sed
 
         create_wrapper ${D}${bindir}/msgfmt \
                 GETTEXTDATADIR="${STAGING_DATADIR_NATIVE}/gettext-${PV}/"
@@ -175,7 +173,8 @@
         install ${B}/gettext-tools/misc/*       ${D}${PTEST_PATH}/misc
         find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
         chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \
-                   ${D}${PTEST_PATH}/tests/xgettext-vala-1  ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6
+                   ${D}${PTEST_PATH}/tests/xgettext-vala-1  ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6 \
+                   ${D}${PTEST_PATH}/tests/plural-3 ${D}${PTEST_PATH}/tests/plural-4 ${D}${PTEST_PATH}/tests/xgettext-java-8 ${D}${PTEST_PATH}/tests/xgettext-java-9
         sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env
 }
 
diff --git a/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0001.patch b/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0001.patch
deleted file mode 100644
index 2ee9a40..0000000
--- a/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0001.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From fc893fe975126ca7d5fcf76b66b5c0ccbd4128d5 Mon Sep 17 00:00:00 2001
-From: "Rebecca N. Palmer" <rebecca_palmer@zoho.com>
-Date: Fri, 11 Oct 2024 09:38:52 +0100
-Subject: [PATCH] gdatetime test: Do not assume PST8PDT was always exactly
- -8/-7
-
-In newer tzdata, it is an alias for America/Los_Angeles, which has a
-slightly different meaning: DST did not exist there before 1883. As a
-result, we can no longer hard-code the knowledge that interval 0 is
-standard time and interval 1 is summer time, and instead we need to look
-up the correct intervals from known timestamps.
-
-Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/3502
-Bug-Debian: https://bugs.debian.org/1084190
-[smcv: expand commit message, fix whitespace]
-Signed-off-by: Simon McVittie <smcv@debian.org>
-
-Upstream-Status: Backport
-[https://github.com/GNOME/glib/commit/c0619f08e6c608fd6464d2f0c6970ef0bbfb9ecf]
-
-Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
----
- glib/tests/gdatetime.c | 22 ++++++++++++++++------
- 1 file changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
-index d46f653..2eefc41 100644
---- a/glib/tests/gdatetime.c
-+++ b/glib/tests/gdatetime.c
-@@ -2930,6 +2930,7 @@ test_posix_parse (void)
- {
-   GTimeZone *tz;
-   GDateTime *gdt1, *gdt2;
-+  gint i1, i2;
- 
-   /* Check that an unknown zone name falls back to UTC. */
-   G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-@@ -2953,16 +2954,25 @@ test_posix_parse (void)
- 
- /* This fails rules_from_identifier on Unix (though not on Windows)
-  * but passes anyway because PST8PDT is a zone name.
-+ *
-+ * Intervals i1 and i2 (rather than 0 and 1) are needed because in
-+ * recent tzdata, PST8PDT may be an alias for America/Los_Angeles,
-+ * and hence be aware that DST has not always existed.
-+ * https://bugs.debian.org/1084190
-  */
-   tz = g_time_zone_new_identifier ("PST8PDT");
-   g_assert_nonnull (tz);
-   g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8PDT");
--  g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 0), ==, "PST");
--  g_assert_cmpint (g_time_zone_get_offset (tz, 0), ==, - 8 * 3600);
--  g_assert (!g_time_zone_is_dst (tz, 0));
--  g_assert_cmpstr (g_time_zone_get_abbreviation (tz, 1), ==, "PDT");
--  g_assert_cmpint (g_time_zone_get_offset (tz, 1), ==,- 7 * 3600);
--  g_assert (g_time_zone_is_dst (tz, 1));
-+  /* a date in winter = non-DST */
-+  i1 = g_time_zone_find_interval (tz, G_TIME_TYPE_STANDARD, 0);
-+  /* approximately 6 months in seconds, i.e. a date in summer = DST */
-+  i2 = g_time_zone_find_interval (tz, G_TIME_TYPE_DAYLIGHT, 15000000);
-+  g_assert_cmpstr (g_time_zone_get_abbreviation (tz, i1), ==, "PST");
-+  g_assert_cmpint (g_time_zone_get_offset (tz, i1), ==, - 8 * 3600);
-+  g_assert (!g_time_zone_is_dst (tz, i1));
-+  g_assert_cmpstr (g_time_zone_get_abbreviation (tz, i2), ==, "PDT");
-+  g_assert_cmpint (g_time_zone_get_offset (tz, i2), ==,- 7 * 3600);
-+  g_assert (g_time_zone_is_dst (tz, i2));
-   g_time_zone_unref (tz);
- 
-   tz = g_time_zone_new_identifier ("PST8PDT6:32:15");
diff --git a/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0002.patch b/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0002.patch
deleted file mode 100644
index a03d05f..0000000
--- a/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0002.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 1110f463fe084ba2675e044be2e045f7c0224a7f Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@debian.org>
-Date: Fri, 18 Oct 2024 11:03:19 +0100
-Subject: [PATCH] gdatetime test: Try to make PST8PDT test more obviously
- correct
-
-Instead of using timestamp 0 as a magic number (in this case interpreted
-as 1970-01-01T00:00:00-08:00), calculate a timestamp from a recent
-year/month/day in winter, in this case 2024-01-01T00:00:00-08:00.
-
-Similarly, instead of using a timestamp 15 million seconds later
-(1970-06-23T15:40:00-07:00), calculate a timestamp from a recent
-year/month/day in summer, in this case 2024-07-01T00:00:00-07:00.
-
-Signed-off-by: Simon McVittie <smcv@debian.org>
-
-Upstream-Status: Backport
-[https://github.com/GNOME/glib/commit/30e9cfa5733003cd1079e0e9e8a4bff1a191171a]
-
-Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
----
- glib/tests/gdatetime.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
-index 2eefc41..728b873 100644
---- a/glib/tests/gdatetime.c
-+++ b/glib/tests/gdatetime.c
-@@ -2954,19 +2954,16 @@ test_posix_parse (void)
- 
- /* This fails rules_from_identifier on Unix (though not on Windows)
-  * but passes anyway because PST8PDT is a zone name.
-- *
-- * Intervals i1 and i2 (rather than 0 and 1) are needed because in
-- * recent tzdata, PST8PDT may be an alias for America/Los_Angeles,
-- * and hence be aware that DST has not always existed.
-- * https://bugs.debian.org/1084190
-  */
-   tz = g_time_zone_new_identifier ("PST8PDT");
-   g_assert_nonnull (tz);
-   g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8PDT");
-   /* a date in winter = non-DST */
--  i1 = g_time_zone_find_interval (tz, G_TIME_TYPE_STANDARD, 0);
--  /* approximately 6 months in seconds, i.e. a date in summer = DST */
--  i2 = g_time_zone_find_interval (tz, G_TIME_TYPE_DAYLIGHT, 15000000);
-+  gdt1 = g_date_time_new (tz, 2024, 1, 1, 0, 0, 0);
-+  i1 = g_time_zone_find_interval (tz, G_TIME_TYPE_STANDARD, g_date_time_to_unix (gdt1));
-+  /* a date in summer = DST */
-+  gdt2 = g_date_time_new (tz, 2024, 7, 1, 0, 0, 0);
-+  i2 = g_time_zone_find_interval (tz, G_TIME_TYPE_DAYLIGHT, g_date_time_to_unix (gdt2));
-   g_assert_cmpstr (g_time_zone_get_abbreviation (tz, i1), ==, "PST");
-   g_assert_cmpint (g_time_zone_get_offset (tz, i1), ==, - 8 * 3600);
-   g_assert (!g_time_zone_is_dst (tz, i1));
-@@ -2974,6 +2971,8 @@ test_posix_parse (void)
-   g_assert_cmpint (g_time_zone_get_offset (tz, i2), ==,- 7 * 3600);
-   g_assert (g_time_zone_is_dst (tz, i2));
-   g_time_zone_unref (tz);
-+  g_date_time_unref (gdt1);
-+  g_date_time_unref (gdt2);
- 
-   tz = g_time_zone_new_identifier ("PST8PDT6:32:15");
- #ifdef G_OS_WIN32
diff --git a/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0003.patch b/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0003.patch
deleted file mode 100644
index 2ef5fbb..0000000
--- a/poky/meta/recipes-core/glib-2.0/files/gdatetime-test-fail-0003.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 5652c74a14b31b730d26de74ca9dcae1df5c1883 Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@debian.org>
-Date: Fri, 18 Oct 2024 11:23:42 +0100
-Subject: [PATCH] gdatetime test: Fall back if legacy System V PST8PDT is not
- available
-
-On recent versions of Debian, PST8PDT is part of the tzdata-legacy
-package, which is not always installed and might disappear in future.
-Successfully tested with and without tzdata-legacy on Debian unstable.
-
-Signed-off-by: Simon McVittie <smcv@debian.org>
-
-Upstream-Status: Backport
-[https://github.com/GNOME/glib/commit/fe2699369f79981dcf913af4cfd98b342b84a9c1]
-
-Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
----
- glib/tests/gdatetime.c | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
-index 728b873..9e1acd0 100644
---- a/glib/tests/gdatetime.c
-+++ b/glib/tests/gdatetime.c
-@@ -2931,6 +2931,7 @@ test_posix_parse (void)
-   GTimeZone *tz;
-   GDateTime *gdt1, *gdt2;
-   gint i1, i2;
-+  const char *expect_id;
- 
-   /* Check that an unknown zone name falls back to UTC. */
-   G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-@@ -2953,11 +2954,25 @@ test_posix_parse (void)
-   g_time_zone_unref (tz);
- 
- /* This fails rules_from_identifier on Unix (though not on Windows)
-- * but passes anyway because PST8PDT is a zone name.
-+ * but can pass anyway because PST8PDT is a legacy System V zone name.
-  */
-   tz = g_time_zone_new_identifier ("PST8PDT");
-+  expect_id = "PST8PDT";
-+
-+#ifndef G_OS_WIN32
-+  /* PST8PDT is in tzdata's "backward" set, packaged as tzdata-legacy and
-+   * not always present in some OSs; fall back to the equivalent geographical
-+   * name if the "backward" time zones are absent. */
-+  if (tz == NULL)
-+    {
-+      g_test_message ("Legacy PST8PDT time zone not available, falling back");
-+      tz = g_time_zone_new_identifier ("America/Los_Angeles");
-+      expect_id = "America/Los_Angeles";
-+    }
-+#endif
-+
-   g_assert_nonnull (tz);
--  g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, "PST8PDT");
-+  g_assert_cmpstr (g_time_zone_get_identifier (tz), ==, expect_id);
-   /* a date in winter = non-DST */
-   gdt1 = g_date_time_new (tz, 2024, 1, 1, 0, 0, 0);
-   i1 = g_time_zone_find_interval (tz, G_TIME_TYPE_STANDARD, g_date_time_to_unix (gdt1));
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0-initial_2.82.2.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0-initial_2.82.4.bb
similarity index 100%
rename from poky/meta/recipes-core/glib-2.0/glib-2.0-initial_2.82.2.bb
rename to poky/meta/recipes-core/glib-2.0/glib-2.0-initial_2.82.4.bb
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.82.2.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.82.4.bb
similarity index 100%
rename from poky/meta/recipes-core/glib-2.0/glib-2.0_2.82.2.bb
rename to poky/meta/recipes-core/glib-2.0/glib-2.0_2.82.4.bb
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index 666d3ef..9d50a95 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -227,15 +227,12 @@
            file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
            file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
            file://skip-timeout.patch \
-           file://gdatetime-test-fail-0001.patch \
-           file://gdatetime-test-fail-0002.patch \
-           file://gdatetime-test-fail-0003.patch \
            "
 SRC_URI:append:class-native = " file://relocate-modules.patch \ 
                                 file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
                               "
 
-SRC_URI[sha256sum] = "ab45f5a323048b1659ee0fbda5cecd94b099ab3e4b9abf26ae06aeb3e781fd63"
+SRC_URI[sha256sum] = "37dd0877fe964cd15e9a2710b044a1830fb1bd93652a6d0cb6b8b2dff187c709"
 
 # Find any meson cross files in FILESPATH that are relevant for the current
 # build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index 3352f3e..bba9449 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -26,6 +26,7 @@
 INSANE_SKIP:${MLPREFIX}ldso:append = " dev-so libdir"
 
 FILES:${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf"
+CONFFILES:${PN} = "${sysconfdir}/ld.so.conf"
 RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
 FILES:ldconfig = "${base_sbindir}/ldconfig"
 FILES:ldd = "${bindir}/ldd"
@@ -292,7 +293,7 @@
 		fi
 	fi
 }
-CONFFILES:nscd="${sysconfdir}/nscd.conf"
+CONFFILES:nscd = "${sysconfdir}/nscd.conf"
 
 SYSTEMD_PACKAGES = "nscd"
 SYSTEMD_SERVICE:nscd = "nscd.service"
diff --git a/poky/meta/recipes-core/glibc/glibc-y2038-tests_2.40.bb b/poky/meta/recipes-core/glibc/glibc-y2038-tests_2.40.bb
index 8ed9438..9ea09a4 100644
--- a/poky/meta/recipes-core/glibc/glibc-y2038-tests_2.40.bb
+++ b/poky/meta/recipes-core/glibc/glibc-y2038-tests_2.40.bb
@@ -31,7 +31,7 @@
 RDEPENDS:${PN}-ptest = "${PN}"
 DEPENDS += "sed"
 
-export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/"
+export oe_srcdir = "${exec_prefix}/src/debug/glibc/${PV}/"
 
 # Just build tests for target - do not run them
 do_check:append () {
diff --git a/poky/meta/recipes-core/glibc/glibc.inc b/poky/meta/recipes-core/glibc/glibc.inc
index b08a70a..d8f20c8 100644
--- a/poky/meta/recipes-core/glibc/glibc.inc
+++ b/poky/meta/recipes-core/glibc/glibc.inc
@@ -1,7 +1,7 @@
 require glibc-common.inc
 require glibc-ld.inc
 
-DEPENDS = "virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils libgcc-initial linux-libc-headers"
+DEPENDS = "virtual/cross-cc virtual/cross-binutils libgcc-initial linux-libc-headers"
 
 PROVIDES = "virtual/libc"
 PROVIDES += "virtual/libintl virtual/libiconv"
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 c673b4a..8869c92 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 ?= "7cc8bf7af794badd89fb30aa96a878c575630b7f"
+SRCREV ?= "df026a95e3eec32e7a010c09b8e98351e74876b2"
 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/images/core-image-minimal-initramfs.bb b/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
index 36e8771..4e210d1 100644
--- a/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
+++ b/poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
@@ -32,4 +32,4 @@
 IMAGE_ROOTFS_EXTRA_SPACE = "0"
 
 # Use the same restriction as initramfs-module-install
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*)-(linux.*|freebsd.*)'
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
index 38e138f..df0cbfb 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
@@ -33,9 +33,11 @@
 			elif [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then
 				root_label=`echo $bootparam_root | cut -c7-`
 				bootparam_root="/dev/disk/by-label/$root_label"
+			elif echo "${bootparam_root}" | grep -q '^ubi[0-9]\+:'; then
+				bootparam_rootfstype="ubifs"
 			fi
 
-			if [ -e "$bootparam_root" ]; then
+			if [ -e "$bootparam_root" ] || [ -n "$bootparam_rootfstype" ]; then
 				flags=""
 				if [ -n "$bootparam_ro" ] && ! echo "$bootparam_rootflags" | grep -w -q "ro"; then
 					if [  -n "$bootparam_rootflags" ]; then
@@ -49,6 +51,7 @@
 				if [ -n "$bootparam_rootfstype" ]; then
 					flags="$flags -t$bootparam_rootfstype"
 				fi
+				debug "mount $flags $bootparam_root $ROOTFS_DIR"
 				mount $flags $bootparam_root $ROOTFS_DIR
 				if mountpoint -q $ROOTFS_DIR; then
 					break
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/poky/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
index b87e59f..d6d8348 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
@@ -5,7 +5,7 @@
 RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
 
 # The same restriction as grub
-COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|loongarch64.*)-(linux.*|freebsd.*)'
+COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
 COMPATIBLE_HOST:armv7a = 'null'
 COMPATIBLE_HOST:armv7ve = 'null'
 
diff --git a/poky/meta/recipes-core/initscripts/init-system-helpers_1.67.bb b/poky/meta/recipes-core/initscripts/init-system-helpers_1.68.bb
similarity index 96%
rename from poky/meta/recipes-core/initscripts/init-system-helpers_1.67.bb
rename to poky/meta/recipes-core/initscripts/init-system-helpers_1.68.bb
index 1576f89..036c86a 100644
--- a/poky/meta/recipes-core/initscripts/init-system-helpers_1.67.bb
+++ b/poky/meta/recipes-core/initscripts/init-system-helpers_1.68.bb
@@ -16,7 +16,7 @@
 LICENSE = "BSD-3-Clause & GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=c4ec20aa158fa9de26ee1accf78dcaae"
 
-SRCREV = "7b1a5359d99c1667f7b81380c06686ddc57b8e71"
+SRCREV = "78486a4a2a305170b66ce4d907bedadbaed10daf"
 SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))(?!_exp)"
 
diff --git a/poky/meta/recipes-core/kbd/kbd/0001-Remove-non-free-Agafari-fonts.patch b/poky/meta/recipes-core/kbd/kbd/0001-Remove-non-free-Agafari-fonts.patch
deleted file mode 100644
index de279b5..0000000
--- a/poky/meta/recipes-core/kbd/kbd/0001-Remove-non-free-Agafari-fonts.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From b757e6842f9631757f0d1a6b3833aabffa9ffeee Mon Sep 17 00:00:00 2001
-From: Alexey Gladkov <legion@kernel.org>
-Date: Thu, 29 Feb 2024 17:38:37 +0100
-Subject: [PATCH] Remove non-free Agafari fonts
-
-Based on legal analysis, we are removing non-free fonts for now. If we
-can change the license of these fonts, we will return them back.
-
-From: Stanislav Brabec <sbrabec@suse.com>
-Date: Wed, 28 Feb 2024 16:47:54 +0100
-Subject: kbd: Legal problems of Agafari fonts
-
-    The data/consolefonts/README.Ethiopic contains a notice:
-    Agafari:
-      Donated by the Ethiopian Science and Technology Commission
-      <ncic@padis.gn.apc.org> or <ncic@telecom.net.et> and may be redistributed
-      for non-commercial use under Unix environments only.
-
-    According to our legal review, it makes impossible to distribute these
-    fonts as part of any commercial products, and even makes it impossible to
-    distribute kbd sources as part of any commercial product services.
-
-    Additionally, it makes the whole kbd package incompatible with GPL, so the
-    COPYING file (created during build of the tarball) cannot declare GPL
-    version 2. It also violates section 6 of GPL (no further restrictions).
-
-    That is why several GNU/Linux distributions exclude Agafari from the
-    release. To be on a safe side, SUSE even decided to repack any source
-    tarballs before putting it to their servers.
-
-    This was probably reported to the former kbd maintainer about 20 years ago,
-    but nothing changed over years.
-
-    That is why I recommend removing Agafari fonts and removing the reference
-    to them from README.Ethiopic. Alternatively, you can ask the Ethiopian
-    Science and Technology Commission for re-licensing.
-
-Signed-off-by: Alexey Gladkov <legion@kernel.org>
-
-Upstream-Status: Backport [https://github.com/legionus/kbd/commit/b757e6842f9631757f0d1a6b3833aabffa9ffeee]
-
-[do_configure prepend added to remove binary files]
-
-Signed-off-by: Peter Marko <peter.marko@siemens.com>
----
- data/consolefonts/Agafari-12.psfu | Bin 7989 -> 0 bytes
- data/consolefonts/Agafari-14.psfu | Bin 9013 -> 0 bytes
- data/consolefonts/Agafari-16.psfu | Bin 10037 -> 0 bytes
- data/consolefonts/README.Ethiopic |   5 -----
- 4 files changed, 5 deletions(-)
- delete mode 100644 data/consolefonts/Agafari-12.psfu
- delete mode 100644 data/consolefonts/Agafari-14.psfu
- delete mode 100644 data/consolefonts/Agafari-16.psfu
-
-diff --git a/data/consolefonts/README.Ethiopic b/data/consolefonts/README.Ethiopic
-index 7502722..2810797 100644
---- a/data/consolefonts/README.Ethiopic
-+++ b/data/consolefonts/README.Ethiopic
-@@ -14,11 +14,6 @@ Ethiopic fonts:
-      restrictions below:
- 
- 
--Agafari:
--  Donated by the Ethiopian Science and Technology Commission 
--  <ncic@padis.gn.apc.org> or <ncic@telecom.net.et> and may be redistributed
--  for non-commercial use under Unix environments only.
--
- Goha and GohaClassic:
-   Donated by Yitna Firdyiwek <ybf2u@virgina.edu> of GohaTibeb Associates
-   and may be redistributed without restriction under the GNU GPL 2.0.
--- 
-2.30.2
-
diff --git a/poky/meta/recipes-core/kbd/kbd_2.6.4.bb b/poky/meta/recipes-core/kbd/kbd_2.7.1.bb
similarity index 84%
rename from poky/meta/recipes-core/kbd/kbd_2.6.4.bb
rename to poky/meta/recipes-core/kbd/kbd_2.7.1.bb
index 2331b51..9cff855 100644
--- a/poky/meta/recipes-core/kbd/kbd_2.6.4.bb
+++ b/poky/meta/recipes-core/kbd/kbd_2.7.1.bb
@@ -24,12 +24,12 @@
 RCONFLICTS:${PN} = "console-tools"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \
-           file://0001-Remove-non-free-Agafari-fonts.patch \
            "
 
-SRC_URI[sha256sum] = "519f8d087aecca7e0a33cd084bef92c066eb19731666653dcc70c9d71aa40926"
+SRC_URI[sha256sum] = "f167d899d92b56ccf12f6f49355173f93870a95f15d8aeebf5fdcd28a621aca8"
 
-EXTRA_OECONF = "--disable-tests"
+# 'gzip -n' is set due to https://github.com/legionus/kbd/issues/124
+EXTRA_OECONF = "--disable-tests --enable-compress='gzip -n'"
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
                   "
 
@@ -45,12 +45,6 @@
 
 RRECOMMENDS:${PN}-keymaps = "${PN}-keymaps-pine"
 
-# remove this when upgrading to newer version which has integrated
-# https://github.com/legionus/kbd/commit/b757e6842f9631757f0d1a6b3833aabffa9ffeee
-do_configure:prepend() {
-    rm -rf ${S}/data/consolefonts/Agafari-1*
-}
-
 do_install:append () {
     if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)}" = "yes" ] \
     && [ -f ${D}${sysconfdir}/pam.d/vlock ]; then
diff --git a/poky/meta/recipes-core/libxcrypt/files/configure-c99.patch b/poky/meta/recipes-core/libxcrypt/files/configure-c99.patch
deleted file mode 100644
index b77ea7a..0000000
--- a/poky/meta/recipes-core/libxcrypt/files/configure-c99.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From cfe9f4d6b0a5d10a15e10e987d528c5c513a42f1 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Tue, 19 Dec 2023 11:00:11 +0100
-Subject: [PATCH] configure: Only text the makecontext signature we need
-
-The test/explicit-bzero.c test uses a start routine without any
-arguments.  There is no need for the multi-argument version.
-
-This avoids a build failure with glibc and future compilers.
-The GNU C library declares the makecontext callback of
-type void (*) (void), so no cast is needed.  On other systems,
-the type may be the (currently distinct) type void (*) (),
-but given that this only affects the ability to execute a test,
-no further machinery is added here to detect that different type.
-
-Upstream-Status: Submitted [https://github.com/besser82/libxcrypt/pull/178/]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- configure.ac | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 016997c..4b8afd8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -303,13 +303,11 @@ AS_IF([test $ac_cv_header_ucontext_h = yes],
- #include <ucontext.h>
- static int x;
- static void fn1(void) {}
--static void fn2(int a, int b) { x = a - b; }
- ]], [[
-   ucontext_t uc1, uc2;
-   if (getcontext(&uc1)) return 1;
-   if (setcontext(&uc1)) return 1;
-   makecontext(&uc1, fn1, 0);
--  makecontext(&uc2, fn2, 2, 1, 1);
-   if (swapcontext(&uc1, &uc2)) return 1;
-   return x;
- ]])],
diff --git a/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch b/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch
index 94aa3fe..879950b 100644
--- a/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch
+++ b/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch
@@ -1,4 +1,4 @@
-From 7b2a0cdc281d94a5782c37ef87040c341447b4b4 Mon Sep 17 00:00:00 2001
+From 1e94a03541e35718dc1eaa8023e0ec3cf2de369b Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Fri, 30 Apr 2021 10:35:02 +0100
 Subject: [PATCH] libxcrypt: Update to 4.4.19 release and fix symbol version
@@ -13,7 +13,6 @@
 
 Upstream-Status: Submitted [https://github.com/besser82/libxcrypt/pull/126]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
 ---
  build-aux/scripts/compute-symver-floor | 2 ++
  1 file changed, 2 insertions(+)
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.37.bb
similarity index 99%
rename from poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb
rename to poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.37.bb
index 30ec6a4..bb4e203 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.37.bb
@@ -16,3 +16,4 @@
 	rm -rf ${D}${libdir}/libcrypt.so
 	rm -rf ${D}${datadir}
 }
+
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
index ee6875a..9ecb333 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
@@ -9,13 +9,12 @@
 
 inherit autotools pkgconfig
 
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https"
-SRCREV = "f531a36aa916a22ef2ce7d270ba381e264250cbf"
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH};protocol=https \
+           file://fix_cflags_handling.patch \
+           "
+SRCREV = "e5714d1f0a477f91ce3986fa63651c7710f0e183"
 SRCBRANCH ?= "master"
 
-SRC_URI += "file://fix_cflags_handling.patch \
-            file://configure-c99.patch"
-
 PROVIDES = "virtual/crypt"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.36.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.37.bb
similarity index 100%
rename from poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.36.bb
rename to poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.37.bb
diff --git a/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb b/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
index a68a8bb..8ef13bd 100644
--- a/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
@@ -90,6 +90,8 @@
     if update_db_file(db_tmp_file, d, database_time) == True:
         # Update downloaded correctly, can swap files
         shutil.move(db_tmp_file, db_file)
+        # Need to 'touch' the file to ensure NFS sees the data
+        os.utime(db_file)
     else:
         # Update failed, do not modify the database
         bb.warn("CVE database update failed")
diff --git a/poky/meta/recipes-core/meta/meta-environment.bb b/poky/meta/recipes-core/meta/meta-environment.bb
index 65436bc..e259099 100644
--- a/poky/meta/recipes-core/meta/meta-environment.bb
+++ b/poky/meta/recipes-core/meta/meta-environment.bb
@@ -70,7 +70,7 @@
 
 PN = "meta-environment-${MACHINE}"
 PACKAGES = "${PN}"
-FILES:${PN}= " \
+FILES:${PN} = " \
     ${SDKPATH}/* \
     "
 
diff --git a/poky/meta/recipes-core/meta/wic-tools.bb b/poky/meta/recipes-core/meta/wic-tools.bb
index 76494e7..fa983ed 100644
--- a/poky/meta/recipes-core/meta/wic-tools.bb
+++ b/poky/meta/recipes-core/meta/wic-tools.bb
@@ -7,7 +7,7 @@
            mtools-native bmaptool-native grub-native cdrtools-native \
            btrfs-tools-native squashfs-tools-native pseudo-native \
            e2fsprogs-native util-linux-native tar-native erofs-utils-native \
-           virtual/${TARGET_PREFIX}binutils \
+           virtual/cross-binutils \
            "
 DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot"
 DEPENDS:append:x86-64 = " syslinux-native syslinux grub-efi systemd-boot"
diff --git a/poky/meta/recipes-core/musl/libssp-nonshared.bb b/poky/meta/recipes-core/musl/libssp-nonshared.bb
index e9f652f..fde3bc9 100644
--- a/poky/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/poky/meta/recipes-core/musl/libssp-nonshared.bb
@@ -11,8 +11,8 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils \
-           virtual/${TARGET_PREFIX}gcc \
+DEPENDS = "virtual/cross-binutils \
+           virtual/cross-cc \
 "
 
 do_configure[noexec] = "1"
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 9d33df4..4d44a8c 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
 require musl.inc
 inherit linuxloader
 
-SRCREV = "047a16398b29d2702a41a0d6d15370d54b9d723c"
+SRCREV = "61399d4bd02ae1ec03068445aa7ffe9174466bfd"
 
 BASEVER = "1.2.5"
 
@@ -20,8 +20,8 @@
 
 PROVIDES += "virtual/libc virtual/libiconv virtual/libintl virtual/crypt"
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils \
-           virtual/${TARGET_PREFIX}gcc \
+DEPENDS = "virtual/cross-binutils \
+           virtual/cross-cc \
            libgcc-initial \
            linux-libc-headers \
            bsd-headers \
@@ -30,7 +30,7 @@
 GLIBC_LDSO = "${@get_glibc_loader(d)}"
 MUSL_LDSO_ARCH = "${@get_musl_loader_arch(d)}"
 
-export CROSS_COMPILE="${TARGET_PREFIX}"
+export CROSS_COMPILE = "${TARGET_PREFIX}"
 
 LDFLAGS += "-Wl,-soname,libc.so"
 
diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc
index 34b0f3f..50113ba 100644
--- a/poky/meta/recipes-core/newlib/newlib.inc
+++ b/poky/meta/recipes-core/newlib/newlib.inc
@@ -17,10 +17,10 @@
 BASEVER = "4.4.0"
 PV = "${BASEVER}+git"
 SRC_URI = "git://sourceware.org/git/newlib-cygwin.git;protocol=https;branch=main"
-SRCREV="ad11e2587f83d61357a32c61c36d72ea4f39315e"
+SRCREV = "ad11e2587f83d61357a32c61c36d72ea4f39315e"
 
 INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc"
+DEPENDS = "virtual/cross-cc"
 
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
diff --git a/poky/meta/recipes-core/os-release/os-release.bb b/poky/meta/recipes-core/os-release/os-release.bb
index 93af08c..e1906d0 100644
--- a/poky/meta/recipes-core/os-release/os-release.bb
+++ b/poky/meta/recipes-core/os-release/os-release.bb
@@ -38,7 +38,7 @@
 # the CPE.
 
 CPE_DISTRO ??= "${DISTRO}"
-CPE_NAME="cpe:/o:openembedded:${CPE_DISTRO}:${VERSION_ID}"
+CPE_NAME = "cpe:/o:openembedded:${CPE_DISTRO}:${VERSION_ID}"
 
 BUILD_ID ?= "${DATETIME}"
 BUILD_ID[vardepsexclude] = "DATETIME"
diff --git a/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb b/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb
index 4d7958e..5aafba9 100644
--- a/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf-shell-image.bb
@@ -1,5 +1,5 @@
 SUMMARY = "boot image with UEFI shell and tools"
-COMPATIBLE_HOST:class-target='(i.86|x86_64).*'
+COMPATIBLE_HOST:class-target = '(i.86|x86_64).*'
 
 # For this image recipe, only the wic format with a
 # single vfat partition makes sense. Because we have no
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 9aa831b..559c86b 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -52,13 +52,13 @@
 
 DEPENDS = "nasm-native acpica-native ovmf-native util-linux-native"
 
-EDK_TOOLS_DIR="edk2_basetools"
+EDK_TOOLS_DIR = "edk2_basetools"
 
 # OVMF has trouble building with the default optimization of -O2.
 BUILD_OPTIMIZATION = ""
 
 # OVMF supports IA only, although it could conceivably support ARM someday.
-COMPATIBLE_HOST:class-target='(i.86|x86_64).*'
+COMPATIBLE_HOST:class-target = '(i.86|x86_64).*'
 
 # Additional build flags for OVMF with Secure Boot.
 # Fedora also uses "-D SMM_REQUIRE -D EXCLUDE_SHELL_FROM_FD".
@@ -139,7 +139,7 @@
 export NASM_PREFIX_MAP = "--debug-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}"
 export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP} -Wno-stringop-overflow -Wno-maybe-uninitialized"
 
-GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')"
+GCC_VER = "$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')"
 
 fixup_target_tools() {
     case ${1} in
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index f471cf9..4e324ca 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -55,6 +55,7 @@
 VALGRIND:powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}"
 VALGRIND:linux-gnux32 = ""
 VALGRIND:linux-gnun32 = ""
+VALGRIND:loongarch64 = ""
 
 RDEPENDS:${PN} = "\
     ${PROFILETOOLS} \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
index 180660a..d7ea8e9 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb
@@ -17,6 +17,7 @@
 KEXECTOOLS:nios2 ?= ""
 KEXECTOOLS:riscv64 ?= ""
 KEXECTOOLS:riscv32 ?= ""
+KEXECTOOLS:loongarch64 ?= ""
 
 # go does not support ppc32, only ppc64
 # https://github.com/golang/go/issues/22885
@@ -45,7 +46,6 @@
     "
 
 RDEPENDS:${PN} = "\
-    blktool \
     ${KEXECTOOLS} \
     alsa-utils-amixer \
     alsa-utils-aplay \
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb b/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
index bb10a2d..7e220d2 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
@@ -5,7 +5,7 @@
 
 PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
 
-RUST="rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+RUST = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
 RDEPENDS:${PN} = " \
     ${@all_multilib_tune_values(d, 'RUST')} \
diff --git a/poky/meta/recipes-core/picolibc/picolibc.inc b/poky/meta/recipes-core/picolibc/picolibc.inc
index 3b380fe..640be81 100644
--- a/poky/meta/recipes-core/picolibc/picolibc.inc
+++ b/poky/meta/recipes-core/picolibc/picolibc.inc
@@ -15,7 +15,7 @@
 BASEVER = "1.8.6"
 PV = "${BASEVER}+git"
 SRC_URI = "git://github.com/picolibc/picolibc.git;protocol=https;branch=main"
-SRCREV="764ef4e401a8f4c6a86ab723533841f072885a5b"
+SRCREV = "764ef4e401a8f4c6a86ab723533841f072885a5b"
 
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build"
diff --git a/poky/meta/recipes-core/picolibc/picolibc_git.bb b/poky/meta/recipes-core/picolibc/picolibc_git.bb
index fdb1593..e673518 100644
--- a/poky/meta/recipes-core/picolibc/picolibc_git.bb
+++ b/poky/meta/recipes-core/picolibc/picolibc_git.bb
@@ -1,7 +1,7 @@
 require picolibc.inc
 
 INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc"
+DEPENDS = "virtual/cross-cc"
 
 PROVIDES += "virtual/libc virtual/libiconv virtual/libintl"
 
diff --git a/poky/meta/recipes-core/systemd/systemd-boot-native_256.8.bb b/poky/meta/recipes-core/systemd/systemd-boot-native_257.1.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot-native_256.8.bb
rename to poky/meta/recipes-core/systemd/systemd-boot-native_257.1.bb
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_256.8.bb b/poky/meta/recipes-core/systemd/systemd-boot_257.1.bb
similarity index 85%
rename from poky/meta/recipes-core/systemd/systemd-boot_256.8.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_257.1.bb
index 10b532d..6a50ac0 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_256.8.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_257.1.bb
@@ -54,13 +54,13 @@
 
 do_install() {
 	install -d ${D}${EFI_FILES_PATH}
-	install ${B}/src/boot/efi/systemd-boot*.efi ${D}${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}
+	install ${B}/src/boot/systemd-boot*.efi ${D}${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}
 }
 
 do_deploy () {
-	install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
-	install ${B}/src/boot/efi/linux*.efi.stub ${DEPLOYDIR}
-	install ${B}/src/boot/efi/addon*.efi.stub ${DEPLOYDIR}
+	install ${B}/src/boot/systemd-boot*.efi ${DEPLOYDIR}
+	install ${B}/src/boot/linux*.efi.stub ${DEPLOYDIR}
+	install ${B}/src/boot/addon*.efi.stub ${DEPLOYDIR}
 }
 
 addtask deploy before do_build after do_compile
diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
index 2229bc7..81c246a 100755
--- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -29,15 +29,15 @@
 
     _clearable_keys = ['WantedBy']
 
-    def __init__(self, root, path, instance_unit_name):
+    def __init__(self, root, path, instance_unit_name, unit_type):
         self.sections = dict()
         self._parse(root, path)
         dirname = os.path.basename(path.name) + ".d"
         for location in locations:
-            files = (root / location / "system" / dirname).glob("*.conf")
+            files = (root / location / unit_type / dirname).glob("*.conf")
             if instance_unit_name:
                 inst_dirname = instance_unit_name + ".d"
-                files = chain(files, (root / location / "system" / inst_dirname).glob("*.conf"))
+                files = chain(files, (root / location / unit_type / inst_dirname).glob("*.conf"))
             for path2 in sorted(files):
                 self._parse(root, path2)
 
@@ -182,21 +182,22 @@
 
 
 class SystemdUnit():
-    def __init__(self, root, unit):
+    def __init__(self, root, unit, unit_type):
         self.root = root
         self.unit = unit
+        self.unit_type = unit_type
         self.config = None
 
     def _path_for_unit(self, unit):
         for location in locations:
-            path = self.root / location / "system" / unit
+            path = self.root / location / self.unit_type / unit
             if path.exists() or path.is_symlink():
                 return path
 
         raise SystemdUnitNotFoundError(self.root, unit)
 
     def _process_deps(self, config, service, location, prop, dirstem, instance):
-        systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+        systemdir = self.root / SYSCONFDIR / "systemd" / self.unit_type
 
         target = ROOT / location.relative_to(self.root)
         try:
@@ -229,7 +230,7 @@
             # ignore aliases
             return
 
-        config = SystemdFile(self.root, path, instance_unit_name)
+        config = SystemdFile(self.root, path, instance_unit_name, self.unit_type)
         if instance == "":
             try:
                 default_instance = config.get('Install', 'DefaultInstance')[0]
@@ -250,14 +251,14 @@
                 try:
                      units_enabled.append(unit)
                      if also not in units_enabled:
-                        SystemdUnit(self.root, also).enable(units_enabled)
+                        SystemdUnit(self.root, also, self.unit_type).enable(units_enabled)
                 except SystemdUnitNotFoundError as e:
                     sys.exit("Error: Systemctl also enable issue with  %s (%s)" % (service, e.unit))
 
         except KeyError:
             pass
 
-        systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+        systemdir = self.root / SYSCONFDIR / "systemd" / self.unit_type
         target = ROOT / path.relative_to(self.root)
         try:
             for dest in config.get('Install', 'Alias'):
@@ -268,15 +269,15 @@
             pass
 
     def mask(self):
-        systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+        systemdir = self.root / SYSCONFDIR / "systemd" / self.unit_type
         add_link(systemdir / self.unit, "/dev/null")
 
 
-def collect_services(root):
+def collect_services(root, unit_type):
     """Collect list of service files"""
     services = set()
     for location in locations:
-        paths = (root / location / "system").glob("*")
+        paths = (root / location / unit_type).glob("*")
         for path in paths:
             if path.is_dir():
                 continue
@@ -285,16 +286,16 @@
     return services
 
 
-def preset_all(root):
-    presets = Presets('system-preset', root)
-    services = collect_services(root)
+def preset_all(root, unit_type):
+    presets = Presets('{}-preset'.format(unit_type), root)
+    services = collect_services(root, unit_type)
 
     for service in services:
         state = presets.state(service)
 
         if state == "enable" or state is None:
             try:
-                SystemdUnit(root, service).enable()
+                SystemdUnit(root, service, unit_type).enable()
             except SystemdUnitNotFoundError:
                 sys.exit("Error: Systemctl preset_all issue in %s" % service)
 
@@ -320,6 +321,7 @@
     parser.add_argument('--preset-mode',
                         choices=['full', 'enable-only', 'disable-only'],
                         default='full')
+    parser.add_argument('--global', dest="opt_global", action="store_true", default=False)
 
     args = parser.parse_args()
 
@@ -336,16 +338,18 @@
         parser.print_help()
         return 0
 
+    unit_type = "user" if args.opt_global else "system"
+
     if command == "mask":
         for service in args.service:
             try:
-                SystemdUnit(root, service).mask()
+                SystemdUnit(root, service, unit_type).mask()
             except SystemdUnitNotFoundError as e:
                 sys.exit("Error: Systemctl main mask issue in %s (%s)" % (service, e.unit))
     elif command == "enable":
         for service in args.service:
             try:
-                SystemdUnit(root, service).enable()
+                SystemdUnit(root, service, unit_type).enable()
             except SystemdUnitNotFoundError as e:
                 sys.exit("Error: Systemctl main enable issue in %s (%s)" % (service, e.unit))
     elif command == "preset-all":
@@ -353,7 +357,7 @@
             sys.exit("Too many arguments.")
         if args.preset_mode != "enable-only":
             sys.exit("Only enable-only is supported as preset-mode.")
-        preset_all(root)
+        preset_all(root, unit_type)
     else:
         raise RuntimeError()
 
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 989ca66..65785ac 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -15,8 +15,10 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "a2240d1cf9f3515728186c2c98a6f4b64a40e4da"
-SRCBRANCH = "v256-stable"
+SRCREV = "47eea9ee9f46537bc18d6a64fa21fd9c50538e13"
+SRCBRANCH = "v257-stable"
 SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH}"
 
 S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "systemd"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Do-not-create-var-log-README.patch b/poky/meta/recipes-core/systemd/systemd/0001-Do-not-create-var-log-README.patch
new file mode 100644
index 0000000..850e356
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-Do-not-create-var-log-README.patch
@@ -0,0 +1,30 @@
+From 425ad51e727058b48dd4580fd6afe7e51e96a28a Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <pkj@axis.com>
+Date: Tue, 21 Jan 2025 05:02:00 +0100
+Subject: [PATCH] Do not create /var/log/README
+
+/var/log/README is a link to /usr/share/doc/systemd/README.logs. The
+latter is packaged in systemd-doc and likely not installed, which leaves
+/var/log/README as a dead link. Since /var/log/README is not very
+useful, just remove it.
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+ tmpfiles.d/legacy.conf.in | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/tmpfiles.d/legacy.conf.in b/tmpfiles.d/legacy.conf.in
+index b475500e58..650c91a8da 100644
+--- a/tmpfiles.d/legacy.conf.in
++++ b/tmpfiles.d/legacy.conf.in
+@@ -13,9 +13,6 @@
+ 
+ d /run/lock 0755 root root -
+ L /var/lock - - - - ../run/lock
+-{% if CREATE_LOG_DIRS %}
+-L$ /var/log/README - - - - ../..{{DOC_DIR}}/README.logs
+-{% endif %}
+ 
+ {% if HAVE_SYSV_COMPAT %}
+ # /run/lock/subsys is used for serializing SysV service execution, and
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index 4ffcb2e..5101f92 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -1,7 +1,7 @@
-From ca94c86736ca7917e6c50d09d6c6ba56ba139709 Mon Sep 17 00:00:00 2001
+From e5fd143f215f072404c544f694cb026a4231503e Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Thu, 21 Feb 2019 16:23:24 +0800
-Subject: [PATCH 01/27] binfmt: Don't install dependency links at install time
+Subject: [PATCH 01/26] binfmt: Don't install dependency links at install time
  for the binfmt services
 
 use [Install] blocks so that they get created when the service is enabled
@@ -25,7 +25,7 @@
  3 files changed, 7 insertions(+), 2 deletions(-)
 
 diff --git a/units/meson.build b/units/meson.build
-index b231341a1f..b613a188a4 100644
+index 96f4852741..0a3a4fee67 100644
 --- a/units/meson.build
 +++ b/units/meson.build
 @@ -156,7 +156,6 @@ units = [
@@ -75,5 +75,5 @@
 +[Install]
 +WantedBy=sysinit.target
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-implment-systemd-sysv-install-for-OE.patch b/poky/meta/recipes-core/systemd/systemd/0002-implment-systemd-sysv-install-for-OE.patch
index 36cc567..d8bb572 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-implment-systemd-sysv-install-for-OE.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-implment-systemd-sysv-install-for-OE.patch
@@ -1,7 +1,7 @@
-From 40ae40de3db990a7e56694f24fc625b1b71a98f7 Mon Sep 17 00:00:00 2001
+From fab8c573d06340868f070446118673b1c23584c5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 5 Sep 2015 06:31:47 +0000
-Subject: [PATCH 02/27] implment systemd-sysv-install for OE
+Subject: [PATCH 02/26] implment systemd-sysv-install for OE
 
 Use update-rc.d for enabling/disabling and status command
 to check the status of the sysv service
@@ -39,5 +39,5 @@
      *)
          usage ;;
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-coredump-set-ProtectHome-to-read-only.patch b/poky/meta/recipes-core/systemd/systemd/0003-coredump-set-ProtectHome-to-read-only.patch
deleted file mode 100644
index feb1178..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0003-coredump-set-ProtectHome-to-read-only.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 4ac1755be2d6c141fae7e57c42936e507c5b54e3 Mon Sep 17 00:00:00 2001
-From: Etienne Cordonnier <ecordonnier@snap.com>
-Date: Fri, 6 Sep 2024 10:36:28 +0200
-Subject: [PATCH] coredump: set ProtectHome to read-only
-
-In https://github.com/systemd/systemd/pull/5283/commits/924453c22599cc246746a0233b2f52a27ade0819
-ProtectHome was set to true for systemd-coredump in order to reduce risk, since an attacker could craft a malicious binary in order to compromise systemd-coredump.
-At that point the object analysis was done in the main systemd-coredump process.
-Because of this systemd-coredump is unable to product symbolicated call-stacks for binaries running under /home ("n/a" is shown instead of function names).
-
-However, later in https://github.com/systemd/systemd/commit/61aea456c12c54f49c4a76259af130e576130ce9 systemd-coredump was changed to do the object analysis in a forked process,
-covering those security concerns.
-
-Let's set ProtectHome to read-only so that systemd-coredump produces symbolicated call-stacks for processes running under /home.
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/4ac1755be2d6c141fae7e57c42936e507c5b54e3]
-
-Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
----
- units/systemd-coredump@.service.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/units/systemd-coredump@.service.in b/units/systemd-coredump@.service.in
-index 012c60d2f6..fa3206d07b 100644
---- a/units/systemd-coredump@.service.in
-+++ b/units/systemd-coredump@.service.in
-@@ -28,7 +28,7 @@ PrivateDevices=yes
- PrivateNetwork=yes
- PrivateTmp=yes
- ProtectControlGroups=yes
--ProtectHome=yes
-+ProtectHome=read-only
- ProtectHostname=yes
- ProtectKernelModules=yes
- ProtectKernelTunables=yes
--- 
-2.43.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-missing_type.h-add-comparison_fn_t.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch
similarity index 91%
rename from poky/meta/recipes-core/systemd/systemd/0004-missing_type.h-add-comparison_fn_t.patch
rename to poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch
index f4456f3..f2094eb 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-missing_type.h-add-comparison_fn_t.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-comparison_fn_t.patch
@@ -1,7 +1,7 @@
-From 34b7e1ed3b9a896db6fad435fd141c385c7337d1 Mon Sep 17 00:00:00 2001
+From f99ef6c4407b56e8d15455fe27eb732ada87215b Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 13:55:12 +0800
-Subject: [PATCH 04/27] missing_type.h: add comparison_fn_t
+Subject: [PATCH 03/26] missing_type.h: add comparison_fn_t
 
 Make it work with musl where comparison_fn_t and is not provided.
 
@@ -45,7 +45,7 @@
  /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the
   * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that
 diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
-index a0b673f65f..29dd2fee16 100644
+index 7dcc35d8d5..87b8d6aad6 100644
 --- a/src/libsystemd/sd-journal/catalog.c
 +++ b/src/libsystemd/sd-journal/catalog.c
 @@ -29,6 +29,7 @@
@@ -57,5 +57,5 @@
  const char * const catalog_file_dirs[] = {
          "/usr/local/lib/systemd/catalog/",
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
similarity index 97%
rename from poky/meta/recipes-core/systemd/systemd/0005-add-fallback-parse_printf_format-implementation.patch
rename to poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index b0865b3..f9a45bb 100644
--- a/poky/meta/recipes-core/systemd/systemd/0005-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
-From 4a4005583e2debe491850229aa5ae2a97770532d Mon Sep 17 00:00:00 2001
+From 34fe809cf686c1a81db5f3f027e33fece350ba0b Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Sat, 22 May 2021 20:26:24 +0200
-Subject: [PATCH 05/27] add fallback parse_printf_format implementation
+Subject: [PATCH 04/26] add fallback parse_printf_format implementation
 
 Upstream-Status: Inappropriate [musl specific]
 
@@ -22,22 +22,22 @@
  create mode 100644 src/basic/parse-printf-format.h
 
 diff --git a/meson.build b/meson.build
-index 52723bef09..e20bf3af8a 100644
+index bffda86845..4146f4beef 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -753,6 +753,7 @@ foreach header : ['crypt.h',
+@@ -773,6 +773,7 @@ foreach header : ['crypt.h',
+                   'linux/ioprio.h',
                    'linux/memfd.h',
                    'linux/time_types.h',
-                   'linux/vm_sockets.h',
 +                  'printf.h',
                    'sys/auxv.h',
                    'sys/sdt.h',
                    'threads.h',
 diff --git a/src/basic/meson.build b/src/basic/meson.build
-index 9a214575a5..b49b6ade56 100644
+index e02f787c75..9435df895d 100644
 --- a/src/basic/meson.build
 +++ b/src/basic/meson.build
-@@ -189,6 +189,11 @@ endforeach
+@@ -188,6 +188,11 @@ endforeach
  
  basic_sources += generated_gperf_headers
  
@@ -430,5 +430,5 @@
  #define SNDBUF_SIZE (8*1024*1024)
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
similarity index 94%
rename from poky/meta/recipes-core/systemd/systemd/0006-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
rename to poky/meta/recipes-core/systemd/systemd/0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index e7a0abc..1b5e0d5 100644
--- a/poky/meta/recipes-core/systemd/systemd/0006-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -1,7 +1,7 @@
-From ed836c3478e1193e99e37d50db96d124796a3322 Mon Sep 17 00:00:00 2001
+From d368a0317c747961f69a455a09a3de3fd13410a2 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 14:56:21 +0800
-Subject: [PATCH 06/27] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
+Subject: [PATCH 05/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
  defined
 
 If the standard library doesn't provide brace
@@ -115,7 +115,7 @@
  
          (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
 diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index 807925f199..b4f86fc611 100644
+index 86bf16356d..da552dbaab 100644
 --- a/src/tmpfiles/tmpfiles.c
 +++ b/src/tmpfiles/tmpfiles.c
 @@ -73,6 +73,12 @@
@@ -131,7 +131,7 @@
  /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
   * them in the file system. This is intended to be used to create
   * properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -2570,7 +2576,9 @@ finish:
+@@ -2573,7 +2579,9 @@ finish:
  
  static int glob_item(Context *c, Item *i, action_t action) {
          _cleanup_globfree_ glob_t g = {
@@ -141,7 +141,7 @@
          };
          int r;
  
-@@ -2598,7 +2606,9 @@ static int glob_item_recursively(
+@@ -2601,7 +2609,9 @@ static int glob_item_recursively(
                  fdaction_t action) {
  
          _cleanup_globfree_ glob_t g = {
@@ -152,5 +152,5 @@
          int r;
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0006-add-missing-FTW_-macros-for-musl.patch
similarity index 89%
rename from poky/meta/recipes-core/systemd/systemd/0007-add-missing-FTW_-macros-for-musl.patch
rename to poky/meta/recipes-core/systemd/systemd/0006-add-missing-FTW_-macros-for-musl.patch
index 474a7d3..578411c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0007-add-missing-FTW_-macros-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0006-add-missing-FTW_-macros-for-musl.patch
@@ -1,7 +1,7 @@
-From 8320725f1a9088623da8753c7077473b98a63107 Mon Sep 17 00:00:00 2001
+From 54b6e10aea2b0fb52782c3a71f06654a89b46bff Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:00:06 +0800
-Subject: [PATCH 07/27] add missing FTW_ macros for musl
+Subject: [PATCH 06/26] add missing FTW_ macros for musl
 
 This is to avoid build failures like below for musl.
 
@@ -40,5 +40,5 @@
  static char **list_nftw = NULL;
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0008-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0007-Use-uintmax_t-for-handling-rlim_t.patch
similarity index 93%
rename from poky/meta/recipes-core/systemd/systemd/0008-Use-uintmax_t-for-handling-rlim_t.patch
rename to poky/meta/recipes-core/systemd/systemd/0007-Use-uintmax_t-for-handling-rlim_t.patch
index c8598ed..b4a570e 100644
--- a/poky/meta/recipes-core/systemd/systemd/0008-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0007-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,7 +1,7 @@
-From 41abe1a4136babfe5df63e9561dcf29d3c8fe6e9 Mon Sep 17 00:00:00 2001
+From 85d8c4c27e855d54c1740902a836c8f2aea9bebc Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:12:41 +0800
-Subject: [PATCH 08/27] Use uintmax_t for handling rlim_t
+Subject: [PATCH 07/26] Use uintmax_t for handling rlim_t
 
 PRIu{32,64} is not right format to represent rlim_t type
 therefore use %ju and typecast the rlim_t variables to
@@ -27,10 +27,10 @@
  3 files changed, 9 insertions(+), 15 deletions(-)
 
 diff --git a/src/basic/format-util.h b/src/basic/format-util.h
-index ba7cff6a8b..2736abb07b 100644
+index b528c005ca..41c4c095be 100644
 --- a/src/basic/format-util.h
 +++ b/src/basic/format-util.h
-@@ -42,13 +42,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t));
+@@ -41,13 +41,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t));
  #  error Unknown timex member size
  #endif
  
@@ -86,10 +86,10 @@
          return 1;
  }
 diff --git a/src/core/execute.c b/src/core/execute.c
-index 513e95e09d..0e269617f8 100644
+index 3d55b0b772..4824ff159e 100644
 --- a/src/core/execute.c
 +++ b/src/core/execute.c
-@@ -1067,9 +1067,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+@@ -1162,9 +1162,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
          for (unsigned i = 0; i < RLIM_NLIMITS; i++)
                  if (c->rlimit[i]) {
                          fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
@@ -102,5 +102,5 @@
  
          if (c->ioprio_set) {
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0010-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch
similarity index 82%
rename from poky/meta/recipes-core/systemd/systemd/0010-Define-glibc-compatible-basename-for-non-glibc-syste.patch
rename to poky/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 1626507..22e2cea 100644
--- a/poky/meta/recipes-core/systemd/systemd/0010-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,7 +1,7 @@
-From ea8e85d92f67a7af8577a4ce7c67c7aaee65d10c Mon Sep 17 00:00:00 2001
+From f4cd939c7cc1ce0a59bab2693768f2c95d9ced00 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 27 May 2018 08:36:44 -0700
-Subject: [PATCH 10/27] Define glibc compatible basename() for non-glibc
+Subject: [PATCH 08/26] Define glibc compatible basename() for non-glibc
  systems
 
 Fixes builds with musl, even though systemd is adamant about
@@ -15,10 +15,10 @@
  1 file changed, 4 insertions(+)
 
 diff --git a/src/basic/string-util.h b/src/basic/string-util.h
-index ff5efbcf55..d1a6bb0e76 100644
+index cc6aa183c0..0b035125cd 100644
 --- a/src/basic/string-util.h
 +++ b/src/basic/string-util.h
-@@ -26,6 +26,10 @@
+@@ -27,6 +27,10 @@
  #define URI_UNRESERVED      ALPHANUMERICAL "-._~"       /* [RFC3986] */
  #define URI_VALID           URI_RESERVED URI_UNRESERVED /* [RFC3986] */
  
@@ -30,5 +30,5 @@
          if (!haystack || !needle)
                  return NULL;
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0011-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
similarity index 83%
rename from poky/meta/recipes-core/systemd/systemd/0011-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
rename to poky/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index 60cec6d..8e3eb15 100644
--- a/poky/meta/recipes-core/systemd/systemd/0011-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,7 +1,7 @@
-From 7c8634c441401b034cd4bcf4b916a7042076fca8 Mon Sep 17 00:00:00 2001
+From 6959db351fdd551d46e22667deec6032552b2662 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Wed, 4 Jul 2018 15:00:44 +0800
-Subject: [PATCH 11/27] Do not disable buffering when writing to oom_score_adj
+Subject: [PATCH 09/26] Do not disable buffering when writing to oom_score_adj
 
 On musl, disabling buffering when writing to oom_score_adj will
 cause the following error.
@@ -24,10 +24,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index c9d968dee0..7d6d3ce7db 100644
+index 3253a9c3fb..772c4082a1 100644
 --- a/src/basic/process-util.c
 +++ b/src/basic/process-util.c
-@@ -1816,7 +1816,7 @@ int set_oom_score_adjust(int value) {
+@@ -1848,7 +1848,7 @@ int set_oom_score_adjust(int value) {
          xsprintf(t, "%i", value);
  
          return write_string_file("/proc/self/oom_score_adj", t,
@@ -37,5 +37,5 @@
  
  int get_oom_score_adjust(int *ret) {
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0009-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
deleted file mode 100644
index 851dcbd..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0009-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 8af5d1e3c0dc7e71f7a4aee0f539a5d772d47354 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 10 Oct 2017 14:33:30 -0700
-Subject: [PATCH 09/27] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
-
-Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
-thing to do and it's not portable (not supported by musl). See:
-
-  http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
-  http://www.openwall.com/lists/musl/2015/02/05/2
-
-Note that laccess() is never passing AT_EACCESS so a lot of the
-discussion in the links above doesn't apply. Note also that
-(currently) all systemd callers of laccess() pass mode as F_OK, so
-only check for existence of a file, not access permissions.
-Therefore, in this case, the only distiction between faccessat()
-with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour
-for broken symlinks; laccess() on a broken symlink will succeed with
-(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
-
-The laccess() macros was added to systemd some time ago and it's not
-clear if or why it needs to return success for broken symlinks. Maybe
-just historical and not actually necessary or desired behaviour?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- src/basic/fs-util.h          | 21 ++++++++++++++++++++-
- src/shared/base-filesystem.c |  6 +++---
- 2 files changed, 23 insertions(+), 4 deletions(-)
-
-diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
-index 3e2db95304..d5747416b0 100644
---- a/src/basic/fs-util.h
-+++ b/src/basic/fs-util.h
-@@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
- int fd_warn_permissions(const char *path, int fd);
- int stat_warn_permissions(const char *path, const struct stat *st);
- 
-+/*
-+   Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
-+   do and it's not portable (not supported by musl). See:
-+
-+     http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
-+     http://www.openwall.com/lists/musl/2015/02/05/2
-+
-+   Note that laccess() is never passing AT_EACCESS so a lot of the discussion in
-+   the links above doesn't apply. Note also that (currently) all systemd callers
-+   of laccess() pass mode as F_OK, so only check for existence of a file, not
-+   access permissions. Therefore, in this case, the only distiction between
-+   faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the
-+   behaviour for broken symlinks; laccess() on a broken symlink will succeed
-+   with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
-+
-+   The laccess() macros was added to systemd some time ago and it's not clear if
-+   or why it needs to return success for broken symlinks. Maybe just historical
-+   and not actually necessary or desired behaviour?
-+*/
- #define laccess(path, mode)                                             \
--        RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW))
-+        RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0))
- 
- int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
- 
-diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
-index a4e2dae245..67aa8ea1f2 100644
---- a/src/shared/base-filesystem.c
-+++ b/src/shared/base-filesystem.c
-@@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
-         /* The "root" parameter is decoration only – it's only used as part of log messages */
- 
-         for (size_t i = 0; i < ELEMENTSOF(table); i++) {
--                if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
-+                if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
-                         continue;
- 
-                 if (table[i].target) { /* Create as symlink? */
-@@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
- 
-                         /* check if one of the targets exists */
-                         NULSTR_FOREACH(s, table[i].target) {
--                                if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
-+                                if (faccessat(fd, s, F_OK, 0) < 0)
-                                         continue;
- 
-                                 /* check if a specific file exists at the target path */
-@@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
-                                         if (!p)
-                                                 return log_oom();
- 
--                                        if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
-+                                        if (faccessat(fd, p, F_OK, 0) < 0)
-                                                 continue;
-                                 }
- 
--- 
-2.45.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
similarity index 88%
rename from poky/meta/recipes-core/systemd/systemd/0012-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
rename to poky/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index aa3c45c..0dfb778 100644
--- a/poky/meta/recipes-core/systemd/systemd/0012-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -1,7 +1,7 @@
-From 4a2df0bba1741914617ca1271e2bc68a5d9e5dac Mon Sep 17 00:00:00 2001
+From b7f6c245b4ae72999f23eecc2bbb6d6fb8db667c Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Tue, 10 Jul 2018 15:40:17 +0800
-Subject: [PATCH 12/27] distinguish XSI-compliant strerror_r from GNU-specifi
+Subject: [PATCH 10/26] distinguish XSI-compliant strerror_r from GNU-specifi
  strerror_r
 
 XSI-compliant strerror_r and GNU-specifi strerror_r are different.
@@ -24,10 +24,10 @@
  2 files changed, 15 insertions(+), 1 deletion(-)
 
 diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index f415797700..a5c6e9a3bd 100644
+index 58c24d25c0..69a0d09d42 100644
 --- a/src/libsystemd/sd-bus/bus-error.c
 +++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -410,7 +410,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
+@@ -405,7 +405,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
                          return;
  
                  errno = 0;
@@ -40,7 +40,7 @@
                  if (errno == ERANGE || strlen(x) >= k - 1) {
                          free(m);
                          k *= 2;
-@@ -595,8 +600,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static
+@@ -590,8 +595,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static
  
          if (e && e->message)
                  return e->message;
@@ -72,5 +72,5 @@
                          char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0013-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch
similarity index 83%
rename from poky/meta/recipes-core/systemd/systemd/0013-avoid-redefinition-of-prctl_mm_map-structure.patch
rename to poky/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch
index c48bd58..16d741c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0013-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -1,7 +1,7 @@
-From 846b8f16cf07d9187261e06701a75eb208caa707 Mon Sep 17 00:00:00 2001
+From 43b0269e850a2fbcb6ca615258aa8f8a9b4f6a9d Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:44:54 +0800
-Subject: [PATCH 13/27] avoid redefinition of prctl_mm_map structure
+Subject: [PATCH 11/26] avoid redefinition of prctl_mm_map structure
 
 Fix the following compile failure:
 error: redefinition of 'struct prctl_mm_map'
@@ -28,5 +28,5 @@
  #include "macro.h"
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0014-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch
similarity index 77%
rename from poky/meta/recipes-core/systemd/systemd/0014-do-not-disable-buffer-in-writing-files.patch
rename to poky/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch
index e624c2d..00b4b77 100644
--- a/poky/meta/recipes-core/systemd/systemd/0014-do-not-disable-buffer-in-writing-files.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch
@@ -1,7 +1,7 @@
-From 88694101bcac461c39049962ce97ce579cc07e13 Mon Sep 17 00:00:00 2001
+From eaf26fdad00448b8cd336eb5db51e0baa8d8e588 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 1 Mar 2019 15:22:15 +0800
-Subject: [PATCH 14/27] do not disable buffer in writing files
+Date: Mon, 16 Dec 2024 14:37:25 +0800
+Subject: [PATCH 12/26] do not disable buffer in writing files
 
 Do not disable buffer in writing files, otherwise we get
 failure at boot for musl like below.
@@ -22,35 +22,34 @@
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 [rebased for systemd 255.1]
 ---
- src/basic/cgroup-util.c              | 12 ++++++------
+ src/basic/cgroup-util.c              |  4 ++--
  src/basic/namespace-util.c           |  4 ++--
  src/basic/procfs-util.c              |  4 ++--
  src/basic/sysctl-util.c              |  2 +-
  src/binfmt/binfmt.c                  |  6 +++---
  src/core/cgroup.c                    |  2 +-
+ src/core/ipe-setup.c                 |  2 +-
  src/core/main.c                      |  2 +-
- src/core/smack-setup.c               |  8 ++++----
+ src/core/smack-setup.c               |  6 +++---
  src/home/homework.c                  |  2 +-
  src/libsystemd/sd-device/sd-device.c |  2 +-
  src/nspawn/nspawn-cgroup.c           |  2 +-
  src/nspawn/nspawn.c                  |  6 +++---
  src/shared/binfmt-util.c             |  2 +-
- src/shared/cgroup-setup.c            |  6 +++---
- src/shared/coredump-util.c           |  4 ++--
+ src/shared/cgroup-setup.c            | 12 ++++++------
+ src/shared/coredump-util.c           |  2 +-
  src/shared/hibernate-util.c          |  4 ++--
  src/shared/smack-util.c              |  2 +-
- src/shared/watchdog.c                |  2 +-
- src/sleep/sleep.c                    |  4 ++--
+ src/sleep/sleep.c                    |  2 +-
  src/storagetm/storagetm.c            | 24 ++++++++++++------------
- src/udev/udev-rules.c                |  1 -
  src/vconsole/vconsole-setup.c        |  2 +-
- 22 files changed, 51 insertions(+), 52 deletions(-)
+ 21 files changed, 47 insertions(+), 47 deletions(-)
 
 diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index 553ee6075a..a3704baf6a 100644
+index 309dccb45a..7aec5072a0 100644
 --- a/src/basic/cgroup-util.c
 +++ b/src/basic/cgroup-util.c
-@@ -457,7 +457,7 @@ int cg_kill_kernel_sigkill(const char *path) {
+@@ -495,7 +495,7 @@ int cg_kill_kernel_sigkill(const char *path) {
          if (r < 0)
                  return r;
  
@@ -59,43 +58,7 @@
          if (r < 0)
                  return log_debug_errno(r, "Failed to write to cgroup.kill for cgroup '%s': %m", path);
  
-@@ -885,7 +885,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
- 
-         sc = strstrip(contents);
-         if (isempty(sc)) {
--                r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
-+                r = write_string_file(fs, agent, 0);
-                 if (r < 0)
-                         return r;
-         } else if (!path_equal(sc, agent))
-@@ -903,7 +903,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
- 
-         sc = strstrip(contents);
-         if (streq(sc, "0")) {
--                r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
-+                r = write_string_file(fs, "1", 0);
-                 if (r < 0)
-                         return r;
- 
-@@ -930,7 +930,7 @@ int cg_uninstall_release_agent(const char *controller) {
-         if (r < 0)
-                 return r;
- 
--        r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(fs, "0", 0);
-         if (r < 0)
-                 return r;
- 
-@@ -940,7 +940,7 @@ int cg_uninstall_release_agent(const char *controller) {
-         if (r < 0)
-                 return r;
- 
--        r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(fs, "", 0);
-         if (r < 0)
-                 return r;
- 
-@@ -1833,7 +1833,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+@@ -1721,7 +1721,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
          if (r < 0)
                  return r;
  
@@ -105,10 +68,10 @@
  
  int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
 diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
-index 5b4e43f921..42a84ded55 100644
+index 332e8cdfd5..804498127d 100644
 --- a/src/basic/namespace-util.c
 +++ b/src/basic/namespace-util.c
-@@ -325,12 +325,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
+@@ -354,12 +354,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
                  freeze();
  
          xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
@@ -144,15 +107,15 @@
                  uint64_t threads_max;
  
 diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
-index 9a1933f579..7d6fc65ee1 100644
+index 2feb4917d7..4c74620a00 100644
 --- a/src/basic/sysctl-util.c
 +++ b/src/basic/sysctl-util.c
-@@ -58,7 +58,7 @@ int sysctl_write(const char *property, const char *value) {
- 
-         log_debug("Setting '%s' to '%s'", p, value);
+@@ -97,7 +97,7 @@ int sysctl_write_full(const char *property, const char *value, Hashmap **shadow)
+         if (r < 0)
+                 return r;
  
 -        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
-+        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
++        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0 | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
  }
  
  int sysctl_writef(const char *property, const char *format, ...) {
@@ -188,23 +151,36 @@
                          log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m");
                  else
 diff --git a/src/core/cgroup.c b/src/core/cgroup.c
-index 34fd2a250c..cb1a6d01eb 100644
+index 6933aae54d..ab6fccc0e4 100644
 --- a/src/core/cgroup.c
 +++ b/src/core/cgroup.c
-@@ -5173,7 +5173,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
-                        freezer_state_to_string(u->freezer_state),
-                        freezer_state_to_string(next));
- 
--        r = write_string_file(path, one_zero(target == FREEZER_FROZEN), WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(path, one_zero(target == FREEZER_FROZEN), 0);
+@@ -5167,7 +5167,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
          if (r < 0)
                  return r;
  
+-        r = write_string_file(path, one_zero(objective == FREEZER_FROZEN), WRITE_STRING_FILE_DISABLE_BUFFER);
++        r = write_string_file(path, one_zero(objective == FREEZER_FROZEN), 0);
+         if (r < 0)
+                 return r;
+ 
+diff --git a/src/core/ipe-setup.c b/src/core/ipe-setup.c
+index 4648d43829..80d03d87d4 100644
+--- a/src/core/ipe-setup.c
++++ b/src/core/ipe-setup.c
+@@ -94,7 +94,7 @@ int ipe_setup(void) {
+                 if (!activate_path)
+                         return log_oom();
+ 
+-                r = write_string_file(activate_path, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++                r = write_string_file(activate_path, "1", 0);
+                 if (r == -ESTALE) {
+                         log_debug_errno(r,
+                                         "IPE policy %s is already loaded with a version that is equal or higher, skipping.",
 diff --git a/src/core/main.c b/src/core/main.c
-index 4b8a315d86..051a31ba84 100644
+index 172742c769..e68ce2a6d8 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1789,7 +1789,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1812,7 +1812,7 @@ static void initialize_core_pattern(bool skip_setup) {
          if (getpid_cached() != 1)
                  return;
  
@@ -214,7 +190,7 @@
                  log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m",
                                    arg_early_core_pattern);
 diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
-index 7ea902b6f9..1aef2988d0 100644
+index 7ea902b6f9..ee4cd56023 100644
 --- a/src/core/smack-setup.c
 +++ b/src/core/smack-setup.c
 @@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) {
@@ -230,8 +206,7 @@
          if (r < 0)
                  log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m");
          r = write_string_file("/sys/fs/smackfs/netlabel",
--                              "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
-+                              "0.0.0.0/0 " SMACK_RUN_LABEL, 0);
+                               "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
          if (r < 0)
                  log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m");
 -        r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER);
@@ -240,24 +215,23 @@
                  log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
  #endif
 diff --git a/src/home/homework.c b/src/home/homework.c
-index 482db23dbc..ed6b8d271f 100644
+index 00e74894b3..7457113efe 100644
 --- a/src/home/homework.c
 +++ b/src/home/homework.c
-@@ -302,8 +302,8 @@ static void drop_caches_now(void) {
-         /* Drop file system caches now. See https://docs.kernel.org/admin-guide/sysctl/vm.html
+@@ -304,7 +304,7 @@ static void drop_caches_now(void) {
           * for details. We write "3" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but
           * not more. */
-+        r = write_string_file("/proc/sys/vm/drop_caches", "3\n", 0);
  
 -        r = write_string_file("/proc/sys/vm/drop_caches", "3\n", WRITE_STRING_FILE_DISABLE_BUFFER);
++        r = write_string_file("/proc/sys/vm/drop_caches", "3\n", 0);
          if (r < 0)
                  log_warning_errno(r, "Failed to drop caches, ignoring: %m");
          else
 diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
-index d8d151835c..268cb65ec7 100644
+index 01fa90b1ff..83ab655bf4 100644
 --- a/src/libsystemd/sd-device/sd-device.c
 +++ b/src/libsystemd/sd-device/sd-device.c
-@@ -2499,7 +2499,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -2563,7 +2563,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
          if (!value)
                  return -ENOMEM;
  
@@ -267,7 +241,7 @@
                  /* On failure, clear cache entry, as we do not know how it fails. */
                  device_remove_cached_sysattr_value(device, sysattr);
 diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
-index 4f28b4a225..c93c2c33b5 100644
+index 4f28b4a225..c899c218b2 100644
 --- a/src/nspawn/nspawn-cgroup.c
 +++ b/src/nspawn/nspawn-cgroup.c
 @@ -93,7 +93,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
@@ -275,15 +249,15 @@
  
          sprintf(pid_string, PID_FMT, pid);
 -        r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755);
-+        r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755);
++        r = write_string_file(fn, pid_string, 0|WRITE_STRING_FILE_MKDIR_0755);
          if (r < 0) {
                  log_error_errno(r, "Failed to move process: %m");
                  goto finish;
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 5842d3ba8f..44ff9d946c 100644
+index 500725d35f..745b6815db 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2741,7 +2741,7 @@ static int reset_audit_loginuid(void) {
+@@ -2857,7 +2857,7 @@ static int reset_audit_loginuid(void) {
          if (streq(p, "4294967295"))
                  return 0;
  
@@ -292,7 +266,7 @@
          if (r < 0) {
                  log_error_errno(r,
                                  "Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -4450,7 +4450,7 @@ static int setup_uid_map(
+@@ -4588,7 +4588,7 @@ static int setup_uid_map(
                  return log_oom();
  
          xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
@@ -301,7 +275,7 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to write UID map: %m");
  
-@@ -4460,7 +4460,7 @@ static int setup_uid_map(
+@@ -4598,7 +4598,7 @@ static int setup_uid_map(
                  return log_oom();
  
          xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
@@ -324,10 +298,10 @@
                  return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m");
  
 diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c
-index 093b6d0d22..89d0ac612b 100644
+index 49d40f60d8..0f4aa8512a 100644
 --- a/src/shared/cgroup-setup.c
 +++ b/src/shared/cgroup-setup.c
-@@ -364,7 +364,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+@@ -369,7 +369,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
  
          xsprintf(c, PID_FMT "\n", pid);
  
@@ -336,7 +310,7 @@
          if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0)
                  /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
                  return -EUCLEAN;
-@@ -395,7 +395,7 @@ int cg_fd_attach(int fd, pid_t pid) {
+@@ -399,7 +399,7 @@ int cg_fd_attach(int fd, pid_t pid) {
  
          xsprintf(c, PID_FMT "\n", pid);
  
@@ -345,28 +319,46 @@
  }
  
  int cg_attach_fallback(const char *controller, const char *path, pid_t pid) {
-@@ -974,7 +974,7 @@ int cg_enable_everywhere(
-                                         return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
-                         }
+@@ -1049,7 +1049,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
--                        r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER);
-+                        r = write_string_stream(f, s, 0);
-                         if (r < 0) {
-                                 log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
-                                                 FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
+         sc = strstrip(contents);
+         if (isempty(sc)) {
+-                r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
++                r = write_string_file(fs, agent, 0);
+                 if (r < 0)
+                         return r;
+         } else if (!path_equal(sc, agent))
+@@ -1067,7 +1067,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+ 
+         sc = strstrip(contents);
+         if (streq(sc, "0")) {
+-                r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++                r = write_string_file(fs, "1", 0);
+                 if (r < 0)
+                         return r;
+ 
+@@ -1094,7 +1094,7 @@ int cg_uninstall_release_agent(const char *controller) {
+         if (r < 0)
+                 return r;
+ 
+-        r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
++        r = write_string_file(fs, "0", 0);
+         if (r < 0)
+                 return r;
+ 
+@@ -1104,7 +1104,7 @@ int cg_uninstall_release_agent(const char *controller) {
+         if (r < 0)
+                 return r;
+ 
+-        r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
++        r = write_string_file(fs, "", 0);
+         if (r < 0)
+                 return r;
+ 
 diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
-index 805503f366..01a7ccb291 100644
+index 805503f366..3234a1d76e 100644
 --- a/src/shared/coredump-util.c
 +++ b/src/shared/coredump-util.c
-@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) {
-         xsprintf(t, "0x%"PRIx64, value);
- 
-         return write_string_file("/proc/self/coredump_filter", t,
--                                 WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
-+                                 0);
- }
- 
- /* Turn off core dumps but only if we're running outside of a container. */
 @@ -173,7 +173,7 @@ void disable_coredumps(void) {
          if (detect_container() > 0)
                  return;
@@ -377,7 +369,7 @@
                  log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
  }
 diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c
-index 7c21157580..06ab74b04c 100644
+index 1213fdc2c7..4c26e6a4ee 100644
 --- a/src/shared/hibernate-util.c
 +++ b/src/shared/hibernate-util.c
 @@ -495,7 +495,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
@@ -399,7 +391,7 @@
                  return log_error_errno(r,
                                         "Failed to write device '%s' (%s) to /sys/power/resume: %m",
 diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
-index 1f88e724d0..feb18b320a 100644
+index d0a79b2635..0c82d9943a 100644
 --- a/src/shared/smack-util.c
 +++ b/src/shared/smack-util.c
 @@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
@@ -411,33 +403,11 @@
          if (r < 0)
                  return r;
  
-diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c
-index 810c5b5206..be0d127ff3 100644
---- a/src/shared/watchdog.c
-+++ b/src/shared/watchdog.c
-@@ -93,7 +93,7 @@ static int watchdog_set_pretimeout_governor(const char *governor) {
- 
-         r = write_string_file(sys_fn,
-                               governor,
--                              WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
-+                              WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
-         if (r < 0)
-                 return log_error_errno(r, "Failed to set watchdog pretimeout_governor to '%s': %m", governor);
- 
 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index 0402bb07f3..a6cbb45340 100644
+index 181bb4ccef..2dbb3f4bc6 100644
 --- a/src/sleep/sleep.c
 +++ b/src/sleep/sleep.c
-@@ -139,7 +139,7 @@ static int write_state(int fd, char * const *states) {
-                 if (k < 0)
-                         return RET_GATHER(r, k);
- 
--                k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER);
-+                k = write_string_stream(f, *state, 0);
-                 if (k >= 0) {
-                         log_debug("Using sleep state '%s'.", *state);
-                         return 0;
-@@ -157,7 +157,7 @@ static int write_mode(const char *path, char * const *modes) {
+@@ -158,7 +158,7 @@ static int write_mode(const char *path, char * const *modes) {
          assert(path);
  
          STRV_FOREACH(mode, modes) {
@@ -447,10 +417,10 @@
                          log_debug("Using sleep mode '%s' for %s.", *mode, path);
                          return 0;
 diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c
-index 1bb8eec316..cf9b4c4a21 100644
+index ca8e886d37..5c27c54f09 100644
 --- a/src/storagetm/storagetm.c
 +++ b/src/storagetm/storagetm.c
-@@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) {
+@@ -197,7 +197,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) {
                                          if (!enable_fn)
                                                  return log_oom();
  
@@ -459,7 +429,7 @@
                                          if (r < 0)
                                                  log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name);
  
-@@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
+@@ -265,7 +265,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
                  _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */
  
                  /* The default string stored in 'attr_model' is "Linux" btw. */
@@ -468,7 +438,7 @@
                  if (r < 0)
                          log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w);
          }
-@@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
+@@ -279,7 +279,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
                          return log_oom();
  
                   /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */
@@ -477,7 +447,7 @@
                  if (r < 0)
                          log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated);
          }
-@@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
+@@ -306,7 +306,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
                  if (!truncated)
                          return log_oom();
  
@@ -486,7 +456,7 @@
                  if (r < 0)
                          log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated);
          }
-@@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata(int namespace_fd, sd_device *device, co
+@@ -356,7 +356,7 @@ static int nvme_namespace_write_metadata(int namespace_fd, sd_device *device, co
                  id = id128_digest(j, l);
          }
  
@@ -495,7 +465,7 @@
          if (r < 0)
                  log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id));
  
-@@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
+@@ -419,7 +419,7 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
          if (subsystem_fd < 0)
                  return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j);
  
@@ -504,7 +474,7 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m");
  
-@@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
+@@ -434,11 +434,11 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
  
          /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others
           * via configfs, and by including the PID it's clear to who the stuff belongs. */
@@ -518,7 +488,7 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to write 'enable' attribute: %m");
  
-@@ -557,19 +557,19 @@ static int nvme_port_add_portnr(
+@@ -568,19 +568,19 @@ static int nvme_port_add_portnr(
                  return 0;
          }
  
@@ -542,18 +512,6 @@
          if (r < 0)
                  return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr);
  
-diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
-index 581bbaf345..cdf648a2d1 100644
---- a/src/udev/udev-rules.c
-+++ b/src/udev/udev-rules.c
-@@ -2706,7 +2706,6 @@ static int udev_rule_apply_token_to_event(
-                         log_event_debug(dev, token, "Writing ATTR{'%s'}=\"%s\".", buf, value);
-                         r = write_string_file(buf, value,
-                                               WRITE_STRING_FILE_VERIFY_ON_FAILURE |
--                                              WRITE_STRING_FILE_DISABLE_BUFFER |
-                                               WRITE_STRING_FILE_AVOID_NEWLINE |
-                                               WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
-                         if (r < 0)
 diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
 index ba742dda69..6f20e81615 100644
 --- a/src/vconsole/vconsole-setup.c
@@ -568,5 +526,5 @@
                  return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0015-Handle-__cpu_mask-usage.patch b/poky/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch
similarity index 92%
rename from poky/meta/recipes-core/systemd/systemd/0015-Handle-__cpu_mask-usage.patch
rename to poky/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch
index 86003db..35009cb 100644
--- a/poky/meta/recipes-core/systemd/systemd/0015-Handle-__cpu_mask-usage.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch
@@ -1,7 +1,7 @@
-From c1cbec8571855b8480d56dcad2ab81aea0782bd4 Mon Sep 17 00:00:00 2001
+From ab4fda874b26542de96720db58cb0e8704a40108 Mon Sep 17 00:00:00 2001
 From: Scott Murray <scott.murray@konsulko.com>
 Date: Fri, 13 Sep 2019 19:26:27 -0400
-Subject: [PATCH 15/27] Handle __cpu_mask usage
+Subject: [PATCH 13/26] Handle __cpu_mask usage
 
 Fixes errors:
 
@@ -24,7 +24,7 @@
  2 files changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
-index 618fe1b0a3..46c92077b0 100644
+index 2c477d8a01..c026ce77a6 100644
 --- a/src/shared/cpu-set-util.h
 +++ b/src/shared/cpu-set-util.h
 @@ -6,6 +6,8 @@
@@ -56,5 +56,5 @@
  /* Print information about various types. Useful when diagnosing
   * gcc diagnostics on an unfamiliar architecture. */
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0016-Handle-missing-gshadow.patch b/poky/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch
similarity index 84%
rename from poky/meta/recipes-core/systemd/systemd/0016-Handle-missing-gshadow.patch
rename to poky/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch
index 6c7b233..08d4e38 100644
--- a/poky/meta/recipes-core/systemd/systemd/0016-Handle-missing-gshadow.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch
@@ -1,7 +1,7 @@
-From 8b540d8240bbc3f917de9ca8d3b62f28c3424d91 Mon Sep 17 00:00:00 2001
+From c5165f6adf8a9cfe8c0784c598b87d7d7e8b7d1a Mon Sep 17 00:00:00 2001
 From: Alex Kiernan <alex.kiernan@gmail.com>
 Date: Tue, 10 Mar 2020 11:05:20 +0000
-Subject: [PATCH 16/27] Handle missing gshadow
+Subject: [PATCH 14/26] Handle missing gshadow
 
 gshadow usage is now present in the userdb code. Mask all uses of it to
 allow compilation on musl
@@ -17,7 +17,7 @@
  3 files changed, 30 insertions(+), 1 deletion(-)
 
 diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c
-index ffb5721466..4d01815c8c 100644
+index 9223a2e6ca..f9eb1a5b64 100644
 --- a/src/shared/user-record-nss.c
 +++ b/src/shared/user-record-nss.c
 @@ -286,8 +286,10 @@ int nss_group_to_group_record(
@@ -45,9 +45,9 @@
          }
 +#endif
  
-         r = json_build(&g->json, JSON_BUILD_OBJECT(
-                                        JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
-@@ -344,6 +348,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
+         r = sd_json_buildo(
+                         &g->json,
+@@ -345,6 +349,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
          assert(ret_sgrp);
          assert(ret_buffer);
  
@@ -55,7 +55,7 @@
          for (;;) {
                  _cleanup_free_ char *buf = NULL;
                  struct sgrp sgrp, *result;
-@@ -372,6 +377,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
+@@ -373,6 +378,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
                  buflen *= 2;
                  buf = mfree(buf);
          }
@@ -65,7 +65,7 @@
  }
  
  int nss_group_record_by_name(
-@@ -382,7 +390,9 @@ int nss_group_record_by_name(
+@@ -383,7 +391,9 @@ int nss_group_record_by_name(
          _cleanup_free_ char *sbuf = NULL;
          _cleanup_free_ struct group *result = NULL;
          bool incomplete = false;
@@ -75,7 +75,7 @@
          int r;
  
          assert(name);
-@@ -391,6 +401,7 @@ int nss_group_record_by_name(
+@@ -392,6 +402,7 @@ int nss_group_record_by_name(
          if (r < 0)
                  return r;
  
@@ -83,7 +83,7 @@
          if (with_shadow) {
                  r = nss_sgrp_for_group(result, &sgrp, &sbuf);
                  if (r < 0) {
-@@ -402,6 +413,9 @@ int nss_group_record_by_name(
+@@ -403,6 +414,9 @@ int nss_group_record_by_name(
                  incomplete = true;
  
          r = nss_group_to_group_record(result, sresult, ret);
@@ -93,7 +93,7 @@
          if (r < 0)
                  return r;
  
-@@ -418,13 +432,16 @@ int nss_group_record_by_gid(
+@@ -419,13 +433,16 @@ int nss_group_record_by_gid(
          _cleanup_free_ char *sbuf = NULL;
          _cleanup_free_ struct group *result = NULL;
          bool incomplete = false;
@@ -110,7 +110,7 @@
          if (with_shadow) {
                  r = nss_sgrp_for_group(result, &sgrp, &sbuf);
                  if (r < 0) {
-@@ -436,6 +453,9 @@ int nss_group_record_by_gid(
+@@ -437,6 +454,9 @@ int nss_group_record_by_gid(
                  incomplete = true;
  
          r = nss_group_to_group_record(result, sresult, ret);
@@ -137,10 +137,10 @@
  #include <shadow.h>
  
 diff --git a/src/shared/userdb.c b/src/shared/userdb.c
-index 75dece3442..5628e1410f 100644
+index ff83d4bf90..54d36cc706 100644
 --- a/src/shared/userdb.c
 +++ b/src/shared/userdb.c
-@@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -1041,13 +1041,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
                  if (gr) {
                          _cleanup_free_ char *buffer = NULL;
                          bool incomplete = false;
@@ -157,7 +157,7 @@
                          if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
                                  r = nss_sgrp_for_group(gr, &sgrp, &buffer);
                                  if (r < 0) {
-@@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -1060,6 +1062,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
                          }
  
                          r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
@@ -168,5 +168,5 @@
                                  return r;
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
similarity index 75%
rename from poky/meta/recipes-core/systemd/systemd/0017-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
rename to poky/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
index a7a641e..f0aa3a0 100644
--- a/poky/meta/recipes-core/systemd/systemd/0017-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -1,7 +1,7 @@
-From 45bb63a1727097683acad23f270968026671ec6a Mon Sep 17 00:00:00 2001
+From ef9ad83759f78de983d2d7c4f95bc48b83bb8f66 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 12 Apr 2021 23:44:53 -0700
-Subject: [PATCH 17/27] missing_syscall.h: Define MIPS ABI defines for musl
+Subject: [PATCH 15/26] missing_syscall.h: Define MIPS ABI defines for musl
 
 musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64
 unlike glibc where these are provided by libc headers, therefore define
@@ -15,6 +15,8 @@
  src/shared/base-filesystem.c | 1 +
  2 files changed, 7 insertions(+)
 
+diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
+index e2cd8b4e35..f2fe489de7 100644
 --- a/src/basic/missing_syscall.h
 +++ b/src/basic/missing_syscall.h
 @@ -20,6 +20,12 @@
@@ -30,6 +32,8 @@
  #include "macro.h"
  #include "missing_keyctl.h"
  #include "missing_sched.h"
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index 389c77eee0..e3627c4603 100644
 --- a/src/shared/base-filesystem.c
 +++ b/src/shared/base-filesystem.c
 @@ -20,6 +20,7 @@
@@ -40,3 +44,6 @@
  
  typedef struct BaseFilesystem {
          const char *dir;      /* directory or symlink to create */
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0018-pass-correct-parameters-to-getdents64.patch b/poky/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch
similarity index 90%
rename from poky/meta/recipes-core/systemd/systemd/0018-pass-correct-parameters-to-getdents64.patch
rename to poky/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch
index b4b6be0..b802106 100644
--- a/poky/meta/recipes-core/systemd/systemd/0018-pass-correct-parameters-to-getdents64.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch
@@ -1,7 +1,7 @@
-From 78a59a540d425e677d5652d9b72d7b175e36f4dd Mon Sep 17 00:00:00 2001
+From 9079b158779a9c395c24f882f72a1c734795045d Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 21 Jan 2022 15:15:11 -0800
-Subject: [PATCH 18/27] pass correct parameters to getdents64
+Subject: [PATCH 16/26] pass correct parameters to getdents64
 
 Fixes
 ../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
@@ -20,7 +20,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
-index 776733148b..d37419658c 100644
+index 378fd92b06..5b567b457d 100644
 --- a/src/basic/recurse-dir.c
 +++ b/src/basic/recurse-dir.c
 @@ -56,7 +56,7 @@ int readdir_all(int dir_fd,
@@ -33,5 +33,5 @@
                          return -errno;
                  if (n == 0)
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0019-Adjust-for-musl-headers.patch b/poky/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch
similarity index 90%
rename from poky/meta/recipes-core/systemd/systemd/0019-Adjust-for-musl-headers.patch
rename to poky/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch
index 44eebe1..5a2bc3c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0019-Adjust-for-musl-headers.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch
@@ -1,7 +1,7 @@
-From 585e04673da62a8bf50e00fd6c1ae9ffc66c3b2f Mon Sep 17 00:00:00 2001
+From be9d8f221ab9d31c0df8b2b3e66172bb9bc0f71f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 21 Jan 2022 22:19:37 -0800
-Subject: [PATCH 19/27] Adjust for musl headers
+Subject: [PATCH 17/26] Adjust for musl headers
 
 Upstream-Status: Inappropriate [musl specific]
 
@@ -10,6 +10,7 @@
 [Rebased for v255.1]
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 ---
+ src/basic/linux/ethtool.h                     | 3 ++-
  src/libsystemd-network/sd-dhcp6-client.c      | 2 +-
  src/network/netdev/bareudp.c                  | 2 +-
  src/network/netdev/batadv.c                   | 2 +-
@@ -43,11 +44,24 @@
  src/network/networkd-ndisc.c                  | 2 +-
  src/network/networkd-setlink.c                | 2 +-
  src/network/networkd-sysctl.c                 | 2 +-
- src/shared/linux/ethtool.h                    | 3 ++-
  src/shared/netif-util.c                       | 2 +-
  src/udev/udev-builtin-net_id.c                | 2 +-
  36 files changed, 40 insertions(+), 36 deletions(-)
 
+diff --git a/src/basic/linux/ethtool.h b/src/basic/linux/ethtool.h
+index a32293ba20..2aad67e9c0 100644
+--- a/src/basic/linux/ethtool.h
++++ b/src/basic/linux/ethtool.h
+@@ -16,7 +16,8 @@
+ 
+ #include <linux/const.h>
+ #include <linux/types.h>
+-#include <linux/if_ether.h>
++#include <netinet/if_ether.h>
++//#include <linux/if_ether.h>
+ 
+ #include <limits.h> /* for INT_MAX */
+ 
 diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
 index 3e992d7cad..c7e1ff4dbf 100644
 --- a/src/libsystemd-network/sd-dhcp6-client.c
@@ -62,7 +76,7 @@
  
  #include "sd-dhcp6-client.h"
 diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c
-index 1df886573b..c8b6714726 100644
+index e122abd97f..c120c2969b 100644
 --- a/src/network/netdev/bareudp.c
 +++ b/src/network/netdev/bareudp.c
 @@ -2,7 +2,7 @@
@@ -75,7 +89,7 @@
  #include "bareudp.h"
  #include "netlink-util.h"
 diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c
-index 26da0231d4..2e8002af8c 100644
+index 9806d8eb7c..19c3d881c2 100644
 --- a/src/network/netdev/batadv.c
 +++ b/src/network/netdev/batadv.c
 @@ -3,7 +3,7 @@
@@ -88,7 +102,7 @@
  #include "batadv.h"
  #include "fileio.h"
 diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
-index 52a7f126b6..74ca0812db 100644
+index b866940b7a..a0eaf0a866 100644
 --- a/src/network/netdev/bond.c
 +++ b/src/network/netdev/bond.c
 @@ -1,7 +1,7 @@
@@ -101,7 +115,7 @@
  #include "alloc-util.h"
  #include "bond.h"
 diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
-index d426c0c501..14432adb95 100644
+index d3ba4989d9..4f7301c4f1 100644
 --- a/src/network/netdev/bridge.c
 +++ b/src/network/netdev/bridge.c
 @@ -2,7 +2,8 @@
@@ -115,7 +129,7 @@
  #include <netinet/in.h>
  
 diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c
-index 00df1d2787..77b506b422 100644
+index 8b2893d5b4..412123f036 100644
 --- a/src/network/netdev/dummy.c
 +++ b/src/network/netdev/dummy.c
 @@ -1,6 +1,6 @@
@@ -127,7 +141,7 @@
  #include "dummy.h"
  
 diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c
-index 22c2b00e1b..1d762c4911 100644
+index 1d68be9bc8..539151c49e 100644
 --- a/src/network/netdev/geneve.c
 +++ b/src/network/netdev/geneve.c
 @@ -2,7 +2,7 @@
@@ -153,7 +167,7 @@
  #include "ifb.h"
  
 diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c
-index d5fe299b7b..c9c8002eac 100644
+index 6932c62e2a..fc458da9e8 100644
 --- a/src/network/netdev/ipoib.c
 +++ b/src/network/netdev/ipoib.c
 @@ -1,6 +1,6 @@
@@ -165,7 +179,7 @@
  
  #include "ipoib.h"
 diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c
-index 51ae64341d..46460efabd 100644
+index 6e50f72aaa..49acfee25e 100644
 --- a/src/network/netdev/ipvlan.c
 +++ b/src/network/netdev/ipvlan.c
 @@ -3,7 +3,7 @@
@@ -178,7 +192,7 @@
  #include "conf-parser.h"
  #include "ipvlan.h"
 diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
-index 4b9f19cc95..6c4951a7e6 100644
+index 6dd434f803..f9fbe9f51a 100644
 --- a/src/network/netdev/macsec.c
 +++ b/src/network/netdev/macsec.c
 @@ -1,7 +1,7 @@
@@ -191,7 +205,7 @@
  #include <linux/if_macsec.h>
  #include <linux/genetlink.h>
 diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c
-index 21933d3970..a4ace19dc6 100644
+index fd112b58e1..b038740bda 100644
 --- a/src/network/netdev/macvlan.c
 +++ b/src/network/netdev/macvlan.c
 @@ -3,7 +3,7 @@
@@ -204,7 +218,7 @@
  #include "conf-parser.h"
  #include "macvlan.h"
 diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
-index 2b411425ba..fe00200135 100644
+index c2986aafb5..147f1c95d0 100644
 --- a/src/network/netdev/netdev.c
 +++ b/src/network/netdev/netdev.c
 @@ -3,7 +3,7 @@
@@ -217,7 +231,7 @@
  
  #include "alloc-util.h"
 diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c
-index 15d5c132f9..a3ffa48b15 100644
+index 59958c3bbe..61169016b0 100644
 --- a/src/network/netdev/netdevsim.c
 +++ b/src/network/netdev/netdevsim.c
 @@ -1,6 +1,6 @@
@@ -241,7 +255,7 @@
  #include "nlmon.h"
  
 diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c
-index db84e7cf6e..93d5642962 100644
+index af05cfda81..f659bed3a6 100644
 --- a/src/network/netdev/tunnel.c
 +++ b/src/network/netdev/tunnel.c
 @@ -2,7 +2,7 @@
@@ -266,7 +280,7 @@
  #include "vcan.h"
  
 diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c
-index 78555286d1..e7eff072e4 100644
+index 54d3b59734..f3f75e22b5 100644
 --- a/src/network/netdev/veth.c
 +++ b/src/network/netdev/veth.c
 @@ -3,7 +3,7 @@
@@ -292,7 +306,7 @@
  
  #include "parse-util.h"
 diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c
-index 24079a7203..33ff17ea82 100644
+index c35419f859..4d1d3ef141 100644
 --- a/src/network/netdev/vrf.c
 +++ b/src/network/netdev/vrf.c
 @@ -2,8 +2,8 @@
@@ -306,7 +320,7 @@
  #include "vrf.h"
  
 diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c
-index c0343f45b6..f9e718f40b 100644
+index 2de89b8e24..ce1b8f9b69 100644
 --- a/src/network/netdev/vxcan.c
 +++ b/src/network/netdev/vxcan.c
 @@ -1,7 +1,7 @@
@@ -319,7 +333,7 @@
  #include "vxcan.h"
  
 diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c
-index 37f65967a6..bdd8848a02 100644
+index d8a066370d..8f94eeb763 100644
 --- a/src/network/netdev/vxlan.c
 +++ b/src/network/netdev/vxlan.c
 @@ -3,7 +3,7 @@
@@ -332,7 +346,7 @@
  #include "conf-parser.h"
  #include "alloc-util.h"
 diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
-index fed1be8d11..94b659fd23 100644
+index 8d1dddf828..5182783f45 100644
 --- a/src/network/netdev/wireguard.c
 +++ b/src/network/netdev/wireguard.c
 @@ -5,7 +5,7 @@
@@ -357,7 +371,7 @@
  #include "missing_network.h"
  #include "xfrm.h"
 diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
-index 9f0268d934..8cd605ab4a 100644
+index 8b64dfe8f0..caa2885728 100644
 --- a/src/network/networkd-dhcp-common.c
 +++ b/src/network/networkd-dhcp-common.c
 @@ -1,7 +1,8 @@
@@ -371,7 +385,7 @@
  #include "bus-error.h"
  #include "bus-locator.h"
 diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c
-index 2e660b7763..b8dd6240a0 100644
+index 16426de981..3d8efc05f1 100644
 --- a/src/network/networkd-dhcp-prefix-delegation.c
 +++ b/src/network/networkd-dhcp-prefix-delegation.c
 @@ -1,6 +1,5 @@
@@ -381,7 +395,7 @@
  
  #include "dhcp6-lease-internal.h"
  #include "hashmap.h"
-@@ -20,6 +19,8 @@
+@@ -21,6 +20,8 @@
  #include "strv.h"
  #include "tunnel.h"
  
@@ -404,7 +418,7 @@
  
  #include "sd-dhcp-server.h"
 diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
-index 4dd6044b18..15a598f9db 100644
+index d94ac1a213..b8fe82cb6a 100644
 --- a/src/network/networkd-dhcp4.c
 +++ b/src/network/networkd-dhcp4.c
 @@ -3,7 +3,7 @@
@@ -415,9 +429,9 @@
 +//#include <linux/if_arp.h>
  
  #include "alloc-util.h"
- #include "dhcp-client-internal.h"
+ #include "device-private.h"
 diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c
-index 32229a3fc7..662a345d6e 100644
+index 04f51ab530..c4580754f7 100644
 --- a/src/network/networkd-ipv6ll.c
 +++ b/src/network/networkd-ipv6ll.c
 @@ -1,7 +1,7 @@
@@ -430,7 +444,7 @@
  #include "in-addr-util.h"
  #include "networkd-address.h"
 diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 6b0f09926a..81f44f6e6a 100644
+index 3c042e6c18..05fe2cb900 100644
 --- a/src/network/networkd-link.c
 +++ b/src/network/networkd-link.c
 @@ -4,7 +4,7 @@
@@ -443,7 +457,7 @@
  #include <linux/netdevice.h>
  #include <sys/socket.h>
 diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
-index 7cafe1f6a3..07c293c9a6 100644
+index 33e86fb04e..51292871fc 100644
 --- a/src/network/networkd-ndisc.c
 +++ b/src/network/networkd-ndisc.c
 @@ -6,7 +6,7 @@
@@ -456,7 +470,7 @@
  #include "sd-ndisc.h"
  
 diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
-index 058bc00ba1..bb0a430a0b 100644
+index 8519e6e7a0..7aca2bbecc 100644
 --- a/src/network/networkd-setlink.c
 +++ b/src/network/networkd-setlink.c
 @@ -2,7 +2,7 @@
@@ -466,10 +480,10 @@
 -#include <linux/if_arp.h>
 +//#include <linux/if_arp.h>
  #include <linux/if_bridge.h>
+ #include <linux/ipv6.h>
  
- #include "missing_network.h"
 diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c
-index 68c23e0eb7..e177c49d9b 100644
+index 10a35bc44b..84c6b68ee4 100644
 --- a/src/network/networkd-sysctl.c
 +++ b/src/network/networkd-sysctl.c
 @@ -2,7 +2,7 @@
@@ -479,24 +493,10 @@
 -#include <linux/if_arp.h>
 +//#include <linux/if_arp.h>
  
- #include "af-list.h"
- #include "missing_network.h"
-diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h
-index 3d1da515c0..3fca9a4faf 100644
---- a/src/shared/linux/ethtool.h
-+++ b/src/shared/linux/ethtool.h
-@@ -16,7 +16,8 @@
- 
- #include <linux/const.h>
- #include <linux/types.h>
--#include <linux/if_ether.h>
-+#include <netinet/if_ether.h>
-+//#include <linux/if_ether.h>
- 
- #include <limits.h> /* for INT_MAX */
+ #include "sd-messages.h"
  
 diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c
-index 8adc2c89c8..1977e28d7f 100644
+index 978ce42341..899b5f613f 100644
 --- a/src/shared/netif-util.c
 +++ b/src/shared/netif-util.c
 @@ -1,7 +1,7 @@
@@ -509,7 +509,7 @@
  #include "arphrd-util.h"
  #include "device-util.h"
 diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
-index 384a1f31cb..c94bb70afb 100644
+index 09c04b9a7f..4686897dbf 100644
 --- a/src/udev/udev-builtin-net_id.c
 +++ b/src/udev/udev-builtin-net_id.c
 @@ -19,7 +19,7 @@
@@ -522,5 +522,5 @@
  #include <linux/pci_regs.h>
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0020-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/poky/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
similarity index 93%
rename from poky/meta/recipes-core/systemd/systemd/0020-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
rename to poky/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
index b3fbfee..a92b8cc 100644
--- a/poky/meta/recipes-core/systemd/systemd/0020-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
@@ -1,7 +1,7 @@
-From e01f0c444423eb65d176713735ff8cefb3068f3d Mon Sep 17 00:00:00 2001
+From 349f9a0f9ecfc6575a3d9eeaffe89536e6a43914 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 8 Nov 2022 13:31:34 -0800
-Subject: [PATCH 20/27] test-bus-error: strerror() is assumed to be GNU
+Subject: [PATCH 18/26] test-bus-error: strerror() is assumed to be GNU
  specific version mark it so
 
 Upstream-Status: Inappropriate [Upstream systemd only supports glibc]
@@ -48,5 +48,5 @@
  TEST(PROTECT_ERRNO) {
          errno = 12;
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-errno-util-Make-STRERROR-portable-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
similarity index 91%
rename from poky/meta/recipes-core/systemd/systemd/0021-errno-util-Make-STRERROR-portable-for-musl.patch
rename to poky/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
index 6e899d0..791079a 100644
--- a/poky/meta/recipes-core/systemd/systemd/0021-errno-util-Make-STRERROR-portable-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
@@ -1,7 +1,7 @@
-From d2f632dd6a8cca0fbdd6568ce84004335c004f58 Mon Sep 17 00:00:00 2001
+From 28fa1d5f56c6ddee9e336e6f2051c55e9f2f98b4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 23 Jan 2023 23:39:46 -0800
-Subject: [PATCH 21/27] errno-util: Make STRERROR portable for musl
+Subject: [PATCH 19/26] errno-util: Make STRERROR portable for musl
 
 Sadly, systemd has decided to use yet another GNU extention in a macro
 lets make this such that we can use XSI compliant strerror_r() for
@@ -38,5 +38,5 @@
   * Note that we can't use ({ … }) to define a temporary variable, so errnum is
   * evaluated twice. */
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/poky/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch
similarity index 77%
rename from poky/meta/recipes-core/systemd/systemd/0022-sd-event-Make-malloc_trim-conditional-on-glibc.patch
rename to poky/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch
index ed7e3ea..16df44c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0022-sd-event-Make-malloc_trim-conditional-on-glibc.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch
@@ -1,7 +1,7 @@
-From 4a3ed5aaaf108d3a07f24997698906e801ba2412 Mon Sep 17 00:00:00 2001
+From 66de8a53849f76f5596327c38ae5f002b9f534cd Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 2 Aug 2023 12:06:27 -0700
-Subject: [PATCH 22/27] sd-event: Make malloc_trim() conditional on glibc
+Subject: [PATCH 20/26] sd-event: Make malloc_trim() conditional on glibc
 
 musl does not have this API
 
@@ -12,10 +12,10 @@
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
-index a1305ef014..b8a73da2a3 100644
+index 7aea7d2581..d3f4001f53 100644
 --- a/src/libsystemd/sd-event/sd-event.c
 +++ b/src/libsystemd/sd-event/sd-event.c
-@@ -1877,7 +1877,7 @@ _public_ int sd_event_add_exit(
+@@ -1881,7 +1881,7 @@ _public_ int sd_event_add_exit(
  }
  
  _public_ int sd_event_trim_memory(void) {
@@ -24,7 +24,7 @@
  
          /* A default implementation of a memory pressure callback. Simply releases our own allocation caches
           * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a
-@@ -1891,7 +1891,9 @@ _public_ int sd_event_trim_memory(void) {
+@@ -1895,7 +1895,9 @@ _public_ int sd_event_trim_memory(void) {
  
          usec_t before_timestamp = now(CLOCK_MONOTONIC);
          hashmap_trim_pools();
@@ -35,5 +35,5 @@
  
          if (r > 0)
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-shared-Do-not-use-malloc_info-on-musl.patch b/poky/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch
similarity index 86%
rename from poky/meta/recipes-core/systemd/systemd/0023-shared-Do-not-use-malloc_info-on-musl.patch
rename to poky/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch
index b8583c7..7ab56ef 100644
--- a/poky/meta/recipes-core/systemd/systemd/0023-shared-Do-not-use-malloc_info-on-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch
@@ -1,7 +1,7 @@
-From d3880d167d8dfafbb8ee62f7737a869f9525f303 Mon Sep 17 00:00:00 2001
+From 93d13363c605fb2de484f38f3726f8fbad1c3540 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 2 Aug 2023 12:20:40 -0700
-Subject: [PATCH 23/27] shared: Do not use malloc_info on musl
+Subject: [PATCH 21/26] shared: Do not use malloc_info on musl
 
 Upstream-Status: Inappropriate [musl-specific]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
@@ -11,10 +11,10 @@
  2 files changed, 5 insertions(+), 4 deletions(-)
 
 diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
-index 30f9602b1e..5308f168db 100644
+index ff80e580fc..a628a29d0c 100644
 --- a/src/shared/bus-util.c
 +++ b/src/shared/bus-util.c
-@@ -755,15 +755,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat
+@@ -787,15 +787,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat
          _cleanup_close_ int fd = -EBADF;
          size_t dump_size;
          FILE *f;
@@ -53,5 +53,5 @@
                  break;
          }
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0024-avoid-missing-LOCK_EX-declaration.patch b/poky/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch
similarity index 78%
rename from poky/meta/recipes-core/systemd/systemd/0024-avoid-missing-LOCK_EX-declaration.patch
rename to poky/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch
index 6804c7c..d06967f 100644
--- a/poky/meta/recipes-core/systemd/systemd/0024-avoid-missing-LOCK_EX-declaration.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch
@@ -1,7 +1,7 @@
-From ca2a736627f8ee8dd9dbbf5b3149d4c8493833ff Mon Sep 17 00:00:00 2001
+From 5b8df64993b68a5a4af0f214d8cae77f4e716593 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Tue, 2 Jan 2024 11:03:27 +0800
-Subject: [PATCH 24/27] avoid missing LOCK_EX declaration
+Subject: [PATCH 22/26] avoid missing LOCK_EX declaration
 
 This only happens on MUSL. Include sys/file.h to avoid compilation
 error about missing LOCK_EX declaration.
@@ -16,7 +16,7 @@
  3 files changed, 3 insertions(+)
 
 diff --git a/src/basic/fd-util.h b/src/basic/fd-util.h
-index af17481dd8..fa20bfa30f 100644
+index 93b254c680..5f0b1a816d 100644
 --- a/src/basic/fd-util.h
 +++ b/src/basic/fd-util.h
 @@ -6,6 +6,7 @@
@@ -28,10 +28,10 @@
  #include "macro.h"
  #include "missing_fcntl.h"
 diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c
-index ee8db04e76..2aff654f0f 100644
+index 9d636f5529..6be43caa57 100644
 --- a/src/core/exec-invoke.c
 +++ b/src/core/exec-invoke.c
-@@ -4,6 +4,7 @@
+@@ -5,6 +5,7 @@
  #include <sys/ioctl.h>
  #include <sys/mount.h>
  #include <sys/prctl.h>
@@ -40,7 +40,7 @@
  #if HAVE_PAM
  #include <security/pam_appl.h>
 diff --git a/src/shared/dev-setup.h b/src/shared/dev-setup.h
-index 5339bc4e5e..0697495f23 100644
+index 92ba6cf764..ba01a0ae55 100644
 --- a/src/shared/dev-setup.h
 +++ b/src/shared/dev-setup.h
 @@ -2,6 +2,7 @@
@@ -49,8 +49,8 @@
  #include <sys/types.h>
 +#include <sys/file.h>
  
- int lock_dev_console(void);
+ int dev_setup(const char *prefix, uid_t uid, gid_t gid);
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0023-include-signal.h-to-avoid-the-undeclared-error.patch b/poky/meta/recipes-core/systemd/systemd/0023-include-signal.h-to-avoid-the-undeclared-error.patch
new file mode 100644
index 0000000..c8bcd9e
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0023-include-signal.h-to-avoid-the-undeclared-error.patch
@@ -0,0 +1,27 @@
+From e39afec7e5a2f3a9de7202affab4d0340ba879d7 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 2 Jul 2024 22:18:47 -0700
+Subject: [PATCH 23/26] include signal.h to avoid the 'undeclared' error
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/pidref.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/pidref.h b/src/basic/pidref.h
+index 42ddf4e50b..b9cf53680f 100644
+--- a/src/basic/pidref.h
++++ b/src/basic/pidref.h
+@@ -3,6 +3,7 @@
+ 
+ typedef struct PidRef PidRef;
+ 
++#include <signal.h>
+ #include "macro.h"
+ #include "process-util.h"
+ 
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0026-undef-stdin-for-references-using-stdin-as-a-struct-m.patch b/poky/meta/recipes-core/systemd/systemd/0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch
similarity index 84%
rename from poky/meta/recipes-core/systemd/systemd/0026-undef-stdin-for-references-using-stdin-as-a-struct-m.patch
rename to poky/meta/recipes-core/systemd/systemd/0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch
index ca1a525..9532e6b 100644
--- a/poky/meta/recipes-core/systemd/systemd/0026-undef-stdin-for-references-using-stdin-as-a-struct-m.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch
@@ -1,7 +1,7 @@
-From 787606c6ff822fb3fe41ba951ee289bbf6d4def3 Mon Sep 17 00:00:00 2001
+From 5a4334fde21b896cd75b2d1a56e06a4f365e9c4d Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Tue, 2 Jul 2024 22:44:31 -0700
-Subject: [PATCH 26/27] undef stdin for references using stdin as a struct
+Subject: [PATCH 24/26] undef stdin for references using stdin as a struct
  member
 
 In musl stdio.h, we have:
@@ -18,7 +18,7 @@
  2 files changed, 4 insertions(+)
 
 diff --git a/src/shared/edit-util.c b/src/shared/edit-util.c
-index cfb2828f4e..1794a7b269 100644
+index e37609c2e1..1b212ae7b4 100644
 --- a/src/shared/edit-util.c
 +++ b/src/shared/edit-util.c
 @@ -3,6 +3,8 @@
@@ -31,7 +31,7 @@
  #include "copy.h"
  #include "edit-util.h"
 diff --git a/src/systemctl/systemctl-edit.c b/src/systemctl/systemctl-edit.c
-index 15398f8364..e7d53ca9a1 100644
+index c42a31153d..7695ceeead 100644
 --- a/src/systemctl/systemctl-edit.c
 +++ b/src/systemctl/systemctl-edit.c
 @@ -13,6 +13,8 @@
@@ -44,5 +44,5 @@
          _cleanup_hashmap_free_ Hashmap *cached_id_map = NULL, *cached_name_map = NULL;
          _cleanup_(lookup_paths_done) LookupPaths lp = {};
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch b/poky/meta/recipes-core/systemd/systemd/0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch
new file mode 100644
index 0000000..d791ad2
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch
@@ -0,0 +1,288 @@
+From a90044320eecda424ed678d283ef60806c70fcda Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 2 Jul 2024 23:23:57 -0700
+Subject: [PATCH 25/26] adjust header inclusion order to avoid redeclaration
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/parse-util.c                | 3 ++-
+ src/libsystemd-network/ndisc-option.c | 6 +++---
+ src/libsystemd-network/sd-radv.c      | 5 +++--
+ src/network/netdev/l2tp-tunnel.c      | 9 ++++-----
+ src/network/netdev/l2tp-tunnel.h      | 6 +++---
+ src/network/netdev/wireguard.c        | 2 +-
+ src/network/networkctl-link-info.c    | 4 ++--
+ src/network/networkd-bridge-mdb.c     | 3 ++-
+ src/network/networkd-route.c          | 8 ++++----
+ src/resolve/resolved-dns-stream.c     | 5 +++--
+ src/resolve/resolved-manager.c        | 5 +++--
+ src/shared/conf-parser.c              | 3 ++-
+ 12 files changed, 32 insertions(+), 27 deletions(-)
+
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index faa5344921..0fc9d12c89 100644
+--- a/src/basic/parse-util.c
++++ b/src/basic/parse-util.c
+@@ -2,7 +2,6 @@
+ 
+ #include <errno.h>
+ #include <inttypes.h>
+-#include <linux/ipv6.h>
+ #include <net/if.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -20,6 +19,8 @@
+ #include "string-util.h"
+ #include "strv.h"
+ 
++#include <linux/ipv6.h>
++
+ int parse_boolean(const char *v) {
+         if (!v)
+                 return -EINVAL;
+diff --git a/src/libsystemd-network/ndisc-option.c b/src/libsystemd-network/ndisc-option.c
+index 3aab51f51b..feeb4c78e5 100644
+--- a/src/libsystemd-network/ndisc-option.c
++++ b/src/libsystemd-network/ndisc-option.c
+@@ -1,8 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+-#include <linux/ipv6.h>
+-#include <netinet/icmp6.h>
+-
+ #include "dns-resolver-internal.h"
+ #include "dns-domain.h"
+ #include "ether-addr-util.h"
+@@ -16,6 +13,9 @@
+ #include "strv.h"
+ #include "unaligned.h"
+ 
++#include <linux/ipv6.h>
++#include <netinet/icmp6.h>
++
+ /* RFC does not say anything about the maximum number of options, but let's limit the number of options for
+  * safety. Typically, the number of options in an ICMPv6 message should be only a few. */
+ #define MAX_OPTIONS 128
+diff --git a/src/libsystemd-network/sd-radv.c b/src/libsystemd-network/sd-radv.c
+index f241929ad5..7cef3c3f71 100644
+--- a/src/libsystemd-network/sd-radv.c
++++ b/src/libsystemd-network/sd-radv.c
+@@ -3,8 +3,6 @@
+   Copyright © 2017 Intel Corporation. All rights reserved.
+ ***/
+ 
+-#include <linux/ipv6.h>
+-#include <netinet/icmp6.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ 
+@@ -29,6 +27,9 @@
+ #include "strv.h"
+ #include "unaligned.h"
+ 
++#include <linux/ipv6.h>
++#include <netinet/icmp6.h>
++
+ int sd_radv_new(sd_radv **ret) {
+         _cleanup_(sd_radv_unrefp) sd_radv *ra = NULL;
+ 
+diff --git a/src/network/netdev/l2tp-tunnel.c b/src/network/netdev/l2tp-tunnel.c
+index c87e44797b..437b40c114 100644
+--- a/src/network/netdev/l2tp-tunnel.c
++++ b/src/network/netdev/l2tp-tunnel.c
+@@ -1,10 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+-#include <netinet/in.h>
+-#include <linux/if_arp.h>
+-#include <linux/l2tp.h>
+-#include <linux/genetlink.h>
+-
+ #include "conf-parser.h"
+ #include "hashmap.h"
+ #include "l2tp-tunnel.h"
+@@ -17,6 +12,10 @@
+ #include "string-table.h"
+ #include "string-util.h"
+ 
++#include <netinet/in.h>
++#include <linux/l2tp.h>
++#include <linux/genetlink.h>
++
+ static const char* const l2tp_l2spec_type_table[_NETDEV_L2TP_L2SPECTYPE_MAX] = {
+         [NETDEV_L2TP_L2SPECTYPE_NONE]    = "none",
+         [NETDEV_L2TP_L2SPECTYPE_DEFAULT] = "default",
+diff --git a/src/network/netdev/l2tp-tunnel.h b/src/network/netdev/l2tp-tunnel.h
+index c558ed49de..8419ef34c5 100644
+--- a/src/network/netdev/l2tp-tunnel.h
++++ b/src/network/netdev/l2tp-tunnel.h
+@@ -1,13 +1,13 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ #pragma once
+ 
+-#include <netinet/in.h>
+-#include <linux/l2tp.h>
+-
+ #include "in-addr-util.h"
+ #include "netdev.h"
+ #include "networkd-util.h"
+ 
++#include <netinet/in.h>
++#include <linux/l2tp.h>
++
+ typedef enum L2tpL2specType {
+         NETDEV_L2TP_L2SPECTYPE_NONE = L2TP_L2SPECTYPE_NONE,
+         NETDEV_L2TP_L2SPECTYPE_DEFAULT = L2TP_L2SPECTYPE_DEFAULT,
+diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
+index 5182783f45..79b21cb4ba 100644
+--- a/src/network/netdev/wireguard.c
++++ b/src/network/netdev/wireguard.c
+@@ -5,9 +5,9 @@
+ 
+ /* Make sure the net/if.h header is included before any linux/ one */
+ #include <net/if.h>
++#include <netinet/in.h>
+ //#include <linux/if_arp.h>
+ #include <linux/ipv6_route.h>
+-#include <netinet/in.h>
+ #include <sys/ioctl.h>
+ 
+ #include "sd-resolve.h"
+diff --git a/src/network/networkctl-link-info.c b/src/network/networkctl-link-info.c
+index f356d3c231..216c442de1 100644
+--- a/src/network/networkctl-link-info.c
++++ b/src/network/networkctl-link-info.c
+@@ -1,7 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+-#include <linux/if_tunnel.h>
+-
+ #include "bus-common-errors.h"
+ #include "bus-error.h"
+ #include "bus-util.h"
+@@ -16,6 +14,8 @@
+ #include "strxcpyx.h"
+ #include "wifi-util.h"
+ 
++#include <linux/if_tunnel.h>
++
+ /* use 128 kB for receive socket kernel queue, we shouldn't need more here */
+ #define RCVBUF_SIZE    (128*1024)
+ 
+diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c
+index 358ca4d294..fe87f7c093 100644
+--- a/src/network/networkd-bridge-mdb.c
++++ b/src/network/networkd-bridge-mdb.c
+@@ -2,7 +2,6 @@
+ 
+ /* Make sure the net/if.h header is included before any linux/ one */
+ #include <net/if.h>
+-#include <linux/if_bridge.h>
+ 
+ #include "netlink-util.h"
+ #include "networkd-bridge-mdb.h"
+@@ -13,6 +12,8 @@
+ #include "string-util.h"
+ #include "vlan-util.h"
+ 
++#include <linux/if_bridge.h>
++
+ #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U
+ 
+ /* remove MDB entry. */
+diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
+index 0f3f79ec4f..325743bebf 100644
+--- a/src/network/networkd-route.c
++++ b/src/network/networkd-route.c
+@@ -1,9 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+-#include <linux/if.h>
+-#include <linux/ipv6_route.h>
+-#include <linux/nexthop.h>
+-
+ #include "alloc-util.h"
+ #include "event-util.h"
+ #include "netlink-util.h"
+@@ -21,6 +17,10 @@
+ #include "vrf.h"
+ #include "wireguard.h"
+ 
++#include <linux/if.h>
++#include <linux/ipv6_route.h>
++#include <linux/nexthop.h>
++
+ static Route* route_detach_impl(Route *route) {
+         assert(route);
+         assert(!!route->network + !!route->manager + !!route->wireguard <= 1);
+diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c
+index e57af66221..f66d8f0606 100644
+--- a/src/resolve/resolved-dns-stream.c
++++ b/src/resolve/resolved-dns-stream.c
+@@ -1,7 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+-#include <linux/if_arp.h>
+-#include <netinet/tcp.h>
+ #include <unistd.h>
+ 
+ #include "alloc-util.h"
+@@ -12,6 +10,9 @@
+ #include "resolved-dns-stream.h"
+ #include "resolved-manager.h"
+ 
++//#include <linux/if_arp.h>
++#include <netinet/tcp.h>
++
+ #define DNS_STREAMS_MAX 128
+ 
+ #define DNS_QUERIES_PER_STREAM 32
+diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c
+index dbaad81734..b988e75851 100644
+--- a/src/resolve/resolved-manager.c
++++ b/src/resolve/resolved-manager.c
+@@ -1,8 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ 
+ #include <fcntl.h>
+-#include <linux/ipv6.h>
+-#include <netinet/in.h>
+ #include <poll.h>
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+@@ -46,6 +44,9 @@
+ #include "utf8.h"
+ #include "varlink-util.h"
+ 
++#include <linux/ipv6.h>
++#include <netinet/in.h>
++
+ #define SEND_TIMEOUT_USEC (200 * USEC_PER_MSEC)
+ 
+ static int manager_process_link(sd_netlink *rtnl, sd_netlink_message *mm, void *userdata) {
+diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
+index eaa8a5f11c..03379e7474 100644
+--- a/src/shared/conf-parser.c
++++ b/src/shared/conf-parser.c
+@@ -2,7 +2,6 @@
+ 
+ #include <errno.h>
+ #include <limits.h>
+-#include <linux/ipv6.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -47,6 +46,8 @@
+ #include "time-util.h"
+ #include "utf8.h"
+ 
++#include <linux/ipv6.h>
++
+ DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(config_file_hash_ops_fclose,
+                                               char, path_hash_func, path_compare,
+                                               FILE, safe_fclose);
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-include-signal.h-to-avoid-the-undeclared-error.patch b/poky/meta/recipes-core/systemd/systemd/0025-include-signal.h-to-avoid-the-undeclared-error.patch
deleted file mode 100644
index 5cfb112..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0025-include-signal.h-to-avoid-the-undeclared-error.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ecf124ab2e488a71741fe443ff4863f7ed172968 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 2 Jul 2024 22:18:47 -0700
-Subject: [PATCH 25/27] include signal.h to avoid the 'undeclared' error
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/pidref.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/basic/pidref.h b/src/basic/pidref.h
-index 9920ebb9b3..2fdd4ff50f 100644
---- a/src/basic/pidref.h
-+++ b/src/basic/pidref.h
-@@ -1,6 +1,7 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- #pragma once
- 
-+#include <signal.h>
- #include "macro.h"
- 
- /* An embeddable structure carrying a reference to a process. Supposed to be used when tracking processes continuously. */
--- 
-2.45.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0028-build-path.c-avoid-boot-time-segfault-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0026-build-path.c-avoid-boot-time-segfault-for-musl.patch
similarity index 86%
rename from poky/meta/recipes-core/systemd/systemd/0028-build-path.c-avoid-boot-time-segfault-for-musl.patch
rename to poky/meta/recipes-core/systemd/systemd/0026-build-path.c-avoid-boot-time-segfault-for-musl.patch
index 501728c..a7549ee 100644
--- a/poky/meta/recipes-core/systemd/systemd/0028-build-path.c-avoid-boot-time-segfault-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0026-build-path.c-avoid-boot-time-segfault-for-musl.patch
@@ -1,7 +1,7 @@
-From 0e4379088b1cf607b605b785f6f23943ebeb6584 Mon Sep 17 00:00:00 2001
+From f2a7cf1d2a2bc2516a180809efd85c828cd9c7f4 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Wed, 3 Jul 2024 07:18:42 -0700
-Subject: [PATCH 28/28] build-path.c: avoid boot time segfault for musl
+Subject: [PATCH 26/26] build-path.c: avoid boot time segfault for musl
 
 This function, at runtime, should return -ENOEXEC. For musl, it
 somehow segfaults. I think it's related to getauxval, but it's
@@ -27,5 +27,5 @@
                  const char *runpath = NULL;
  
 -- 
-2.45.1
+2.34.1
 
diff --git a/poky/meta/recipes-core/systemd/systemd/0027-adjust-header-inclusion-order-to-avoid-redeclaration.patch b/poky/meta/recipes-core/systemd/systemd/0027-adjust-header-inclusion-order-to-avoid-redeclaration.patch
deleted file mode 100644
index 1be075d..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0027-adjust-header-inclusion-order-to-avoid-redeclaration.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From cf94d43572770007f95b832f477aa5a03624a1e5 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 2 Jul 2024 23:23:57 -0700
-Subject: [PATCH 27/27] adjust header inclusion order to avoid redeclaration
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/network/netdev/wireguard.c    | 2 +-
- src/network/networkd-bridge-mdb.c | 3 ++-
- src/network/networkd-route.c      | 6 +++---
- 3 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
-index 94b659fd23..a78ad5762d 100644
---- a/src/network/netdev/wireguard.c
-+++ b/src/network/netdev/wireguard.c
-@@ -5,9 +5,9 @@
- 
- /* Make sure the net/if.h header is included before any linux/ one */
- #include <net/if.h>
-+#include <netinet/in.h>
- //#include <linux/if_arp.h>
- #include <linux/ipv6_route.h>
--#include <netinet/in.h>
- #include <sys/ioctl.h>
- 
- #include "sd-resolve.h"
-diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c
-index 7ff4a18846..fe1a9cf888 100644
---- a/src/network/networkd-bridge-mdb.c
-+++ b/src/network/networkd-bridge-mdb.c
-@@ -2,7 +2,6 @@
- 
- /* Make sure the net/if.h header is included before any linux/ one */
- #include <net/if.h>
--#include <linux/if_bridge.h>
- 
- #include "netlink-util.h"
- #include "networkd-bridge-mdb.h"
-@@ -13,6 +12,8 @@
- #include "string-util.h"
- #include "vlan-util.h"
- 
-+#include <linux/if_bridge.h>
-+
- #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U
- 
- /* remove MDB entry. */
-diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
-index d596fd81e6..0dc0d2a7a3 100644
---- a/src/network/networkd-route.c
-+++ b/src/network/networkd-route.c
-@@ -1,8 +1,5 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- 
--#include <linux/ipv6_route.h>
--#include <linux/nexthop.h>
--
- #include "alloc-util.h"
- #include "event-util.h"
- #include "netlink-util.h"
-@@ -20,6 +17,9 @@
- #include "vrf.h"
- #include "wireguard.h"
- 
-+#include <linux/ipv6_route.h>
-+#include <linux/nexthop.h>
-+
- static Route* route_detach_impl(Route *route) {
-         assert(route);
-         assert(!!route->network + !!route->manager + !!route->wireguard <= 1);
--- 
-2.45.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd_256.8.bb b/poky/meta/recipes-core/systemd/systemd_257.1.bb
similarity index 92%
rename from poky/meta/recipes-core/systemd/systemd_256.8.bb
rename to poky/meta/recipes-core/systemd/systemd_257.1.bb
index 2b5a90a..cdf72a5 100644
--- a/poky/meta/recipes-core/systemd/systemd_256.8.bb
+++ b/poky/meta/recipes-core/systemd/systemd_257.1.bb
@@ -28,37 +28,36 @@
            file://systemd-pager.sh \
            file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0002-implment-systemd-sysv-install-for-OE.patch \
-           file://0003-coredump-set-ProtectHome-to-read-only.patch \
+           file://0001-Do-not-create-var-log-README.patch \
            "
 
 # patches needed by musl
 SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
 SRC_URI_MUSL = "\
-               file://0004-missing_type.h-add-comparison_fn_t.patch \
-               file://0005-add-fallback-parse_printf_format-implementation.patch \
-               file://0006-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
-               file://0007-add-missing-FTW_-macros-for-musl.patch \
-               file://0008-Use-uintmax_t-for-handling-rlim_t.patch \
-               file://0009-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
-               file://0010-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
-               file://0011-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
-               file://0012-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
-               file://0013-avoid-redefinition-of-prctl_mm_map-structure.patch \
-               file://0014-do-not-disable-buffer-in-writing-files.patch \
-               file://0015-Handle-__cpu_mask-usage.patch \
-               file://0016-Handle-missing-gshadow.patch \
-               file://0017-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
-               file://0018-pass-correct-parameters-to-getdents64.patch \
-               file://0019-Adjust-for-musl-headers.patch \
-               file://0020-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
-               file://0021-errno-util-Make-STRERROR-portable-for-musl.patch \
-               file://0022-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
-               file://0023-shared-Do-not-use-malloc_info-on-musl.patch \
-               file://0024-avoid-missing-LOCK_EX-declaration.patch \
-               file://0025-include-signal.h-to-avoid-the-undeclared-error.patch \
-               file://0026-undef-stdin-for-references-using-stdin-as-a-struct-m.patch \
-               file://0027-adjust-header-inclusion-order-to-avoid-redeclaration.patch \
-               file://0028-build-path.c-avoid-boot-time-segfault-for-musl.patch \
+               file://0003-missing_type.h-add-comparison_fn_t.patch \
+               file://0004-add-fallback-parse_printf_format-implementation.patch \
+               file://0005-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
+               file://0006-add-missing-FTW_-macros-for-musl.patch \
+               file://0007-Use-uintmax_t-for-handling-rlim_t.patch \
+               file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
+               file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+               file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+               file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \
+               file://0012-do-not-disable-buffer-in-writing-files.patch \
+               file://0013-Handle-__cpu_mask-usage.patch \
+               file://0014-Handle-missing-gshadow.patch \
+               file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
+               file://0016-pass-correct-parameters-to-getdents64.patch \
+               file://0017-Adjust-for-musl-headers.patch \
+               file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
+               file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \
+               file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
+               file://0021-shared-Do-not-use-malloc_info-on-musl.patch \
+               file://0022-avoid-missing-LOCK_EX-declaration.patch \
+               file://0023-include-signal.h-to-avoid-the-undeclared-error.patch \
+               file://0024-undef-stdin-for-references-using-stdin-as-a-struct-m.patch \
+               file://0025-adjust-header-inclusion-order-to-avoid-redeclaration.patch \
+               file://0026-build-path.c-avoid-boot-time-segfault-for-musl.patch \
                "
 
 PAM_PLUGINS = " \
@@ -69,7 +68,7 @@
 "
 
 PACKAGECONFIG ??= " \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam pni-names selinux smack polkit seccomp', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit apparmor efi ldconfig pam pni-names selinux smack polkit seccomp', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'minidebuginfo', 'coredump elfutils', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
@@ -132,6 +131,7 @@
 
 PACKAGECONFIG[acl] = "-Dacl=enabled,-Dacl=disabled,acl"
 PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit"
+PACKAGECONFIG[apparmor] = "-Dapparmor=enabled,-Dapparmor=disabled,apparmor"
 PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
 PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
 PACKAGECONFIG[bpf-framework] = "-Dbpf-framework=enabled,-Dbpf-framework=disabled,clang-native bpftool-native libbpf,libbpf"
@@ -149,6 +149,7 @@
 PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
 PACKAGECONFIG[efi] = "-Defi=true -Dbootloader=enabled,-Defi=false -Dbootloader=disabled,python3-pyelftools-native"
 PACKAGECONFIG[elfutils] = "-Delfutils=enabled,-Delfutils=disabled,elfutils,,libelf libdw"
+PACKAGECONFIG[fido] = "-Dlibfido2=enabled,-Dlibfido2=disabled,libfido2"
 PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
 PACKAGECONFIG[repart] = "-Drepart=enabled,-Drepart=disabled"
 PACKAGECONFIG[homed] = "-Dhomed=enabled,-Dhomed=disabled"
@@ -179,7 +180,9 @@
 PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
 PACKAGECONFIG[manpages] = "-Dman=enabled,-Dman=disabled,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=enabled,-Dmicrohttpd=disabled,libmicrohttpd"
+PACKAGECONFIG[mountfsd] = "-Dmountfsd=true,-Dmountfsd=false"
 PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
+PACKAGECONFIG[nsresourced] = "-Dnsresourced=true,-Dnsresourced=false"
 PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
 PACKAGECONFIG[no-dns-fallback] = "-Ddns-servers="
 PACKAGECONFIG[no-ntp-fallback] = "-Dntp-servers="
@@ -245,7 +248,6 @@
                   -Dsystem-uid-max=999 \
                   -Dsystem-alloc-gid-min=101 \
                   -Dsystem-gid-max=999 \
-                  -Dcreate-log-dirs=false \
                   ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', '-Ddefault-mdns=no -Ddefault-llmnr=no', '', d)} \
                   "
 
@@ -266,6 +268,11 @@
 # The 60 seconds is watchdog's default vaule.
 WATCHDOG_TIMEOUT ??= "60"
 
+# To make use of the hardware watchdog it is sufficient to set WATCHDOG_RUNTIME_SEC
+# (RuntimeWatchdogSec= option in /etc/systemd/system.conf) to a value like 20s
+# and the watchdog is enabled. (defaults is no hardware watchdog use)
+WATCHDOG_RUNTIME_SEC ??= ""
+
 do_install() {
 	meson_do_install
 
@@ -383,6 +390,11 @@
 			${D}/${sysconfdir}/systemd/system.conf
 	fi
 
+	if [ -n "${WATCHDOG_RUNTIME_SEC}" ]; then
+		sed -i -e 's/#RuntimeWatchdogSec=off/RuntimeWatchdogSec=${WATCHDOG_RUNTIME_SEC}/' \
+			${D}/${sysconfdir}/systemd/system.conf
+	fi
+
 	if ${@bb.utils.contains('PACKAGECONFIG', 'pni-names', 'true', 'false', d)}; then
 		if ! grep -q '^NamePolicy=.*mac' ${D}${nonarch_libdir}/systemd/network/99-default.link; then
 			sed -i '/^NamePolicy=/s/$/ mac/' ${D}${nonarch_libdir}/systemd/network/99-default.link
@@ -415,6 +427,7 @@
     ${PN}-journal-remote \
     ${PN}-kernel-install \
     ${PN}-mime \
+    ${PN}-networkd \
     ${PN}-rpm-macros \
     ${PN}-udev-rules \
     ${PN}-vconsole-setup \
@@ -443,6 +456,7 @@
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)} \
 "
 SYSTEMD_SERVICE:${PN}-binfmt = "systemd-binfmt.service"
 
@@ -451,12 +465,13 @@
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)} \
 "
 GROUPADD_PARAM:${PN} = "-r systemd-journal;"
 GROUPADD_PARAM:udev = "-r render"
 GROUPADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}"
-USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}"
+USERADD_PARAM:${PN}-networkd = "--system -d / -M --shell /sbin/nologin systemd-network"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${datadir}/polkit-1 polkitd;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}"
 USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}"
@@ -623,6 +638,27 @@
 FILES:${PN}-mime = "${MIMEDIR}"
 RRECOMMENDS:${PN} += "${PN}-mime"
 
+FILES:${PN}-networkd = "\
+    ${bindir}/networkctl \
+    ${datadir}/dbus-1/system-services/org.freedesktop.network1.service \
+    ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
+    ${datadir}/polkit-1/actions/org.freedesktop.network1.policy \
+    ${nonarch_libdir}/sysusers.d/systemd-network.conf \
+    ${nonarch_libdir}/tmpfiles.d/systemd-network.conf \
+    ${sysconfdir}/systemd/networkd.conf \
+    ${systemd_system_unitdir}/systemd-networkd* \
+    ${systemd_unitdir}/network/*.network \
+    ${systemd_unitdir}/network/*.network.example \
+    ${systemd_unitdir}/networkd.conf \
+    ${systemd_unitdir}/systemd-networkd* \
+"
+# systemd-networkd-persistent-storage.service BindsTo=systemd-networkd.service
+# systemd-networkd.service has Also=systemd-networkd-wait-online.service
+SYSTEMD_SERVICE:${PN}-networkd = "systemd-networkd.service"
+CONFFILES:${PN}-networkd = "${sysconfdir}/systemd/networkd.conf"
+RDEPENDS:${PN}-networkd += "${PN}"
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '${PN}-networkd', '', d)}"
+
 FILES:${PN}-udev-rules = "\
                         ${nonarch_libdir}/udev/rules.d/70-uaccess.rules \
                         ${nonarch_libdir}/udev/rules.d/71-seat.rules \
@@ -633,7 +669,6 @@
 CONFFILES:${PN} = "${sysconfdir}/systemd/coredump.conf \
 	${sysconfdir}/systemd/journald.conf \
 	${sysconfdir}/systemd/logind.conf \
-	${sysconfdir}/systemd/networkd.conf \
 	${sysconfdir}/systemd/pstore.conf \
 	${sysconfdir}/systemd/resolved.conf \
 	${sysconfdir}/systemd/sleep.conf \
@@ -701,7 +736,6 @@
                 ${nonarch_libdir}/modprobe.d/README \
                 ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
                 ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
-                ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
                 ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
                 ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
                 ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
deleted file mode 100644
index 60fbd87..0000000
--- a/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From c710a3accd1fabdb671274e1a458405282d51e0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Aug 2018 15:38:58 -0700
-Subject: [PATCH] include sys/sysmacros.h for major/minor definitions
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
----
- src/bootlogd.c   | 1 +
- src/mountpoint.c | 1 +
- src/shutdown.c   | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/src/bootlogd.c b/src/bootlogd.c
-index 787db87..8b07903 100644
---- a/src/bootlogd.c
-+++ b/src/bootlogd.c
-@@ -29,6 +29,7 @@
- #include <sys/types.h>
- #include <sys/time.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/ioctl.h>
- #include <sys/utsname.h>
- #include <time.h>
-diff --git a/src/mountpoint.c b/src/mountpoint.c
-index 5f20522..94df7a1 100644
---- a/src/mountpoint.c
-+++ b/src/mountpoint.c
-@@ -25,6 +25,7 @@
- 
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/shutdown.c b/src/shutdown.c
-index b744a2c..40b7faf 100644
---- a/src/shutdown.c
-+++ b/src/shutdown.c
-@@ -40,6 +40,7 @@
- #endif
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/wait.h>
- #ifdef __linux__
- #include <sys/sysmacros.h>   /* brought in my LFS patch */
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch b/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
index 24c8182..ece870c 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/crypt-lib.patch
@@ -1,33 +1,33 @@
-From 49250c8e0ef563aafd5bbea62612f3d15fdee3af Mon Sep 17 00:00:00 2001
+From 19a8777c81bc451d65a4071528e4715e19941e0a Mon Sep 17 00:00:00 2001
 From: Jeff Dike <jdike@x86_64.user-mode-linux.org>
 Date: Wed, 14 Jul 2010 14:35:52 -0400
 Subject: [PATCH] sysvinit - Remove sulogin dependency on /usr/lib*/libcrypt.a
 
-Upstream-Status: Inappropriate [configuration]
+The src Makefile was checking for libcrypt.a on the host, not in the
+build environment.  This patch checks for $LCRYPT in the environment
+and uses it if it's there.
+jdike@linux.intel.com
 
-# The src Makefile was checking for libcrypt.a on the host, not in the
-# build environment.  This patch checks for $LCRYPT in the environment
-# and uses it if it's there.
-# - jdike@linux.intel.com
+Upstream-Status: Inappropriate [configuration]
 ---
  src/Makefile | 12 ++----------
  1 file changed, 2 insertions(+), 10 deletions(-)
 
 diff --git a/src/Makefile b/src/Makefile
-index 0210171..f696247 100644
+index 4ce4889..1611c1c 100644
 --- a/src/Makefile
 +++ b/src/Makefile
-@@ -101,16 +101,8 @@ endif
- 
- ROOT	?= $(DESTDIR)
+@@ -97,16 +97,8 @@ else
+   SULOGINLIBS	=
+ endif
  
 -# Additional libs for GNU libc.
--ifneq ($(wildcard $(ROOT)/usr/lib*/libcrypt.*),)
+-ifneq ($(wildcard $(ROOT)/$(usrdir)/lib*/libcrypt.*),)
 -  SULOGINLIBS	+= -lcrypt
 -endif
 -
 -# Additional libs for GNU libc / multiarch on Debian based systems.
--ifneq ($(wildcard $(ROOT)/usr/lib/*/libcrypt.*),)
+-ifneq ($(wildcard $(ROOT)/$(usrdir)/lib/*/libcrypt.*),)
 -ifneq ($(findstring -lcrypt, $(SULOGINLIBS)), -lcrypt)
 -  SULOGINLIBS	+= -lcrypt
 -endif
@@ -36,6 +36,3 @@
  endif
  
  all:		$(BIN) $(SBIN) $(USRBIN)
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/install.patch b/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
deleted file mode 100644
index 4289c4e..0000000
--- a/poky/meta/recipes-core/sysvinit/sysvinit/install.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From f73a2c768687f3fed0ab570f47fa2157e5d4e586 Mon Sep 17 00:00:00 2001
-From: Qing He <qing.he@intel.com>
-Date: Fri, 18 Jun 2010 09:40:30 +0800
-Subject: [PATCH] sysvinit: upgrade to version 2.88dsf
-
-Upstream-Status: Submitted [https://github.com/slicer69/sysvinit/pull/13]
----
- src/Makefile | 37 ++++++++++++++++++++++---------------
- 1 file changed, 22 insertions(+), 15 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 21cbb2e..0210171 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -80,7 +80,14 @@ else
-   INSTALL_DATA	= install -m 644
- endif
- INSTALL_DIR	= install -m 755 -d
--MANDIR		= /usr/share/man
-+
-+ROOT         ?=
-+base_bindir  ?= /bin
-+base_sbindir ?= /sbin
-+bindir       ?= /usr/bin
-+sysconfdir   ?= /etc
-+includedir   ?= /usr/include
-+mandir       ?= /usr/share/man
- 
- ifeq ($(WITH_SELINUX),yes)
-   SELINUX_DEF	=  -DWITH_SELINUX
-@@ -196,31 +203,31 @@ clobber:	cleanobjs
- distclean:	clobber
- 
- install:	all
--		$(INSTALL_DIR) $(ROOT)/bin/ $(ROOT)/sbin/
--		$(INSTALL_DIR) $(ROOT)/usr/bin/
-+		$(INSTALL_DIR) $(ROOT)$(base_bindir)/ $(ROOT)$(base_sbindir)/
-+		$(INSTALL_DIR) $(ROOT)$(bindir)/
- 		for i in $(BIN); do \
--			$(INSTALL_EXEC) $$i $(ROOT)/bin/ ; \
-+			$(INSTALL_EXEC) $$i $(ROOT)$(base_bindir)/ ; \
- 		done
- 		for i in $(SBIN); do \
--			$(INSTALL_EXEC) $$i $(ROOT)/sbin/ ; \
-+			$(INSTALL_EXEC) $$i $(ROOT)$(base_sbindir)/ ; \
- 		done
- 		for i in $(USRBIN); do \
--			$(INSTALL_EXEC) $$i $(ROOT)/usr/bin/ ; \
-+			$(INSTALL_EXEC) $$i $(ROOT)$(bindir)/ ; \
- 		done
- 		# $(INSTALL_DIR) $(ROOT)/etc/
- 		$(INSTALL_DIR) $(ROOT)/etc/inittab.d
- 		# $(INSTALL_EXEC) ../doc/initscript.sample $(ROOT)/etc/
--		ln -sf halt $(ROOT)/sbin/reboot
--		ln -sf halt $(ROOT)/sbin/poweroff
--		ln -sf init $(ROOT)/sbin/telinit
--		ln -sf ../sbin/killall5 $(ROOT)/bin/pidof
--		if [ ! -f $(ROOT)/usr/bin/lastb ]; then \
--			ln -sf last $(ROOT)/usr/bin/lastb; \
-+		ln -sf halt $(ROOT)$(base_sbindir)/reboot
-+		ln -sf halt $(ROOT)$(base_sbindir)/poweroff
-+		ln -sf init $(ROOT)$(base_sbindir)/telinit
-+		ln -sf $(base_sbindir)/killall5 $(ROOT)$(base_bindir)/pidof
-+		if [ ! -f $(ROOT)$(bindir)/lastb ]; then \
-+			ln -sf last $(ROOT)$(bindir)/lastb; \
- 		fi
--		$(INSTALL_DIR) $(ROOT)/usr/include/
--		$(INSTALL_DATA) initreq.h $(ROOT)/usr/include/
-+		$(INSTALL_DIR) $(ROOT)$(includedir)/
-+		$(INSTALL_DATA) initreq.h $(ROOT)$(includedir)/
- 		for man in $(MANPAGES) ; do \
--		    targetdir=$(ROOT)$(MANDIR)/$$(dirname $$man)/man$${man##*.}; \
-+		    targetdir=$(ROOT)$(mandir)/$$(dirname $$man)/man$${man##*.}; \
- 		    $(INSTALL_DIR) $$targetdir; \
- 		    $(INSTALL_DATA) ../man/$$man $$targetdir/$$(basename $$man); \
- 		    sed -i "1{ $(MANDB); }" $$targetdir/$$(basename $$man); \
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch b/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch
deleted file mode 100644
index 66da6fb..0000000
--- a/poky/meta/recipes-core/sysvinit/sysvinit/pidof-add-m-option.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From 2b19b36409b8de0621b9aeb0d13748e947a5bbfb Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 24 Jul 2013 17:07:22 +0800
-Subject: [PATCH] pidof: add -m option
-
-When used with -o, will also omit any processes that have the same
-argv[0] and argv[1] as any explicitly omitted process ids. This can be
-used to avoid multiple shell scripts concurrently calling pidof returning
-each other's pids.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=883856
-
-Upstream-Status: Backport
-Imported patch from: https://bugzilla.redhat.com/attachment.cgi?id=658166
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- man/pidof.8    |  6 +++++
- src/killall5.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 65 insertions(+), 3 deletions(-)
-
-diff --git a/man/pidof.8 b/man/pidof.8
-index 6866cb3..a87d878 100644
---- a/man/pidof.8
-+++ b/man/pidof.8
-@@ -25,6 +25,7 @@ pidof - find the process ID of a running program
- .RB [ \-n ]
- .RB [ \-x ]
- .RB [ \-z ]
-+.RB [ \-m ]
- .RB [ \-o
- .IR omitpid[,omitpid...] ]
- .RB [ \-o
-@@ -77,6 +78,11 @@ is shown. The default separator is a space.
- Tells \fIpidof\fP to omit processes with that process id. The special
- pid \fB%PPID\fP can be used to name the parent process of the \fBpidof\fP
- program, in other words the calling shell or shell script.
-+.IP -m
-+When used with -o, will also omit any processes that have the same
-+argv[0] and argv[1] as any explicitly omitted process ids. This can be
-+used to avoid multiple shell scripts concurrently calling pidof returning
-+each other's pids.
- .SH "EXIT STATUS"
- .TP
- .B 0
-diff --git a/src/killall5.c b/src/killall5.c
-index 6f7528a..34d656b 100644
---- a/src/killall5.c
-+++ b/src/killall5.c
-@@ -121,6 +121,7 @@ typedef struct _s_nfs
- 
- /* List of processes. */
- PROC *plist = NULL;
-+PROC *olist = NULL;
- 
- /* List of processes to omit. */
- OMIT *omit = NULL;
-@@ -356,6 +357,20 @@ static void clear_mnt(void)
- 	}
- }
- 
-+static void clear_omit(void)
-+{
-+	OMIT *o;
-+	PROC *p;
-+	for (o = omit; o; o = omit) {
-+		omit = omit->next;
-+		free(o);
-+	}
-+	for (p = olist; p; p = olist) {
-+		olist = olist->next;
-+		free(p);
-+	}
-+}
-+
- /*
-  *     Check if path is a shadow off a NFS partition.
-  */
-@@ -481,6 +496,7 @@ int readproc()
- 	DIR		*dir;
- 	FILE		*fp;
- 	PROC		*p, *n;
-+	OMIT		*o, *m;
- 	struct dirent	*d;
- 	char		path[PATH_MAX+1];
- 	char		buf[PATH_MAX+1];
-@@ -671,6 +687,17 @@ int readproc()
- 		p->next = plist;
- 		plist = p;
- 		p->pid = pid;
-+		/* Could be smarter, but it's a small list. */
-+		m = omit;
-+		for (o = omit; m; o = m) {
-+			m = o->next;
-+			if (o->pid == p->pid) {
-+				n = (PROC*)xmalloc(sizeof(PROC));
-+				*n = *p;
-+				n->next = olist;
-+				olist = n;
-+			}
-+		}
- 	}
- 	closedir(dir);
- 
-@@ -877,6 +904,26 @@ PIDQ_HEAD *pidof(char *prog)
- 	return q;
- }
- 
-+int matches(PROC *o, PROC *p)
-+{
-+	int ret = 0;
-+	char *oargv1, *pargv1;
-+	if ((o->argv0 && p->argv0 && !strcmp(o->argv0,p->argv0))) {
-+		if (o->argv1 && p->argv1) {
-+			if ((oargv1 = canonicalize_file_name(o->argv1)) == NULL)
-+				oargv1 = strdup(o->argv1);
-+			if ((pargv1 = canonicalize_file_name(p->argv1)) == NULL)
-+				pargv1 = strdup(p->argv1);
-+			if (! strcmp(oargv1, pargv1)) {
-+				ret = 1;
-+			}
-+			free(oargv1);
-+			free(pargv1);
-+		}
-+	}
-+	return ret;
-+}
-+
- /* Give usage message and exit. */
- void usage(void)
- {
-@@ -927,6 +974,7 @@ void nsyslog(int pri, char *fmt, ...)
- #define PIDOF_OMIT	0x02
- #define PIDOF_NETFS	0x04
- #define PIDOF_QUIET     0x08
-+#define PIDOF_OMIT_OMIT_MATCHES	0x08
- 
- /*
-  *	Pidof functionality.
-@@ -944,6 +992,7 @@ int main_pidof(int argc, char **argv)
- 	char		tmp[512];
-         char            sep = ' ';
- 
-+	olist = (PROC*)0;
- 	omit = (OMIT*)0;
- 	nlist = (NFS*)0;
- 	opterr = 0;
-@@ -951,7 +1000,7 @@ int main_pidof(int argc, char **argv)
- 	if ((token = getenv("PIDOF_NETFS")) && (strcmp(token,"no") != 0))
- 		flags |= PIDOF_NETFS;
- 
--	while ((opt = getopt(argc,argv,"qhco:d:sxzn")) != EOF) switch (opt) {
-+	while ((opt = getopt(argc,argv,"qhcmo:d:sxzn")) != EOF) switch (opt) {
- 		case '?':
- 			nsyslog(LOG_ERR,"invalid options on command line!\n");
- 			closelog();
-@@ -1002,6 +1051,9 @@ int main_pidof(int argc, char **argv)
-                 case 'z':
-                         list_dz_processes = TRUE;
-                         break;
-+		case 'm':
-+			flags |= PIDOF_OMIT_OMIT_MATCHES;
-+			break;
- 		case 'n':
- 			flags |= PIDOF_NETFS;
- 			break;
-@@ -1033,10 +1085,13 @@ int main_pidof(int argc, char **argv)
- 			pid_t spid = 0;
- 			while ((p = get_next_from_pid_q(q))) {
- 				if ((flags & PIDOF_OMIT) && omit) {
--					OMIT * optr;
--					for (optr = omit; optr; optr = optr->next) {
-+					PROC * optr;
-+					for (optr = olist; optr; optr = optr->next) {
- 						if (optr->pid == p->pid)
- 							break;
-+						if (flags & PIDOF_OMIT_OMIT_MATCHES)
-+							if (matches(optr, p))
-+								break;
- 					}
- 
- 					/*
-@@ -1078,6 +1133,7 @@ int main_pidof(int argc, char **argv)
- 		printf("\n");
-         }
- 
-+	clear_omit();
- 	clear_mnt();
- 
- 	closelog();
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/realpath.patch b/poky/meta/recipes-core/sysvinit/sysvinit/realpath.patch
deleted file mode 100644
index 7a669d0..0000000
--- a/poky/meta/recipes-core/sysvinit/sysvinit/realpath.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 50e6b3a0fc7c083e6514a55ac93e5591aaeb787d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Nov 2015 00:10:03 +0000
-Subject: [PATCH] Fix build on musl use realpath() API its available on all
- libcs
-
-realpath() API doesnt work on systems with PATH_MAX set to be unlimited e.g. GNU/Hurd
-However for Linux it should always work
-
-Upstream-Status: Inappropriate [Linux specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/killall5.c   | 4 ++--
- src/mountpoint.c | 1 +
- src/wall.c       | 1 +
- 3 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/killall5.c b/src/killall5.c
-index 34d656b..bc19d7f 100644
---- a/src/killall5.c
-+++ b/src/killall5.c
-@@ -910,9 +910,9 @@ int matches(PROC *o, PROC *p)
- 	char *oargv1, *pargv1;
- 	if ((o->argv0 && p->argv0 && !strcmp(o->argv0,p->argv0))) {
- 		if (o->argv1 && p->argv1) {
--			if ((oargv1 = canonicalize_file_name(o->argv1)) == NULL)
-+			if ((oargv1 = realpath(o->argv1, NULL)) == NULL)
- 				oargv1 = strdup(o->argv1);
--			if ((pargv1 = canonicalize_file_name(p->argv1)) == NULL)
-+			if ((pargv1 = realpath(p->argv1, NULL)) == NULL)
- 				pargv1 = strdup(p->argv1);
- 			if (! strcmp(oargv1, pargv1)) {
- 				ret = 1;
-diff --git a/src/mountpoint.c b/src/mountpoint.c
-index 184b1f6..c55b0df 100644
---- a/src/mountpoint.c
-+++ b/src/mountpoint.c
-@@ -23,6 +23,7 @@
-  *		Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-  */
- 
-+#include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <stdlib.h>
-diff --git a/src/wall.c b/src/wall.c
-index e527613..1d363ca 100644
---- a/src/wall.c
-+++ b/src/wall.c
-@@ -30,6 +30,7 @@
- #include <pwd.h>
- #include <syslog.h>
- #include <sys/types.h>
-+#include <time.h>
- #include "init.h"
- 
- 
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit_3.11.bb b/poky/meta/recipes-core/sysvinit/sysvinit_3.13.bb
similarity index 93%
rename from poky/meta/recipes-core/sysvinit/sysvinit_3.11.bb
rename to poky/meta/recipes-core/sysvinit/sysvinit_3.13.bb
index e8eab27..d935b0e 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit_3.11.bb
+++ b/poky/meta/recipes-core/sysvinit/sysvinit_3.13.bb
@@ -11,18 +11,14 @@
 
 GITHUB_BASE_URI = "https://github.com/slicer69/${BPN}/releases/"
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \
-           file://install.patch \
            file://crypt-lib.patch \
-           file://pidof-add-m-option.patch \
-           file://realpath.patch \
-           file://0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch \
            file://rcS-default \
            file://rc \
            file://rcS \
            file://bootlogd.init \
            file://01_bootlogd \
            "
-SRC_URI[sha256sum] = "04f1b7d67413af1c09c41acc1e3ce946f2d0f7a1e47c9978744bc542864e13d4"
+SRC_URI[sha256sum] = "cbaeabddc35a6511b87c87452ee5e87c678a26329c7d7d17fb69a2b42a314d86"
 
 S = "${WORKDIR}/sysvinit-${PV}"
 
diff --git a/poky/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch b/poky/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch
new file mode 100644
index 0000000..668aa73
--- /dev/null
+++ b/poky/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch
@@ -0,0 +1,138 @@
+From 95c871b7b912f39539777ac222ef7f8798bb0225 Mon Sep 17 00:00:00 2001
+From: Masahisa Kojima <kojima.masahisa@socionext.com>
+Date: Thu, 25 Apr 2024 17:23:10 +0900
+Subject: [PATCH] random-util.c: sync dev_urandom implementation to
+ systemd-udev
+
+Current dev_urandom() assumes that reading /dev/urandom
+will never block regardless if the random pool is fully
+initialized or not.
+This assumption is no longer applicable since linux kerrnel
+enforces the /dev/urandom entropy initialization from
+v5.18-rc2 with the commit:
+48bff1053c17 ("random: opportunistically initialize on /dev/urandom reads").
+
+With this, when we use the linux v5.18-rc2 or later,
+dev_urandom() will block if enough random pool is not supplied.
+It causes the boot delay, typically 1024msec(4msec * 256 = 1024msec)
+delay to fill the 256 bits entropy for the case CONFIG_HZ=250.
+
+To prevent this boot delay, this commit syncs dev_urandom()
+implementation to the systemd-udev.
+The systemd-udev implementation of reading /dev/urandom is as follows.
+ - Try to get random with calling getrandom(GRND_INSECURE)
+ - If kernel does not support GRND_INSECURE, fallback to GRND_NONBLOCK
+ - If enough entropy is not supplied, fallback to reading /dev/urandom,
+   this will block when the kernel version is v5.18-rc2 or later
+
+With this modification, dev_urandom() tries not to block
+as much as possible.
+
+This modification still keeps the backword compatibility,
+dev_random() will never block if the commit(48bff1053c17) is not
+applied to the linux kernel, the behavior is same as before
+in this case.
+
+Upstream-Status: Backport [a49a3aaa460add6ae7ea208b4cac630e56fe1180]
+Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com>
+---
+ src/shared/missing.h     |  4 +++
+ src/shared/random-util.c | 70 ++++++++++++++++++----------------------
+ 2 files changed, 35 insertions(+), 39 deletions(-)
+
+diff --git a/src/shared/missing.h b/src/shared/missing.h
+index 1967840cdbf3..1caec0f9207c 100644
+--- a/src/shared/missing.h
++++ b/src/shared/missing.h
+@@ -79,6 +79,10 @@ static inline int getrandom(void *buffer, size_t count, unsigned flags) {
+ #define GRND_RANDOM 0x0002
+ #endif
+ 
++#ifndef GRND_INSECURE
++#define GRND_INSECURE 0x0004
++#endif
++
+ #ifndef BTRFS_IOCTL_MAGIC
+ #define BTRFS_IOCTL_MAGIC 0x94
+ #endif
+diff --git a/src/shared/random-util.c b/src/shared/random-util.c
+index 01a28c8ef4e9..852b00e4ce2b 100644
+--- a/src/shared/random-util.c
++++ b/src/shared/random-util.c
+@@ -31,45 +31,37 @@
+ #include "util.h"
+ 
+ int dev_urandom(void *p, size_t n) {
+-        static int have_syscall = -1;
+-
+-        _cleanup_close_ int fd = -1;
+-        int r;
+-
+-        /* Gathers some randomness from the kernel. This call will
+-         * never block, and will always return some data from the
+-         * kernel, regardless if the random pool is fully initialized
+-         * or not. It thus makes no guarantee for the quality of the
+-         * returned entropy, but is good enough for or usual usecases
+-         * of seeding the hash functions for hashtable */
+-
+-        /* Use the getrandom() syscall unless we know we don't have
+-         * it, or when the requested size is too large for it. */
+-        if (have_syscall != 0 || (size_t) (int) n != n) {
+-                r = getrandom(p, n, GRND_NONBLOCK);
+-                if (r == (int) n) {
+-                        have_syscall = true;
+-                        return 0;
+-                }
+-
+-                if (r < 0) {
+-                        if (errno == ENOSYS)
+-                                /* we lack the syscall, continue with
+-                                 * reading from /dev/urandom */
+-                                have_syscall = false;
+-                        else if (errno == EAGAIN)
+-                                /* not enough entropy for now. Let's
+-                                 * remember to use the syscall the
+-                                 * next time, again, but also read
+-                                 * from /dev/urandom for now, which
+-                                 * doesn't care about the current
+-                                 * amount of entropy.  */
+-                                have_syscall = true;
+-                        else
+-                                return -errno;
+-                } else
+-                        /* too short read? */
+-                        return -ENODATA;
++        static bool have_getrandom = true, have_grndinsecure = true;
++        _cleanup_close_ int fd = -EBADF;
++
++        if (n == 0)
++                return 0;
++
++        for (;;) {
++                ssize_t l;
++
++                if (!have_getrandom)
++                        break;
++
++                l = getrandom(p, n, have_grndinsecure ? GRND_INSECURE : GRND_NONBLOCK);
++                if (l > 0) {
++                        if ((size_t) l == n)
++                                return 0; /* Done reading, success. */
++                        p = (uint8_t *) p + l;
++                        n -= l;
++                        continue; /* Interrupted by a signal; keep going. */
++                } else if (l == 0)
++                        break; /* Weird, so fallback to /dev/urandom. */
++                else if (errno == ENOSYS) {
++                        have_getrandom = false;
++                        break; /* No syscall, so fallback to /dev/urandom. */
++                } else if (errno == EINVAL && have_grndinsecure) {
++                        have_grndinsecure = false;
++                        continue; /* No GRND_INSECURE; fallback to GRND_NONBLOCK. */
++                } else if (errno == EAGAIN && !have_grndinsecure)
++                        break; /* Will block, but no GRND_INSECURE, so fallback to /dev/urandom. */
++
++                break; /* Unexpected, so just give up and fallback to /dev/urandom. */
+         }
+ 
+         fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY);
diff --git a/poky/meta/recipes-core/udev/eudev_3.2.14.bb b/poky/meta/recipes-core/udev/eudev_3.2.14.bb
index 0e5610f..b3e7d09 100644
--- a/poky/meta/recipes-core/udev/eudev_3.2.14.bb
+++ b/poky/meta/recipes-core/udev/eudev_3.2.14.bb
@@ -13,6 +13,7 @@
            file://netifnames.patch \
            file://init \
            file://local.rules \
+           file://0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch \
            "
 
 SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f"
diff --git a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
index eb84a46..0cbae48 100644
--- a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -83,11 +83,11 @@
 
     MOUNT="$MOUNT -o silent"
 
-    # If filesystemtype is vfat, change the ownership group to 'disk', and
+    # If filesystemtype is vfat, change the ownership group to mount group, and
     # grant it with  w/r/x permissions.
     case $ID_FS_TYPE in
     vfat|fat)
-        MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
+        MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^@MOUNT_GROUP@:/{print $3}' /etc/group`"
         ;;
     swap)
         return ;;
@@ -138,11 +138,11 @@
 		MOUNT="$MOUNT -o silent"
 	fi
 
-	# If filesystem type is vfat, change the ownership group to 'disk', and
+	# If filesystem type is vfat, change the ownership group to mount group, and
 	# grant it with  w/r/x permissions.
 	case $ID_FS_TYPE in
 	vfat|fat)
-		MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
+		MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^@MOUNT_GROUP@:/{print $3}' /etc/group`"
 		;;
 	swap)
 		return ;;
diff --git a/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb b/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb
index 0e2abcd..0d7e4f4 100644
--- a/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb
+++ b/poky/meta/recipes-core/udev/udev-extraconf_1.1.bb
@@ -17,6 +17,7 @@
 UNPACKDIR = "${S}"
 
 MOUNT_BASE = "/run/media"
+MOUNT_GROUP ?= "disk"
 
 do_install() {
     install -d ${D}${sysconfdir}/udev/rules.d
@@ -31,9 +32,11 @@
     install -d ${D}${sysconfdir}/udev/scripts/
 
     install -m 0755 ${S}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
-    sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
-    sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
-    sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
+    sed -e 's|@systemd_unitdir@|${systemd_unitdir}|g' \
+        -e 's|@base_sbindir@|${base_sbindir}|g' \
+        -e 's|@MOUNT_BASE@|${MOUNT_BASE}|g' \
+        -e 's|@MOUNT_GROUP@|${MOUNT_GROUP}|g' \
+        -i ${D}${sysconfdir}/udev/scripts/mount.sh
 
     install -m 0755 ${S}/network.sh ${D}${sysconfdir}/udev/scripts
 }
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 1c06663..580ff48 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -6,7 +6,7 @@
 
 SECTION = "base"
 
-LICENSE = "GPL-1.0-or-later & GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
+LICENSE = "GPL-1.0-or-later & GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT"
 LICENSE:${PN}-fcntl-lock = "MIT"
 LICENSE:${PN}-fdisk = "GPL-1.0-or-later"
 LICENSE:${PN}-libblkid = "LGPL-2.1-or-later"
@@ -38,8 +38,10 @@
            file://display_testname_for_subtest.patch \
            file://avoid_parallel_tests.patch \
            file://fcntl-lock.c \
-           file://0001-Revert-autotools-make-pam-install-path-configurable.patch \
+           file://0001-autotools-fix-securedir-and-pam_lastlog2-install.patch \
            file://libfdisk-cfdisk-and-sfdisk-sector-size-improvements.patch \
            "
 
 SRC_URI[sha256sum] = "d78b37a66f5922d70edf3bdfb01a6b33d34ed3c3cafd6628203b2a2b67c8e8b3"
+
+CVE_PRODUCT = "util-linux"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/0001-Revert-autotools-make-pam-install-path-configurable.patch b/poky/meta/recipes-core/util-linux/util-linux/0001-Revert-autotools-make-pam-install-path-configurable.patch
deleted file mode 100644
index e9f01fd..0000000
--- a/poky/meta/recipes-core/util-linux/util-linux/0001-Revert-autotools-make-pam-install-path-configurable.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From af5b58cb77fc8e2e2e2f26aadef4b773b950eafc Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 21 Aug 2024 07:50:57 -0700
-Subject: [PATCH] Revert "autotools: make pam install path configurable"
-
-This reverts commit 0539b1ebd26f6a168b822374d7b167f8ef4a1997.
-
-If people want to use /lib instead of /usr/lib as $(libdir) and want
-lastlog2 pam module installed in /lib/security, there's no way to do so.
-
-Beside, we have:
-pam_lastlog2/meson.build:        pamlibdir = get_option('libdir') / 'security'
-
-So things are not in sync between Makemodule.am and meson.build with
-the original commit.
-
-Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3173]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- Makefile.am                    | 1 -
- configure.ac                   | 3 ---
- pam_lastlog2/src/Makemodule.am | 3 ++-
- 3 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 54e0fd497..3f801c686 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -56,7 +56,6 @@ usrsbin_exec_PROGRAMS =
- man_MANS =
- pkgconfig_DATA =
- usrlib_exec_LTLIBRARIES =
--usrsecurelib_exec_LTLIBRARIES =
- bin_PROGRAMS =
- sbin_PROGRAMS =
- dist_usrbin_exec_SCRIPTS =
-diff --git a/configure.ac b/configure.ac
-index 82d0e4bf9..35a70aba4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -120,9 +120,6 @@ AS_CASE([$libdir],
- )
- AC_SUBST([usrlib_execdir])
- 
--usrsecurelib_execdir='${usrlib_execdir}/security'
--AC_SUBST([usrsecurelib_execdir])
--
- # static configuration maintaned by packages (e.g. /usr/lib)
- AC_ARG_VAR([SYSCONFSTATICDIR],
- 	   [Path to static system configuration, default ${prefix}/lib])
-diff --git a/pam_lastlog2/src/Makemodule.am b/pam_lastlog2/src/Makemodule.am
-index 6d2365378..f9a9b6b41 100644
---- a/pam_lastlog2/src/Makemodule.am
-+++ b/pam_lastlog2/src/Makemodule.am
-@@ -1,4 +1,5 @@
--usrsecurelib_exec_LTLIBRARIES += pam_lastlog2.la
-+securelibdir = $(libdir)/security
-+securelib_LTLIBRARIES = pam_lastlog2.la
- 
- pam_lastlog2_la_SOURCES = \
- 	pam_lastlog2/src/pam_lastlog2.c
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-core/util-linux/util-linux/0001-autotools-fix-securedir-and-pam_lastlog2-install.patch b/poky/meta/recipes-core/util-linux/util-linux/0001-autotools-fix-securedir-and-pam_lastlog2-install.patch
new file mode 100644
index 0000000..272e574
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/0001-autotools-fix-securedir-and-pam_lastlog2-install.patch
@@ -0,0 +1,82 @@
+From f912fb1bbb0ff5af2736d154347a3b9fc40476eb Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Tue, 27 Aug 2024 12:00:21 +0200
+Subject: [PATCH] autotools: fix securedir and pam_lastlog2 install
+
+Addresses: https://github.com/util-linux/util-linux/pull/3173
+Signed-off-by: Karel Zak <kzak@redhat.com>
+
+Upstream-Status: Backport
+[https://github.com/util-linux/util-linux/commit/9c787eaac43f5f01146f792b0239f587e4b81202]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ Makefile.am                    | 6 +++---
+ configure.ac                   | 6 +++---
+ pam_lastlog2/src/Makemodule.am | 2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ee2d553..a5dcaea 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -56,7 +56,7 @@ usrsbin_exec_PROGRAMS =
+ man_MANS =
+ pkgconfig_DATA =
+ usrlib_exec_LTLIBRARIES =
+-usrsecurelib_exec_LTLIBRARIES =
++securelib_exec_LTLIBRARIES =
+ bin_PROGRAMS =
+ sbin_PROGRAMS =
+ dist_usrbin_exec_SCRIPTS =
+@@ -155,11 +155,11 @@ EXTRA_DIST += \
+ # pylibmountexec module must be installed after usrlib_exec libraries,
+ # otherwise the libtool relink step will fail to find libmount.la and
+ # will try -lmount which is possibly not available.
+-# The same for usrsecurelib_exec and liblastlog2.la
++# The same for securelib_exec and liblastlog2.la
+ #
+ # So introduce this dependency rule:
+ # install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
+-# install-usrsecurelib_execLTLIBRARIES: install-usrlib_execLTLIBRARIES
++# install-securelib_execLTLIBRARIES: install-usrlib_execLTLIBRARIES
+ @verbatim_extra_dependency@
+ 
+ #
+diff --git a/configure.ac b/configure.ac
+index 0375d29..134cf38 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -123,8 +123,8 @@ AS_CASE([$libdir],
+ )
+ AC_SUBST([usrlib_execdir])
+ 
+-usrsecurelib_execdir='${usrlib_execdir}/security'
+-AC_SUBST([usrsecurelib_execdir])
++securelib_execdir='${libdir}/security'
++AC_SUBST([securelib_execdir])
+ 
+ # static configuration maintaned by packages (e.g. /usr/lib)
+ AC_ARG_VAR([SYSCONFSTATICDIR],
+@@ -2767,7 +2767,7 @@ verbatim_extra_dependency='
+ # otherwise the libtool relink step will fail to find libmount.la and
+ # will try -lmount which is possibly not available.
+ install-pylibmountexecLTLIBRARIES: install-usrlib_execLTLIBRARIES
+-install-usrsecurelib_execLTLIBRARIES: install-usrlib_execLTLIBRARIES
++install-securelib_execLTLIBRARIES: install-usrlib_execLTLIBRARIES
+ 
+ '
+ AC_SUBST([verbatim_extra_dependency])
+diff --git a/pam_lastlog2/src/Makemodule.am b/pam_lastlog2/src/Makemodule.am
+index 6d23653..a2becac 100644
+--- a/pam_lastlog2/src/Makemodule.am
++++ b/pam_lastlog2/src/Makemodule.am
+@@ -1,4 +1,4 @@
+-usrsecurelib_exec_LTLIBRARIES += pam_lastlog2.la
++securelib_exec_LTLIBRARIES += pam_lastlog2.la
+ 
+ pam_lastlog2_la_SOURCES = \
+ 	pam_lastlog2/src/pam_lastlog2.c
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.40.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.40.2.bb
index 646bc05..81bd298 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.40.2.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.40.2.bb
@@ -59,7 +59,8 @@
 
 PACKAGESPLITFUNCS =+ "util_linux_libpackages"
 
-PACKAGES_DYNAMIC = "^${PN}-.*"
+PACKAGES_DYNAMIC = "^${PN}(?!.*-native)-.*"
+PACKAGES_DYNAMIC:class-native = "^${BPN}-.*-native"
 
 UTIL_LINUX_LIBDIR = "${libdir}"
 UTIL_LINUX_LIBDIR:class-target = "${base_libdir}"
@@ -129,7 +130,8 @@
 FILES:${PN}-su = "${sysconfdir}/pam.d/su-l"
 CONFFILES:${PN}-su = "${sysconfdir}/pam.d/su-l"
 FILES:${PN}-lastlog2 += "${base_libdir}/security/pam_lastlog2.so \
-                         ${nonarch_libdir}/tmpfiles.d/lastlog2.conf"
+                         ${nonarch_libdir}/tmpfiles.d/lastlog2.conf \
+                         ${sysconfdir}/default/volatiles/99_lastlog2"
 FILES:${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
                           ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
                           ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
@@ -222,6 +224,12 @@
 			install -m 0644 ${S}/misc-utils/lastlog2-tmpfiles.conf.in \
 				${D}${nonarch_libdir}/tmpfiles.d/lastlog2.conf
 		fi
+
+		if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+			install -d ${D}${sysconfdir}/default/volatiles
+			echo "d root root 0755 /var/lib/lastlog none" \
+				> ${D}${sysconfdir}/default/volatiles/99_lastlog2
+		fi
 	fi
 }
 # nologin causes a conflict with shadow-native
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.43.1.inc b/poky/meta/recipes-devtools/binutils/binutils-2.43.1.inc
index 4a8666b..daaae77 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.43.1.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.43.1.inc
@@ -1,4 +1,4 @@
-LIC_FILES_CHKSUM="\
+LIC_FILES_CHKSUM = "\
     file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552\
     file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674\
     file://COPYING3;md5=d32239bcb673463ab874e80d47fae504\
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
index 62ebb3f..c1fda1a 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
@@ -4,7 +4,7 @@
 PN = "binutils-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 BPN = "binutils"
 
-DEPENDS = "flex-native bison-native virtual/${HOST_PREFIX}gcc virtual/nativesdk-libc nativesdk-zlib nativesdk-gettext nativesdk-flex"
+DEPENDS = "flex-native bison-native virtual/nativesdk-cross-cc virtual/nativesdk-libc nativesdk-zlib nativesdk-gettext nativesdk-flex"
 EXTRA_OECONF += "--with-sysroot=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS} \
                 --enable-poison-system-directories \
                 "
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross.inc b/poky/meta/recipes-devtools/binutils/binutils-cross.inc
index 835d4fa..9c371e7 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross.inc
@@ -1,5 +1,4 @@
 inherit cross
-PROVIDES = "virtual/${TARGET_PREFIX}binutils"
 
 PN = "binutils-cross-${TARGET_ARCH}"
 BPN = "binutils"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-testsuite_2.43.1.bb b/poky/meta/recipes-devtools/binutils/binutils-testsuite_2.43.1.bb
index f2facd5..e5e159b 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-testsuite_2.43.1.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-testsuite_2.43.1.bb
@@ -21,9 +21,9 @@
 }
 
 # target depends
-DEPENDS += "virtual/${TARGET_PREFIX}binutils"
-DEPENDS += "virtual/${TARGET_PREFIX}gcc"
-DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs"
+DEPENDS += "virtual/cross-binutils"
+DEPENDS += "virtual/cross-cc"
+DEPENDS += "virtual/${MLPREFIX}compilerlibs"
 DEPENDS += "virtual/${MLPREFIX}libc"
 
 python check_prepare() {
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.31.0.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.31.4.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.31.0.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.31.4.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index d32e208..f1410a2 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -20,7 +20,7 @@
            file://0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch \
            "
 
-SRC_URI[sha256sum] = "300b71db6d69dcc1ab7c5aae61cbc1aa2778a3e00cbd918bc720203e311468c3"
+SRC_URI[sha256sum] = "a6130bfe75f5ba5c73e672e34359f7c0a1931521957e8393a5c2922c8b0f7f25"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch
index 57d5f08..cf00964 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch
@@ -1,4 +1,4 @@
-From 29046e1308bec72cc21b0b00e979906f5a1fb63f Mon Sep 17 00:00:00 2001
+From 969b2d07ad955fdc117bf2ea30305a5b2e74ea76 Mon Sep 17 00:00:00 2001
 From: Philip Lorenz <philip.lorenz@bmw.de>
 Date: Mon, 3 Jun 2024 13:19:24 +0200
 Subject: [PATCH] CMakeDetermineCompilerABI: Strip -pipe from compile flags
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch
index 87efbd9..a01e3fe 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch
@@ -1,4 +1,4 @@
-From 80655318696091d27d131e8c4a48140e37e73366 Mon Sep 17 00:00:00 2001
+From 8faeaefaf00f8d443511077b82624a8bd19cf725 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Wed, 28 Dec 2022 17:51:27 +0800
 Subject: [PATCH] CMakeLists.txt: disable USE_NGHTTP2
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch b/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch
index 9071d0f..95ae910 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch
@@ -1,4 +1,4 @@
-From 2b8f6d4a5fddb5212ce07f0c61f5a3edbf5187d4 Mon Sep 17 00:00:00 2001
+From c0ca5859788189a81c53face2ab5eaeadc1236b4 Mon Sep 17 00:00:00 2001
 From: Otavio Salvador <otavio@ossystems.com.br>
 Date: Thu, 5 Jul 2018 10:28:04 -0300
 Subject: [PATCH] Disable use of ext2fs/ext2_fs.h by cmake's internal
@@ -18,7 +18,7 @@
  1 file changed, 2 insertions(+), 6 deletions(-)
 
 diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
-index feeaa3b7..c301fb25 100644
+index 4e4b49c1..50e9a733 100644
 --- a/Utilities/cmlibarchive/CMakeLists.txt
 +++ b/Utilities/cmlibarchive/CMakeLists.txt
 @@ -745,12 +745,8 @@ LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.31.0.bb b/poky/meta/recipes-devtools/cmake/cmake_3.31.4.bb
similarity index 98%
rename from poky/meta/recipes-devtools/cmake/cmake_3.31.0.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.31.4.bb
index 9146fa8..7d8b8ca 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.31.0.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.31.4.bb
@@ -33,7 +33,7 @@
     d.setVar("docdir_stripped", docdir_stripped)
 }
 
-EXTRA_OECMAKE=" \
+EXTRA_OECMAKE = " \
     -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \
     -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
     -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
diff --git a/poky/meta/recipes-devtools/debugedit/debugedit_5.1.bb b/poky/meta/recipes-devtools/debugedit/debugedit_5.1.bb
index 5dc103f..00c4047 100644
--- a/poky/meta/recipes-devtools/debugedit/debugedit_5.1.bb
+++ b/poky/meta/recipes-devtools/debugedit/debugedit_5.1.bb
@@ -21,8 +21,11 @@
 DEPENDS = "elfutils xxhash"
 DEPENDS:append:libc-musl = " musl-legacy-error"
 
-inherit pkgconfig autotools
+inherit pkgconfig autotools multilib_script
 
 RDEPENDS:${PN} += "bash elfutils-binutils"
 
 BBCLASSEXTEND = "native nativesdk"
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/find-debuginfo"
+
diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.2.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.4.bb
similarity index 93%
rename from poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.2.bb
rename to poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.4.bb
index 4d8689f8..ba06e70 100644
--- a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.2.bb
+++ b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.8.4.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=73001d804ea1e3d84365f652242cca20"
 HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README"
 
-SRCREV = "8bedd862edfbb9a5e54dd37abede29020dd8fdfb"
+SRCREV = "b4b93c26c7e8e771af93627f02791818e7c78f6c"
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master;protocol=https"
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
diff --git a/poky/meta/recipes-devtools/expect/expect/0001-Replace-tclsh-with-tclsh8-in-the-scripts-used-in-the.patch b/poky/meta/recipes-devtools/expect/expect/0001-Replace-tclsh-with-tclsh8-in-the-scripts-used-in-the.patch
new file mode 100644
index 0000000..edc511d
--- /dev/null
+++ b/poky/meta/recipes-devtools/expect/expect/0001-Replace-tclsh-with-tclsh8-in-the-scripts-used-in-the.patch
@@ -0,0 +1,474 @@
+From d6118fde9c8a7c49f042bc9dc434f56910c23d9c Mon Sep 17 00:00:00 2001
+From: Jiaying Song <jiaying.song.cn@windriver.com>
+Date: Wed, 25 Dec 2024 13:35:59 +0800
+Subject: [PATCH] Replace tclsh with tclsh8 in the scripts used in the Expect
+ package
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+As can be seen from the following, since Expect uses tcl8, it is necessary to
+change tclsh to tclsh8 in the related scripts, otherwise they will not execute.
+
+pkgIndex.tcl :
+if {![package vsatisfies [package provide Tcl] 8.6]} {return}
+package ifneeded Expect 5.45.4 \
+    [list load [file join /usr/lib64 libexpect5.45.4.so]]
+
+Upstream-Status: Inactive-Upstream
+
+Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
+---
+ example/archie        | 2 +-
+ example/autoexpect    | 2 +-
+ example/autopasswd    | 2 +-
+ example/chess.exp     | 2 +-
+ example/cryptdir      | 2 +-
+ example/decryptdir    | 2 +-
+ example/dislocate     | 2 +-
+ example/dvorak        | 2 +-
+ example/ftp-inband    | 2 +-
+ example/ftp-rfc       | 2 +-
+ example/gethostbyaddr | 2 +-
+ example/kibitz        | 2 +-
+ example/lpunlock      | 2 +-
+ example/mkpasswd      | 2 +-
+ example/multixterm    | 2 +-
+ example/passmass      | 2 +-
+ example/read1char     | 2 +-
+ example/rftp          | 2 +-
+ example/rlogin-cwd    | 2 +-
+ example/robohunt      | 2 +-
+ example/rogue.exp     | 2 +-
+ example/telnet-cwd    | 2 +-
+ example/timed-read    | 2 +-
+ example/timed-run     | 2 +-
+ example/tknewsbiff    | 2 +-
+ example/tkpasswd      | 2 +-
+ example/tkterm        | 2 +-
+ example/unbuffer      | 2 +-
+ example/virterm       | 2 +-
+ example/weather       | 2 +-
+ example/xkibitz       | 2 +-
+ example/xpstat        | 2 +-
+ 32 files changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/example/archie b/example/archie
+index 0d5f43f..0e8d11e 100755
+--- a/example/archie
++++ b/example/archie
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/autoexpect b/example/autoexpect
+index 35e57ce..e5ea626 100755
+--- a/example/autoexpect
++++ b/example/autoexpect
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/autopasswd b/example/autopasswd
+index 1d095e2..b87dcd4 100755
+--- a/example/autopasswd
++++ b/example/autopasswd
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/chess.exp b/example/chess.exp
+index 7cbd8ff..450dd20 100755
+--- a/example/chess.exp
++++ b/example/chess.exp
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/cryptdir b/example/cryptdir
+index 84a155b..c7bfc02 100755
+--- a/example/cryptdir
++++ b/example/cryptdir
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/decryptdir b/example/decryptdir
+index 84a155b..c7bfc02 100755
+--- a/example/decryptdir
++++ b/example/decryptdir
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/dislocate b/example/dislocate
+index 9d34180..b366933 100755
+--- a/example/dislocate
++++ b/example/dislocate
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/dvorak b/example/dvorak
+index b5debc3..3789938 100755
+--- a/example/dvorak
++++ b/example/dvorak
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/ftp-inband b/example/ftp-inband
+index 5a28302..d3392f4 100755
+--- a/example/ftp-inband
++++ b/example/ftp-inband
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/ftp-rfc b/example/ftp-rfc
+index 4153b24..f02b3dc 100755
+--- a/example/ftp-rfc
++++ b/example/ftp-rfc
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/gethostbyaddr b/example/gethostbyaddr
+index 513a330..803b667 100755
+--- a/example/gethostbyaddr
++++ b/example/gethostbyaddr
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/kibitz b/example/kibitz
+index eacb139..7c73bf9 100755
+--- a/example/kibitz
++++ b/example/kibitz
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/lpunlock b/example/lpunlock
+index 2b7ea24..e42224b 100755
+--- a/example/lpunlock
++++ b/example/lpunlock
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/mkpasswd b/example/mkpasswd
+index 6016b56..c3e97f4 100755
+--- a/example/mkpasswd
++++ b/example/mkpasswd
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/multixterm b/example/multixterm
+index d0abfe7..82d6651 100755
+--- a/example/multixterm
++++ b/example/multixterm
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/passmass b/example/passmass
+index e3c18e6..8f396d3 100755
+--- a/example/passmass
++++ b/example/passmass
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/read1char b/example/read1char
+index 43a3df8..5f947fd 100644
+--- a/example/read1char
++++ b/example/read1char
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/rftp b/example/rftp
+index c5db679..ebbf4c5 100755
+--- a/example/rftp
++++ b/example/rftp
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/rlogin-cwd b/example/rlogin-cwd
+index b217373..80863e7 100755
+--- a/example/rlogin-cwd
++++ b/example/rlogin-cwd
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/robohunt b/example/robohunt
+index 853ce1e..0d70c87 100755
+--- a/example/robohunt
++++ b/example/robohunt
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/rogue.exp b/example/rogue.exp
+index 083acdf..fb6f9ca 100755
+--- a/example/rogue.exp
++++ b/example/rogue.exp
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/telnet-cwd b/example/telnet-cwd
+index bd16048..fa520f1 100755
+--- a/example/telnet-cwd
++++ b/example/telnet-cwd
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/timed-read b/example/timed-read
+index 8e63f0f..0a4ee7d 100755
+--- a/example/timed-read
++++ b/example/timed-read
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/timed-run b/example/timed-run
+index 80def48..a0a36ba 100755
+--- a/example/timed-run
++++ b/example/timed-run
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/tknewsbiff b/example/tknewsbiff
+index 9a2da4b..8d9db19 100755
+--- a/example/tknewsbiff
++++ b/example/tknewsbiff
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ package require Tk
+diff --git a/example/tkpasswd b/example/tkpasswd
+index 376c56a..cc4d816 100755
+--- a/example/tkpasswd
++++ b/example/tkpasswd
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ package require Tk
+diff --git a/example/tkterm b/example/tkterm
+index 16ee972..6c85c63 100755
+--- a/example/tkterm
++++ b/example/tkterm
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ package require Tk
+diff --git a/example/unbuffer b/example/unbuffer
+index ad5db7b..f6e42fd 100755
+--- a/example/unbuffer
++++ b/example/unbuffer
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/virterm b/example/virterm
+index bab254b..911c5bc 100755
+--- a/example/virterm
++++ b/example/virterm
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/weather b/example/weather
+index 4bd0e1b..8146359 100755
+--- a/example/weather
++++ b/example/weather
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/xkibitz b/example/xkibitz
+index b61a22f..5718976 100755
+--- a/example/xkibitz
++++ b/example/xkibitz
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+diff --git a/example/xpstat b/example/xpstat
+index ebbfbcf..067d57e 100755
+--- a/example/xpstat
++++ b/example/xpstat
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # -*- tcl -*-
+ # The next line is executed by /bin/sh, but not tcl \
+-exec tclsh "$0" ${1+"$@"}
++exec tclsh8 "$0" ${1+"$@"}
+ 
+ package require Expect
+ 
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
index 3d50a8f..65f717c 100644
--- a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
+++ b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
@@ -30,6 +30,7 @@
            file://expect-configure-c99.patch \
            file://tcl840.patch \
            file://run-ptest \
+           file://0001-Replace-tclsh-with-tclsh8-in-the-scripts-used-in-the.patch \
            "
 SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
 SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34"
@@ -39,12 +40,12 @@
 
 S = "${WORKDIR}/${BPN}${PV}"
 
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
 do_install:append() {
-	install -d ${D}${libdir}
-        install -m 0755 ${D}${libdir}/expect${PV}/libexpect*.so   ${D}${libdir}/
-        install -m 0755 ${S}/fixline1           ${D}${libdir}/expect${PV}/
-        rm ${D}${libdir}/expect${PV}/libexpect*.so
-        sed -e 's|$dir|${libdir}|' -i ${D}${libdir}/expect${PV}/pkgIndex.tcl
+    mv ${D}${libdir}/expect${PV}/libexpect*.so ${D}${libdir}/
+    install -m 0755 ${S}/fixline1 ${D}${libdir}/expect${PV}/
+    sed -e 's|$dir|${libdir}|' -i ${D}${libdir}/expect${PV}/pkgIndex.tcl
 }
 
 do_install_ptest() {
@@ -63,7 +64,6 @@
                  --disable-rpath \
                  ${TCL_INCLUDE_PATH} \
                 "
-EXTRA_OEMAKE_install = " 'SCRIPTS=' "
 
 ALTERNATIVE:${PN}  = "mkpasswd"
 ALTERNATIVE_LINK_NAME[mkpasswd] = "${bindir}/mkpasswd"
diff --git a/poky/meta/recipes-devtools/file/file_5.45.bb b/poky/meta/recipes-devtools/file/file_5.46.bb
similarity index 90%
rename from poky/meta/recipes-devtools/file/file_5.45.bb
rename to poky/meta/recipes-devtools/file/file_5.46.bb
index fa8dc57..e97fac9 100644
--- a/poky/meta/recipes-devtools/file/file_5.45.bb
+++ b/poky/meta/recipes-devtools/file/file_5.46.bb
@@ -12,10 +12,11 @@
 DEPENDS:class-native = "bzip2-replacement-native"
 
 SRC_URI = "git://github.com/file/file.git;branch=master;protocol=https \
-           file://print_c.patch \
-          "
+           file://0001-Use-4-in-default-reset-previous-negative-offset-in-m.patch \
+           file://0001-PR-579-net147-Fix-stack-overrun.patch \
+           "
 
-SRCREV = "4cbd5c8f0851201d203755b76cb66ba991ffd8be"
+SRCREV = "c5aa4f7f8d5063fb3c37ad57bf54bb67ec641a09"
 S = "${WORKDIR}/git"
 
 inherit autotools update-alternatives
diff --git a/poky/meta/recipes-devtools/file/files/0001-PR-579-net147-Fix-stack-overrun.patch b/poky/meta/recipes-devtools/file/files/0001-PR-579-net147-Fix-stack-overrun.patch
new file mode 100644
index 0000000..57725b1
--- /dev/null
+++ b/poky/meta/recipes-devtools/file/files/0001-PR-579-net147-Fix-stack-overrun.patch
@@ -0,0 +1,33 @@
+From fc6b51aa67a11806c95363e1bec925d15b3a98a5 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Thu, 5 Dec 2024 18:35:40 +0000
+Subject: [PATCH] PR/579: net147: Fix stack overrun.
+
+Upstream-Status: Backport [https://github.com/file/file/commit/b3384a1fbfa1fee99986e5750ab8e700de4f24ad]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/readelf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/readelf.c b/src/readelf.c
+index fe4cf541..d209d86d 100644
+--- a/src/readelf.c
++++ b/src/readelf.c
+@@ -27,7 +27,7 @@
+ #include "file.h"
+ 
+ #ifndef lint
+-FILE_RCSID("@(#)$File: readelf.c,v 1.196 2024/11/11 15:49:11 christos Exp $")
++FILE_RCSID("@(#)$File: readelf.c,v 1.197 2024/12/05 18:35:40 christos Exp $")
+ #endif
+ 
+ #ifdef BUILTIN_ELF
+@@ -1726,7 +1726,7 @@ dophn_exec(struct magic_set *ms, int clazz, int swap, int fd, off_t off,
+ 	Elf64_Phdr ph64;
+ 	const char *linking_style;
+ 	unsigned char nbuf[NBUFSIZE];
+-	char interp[128];
++	char interp[NBUFSIZE];
+ 	ssize_t bufsize;
+ 	size_t offset, align, need = 0;
+ 	int pie = 0, dynamic = 0;
diff --git a/poky/meta/recipes-devtools/file/files/0001-Use-4-in-default-reset-previous-negative-offset-in-m.patch b/poky/meta/recipes-devtools/file/files/0001-Use-4-in-default-reset-previous-negative-offset-in-m.patch
new file mode 100644
index 0000000..7601e6de
--- /dev/null
+++ b/poky/meta/recipes-devtools/file/files/0001-Use-4-in-default-reset-previous-negative-offset-in-m.patch
@@ -0,0 +1,93 @@
+From b310a0c2d3e4a1c12d579ad5c0266f1092a91340 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Wed, 27 Nov 2024 15:37:46 +0000
+Subject: [PATCH] Use +4 in default reset previous negative offset in magic in
+ zip entry
+
+Upstream-Status: Backport [https://github.com/file/file/commit/b310a0c2d3e4a1c12d579ad5c0266f1092a91340]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ magic/Magdir/archive | 50 +++++++++++++++++++++++---------------------
+ 1 file changed, 26 insertions(+), 24 deletions(-)
+
+diff --git a/magic/Magdir/archive b/magic/Magdir/archive
+index c8f440dc..b920f993 100644
+--- a/magic/Magdir/archive
++++ b/magic/Magdir/archive
+@@ -1,5 +1,5 @@
+ #------------------------------------------------------------------------------
+-# $File: archive,v 1.206 2024/11/26 19:39:14 christos Exp $
++# $File: archive,v 1.207 2024/11/27 15:37:46 christos Exp $
+ # archive:  file(1) magic for archive formats (see also "msdos" for self-
+ #           extracting compressed archives)
+ #
+@@ -1875,15 +1875,6 @@
+ >>>>>-22	string	PK\005\006
+ >>>>>>(-6.l-16)	string	APK\x20Sig\x20Block\x2042	\b, with APK Signing Block
+ 
+-# Keyman Compiled Package File (keyman.com)
+-# https://help.keyman.com/developer/current-version/reference/file-types/kmp
+-# Find start of central directory
+->>>(-6.l)	string		PK\001\002
+-# Scan central directory for string 'kmp.json', will suffice for a
+-# package containing about 150 files
+->>>>(-6.l)	search/9000	kmp.json	Keyman Compiled Package File
+-!:mime	application/vnd.keyman.kmp+zip
+-!:ext kmp
+ 
+ # Specialised zip formats which start with a member named 'mimetype'
+ # (stored uncompressed, with no 'extra field') containing the file's MIME type.
+@@ -2123,25 +2114,36 @@
+ #>30	search/100/b application/epub+zip	EPUB document
+ #!:mime application/epub+zip
+ 
+-# Generic zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
+-#   Next line excludes specialized formats:
++# APK Signing Block
+ >(26.s+30)	leshort	!0xcafe
+ >>30	search/100/b !application/epub+zip
+->>>26    string          !\x8\0\0\0mimetype	Zip archive data
+-!:mime	application/zip
+->>>>4	beshort		x			\b, at least
+->>>>4	use		zipversion
+->>>>4	beshort		x			to extract
+->>>>8	beshort		x			\b, compression method=
+->>>>8	use		zipcompression
+->>>>0x161	string		WINZIP		\b, WinZIP self-extracting
+-# APK Signing Block
+->0	default	x
+->>-22	string	PK\005\006
+->>>(-6.l-16)	string	APK\x20Sig\x20Block\x2042	Android package (APK), with APK Signing Block
++>>>26    string          !\x8\0\0\0mimetype
++>>>>-22	string	PK\005\006
++>>>>>(-6.l-16)	string	APK\x20Sig\x20Block\x2042	Android package (APK), with APK Signing Block
+ !:mime	application/vnd.android.package-archive
+ !:ext	apk
+ 
++# Keyman Compiled Package File (keyman.com)
++# https://help.keyman.com/developer/current-version/reference/file-types/kmp
++# Find start of central directory
++>>>>>(-6.l)	string		PK\001\002
++# Scan central directory for string 'kmp.json', will suffice for a
++# package containing about 150 files
++>>>>>>(-6.l)	search/9000	kmp.json	Keyman Compiled Package File
++!:mime	application/vnd.keyman.kmp+zip
++!:ext kmp
++
++# Generic zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
++#   Next line excludes specialized formats:
++>>>>+4	default		x
++>>>>>4	beshort		x			Zip archive data, at least
++!:mime	application/zip
++>>>>>4	use		zipversion
++>>>>>4	beshort		x			to extract
++>>>>>8	beshort		x			\b, compression method=
++>>>>>8	use		zipcompression
++>>>>>0x161	string		WINZIP		\b, WinZIP self-extracting
++
+ # Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
+ 0	string		PK\005\006	Zip archive data (empty)
+ !:mime application/zip
+-- 
+2.39.5
+
diff --git a/poky/meta/recipes-devtools/file/files/print_c.patch b/poky/meta/recipes-devtools/file/files/print_c.patch
deleted file mode 100644
index 760813f..0000000
--- a/poky/meta/recipes-devtools/file/files/print_c.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e329257b8e22362b62e6c930447ef6feadd63f32 Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Mon, 7 Aug 2023 22:37:19 +0000
-Subject: [PATCH] print.c: initialize timezone data for localtime_r()
-
-The man page for localtime() points out that while it acts
-like tzset() has been called, localtime_r() might not.  We
-have a local version of localtime_r() that avoids this, but
-we do not compile it.
-
-Upstream-Status: Submitted [file@astron.com]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- src/print.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- git.orig/src/print.c
-+++ git/src/print.c
-@@ -289,6 +289,7 @@ file_fmtdatetime(char *buf, size_t bsize
- 		goto out;
- 
- 	if (flags & FILE_T_LOCAL) {
-+		tzset();
- 		tm = localtime_r(&t, &tmz);
- 	} else {
- 		tm = gmtime_r(&t, &tmz);
diff --git a/poky/meta/recipes-devtools/fmt/files/fix-gcc9.patch b/poky/meta/recipes-devtools/fmt/files/fix-gcc9.patch
new file mode 100644
index 0000000..1d67f70
--- /dev/null
+++ b/poky/meta/recipes-devtools/fmt/files/fix-gcc9.patch
@@ -0,0 +1,26 @@
+From 5f0572acdca120e11f6d810765d7a6a3c593fcbb Mon Sep 17 00:00:00 2001
+From: Victor Zverovich <viz@meta.com>
+Date: Sat, 18 Jan 2025 09:00:22 -0800
+Subject: [PATCH] Workaround a compilation error on gcc 9.4
+
+Upstream-Status: Backport [5f0572acdca120e11f6d810765d7a6a3c593fcbb]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ include/fmt/format.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/include/fmt/format.h b/include/fmt/format.h
+index 9cd523a9e6a5..4466b4f4d24b 100644
+--- a/include/fmt/format.h
++++ b/include/fmt/format.h
+@@ -227,7 +227,9 @@ FMT_CONSTEXPR inline void abort_fuzzing_if(bool condition) {
+ #if defined(FMT_USE_STRING_VIEW)
+ template <typename Char> using std_string_view = std::basic_string_view<Char>;
+ #else
+-template <typename T> struct std_string_view {};
++template <typename Char> struct std_string_view {
++  operator basic_string_view<Char>() const;
++};
+ #endif
+ 
+ template <typename Char, Char... C> struct string_literal {
diff --git a/poky/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch b/poky/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch
deleted file mode 100644
index 1b495ea..0000000
--- a/poky/meta/recipes-devtools/fmt/fmt/0001-Get-rid-of-std-copy.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 6e462b89aa22fd5f737ed162d0150e145ccb1914 Mon Sep 17 00:00:00 2001
-From: Victor Zverovich <viz@meta.com>
-Date: Mon, 29 Jul 2024 15:58:05 -0700
-Subject: [PATCH] Get rid of std::copy
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://github.com/fmtlib/fmt/commit/6e462b89aa22fd5f737ed162d0150e145ccb1914]
----
- include/fmt/color.h | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/include/fmt/color.h b/include/fmt/color.h
-index f0e9dd94..231d93c8 100644
---- a/include/fmt/color.h
-+++ b/include/fmt/color.h
-@@ -560,31 +560,30 @@ struct formatter<detail::styled_arg<T>, Char> : formatter<T, Char> {
-   auto format(const detail::styled_arg<T>& arg, FormatContext& ctx) const
-       -> decltype(ctx.out()) {
-     const auto& ts = arg.style;
--    const auto& value = arg.value;
-     auto out = ctx.out();
- 
-     bool has_style = false;
-     if (ts.has_emphasis()) {
-       has_style = true;
-       auto emphasis = detail::make_emphasis<Char>(ts.get_emphasis());
--      out = std::copy(emphasis.begin(), emphasis.end(), out);
-+      out = detail::copy<Char>(emphasis.begin(), emphasis.end(), out);
-     }
-     if (ts.has_foreground()) {
-       has_style = true;
-       auto foreground =
-           detail::make_foreground_color<Char>(ts.get_foreground());
--      out = std::copy(foreground.begin(), foreground.end(), out);
-+      out = detail::copy<Char>(foreground.begin(), foreground.end(), out);
-     }
-     if (ts.has_background()) {
-       has_style = true;
-       auto background =
-           detail::make_background_color<Char>(ts.get_background());
--      out = std::copy(background.begin(), background.end(), out);
-+      out = detail::copy<Char>(background.begin(), background.end(), out);
-     }
--    out = formatter<T, Char>::format(value, ctx);
-+    out = formatter<T, Char>::format(arg.value, ctx);
-     if (has_style) {
-       auto reset_color = string_view("\x1b[0m");
--      out = std::copy(reset_color.begin(), reset_color.end(), out);
-+      out = detail::copy<Char>(reset_color.begin(), reset_color.end(), out);
-     }
-     return out;
-   }
diff --git a/poky/meta/recipes-devtools/fmt/fmt_11.0.2.bb b/poky/meta/recipes-devtools/fmt/fmt_11.1.1.bb
similarity index 80%
rename from poky/meta/recipes-devtools/fmt/fmt_11.0.2.bb
rename to poky/meta/recipes-devtools/fmt/fmt_11.1.1.bb
index 5c60921..cfacd81 100644
--- a/poky/meta/recipes-devtools/fmt/fmt_11.0.2.bb
+++ b/poky/meta/recipes-devtools/fmt/fmt_11.1.1.bb
@@ -5,9 +5,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b9257785fc4f3803a4b71b76c1412729"
 
 SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https \
-           file://0001-Get-rid-of-std-copy.patch \
-           "
-SRCREV = "0c9fce2ffefecfdce794e1859584e25877b7b592"
+           file://fix-gcc9.patch"
+SRCREV = "e3ddede6c4ee818825c4e5a6dfa1d384860c27d9"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-14.2.inc b/poky/meta/recipes-devtools/gcc/gcc-14.2.inc
index 932a279..3d65bed 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-14.2.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-14.2.inc
@@ -69,6 +69,7 @@
            file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
            file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \
 	   file://0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch \
+           file://0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch \
            file://gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch \
 "
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc
index 01de93c..de559eb 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc
@@ -11,7 +11,8 @@
 inherit autotools gettext texinfo
 
 BPN = "gcc"
-COMPILERDEP = "virtual/${TARGET_PREFIX}gcc:do_gcc_stash_builddir"
+COMPILERDEP = "${MLPREFIX}gcc-cross-${TARGET_ARCH}:do_gcc_stash_builddir"
+COMPILERDEP:class-nativesdk = "gcc-crosssdk-${SDK_SYS}:do_gcc_stash_builddir"
 
 python extract_stashed_builddir () {
     src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}")
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index bbe91ad..9b55ec2 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -3,7 +3,7 @@
 SUMMARY = "GNU cc and gcc C compilers (cross-canadian for ${TARGET_ARCH} target)"
 PN = "gcc-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils virtual/nativesdk-libc nativesdk-gettext flex-native virtual/libc"
+DEPENDS = "virtual/nativesdk-cross-cc virtual/cross-cc virtual/nativesdk-cross-binutils virtual/nativesdk-libc nativesdk-gettext flex-native virtual/libc"
 
 GCCMULTILIB = "--enable-multilib"
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index f85ccd5..7afdf58 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -2,8 +2,7 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 EXTRADEPENDS = ""
-DEPENDS = "virtual/${TARGET_PREFIX}binutils ${EXTRADEPENDS} ${NATIVEDEPS}"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+DEPENDS = "virtual/cross-binutils ${EXTRADEPENDS} ${NATIVEDEPS}"
 python () {
     if d.getVar("TARGET_OS").startswith("linux"):
         d.setVar("EXTRADEPENDS", "linux-libc-headers")
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc b/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
index 7eaad23..4397dd8 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk.inc
@@ -8,7 +8,7 @@
 
 GCCMULTILIB = "--disable-multilib"
 
-DEPENDS = "virtual/${TARGET_PREFIX}binutils gettext-native ${NATIVEDEPS}"
-PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+DEPENDS = "virtual/nativesdk-cross-binutils gettext-native ${NATIVEDEPS}"
+PROVIDES = "virtual/nativesdk-cross-cc virtual/nativesdk-cross-c++"
 
 gcc_multilib_setup[vardepsexclude] = "MULTILIB_VARIANTS"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index 7afe34e..291ace2 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -156,8 +156,9 @@
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc virtual/${MLPREFIX}libc"
-PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
+DEPENDS = "virtual/cross-cc virtual/cross-c++ ${MLPREFIX}libgcc virtual/${MLPREFIX}libc"
+DEPENDS:class-nativesdk = "virtual/nativesdk-cross-cc virtual/nativesdk-cross-c++ ${MLPREFIX}libgcc virtual/${MLPREFIX}libc"
+PROVIDES = "virtual/${MLPREFIX}compilerlibs"
 
 BBCLASSEXTEND = "nativesdk"
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 8c98e9c..6c81d30 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -11,6 +11,10 @@
     --with-build-sysroot=${STAGING_DIR_TARGET} \
 "
 
+# Workaround for this issue: https://github.com/llvm/llvm-project/issues/65144 on aarch64
+# compiler-rt/sanitizers/aarch64: CHECK failed: sanitizer_allocator_primary64.h:133
+CXXFLAGS:append:aarch64 = " -DSANITIZER_CAN_USE_ALLOCATOR64=0"
+
 do_configure () {
     rm -rf ${B}/${TARGET_SYS}/libsanitizer/
     mkdir -p ${B}/${TARGET_SYS}/libsanitizer/
@@ -48,7 +52,7 @@
 
 INHIBIT_DEFAULT_DEPS = "1"
 ALLOW_EMPTY:${PN} = "1"
-DEPENDS = "virtual/crypt gcc-runtime virtual/${TARGET_PREFIX}gcc"
+DEPENDS = "virtual/crypt gcc-runtime virtual/cross-cc"
 
 # used to fix ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: 'st.st_mode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
 DEBUG_OPTIMIZATION:append = " -Wno-error"
@@ -75,9 +79,9 @@
 RRECOMMENDS:${PN}:append:aarch64 = " liblsan libtsan"
 RRECOMMENDS:${PN}:append:riscv64 = " liblsan libtsan"
 
-do_package_write_ipk[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
-do_package_write_deb[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
-do_package_write_rpm[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
+do_package_write_ipk[depends] += "virtual/${MLPREFIX}compilerlibs:do_packagedata"
+do_package_write_deb[depends] += "virtual/${MLPREFIX}compilerlibs:do_packagedata"
+do_package_write_rpm[depends] += "virtual/${MLPREFIX}compilerlibs:do_packagedata"
 
 # Only x86, powerpc, sparc, s390, arm, aarch64 and loongarch64 are supported
 COMPATIBLE_HOST = '(x86_64|i.86|powerpc|sparc|s390|arm|aarch64|loongarch64|riscv64).*-linux'
diff --git a/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
index 0a950b6..3257f86 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
@@ -53,8 +53,8 @@
         #   - valid for x86*, powerpc, arm, arm64
         if qemu_binary.endswith(("x86_64", "i386", "arm", "aarch64")):
             args += ["-cpu", "max"]
-        elif qemu_binary.endswith(("ppc", "mips", "mips64")):
-            extra = d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH'))
+        else:
+            extra = d.getVar("QEMU_EXTRAOPTIONS:tune-%s" % d.getVar('TUNE_PKGARCH'))
             if extra:
                 args += extra.split()
         # For mips64 we could set a maximal CPU (e.g. Loongson-3A4000) however they either have MSA
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
index ca75d08..8523af1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
@@ -14,6 +14,7 @@
 Upstream-Status: Inappropriate [OE configuration]
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: sunil dora <sunilkumar.dora@windriver.com>
 ---
  gcc/common.opt      |  4 ++++
  gcc/config.in       | 10 ++++++++++
@@ -21,8 +22,8 @@
  gcc/configure.ac    | 16 ++++++++++++++++
  gcc/doc/invoke.texi |  9 +++++++++
  gcc/gcc.cc          |  9 +++++++--
- gcc/incpath.cc      | 21 +++++++++++++++++++++
- 7 files changed, 86 insertions(+), 2 deletions(-)
+ gcc/incpath.cc      | 25 +++++++++++++++++++++++++
+ 7 files changed, 90 insertions(+), 2 deletions(-)
 
 diff --git a/gcc/common.opt b/gcc/common.opt
 index ad348844775..df3992b420d 100644
@@ -159,10 +160,23 @@
  @opindex Wno-float-equal
  @item -Wfloat-equal
 diff --git a/gcc/gcc.cc b/gcc/gcc.cc
-index 728332b8153..343e4915097 100644
+index 728332b8153..a63f128cb95 100644
 --- a/gcc/gcc.cc
 +++ b/gcc/gcc.cc
-@@ -1159,6 +1159,8 @@ proper position among the other output files.  */
+@@ -902,6 +902,12 @@ proper position among the other output files.  */
+ #define ASM_MAP ""
+ #endif
+ 
++#ifdef POISON_BY_DEFAULT
++#define POISON_IS_ERROR " -Werror=poison-system-directories"
++#else
++#define POISON_IS_ERROR
++#endif
++
+ /* Assembler options for compressed debug sections.  */
+ #if HAVE_LD_COMPRESS_DEBUG == 0
+ /* Reject if the linker cannot write compressed debug sections.  */
+@@ -1159,6 +1163,8 @@ proper position among the other output files.  */
     "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
     "%X %{o*} %{e*} %{N} %{n} %{r}\
      %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
@@ -171,22 +185,26 @@
      %{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \
      VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
      %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
-@@ -1260,8 +1262,11 @@ static const char *cpp_unique_options =
- static const char *cpp_options =
+@@ -1261,7 +1267,7 @@ static const char *cpp_options =
  "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
   %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
-- %{!fno-working-directory:-fworking-directory}}} %{O*}\
+  %{!fno-working-directory:-fworking-directory}}} %{O*}\
 - %{undef} %{save-temps*:-fpch-preprocess}";
-+ %{!fno-working-directory:-fworking-directory}}} %{O*}"
-+#ifdef POISON_BY_DEFAULT
-+ " -Werror=poison-system-directories"
-+#endif
-+ " %{undef} %{save-temps*:-fpch-preprocess}";
++ %{undef} %{save-temps*:-fpch-preprocess}" POISON_IS_ERROR;
  
  /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
  
+@@ -1290,7 +1296,7 @@ static const char *cc1_options =
+  %{coverage:-fprofile-arcs -ftest-coverage}\
+  %{fprofile-arcs|fcondition-coverage|fprofile-generate*|coverage:\
+    %{!fprofile-update=single:\
+-     %{pthread:-fprofile-update=prefer-atomic}}}";
++     %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR;
+ 
+ static const char *asm_options =
+ "%{-target-help:%:print-asm-header()} "
 diff --git a/gcc/incpath.cc b/gcc/incpath.cc
-index 64cdd2f4a1b..e572d98ab17 100644
+index 64cdd2f4a..89f42900d 100644
 --- a/gcc/incpath.cc
 +++ b/gcc/incpath.cc
 @@ -26,6 +26,7 @@
@@ -197,7 +215,18 @@
  
  /* Microsoft Windows does not natively support inodes.
     VMS has non-numeric inodes.  */
-@@ -399,6 +400,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+@@ -273,6 +274,10 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head,
+			     cur->name, xstrerror (errno));
+	      reason = REASON_NOENT;
+	    }
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++	  pcur = &cur->next;
++	  continue;
++#endif
+	}
+       else if (!S_ISDIR (st.st_mode))
+	cpp_error_with_line (pfile, CPP_DL_WARNING, 0, 0,
+@@ -399,6 +404,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
  	}
        fprintf (stderr, _("End of search list.\n"));
      }
@@ -224,3 +253,5 @@
  }
  
  /* Use given -I paths for #include "..." but not #include <...>, and
+--
+2.34.1
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch b/poky/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch
new file mode 100644
index 0000000..5bede60
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch
@@ -0,0 +1,447 @@
+From 4e7735a8d87559bbddfe3a985786996e22241f8d Mon Sep 17 00:00:00 2001
+From: liuhongt <hongtao.liu@intel.com>
+Date: Mon, 12 Aug 2024 14:35:31 +0800
+Subject: [PATCH] Move ix86_align_loops into a separate pass and insert the
+ pass after pass_endbr_and_patchable_area.
+
+gcc/ChangeLog:
+
+	PR target/116174
+	* config/i386/i386.cc (ix86_align_loops): Move this to ..
+	* config/i386/i386-features.cc (ix86_align_loops): .. here.
+	(class pass_align_tight_loops): New class.
+	(make_pass_align_tight_loops): New function.
+	* config/i386/i386-passes.def: Insert pass_align_tight_loops
+	after pass_insert_endbr_and_patchable_area.
+	* config/i386/i386-protos.h (make_pass_align_tight_loops): New
+	declare.
+
+gcc/testsuite/ChangeLog:
+
+	* gcc.target/i386/pr116174.c: New test.
+
+(cherry picked from commit c3c83d22d212a35cb1bfb8727477819463f0dcd8)
+
+Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=4e7735a8d87559bbddfe3a985786996e22241f8d]
+
+Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
+---
+ gcc/config/i386/i386-features.cc         | 191 +++++++++++++++++++++++
+ gcc/config/i386/i386-passes.def          |   3 +
+ gcc/config/i386/i386-protos.h            |   1 +
+ gcc/config/i386/i386.cc                  | 146 -----------------
+ gcc/testsuite/gcc.target/i386/pr116174.c |  12 ++
+ 5 files changed, 207 insertions(+), 146 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/i386/pr116174.c
+
+diff --git a/gcc/config/i386/i386-features.cc b/gcc/config/i386/i386-features.cc
+index e3e004d55267..7de19d423637 100644
+--- a/gcc/config/i386/i386-features.cc
++++ b/gcc/config/i386/i386-features.cc
+@@ -3253,6 +3253,197 @@ make_pass_remove_partial_avx_dependency (gcc::context *ctxt)
+   return new pass_remove_partial_avx_dependency (ctxt);
+ }
+ 
++/* When a hot loop can be fit into one cacheline,
++   force align the loop without considering the max skip.  */
++static void
++ix86_align_loops ()
++{
++  basic_block bb;
++
++  /* Don't do this when we don't know cache line size.  */
++  if (ix86_cost->prefetch_block == 0)
++    return;
++
++  loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
++  profile_count count_threshold = cfun->cfg->count_max / param_align_threshold;
++  FOR_EACH_BB_FN (bb, cfun)
++    {
++      rtx_insn *label = BB_HEAD (bb);
++      bool has_fallthru = 0;
++      edge e;
++      edge_iterator ei;
++
++      if (!LABEL_P (label))
++	continue;
++
++      profile_count fallthru_count = profile_count::zero ();
++      profile_count branch_count = profile_count::zero ();
++
++      FOR_EACH_EDGE (e, ei, bb->preds)
++	{
++	  if (e->flags & EDGE_FALLTHRU)
++	    has_fallthru = 1, fallthru_count += e->count ();
++	  else
++	    branch_count += e->count ();
++	}
++
++      if (!fallthru_count.initialized_p () || !branch_count.initialized_p ())
++	continue;
++
++      if (bb->loop_father
++	  && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun)
++	  && (has_fallthru
++	      ? (!(single_succ_p (bb)
++		   && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun))
++		 && optimize_bb_for_speed_p (bb)
++		 && branch_count + fallthru_count > count_threshold
++		 && (branch_count > fallthru_count * param_align_loop_iterations))
++	      /* In case there'no fallthru for the loop.
++		 Nops inserted won't be executed.  */
++	      : (branch_count > count_threshold
++		 || (bb->count > bb->prev_bb->count * 10
++		     && (bb->prev_bb->count
++			 <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2)))))
++	{
++	  rtx_insn* insn, *end_insn;
++	  HOST_WIDE_INT size = 0;
++	  bool padding_p = true;
++	  basic_block tbb = bb;
++	  unsigned cond_branch_num = 0;
++	  bool detect_tight_loop_p = false;
++
++	  for (unsigned int i = 0; i != bb->loop_father->num_nodes;
++	       i++, tbb = tbb->next_bb)
++	    {
++	      /* Only handle continuous cfg layout. */
++	      if (bb->loop_father != tbb->loop_father)
++		{
++		  padding_p = false;
++		  break;
++		}
++
++	      FOR_BB_INSNS (tbb, insn)
++		{
++		  if (!NONDEBUG_INSN_P (insn))
++		    continue;
++		  size += ix86_min_insn_size (insn);
++
++		  /* We don't know size of inline asm.
++		     Don't align loop for call.  */
++		  if (asm_noperands (PATTERN (insn)) >= 0
++		      || CALL_P (insn))
++		    {
++		      size = -1;
++		      break;
++		    }
++		}
++
++	      if (size == -1 || size > ix86_cost->prefetch_block)
++		{
++		  padding_p = false;
++		  break;
++		}
++
++	      FOR_EACH_EDGE (e, ei, tbb->succs)
++		{
++		  /* It could be part of the loop.  */
++		  if (e->dest == bb)
++		    {
++		      detect_tight_loop_p = true;
++		      break;
++		    }
++		}
++
++	      if (detect_tight_loop_p)
++		break;
++
++	      end_insn = BB_END (tbb);
++	      if (JUMP_P (end_insn))
++		{
++		  /* For decoded icache:
++		     1. Up to two branches are allowed per Way.
++		     2. A non-conditional branch is the last micro-op in a Way.
++		  */
++		  if (onlyjump_p (end_insn)
++		      && (any_uncondjump_p (end_insn)
++			  || single_succ_p (tbb)))
++		    {
++		      padding_p = false;
++		      break;
++		    }
++		  else if (++cond_branch_num >= 2)
++		    {
++		      padding_p = false;
++		      break;
++		    }
++		}
++
++	    }
++
++	  if (padding_p && detect_tight_loop_p)
++	    {
++	      emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)),
++						    GEN_INT (0)), label);
++	      /* End of function.  */
++	      if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun))
++		break;
++	      /* Skip bb which already fits into one cacheline.  */
++	      bb = tbb;
++	    }
++	}
++    }
++
++  loop_optimizer_finalize ();
++  free_dominance_info (CDI_DOMINATORS);
++}
++
++namespace {
++
++const pass_data pass_data_align_tight_loops =
++{
++  RTL_PASS, /* type */
++  "align_tight_loops", /* name */
++  OPTGROUP_NONE, /* optinfo_flags */
++  TV_MACH_DEP, /* tv_id */
++  0, /* properties_required */
++  0, /* properties_provided */
++  0, /* properties_destroyed */
++  0, /* todo_flags_start */
++  0, /* todo_flags_finish */
++};
++
++class pass_align_tight_loops : public rtl_opt_pass
++{
++public:
++  pass_align_tight_loops (gcc::context *ctxt)
++    : rtl_opt_pass (pass_data_align_tight_loops, ctxt)
++  {}
++
++  /* opt_pass methods: */
++  bool gate (function *) final override
++    {
++      return optimize && optimize_function_for_speed_p (cfun);
++    }
++
++  unsigned int execute (function *) final override
++    {
++      timevar_push (TV_MACH_DEP);
++#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN
++      ix86_align_loops ();
++#endif
++      timevar_pop (TV_MACH_DEP);
++      return 0;
++    }
++}; // class pass_align_tight_loops
++
++} // anon namespace
++
++rtl_opt_pass *
++make_pass_align_tight_loops (gcc::context *ctxt)
++{
++  return new pass_align_tight_loops (ctxt);
++}
++
+ /* This compares the priority of target features in function DECL1
+    and DECL2.  It returns positive value if DECL1 is higher priority,
+    negative value if DECL2 is higher priority and 0 if they are the
+diff --git a/gcc/config/i386/i386-passes.def b/gcc/config/i386/i386-passes.def
+index 7d96766f7b96..e500f15c9971 100644
+--- a/gcc/config/i386/i386-passes.def
++++ b/gcc/config/i386/i386-passes.def
+@@ -31,5 +31,8 @@ along with GCC; see the file COPYING3.  If not see
+   INSERT_PASS_BEFORE (pass_cse2, 1, pass_stv, true /* timode_p */);
+ 
+   INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_endbr_and_patchable_area);
++  /* pass_align_tight_loops must be after pass_insert_endbr_and_patchable_area.
++     PR116174.  */
++  INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_align_tight_loops);
+ 
+   INSERT_PASS_AFTER (pass_combine, 1, pass_remove_partial_avx_dependency);
+diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
+index 46214a63974d..36c7b1aed42b 100644
+--- a/gcc/config/i386/i386-protos.h
++++ b/gcc/config/i386/i386-protos.h
+@@ -419,6 +419,7 @@ extern rtl_opt_pass *make_pass_insert_endbr_and_patchable_area
+   (gcc::context *);
+ extern rtl_opt_pass *make_pass_remove_partial_avx_dependency
+   (gcc::context *);
++extern rtl_opt_pass *make_pass_align_tight_loops (gcc::context *);
+ 
+ extern bool ix86_has_no_direct_extern_access;
+ 
+diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
+index 6f89891d3cb5..288c69467d62 100644
+--- a/gcc/config/i386/i386.cc
++++ b/gcc/config/i386/i386.cc
+@@ -23444,150 +23444,6 @@ ix86_split_stlf_stall_load ()
+     }
+ }
+ 
+-/* When a hot loop can be fit into one cacheline,
+-   force align the loop without considering the max skip.  */
+-static void
+-ix86_align_loops ()
+-{
+-  basic_block bb;
+-
+-  /* Don't do this when we don't know cache line size.  */
+-  if (ix86_cost->prefetch_block == 0)
+-    return;
+-
+-  loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
+-  profile_count count_threshold = cfun->cfg->count_max / param_align_threshold;
+-  FOR_EACH_BB_FN (bb, cfun)
+-    {
+-      rtx_insn *label = BB_HEAD (bb);
+-      bool has_fallthru = 0;
+-      edge e;
+-      edge_iterator ei;
+-
+-      if (!LABEL_P (label))
+-	continue;
+-
+-      profile_count fallthru_count = profile_count::zero ();
+-      profile_count branch_count = profile_count::zero ();
+-
+-      FOR_EACH_EDGE (e, ei, bb->preds)
+-	{
+-	  if (e->flags & EDGE_FALLTHRU)
+-	    has_fallthru = 1, fallthru_count += e->count ();
+-	  else
+-	    branch_count += e->count ();
+-	}
+-
+-      if (!fallthru_count.initialized_p () || !branch_count.initialized_p ())
+-	continue;
+-
+-      if (bb->loop_father
+-	  && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun)
+-	  && (has_fallthru
+-	      ? (!(single_succ_p (bb)
+-		   && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun))
+-		 && optimize_bb_for_speed_p (bb)
+-		 && branch_count + fallthru_count > count_threshold
+-		 && (branch_count > fallthru_count * param_align_loop_iterations))
+-	      /* In case there'no fallthru for the loop.
+-		 Nops inserted won't be executed.  */
+-	      : (branch_count > count_threshold
+-		 || (bb->count > bb->prev_bb->count * 10
+-		     && (bb->prev_bb->count
+-			 <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2)))))
+-	{
+-	  rtx_insn* insn, *end_insn;
+-	  HOST_WIDE_INT size = 0;
+-	  bool padding_p = true;
+-	  basic_block tbb = bb;
+-	  unsigned cond_branch_num = 0;
+-	  bool detect_tight_loop_p = false;
+-
+-	  for (unsigned int i = 0; i != bb->loop_father->num_nodes;
+-	       i++, tbb = tbb->next_bb)
+-	    {
+-	      /* Only handle continuous cfg layout. */
+-	      if (bb->loop_father != tbb->loop_father)
+-		{
+-		  padding_p = false;
+-		  break;
+-		}
+-
+-	      FOR_BB_INSNS (tbb, insn)
+-		{
+-		  if (!NONDEBUG_INSN_P (insn))
+-		    continue;
+-		  size += ix86_min_insn_size (insn);
+-
+-		  /* We don't know size of inline asm.
+-		     Don't align loop for call.  */
+-		  if (asm_noperands (PATTERN (insn)) >= 0
+-		      || CALL_P (insn))
+-		    {
+-		      size = -1;
+-		      break;
+-		    }
+-		}
+-
+-	      if (size == -1 || size > ix86_cost->prefetch_block)
+-		{
+-		  padding_p = false;
+-		  break;
+-		}
+-
+-	      FOR_EACH_EDGE (e, ei, tbb->succs)
+-		{
+-		  /* It could be part of the loop.  */
+-		  if (e->dest == bb)
+-		    {
+-		      detect_tight_loop_p = true;
+-		      break;
+-		    }
+-		}
+-
+-	      if (detect_tight_loop_p)
+-		break;
+-
+-	      end_insn = BB_END (tbb);
+-	      if (JUMP_P (end_insn))
+-		{
+-		  /* For decoded icache:
+-		     1. Up to two branches are allowed per Way.
+-		     2. A non-conditional branch is the last micro-op in a Way.
+-		  */
+-		  if (onlyjump_p (end_insn)
+-		      && (any_uncondjump_p (end_insn)
+-			  || single_succ_p (tbb)))
+-		    {
+-		      padding_p = false;
+-		      break;
+-		    }
+-		  else if (++cond_branch_num >= 2)
+-		    {
+-		      padding_p = false;
+-		      break;
+-		    }
+-		}
+-
+-	    }
+-
+-	  if (padding_p && detect_tight_loop_p)
+-	    {
+-	      emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)),
+-						    GEN_INT (0)), label);
+-	      /* End of function.  */
+-	      if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun))
+-		break;
+-	      /* Skip bb which already fits into one cacheline.  */
+-	      bb = tbb;
+-	    }
+-	}
+-    }
+-
+-  loop_optimizer_finalize ();
+-  free_dominance_info (CDI_DOMINATORS);
+-}
+-
+ /* Implement machine specific optimizations.  We implement padding of returns
+    for K8 CPUs and pass to avoid 4 jumps in the single 16 byte window.  */
+ static void
+@@ -23611,8 +23467,6 @@ ix86_reorg (void)
+ #ifdef ASM_OUTPUT_MAX_SKIP_ALIGN
+       if (TARGET_FOUR_JUMP_LIMIT)
+ 	ix86_avoid_jump_mispredicts ();
+-
+-      ix86_align_loops ();
+ #endif
+     }
+ }
+diff --git a/gcc/testsuite/gcc.target/i386/pr116174.c b/gcc/testsuite/gcc.target/i386/pr116174.c
+new file mode 100644
+index 000000000000..8877d0b51af1
+--- /dev/null
++++ b/gcc/testsuite/gcc.target/i386/pr116174.c
+@@ -0,0 +1,12 @@
++/* { dg-do compile { target *-*-linux* } } */
++/* { dg-options "-O2 -fcf-protection=branch" } */
++
++char *
++foo (char *dest, const char *src)
++{
++  while ((*dest++ = *src++) != '\0')
++    /* nothing */;
++  return --dest;
++}
++
++/* { dg-final { scan-assembler "\t\.cfi_startproc\n\tendbr(32|64)\n" } } */
+-- 
+2.43.5
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc
index 8251e3c..ce100d7 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc
@@ -29,7 +29,7 @@
 
 require libgcc-common.inc
 
-DEPENDS = "virtual/${TARGET_PREFIX}gcc"
+DEPENDS = "virtual/cross-cc"
 
 LICENSE = "GPL-3.0-with-GCC-exception"
 
diff --git a/poky/meta/recipes-devtools/gcc/libgcc.inc b/poky/meta/recipes-devtools/gcc/libgcc.inc
index 84a2d93..9554475 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc.inc
+++ b/poky/meta/recipes-devtools/gcc/libgcc.inc
@@ -1,6 +1,6 @@
 require libgcc-common.inc
 
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ virtual/${MLPREFIX}libc"
+DEPENDS = "virtual/cross-cc virtual/cross-c++ virtual/${MLPREFIX}libc"
 
 do_install:append:class-target () {
 	if [ "${TCLIBC}" != "glibc" ]; then
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran.inc b/poky/meta/recipes-devtools/gcc/libgfortran.inc
index 2a08872..4560421 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran.inc
+++ b/poky/meta/recipes-devtools/gcc/libgfortran.inc
@@ -49,7 +49,7 @@
 
 # avoid virtual/libc
 INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}compilerlibs"
+DEPENDS = "virtual/cross-cc virtual/compilerlibs"
 
 BBCLASSEXTEND = "nativesdk"
 
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 058ffbc..9150c19 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -7,7 +7,7 @@
 BPN = "gdb"
 
 DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext nativesdk-gmp nativesdk-mpfr \
-           virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils virtual/nativesdk-libc"
+           virtual/nativesdk-cross-cc virtual/nativesdk-cross-binutils virtual/nativesdk-libc"
 
 GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'"
 
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_15.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_16.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross-canadian_15.2.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross-canadian_16.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_15.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_16.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb-cross_15.2.bb
rename to poky/meta/recipes-devtools/gdb/gdb-cross_16.1.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index ff0db68..41f92be 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -12,6 +12,5 @@
            file://0005-Change-order-of-CFLAGS.patch \
            file://0006-Fix-invalid-sigprocmask-call.patch \
            file://0007-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
-           file://0001-Fix-Wenum-constexpr-conversion-in-enum-flags.h.patch \
            "
-SRC_URI[sha256sum] = "83350ccd35b5b5a0cba6b334c41294ea968158c573940904f00b92f76345314d"
+SRC_URI[sha256sum] = "c2cc5ccca029b7a7c3879ce8a96528fdfd056b4d884f2b0511e8f7bc723355c6"
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-Wenum-constexpr-conversion-in-enum-flags.h.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-Wenum-constexpr-conversion-in-enum-flags.h.patch
deleted file mode 100644
index 8866db2..0000000
--- a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-Wenum-constexpr-conversion-in-enum-flags.h.patch
+++ /dev/null
@@ -1,313 +0,0 @@
-From dd22f64329c46797b3a3de2605ad1fa14cf77dd4 Mon Sep 17 00:00:00 2001
-From: Carlos Galvez <carlosgalvezp@gmail.com>
-Date: Sun, 30 Jun 2024 21:36:24 +0200
-Subject: [PATCH] Fix -Wenum-constexpr-conversion in enum-flags.h
-
-This fixes PR 31331:
-https://sourceware.org/bugzilla/show_bug.cgi?id=31331
-
-Currently, enum-flags.h is suppressing the warning
--Wenum-constexpr-conversion coming from recent versions of Clang.
-This warning is intended to be made a compiler error
-(non-downgradeable) in future versions of Clang:
-
-https://github.com/llvm/llvm-project/issues/59036
-
-The rationale is that casting a value of an integral type into an
-enumeration is Undefined Behavior if the value does not fit in the
-range of values of the enum:
-https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1766
-
-Undefined Behavior is not allowed in constant expressions, leading to
-an ill-formed program.
-
-In this case, in enum-flags.h, we are casting the value -1 to an enum
-of a positive range only, which is UB as per the Standard and thus not
-allowed in a constexpr context.
-
-The purpose of doing this instead of using std::underlying_type is
-because, for C-style enums, std::underlying_type typically returns
-"unsigned int". However, when operating with it arithmetically, the
-enum is promoted to *signed* int, which is what we want to avoid.
-
-This patch solves this issue as follows:
-
-* Use std::underlying_type and remove the custom enum_underlying_type.
-
-* Ensure that operator~ is called always on an unsigned integer. We do
-  this by casting the input enum into std::size_t, which can fit any
-  unsigned integer. We have the guarantee that the cast is safe,
-  because we have checked that the underlying type is unsigned. If the
-  enum had negative values, the underlying type would be signed.
-
-  This solves the issue with C-style enums, but also solves a hidden
-  issue: enums with underlying type of std::uint8_t or std::uint16_t are
-  *also* promoted to signed int. Now they are all explicitly casted
-  to the largest unsigned int type and operator~ is safe to use.
-
-* There is one more thing that needs fix. Currently, operator~ is
-  implemented as follows:
-
-  return (enum_type) ~underlying(e);
-
-  After applying ~underlying(e), the result is a very large value,
-  which we then cast to "enum_type". This cast is Undefined Behavior
-  if the large value does not fit in the range of the enum. For
-  C++ enums (scoped and/or with explicit underlying type), the range
-  of the enum is the entire range of the underlying type, so the cast
-  is safe. However, for C-style enums, the range is the smallest
-  bit-field that can hold all the values of the enumeration. So the
-  range is a lot smaller and casting a large value to the enum would
-  invoke Undefined Behavior.
-
-  To solve this problem, we create a new trait
-  EnumHasFixedUnderlyingType, to ensure operator~ may only be called
-  on C++-style enums. This behavior is roughly the same as what we
-  had on trunk, but relying on different properties of the enums.
-
-* Once this is implemented, the following tests fail to compile:
-
-  CHECK_VALID (true,  int,  true ? EF () : EF2 ())
-
-  This is because it expects the enums to be promoted to signed int,
-  instead of unsigned int (which is the true underlying type).
-
-  I propose to remove these tests altogether, because:
-
-  - The comment nearby say they are not very important.
-  - Comparing 2 enums of different type like that is strange, relies
-    on integer promotions and thus hurts readability. As per comments
-    in the related PR, we likely don't want this type of code in gdb
-    code anyway, so there's no point in testing it.
-  - Most importantly, this type of comparison will be ill-formed in
-    C++26 for regular enums, so enum_flags does not need to emulate
-    that.
-
-Since this is the only place where the warning was suppressed, remove
-also the corresponding macro in include/diagnostics.h.
-
-The change has been tested by running the entire gdb test suite
-(make check) and comparing the results (testsuite/gdb.sum) against
-trunk. No noticeable differences have been observed.
-Tested-by: Keith Seitz <keiths@redhat.com>
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Submitted [https://patchwork.sourceware.org/project/gdb/patch/20240630193624.2906762-1-carlosgalvezp@gmail.com/]
----
- gdb/unittests/enum-flags-selftests.c |  27 -------
- gdbsupport/enum-flags.h              | 104 ++++++++++++++++++---------
- include/diagnostics.h                |   5 --
- 3 files changed, 70 insertions(+), 66 deletions(-)
-
-diff --git a/gdb/unittests/enum-flags-selftests.c b/gdb/unittests/enum-flags-selftests.c
-index b55d8c3..02563e5 100644
---- a/gdb/unittests/enum-flags-selftests.c
-+++ b/gdb/unittests/enum-flags-selftests.c
-@@ -233,33 +233,6 @@ CHECK_VALID (true,   UEF,    ~UEF ())
- CHECK_VALID (true,  EF,   true ? EF () : RE ())
- CHECK_VALID (true,  EF,   true ? RE () : EF ())
- 
--/* These are valid, but it's not a big deal since you won't be able to
--   assign the resulting integer to an enum or an enum_flags without a
--   cast.
--
--   The latter two tests are disabled on older GCCs because they
--   incorrectly fail with gcc 4.8 and 4.9 at least.  Running the test
--   outside a SFINAE context shows:
--
--    invalid user-defined conversion from ‘EF’ to ‘RE2’
--
--   They've been confirmed to compile/pass with gcc 5.3, gcc 7.1 and
--   clang 3.7.  */
--
--CHECK_VALID (true,  int,  true ? EF () : EF2 ())
--CHECK_VALID (true,  int,  true ? EF2 () : EF ())
--CHECK_VALID (true,  int,  true ? EF () : RE2 ())
--CHECK_VALID (true,  int,  true ? RE2 () : EF ())
--
--/* Same, but with an unsigned enum.  */
--
--typedef unsigned int uns;
--
--CHECK_VALID (true,  uns,  true ? EF () : UEF ())
--CHECK_VALID (true,  uns,  true ? UEF () : EF ())
--CHECK_VALID (true,  uns,  true ? EF () : URE ())
--CHECK_VALID (true,  uns,  true ? URE () : EF ())
--
- /* Unfortunately this can't work due to the way C++ computes the
-    return type of the ternary conditional operator.  int isn't
-    implicitly convertible to the raw enum type, so the type of the
-diff --git a/gdbsupport/enum-flags.h b/gdbsupport/enum-flags.h
-index 5078004..acec203 100644
---- a/gdbsupport/enum-flags.h
-+++ b/gdbsupport/enum-flags.h
-@@ -75,30 +75,6 @@
-    namespace.  The compiler finds the corresponding
-    is_enum_flags_enum_type function via ADL.  */
- 
--/* Note that std::underlying_type<enum_type> is not what we want here,
--   since that returns unsigned int even when the enum decays to signed
--   int.  */
--template<int size, bool sign> class integer_for_size { typedef void type; };
--template<> struct integer_for_size<1, 0> { typedef uint8_t type; };
--template<> struct integer_for_size<2, 0> { typedef uint16_t type; };
--template<> struct integer_for_size<4, 0> { typedef uint32_t type; };
--template<> struct integer_for_size<8, 0> { typedef uint64_t type; };
--template<> struct integer_for_size<1, 1> { typedef int8_t type; };
--template<> struct integer_for_size<2, 1> { typedef int16_t type; };
--template<> struct integer_for_size<4, 1> { typedef int32_t type; };
--template<> struct integer_for_size<8, 1> { typedef int64_t type; };
--
--template<typename T>
--struct enum_underlying_type
--{
--  DIAGNOSTIC_PUSH
--  DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION
--  typedef typename
--    integer_for_size<sizeof (T), static_cast<bool>(T (-1) < T (0))>::type
--    type;
--  DIAGNOSTIC_POP
--};
--
- namespace enum_flags_detail
- {
- 
-@@ -119,10 +95,62 @@ struct zero_type;
- /* gdb::Requires trait helpers.  */
- template <typename enum_type>
- using EnumIsUnsigned
--  = std::is_unsigned<typename enum_underlying_type<enum_type>::type>;
-+  = std::is_unsigned<typename std::underlying_type<enum_type>::type>;
-+
-+/* Helper to detect whether an enum has a fixed underlying type. This can be
-+   achieved by using a scoped enum (in which case the type is "int") or
-+   an explicit underlying type. C-style enums that are unscoped or do not
-+   have an explicit underlying type have an implementation-defined underlying
-+   type.
-+
-+   https://timsong-cpp.github.io/cppwp/n4659/dcl.enum#5
-+
-+   We need this trait in order to ensure that operator~ below does NOT
-+   operate on old-style enums. This is because we apply operator~ on
-+   the value and then cast the result to the enum_type. This is however
-+   Undefined Behavior if the result does not fit in the range of possible
-+   values for the enum. For enums with fixed underlying type, the entire
-+   range of the integer is available. However, for old-style enums, the range
-+   is only the smallest bit-field that can hold all the values of the
-+   enumeration, typically much smaller than the underlying integer:
-+
-+   https://timsong-cpp.github.io/cppwp/n4659/expr.static.cast#10
-+   https://timsong-cpp.github.io/cppwp/n4659/dcl.enum#8
-+
-+   To implement this, we leverage the fact that, since C++17, enums with
-+   fixed underlying type can be list-initialized from an integer:
-+   https://timsong-cpp.github.io/cppwp/n4659/dcl.init.list#3.7
-+
-+   Old-style enums cannot be initialized like that, leading to ill-formed
-+   code.
-+
-+   We then use this together with SFINAE to create the desired trait.
-+
-+*/
-+// Primary template
-+template <typename enum_type, typename = void>
-+struct EnumHasFixedUnderlyingType : std::false_type
-+{
-+  static_assert(std::is_enum<enum_type>::value);
-+};
-+
-+// Specialization that is active only if enum_type can be list-initialized
-+// from an integer (0). Only enums with fixed underlying type satisfy this
-+// property in C++17.
-+template <typename enum_type>
-+struct EnumHasFixedUnderlyingType<enum_type, std::void_t<decltype(enum_type{0})>> : std::true_type
-+{
-+  static_assert(std::is_enum<enum_type>::value);
-+};
-+
-+template <typename enum_type>
-+using EnumIsSafeForBitwiseComplement = std::conjunction<
-+  EnumIsUnsigned<enum_type>,
-+  EnumHasFixedUnderlyingType<enum_type>
-+>;
-+
- template <typename enum_type>
--using EnumIsSigned
--  = std::is_signed<typename enum_underlying_type<enum_type>::type>;
-+using EnumIsUnsafeForBitwiseComplement = std::negation<EnumIsSafeForBitwiseComplement<enum_type>>;
- 
- }
- 
-@@ -131,7 +159,7 @@ class enum_flags
- {
- public:
-   typedef E enum_type;
--  typedef typename enum_underlying_type<enum_type>::type underlying_type;
-+  typedef typename std::underlying_type<enum_type>::type underlying_type;
- 
-   /* For to_string.  Maps one enumerator of E to a string.  */
-   struct string_mapping
-@@ -394,33 +422,41 @@ ENUM_FLAGS_GEN_COMP (operator!=, !=)
- template <typename enum_type,
- 	  typename = is_enum_flags_enum_type_t<enum_type>,
- 	  typename
--	    = gdb::Requires<enum_flags_detail::EnumIsUnsigned<enum_type>>>
-+	    = gdb::Requires<enum_flags_detail::EnumIsSafeForBitwiseComplement<enum_type>>>
- constexpr enum_type
- operator~ (enum_type e)
- {
-   using underlying = typename enum_flags<enum_type>::underlying_type;
--  return (enum_type) ~underlying (e);
-+  // Cast to std::size_t first, to prevent integer promotions from
-+  // enums with fixed underlying type std::uint8_t or std::uint16_t
-+  // to signed int.
-+  // This ensures we apply the bitwise complement on an unsigned type.
-+  return (enum_type)(underlying) ~std::size_t (e);
- }
- 
- template <typename enum_type,
- 	  typename = is_enum_flags_enum_type_t<enum_type>,
--	  typename = gdb::Requires<enum_flags_detail::EnumIsSigned<enum_type>>>
-+	  typename = gdb::Requires<enum_flags_detail::EnumIsUnsafeForBitwiseComplement<enum_type>>>
- constexpr void operator~ (enum_type e) = delete;
- 
- template <typename enum_type,
- 	  typename = is_enum_flags_enum_type_t<enum_type>,
- 	  typename
--	    = gdb::Requires<enum_flags_detail::EnumIsUnsigned<enum_type>>>
-+	    = gdb::Requires<enum_flags_detail::EnumIsSafeForBitwiseComplement<enum_type>>>
- constexpr enum_flags<enum_type>
- operator~ (enum_flags<enum_type> e)
- {
-   using underlying = typename enum_flags<enum_type>::underlying_type;
--  return (enum_type) ~underlying (e);
-+  // Cast to std::size_t first, to prevent integer promotions from
-+  // enums with fixed underlying type std::uint8_t or std::uint16_t
-+  // to signed int.
-+  // This ensures we apply the bitwise complement on an unsigned type.
-+  return (enum_type)(underlying) ~std::size_t (e);
- }
- 
- template <typename enum_type,
- 	  typename = is_enum_flags_enum_type_t<enum_type>,
--	  typename = gdb::Requires<enum_flags_detail::EnumIsSigned<enum_type>>>
-+	  typename = gdb::Requires<enum_flags_detail::EnumIsUnsafeForBitwiseComplement<enum_type>>>
- constexpr void operator~ (enum_flags<enum_type> e) = delete;
- 
- /* Delete operator<< and operator>>.  */
-diff --git a/include/diagnostics.h b/include/diagnostics.h
-index 97e30ab..14575e2 100644
---- a/include/diagnostics.h
-+++ b/include/diagnostics.h
-@@ -76,11 +76,6 @@
- # define DIAGNOSTIC_ERROR_SWITCH \
-   DIAGNOSTIC_ERROR ("-Wswitch")
- 
--# if __has_warning ("-Wenum-constexpr-conversion")
--#  define DIAGNOSTIC_IGNORE_ENUM_CONSTEXPR_CONVERSION \
--   DIAGNOSTIC_IGNORE ("-Wenum-constexpr-conversion")
--# endif
--
- #elif defined (__GNUC__) /* GCC */
- 
- # define DIAGNOSTIC_IGNORE_DEPRECATED_DECLARATIONS \
diff --git a/poky/meta/recipes-devtools/gdb/gdb/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
index 56602b4..69d4d51 100644
--- a/poky/meta/recipes-devtools/gdb/gdb/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
+++ b/poky/meta/recipes-devtools/gdb/gdb/0002-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch
@@ -16,8 +16,8 @@
 --- a/gdb/nat/ppc-linux.h
 +++ b/gdb/nat/ppc-linux.h
 @@ -18,7 +18,13 @@
- #ifndef NAT_PPC_LINUX_H
- #define NAT_PPC_LINUX_H
+ #ifndef GDB_NAT_PPC_LINUX_H
+ #define GDB_NAT_PPC_LINUX_H
  
 +#if !defined(__GLIBC__)
 +# define pt_regs uapi_pt_regs
diff --git a/poky/meta/recipes-devtools/gdb/gdb_15.2.bb b/poky/meta/recipes-devtools/gdb/gdb_16.1.bb
similarity index 100%
rename from poky/meta/recipes-devtools/gdb/gdb_15.2.bb
rename to poky/meta/recipes-devtools/gdb/gdb_16.1.bb
diff --git a/poky/meta/recipes-devtools/go/go-1.22.8.inc b/poky/meta/recipes-devtools/go/go-1.22.11.inc
similarity index 89%
rename from poky/meta/recipes-devtools/go/go-1.22.8.inc
rename to poky/meta/recipes-devtools/go/go-1.22.11.inc
index 542519b..21222be 100644
--- a/poky/meta/recipes-devtools/go/go-1.22.8.inc
+++ b/poky/meta/recipes-devtools/go/go-1.22.11.inc
@@ -15,4 +15,4 @@
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
 "
-SRC_URI[main.sha256sum] = "df12c23ebf19dea0f4bf46a22cbeda4a3eca6f474f318390ce774974278440b8"
+SRC_URI[main.sha256sum] = "a60c23dec95d10a2576265ce580f57869d5ac2471c4f4aca805addc9ea0fc9fe"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.22.8.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.22.11.bb
similarity index 78%
rename from poky/meta/recipes-devtools/go/go-binary-native_1.22.8.bb
rename to poky/meta/recipes-devtools/go/go-binary-native_1.22.11.bb
index 98799eb..a526cc8 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.22.8.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.22.11.bb
@@ -9,9 +9,9 @@
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "5f467d29fc67c7ae6468cb6ad5b047a274bae8180cac5e0b7ddbfeba3e47e18f"
-SRC_URI[go_linux_arm64.sha256sum] = "5c616b32dab04bb8c4c8700478381daea0174dc70083e4026321163879278a4a"
-SRC_URI[go_linux_ppc64le.sha256sum] = "c546f27866510bf8e54e86fe6f58c705af0e894341e5572c91f197a734152c27"
+SRC_URI[go_linux_amd64.sha256sum] = "0fc88d966d33896384fbde56e9a8d80a305dc17a9f48f1832e061724b1719991"
+SRC_URI[go_linux_arm64.sha256sum] = "9ebfcab26801fa4cf0627c6439db7a4da4d3c6766142a3dd83508240e4f21031"
+SRC_URI[go_linux_ppc64le.sha256sum] = "963a0ec973640b23ee8bb7a462cc415276fd8436111a03df8c34eb3b1ae29f12"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian.inc b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
index dd485b6..ff6c063 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
@@ -1,8 +1,8 @@
 inherit cross-canadian
 
 DEPENDS = "go-native virtual/${HOST_PREFIX}go virtual/nativesdk-${HOST_PREFIX}go-runtime \
-           virtual/${HOST_PREFIX}gcc virtual/nativesdk-libc \
-           virtual/nativesdk-${HOST_PREFIX}compilerlibs"
+           virtual/nativesdk-cross-cc virtual/nativesdk-libc \
+           virtual/nativesdk-compilerlibs"
 PN = "go-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
 # it uses gcc on build machine during go-cross-canadian bootstrap, but
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.22.8.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.22.11.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross-canadian_1.22.8.bb
rename to poky/meta/recipes-devtools/go/go-cross-canadian_1.22.11.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.22.8.bb b/poky/meta/recipes-devtools/go/go-cross_1.22.11.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross_1.22.8.bb
rename to poky/meta/recipes-devtools/go/go-cross_1.22.11.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk.inc b/poky/meta/recipes-devtools/go/go-crosssdk.inc
index 1293900..4f19025 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk.inc
+++ b/poky/meta/recipes-devtools/go/go-crosssdk.inc
@@ -1,6 +1,6 @@
 inherit crosssdk
 
-DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/${TARGET_PREFIX}binutils"
+DEPENDS = "go-native virtual/nativesdk-cross-cc virtual/nativesdk-compilerlibs virtual/nativesdk-cross-binutils"
 PN = "go-crosssdk-${SDK_SYS}"
 PROVIDES = "virtual/${TARGET_PREFIX}go"
 
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.22.8.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.22.11.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-crosssdk_1.22.8.bb
rename to poky/meta/recipes-devtools/go/go-crosssdk_1.22.11.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.22.8.bb b/poky/meta/recipes-devtools/go/go-runtime_1.22.11.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-runtime_1.22.8.bb
rename to poky/meta/recipes-devtools/go/go-runtime_1.22.11.bb
diff --git a/poky/meta/recipes-devtools/go/go_1.22.8.bb b/poky/meta/recipes-devtools/go/go_1.22.11.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go_1.22.8.bb
rename to poky/meta/recipes-devtools/go/go_1.22.11.bb
diff --git a/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb b/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
index d03d8ad..a7f5fc4 100644
--- a/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
+++ b/poky/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb
@@ -14,7 +14,7 @@
 
 inherit nativesdk
 
-ENV_NAME="${DISTRO}-${TCLIBC}-${SDK_ARCH}-@TARGET_PREFIX@${DISTRO_VERSION}.tar.gz"
+ENV_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-@TARGET_PREFIX@${DISTRO_VERSION}.tar.gz"
 
 do_compile() {
 }
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Fix-a-segfault-in-iterator-of-a-ConfigParser-section.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Fix-a-segfault-in-iterator-of-a-ConfigParser-section.patch
new file mode 100644
index 0000000..1c62d02
--- /dev/null
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Fix-a-segfault-in-iterator-of-a-ConfigParser-section.patch
@@ -0,0 +1,84 @@
+From f3302a865b230e021e9defbcea978ed1290a9b2f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 6 Dec 2024 18:01:16 +0100
+Subject: [PATCH] Fix a segfault in iterator of a ConfigParser section
+
+An iterator should return self on __iter__.
+
+So that this works:
+
+    >>> it1 = iter(sectObj)
+    >>> it2 = iter(it1)
+    >>> it1 is it2
+    True
+
+Previously, this iterator did not return self on __iter__, it was like this:
+
+    class PreserveOrderMapStringStringIterator(object):
+        ...
+        def __iter__(self):
+            return _common_types.PreserveOrderMapStringStringIterator___iter__(self)
+
+And that returned a new Python object.
+
+This fixes https://bugzilla.redhat.com/2330562 by avoiding a second iterator object.
+
+My SWIG skills are close to zero,
+perhaps this is not the best way to return self, but it seems to work.
+
+Upstream-Status: Backport
+(https://github.com/rpm-software-management/libdnf/commit/f3302a865b)
+
+Backport so that it works properly with Python 3.13.1.
+
+Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
+---
+ bindings/swig/common_types.i | 11 +++++++----
+ bindings/swig/conf.i         |  4 ----
+ 2 files changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/bindings/swig/common_types.i b/bindings/swig/common_types.i
+index c9ae798a..a1f90d9e 100644
+--- a/bindings/swig/common_types.i
++++ b/bindings/swig/common_types.i
+@@ -63,10 +63,6 @@ template<class T>
+ class Iterator {
+ public:
+     Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {}
+-    Iterator* __iter__()
+-    {
+-      return this;
+-    }
+ 
+     typename T::iterator cur;
+     typename T::iterator end;
+@@ -165,3 +161,10 @@ EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, std::string)
+ EXTEND_TEMPLATE_PreserveOrderMapIterator(std::string, libdnf::PreserveOrderMap<std::string, std::string>)
+ 
+ %exception;  // beware this resets all exception handlers if you import this file after defining any
++
++%pythoncode %{
++def PreserveOrderMapStringStringIterator___iter__(self):
++    return self
++PreserveOrderMapStringStringIterator.__iter__ = PreserveOrderMapStringStringIterator___iter__
++del PreserveOrderMapStringStringIterator___iter__
++%}
+diff --git a/bindings/swig/conf.i b/bindings/swig/conf.i
+index b6a0ce88..2f77003f 100644
+--- a/bindings/swig/conf.i
++++ b/bindings/swig/conf.i
+@@ -71,10 +71,6 @@ template<class T>
+ class Iterator {
+ public:
+     Iterator(typename T::iterator _cur, typename T::iterator _end) : cur(_cur), end(_end) {}
+-    Iterator* __iter__()
+-    {
+-        return this;
+-    }
+ 
+     typename T::iterator cur;
+     typename T::iterator end;
+-- 
+2.39.5
+
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.73.4.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.73.4.bb
index 0817da7..5b9e734 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.73.4.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.73.4.bb
@@ -11,6 +11,7 @@
            file://enable_test_data_dir_set.patch \
            file://0001-drop-FindPythonInstDir.cmake.patch \
            file://armarch.patch \
+           file://0001-Fix-a-segfault-in-iterator-of-a-ConfigParser-section.patch \
            "
 
 SRCREV = "79ed383cd5a822e6d8d9d549835383f5c5106204"
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20240808-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20250104-3.1.bb
similarity index 88%
rename from poky/meta/recipes-devtools/libedit/libedit_20240808-3.1.bb
rename to poky/meta/recipes-devtools/libedit/libedit_20250104-3.1.bb
index bf6ec8e..cad24d8 100644
--- a/poky/meta/recipes-devtools/libedit/libedit_20240808-3.1.bb
+++ b/poky/meta/recipes-devtools/libedit/libedit_20250104-3.1.bb
@@ -13,7 +13,7 @@
 SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
            file://stdc-predef.patch \
           "
-SRC_URI[sha256sum] = "5f0573349d77c4a48967191cdd6634dd7aa5f6398c6a57fe037cc02696d6099f"
+SRC_URI[sha256sum] = "23792701694550a53720630cd1cd6167101b5773adddcb4104f7345b73a568ac"
 
 # configure hardcodes /usr/bin search path bypassing HOSTTOOLS
 CACHED_CONFIGUREVARS += "ac_cv_path_NROFF=/bin/false"
diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.5.4.inc b/poky/meta/recipes-devtools/libtool/libtool-2.5.4.inc
index 6b533a0..4d9a822 100644
--- a/poky/meta/recipes-devtools/libtool/libtool-2.5.4.inc
+++ b/poky/meta/recipes-devtools/libtool/libtool-2.5.4.inc
@@ -33,4 +33,4 @@
 FILES:${PN}-dev:remove = "${datadir}/aclocal"
 FILES:libltdl = "${libdir}/libltdl${SOLIBS}"
 
-export CONFIG_SHELL="/bin/bash"
+export CONFIG_SHELL = "/bin/bash"
diff --git a/poky/meta/recipes-devtools/libtool/libtool_2.5.4.bb b/poky/meta/recipes-devtools/libtool/libtool_2.5.4.bb
index 835f2da..fa16d09 100644
--- a/poky/meta/recipes-devtools/libtool/libtool_2.5.4.bb
+++ b/poky/meta/recipes-devtools/libtool/libtool_2.5.4.bb
@@ -12,8 +12,6 @@
     ${datadir}/libtool/build-aux \
 "
 
-ACLOCALEXTRAPATH:class-target = ""
-
 inherit multilib_script
 
 MULTILIB_SCRIPTS = "${PN}:${bindir}/libtool"
diff --git a/poky/meta/recipes-devtools/llvm/llvm_19.1.5.bb b/poky/meta/recipes-devtools/llvm/llvm_19.1.6.bb
similarity index 96%
rename from poky/meta/recipes-devtools/llvm/llvm_19.1.5.bb
rename to poky/meta/recipes-devtools/llvm/llvm_19.1.6.bb
index de534aa..3efd6c4 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_19.1.5.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_19.1.6.bb
@@ -27,7 +27,7 @@
            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
            file://llvm-config \
            "
-SRC_URI[sha256sum] = "bd8445f554aae33d50d3212a15e993a667c0ad1b694ac1977f3463db3338e542"
+SRC_URI[sha256sum] = "e3f79317adaa9196d2cfffe1c869d7c100b7540832bc44fe0d3f44a12861fa34"
 UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project"
 UPSTREAM_CHECK_REGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)"
 
@@ -82,12 +82,14 @@
 
 EXTRA_OECMAKE:append:class-target = "\
                   -DCMAKE_CROSSCOMPILING:BOOL=ON \
+                  -DLLVM_HOST_TRIPLE=${TARGET_SYS} \
                   -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
                  "
 
 EXTRA_OECMAKE:append:class-nativesdk = "\
                   -DCMAKE_CROSSCOMPILING:BOOL=ON \
+                  -DLLVM_HOST_TRIPLE=${SDK_SYS} \
                   -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \
                   -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \
                  "
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
index 23f96f4..84a9c18 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch
@@ -1,4 +1,4 @@
-From 4ff04d388baf9d31efa73a92c0124a8d45b65377 Mon Sep 17 00:00:00 2001
+From f264b7fd2c86edfd5db77da264e8bf05f5e2bfeb Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 19 Nov 2018 14:24:26 +0100
 Subject: [PATCH] python module: do not manipulate the environment when calling
@@ -11,10 +11,10 @@
  1 file changed, 1 insertion(+), 5 deletions(-)
 
 diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
-index fff4aaa..1fde2f6 100644
+index 326e605..f5eb50f 100644
 --- a/mesonbuild/dependencies/python.py
 +++ b/mesonbuild/dependencies/python.py
-@@ -400,9 +400,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
+@@ -403,9 +403,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
                      empty.name = 'python'
                      return empty
  
@@ -24,7 +24,7 @@
                  try:
                      return PythonPkgConfigDependency(name, env, kwargs, installation, True)
                  finally:
-@@ -411,8 +408,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
+@@ -414,8 +411,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
                              os.environ[name] = value
                          elif name in os.environ:
                              del os.environ[name]
diff --git a/poky/meta/recipes-devtools/meson/meson_1.6.0.bb b/poky/meta/recipes-devtools/meson/meson_1.7.0.bb
similarity index 98%
rename from poky/meta/recipes-devtools/meson/meson_1.6.0.bb
rename to poky/meta/recipes-devtools/meson/meson_1.7.0.bb
index 078e49e..44872a5 100644
--- a/poky/meta/recipes-devtools/meson/meson_1.6.0.bb
+++ b/poky/meta/recipes-devtools/meson/meson_1.7.0.bb
@@ -16,7 +16,7 @@
            file://0002-Support-building-allarch-recipes-again.patch \
            file://0001-dependencies-dev-prepend-sysroot-when-searching-for-.patch \
            "
-SRC_URI[sha256sum] = "999b65f21c03541cf11365489c1fad22e2418bb0c3d50ca61139f2eec09d5496"
+SRC_URI[sha256sum] = "08efbe84803eed07f863b05092d653a9d348f7038761d900412fddf56deb0284"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
 
 inherit python_setuptools_build_meta github-releases
diff --git a/poky/meta/recipes-devtools/perl/libtest-warnings-perl_0.033.bb b/poky/meta/recipes-devtools/perl/libtest-warnings-perl_0.037.bb
similarity index 93%
rename from poky/meta/recipes-devtools/perl/libtest-warnings-perl_0.033.bb
rename to poky/meta/recipes-devtools/perl/libtest-warnings-perl_0.037.bb
index 17b4cc3..1cdc93d 100644
--- a/poky/meta/recipes-devtools/perl/libtest-warnings-perl_0.033.bb
+++ b/poky/meta/recipes-devtools/perl/libtest-warnings-perl_0.037.bb
@@ -15,7 +15,7 @@
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETHER/Test-Warnings-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "b9c375719f2c61c5f97aa5ee6cf4c901a972347c415969379b0b51f67c48bbcb"
+SRC_URI[sha256sum] = "682de3e7a3e8ac9265c53d0e314b8b903294c5199c005bd37e808f4484c25df2"
 
 S = "${WORKDIR}/Test-Warnings-${PV}"
 
diff --git a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb
index 17072ec..1f312b0 100644
--- a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb
+++ b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.47.bb
@@ -39,4 +39,4 @@
 RDEPENDS:${PN} += "perl-module-carp perl-module-file-spec"
 RDEPENDS:${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more"
 
-BBCLASSEXTEND="native nativesdk"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
index 6f13d01..2b298eb 100644
--- a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
+++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
@@ -46,9 +46,9 @@
 # specifying an appropriate provide.
 RPROVIDES:${PN} += "pkgconfig(pkg-config)"
 
-# Install a pkg-config-native wrapper that will use the native sysroot instead
-# of the MACHINE sysroot, for using pkg-config when building native tools.
 do_install:append:class-native () {
+    # Install a pkg-config-native wrapper that will use the native sysroot instead
+    # of the MACHINE sysroot, for using pkg-config when building native tools.
     sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
         -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
         < ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native
@@ -59,6 +59,15 @@
     install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
 }
 
+do_install:append:class-nativesdk () {
+    # Install a pkg-config-native wrapper that will use the native sysroot instead
+    # of the MACHINE sysroot, for using pkg-config when building native tools.
+    sed -e "s|@PATH_NATIVE@|\$OECORE_NATIVE_SYSROOT|" \
+        -e "s|@LIBDIR_NATIVE@|\$OECORE_NATIVE_SYSROOT/usr/lib/pkgconfig|" \
+        < ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native
+    install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
+}
+
 pkgconfig_sstate_fixup_esdk () {
 	if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
 		pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
diff --git a/poky/meta/recipes-devtools/python/python-six.inc b/poky/meta/recipes-devtools/python/python-six.inc
index 6b1b4ba..f7a62b6 100644
--- a/poky/meta/recipes-devtools/python/python-six.inc
+++ b/poky/meta/recipes-devtools/python/python-six.inc
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://pypi.org/project/six/"
 SECTION = "devel/python"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=43cfc9e4ac0e377acfb9b76f56b8415d"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e50fab7e9501f3dfc920eafeb24b46ea"
 
 inherit pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest b/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-atomicwrites/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb
index 848f74d..b14b62a 100644
--- a/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb
@@ -5,23 +5,12 @@
 
 SRC_URI[sha256sum] = "81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"
 
-inherit pypi setuptools3 ptest
-
-SRC_URI += " \
-	file://run-ptest \
-"
+inherit pypi setuptools3 ptest-python-pytest
 
 RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
 	python3-unixadmin \
 "
 
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
 RDEPENDS:${PN} = "python3-misc"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-attrs/run-ptest b/poky/meta/recipes-devtools/python/python3-attrs/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-attrs/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-attrs_24.2.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_24.2.0.bb
deleted file mode 100644
index a6cb60a..0000000
--- a/poky/meta/recipes-devtools/python/python3-attrs_24.2.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Classes Without Boilerplate"
-HOMEPAGE = "http://www.attrs.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887"
-
-SRC_URI[sha256sum] = "5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"
-
-inherit pypi ptest python_hatchling
-
-SRC_URI += " \
-	file://run-ptest \
-"
-
-DEPENDS += " \
-    python3-hatch-vcs-native \
-    python3-hatch-fancy-pypi-readme-native \
-"
-
-RDEPENDS:${PN}+= " \
-    python3-compression \
-    python3-crypt \
-"
-
-RDEPENDS:${PN}-ptest += " \
-    python3-hypothesis \
-    python3-pytest \
-    python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-    install ${S}/conftest.py ${D}${PTEST_PATH}/
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-attrs_24.3.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_24.3.0.bb
new file mode 100644
index 0000000..91fa418
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-attrs_24.3.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Classes Without Boilerplate"
+HOMEPAGE = "http://www.attrs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887"
+
+SRC_URI[sha256sum] = "8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"
+
+inherit pypi ptest-python-pytest python_hatchling
+
+DEPENDS += " \
+    python3-hatch-vcs-native \
+    python3-hatch-fancy-pypi-readme-native \
+"
+
+RDEPENDS:${PN} += " \
+    python3-compression \
+    python3-crypt \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    python3-hypothesis \
+"
+
+do_install_ptest:append() {
+    install ${S}/conftest.py ${D}${PTEST_PATH}/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest b/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt_4.2.1.bb b/poky/meta/recipes-devtools/python/python3-bcrypt_4.2.1.bb
index 7ca73ac..ce9237d 100644
--- a/poky/meta/recipes-devtools/python/python3-bcrypt_4.2.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-bcrypt_4.2.1.bb
@@ -8,11 +8,7 @@
 
 SRC_URI[sha256sum] = "6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe"
 
-inherit pypi python_setuptools3_rust ptest-cargo cargo-update-recipe-crates
-
-SRC_URI += " \
-	file://run-ptest \
-"
+inherit pypi python_setuptools3_rust cargo-update-recipe-crates ptest-python-pytest
 
 CARGO_SRC_DIR = "src/_bcrypt"
 
diff --git a/poky/meta/recipes-devtools/python/python3-booleanpy_4.0.bb b/poky/meta/recipes-devtools/python/python3-booleanpy_4.0.bb
index 41fd3d9..4563cb8 100644
--- a/poky/meta/recipes-devtools/python/python3-booleanpy_4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-booleanpy_4.0.bb
@@ -7,6 +7,7 @@
 SRC_URI[sha256sum] = "17b9a181630e43dde1851d42bef546d616d5d9b4480357514597e78b203d06e4"
 
 PYPI_PACKAGE = "boolean.py"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-calver/run-ptest b/poky/meta/recipes-devtools/python/python3-calver/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-calver/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb b/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb
index 71b5431..b2e7e07 100644
--- a/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb
+++ b/poky/meta/recipes-devtools/python/python3-calver_2022.6.26.bb
@@ -5,24 +5,16 @@
 
 SRC_URI = " \
     git://github.com/di/calver;branch=master;protocol=https \
-    file://run-ptest \
     file://0001-setup.py-hard-code-version.patch \
 "
 SRCREV = "3268d8acf2c345f32a1c5f08ba25dc67f76cca81"
 
-inherit python_setuptools_build_meta ptest
+inherit python_setuptools_build_meta ptest-python-pytest
 
 S = "${WORKDIR}/git"
 
 RDEPENDS:${PN}-ptest += " \
     python3-pretend \
-    python3-pytest \
-    python3-unittest-automake-output \
 "
 
-do_install_ptest() {
-        install -d ${D}${PTEST_PATH}/tests
-        cp -rf ${S}/tests ${D}${PTEST_PATH}/
-}
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2024.8.30.bb b/poky/meta/recipes-devtools/python/python3-certifi_2024.12.14.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-certifi_2024.8.30.bb
rename to poky/meta/recipes-devtools/python/python3-certifi_2024.12.14.bb
index 87047b9..714e231 100644
--- a/poky/meta/recipes-devtools/python/python3-certifi_2024.8.30.bb
+++ b/poky/meta/recipes-devtools/python/python3-certifi_2024.12.14.bb
@@ -7,7 +7,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=11618cb6a975948679286b1211bd573c"
 
-SRC_URI[sha256sum] = "bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"
+SRC_URI[sha256sum] = "b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-cffi_1.17.1.bb b/poky/meta/recipes-devtools/python/python3-cffi_1.17.1.bb
index 99979a7..fbe9051 100644
--- a/poky/meta/recipes-devtools/python/python3-cffi_1.17.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-cffi_1.17.1.bb
@@ -8,7 +8,7 @@
 
 SRC_URI += "file://run-ptest"
 
-inherit pypi python_setuptools_build_meta ptest
+inherit pypi python_setuptools_build_meta ptest pkgconfig
 
 do_install_ptest() {
     cp -r ${S}/testing ${D}${PTEST_PATH}
diff --git a/poky/meta/recipes-devtools/python/python3-click/run-ptest b/poky/meta/recipes-devtools/python/python3-click/run-ptest
deleted file mode 100644
index b63c4de..0000000
--- a/poky/meta/recipes-devtools/python/python3-click/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-click_8.1.7.bb b/poky/meta/recipes-devtools/python/python3-click_8.1.8.bb
similarity index 61%
rename from poky/meta/recipes-devtools/python/python3-click_8.1.7.bb
rename to poky/meta/recipes-devtools/python/python3-click_8.1.8.bb
index 7d91e1a..7be3d73 100644
--- a/poky/meta/recipes-devtools/python/python3-click_8.1.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-click_8.1.8.bb
@@ -6,13 +6,11 @@
 sensible defaults out of the box."
 HOMEPAGE = "http://click.pocoo.org/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fa98232fd645608937a0fdc82e999b8"
 
-SRC_URI[sha256sum] = "ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
+SRC_URI[sha256sum] = "ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"
 
-inherit pypi setuptools3 ptest
-
-SRC_URI += "file://run-ptest"
+inherit pypi python_flit_core ptest-python-pytest
 
 RDEPENDS:${PN}-ptest += " \
 	python3-pytest \
@@ -20,15 +18,11 @@
 	python3-unixadmin \
 "
 
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-    cp -rf ${S}/setup.cfg ${D}${PTEST_PATH}/
+do_install_ptest:append() {
+    cp -rf ${S}/pyproject.toml ${D}${PTEST_PATH}/
     cp -rf ${S}/docs ${D}${PTEST_PATH}/
 }
 
-UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
-
 CLEANBROKEN = "1"
 
 RDEPENDS:${PN} += "\
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-common.inc b/poky/meta/recipes-devtools/python/python3-cryptography-common.inc
index 288f4c9..4220c7d 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography-common.inc
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-common.inc
@@ -3,4 +3,4 @@
 #
 # Additionally AUH will detect that they share this .inc file and
 # perform a lockstep upgrade for both.
-PV = "43.0.3"
+PV = "44.0.0"
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc b/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc
index b30d96e..18f346a 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-crates.inc
@@ -1,72 +1,76 @@
 # Autogenerated with 'bitbake -c update_crates python3-cryptography'
 
-# from src/rust/Cargo.lock
+# from Cargo.lock
 SRC_URI += " \
-    crate://crates.io/asn1/0.16.2 \
-    crate://crates.io/asn1_derive/0.16.2 \
-    crate://crates.io/autocfg/1.3.0 \
+    crate://crates.io/asn1/0.20.0 \
+    crate://crates.io/asn1_derive/0.20.0 \
+    crate://crates.io/autocfg/1.4.0 \
     crate://crates.io/base64/0.22.1 \
     crate://crates.io/bitflags/2.6.0 \
-    crate://crates.io/cc/1.1.6 \
+    crate://crates.io/cc/1.2.1 \
     crate://crates.io/cfg-if/1.0.0 \
     crate://crates.io/foreign-types/0.3.2 \
     crate://crates.io/foreign-types-shared/0.1.1 \
     crate://crates.io/heck/0.5.0 \
     crate://crates.io/indoc/2.0.5 \
-    crate://crates.io/libc/0.2.155 \
+    crate://crates.io/itoa/1.0.14 \
+    crate://crates.io/libc/0.2.166 \
     crate://crates.io/memoffset/0.9.1 \
-    crate://crates.io/once_cell/1.19.0 \
+    crate://crates.io/once_cell/1.20.2 \
     crate://crates.io/openssl/0.10.68 \
     crate://crates.io/openssl-macros/0.1.1 \
     crate://crates.io/openssl-sys/0.9.104 \
     crate://crates.io/pem/3.0.4 \
-    crate://crates.io/pkg-config/0.3.30 \
-    crate://crates.io/portable-atomic/1.7.0 \
-    crate://crates.io/proc-macro2/1.0.86 \
-    crate://crates.io/pyo3/0.22.2 \
-    crate://crates.io/pyo3-build-config/0.22.2 \
-    crate://crates.io/pyo3-ffi/0.22.2 \
-    crate://crates.io/pyo3-macros/0.22.2 \
-    crate://crates.io/pyo3-macros-backend/0.22.2 \
-    crate://crates.io/quote/1.0.36 \
+    crate://crates.io/pkg-config/0.3.31 \
+    crate://crates.io/portable-atomic/1.10.0 \
+    crate://crates.io/proc-macro2/1.0.92 \
+    crate://crates.io/pyo3/0.23.2 \
+    crate://crates.io/pyo3-build-config/0.23.2 \
+    crate://crates.io/pyo3-ffi/0.23.2 \
+    crate://crates.io/pyo3-macros/0.23.2 \
+    crate://crates.io/pyo3-macros-backend/0.23.2 \
+    crate://crates.io/quote/1.0.37 \
     crate://crates.io/self_cell/1.0.4 \
-    crate://crates.io/syn/2.0.71 \
-    crate://crates.io/target-lexicon/0.12.15 \
-    crate://crates.io/unicode-ident/1.0.12 \
+    crate://crates.io/shlex/1.3.0 \
+    crate://crates.io/syn/2.0.89 \
+    crate://crates.io/target-lexicon/0.12.16 \
+    crate://crates.io/unicode-ident/1.0.14 \
     crate://crates.io/unindent/0.2.3 \
     crate://crates.io/vcpkg/0.2.15 \
 "
 
-SRC_URI[asn1-0.16.2.sha256sum] = "532ceda058281b62096b2add4ab00ab3a453d30dee28b8890f62461a0109ebbd"
-SRC_URI[asn1_derive-0.16.2.sha256sum] = "56e6076d38cc17cc22b0f65f31170a2ee1975e6b07f0012893aefd86ce19c987"
-SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
+SRC_URI[asn1-0.20.0.sha256sum] = "2d8b84b4ea1de2bf1dcd2a759737ddb328fb6695b2a95eb7e44fed67e3406f32"
+SRC_URI[asn1_derive-0.20.0.sha256sum] = "a200809d0138620b3dba989f1d08d0620e76248bc1e62a2ec1b2df5eb1ee08ad"
+SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
 SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
 SRC_URI[bitflags-2.6.0.sha256sum] = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
-SRC_URI[cc-1.1.6.sha256sum] = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f"
+SRC_URI[cc-1.2.1.sha256sum] = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47"
 SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
-SRC_URI[libc-0.2.155.sha256sum] = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+SRC_URI[itoa-1.0.14.sha256sum] = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
+SRC_URI[libc-0.2.166.sha256sum] = "c2ccc108bbc0b1331bd061864e7cd823c0cab660bbe6970e66e2c0614decde36"
 SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
-SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
 SRC_URI[openssl-0.10.68.sha256sum] = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5"
 SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 SRC_URI[openssl-sys-0.9.104.sha256sum] = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
 SRC_URI[pem-3.0.4.sha256sum] = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae"
-SRC_URI[pkg-config-0.3.30.sha256sum] = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
-SRC_URI[portable-atomic-1.7.0.sha256sum] = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265"
-SRC_URI[proc-macro2-1.0.86.sha256sum] = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
-SRC_URI[pyo3-0.22.2.sha256sum] = "831e8e819a138c36e212f3af3fd9eeffed6bf1510a805af35b0edee5ffa59433"
-SRC_URI[pyo3-build-config-0.22.2.sha256sum] = "1e8730e591b14492a8945cdff32f089250b05f5accecf74aeddf9e8272ce1fa8"
-SRC_URI[pyo3-ffi-0.22.2.sha256sum] = "5e97e919d2df92eb88ca80a037969f44e5e70356559654962cbb3316d00300c6"
-SRC_URI[pyo3-macros-0.22.2.sha256sum] = "eb57983022ad41f9e683a599f2fd13c3664d7063a3ac5714cae4b7bee7d3f206"
-SRC_URI[pyo3-macros-backend-0.22.2.sha256sum] = "ec480c0c51ddec81019531705acac51bcdbeae563557c982aa8263bb96880372"
-SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+SRC_URI[pkg-config-0.3.31.sha256sum] = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+SRC_URI[portable-atomic-1.10.0.sha256sum] = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6"
+SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0"
+SRC_URI[pyo3-0.23.2.sha256sum] = "f54b3d09cbdd1f8c20650b28e7b09e338881482f4aa908a5f61a00c98fba2690"
+SRC_URI[pyo3-build-config-0.23.2.sha256sum] = "3015cf985888fe66cfb63ce0e321c603706cd541b7aec7ddd35c281390af45d8"
+SRC_URI[pyo3-ffi-0.23.2.sha256sum] = "6fca7cd8fd809b5ac4eefb89c1f98f7a7651d3739dfb341ca6980090f554c270"
+SRC_URI[pyo3-macros-0.23.2.sha256sum] = "34e657fa5379a79151b6ff5328d9216a84f55dc93b17b08e7c3609a969b73aa0"
+SRC_URI[pyo3-macros-backend-0.23.2.sha256sum] = "295548d5ffd95fd1981d2d3cf4458831b21d60af046b729b6fd143b0ba7aee2f"
+SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
 SRC_URI[self_cell-1.0.4.sha256sum] = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a"
-SRC_URI[syn-2.0.71.sha256sum] = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
-SRC_URI[target-lexicon-0.12.15.sha256sum] = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2"
-SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+SRC_URI[syn-2.0.89.sha256sum] = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e"
+SRC_URI[target-lexicon-0.12.16.sha256sum] = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
+SRC_URI[unicode-ident-1.0.14.sha256sum] = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
 SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
 SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-vectors.bb b/poky/meta/recipes-devtools/python/python3-cryptography-vectors.bb
index 02d10db..8eae2c3 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography-vectors.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-vectors.bb
@@ -9,9 +9,10 @@
 # NOTE: Make sure to keep this recipe at the same version as python3-cryptography
 #       Upgrade both recipes at the same time
 require python3-cryptography-common.inc
-SRC_URI[sha256sum] = "ff6a885265f484e8907277614b73e9c774b01658623ad763dde2858188e486b4"
+SRC_URI[sha256sum] = "106228766c45b9a5ffd1a8b3e254f0560c821da79d5cd7fd113a17e3753580ab"
 
 PYPI_PACKAGE = "cryptography_vectors"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography.bb b/poky/meta/recipes-devtools/python/python3-cryptography.bb
index 484dc11..69329ec 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography.bb
+++ b/poky/meta/recipes-devtools/python/python3-cryptography.bb
@@ -11,7 +11,7 @@
 # NOTE: Make sure to keep this recipe at the same version as python3-cryptography-vectors
 #       Upgrade both recipes at the same time
 require python3-cryptography-common.inc
-SRC_URI[sha256sum] = "315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"
+SRC_URI[sha256sum] = "cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02"
 
 SRC_URI += "file://0001-pyproject.toml-remove-benchmark-disable-option.patch \
             file://check-memfree.py \
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch b/poky/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch
index 4dcaa5d..b9659eb 100644
--- a/poky/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch
+++ b/poky/meta/recipes-devtools/python/python3-cryptography/0001-pyproject.toml-remove-benchmark-disable-option.patch
@@ -1,4 +1,4 @@
-From e12a40966069083ed0a3dd270d9271f9cd5a5941 Mon Sep 17 00:00:00 2001
+From b8d6e70280367b84af1fc776d35554ffd6996994 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Tue, 17 May 2022 17:22:48 +0800
 Subject: [PATCH] pyproject.toml: remove --benchmark-disable option
@@ -26,10 +26,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/pyproject.toml b/pyproject.toml
-index 03b178d..2ddcb48 100644
+index 949d684..8c62432 100644
 --- a/pyproject.toml
 +++ b/pyproject.toml
-@@ -117,7 +117,7 @@ exclude = [
+@@ -118,7 +118,7 @@ exclude = [
  ]
  
  [tool.pytest.ini_options]
diff --git a/poky/meta/recipes-devtools/python/python3-cython_3.0.11.bb b/poky/meta/recipes-devtools/python/python3-cython_3.0.11.bb
index 2501e6e..c1d45ea 100644
--- a/poky/meta/recipes-devtools/python/python3-cython_3.0.11.bb
+++ b/poky/meta/recipes-devtools/python/python3-cython_3.0.11.bb
@@ -15,8 +15,6 @@
 # No need to depend on self
 DEPENDS:remove = "python3-cython-native"
 
-UPSTREAM_CHECK_PYPI_PACKAGE = "Cython"
-
 do_install:append() {
     # rename scripts that would conflict with the Python 2 build of Cython
     mv ${D}${bindir}/cython ${D}${bindir}/cython3
diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.32.2.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.33.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-dbusmock_0.32.2.bb
rename to poky/meta/recipes-devtools/python/python3-dbusmock_0.33.0.bb
index 436b82d..c0ea64b 100644
--- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.32.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.33.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
-SRC_URI[sha256sum] = "357c269d53a5bb3f87983bec7ff700a0c4d071481f7cf7221ec8376224fc4316"
+SRC_URI[sha256sum] = "04efd311dd1063ac2b8f7baa79a026b5c0aa3ed4ef18cd9226f52a273fa6193a"
 
 PYPI_PACKAGE = "python-dbusmock"
 
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.43.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.43.bb
index 45c9881..2126b5e 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.43.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.43.bb
@@ -9,6 +9,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5279a7ab369ba336989dcf2a107e5c8e"
 
 PYPI_PACKAGE = "GitPython"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.11.bb b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.12.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-gitdb_4.0.11.bb
rename to poky/meta/recipes-devtools/python/python3-gitdb_4.0.12.bb
index 25e1a2d..0b7eec8 100644
--- a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.11.bb
+++ b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.12.bb
@@ -10,7 +10,7 @@
 
 PYPI_PACKAGE = "gitdb"
 
-SRC_URI[sha256sum] = "bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"
+SRC_URI[sha256sum] = "5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"
 
 RDEPENDS:${PN} += "python3-compression \
                    python3-crypt \
diff --git a/poky/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb b/poky/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb
index 1e5c67f..b32527f 100644
--- a/poky/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hatch-fancy-pypi-readme_24.1.0.bb
@@ -6,9 +6,8 @@
 inherit pypi python_hatchling
 
 PYPI_PACKAGE = "hatch_fancy_pypi_readme"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 SRC_URI[sha256sum] = "44dd239f1a779b9dcf8ebc9401a611fd7f7e3e14578dcf22c265dfaf7c1514b8"
 
 BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_REGEX = "/hatch-fancy-pypi-readme/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb b/poky/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb
index 2e49aba..ac70295 100644
--- a/poky/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hatch-vcs_0.4.0.bb
@@ -6,9 +6,8 @@
 inherit pypi python_hatchling
 
 PYPI_PACKAGE = "hatch_vcs"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 SRC_URI[sha256sum] = "093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7"
 
 BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_REGEX = "/hatch-vcs/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-hatchling_1.26.3.bb b/poky/meta/recipes-devtools/python/python3-hatchling_1.27.0.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-hatchling_1.26.3.bb
rename to poky/meta/recipes-devtools/python/python3-hatchling_1.27.0.bb
index 590456a..5239d81 100644
--- a/poky/meta/recipes-devtools/python/python3-hatchling_1.26.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-hatchling_1.27.0.bb
@@ -8,7 +8,7 @@
 DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native"
 DEPENDS:remove:class-native = "python3-hatchling-native"
 
-SRC_URI[sha256sum] = "b672a9c36a601a06c4e88a1abb1330639ee8e721e0535a37536e546a667efc7a"
+SRC_URI[sha256sum] = "971c296d9819abb3811112fc52c7a9751c8d381898f36533bb16f9791e941fd6"
 
 do_compile:prepend() {
     export PYTHONPATH=src
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.119.4.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.123.2.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.119.4.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.123.2.bb
index 66e7b2e..5f13a6c 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.119.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.123.2.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "1a7d12709c0e96c1d85aca76d1594b34b5958623e00511592eba674acd4f3392"
+SRC_URI[sha256sum] = "02c25552783764146b191c69eef69d8375827b58a75074055705ab8fdbc95fc5"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-idna/run-ptest b/poky/meta/recipes-devtools/python/python3-idna/run-ptest
deleted file mode 100644
index d9693bb..0000000
--- a/poky/meta/recipes-devtools/python/python3-idna/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-python3 -mputao.unittest discover --top-level-directory . --start-directory tests
diff --git a/poky/meta/recipes-devtools/python/python3-idna_3.10.bb b/poky/meta/recipes-devtools/python/python3-idna_3.10.bb
index 854dc35..bd6529e 100644
--- a/poky/meta/recipes-devtools/python/python3-idna_3.10.bb
+++ b/poky/meta/recipes-devtools/python/python3-idna_3.10.bb
@@ -5,13 +5,7 @@
 
 SRC_URI[sha256sum] = "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"
 
-SRC_URI += "file://run-ptest"
-
-inherit pypi python_flit_core ptest
-
-do_install_ptest() {
-    cp -r ${S}/tests ${D}${PTEST_PATH}/
-}
+inherit pypi python_flit_core ptest-python-pytest
 
 RDEPENDS:${PN} += "python3-codecs"
 RDEPENDS:${PN}-ptest += "python3-unittest-automake-output"
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2/fix-3.13.patch b/poky/meta/recipes-devtools/python/python3-jinja2/fix-3.13.patch
deleted file mode 100644
index 34ecd15..0000000
--- a/poky/meta/recipes-devtools/python/python3-jinja2/fix-3.13.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From cf6ba7732b49ab4637aa747186cf1d1572688584 Mon Sep 17 00:00:00 2001
-From: Thomas Grainger <tagrain@gmail.com>
-Date: Mon, 13 May 2024 18:02:35 +0100
-Subject: [PATCH] fix test_package_zip_list on 3.13
-
-Upstream-Status: Backport [https://github.com/pallets/jinja/pull/1979]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/jinja2/loaders.py | 32 ++++++++++++++++++++++++++------
- tests/test_loader.py  |  4 ++--
- 2 files changed, 28 insertions(+), 8 deletions(-)
-
-diff --git a/src/jinja2/loaders.py b/src/jinja2/loaders.py
-index 9eaf647..8c2c86c 100644
---- a/src/jinja2/loaders.py
-+++ b/src/jinja2/loaders.py
-@@ -238,6 +238,30 @@ class FileSystemLoader(BaseLoader):
-         return sorted(found)
- 
- 
-+if sys.version_info >= (3, 13):
-+
-+    def _get_zipimporter_files(z: t.Any) -> t.Dict[str, object]:
-+        try:
-+            get_files = z._get_files
-+        except AttributeError as e:
-+            raise TypeError(
-+                "This zip import does not have the required"
-+                " metadata to list templates."
-+            ) from e
-+        return get_files()
-+else:
-+
-+    def _get_zipimporter_files(z: t.Any) -> t.Dict[str, object]:
-+        try:
-+            files = z._files
-+        except AttributeError as e:
-+            raise TypeError(
-+                "This zip import does not have the required"
-+                " metadata to list templates."
-+            ) from e
-+        return files  # type: ignore[no-any-return]
-+
-+
- class PackageLoader(BaseLoader):
-     """Load templates from a directory in a Python package.
- 
-@@ -382,11 +406,7 @@ class PackageLoader(BaseLoader):
-                     for name in filenames
-                 )
-         else:
--            if not hasattr(self._loader, "_files"):
--                raise TypeError(
--                    "This zip import does not have the required"
--                    " metadata to list templates."
--                )
-+            files = _get_zipimporter_files(self._loader)
- 
-             # Package is a zip file.
-             prefix = (
-@@ -395,7 +415,7 @@ class PackageLoader(BaseLoader):
-             )
-             offset = len(prefix)
- 
--            for name in self._loader._files.keys():
-+            for name in files:
-                 # Find names under the templates directory that aren't directories.
-                 if name.startswith(prefix) and name[-1] != os.path.sep:
-                     results.append(name[offset:].replace(os.path.sep, "/"))
-diff --git a/tests/test_loader.py b/tests/test_loader.py
-index 77d686e..e0683e4 100644
---- a/tests/test_loader.py
-+++ b/tests/test_loader.py
-@@ -364,8 +364,8 @@ def test_package_zip_source(package_zip_loader, template, expect):
- 
- 
- @pytest.mark.xfail(
--    platform.python_implementation() == "PyPy",
--    reason="PyPy's zipimporter doesn't have a '_files' attribute.",
-+    sys.implementation.name == "pypy",
-+    reason="zipimporter doesn't have a '_files' attribute",
-     raises=TypeError,
- )
- def test_package_zip_list(package_zip_loader):
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest b/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-jinja2/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_3.1.4.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.5.bb
similarity index 64%
rename from poky/meta/recipes-devtools/python/python3-jinja2_3.1.4.bb
rename to poky/meta/recipes-devtools/python/python3-jinja2_3.1.5.bb
index a118784..b9ef57f 100644
--- a/poky/meta/recipes-devtools/python/python3-jinja2_3.1.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dc88300786f1c214c1e9827a5229462"
 
-SRC_URI[sha256sum] = "4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"
+SRC_URI[sha256sum] = "8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"
 
 PYPI_PACKAGE = "jinja2"
 
@@ -12,22 +12,14 @@
 
 CLEANBROKEN = "1"
 
-inherit pypi python_flit_core ptest
-UPSTREAM_CHECK_PYPI_PACKAGE = "Jinja2"
+inherit pypi python_flit_core ptest-python-pytest
 
-SRC_URI += " \
-	file://run-ptest \
-	file://fix-3.13.patch \
-"
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+do_install_ptest:append() {
+    # test_async items require trio module
+    rm -f ${D}${PTEST_PATH}/tests/test_async.py ${D}${PTEST_PATH}/tests/test_async_filters.py
 }
 
 RDEPENDS:${PN}-ptest += " \
-    python3-pytest \
-    python3-unittest-automake-output \
     python3-unixadmin \
 "
 
diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2024.10.1.bb b/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2024.10.1.bb
index 6ef83e0..c45e5c2 100644
--- a/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2024.10.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2024.10.1.bb
@@ -10,6 +10,7 @@
 inherit pypi python_hatchling
 
 PYPI_PACKAGE = "jsonschema_specifications"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 DEPENDS += "python3-hatch-vcs-native"
 
diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb
index 333831c..8b5de01 100644
--- a/poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_5.1.bb
@@ -13,7 +13,7 @@
 
 PYPI_PACKAGE = "libarchive-c"
 
-inherit pypi setuptools3 ptest
+inherit pypi setuptools3 ptest-python-pytest
 
 SRC_URI[sha256sum] = "7bcce24ea6c0fa3bc62468476c6d2f6264156db2f04878a372027c10615a2721"
 
@@ -34,16 +34,12 @@
 
 RDEPENDS:${PN}-ptest += " \
         locale-base-en-us \
-        python3-pytest \
-        python3-unittest-automake-output \
 "
 
 BBCLASSEXTEND = "native"
 
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
+do_install_ptest:append() {
     install -d ${D}${PTEST_PATH}/libarchive
-    cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/
     cp ${S}/libarchive/* ${D}${PTEST_PATH}/libarchive/
     cp ${S}/README.rst ${D}${PTEST_PATH}/README.rst
 }
diff --git a/poky/meta/recipes-devtools/python/python3-license-expression/run-ptest b/poky/meta/recipes-devtools/python/python3-license-expression/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-license-expression/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-license-expression_30.4.0.bb b/poky/meta/recipes-devtools/python/python3-license-expression_30.4.0.bb
index 7a03520..3af739b 100644
--- a/poky/meta/recipes-devtools/python/python3-license-expression_30.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-license-expression_30.4.0.bb
@@ -6,8 +6,9 @@
 
 SRC_URI[sha256sum] = "6464397f8ed4353cc778999caec43b099f8d8d5b335f282e26a9eb9435522f05"
 
-inherit pypi ptest python_setuptools_build_meta
+inherit pypi ptest-python-pytest python_setuptools_build_meta
 PYPI_PACKAGE = "license_expression"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 DEPENDS += "python3-setuptools-scm-native"
 
@@ -21,19 +22,8 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI += " \
-	file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
-"
-
 do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
     install -d ${D}${PTEST_PATH}/src
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
     cp -rf ${S}/src/* ${D}${PTEST_PATH}/src/
     cp -rf ${S}/setup.cfg ${D}${PTEST_PATH}/
 }
diff --git a/poky/meta/recipes-devtools/python/python3-mako/run-ptest b/poky/meta/recipes-devtools/python/python3-mako/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-mako/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.3.6.bb b/poky/meta/recipes-devtools/python/python3-mako_1.3.6.bb
deleted file mode 100644
index 6d33499..0000000
--- a/poky/meta/recipes-devtools/python/python3-mako_1.3.6.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Templating library for Python"
-HOMEPAGE = "http://www.makotemplates.org/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d0995d6f7ba3f186a03118f244e88f57"
-
-PYPI_PACKAGE = "mako"
-UPSTREAM_CHECK_PYPI_PACKAGE = "Mako"
-
-inherit pypi python_setuptools_build_meta ptest
-
-SRC_URI:append = " \
-    file://run-ptest \
-"
-
-SRC_URI[sha256sum] = "9ec3a1583713479fae654f83ed9fa8c9a4c16b7bb0daba0e6bbebff50c0d983d"
-
-RDEPENDS:${PN} = "python3-html \
-                  python3-markupsafe \
-                  python3-misc \
-                  python3-netclient \
-                  python3-pygments \
-                  python3-threading \
-"
-
-RDEPENDS:${PN}-ptest += "\
-    python3-pytest \
-    python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/test
-    install -m 0644 ${S}/setup.cfg ${D}${PTEST_PATH}/
-    cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.3.8.bb b/poky/meta/recipes-devtools/python/python3-mako_1.3.8.bb
new file mode 100644
index 0000000..3cfe56e
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.3.8.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Templating library for Python"
+HOMEPAGE = "http://www.makotemplates.org/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d0995d6f7ba3f186a03118f244e88f57"
+
+PYPI_PACKAGE = "mako"
+
+inherit pypi python_setuptools_build_meta ptest-python-pytest
+
+
+
+SRC_URI[sha256sum] = "577b97e414580d3e088d47c2dbbe9594aa7a5146ed2875d4dfa9075af2dd3cc8"
+
+RDEPENDS:${PN} = "python3-html \
+                  python3-markupsafe \
+                  python3-misc \
+                  python3-netclient \
+                  python3-pygments \
+                  python3-threading \
+"
+
+PTEST_PYTEST_DIR = "test"
+
+do_install_ptest:append() {
+    install -m 0644 ${S}/setup.cfg ${D}${PTEST_PATH}/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.7.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.7.bb
index 619779d..6a2ab36 100644
--- a/poky/meta/recipes-devtools/python/python3-markdown_3.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.7.bb
@@ -5,7 +5,6 @@
 
 inherit pypi python_setuptools_build_meta
 
-UPSTREAM_CHECK_PYPI_PACKAGE = "Markdown"
 SRC_URI[sha256sum] = "2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest b/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-markupsafe/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb
index 7e48bc3..b90dd84 100644
--- a/poky/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-markupsafe_3.0.2.bb
@@ -6,23 +6,8 @@
 SRC_URI[sha256sum] = "ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"
 
 PYPI_PACKAGE = "markupsafe"
-UPSTREAM_CHECK_PYPI_PACKAGE = "MarkupSafe"
-inherit pypi python_setuptools_build_meta ptest
+inherit pypi python_setuptools_build_meta ptest-python-pytest
 
 RDEPENDS:${PN} += "python3-html python3-stringold"
 
 BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI += " \
-	file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -f ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
diff --git a/poky/meta/recipes-devtools/python/python3-maturin-crates.inc b/poky/meta/recipes-devtools/python/python3-maturin-crates.inc
index 3ff5e4e..abb8fe4 100644
--- a/poky/meta/recipes-devtools/python/python3-maturin-crates.inc
+++ b/poky/meta/recipes-devtools/python/python3-maturin-crates.inc
@@ -12,6 +12,7 @@
     crate://crates.io/anstyle-query/1.1.0 \
     crate://crates.io/anstyle-wincon/3.0.3 \
     crate://crates.io/anyhow/1.0.89 \
+    crate://crates.io/arbitrary/1.4.1 \
     crate://crates.io/autocfg/1.3.0 \
     crate://crates.io/automod/1.0.14 \
     crate://crates.io/base64/0.21.7 \
@@ -20,22 +21,23 @@
     crate://crates.io/bitflags/2.5.0 \
     crate://crates.io/block-buffer/0.10.4 \
     crate://crates.io/bstr/1.10.0 \
+    crate://crates.io/bumpalo/3.16.0 \
     crate://crates.io/byteorder/1.5.0 \
     crate://crates.io/bytes/1.7.1 \
     crate://crates.io/bytesize/1.3.0 \
     crate://crates.io/bzip2/0.4.4 \
     crate://crates.io/bzip2-sys/0.1.11+1.0.8 \
-    crate://crates.io/cab/0.5.0 \
+    crate://crates.io/cab/0.6.0 \
     crate://crates.io/camino/1.1.9 \
-    crate://crates.io/cargo-config2/0.1.26 \
+    crate://crates.io/cargo-config2/0.1.30 \
     crate://crates.io/cargo-options/0.7.4 \
     crate://crates.io/cargo-platform/0.1.8 \
-    crate://crates.io/cargo-xwin/0.16.5 \
-    crate://crates.io/cargo-zigbuild/0.19.3 \
-    crate://crates.io/cargo_metadata/0.18.1 \
-    crate://crates.io/cbindgen/0.26.0 \
+    crate://crates.io/cargo-xwin/0.18.3 \
+    crate://crates.io/cargo-zigbuild/0.19.7 \
+    crate://crates.io/cargo_metadata/0.19.0 \
+    crate://crates.io/cbindgen/0.27.0 \
     crate://crates.io/cc/1.1.21 \
-    crate://crates.io/cfb/0.9.0 \
+    crate://crates.io/cfb/0.10.0 \
     crate://crates.io/cfg-if/1.0.0 \
     crate://crates.io/charset/0.1.5 \
     crate://crates.io/chumsky/0.9.3 \
@@ -65,11 +67,13 @@
     crate://crates.io/data-encoding/2.6.0 \
     crate://crates.io/deranged/0.3.11 \
     crate://crates.io/derivative/2.2.0 \
+    crate://crates.io/derive_arbitrary/1.4.1 \
     crate://crates.io/dialoguer/0.11.0 \
     crate://crates.io/diff/0.1.13 \
     crate://crates.io/digest/0.10.7 \
     crate://crates.io/dirs/5.0.1 \
     crate://crates.io/dirs-sys/0.4.1 \
+    crate://crates.io/displaydoc/0.2.5 \
     crate://crates.io/dissimilar/1.0.9 \
     crate://crates.io/dunce/1.0.5 \
     crate://crates.io/dyn-clone/1.0.17 \
@@ -80,39 +84,49 @@
     crate://crates.io/errno/0.3.9 \
     crate://crates.io/expect-test/1.5.0 \
     crate://crates.io/fastrand/2.1.0 \
-    crate://crates.io/fat-macho/0.4.8 \
+    crate://crates.io/fat-macho/0.4.9 \
     crate://crates.io/filetime/0.2.23 \
     crate://crates.io/flate2/1.0.33 \
     crate://crates.io/fnv/1.0.7 \
     crate://crates.io/foreign-types/0.3.2 \
     crate://crates.io/foreign-types-shared/0.1.1 \
     crate://crates.io/form_urlencoded/1.2.1 \
-    crate://crates.io/fs-err/2.11.0 \
+    crate://crates.io/fs-err/3.0.0 \
+    crate://crates.io/fs4/0.12.0 \
     crate://crates.io/futures/0.3.30 \
-    crate://crates.io/futures-channel/0.3.30 \
-    crate://crates.io/futures-core/0.3.30 \
+    crate://crates.io/futures-channel/0.3.31 \
+    crate://crates.io/futures-core/0.3.31 \
     crate://crates.io/futures-executor/0.3.30 \
-    crate://crates.io/futures-io/0.3.30 \
-    crate://crates.io/futures-macro/0.3.30 \
-    crate://crates.io/futures-sink/0.3.30 \
-    crate://crates.io/futures-task/0.3.30 \
+    crate://crates.io/futures-io/0.3.31 \
+    crate://crates.io/futures-macro/0.3.31 \
+    crate://crates.io/futures-sink/0.3.31 \
+    crate://crates.io/futures-task/0.3.31 \
     crate://crates.io/futures-timer/3.0.3 \
-    crate://crates.io/futures-util/0.3.30 \
+    crate://crates.io/futures-util/0.3.31 \
     crate://crates.io/generic-array/0.14.7 \
     crate://crates.io/getrandom/0.2.15 \
     crate://crates.io/glob/0.3.1 \
     crate://crates.io/globset/0.4.15 \
-    crate://crates.io/goblin/0.8.2 \
-    crate://crates.io/hashbrown/0.12.3 \
+    crate://crates.io/goblin/0.9.2 \
     crate://crates.io/hashbrown/0.14.5 \
     crate://crates.io/heck/0.4.1 \
     crate://crates.io/heck/0.5.0 \
     crate://crates.io/home/0.5.9 \
     crate://crates.io/humantime/2.1.0 \
     crate://crates.io/humantime-serde/1.1.1 \
-    crate://crates.io/idna/0.5.0 \
+    crate://crates.io/icu_collections/1.5.0 \
+    crate://crates.io/icu_locid/1.5.0 \
+    crate://crates.io/icu_locid_transform/1.5.0 \
+    crate://crates.io/icu_locid_transform_data/1.5.0 \
+    crate://crates.io/icu_normalizer/1.5.0 \
+    crate://crates.io/icu_normalizer_data/1.5.0 \
+    crate://crates.io/icu_properties/1.5.1 \
+    crate://crates.io/icu_properties_data/1.5.0 \
+    crate://crates.io/icu_provider/1.5.0 \
+    crate://crates.io/icu_provider_macros/1.5.0 \
+    crate://crates.io/idna/1.0.3 \
+    crate://crates.io/idna_adapter/1.2.0 \
     crate://crates.io/ignore/0.4.23 \
-    crate://crates.io/indexmap/1.9.3 \
     crate://crates.io/indexmap/2.5.0 \
     crate://crates.io/indicatif/0.17.8 \
     crate://crates.io/indoc/2.0.5 \
@@ -122,14 +136,17 @@
     crate://crates.io/itoa/1.0.11 \
     crate://crates.io/keyring/2.3.3 \
     crate://crates.io/lazy_static/1.4.0 \
-    crate://crates.io/lddtree/0.3.5 \
+    crate://crates.io/lddtree/0.3.7 \
     crate://crates.io/libc/0.2.158 \
     crate://crates.io/libmimalloc-sys/0.1.38 \
     crate://crates.io/libredox/0.1.3 \
     crate://crates.io/linux-keyutils/0.2.4 \
     crate://crates.io/linux-raw-sys/0.4.14 \
+    crate://crates.io/litemap/0.7.3 \
     crate://crates.io/lock_api/0.4.12 \
+    crate://crates.io/lockfree-object-pool/0.1.6 \
     crate://crates.io/log/0.4.21 \
+    crate://crates.io/lzma-sys/0.1.20 \
     crate://crates.io/lzxd/0.2.5 \
     crate://crates.io/mailparse/0.15.0 \
     crate://crates.io/matchers/0.1.0 \
@@ -137,10 +154,10 @@
     crate://crates.io/mimalloc/0.1.42 \
     crate://crates.io/mime/0.3.17 \
     crate://crates.io/mime_guess/2.0.4 \
-    crate://crates.io/minijinja/1.0.21 \
+    crate://crates.io/minijinja/2.5.0 \
     crate://crates.io/minimal-lexical/0.2.1 \
     crate://crates.io/miniz_oxide/0.8.0 \
-    crate://crates.io/msi/0.7.0 \
+    crate://crates.io/msi/0.8.0 \
     crate://crates.io/multipart/0.18.0 \
     crate://crates.io/native-tls/0.2.12 \
     crate://crates.io/nom/7.1.3 \
@@ -177,7 +194,7 @@
     crate://crates.io/proc-macro2/1.0.85 \
     crate://crates.io/psm/0.1.21 \
     crate://crates.io/pyproject-toml/0.11.0 \
-    crate://crates.io/python-pkginfo/0.6.3 \
+    crate://crates.io/python-pkginfo/0.6.5 \
     crate://crates.io/quote/1.0.36 \
     crate://crates.io/quoted_printable/0.5.0 \
     crate://crates.io/rand/0.8.5 \
@@ -194,17 +211,17 @@
     crate://crates.io/regex-syntax/0.6.29 \
     crate://crates.io/regex-syntax/0.8.4 \
     crate://crates.io/relative-path/1.9.3 \
-    crate://crates.io/rfc2047-decoder/1.0.5 \
+    crate://crates.io/rfc2047-decoder/1.0.6 \
     crate://crates.io/ring/0.17.8 \
     crate://crates.io/rstest/0.22.0 \
     crate://crates.io/rstest_macros/0.22.0 \
     crate://crates.io/rustc_version/0.4.1 \
     crate://crates.io/rustflags/0.1.6 \
     crate://crates.io/rustix/0.38.34 \
-    crate://crates.io/rustls/0.22.4 \
+    crate://crates.io/rustls/0.23.19 \
     crate://crates.io/rustls-pemfile/2.1.3 \
-    crate://crates.io/rustls-pki-types/1.7.0 \
-    crate://crates.io/rustls-webpki/0.102.4 \
+    crate://crates.io/rustls-pki-types/1.10.0 \
+    crate://crates.io/rustls-webpki/0.102.8 \
     crate://crates.io/rustversion/1.0.17 \
     crate://crates.io/ryu/1.0.18 \
     crate://crates.io/same-file/1.0.6 \
@@ -217,15 +234,16 @@
     crate://crates.io/security-framework/2.11.0 \
     crate://crates.io/security-framework-sys/2.11.0 \
     crate://crates.io/semver/1.0.23 \
-    crate://crates.io/serde/1.0.210 \
-    crate://crates.io/serde_derive/1.0.210 \
+    crate://crates.io/serde/1.0.216 \
+    crate://crates.io/serde_derive/1.0.216 \
     crate://crates.io/serde_derive_internals/0.29.1 \
-    crate://crates.io/serde_json/1.0.128 \
+    crate://crates.io/serde_json/1.0.133 \
     crate://crates.io/serde_spanned/0.6.6 \
     crate://crates.io/sha2/0.10.8 \
     crate://crates.io/sharded-slab/0.1.7 \
     crate://crates.io/shell-words/1.1.0 \
     crate://crates.io/shlex/1.3.0 \
+    crate://crates.io/simd-adler32/0.3.7 \
     crate://crates.io/similar/2.5.0 \
     crate://crates.io/slab/0.4.9 \
     crate://crates.io/smallvec/1.13.2 \
@@ -234,27 +252,29 @@
     crate://crates.io/snapbox-macros/0.3.10 \
     crate://crates.io/socks/0.3.4 \
     crate://crates.io/spin/0.9.8 \
+    crate://crates.io/stable_deref_trait/1.2.0 \
     crate://crates.io/stacker/0.1.15 \
     crate://crates.io/static_assertions/1.1.0 \
     crate://crates.io/strsim/0.11.1 \
     crate://crates.io/subtle/2.5.0 \
     crate://crates.io/syn/1.0.109 \
-    crate://crates.io/syn/2.0.76 \
-    crate://crates.io/tar/0.4.42 \
-    crate://crates.io/target-lexicon/0.12.16 \
+    crate://crates.io/syn/2.0.87 \
+    crate://crates.io/synstructure/0.13.1 \
+    crate://crates.io/tar/0.4.43 \
+    crate://crates.io/target-lexicon/0.13.0 \
     crate://crates.io/tempfile/3.11.0 \
     crate://crates.io/termcolor/1.4.1 \
     crate://crates.io/terminal_size/0.3.0 \
     crate://crates.io/textwrap/0.16.1 \
     crate://crates.io/thiserror/1.0.64 \
+    crate://crates.io/thiserror/2.0.3 \
     crate://crates.io/thiserror-impl/1.0.64 \
+    crate://crates.io/thiserror-impl/2.0.3 \
     crate://crates.io/thread_local/1.1.8 \
     crate://crates.io/time/0.3.36 \
     crate://crates.io/time-core/0.1.2 \
     crate://crates.io/time-macros/0.2.18 \
-    crate://crates.io/tinyvec/1.7.0 \
-    crate://crates.io/tinyvec_macros/0.1.1 \
-    crate://crates.io/toml/0.5.11 \
+    crate://crates.io/tinystr/0.7.6 \
     crate://crates.io/toml/0.8.15 \
     crate://crates.io/toml_datetime/0.6.6 \
     crate://crates.io/toml_edit/0.21.1 \
@@ -269,17 +289,17 @@
     crate://crates.io/twox-hash/1.6.3 \
     crate://crates.io/typenum/1.17.0 \
     crate://crates.io/unicase/2.7.0 \
-    crate://crates.io/unicode-bidi/0.3.15 \
     crate://crates.io/unicode-ident/1.0.12 \
     crate://crates.io/unicode-linebreak/0.1.5 \
-    crate://crates.io/unicode-normalization/0.1.23 \
     crate://crates.io/unicode-width/0.1.13 \
     crate://crates.io/unicode-xid/0.2.6 \
     crate://crates.io/unscanny/0.1.0 \
     crate://crates.io/untrusted/0.9.0 \
-    crate://crates.io/ureq/2.9.7 \
-    crate://crates.io/url/2.5.2 \
+    crate://crates.io/ureq/2.11.0 \
+    crate://crates.io/url/2.5.4 \
     crate://crates.io/urlencoding/2.1.3 \
+    crate://crates.io/utf16_iter/1.0.5 \
+    crate://crates.io/utf8_iter/1.0.4 \
     crate://crates.io/utf8parse/0.2.2 \
     crate://crates.io/uuid/1.8.0 \
     crate://crates.io/valuable/0.1.0 \
@@ -290,8 +310,7 @@
     crate://crates.io/walkdir/2.5.0 \
     crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
     crate://crates.io/webpki-roots/0.26.2 \
-    crate://crates.io/which/5.0.0 \
-    crate://crates.io/which/6.0.3 \
+    crate://crates.io/which/7.0.0 \
     crate://crates.io/wild/2.2.1 \
     crate://crates.io/winapi/0.3.9 \
     crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
@@ -300,32 +319,42 @@
     crate://crates.io/windows-sys/0.48.0 \
     crate://crates.io/windows-sys/0.52.0 \
     crate://crates.io/windows-targets/0.48.5 \
-    crate://crates.io/windows-targets/0.52.5 \
+    crate://crates.io/windows-targets/0.52.6 \
     crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
-    crate://crates.io/windows_aarch64_gnullvm/0.52.5 \
+    crate://crates.io/windows_aarch64_gnullvm/0.52.6 \
     crate://crates.io/windows_aarch64_msvc/0.48.5 \
-    crate://crates.io/windows_aarch64_msvc/0.52.5 \
+    crate://crates.io/windows_aarch64_msvc/0.52.6 \
     crate://crates.io/windows_i686_gnu/0.48.5 \
-    crate://crates.io/windows_i686_gnu/0.52.5 \
-    crate://crates.io/windows_i686_gnullvm/0.52.5 \
+    crate://crates.io/windows_i686_gnu/0.52.6 \
+    crate://crates.io/windows_i686_gnullvm/0.52.6 \
     crate://crates.io/windows_i686_msvc/0.48.5 \
-    crate://crates.io/windows_i686_msvc/0.52.5 \
+    crate://crates.io/windows_i686_msvc/0.52.6 \
     crate://crates.io/windows_x86_64_gnu/0.48.5 \
-    crate://crates.io/windows_x86_64_gnu/0.52.5 \
+    crate://crates.io/windows_x86_64_gnu/0.52.6 \
     crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
-    crate://crates.io/windows_x86_64_gnullvm/0.52.5 \
+    crate://crates.io/windows_x86_64_gnullvm/0.52.6 \
     crate://crates.io/windows_x86_64_msvc/0.48.5 \
-    crate://crates.io/windows_x86_64_msvc/0.52.5 \
+    crate://crates.io/windows_x86_64_msvc/0.52.6 \
     crate://crates.io/winnow/0.5.40 \
     crate://crates.io/winnow/0.6.13 \
     crate://crates.io/winsafe/0.0.19 \
+    crate://crates.io/write16/1.0.0 \
+    crate://crates.io/writeable/0.5.5 \
     crate://crates.io/xattr/1.3.1 \
-    crate://crates.io/xwin/0.5.1 \
+    crate://crates.io/xwin/0.6.5 \
+    crate://crates.io/xz2/0.1.7 \
     crate://crates.io/yansi/1.0.1 \
+    crate://crates.io/yoke/0.7.4 \
+    crate://crates.io/yoke-derive/0.7.5 \
     crate://crates.io/zerocopy/0.7.34 \
     crate://crates.io/zerocopy-derive/0.7.34 \
+    crate://crates.io/zerofrom/0.1.4 \
+    crate://crates.io/zerofrom-derive/0.1.5 \
     crate://crates.io/zeroize/1.8.1 \
-    crate://crates.io/zip/0.6.6 \
+    crate://crates.io/zerovec/0.10.4 \
+    crate://crates.io/zerovec-derive/0.10.3 \
+    crate://crates.io/zip/2.1.6 \
+    crate://crates.io/zopfli/0.8.1 \
 "
 
 SRC_URI[adler2-2.0.0.sha256sum] = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
@@ -338,6 +367,7 @@
 SRC_URI[anstyle-query-1.1.0.sha256sum] = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
 SRC_URI[anstyle-wincon-3.0.3.sha256sum] = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
 SRC_URI[anyhow-1.0.89.sha256sum] = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+SRC_URI[arbitrary-1.4.1.sha256sum] = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223"
 SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 SRC_URI[automod-1.0.14.sha256sum] = "edf3ee19dbc0a46d740f6f0926bde8c50f02bdbc7b536842da28f6ac56513a8b"
 SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
@@ -346,22 +376,23 @@
 SRC_URI[bitflags-2.5.0.sha256sum] = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
 SRC_URI[bstr-1.10.0.sha256sum] = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c"
+SRC_URI[bumpalo-3.16.0.sha256sum] = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
 SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 SRC_URI[bytes-1.7.1.sha256sum] = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
 SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
 SRC_URI[bzip2-0.4.4.sha256sum] = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
 SRC_URI[bzip2-sys-0.1.11+1.0.8.sha256sum] = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
-SRC_URI[cab-0.5.0.sha256sum] = "9e8636d870cf15918e416b7904f0db1cbd06de0ffe392986c3b16662552df00c"
+SRC_URI[cab-0.6.0.sha256sum] = "171228650e6721d5acc0868a462cd864f49ac5f64e4a42cde270406e64e404d2"
 SRC_URI[camino-1.1.9.sha256sum] = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
-SRC_URI[cargo-config2-0.1.26.sha256sum] = "d83ce0be8bd1479e5de6202def660e6c7e27e4e0599bffa4fed05bd380ec2ede"
+SRC_URI[cargo-config2-0.1.30.sha256sum] = "163a7be36509388c7bf7eb492a05431df28a2ee519087e287566c11e40d35e33"
 SRC_URI[cargo-options-0.7.4.sha256sum] = "f3540247c0a37a76eb324acc238dc617786ea22c43b95da560c82a8f2714321f"
 SRC_URI[cargo-platform-0.1.8.sha256sum] = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
-SRC_URI[cargo-xwin-0.16.5.sha256sum] = "471f6fff351fc5ab837ce7223637f7c20048e4a846708e7e58fda64db9d3a8b9"
-SRC_URI[cargo-zigbuild-0.19.3.sha256sum] = "e700178b11124560cdbabc8808e938fe6d77abde036b77a4c03a191b02bac854"
-SRC_URI[cargo_metadata-0.18.1.sha256sum] = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
-SRC_URI[cbindgen-0.26.0.sha256sum] = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49"
+SRC_URI[cargo-xwin-0.18.3.sha256sum] = "76ddeb44d5109bca38ed11f0400b0385b5ba3fc03e737d188d9b86d784daeb49"
+SRC_URI[cargo-zigbuild-0.19.7.sha256sum] = "04cc649328f39bbf1ef92ef753406e1785ff1074941c398e5214b6c74d318a9e"
+SRC_URI[cargo_metadata-0.19.0.sha256sum] = "afc309ed89476c8957c50fb818f56fe894db857866c3e163335faa91dc34eb85"
+SRC_URI[cbindgen-0.27.0.sha256sum] = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb"
 SRC_URI[cc-1.1.21.sha256sum] = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0"
-SRC_URI[cfb-0.9.0.sha256sum] = "b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f"
+SRC_URI[cfb-0.10.0.sha256sum] = "d8a4f8e55be323b378facfcf1f06aa97f6ec17cf4ac84fb17325093aaf62da41"
 SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 SRC_URI[charset-0.1.5.sha256sum] = "f1f927b07c74ba84c7e5fe4db2baeb3e996ab2688992e39ac68ce3220a677c7e"
 SRC_URI[chumsky-0.9.3.sha256sum] = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9"
@@ -391,11 +422,13 @@
 SRC_URI[data-encoding-2.6.0.sha256sum] = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
 SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 SRC_URI[derivative-2.2.0.sha256sum] = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
+SRC_URI[derive_arbitrary-1.4.1.sha256sum] = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
 SRC_URI[dialoguer-0.11.0.sha256sum] = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de"
 SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
 SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
 SRC_URI[dirs-5.0.1.sha256sum] = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
 SRC_URI[dirs-sys-0.4.1.sha256sum] = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
 SRC_URI[dissimilar-1.0.9.sha256sum] = "59f8e79d1fbf76bdfbde321e902714bf6c49df88a7dda6fc682fc2979226962d"
 SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
 SRC_URI[dyn-clone-1.0.17.sha256sum] = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
@@ -406,39 +439,49 @@
 SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
 SRC_URI[expect-test-1.5.0.sha256sum] = "9e0be0a561335815e06dab7c62e50353134c796e7a6155402a64bcff66b6a5e0"
 SRC_URI[fastrand-2.1.0.sha256sum] = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
-SRC_URI[fat-macho-0.4.8.sha256sum] = "0d4c93f393add03d72bc10dd3dea43a1610ecb29e0c0a6459c70b53b82931adf"
+SRC_URI[fat-macho-0.4.9.sha256sum] = "4c9c45caa6c6edfaee4cb3bd84ea9686e115df7f0efb530e15fb466eccb0b345"
 SRC_URI[filetime-0.2.23.sha256sum] = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
 SRC_URI[flate2-1.0.33.sha256sum] = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253"
 SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
-SRC_URI[fs-err-2.11.0.sha256sum] = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41"
+SRC_URI[fs-err-3.0.0.sha256sum] = "8bb60e7409f34ef959985bc9d9c5ee8f5db24ee46ed9775850548021710f807f"
+SRC_URI[fs4-0.12.0.sha256sum] = "c29c30684418547d476f0b48e84f4821639119c483b1eccd566c8cd0cd05f521"
 SRC_URI[futures-0.3.30.sha256sum] = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
-SRC_URI[futures-channel-0.3.30.sha256sum] = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
-SRC_URI[futures-core-0.3.30.sha256sum] = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
+SRC_URI[futures-channel-0.3.31.sha256sum] = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
+SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
 SRC_URI[futures-executor-0.3.30.sha256sum] = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
-SRC_URI[futures-io-0.3.30.sha256sum] = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
-SRC_URI[futures-macro-0.3.30.sha256sum] = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
-SRC_URI[futures-sink-0.3.30.sha256sum] = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
-SRC_URI[futures-task-0.3.30.sha256sum] = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
+SRC_URI[futures-io-0.3.31.sha256sum] = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
+SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+SRC_URI[futures-sink-0.3.31.sha256sum] = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
+SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
 SRC_URI[futures-timer-3.0.3.sha256sum] = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
-SRC_URI[futures-util-0.3.30.sha256sum] = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
+SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
 SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
 SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
 SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 SRC_URI[globset-0.4.15.sha256sum] = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19"
-SRC_URI[goblin-0.8.2.sha256sum] = "1b363a30c165f666402fe6a3024d3bec7ebc898f96a4a23bd1c99f8dbf3f4f47"
-SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+SRC_URI[goblin-0.9.2.sha256sum] = "53ab3f32d1d77146981dea5d6b1e8fe31eedcb7013e5e00d6ccd1259a4b4d923"
 SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
 SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
 SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
 SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 SRC_URI[humantime-serde-1.1.1.sha256sum] = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c"
-SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+SRC_URI[icu_collections-1.5.0.sha256sum] = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
+SRC_URI[icu_locid-1.5.0.sha256sum] = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
+SRC_URI[icu_locid_transform-1.5.0.sha256sum] = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
+SRC_URI[icu_locid_transform_data-1.5.0.sha256sum] = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
+SRC_URI[icu_normalizer-1.5.0.sha256sum] = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
+SRC_URI[icu_normalizer_data-1.5.0.sha256sum] = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
+SRC_URI[icu_properties-1.5.1.sha256sum] = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5"
+SRC_URI[icu_properties_data-1.5.0.sha256sum] = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
+SRC_URI[icu_provider-1.5.0.sha256sum] = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
+SRC_URI[icu_provider_macros-1.5.0.sha256sum] = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
+SRC_URI[idna-1.0.3.sha256sum] = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
+SRC_URI[idna_adapter-1.2.0.sha256sum] = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71"
 SRC_URI[ignore-0.4.23.sha256sum] = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b"
-SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
 SRC_URI[indexmap-2.5.0.sha256sum] = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
 SRC_URI[indicatif-0.17.8.sha256sum] = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
 SRC_URI[indoc-2.0.5.sha256sum] = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
@@ -448,14 +491,17 @@
 SRC_URI[itoa-1.0.11.sha256sum] = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 SRC_URI[keyring-2.3.3.sha256sum] = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0"
 SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-SRC_URI[lddtree-0.3.5.sha256sum] = "735dc8281e12cf7450b3a343c50bccdb15625f41b127d1bd7063949fe367847d"
+SRC_URI[lddtree-0.3.7.sha256sum] = "e0779ac94bd7b6ab781fa12388dbf79ac45ec1fa433e7d25521753be8227b08e"
 SRC_URI[libc-0.2.158.sha256sum] = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
 SRC_URI[libmimalloc-sys-0.1.38.sha256sum] = "0e7bb23d733dfcc8af652a78b7bf232f0e967710d044732185e561e47c0336b6"
 SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 SRC_URI[linux-keyutils-0.2.4.sha256sum] = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e"
 SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+SRC_URI[litemap-0.7.3.sha256sum] = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
 SRC_URI[lock_api-0.4.12.sha256sum] = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
+SRC_URI[lockfree-object-pool-0.1.6.sha256sum] = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e"
 SRC_URI[log-0.4.21.sha256sum] = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+SRC_URI[lzma-sys-0.1.20.sha256sum] = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27"
 SRC_URI[lzxd-0.2.5.sha256sum] = "5de7336a183103429ad66d11d56d8bdc9c4a2916f6b85a8f11e5b127bde12001"
 SRC_URI[mailparse-0.15.0.sha256sum] = "3da03d5980411a724e8aaf7b61a7b5e386ec55a7fb49ee3d0ff79efc7e5e7c7e"
 SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
@@ -463,10 +509,10 @@
 SRC_URI[mimalloc-0.1.42.sha256sum] = "e9186d86b79b52f4a77af65604b51225e8db1d6ee7e3f41aec1e40829c71a176"
 SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
 SRC_URI[mime_guess-2.0.4.sha256sum] = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
-SRC_URI[minijinja-1.0.21.sha256sum] = "55e877d961d4f96ce13615862322df7c0b6d169d40cab71a7ef3f9b9e594451e"
+SRC_URI[minijinja-2.5.0.sha256sum] = "2c37e1b517d1dcd0e51dc36c4567b9d5a29262b3ec8da6cb5d35e27a8fb529b5"
 SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 SRC_URI[miniz_oxide-0.8.0.sha256sum] = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
-SRC_URI[msi-0.7.0.sha256sum] = "226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514"
+SRC_URI[msi-0.8.0.sha256sum] = "4a2332f87a064dea9cce571408c879e0da8dc193b3af06a2b3b2604ee4182a32"
 SRC_URI[multipart-0.18.0.sha256sum] = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182"
 SRC_URI[native-tls-0.2.12.sha256sum] = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
 SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
@@ -503,7 +549,7 @@
 SRC_URI[proc-macro2-1.0.85.sha256sum] = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
 SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
 SRC_URI[pyproject-toml-0.11.0.sha256sum] = "ef7061023bcb58a0fc4a4bbe9819c13b0dca7c2abc14da14f5ecc1532ab3a36a"
-SRC_URI[python-pkginfo-0.6.3.sha256sum] = "ba3f3f0d552c7efdde2b6898bf21b49c4e76b3e6071ff196dfe52109804db896"
+SRC_URI[python-pkginfo-0.6.5.sha256sum] = "c21f58880fc45e91d29b2f639ab4051aaa6a2b054534c2d343a953347d0dd600"
 SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 SRC_URI[quoted_printable-0.5.0.sha256sum] = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0"
 SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
@@ -520,17 +566,17 @@
 SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 SRC_URI[regex-syntax-0.8.4.sha256sum] = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b"
 SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2"
-SRC_URI[rfc2047-decoder-1.0.5.sha256sum] = "e90a668c463c412c3118ae1883e18b53d812c349f5af7a06de3ba4bb0c17cc73"
+SRC_URI[rfc2047-decoder-1.0.6.sha256sum] = "bc36545d1021456a751b573517cb52e8c339b2f662e6b2778ef629282678de29"
 SRC_URI[ring-0.17.8.sha256sum] = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
 SRC_URI[rstest-0.22.0.sha256sum] = "7b423f0e62bdd61734b67cd21ff50871dfaeb9cc74f869dcd6af974fbcb19936"
 SRC_URI[rstest_macros-0.22.0.sha256sum] = "c5e1711e7d14f74b12a58411c542185ef7fb7f2e7f8ee6e2940a883628522b42"
 SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
 SRC_URI[rustflags-0.1.6.sha256sum] = "d7fc92159fb50a431c5da366f7627751fe7263cf867f8a30f27fa6063ba02ac0"
 SRC_URI[rustix-0.38.34.sha256sum] = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
-SRC_URI[rustls-0.22.4.sha256sum] = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
+SRC_URI[rustls-0.23.19.sha256sum] = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1"
 SRC_URI[rustls-pemfile-2.1.3.sha256sum] = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425"
-SRC_URI[rustls-pki-types-1.7.0.sha256sum] = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
-SRC_URI[rustls-webpki-0.102.4.sha256sum] = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
+SRC_URI[rustls-pki-types-1.10.0.sha256sum] = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b"
+SRC_URI[rustls-webpki-0.102.8.sha256sum] = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9"
 SRC_URI[rustversion-1.0.17.sha256sum] = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
 SRC_URI[ryu-1.0.18.sha256sum] = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
@@ -543,15 +589,16 @@
 SRC_URI[security-framework-2.11.0.sha256sum] = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
 SRC_URI[security-framework-sys-2.11.0.sha256sum] = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
 SRC_URI[semver-1.0.23.sha256sum] = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
-SRC_URI[serde-1.0.210.sha256sum] = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
-SRC_URI[serde_derive-1.0.210.sha256sum] = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+SRC_URI[serde-1.0.216.sha256sum] = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e"
+SRC_URI[serde_derive-1.0.216.sha256sum] = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e"
 SRC_URI[serde_derive_internals-0.29.1.sha256sum] = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
-SRC_URI[serde_json-1.0.128.sha256sum] = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
+SRC_URI[serde_json-1.0.133.sha256sum] = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"
 SRC_URI[serde_spanned-0.6.6.sha256sum] = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
 SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
 SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
 SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
 SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+SRC_URI[simd-adler32-0.3.7.sha256sum] = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
 SRC_URI[similar-2.5.0.sha256sum] = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640"
 SRC_URI[slab-0.4.9.sha256sum] = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
 SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
@@ -560,27 +607,29 @@
 SRC_URI[snapbox-macros-0.3.10.sha256sum] = "16569f53ca23a41bb6f62e0a5084aa1661f4814a67fa33696a79073e03a664af"
 SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b"
 SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+SRC_URI[stable_deref_trait-1.2.0.sha256sum] = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
 SRC_URI[stacker-0.1.15.sha256sum] = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce"
 SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
 SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
 SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-SRC_URI[syn-2.0.76.sha256sum] = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525"
-SRC_URI[tar-0.4.42.sha256sum] = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
-SRC_URI[target-lexicon-0.12.16.sha256sum] = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
+SRC_URI[syn-2.0.87.sha256sum] = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
+SRC_URI[synstructure-0.13.1.sha256sum] = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
+SRC_URI[tar-0.4.43.sha256sum] = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6"
+SRC_URI[target-lexicon-0.13.0.sha256sum] = "4ff4a4048091358129767b8a200d6927f58876c8b5ea16fb7b0222d43b79bfa8"
 SRC_URI[tempfile-3.11.0.sha256sum] = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53"
 SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
 SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
 SRC_URI[thiserror-1.0.64.sha256sum] = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+SRC_URI[thiserror-2.0.3.sha256sum] = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa"
 SRC_URI[thiserror-impl-1.0.64.sha256sum] = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+SRC_URI[thiserror-impl-2.0.3.sha256sum] = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568"
 SRC_URI[thread_local-1.1.8.sha256sum] = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
 SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
 SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 SRC_URI[time-macros-0.2.18.sha256sum] = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
-SRC_URI[tinyvec-1.7.0.sha256sum] = "ce6b6a2fb3a985e99cebfaefa9faa3024743da73304ca1c683a36429613d3d22"
-SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+SRC_URI[tinystr-0.7.6.sha256sum] = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
 SRC_URI[toml-0.8.15.sha256sum] = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
 SRC_URI[toml_datetime-0.6.6.sha256sum] = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
 SRC_URI[toml_edit-0.21.1.sha256sum] = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
@@ -595,17 +644,17 @@
 SRC_URI[twox-hash-1.6.3.sha256sum] = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
 SRC_URI[unicase-2.7.0.sha256sum] = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
-SRC_URI[unicode-bidi-0.3.15.sha256sum] = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
 SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
-SRC_URI[unicode-normalization-0.1.23.sha256sum] = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
 SRC_URI[unicode-width-0.1.13.sha256sum] = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
 SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
 SRC_URI[unscanny-0.1.0.sha256sum] = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47"
 SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-SRC_URI[ureq-2.9.7.sha256sum] = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd"
-SRC_URI[url-2.5.2.sha256sum] = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
+SRC_URI[ureq-2.11.0.sha256sum] = "b30e6f97efe1fa43535ee241ee76967d3ff6ff3953ebb430d8d55c5393029e7b"
+SRC_URI[url-2.5.4.sha256sum] = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
 SRC_URI[urlencoding-2.1.3.sha256sum] = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
+SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
+SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
 SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
 SRC_URI[uuid-1.8.0.sha256sum] = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
 SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
@@ -616,8 +665,7 @@
 SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
 SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 SRC_URI[webpki-roots-0.26.2.sha256sum] = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3"
-SRC_URI[which-5.0.0.sha256sum] = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14"
-SRC_URI[which-6.0.3.sha256sum] = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f"
+SRC_URI[which-7.0.0.sha256sum] = "c9cad3279ade7346b96e38731a641d7343dd6a53d55083dd54eadfa5a1b38c6b"
 SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1"
 SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
@@ -626,29 +674,39 @@
 SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
 SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-SRC_URI[windows-targets-0.52.5.sha256sum] = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
 SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-SRC_URI[windows_aarch64_gnullvm-0.52.5.sha256sum] = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
 SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-SRC_URI[windows_aarch64_msvc-0.52.5.sha256sum] = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
 SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-SRC_URI[windows_i686_gnu-0.52.5.sha256sum] = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
-SRC_URI[windows_i686_gnullvm-0.52.5.sha256sum] = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
 SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-SRC_URI[windows_i686_msvc-0.52.5.sha256sum] = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
 SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-SRC_URI[windows_x86_64_gnu-0.52.5.sha256sum] = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
 SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-SRC_URI[windows_x86_64_gnullvm-0.52.5.sha256sum] = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
 SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-SRC_URI[windows_x86_64_msvc-0.52.5.sha256sum] = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
 SRC_URI[winnow-0.5.40.sha256sum] = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
 SRC_URI[winnow-0.6.13.sha256sum] = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
 SRC_URI[winsafe-0.0.19.sha256sum] = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904"
+SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
+SRC_URI[writeable-0.5.5.sha256sum] = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
 SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
-SRC_URI[xwin-0.5.1.sha256sum] = "c13f18103ecd54342d0f923b33fff9ed595e5813e5af85620f1a8e7622474acb"
+SRC_URI[xwin-0.6.5.sha256sum] = "ca7e4546db1514c186778f0a257d89732ed9ed75587d0953ac25be7519d9f0d1"
+SRC_URI[xz2-0.1.7.sha256sum] = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2"
 SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
+SRC_URI[yoke-0.7.4.sha256sum] = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
+SRC_URI[yoke-derive-0.7.5.sha256sum] = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
 SRC_URI[zerocopy-0.7.34.sha256sum] = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
 SRC_URI[zerocopy-derive-0.7.34.sha256sum] = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
+SRC_URI[zerofrom-0.1.4.sha256sum] = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
+SRC_URI[zerofrom-derive-0.1.5.sha256sum] = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808"
 SRC_URI[zeroize-1.8.1.sha256sum] = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
-SRC_URI[zip-0.6.6.sha256sum] = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+SRC_URI[zerovec-0.10.4.sha256sum] = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079"
+SRC_URI[zerovec-derive-0.10.3.sha256sum] = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
+SRC_URI[zip-2.1.6.sha256sum] = "40dd8c92efc296286ce1fbd16657c5dbefff44f1b4ca01cc5f517d8b7b3d3e2e"
+SRC_URI[zopfli-0.8.1.sha256sum] = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946"
diff --git a/poky/meta/recipes-devtools/python/python3-maturin/0001-build_context-improve-wheel-reproducibility-by-sorti.patch b/poky/meta/recipes-devtools/python/python3-maturin/0001-build_context-improve-wheel-reproducibility-by-sorti.patch
deleted file mode 100644
index bcbe7b8..0000000
--- a/poky/meta/recipes-devtools/python/python3-maturin/0001-build_context-improve-wheel-reproducibility-by-sorti.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 672dca922397016720eae2a3f0fb79613971c56e Mon Sep 17 00:00:00 2001
-From: Yoann Congal <yoann.congal@smile.fr>
-Date: Thu, 17 Oct 2024 22:17:20 +0200
-Subject: [PATCH] build_context: improve wheel reproducibility by sorting libs
- (#2261)
-
-OE-core note: Upstream does not have a commit message for this. Bellow
-is the message I've sent:
-> While tracking a reproducibility issue from maturin's output, we found
-> that the .so file in the output .whl were not ordered the same
-> every time.
->
-> Order of the external libraries in the .whl comes down to the order
-> `soname_map` is iterated. But, `std::HashMap` does not provide a stable
-> order and that create an unstable order in the wheel.
->
-> Switch to `std::BTreeMap` which keeps keys sorted and is iterable
-> in a stable order.
->
-> This can be tested by building current python3-cryptography :
->   SOURCE_DATE_EPOCH=1728915855 maturin build
->
-> Before this commit, the above give two possible outputs (~50% each), the
-> difference is in the order of libssl and libcrypto.
->
-> After this commit, the output is reproducible.
-
-Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
-Upstream-Status: Backport [https://github.com/PyO3/maturin/commit/61d54809776e1ca79ff8cc92387d70796d50c16e]
----
- src/build_context.rs | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/build_context.rs b/src/build_context.rs
-index a98d233..09ca090 100644
---- a/src/build_context.rs
-+++ b/src/build_context.rs
-@@ -24,7 +24,7 @@ use normpath::PathExt;
- use pep508_rs::Requirement;
- use platform_info::*;
- use sha2::{Digest, Sha256};
--use std::collections::{HashMap, HashSet};
-+use std::collections::{BTreeMap, HashSet};
- use std::env;
- use std::fmt::{Display, Formatter};
- use std::io;
-@@ -396,7 +396,7 @@ impl BuildContext {
-         writer.add_directory(&libs_dir)?;
- 
-         let temp_dir = tempfile::tempdir()?;
--        let mut soname_map = HashMap::new();
-+        let mut soname_map = BTreeMap::new();
-         let mut libs_copied = HashSet::new();
-         for lib in ext_libs.iter().flatten() {
-             let lib_path = lib.realpath.clone().with_context(|| {
diff --git a/poky/meta/recipes-devtools/python/python3-maturin_1.7.4.bb b/poky/meta/recipes-devtools/python/python3-maturin_1.8.1.bb
similarity index 83%
rename from poky/meta/recipes-devtools/python/python3-maturin_1.7.4.bb
rename to poky/meta/recipes-devtools/python/python3-maturin_1.8.1.bb
index d9891b6..d0f0b38 100644
--- a/poky/meta/recipes-devtools/python/python3-maturin_1.7.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-maturin_1.8.1.bb
@@ -5,10 +5,7 @@
 LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \
                     file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797"
 
-SRC_URI += " \
-           file://0001-build_context-improve-wheel-reproducibility-by-sorti.patch \
-           "
-SRC_URI[sha256sum] = "2b349d742a07527d236f0b4b6cab26f53ebecad0ceabfc09ec4c6a396e3176f9"
+SRC_URI[sha256sum] = "49cd964aabf59f8b0a6969f9860d2cdf194ac331529caae14c884f5659568857"
 
 S = "${WORKDIR}/maturin-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-meson-python_0.17.1.bb b/poky/meta/recipes-devtools/python/python3-meson-python_0.17.1.bb
index 04f0a1e..4dc7177 100644
--- a/poky/meta/recipes-devtools/python/python3-meson-python_0.17.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-meson-python_0.17.1.bb
@@ -11,6 +11,7 @@
 "
 
 PYPI_PACKAGE = "meson_python"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_mesonpy
 SRC_URI[sha256sum] = "efb91f69f2e19eef7bc9a471ed2a4e730088cc6b39eacaf3e49fc4f930eb5f83"
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest b/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-more-itertools/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_10.5.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_10.5.0.bb
index a98b412..eda9bf1 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_10.5.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_10.5.0.bb
@@ -5,11 +5,7 @@
 
 SRC_URI[sha256sum] = "5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"
 
-inherit pypi python_flit_core ptest
-
-SRC_URI += " \
-	file://run-ptest \
-"
+inherit pypi python_flit_core ptest-python-pytest
 
 RDEPENDS:${PN} += " \
         python3-asyncio \
@@ -17,13 +13,6 @@
 
 RDEPENDS:${PN}-ptest += " \
 	python3-statistics \
-	python3-pytest \
-	python3-unittest-automake-output \
         "
 
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb b/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
index 68d8668..60909c0 100644
--- a/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
@@ -9,6 +9,7 @@
 inherit pypi setuptools3 update-alternatives
 
 PYPI_PACKAGE = "ndg_httpsclient"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 DEPENDS += " \
     python3-pyopenssl \
@@ -24,8 +25,6 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-UPSTREAM_CHECK_REGEX = ""
-
 ALTERNATIVE:${PN} = "ndg_httpclient"
 ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient"
 ALTERNATIVE_PRIORITY = "30"
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 bbe309c..437bafb 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 46eea664cf89d0602e7ff16d587c37c045b125b7 Mon Sep 17 00:00:00 2001
+From ad6c0196e4c97ca37368610c010e46c90a4749b4 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,16 +8,15 @@
 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 feb28f6..a48d6d1 100644
+index 6478548..c0620e7 100644
 --- a/numpy/distutils/system_info.py
 +++ b/numpy/distutils/system_info.py
-@@ -327,44 +327,14 @@ def add_system_root(library_root):
+@@ -326,44 +326,14 @@ def add_system_root(library_root):
          add_system_root(os.path.join(conda_dir, 'Library'))
  
  else:
diff --git a/poky/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch b/poky/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch
deleted file mode 100644
index 6da9047..0000000
--- a/poky/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 0e2b652a0eff85798584116c905a2d6ad8f25d5f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 15:32:39 -0800
-Subject: [PATCH] numpy/core: Define RISCV-32 support
-
-Helps compile on riscv32
-
-Upstream-Status: Backport
-(https://github.com/numpy/numpy/pull/17780/commits/0e2b652a0eff85798584116c905a2d6ad8f25d5f)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- numpy/_core/include/numpy/npy_cpu.h    | 9 +++++++--
- numpy/_core/include/numpy/npy_endian.h | 1 +
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/numpy/_core/include/numpy/npy_cpu.h b/numpy/_core/include/numpy/npy_cpu.h
-index a19f8e6bbd..15f9f12931 100644
---- a/numpy/_core/include/numpy/npy_cpu.h
-+++ b/numpy/_core/include/numpy/npy_cpu.h
-@@ -18,6 +18,7 @@
-  *              NPY_CPU_ARCEL
-  *              NPY_CPU_ARCEB
-  *              NPY_CPU_RISCV64
-+ *              NPY_CPU_RISCV32
-  *              NPY_CPU_LOONGARCH
-  *              NPY_CPU_WASM
-  */
-@@ -102,8 +103,12 @@
-     #define NPY_CPU_ARCEL
- #elif defined(__arc__) && defined(__BIG_ENDIAN__)
-     #define NPY_CPU_ARCEB
--#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
--    #define NPY_CPU_RISCV64
-+#elif defined(__riscv)
-+    #if __riscv_xlen == 64
-+	#define NPY_CPU_RISCV64
-+    #elif __riscv_xlen == 32
-+	#define NPY_CPU_RISCV32
-+    #endif
- #elif defined(__loongarch__)
-     #define NPY_CPU_LOONGARCH
- #elif defined(__EMSCRIPTEN__)
-diff --git a/numpy/_core/include/numpy/npy_endian.h b/numpy/_core/include/numpy/npy_endian.h
-index 5e58a7f52c..09262120bf 100644
---- a/numpy/_core/include/numpy/npy_endian.h
-+++ b/numpy/_core/include/numpy/npy_endian.h
-@@ -49,6 +49,7 @@
-             || defined(NPY_CPU_PPC64LE)       \
-             || defined(NPY_CPU_ARCEL)         \
-             || defined(NPY_CPU_RISCV64)       \
-+            || defined(NPY_CPU_RISCV32)       \
-             || defined(NPY_CPU_LOONGARCH)     \
-             || defined(NPY_CPU_WASM)
-         #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch b/poky/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch
index d952aed..514073d 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch
+++ b/poky/meta/recipes-devtools/python/python3-numpy/fix_reproducibility.patch
@@ -1,7 +1,11 @@
-This regex decides whether to use O3 opimisation on numpy or not.
+From 061a8ae1d1d000892d6dba89a444922e7a28804b Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 29 Sep 2023 22:53:24 +0100
+Subject: [PATCH] This regex decides whether to use O3 opimisation on numpy or
+ not.
 
 It includes "od", which happens to be a substring of "reproducible"
-but not "qemux86-world". 
+but not "qemux86-world".
 
 The regex will run against all compiler options including things like:
 
@@ -17,12 +21,15 @@
 
 Upstream-Status: Inappropriate [upstream have dropped distutils and switched to meson]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ numpy/distutils/ccompiler_opt.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: numpy-1.26.0/numpy/distutils/ccompiler_opt.py
-===================================================================
---- numpy-1.26.0.orig/numpy/distutils/ccompiler_opt.py
-+++ numpy-1.26.0/numpy/distutils/ccompiler_opt.py
-@@ -990,7 +990,7 @@ class _CCompiler:
+diff --git a/numpy/distutils/ccompiler_opt.py b/numpy/distutils/ccompiler_opt.py
+index b1a6fa3..7b0302b 100644
+--- a/numpy/distutils/ccompiler_opt.py
++++ b/numpy/distutils/ccompiler_opt.py
+@@ -991,7 +991,7 @@ def __init__(self):
              ("cc_is_nocc",     "", ""),
          )
          detect_args = (
diff --git a/poky/meta/recipes-devtools/python/python3-numpy_2.1.3.bb b/poky/meta/recipes-devtools/python/python3-numpy_2.2.2.bb
similarity index 93%
rename from poky/meta/recipes-devtools/python/python3-numpy_2.1.3.bb
rename to poky/meta/recipes-devtools/python/python3-numpy_2.2.2.bb
index 0120bee..3b74e90 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy_2.1.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-numpy_2.2.2.bb
@@ -9,11 +9,10 @@
 
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
            file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
-           file://0001-numpy-core-Define-RISCV-32-support.patch \
            file://fix_reproducibility.patch \
            file://run-ptest \
            "
-SRC_URI[sha256sum] = "aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"
+SRC_URI[sha256sum] = "ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f"
 
 GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
@@ -22,6 +21,8 @@
 
 S = "${WORKDIR}/numpy-${PV}"
 
+PACKAGECONFIG[svml] = "-Ddisable-svml=false,-Ddisable-svml=true"
+
 # Remove references to buildpaths from numpy's __config__.py
 do_install:append() {
     sed -i \
diff --git a/poky/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb b/poky/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb
index 87e651d..6e72c93 100644
--- a/poky/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb
+++ b/poky/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e34c75178086aca0a17551ffbacaca53"
 
-inherit setuptools3 ptest
+inherit setuptools3 ptest-python-pytest
 SRCREV = "4b3b1e2e568a88d4f1897d694d684f23d9e270c4"
 SRC_URI = "git://github.com/erocarrera/pefile;branch=master;protocol=https \
            file://run-ptest"
@@ -12,17 +12,8 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-do_install_ptest() {
-   install -d ${D}${PTEST_PATH}/tests
-   cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
 RDEPENDS:${PN} += " \
     python3-mmap \
     python3-netclient \
     python3-stringold \
 "
-RDEPENDS:${PN}-ptest += "\
-    python3-pytest \
-    python3-unittest-automake-output \
-"
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest b/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-pluggy/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb
index 4f8412d..1f9bb6d 100644
--- a/poky/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb
@@ -7,20 +7,8 @@
 
 DEPENDS += "python3-setuptools-scm-native"
 
-inherit pypi ptest python_setuptools_build_meta
+inherit pypi ptest-python-pytest python_setuptools_build_meta
 
-SRC_URI += " \
-	file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/testing
-	cp -rf ${S}/testing/* ${D}${PTEST_PATH}/testing/
-}
+PTEST_PYTEST_DIR = "testing"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-poetry-core_1.9.1.bb b/poky/meta/recipes-devtools/python/python3-poetry-core_2.0.0.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-poetry-core_1.9.1.bb
rename to poky/meta/recipes-devtools/python/python3-poetry-core_2.0.0.bb
index ea4164d..09b1a23 100644
--- a/poky/meta/recipes-devtools/python/python3-poetry-core_1.9.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-poetry-core_2.0.0.bb
@@ -15,11 +15,12 @@
     file://src/poetry/core/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \
 "
 
-SRC_URI[sha256sum] = "7a2d49214bf58b4f17f99d6891d947a9836c9899a67a5069f52d7b67217f61b8"
+SRC_URI[sha256sum] = "3317a3cc3932011a61114236b2d49883f4fb1403d2f5e97771ac0d077cfa396f"
 
 inherit python_poetry_core pypi
 
 PYPI_PACKAGE = "poetry_core"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 RDEPENDS:${PN}:append:class-target = "\
     python3-compression \
diff --git a/poky/meta/recipes-devtools/python/python3-psutil_6.1.0.bb b/poky/meta/recipes-devtools/python/python3-psutil_6.1.1.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-psutil_6.1.0.bb
rename to poky/meta/recipes-devtools/python/python3-psutil_6.1.1.bb
index bbff7f3..9cd2d20 100644
--- a/poky/meta/recipes-devtools/python/python3-psutil_6.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-psutil_6.1.1.bb
@@ -3,7 +3,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a9c72113a843d0d732a0ac1c200d81b1"
 HOMEPAGE = "https://pypi.org/project/psutil/"
 
-SRC_URI[sha256sum] = "353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"
+SRC_URI[sha256sum] = "cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"
 
 inherit pypi python_setuptools_build_meta
 
@@ -35,6 +35,7 @@
      libstdc++ \
      libstdc++-dev \
 "
+RDEPENDS:${PN}-tests:class-native = ""
 
 INSANE_SKIP:${PN}-tests += "dev-deps"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest b/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb b/poky/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb
index 3913cb5..820ef27 100644
--- a/poky/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyasn1_0.6.1.bb
@@ -5,7 +5,7 @@
 
 SRC_URI[sha256sum] = "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"
 
-inherit pypi python_setuptools_build_meta ptest
+inherit pypi python_setuptools_build_meta ptest-python-pytest
 
 RDEPENDS:${PN}:class-target += " \
     python3-codecs \
@@ -14,18 +14,4 @@
     python3-shell \
 "
 
-SRC_URI += " \
-       file://run-ptest \
-           "
-
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.18.0.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.19.0.bb
similarity index 73%
rename from poky/meta/recipes-devtools/python/python3-pygments_2.18.0.bb
rename to poky/meta/recipes-devtools/python/python3-pygments_2.19.0.bb
index fd37365..f1bc845 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.18.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.19.0.bb
@@ -5,9 +5,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592"
 
 inherit python_hatchling
-SRC_URI[sha256sum] = "786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"
+SRC_URI[sha256sum] = "afc4146269910d4bdfabcd27c24923137a74d562a23a320a41a55ad303e19783"
 
-UPSTREAM_CHECK_PYPI_PACKAGE = "Pygments"
 inherit pypi
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.50.0.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.50.0.bb
index 23beff9..533c2e0 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.50.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.50.0.bb
@@ -16,7 +16,7 @@
 
 DEPENDS += "python3 glib-2.0"
 
-SRCNAME="pygobject"
+SRCNAME = "pygobject"
 
 SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz"
 SRC_URI[sha256sum] = "8d836e75b5a881d457ee1622cae4a32bcdba28a0ba562193adb3bbb472472212"
diff --git a/poky/meta/recipes-devtools/python/python3-pyopenssl_24.2.1.bb b/poky/meta/recipes-devtools/python/python3-pyopenssl_24.3.0.bb
similarity index 79%
rename from poky/meta/recipes-devtools/python/python3-pyopenssl_24.2.1.bb
rename to poky/meta/recipes-devtools/python/python3-pyopenssl_24.3.0.bb
index d9ccd55..b8a980b 100644
--- a/poky/meta/recipes-devtools/python/python3-pyopenssl_24.2.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyopenssl_24.3.0.bb
@@ -5,8 +5,7 @@
 
 DEPENDS += "openssl python3-cryptography"
 
-SRC_URI[sha256sum] = "4247f0dbe3748d560dcbb2ff3ea01af0f9a1a001ef5f7c4c647956ed8cbf0e95"
-UPSTREAM_CHECK_PYPI_PACKAGE = "pyOpenSSL"
+SRC_URI[sha256sum] = "49f7a019577d834746bc55c5fce6ecbcec0f2b4ec5ce1cf43a9a173b8138bb36"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyparsing_3.2.0.bb b/poky/meta/recipes-devtools/python/python3-pyparsing_3.2.1.bb
similarity index 84%
rename from poky/meta/recipes-devtools/python/python3-pyparsing_3.2.0.bb
rename to poky/meta/recipes-devtools/python/python3-pyparsing_3.2.1.bb
index de28d71..ab4eba1 100644
--- a/poky/meta/recipes-devtools/python/python3-pyparsing_3.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyparsing_3.2.1.bb
@@ -10,9 +10,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1"
 
-SRC_URI[sha256sum] = "cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"
-
-UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar"
+SRC_URI[sha256sum] = "61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb b/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb
index cdb9fc7..c68760e 100644
--- a/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyproject-hooks_1.2.0.bb
@@ -8,6 +8,7 @@
 inherit pypi python_flit_core
 
 PYPI_PACKAGE = "pyproject_hooks"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.0.bb b/poky/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.0.bb
index 946fd41..a73d427 100644
--- a/poky/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyproject-metadata_0.9.0.bb
@@ -13,6 +13,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c"
 
 PYPI_PACKAGE = "pyproject_metadata"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb b/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb
index 7f2c217..db69901 100644
--- a/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb
@@ -7,6 +7,8 @@
 SRC_URI[sha256sum] = "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"
 
 PYPI_PACKAGE = "PySocks"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
+
 inherit pypi setuptools3
 
 RDEPENDS:${PN}:class-target += "\
diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.13.1.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.14.1.bb
similarity index 82%
rename from poky/meta/recipes-devtools/python/python3-pytest-subtests_0.13.1.bb
rename to poky/meta/recipes-devtools/python/python3-pytest-subtests_0.14.1.bb
index f89b40c..56cec25 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.13.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.14.1.bb
@@ -7,9 +7,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1"
 
-SRC_URI[sha256sum] = "989e38f0f1c01bc7c6b2e04db7d9fd859db35d77c2c1a430c831a70cbf3fde2d"
+SRC_URI[sha256sum] = "350c00adc36c3aff676a66135c81aed9e2182e15f6c3ec8721366918bbbf7580"
 
 PYPI_PACKAGE = "pytest_subtests"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_8.3.3.bb b/poky/meta/recipes-devtools/python/python3-pytest_8.3.4.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-pytest_8.3.3.bb
rename to poky/meta/recipes-devtools/python/python3-pytest_8.3.4.bb
index dbd9842..3b1770e 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_8.3.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_8.3.4.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c"
 
-SRC_URI[sha256sum] = "70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"
+SRC_URI[sha256sum] = "965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pytz/run-ptest b/poky/meta/recipes-devtools/python/python3-pytz/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-pytz/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-pytz_2024.2.bb b/poky/meta/recipes-devtools/python/python3-pytz_2024.2.bb
index 04bd1d6..a379e19 100644
--- a/poky/meta/recipes-devtools/python/python3-pytz_2024.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytz_2024.2.bb
@@ -3,7 +3,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a67fc46c1b596cce5d21209bbe75999"
 
-inherit pypi setuptools3 ptest
+inherit pypi setuptools3 ptest-python-pytest
+
+PTEST_PYTEST_DIR = "pytz/tests"
 
 SRC_URI[sha256sum] = "2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"
 
@@ -18,19 +20,11 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI += " \
-	file://run-ptest \
-"
-
 RDEPENDS:${PN}-ptest += " \
 	python3-pytest \
 	python3-unittest-automake-output \
 "
 
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/pytz
-	install -d ${D}${PTEST_PATH}/pytz/tests
-	cp -rf ${S}/pytz/tests/* ${D}${PTEST_PATH}/pytz/tests/
+do_install_ptest:append() {
 	cp -f ${S}/README.rst ${D}${PTEST_PATH}/
-
 }
diff --git a/poky/meta/recipes-devtools/python/python3-pyyaml/run-ptest b/poky/meta/recipes-devtools/python/python3-pyyaml/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-pyyaml/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb
index 9f9320a..7ebe3f7 100644
--- a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.2.bb
@@ -8,30 +8,17 @@
 
 SRC_URI += "\
     https://raw.githubusercontent.com/yaml/pyyaml/a98fd6088e81d7aca571220c966bbfe2ac43c335/tests/test_dump_load.py;name=test \
-    file://run-ptest \
 "
 SRC_URI[test.sha256sum] = "b6a8a2825d89fdc8aee226560f66b8196e872012a0ea7118cbef1a832359434a"
 
-UPSTREAM_CHECK_PYPI_PACKAGE = "PyYAML"
-
-inherit pypi python_setuptools_build_meta ptest cython
+inherit pypi python_setuptools_build_meta ptest-python-pytest cython
 
 PACKAGECONFIG ?= "libyaml"
 PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml"
 
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -rf ${UNPACKDIR}/test_dump_load.py ${D}${PTEST_PATH}/tests/
-}
-
 RDEPENDS:${PN} += "\
     python3-datetime \
     python3-netclient \
 "
 
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
-"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb b/poky/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb
index e809c22..1e60c76 100644
--- a/poky/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb
@@ -8,7 +8,7 @@
 SRC_URI[sha256sum] = "138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"
 
 PYPI_PACKAGE = "rfc3339_validator"
-UPSTREAM_CHECK_REGEX = "/rfc3339-validator/(?P<pver>(\d+[\.\-_]*)+)/"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc b/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc
index fc954d6..7022cbd 100644
--- a/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc
+++ b/poky/meta/recipes-devtools/python/python3-rpds-py-crates.inc
@@ -13,12 +13,12 @@
     crate://crates.io/once_cell/1.19.0 \
     crate://crates.io/portable-atomic/1.6.0 \
     crate://crates.io/proc-macro2/1.0.86 \
-    crate://crates.io/pyo3/0.22.6 \
-    crate://crates.io/pyo3-build-config/0.22.6 \
-    crate://crates.io/pyo3-ffi/0.22.6 \
-    crate://crates.io/pyo3-macros/0.22.6 \
-    crate://crates.io/pyo3-macros-backend/0.22.6 \
-    crate://crates.io/python3-dll-a/0.2.10 \
+    crate://crates.io/pyo3/0.23.3 \
+    crate://crates.io/pyo3-build-config/0.23.3 \
+    crate://crates.io/pyo3-ffi/0.23.3 \
+    crate://crates.io/pyo3-macros/0.23.3 \
+    crate://crates.io/pyo3-macros-backend/0.23.3 \
+    crate://crates.io/python3-dll-a/0.2.11 \
     crate://crates.io/quote/1.0.36 \
     crate://crates.io/rpds/1.1.0 \
     crate://crates.io/syn/2.0.69 \
@@ -39,12 +39,12 @@
 SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
 SRC_URI[proc-macro2-1.0.86.sha256sum] = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
-SRC_URI[pyo3-0.22.6.sha256sum] = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884"
-SRC_URI[pyo3-build-config-0.22.6.sha256sum] = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38"
-SRC_URI[pyo3-ffi-0.22.6.sha256sum] = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636"
-SRC_URI[pyo3-macros-0.22.6.sha256sum] = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453"
-SRC_URI[pyo3-macros-backend-0.22.6.sha256sum] = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe"
-SRC_URI[python3-dll-a-0.2.10.sha256sum] = "bd0b78171a90d808b319acfad166c4790d9e9759bbc14ac8273fe133673dd41b"
+SRC_URI[pyo3-0.23.3.sha256sum] = "e484fd2c8b4cb67ab05a318f1fd6fa8f199fcc30819f08f07d200809dba26c15"
+SRC_URI[pyo3-build-config-0.23.3.sha256sum] = "dc0e0469a84f208e20044b98965e1561028180219e35352a2afaf2b942beff3b"
+SRC_URI[pyo3-ffi-0.23.3.sha256sum] = "eb1547a7f9966f6f1a0f0227564a9945fe36b90da5a93b3933fc3dc03fae372d"
+SRC_URI[pyo3-macros-0.23.3.sha256sum] = "fdb6da8ec6fa5cedd1626c886fc8749bdcbb09424a86461eb8cdf096b7c33257"
+SRC_URI[pyo3-macros-backend-0.23.3.sha256sum] = "38a385202ff5a92791168b1136afae5059d3ac118457bb7bc304c197c2d33e7d"
+SRC_URI[python3-dll-a-0.2.11.sha256sum] = "9b9e268ee1be609e93a13eb06839f68f67e5fe0fb4049834d261c2d5091c1b6d"
 SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
 SRC_URI[rpds-1.1.0.sha256sum] = "a0e15515d3ce3313324d842629ea4905c25a13f81953eadb88f85516f59290a4"
 SRC_URI[syn-2.0.69.sha256sum] = "201fcda3845c23e8212cd466bfebf0bd20694490fc0356ae8e428e0824a915a6"
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py/run-ptest b/poky/meta/recipes-devtools/python/python3-rpds-py/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-rpds-py/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py_0.21.0.bb b/poky/meta/recipes-devtools/python/python3-rpds-py_0.21.0.bb
deleted file mode 100644
index e97459a..0000000
--- a/poky/meta/recipes-devtools/python/python3-rpds-py_0.21.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Python bindings to the Rust rpds crate for persistent data structures."
-HOMEPAGE = "https://pypi.org/project/rpds-py/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7767fa537c4596c54141f32882c4a984"
-
-SRC_URI += "file://run-ptest"
-
-SRC_URI[sha256sum] = "ed6378c9d66d0de903763e7706383d60c33829581f0adff47b6535f1802fa6db"
-
-require ${BPN}-crates.inc
-
-inherit pypi cargo-update-recipe-crates python_maturin ptest
-
-PYPI_PACKAGE = "rpds_py"
-
-RDEPENDS:${PN}-ptest += " \
-    python3-iniconfig \
-    python3-packaging \
-    python3-pluggy \
-    python3-pytest \
-    python3-unittest-automake-output \
-    "
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py_0.22.3.bb b/poky/meta/recipes-devtools/python/python3-rpds-py_0.22.3.bb
new file mode 100644
index 0000000..8eeb954
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-rpds-py_0.22.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Python bindings to the Rust rpds crate for persistent data structures."
+HOMEPAGE = "https://pypi.org/project/rpds-py/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7767fa537c4596c54141f32882c4a984"
+
+SRC_URI[sha256sum] = "e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"
+
+require ${BPN}-crates.inc
+
+inherit pypi cargo-update-recipe-crates python_maturin ptest-python-pytest
+
+PYPI_PACKAGE = "rpds_py"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
+
+RDEPENDS:${PN}-ptest += " \
+    python3-iniconfig \
+    python3-packaging \
+    python3-pluggy \
+    "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb b/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.9.bb
similarity index 64%
rename from poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb
rename to poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.9.bb
index 5df1f10..efc0716 100644
--- a/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-ruamel-yaml_0.18.9.bb
@@ -2,13 +2,14 @@
 HOMEPAGE = "https://pypi.org/project/ruamel.yaml/"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=30cbbccd94bf3a2b0285ec35671a1938"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5cc5d45e8a30c81dade6ca1928caa515"
 
 PYPI_PACKAGE = "ruamel.yaml"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"
+SRC_URI[sha256sum] = "59d0f8b10c658bd55ecd107e334d4117d766a2b9cc8f5176afcdadcff6f84a5e"
 
 RDEPENDS:${PN} += "\
     python3-shell \
diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.8.1.bb b/poky/meta/recipes-devtools/python/python3-scons_4.8.1.bb
index 4564aa3..8f5e268 100644
--- a/poky/meta/recipes-devtools/python/python3-scons_4.8.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons_4.8.1.bb
@@ -5,7 +5,6 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7"
 
 SRC_URI[sha256sum] = "5b641357904d2f56f7bfdbb37e165ab996b6143c948b9df0efc7305f54949daa"
-UPSTREAM_CHECK_PYPI_PACKAGE = "SCons"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb b/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb
index 27e3f53..78763a9 100644
--- a/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-semantic-version_2.10.0.bb
@@ -7,6 +7,8 @@
 SRC_URI[sha256sum] = "bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c"
 
 PYPI_PACKAGE = "semantic_version"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
+
 inherit pypi setuptools3
 
 RDEPENDS:${PN} += " \
@@ -15,4 +17,3 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-UPSTREAM_CHECK_REGEX = "/semantic-version/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.10.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.10.2.bb
index a58d57a..df39d61 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.10.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-rust_1.10.2.bb
@@ -12,6 +12,7 @@
 SRC_URI[sha256sum] = "5d73e7eee5f87a6417285b617c97088a7c20d1a70fcea60e3bdc94ff567c29dc"
 
 PYPI_PACKAGE = "setuptools_rust"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit cargo pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_8.1.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_8.1.0.bb
index d8b9f8f..4bcc8e4 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools-scm_8.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_8.1.0.bb
@@ -9,11 +9,10 @@
 SRC_URI[sha256sum] = "42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7"
 
 PYPI_PACKAGE = "setuptools_scm"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_setuptools_build_meta
 
-UPSTREAM_CHECK_REGEX = "scm-(?P<pver>.*)\.tar"
-
 DEPENDS += "python3-packaging-native python3-typing-extensions-native"
 
 RDEPENDS:${PN} = "\
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb
deleted file mode 100644
index 1ba48d4..0000000
--- a/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools3
-require python-six.inc
-
-SRC_URI[sha256sum] = "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"
diff --git a/poky/meta/recipes-devtools/python/python3-six_1.17.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.17.0.bb
new file mode 100644
index 0000000..693f181
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-six_1.17.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-six.inc
+
+SRC_URI[sha256sum] = "ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
diff --git a/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
index d089a89..9bb07ea 100644
--- a/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
@@ -10,5 +10,3 @@
 SRC_URI[sha256sum] = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c4cbf36"
 
 BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P<pver>(?!2\.0\.1)(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb
index b2c6b89..03e7a50 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_3.0.2.bb
@@ -13,9 +13,9 @@
 "
 
 PYPI_PACKAGE = "sphinx_rtd_theme"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 SRC_URI[sha256sum] = "b7457bc25dda723b20b086a670b9953c859eab60a2a03ee8eb2bb23e176e5f85"
-UPSTREAM_CHECK_REGEX ?= "/sphinx-rtd-theme/(?P<pver>(\d+[\.\-_]*)+)/"
 
 inherit setuptools3 pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_8.1.3.bb b/poky/meta/recipes-devtools/python/python3-sphinx_8.1.3.bb
index da4e23a..38cceb0 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx_8.1.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx_8.1.3.bb
@@ -7,7 +7,6 @@
 SRC_URI[sha256sum] = "43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927"
 
 inherit python_flit_core pypi
-UPSTREAM_CHECK_REGEX = "/Sphinx/(?P<pver>(\d+[\.\-_]*)+)/"
 
 do_install:append () {
 	# The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?)
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb
index 686a4a1..a63b7ad 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_2.0.0.bb
@@ -6,6 +6,7 @@
 SRC_URI[sha256sum] = "2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1"
 
 PYPI_PACKAGE = "sphinxcontrib_applehelp"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb
index 9f53973..abce915 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_2.0.0.bb
@@ -6,6 +6,7 @@
 SRC_URI[sha256sum] = "411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad"
 
 PYPI_PACKAGE = "sphinxcontrib_devhelp"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb
index 1a15ccd..44885d7 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.1.0.bb
@@ -6,6 +6,7 @@
 SRC_URI[sha256sum] = "c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9"
 
 PYPI_PACKAGE = "sphinxcontrib_htmlhelp"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb
index f51a0ba..141d1c4 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_2.0.0.bb
@@ -6,6 +6,7 @@
 SRC_URI[sha256sum] = "4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab"
 
 PYPI_PACKAGE = "sphinxcontrib_qthelp"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb
index 63c55d3..95ee596 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_2.0.0.bb
@@ -6,6 +6,7 @@
 SRC_URI[sha256sum] = "e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d"
 
 PYPI_PACKAGE = "sphinxcontrib_serializinghtml"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest b/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-trove-classifiers/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.10.21.16.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.10.21.16.bb
index 9d841ff..b63d39b 100644
--- a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.10.21.16.bb
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2024.10.21.16.bb
@@ -6,23 +6,10 @@
 SRC_URI[sha256sum] = "17cbd055d67d5e9d9de63293a8732943fabc21574e4c7b74edf112b4928cf5f3"
 
 PYPI_PACKAGE = "trove_classifiers"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
-inherit pypi python_setuptools_build_meta ptest
+inherit pypi python_setuptools_build_meta ptest-python-pytest
 
 DEPENDS += " python3-calver-native"
 
-SRC_URI += " \
-        file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-       python3-pytest \
-       python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-      install -d ${D}${PTEST_PATH}/tests
-      cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-typing-extensions_4.12.2.bb b/poky/meta/recipes-devtools/python/python3-typing-extensions_4.12.2.bb
index 8f07554..7bd23e3 100644
--- a/poky/meta/recipes-devtools/python/python3-typing-extensions_4.12.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-typing-extensions_4.12.2.bb
@@ -14,11 +14,10 @@
 
 # The name on PyPi is slightly different.
 PYPI_PACKAGE = "typing_extensions"
+UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
 
 SRC_URI[sha256sum] = "1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"
 
 inherit pypi python_flit_core
 
-UPSTREAM_CHECK_REGEX = "/typing-extensions/(?P<pver>(\d+[\.\-_]*)+)/"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-uritools/run-ptest b/poky/meta/recipes-devtools/python/python3-uritools/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-uritools/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-uritools_4.0.3.bb b/poky/meta/recipes-devtools/python/python3-uritools_4.0.3.bb
index 640c3f3..4210407 100644
--- a/poky/meta/recipes-devtools/python/python3-uritools_4.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-uritools_4.0.3.bb
@@ -6,17 +6,6 @@
 
 SRC_URI[sha256sum] = "ee06a182a9c849464ce9d5fa917539aacc8edd2a4924d1b7aabeeecabcae3bc2"
 
-SRC_URI += "file://run-ptest"
-
-inherit pypi python_setuptools_build_meta ptest
-
-do_install_ptest() {
-	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/
-}
-
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-	python3-unittest-automake-output \
-"
+inherit pypi python_setuptools_build_meta ptest-python-pytest
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_2.2.3.bb b/poky/meta/recipes-devtools/python/python3-urllib3_2.3.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-urllib3_2.2.3.bb
rename to poky/meta/recipes-devtools/python/python3-urllib3_2.3.0.bb
index 35b0786..fe913e6 100644
--- a/poky/meta/recipes-devtools/python/python3-urllib3_2.2.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-urllib3_2.3.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=52d273a3054ced561275d4d15260ecda"
 
-SRC_URI[sha256sum] = "e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"
+SRC_URI[sha256sum] = "f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"
 
 inherit pypi python_hatchling
 
diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest b/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-wcwidth/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb
index 4a9bf75..71bb1a2 100644
--- a/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb
+++ b/poky/meta/recipes-devtools/python/python3-wcwidth_0.2.13.bb
@@ -6,20 +6,9 @@
 
 SRC_URI[sha256sum] = "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"
 
-inherit pypi setuptools3 ptest
+inherit pypi setuptools3 ptest-python-pytest
 
-SRC_URI += " \
-        file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-       python3-pytest \
-       python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-      install -d ${D}${PTEST_PATH}/tests 
-      cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+do_install_ptest:aapend() {
       install -d ${D}${PTEST_PATH}/bin
       cp -rf ${S}/bin/* ${D}${PTEST_PATH}/bin/
 }
diff --git a/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest b/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest
deleted file mode 100644
index 8d2017d..0000000
--- a/poky/meta/recipes-devtools/python/python3-webcolors/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest --automake
diff --git a/poky/meta/recipes-devtools/python/python3-webcolors_24.8.0.bb b/poky/meta/recipes-devtools/python/python3-webcolors_24.8.0.bb
index 1998cfc..c5ed4bd 100644
--- a/poky/meta/recipes-devtools/python/python3-webcolors_24.8.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-webcolors_24.8.0.bb
@@ -5,24 +5,10 @@
 
 SRC_URI[sha256sum] = "08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"
 
-inherit pypi python_setuptools_build_meta ptest
+inherit pypi python_setuptools_build_meta ptest-python-pytest
 
 RDEPENDS:${PN}:class-target = "\
     python3-stringold \
 "
 
-SRC_URI += " \
-    file://run-ptest \
-"
-
-RDEPENDS:${PN}-ptest += " \
-    python3-pytest \
-    python3-unittest-automake-output \
-"
-
-do_install_ptest() {
-    install -d ${D}${PTEST_PATH}/tests
-    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-xmltodict/run-ptest b/poky/meta/recipes-devtools/python/python3-xmltodict/run-ptest
deleted file mode 100644
index 3385d68..0000000
--- a/poky/meta/recipes-devtools/python/python3-xmltodict/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-xmltodict_0.14.2.bb b/poky/meta/recipes-devtools/python/python3-xmltodict_0.14.2.bb
index e99fa38..56cdf6f 100644
--- a/poky/meta/recipes-devtools/python/python3-xmltodict_0.14.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-xmltodict_0.14.2.bb
@@ -9,11 +9,7 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-inherit pypi setuptools3 ptest
-
-SRC_URI += " \
-	file://run-ptest \
-"
+inherit pypi setuptools3 ptest-python-pytest
 
 RDEPENDS:${PN} += " \
 	python3-core \
@@ -21,11 +17,3 @@
 	python3-io \
 "
 
-RDEPENDS:${PN}-ptest += " \
-	python3-pytest \
-"
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/tests
-	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
-}
diff --git a/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch b/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
deleted file mode 100644
index f18898e..0000000
--- a/poky/meta/recipes-devtools/python/python3/crosspythonpath.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8840438e73e43b99bc9c83896a5f950e4259738f 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
- PYTHON_FOR_BUILD
-
-When building x86->x86 the system will try to execute .so and related items
-from the default PYTHONPATH.  This will fail if the target CPU contains
-instructions that the host CPU does not have, add CROSSPYTHONPATH
-into PYTHONPATH so we can prepend the list to find correct libs.
-
-Upstream-Status: Inappropriate [OE-Core integration specific]
-
-Credits-to: Mark Hatle <mark.hatle@windriver.com>
-Credits-to: Jackie Huang <jackie.huang@windriver.com>
-Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 58f5407..5101806 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -164,7 +164,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"
--    PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python
-+    PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python
-     AC_MSG_RESULT([$with_build_python])
-   ], [
-     AS_VAR_IF([cross_compiling], [yes],
diff --git a/poky/meta/recipes-devtools/python/python3/fix-armv5.patch b/poky/meta/recipes-devtools/python/python3/fix-armv5.patch
deleted file mode 100644
index 961404b..0000000
--- a/poky/meta/recipes-devtools/python/python3/fix-armv5.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 18b9079ddbc149d6b99c922630c246812e4d8ae7 Mon Sep 17 00:00:00 2001
-From: "Miss Islington (bot)"
- <31488909+miss-islington@users.noreply.github.com>
-Date: Wed, 16 Oct 2024 16:48:40 +0200
-Subject: [PATCH] [3.13] gh-125444: Fix illegal instruction for older Arm
- architectures (GH-125574) (GH-125595)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-On Arm v5 it is not possible to get the thread ID via c13 register
-hence the illegal instruction. The c13 register started to provide
-thread ID since Arm v6K architecture variant. Other variants of
-Arm v6 (T2, Z and base) don’t provide the thread ID via c13.
-For the sake of simplicity we group v5 and v6 together and
-consider that instructions for Arm v7 only.
-(cherry picked from commit feda9aa73ab95d17a291db22c416146f8e70edeb)
-
-Co-authored-by: Diego Russo <diego.russo@arm.com>
-
-Upstream-Status: Backport [https://github.com/python/cpython/commit/18b9079ddbc149d6b99c922630c246812e4d8ae7]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- Include/internal/mimalloc/mimalloc/prim.h                     | 4 ++--
- Include/object.h                                              | 2 +-
- .../2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst            | 1 +
- 3 files changed, 4 insertions(+), 3 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
-
-diff --git a/Include/internal/mimalloc/mimalloc/prim.h b/Include/internal/mimalloc/mimalloc/prim.h
-index 8a60d528458e6c..322ab29e6b41c2 100644
---- a/Include/internal/mimalloc/mimalloc/prim.h
-+++ b/Include/internal/mimalloc/mimalloc/prim.h
-@@ -151,9 +151,9 @@ static inline mi_threadid_t _mi_prim_thread_id(void) mi_attr_noexcept {
- // If you test on another platform and it works please send a PR :-)
- // see also https://akkadia.org/drepper/tls.pdf for more info on the TLS register.
- #elif defined(__GNUC__) && ( \
--           (defined(__GLIBC__)   && (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__))) \
-+           (defined(__GLIBC__)   && (defined(__x86_64__) || defined(__i386__) || (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__))) \
-         || (defined(__APPLE__)   && (defined(__x86_64__) || defined(__aarch64__))) \
--        || (defined(__BIONIC__)  && (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__))) \
-+        || (defined(__BIONIC__)  && (defined(__x86_64__) || defined(__i386__) || (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__))) \
-         || (defined(__FreeBSD__) && (defined(__x86_64__) || defined(__i386__) || defined(__aarch64__))) \
-         || (defined(__OpenBSD__) && (defined(__x86_64__) || defined(__i386__) || defined(__aarch64__))) \
-       )
-diff --git a/Include/object.h b/Include/object.h
-index 78aa7ad0f459ff..b53f9acfebdb0c 100644
---- a/Include/object.h
-+++ b/Include/object.h
-@@ -259,7 +259,7 @@ _Py_ThreadId(void)
-     __asm__("movq %%gs:0, %0" : "=r" (tid));  // x86_64 macOSX uses GS
- #elif defined(__x86_64__)
-    __asm__("movq %%fs:0, %0" : "=r" (tid));  // x86_64 Linux, BSD uses FS
--#elif defined(__arm__)
-+#elif defined(__arm__) && __ARM_ARCH >= 7
-     __asm__ ("mrc p15, 0, %0, c13, c0, 3\nbic %0, %0, #3" : "=r" (tid));
- #elif defined(__aarch64__) && defined(__APPLE__)
-     __asm__ ("mrs %0, tpidrro_el0" : "=r" (tid));
-diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
-new file mode 100644
-index 00000000000000..13c1e745edf8d5
---- /dev/null
-+++ b/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
-@@ -0,0 +1 @@
-+Fix illegal instruction for older Arm architectures. Patch by Diego Russo, testing by Ross Burton.
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index 4b7f9cc..f99cc5e 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -1035,7 +1035,7 @@
         ]
     },
     "stringold": {
-        "summary": "Python string APIs [deprecated]",
+        "summary": "Common string operations",
         "rdepends": [
             "core"
         ],
diff --git a/poky/meta/recipes-devtools/python/python3_3.13.0.bb b/poky/meta/recipes-devtools/python/python3_3.13.1.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3_3.13.0.bb
rename to poky/meta/recipes-devtools/python/python3_3.13.1.bb
index b317087..d7a3bcc 100644
--- a/poky/meta/recipes-devtools/python/python3_3.13.0.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.13.1.bb
@@ -14,7 +14,6 @@
            file://check_build_completeness.py \
            file://reformat_sysconfig.py \
            file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
-           file://crosspythonpath.patch \
            file://0001-test_locale.py-correct-the-test-output-format.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 \
@@ -30,7 +29,6 @@
            file://0001-test_deadlock-skip-problematic-test.patch \
            file://0001-test_active_children-skip-problematic-test.patch \
            file://0001-test_readline-skip-limited-history-test.patch \
-           file://fix-armv5.patch \
            file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \
            file://0001-ssl-Raise-OSError-for-ERR_LIB_SYS.patch \
            "
@@ -39,7 +37,7 @@
            file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
            "
 
-SRC_URI[sha256sum] = "086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d"
+SRC_URI[sha256sum] = "9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -69,7 +67,24 @@
 ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
 
 
-DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses"
+DEPENDS = "\
+    autoconf-archive-native \
+    bzip2 \
+    bzip2-replacement-native \
+    expat \
+    libffi \
+    libnsl2 \
+    libtirpc \
+    ncurses \
+    openssl \
+    sqlite3 \
+    util-linux-libuuid \
+    virtual/crypt \
+    virtual/libintl \
+    xz \
+    zlib \
+"
+
 DEPENDS:append:class-target = " python3-native"
 DEPENDS:append:class-nativesdk = " python3-native"
 
@@ -78,7 +93,7 @@
 EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3"
 EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3"
 
-export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
+export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
 
 EXTRANATIVEPATH += "python3-native"
 
@@ -444,13 +459,13 @@
 # catch all the rest (unsorted)
 PACKAGES += "${PN}-misc"
 RDEPENDS:${PN}-misc += "\
-  ${PN}-audio \
-  ${PN}-codecs \
-  ${PN}-core \
-  ${PN}-email \
-  ${PN}-numbers \
-  ${PN}-pickle \
-  ${PN}-pydoc \
+    ${PN}-audio \
+    ${PN}-codecs \
+    ${PN}-core \
+    ${PN}-email \
+    ${PN}-numbers \
+    ${PN}-pickle \
+    ${PN}-pydoc \
 "
 RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc"
 RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc"
@@ -466,8 +481,25 @@
 RDEPENDS:${PN}-ctypes:append:libc-glibc = "\
     ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)} \
 "
-RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils \
-                        locale-base-fr-fr locale-base-en-us locale-base-de-de"
+RDEPENDS:${PN}-ptest = "\
+    ${PN}-dev \
+    ${PN}-modules \
+    ${PN}-tests \
+    ${PN}-zipapp \
+    binutils \
+    bzip2 \
+    coreutils \
+    gcc \
+    gcc-symlinks \
+    g++ \
+    libgcc \
+    locale-base-fr-fr \
+    locale-base-en-us \
+    locale-base-de-de \
+    sed \
+    tzdata \
+    unzip \
+"
 RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr"
 RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}"
 RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_9.1.1.bb b/poky/meta/recipes-devtools/qemu/qemu-native_9.2.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/qemu/qemu-native_9.1.1.bb
rename to poky/meta/recipes-devtools/qemu/qemu-native_9.2.0.bb
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_9.1.1.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_9.2.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/qemu/qemu-system-native_9.1.1.bb
rename to poky/meta/recipes-devtools/qemu/qemu-system-native_9.2.0.bb
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index d4693fe..d253529 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -29,17 +29,15 @@
            file://0006-qemu-Determinism-fixes.patch \
            file://0007-tests-meson.build-use-relative-path-to-refer-to-file.patch \
            file://0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
-           file://0009-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
            file://0010-configure-lookup-meson-exutable-from-PATH.patch \
            file://0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch \
            file://0001-sched_attr-Do-not-define-for-glibc-2.41.patch \
-           file://0001-util-util-cpuinfo-riscv.c-fix-riscv64-build-on-musl-.patch \
            file://qemu-guest-agent.init \
            file://qemu-guest-agent.udev \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
-SRC_URI[sha256sum] = "7dc0f9da5491ff449500f3310063a36b619f236ee45706fd0846eb37d4bba889"
+SRC_URI[sha256sum] = "f859f0bc65e1f533d040bbe8c92bcfecee5af2c921a6687c652fb44d089bd894"
 
 CVE_STATUS[CVE-2007-0998] = "not-applicable-config: The VNC server can expose host files uder some circumstances. We don't enable it by default."
 
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-util-util-cpuinfo-riscv.c-fix-riscv64-build-on-musl-.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-util-util-cpuinfo-riscv.c-fix-riscv64-build-on-musl-.patch
deleted file mode 100644
index 16762e0..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-util-util-cpuinfo-riscv.c-fix-riscv64-build-on-musl-.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f60ea4ae2298f0f077a97648c138283357337370 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Milan=20P=2E=20Stani=C4=87?= <mps@arvanta.net>
-Date: Thu, 5 Sep 2024 16:17:50 +0200
-Subject: [PATCH] util/util/cpuinfo-riscv.c: fix riscv64 build on musl libc
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-build fails on musl libc (alpine linux) with this error:
-
-../util/cpuinfo-riscv.c: In function 'cpuinfo_init':
-../util/cpuinfo-riscv.c:63:21: error: '__NR_riscv_hwprobe' undeclared (first use in this function); did you mean 'riscv_hwprobe'?
-   63 |         if (syscall(__NR_riscv_hwprobe, &pair, 1, 0, NULL, 0) == 0
-      |                     ^~~~~~~~~~~~~~~~~~
-      |                     riscv_hwprobe
-../util/cpuinfo-riscv.c:63:21: note: each undeclared identifier is reported only once for each function it appears in
-ninja: subcommand failed
-
-add '#include "asm/unistd.h"' to util/cpuinfo-riscv.c fixes build
-
-Upstream-Status: Backport [https://github.com/qemu/qemu/commit/c5757f808bd74db7ef1a90ee28334f3b5afb8179]
-Signed-off-by: Milan P. Stanić <mps@arvanta.net>
----
- util/cpuinfo-riscv.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/util/cpuinfo-riscv.c b/util/cpuinfo-riscv.c
-index 497ce12680..8cacc67645 100644
---- a/util/cpuinfo-riscv.c
-+++ b/util/cpuinfo-riscv.c
-@@ -9,6 +9,7 @@
- #ifdef CONFIG_ASM_HWPROBE_H
- #include <asm/hwprobe.h>
- #include <sys/syscall.h>
-+#include <asm/unistd.h>
- #endif
- 
- unsigned cpuinfo;
--- 
-2.46.0
-
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Replace-use-of-lfs64-related-functions-an.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Replace-use-of-lfs64-related-functions-an.patch
deleted file mode 100644
index f9eddb8..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Replace-use-of-lfs64-related-functions-an.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From a6b57d63bcdc3f3cae9827d2e1e3492d2293695f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 17 Dec 2022 08:37:46 -0800
-Subject: [PATCH] linux-user: Replace use of lfs64 related functions and macros
-
-Builds defines -D_FILE_OFFSET_BITS=64 which makes the original functions
-anf macros behave same as their 64 suffixed counterparts. This also
-helps in compiling with latest musl C library, where these macros and
-functions are no more available under _GNU_SOURCE feature macro
-
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2022-12/msg02841.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Laurent Vivier <laurent@vivier.eu>
----
- linux-user/syscall.c | 153 +++++++++++--------------------------------
- 1 file changed, 39 insertions(+), 114 deletions(-)
-
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 22df46859..27aa59594 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -762,8 +762,8 @@ safe_syscall6(ssize_t, copy_file_range, int, infd, loff_t *, pinoff,
-  */
- #define safe_ioctl(...) safe_syscall(__NR_ioctl, __VA_ARGS__)
- /* Similarly for fcntl. Note that callers must always:
-- *  pass the F_GETLK64 etc constants rather than the unsuffixed F_GETLK
-- *  use the flock64 struct rather than unsuffixed flock
-+ *  pass the F_GETLK etc constants rather than the unsuffixed F_GETLK
-+ *  use the flock struct rather than unsuffixed flock
-  * This will then work and use a 64-bit offset for both 32-bit and 64-bit hosts.
-  */
- #ifdef __NR_fcntl64
-@@ -6724,13 +6724,13 @@ static int target_to_host_fcntl_cmd(int cmd)
-         ret = cmd;
-         break;
-     case TARGET_F_GETLK:
--        ret = F_GETLK64;
-+        ret = F_GETLK;
-         break;
-     case TARGET_F_SETLK:
--        ret = F_SETLK64;
-+        ret = F_SETLK;
-         break;
-     case TARGET_F_SETLKW:
--        ret = F_SETLKW64;
-+        ret = F_SETLKW;
-         break;
-     case TARGET_F_GETOWN:
-         ret = F_GETOWN;
-@@ -6744,17 +6744,6 @@ static int target_to_host_fcntl_cmd(int cmd)
-     case TARGET_F_SETSIG:
-         ret = F_SETSIG;
-         break;
--#if TARGET_ABI_BITS == 32
--    case TARGET_F_GETLK64:
--        ret = F_GETLK64;
--        break;
--    case TARGET_F_SETLK64:
--        ret = F_SETLK64;
--        break;
--    case TARGET_F_SETLKW64:
--        ret = F_SETLKW64;
--        break;
--#endif
-     case TARGET_F_SETLEASE:
-         ret = F_SETLEASE;
-         break;
-@@ -6806,8 +6795,8 @@ static int target_to_host_fcntl_cmd(int cmd)
-      * them to 5, 6 and 7 before making the syscall(). Since we make the
-      * syscall directly, adjust to what is supported by the kernel.
-      */
--    if (ret >= F_GETLK64 && ret <= F_SETLKW64) {
--        ret -= F_GETLK64 - 5;
-+    if (ret >= F_GETLK && ret <= F_SETLKW) {
-+        ret -= F_GETLK - 5;
-     }
- #endif
- 
-@@ -6840,55 +6829,11 @@ static int host_to_target_flock(int type)
-     return type;
- }
- 
--static inline abi_long copy_from_user_flock(struct flock64 *fl,
--                                            abi_ulong target_flock_addr)
--{
--    struct target_flock *target_fl;
--    int l_type;
--
--    if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) {
--        return -TARGET_EFAULT;
--    }
--
--    __get_user(l_type, &target_fl->l_type);
--    l_type = target_to_host_flock(l_type);
--    if (l_type < 0) {
--        return l_type;
--    }
--    fl->l_type = l_type;
--    __get_user(fl->l_whence, &target_fl->l_whence);
--    __get_user(fl->l_start, &target_fl->l_start);
--    __get_user(fl->l_len, &target_fl->l_len);
--    __get_user(fl->l_pid, &target_fl->l_pid);
--    unlock_user_struct(target_fl, target_flock_addr, 0);
--    return 0;
--}
--
--static inline abi_long copy_to_user_flock(abi_ulong target_flock_addr,
--                                          const struct flock64 *fl)
--{
--    struct target_flock *target_fl;
--    short l_type;
--
--    if (!lock_user_struct(VERIFY_WRITE, target_fl, target_flock_addr, 0)) {
--        return -TARGET_EFAULT;
--    }
--
--    l_type = host_to_target_flock(fl->l_type);
--    __put_user(l_type, &target_fl->l_type);
--    __put_user(fl->l_whence, &target_fl->l_whence);
--    __put_user(fl->l_start, &target_fl->l_start);
--    __put_user(fl->l_len, &target_fl->l_len);
--    __put_user(fl->l_pid, &target_fl->l_pid);
--    unlock_user_struct(target_fl, target_flock_addr, 1);
--    return 0;
--}
--
--typedef abi_long from_flock64_fn(struct flock64 *fl, abi_ulong target_addr);
--typedef abi_long to_flock64_fn(abi_ulong target_addr, const struct flock64 *fl);
-+typedef abi_long from_flock_fn(struct flock *fl, abi_ulong target_addr);
-+typedef abi_long to_flock_fn(abi_ulong target_addr, const struct flock *fl);
- 
- #if defined(TARGET_ARM) && TARGET_ABI_BITS == 32
--struct target_oabi_flock64 {
-+struct target_oabi_flock {
-     abi_short l_type;
-     abi_short l_whence;
-     abi_llong l_start;
-@@ -6896,10 +6841,10 @@ struct target_oabi_flock64 {
-     abi_int   l_pid;
- } QEMU_PACKED;
- 
--static inline abi_long copy_from_user_oabi_flock64(struct flock64 *fl,
-+static inline abi_long copy_from_user_oabi_flock(struct flock *fl,
-                                                    abi_ulong target_flock_addr)
- {
--    struct target_oabi_flock64 *target_fl;
-+    struct target_oabi_flock *target_fl;
-     int l_type;
- 
-     if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) {
-@@ -6920,10 +6865,10 @@ static inline abi_long copy_from_user_oabi_flock64(struct flock64 *fl,
-     return 0;
- }
- 
--static inline abi_long copy_to_user_oabi_flock64(abi_ulong target_flock_addr,
--                                                 const struct flock64 *fl)
-+static inline abi_long copy_to_user_oabi_flock(abi_ulong target_flock_addr,
-+                                                 const struct flock *fl)
- {
--    struct target_oabi_flock64 *target_fl;
-+    struct target_oabi_flock *target_fl;
-     short l_type;
- 
-     if (!lock_user_struct(VERIFY_WRITE, target_fl, target_flock_addr, 0)) {
-@@ -6941,10 +6886,10 @@ static inline abi_long copy_to_user_oabi_flock64(abi_ulong target_flock_addr,
- }
- #endif
- 
--static inline abi_long copy_from_user_flock64(struct flock64 *fl,
-+static inline abi_long copy_from_user_flock(struct flock *fl,
-                                               abi_ulong target_flock_addr)
- {
--    struct target_flock64 *target_fl;
-+    struct target_flock *target_fl;
-     int l_type;
- 
-     if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) {
-@@ -6965,10 +6910,10 @@ static inline abi_long copy_from_user_flock64(struct flock64 *fl,
-     return 0;
- }
- 
--static inline abi_long copy_to_user_flock64(abi_ulong target_flock_addr,
--                                            const struct flock64 *fl)
-+static inline abi_long copy_to_user_flock(abi_ulong target_flock_addr,
-+                                            const struct flock *fl)
- {
--    struct target_flock64 *target_fl;
-+    struct target_flock *target_fl;
-     short l_type;
- 
-     if (!lock_user_struct(VERIFY_WRITE, target_fl, target_flock_addr, 0)) {
-@@ -6987,7 +6932,7 @@ static inline abi_long copy_to_user_flock64(abi_ulong target_flock_addr,
- 
- static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
- {
--    struct flock64 fl64;
-+    struct flock fl64;
- #ifdef F_GETOWN_EX
-     struct f_owner_ex fox;
-     struct target_f_owner_ex *target_fox;
-@@ -7000,6 +6945,7 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
- 
-     switch(cmd) {
-     case TARGET_F_GETLK:
-+    case TARGET_F_OFD_GETLK:
-         ret = copy_from_user_flock(&fl64, arg);
-         if (ret) {
-             return ret;
-@@ -7009,32 +6955,11 @@ static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
-             ret = copy_to_user_flock(arg, &fl64);
-         }
-         break;
--
-     case TARGET_F_SETLK:
-     case TARGET_F_SETLKW:
--        ret = copy_from_user_flock(&fl64, arg);
--        if (ret) {
--            return ret;
--        }
--        ret = get_errno(safe_fcntl(fd, host_cmd, &fl64));
--        break;
--
--    case TARGET_F_GETLK64:
--    case TARGET_F_OFD_GETLK:
--        ret = copy_from_user_flock64(&fl64, arg);
--        if (ret) {
--            return ret;
--        }
--        ret = get_errno(safe_fcntl(fd, host_cmd, &fl64));
--        if (ret == 0) {
--            ret = copy_to_user_flock64(arg, &fl64);
--        }
--        break;
--    case TARGET_F_SETLK64:
--    case TARGET_F_SETLKW64:
-     case TARGET_F_OFD_SETLK:
-     case TARGET_F_OFD_SETLKW:
--        ret = copy_from_user_flock64(&fl64, arg);
-+        ret = copy_from_user_flock(&fl64, arg);
-         if (ret) {
-             return ret;
-         }
-@@ -7269,7 +7194,7 @@ static inline abi_long target_truncate64(CPUArchState *cpu_env, const char *arg1
-         arg2 = arg3;
-         arg3 = arg4;
-     }
--    return get_errno(truncate64(arg1, target_offset64(arg2, arg3)));
-+    return get_errno(truncate(arg1, target_offset64(arg2, arg3)));
- }
- #endif
- 
-@@ -7283,7 +7208,7 @@ static inline abi_long target_ftruncate64(CPUArchState *cpu_env, abi_long arg1,
-         arg2 = arg3;
-         arg3 = arg4;
-     }
--    return get_errno(ftruncate64(arg1, target_offset64(arg2, arg3)));
-+    return get_errno(ftruncate(arg1, target_offset64(arg2, arg3)));
- }
- #endif
- 
-@@ -8668,7 +8593,7 @@ static int do_getdents(abi_long dirfd, abi_long arg2, abi_long count)
-     void *tdirp;
-     int hlen, hoff, toff;
-     int hreclen, treclen;
--    off64_t prev_diroff = 0;
-+    off_t prev_diroff = 0;
- 
-     hdirp = g_try_malloc(count);
-     if (!hdirp) {
-@@ -8721,7 +8646,7 @@ static int do_getdents(abi_long dirfd, abi_long arg2, abi_long count)
-              * Return what we have, resetting the file pointer to the
-              * location of the first record not returned.
-              */
--            lseek64(dirfd, prev_diroff, SEEK_SET);
-+            lseek(dirfd, prev_diroff, SEEK_SET);
-             break;
-         }
- 
-@@ -8755,7 +8680,7 @@ static int do_getdents64(abi_long dirfd, abi_long arg2, abi_long count)
-     void *tdirp;
-     int hlen, hoff, toff;
-     int hreclen, treclen;
--    off64_t prev_diroff = 0;
-+    off_t prev_diroff = 0;
- 
-     hdirp = g_try_malloc(count);
-     if (!hdirp) {
-@@ -8797,7 +8722,7 @@ static int do_getdents64(abi_long dirfd, abi_long arg2, abi_long count)
-              * Return what we have, resetting the file pointer to the
-              * location of the first record not returned.
-              */
--            lseek64(dirfd, prev_diroff, SEEK_SET);
-+            lseek(dirfd, prev_diroff, SEEK_SET);
-             break;
-         }
- 
-@@ -11528,7 +11453,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
-                 return -TARGET_EFAULT;
-             }
-         }
--        ret = get_errno(pread64(arg1, p, arg3, target_offset64(arg4, arg5)));
-+        ret = get_errno(pread(arg1, p, arg3, target_offset64(arg4, arg5)));
-         unlock_user(p, arg2, ret);
-         return ret;
-     case TARGET_NR_pwrite64:
-@@ -11545,7 +11470,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
-                 return -TARGET_EFAULT;
-             }
-         }
--        ret = get_errno(pwrite64(arg1, p, arg3, target_offset64(arg4, arg5)));
-+        ret = get_errno(pwrite(arg1, p, arg3, target_offset64(arg4, arg5)));
-         unlock_user(p, arg2, 0);
-         return ret;
- #endif
-@@ -12405,14 +12330,14 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
-     case TARGET_NR_fcntl64:
-     {
-         int cmd;
--        struct flock64 fl;
--        from_flock64_fn *copyfrom = copy_from_user_flock64;
--        to_flock64_fn *copyto = copy_to_user_flock64;
-+        struct flock fl;
-+        from_flock_fn *copyfrom = copy_from_user_flock;
-+        to_flock_fn *copyto = copy_to_user_flock;
- 
- #ifdef TARGET_ARM
-         if (!cpu_env->eabi) {
--            copyfrom = copy_from_user_oabi_flock64;
--            copyto = copy_to_user_oabi_flock64;
-+            copyfrom = copy_from_user_oabi_flock;
-+            copyto = copy_to_user_oabi_flock;
-         }
- #endif
- 
-@@ -12422,7 +12347,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
-         }
- 
-         switch(arg2) {
--        case TARGET_F_GETLK64:
-+        case TARGET_F_GETLK:
-             ret = copyfrom(&fl, arg3);
-             if (ret) {
-                 break;
-@@ -12433,8 +12358,8 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
-             }
- 	    break;
- 
--        case TARGET_F_SETLK64:
--        case TARGET_F_SETLKW64:
-+        case TARGET_F_SETLK:
-+        case TARGET_F_SETLKW:
-             ret = copyfrom(&fl, arg3);
-             if (ret) {
-                 break;
diff --git a/poky/meta/recipes-devtools/qemu/qemu_9.1.1.bb b/poky/meta/recipes-devtools/qemu/qemu_9.2.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/qemu/qemu_9.1.1.bb
rename to poky/meta/recipes-devtools/qemu/qemu_9.2.0.bb
diff --git a/poky/meta/recipes-devtools/repo/repo_2.49.3.bb b/poky/meta/recipes-devtools/repo/repo_2.50.1.bb
similarity index 94%
rename from poky/meta/recipes-devtools/repo/repo_2.49.3.bb
rename to poky/meta/recipes-devtools/repo/repo_2.50.1.bb
index 5cb10b6..f1fcc9c 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.49.3.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.50.1.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
            "
-SRCREV = "ab2d3211043e2cb42a55f56e5abf69d23103c105"
+SRCREV = "13d6588bf60f0980ffa3d178441fa707655fee95"
 
 MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
 
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Set-RPM_PLUGINDIR-in-top-level-CMakeLists.txt.patch b/poky/meta/recipes-devtools/rpm/files/0001-Set-RPM_PLUGINDIR-in-top-level-CMakeLists.txt.patch
new file mode 100644
index 0000000..5db6934
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-Set-RPM_PLUGINDIR-in-top-level-CMakeLists.txt.patch
@@ -0,0 +1,57 @@
+From 2d6beb620896a59cfd685b51a19057e5c5c4ab41 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 19 Dec 2024 11:54:54 +0800
+Subject: [PATCH] Set RPM_PLUGINDIR in top level CMakeLists.txt
+
+We have in macros.in:
+  %__plugindir          @RPM_PLUGINDIR@
+
+This means, if RPM_PLUGINDIR is not set, %__plugindir will be empty.
+This in turn results in error message when running 'dnf'.
+
+e.g.,
+dnf --help >/dev/null
+error: /usr/lib64/rpm/macros: line 1183: Macro %__plugindir has empty body
+error: /usr/lib64/rpm/macros: line 1183: Macro %__plugindir has empty body
+
+So we should move this directory setting into the top level CMakeLists.txt.
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/3496]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ CMakeLists.txt         | 3 +++
+ plugins/CMakeLists.txt | 3 ---
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 758ba73f4..e694b9650 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -453,6 +453,9 @@ if (ENABLE_PYTHON)
+ 	add_subdirectory(python)
+ endif()
+ 
++set(RPM_PLUGINDIR ${CMAKE_INSTALL_FULL_LIBDIR}/rpm-plugins
++       CACHE PATH "rpm plugin directory")
++
+ if (ENABLE_PLUGINS)
+ 	add_subdirectory(plugins)
+ endif()
+diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
+index a44056fe3..6e61a7c20 100644
+--- a/plugins/CMakeLists.txt
++++ b/plugins/CMakeLists.txt
+@@ -42,9 +42,6 @@ if (HAVE_UNSHARE)
+ 	add_library(unshare MODULE unshare.c)
+ endif()
+ 
+-set(RPM_PLUGINDIR ${CMAKE_INSTALL_FULL_LIBDIR}/rpm-plugins
+-	CACHE PATH "rpm plugin directory")
+-
+ get_property(plugins DIRECTORY PROPERTY BUILDSYSTEM_TARGETS)
+ foreach(plugin ${plugins})
+ 	target_link_libraries(${plugin} PRIVATE librpmio librpm ${Intl_LIBRARIES})
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.20.0.bb b/poky/meta/recipes-devtools/rpm/rpm_4.20.0.bb
index 97483f7..6c995ff 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.20.0.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.20.0.bb
@@ -38,6 +38,7 @@
            file://0001-CMakeLists.txt-look-for-lua-with-pkg-config-rather-t.patch \
            file://0002-rpmio-rpmglob.c-avoid-using-GLOB_BRACE-if-undefined-.patch \
            file://0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch \
+           file://0001-Set-RPM_PLUGINDIR-in-top-level-CMakeLists.txt.patch \
            "
 
 PE = "1"
diff --git a/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch b/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
index 2379de8..3011308 100644
--- a/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
+++ b/poky/meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch
@@ -1,4 +1,4 @@
-From 2beb35c34c45320144f37b12ef4d72fb8734280e Mon Sep 17 00:00:00 2001
+From 073caa67f2aa221de113a21f8105940421a2da90 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 29 Aug 2022 19:53:28 -0700
 Subject: [PATCH] Add missing prototypes to function declarations
@@ -15,21 +15,19 @@
 
 Upstream-Status: Submitted [https://lists.samba.org/archive/rsync/2022-August/032858.html]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
 ---
- checksum.c       | 2 +-
- exclude.c        | 2 +-
- hlink.c          | 3 +--
- lib/pool_alloc.c | 2 +-
- log.c            | 2 +-
- main.c           | 2 +-
- syscall.c        | 4 ++--
- zlib/crc32.c     | 2 +-
- zlib/trees.c     | 2 +-
- zlib/zutil.c     | 4 ++--
- 10 files changed, 12 insertions(+), 13 deletions(-)
+ checksum.c   | 2 +-
+ exclude.c    | 2 +-
+ log.c        | 2 +-
+ main.c       | 2 +-
+ zlib/crc32.c | 2 +-
+ zlib/trees.c | 2 +-
+ zlib/zutil.c | 4 ++--
+ 7 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/checksum.c b/checksum.c
-index cb21882..736818b 100644
+index 66e8089..b24b202 100644
 --- a/checksum.c
 +++ b/checksum.c
 @@ -779,7 +779,7 @@ static void verify_digest(struct name_num_item *nni, BOOL check_auth_list)
@@ -54,33 +52,6 @@
  {
  	if (partial_string_buf) {
  		if (partial_string_len)
-diff --git a/hlink.c b/hlink.c
-index 20291f2..5c26a6b 100644
---- a/hlink.c
-+++ b/hlink.c
-@@ -117,8 +117,7 @@ static void match_gnums(int32 *ndx_list, int ndx_count)
- 	struct ht_int32_node *node = NULL;
- 	int32 gnum, gnum_next;
- 
--	qsort(ndx_list, ndx_count, sizeof ndx_list[0], (int (*)()) hlink_compare_gnum);
--
-+	qsort(ndx_list, ndx_count, sizeof ndx_list[0], (int (*)(const void *, const void *)) hlink_compare_gnum);
- 	for (from = 0; from < ndx_count; from++) {
- 		file = hlink_flist->sorted[ndx_list[from]];
- 		gnum = F_HL_GNUM(file);
-diff --git a/lib/pool_alloc.c b/lib/pool_alloc.c
-index a1a7245..4eae062 100644
---- a/lib/pool_alloc.c
-+++ b/lib/pool_alloc.c
-@@ -9,7 +9,7 @@ struct alloc_pool
- 	size_t			size;		/* extent size		*/
- 	size_t			quantum;	/* allocation quantum	*/
- 	struct pool_extent	*extents;	/* top extent is "live" */
--	void			(*bomb)();	/* called if malloc fails */
-+	void			(*bomb)(const char *, const char *, int);	/* called if malloc fails */
- 	int			flags;
- 
- 	/* statistical data */
 diff --git a/log.c b/log.c
 index e4ba1cc..8482b71 100644
 --- a/log.c
@@ -95,7 +66,7 @@
  	int options = LOG_PID;
  
 diff --git a/main.c b/main.c
-index 0c60b86..4bc664a 100644
+index 4f070ac..f59eaec 100644
 --- a/main.c
 +++ b/main.c
 @@ -246,7 +246,7 @@ void read_del_stats(int f)
@@ -107,22 +78,6 @@
  {
  	char *gname;
  	uid_t uid;
-diff --git a/syscall.c b/syscall.c
-index d92074a..92ca86d 100644
---- a/syscall.c
-+++ b/syscall.c
-@@ -389,9 +389,9 @@ OFF_T do_lseek(int fd, OFF_T offset, int whence)
- {
- #ifdef HAVE_LSEEK64
- #if !SIZEOF_OFF64_T
--	OFF_T lseek64();
-+	OFF_T lseek64(int fd, OFF_T offset, int whence);
- #else
--	off64_t lseek64();
-+	off64_t lseek64(int fd, off64_t offset, int whence);
- #endif
- 	return lseek64(fd, offset, whence);
- #else
 diff --git a/zlib/crc32.c b/zlib/crc32.c
 index 05733f4..50c6c02 100644
 --- a/zlib/crc32.c
diff --git a/poky/meta/recipes-devtools/rsync/files/determism.patch b/poky/meta/recipes-devtools/rsync/files/determism.patch
index e3494fd..f915d65 100644
--- a/poky/meta/recipes-devtools/rsync/files/determism.patch
+++ b/poky/meta/recipes-devtools/rsync/files/determism.patch
@@ -1,7 +1,12 @@
+From 41b859a9df9611b7b3f6cbe28af47118d947080f Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sun, 21 Feb 2021 09:45:48 +0000
+Subject: [PATCH] rsync: Fix a file sorting determinism issue
+
 The Makefile calls awk on a "*.c" glob. The results of this glob are sorted
 but the order depends on the locale settings, particularly whether
 "util.c" and "util2.c" sort before or after each other. In en_US.UTF-8
-they sort one way, in C, they sort the other. The sorting order changes 
+they sort one way, in C, they sort the other. The sorting order changes
 the output binaries. The behaviour also changes dependning on whether
 SHELL (/bin/sh) is dash or bash.
 
@@ -15,12 +20,15 @@
 After discussion upstream renamed util.c to util1.c which avoids the problem
 in a different way. This patch can be dropped when we upgrade to include:
 https://github.com/WayneD/rsync/commit/d3085f7add38a5cf833a0b31cb0637ff46c80f8d
+---
+ Makefile.in | 5 +++++
+ 1 file changed, 5 insertions(+)
 
-Index: rsync-3.2.3/Makefile.in
-===================================================================
---- rsync-3.2.3.orig/Makefile.in
-+++ rsync-3.2.3/Makefile.in
-@@ -26,6 +26,11 @@ MKDIR_P=@MKDIR_P@
+diff --git a/Makefile.in b/Makefile.in
+index 1d13e8c..2c5cf99 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -27,6 +27,11 @@ MKDIR_P=@MKDIR_P@
  VPATH=$(srcdir)
  SHELL=/bin/sh
  
diff --git a/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch b/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
index 0c9ce8b..42af4c5 100644
--- a/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
+++ b/poky/meta/recipes-devtools/rsync/files/makefile-no-rebuild.patch
@@ -1,4 +1,4 @@
-From f446686c26c499e15ef17d495a93cfbc20e16090 Mon Sep 17 00:00:00 2001
+From 603e5862cca832ae925d0c92a8654a57caff5910 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Tue, 12 Apr 2016 15:51:54 +0100
 Subject: [PATCH] rsync: remove upstream's rebuild logic
@@ -13,12 +13,12 @@
  1 file changed, 54 deletions(-)
 
 diff --git a/Makefile.in b/Makefile.in
-index a1253e5..a084935 100644
+index 7c75c26..1d13e8c 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -192,60 +192,6 @@ gensend: gen
- 	fi
- 	rsync -aic $(GENFILES) git-version.h $${SAMBA_HOST-samba.org}:/home/ftp/pub/rsync/generated-files/ || true
+@@ -184,60 +184,6 @@ conf: configure.sh config.h.in
+ .PHONY: gen
+ gen: conf proto.h man git-version.h
  
 -aclocal.m4: $(srcdir)/m4/*.m4
 -	aclocal -I $(srcdir)/m4
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.3.0.bb b/poky/meta/recipes-devtools/rsync/rsync_3.4.1.bb
similarity index 89%
rename from poky/meta/recipes-devtools/rsync/rsync_3.3.0.bb
rename to poky/meta/recipes-devtools/rsync/rsync_3.4.1.bb
index a90d288..2cf87d3 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.3.0.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.4.1.bb
@@ -16,8 +16,9 @@
            file://determism.patch \
            file://0001-Add-missing-prototypes-to-function-declarations.patch \
            "
-SRC_URI[sha256sum] = "7399e9a6708c32d678a72a63219e96f23be0be2336e50fd1348498d07041df90"
+SRC_URI[sha256sum] = "2924bcb3a1ed8b551fc101f740b9f0fe0a202b115027647cf69850d65fd88c52"
 
+# Doesn't use automake
 inherit autotools-brokensep
 
 PACKAGECONFIG ??= "acl attr \
@@ -49,14 +50,10 @@
 #| If you can't fix the issue, re-run ./configure with --disable-roll-simd.
 EXTRA_OECONF:append:libc-musl = " --disable-roll-simd"
 
-# rsync 3.0 uses configure.sh instead of configure, and
-# makefile checks the existence of configure.sh
+# rsync uses configure.sh instead of configure, so delete that file
+# to avoid confusion as we will generate configure.
 do_configure:prepend () {
-	rm -f ${S}/configure ${S}/configure.sh
-}
-
-do_configure:append () {
-	cp -f ${S}/configure ${S}/configure.sh
+       rm -f ${S}/configure.sh
 }
 
 do_install:append() {
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch
index bd8f736..f17970e 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-extmk-fix-cross-compilation-of-external-gems.patch
@@ -1,4 +1,4 @@
-From b74950d4f06bbfb91b2e68044147a226c15f4639 Mon Sep 17 00:00:00 2001
+From 03700ec256789e02de20b58bca080c6fef592336 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
 Date: Mon, 30 Sep 2019 16:57:01 +0100
 Subject: [PATCH] extmk: fix cross-compilation of external gems
@@ -16,10 +16,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/ext/extmk.rb b/ext/extmk.rb
-index d9c2417..da14c49 100755
+index 8b6b365..3048f75 100755
 --- a/ext/extmk.rb
 +++ b/ext/extmk.rb
-@@ -428,8 +428,8 @@ else
+@@ -434,8 +434,8 @@ else
  end
  $ruby = [$ruby]
  $ruby << "-I'$(topdir)'"
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch
index bc1744d..799324c 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-vm_dump.c-Define-REG_S1-and-REG_S2-for-musl-riscv.patch
@@ -1,4 +1,4 @@
-From f4edf72c76bc06fa92c61f6cb9163cc777912a1f Mon Sep 17 00:00:00 2001
+From f992d781e05b61489bdf5a2a9aee6cc616f1742a Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Tue, 25 Jan 2022 20:29:14 -0800
 Subject: [PATCH] vm_dump.c: Define REG_S1 and REG_S2 for musl/riscv
@@ -14,10 +14,10 @@
  1 file changed, 5 insertions(+)
 
 diff --git a/vm_dump.c b/vm_dump.c
-index 444be4a..8a081a7 100644
+index 5873e52..9eb4db1 100644
 --- a/vm_dump.c
 +++ b/vm_dump.c
-@@ -39,6 +39,11 @@
+@@ -40,6 +40,11 @@
  
  #define MAX_POSBUF 128
  
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch b/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
index 6f95685..bb67df0 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch
@@ -1,4 +1,4 @@
-From e6267676addd27f3c02667116185211d711ef940 Mon Sep 17 00:00:00 2001
+From 7e2337d8b0daf264785cb06d1d6c7d61e428a11b Mon Sep 17 00:00:00 2001
 From: Christopher Larson <chris_larson@mentor.com>
 Date: Thu, 5 May 2016 10:59:07 -0700
 Subject: [PATCH] Obey LDFLAGS for the link of libruby
@@ -10,10 +10,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/template/Makefile.in b/template/Makefile.in
-index 8c462f2..2200c8c 100644
+index 05432cd..41a05bb 100644
 --- a/template/Makefile.in
 +++ b/template/Makefile.in
-@@ -115,7 +115,7 @@ ENABLE_SHARED = @ENABLE_SHARED@
+@@ -119,7 +119,7 @@ ENABLE_SHARED = @ENABLE_SHARED@
  LDSHARED = @LIBRUBY_LDSHARED@
  DLDSHARED = @DLDSHARED@
  XDLDFLAGS = @DLDFLAGS@
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
index abbbd35..87a1e82 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch
@@ -1,4 +1,4 @@
-From 09a6df0d32e2177406ed391e536c0c7c4b503c5d Mon Sep 17 00:00:00 2001
+From 98071c0b28a45cd21a2cbe6746ce39067932b62f Mon Sep 17 00:00:00 2001
 From: Christian Hofstaedtler <zeha@debian.org>
 Date: Tue, 10 Oct 2017 15:04:34 -0300
 Subject: [PATCH] rdoc: build reproducible documentation
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
index f08aaf5..4b6771f 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch
@@ -1,4 +1,4 @@
-From f491fff7d006954c1c51eb7a513a85bdbab0fe5a Mon Sep 17 00:00:00 2001
+From 0887facc4ca5bcb0280b025b35bbc18528e52914 Mon Sep 17 00:00:00 2001
 From: Reiner Herrmann <reiner@reiner-h.de>
 Date: Tue, 10 Oct 2017 15:06:13 -0300
 Subject: [PATCH] lib/mkmf.rb: sort list of object files in generated Makefile
@@ -17,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/mkmf.rb b/lib/mkmf.rb
-index 6da7dde..3af30a9 100644
+index 768a152..f16cdd8 100644
 --- a/lib/mkmf.rb
 +++ b/lib/mkmf.rb
-@@ -2368,7 +2368,7 @@ LOCAL_LIBS = #{$LOCAL_LIBS}
+@@ -2480,7 +2480,7 @@ LOCAL_LIBS = #{$LOCAL_LIBS}
  LIBS = #{$LIBRUBYARG} #{$libs} #{$LIBS}
  ORIG_SRCS = #{orig_srcs.collect(&File.method(:basename)).join(' ')}
  SRCS = $(ORIG_SRCS) #{(srcs - orig_srcs).collect(&File.method(:basename)).join(' ')}
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
index 248158b..eda45dd 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch
@@ -1,4 +1,4 @@
-From d2376d94b4d285062b67803dc3278d58c14a5297 Mon Sep 17 00:00:00 2001
+From ff25f6dddcfbbb7b0464485bb5132458866ab51a Mon Sep 17 00:00:00 2001
 From: Lucas Kanashiro <kanashiro@debian.org>
 Date: Fri, 1 Nov 2019 15:25:17 -0300
 Subject: [PATCH] Make gemspecs reproducible
@@ -12,10 +12,10 @@
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index e438669..3ce9af8 100644
+index 8f353ae..095125f 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1707,7 +1707,9 @@ class Gem::Specification < Gem::BasicSpecification
+@@ -1711,7 +1711,9 @@ class Gem::Specification < Gem::BasicSpecification
                  raise(Gem::InvalidSpecificationException,
                        "invalid date format in specification: #{date.inspect}")
                end
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
index 8a1daba..121bdcf 100644
--- a/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
+++ b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch
@@ -1,4 +1,4 @@
-From 42f8019e62f392f5bc09c25e90cc63123eb764fe Mon Sep 17 00:00:00 2001
+From d58bdaca3d5379afcb954bb57c690c7736807ec5 Mon Sep 17 00:00:00 2001
 From: Lucas Kanashiro <kanashiro@debian.org>
 Date: Fri, 1 Nov 2019 15:25:17 -0300
 Subject: [PATCH] Make gemspecs reproducible
@@ -8,17 +8,17 @@
 
 Upstream-Status: Backport [debian]
 ---
- ext/bigdecimal/bigdecimal.gemspec | 1 +
- ext/fiddle/fiddle.gemspec         | 1 +
- ext/io/console/io-console.gemspec | 1 +
- lib/ipaddr.gemspec                | 1 +
- lib/rdoc/rdoc.gemspec             | 1 +
+ .bundle/gems/bigdecimal-3.1.8/bigdecimal.gemspec | 1 +
+ ext/fiddle/fiddle.gemspec                        | 1 +
+ ext/io/console/io-console.gemspec                | 1 +
+ lib/ipaddr.gemspec                               | 1 +
+ lib/rdoc/rdoc.gemspec                            | 1 +
  5 files changed, 5 insertions(+)
 
-diff --git a/ext/bigdecimal/bigdecimal.gemspec b/ext/bigdecimal/bigdecimal.gemspec
-index f9f3b45..b9a469d 100644
---- a/ext/bigdecimal/bigdecimal.gemspec
-+++ b/ext/bigdecimal/bigdecimal.gemspec
+diff --git a/.bundle/gems/bigdecimal-3.1.8/bigdecimal.gemspec b/.bundle/gems/bigdecimal-3.1.8/bigdecimal.gemspec
+index b6ef8fd..596b8bb 100644
+--- a/.bundle/gems/bigdecimal-3.1.8/bigdecimal.gemspec
++++ b/.bundle/gems/bigdecimal-3.1.8/bigdecimal.gemspec
 @@ -14,6 +14,7 @@ Gem::Specification.new do |s|
    s.name          = name
    s.version       = source_version
@@ -28,7 +28,7 @@
  
    s.summary       = "Arbitrary-precision decimal floating-point number library."
 diff --git a/ext/fiddle/fiddle.gemspec b/ext/fiddle/fiddle.gemspec
-index 8781093..efdca32 100644
+index 0092f52..f77c224 100644
 --- a/ext/fiddle/fiddle.gemspec
 +++ b/ext/fiddle/fiddle.gemspec
 @@ -8,6 +8,7 @@ end
@@ -40,10 +40,10 @@
    spec.email         = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org"]
  
 diff --git a/ext/io/console/io-console.gemspec b/ext/io/console/io-console.gemspec
-index d4f5276..8f89611 100644
+index 0a19992..4a80529 100644
 --- a/ext/io/console/io-console.gemspec
 +++ b/ext/io/console/io-console.gemspec
-@@ -4,6 +4,7 @@ _VERSION = "0.7.1"
+@@ -12,6 +12,7 @@ end
  Gem::Specification.new do |s|
    s.name = "io-console"
    s.version = _VERSION
@@ -52,7 +52,7 @@
    s.email = "nobu@ruby-lang.org"
    s.description = "add console capabilities to IO instances."
 diff --git a/lib/ipaddr.gemspec b/lib/ipaddr.gemspec
-index 1f4798e..48743cf 100644
+index 5719f83..fe76260 100644
 --- a/lib/ipaddr.gemspec
 +++ b/lib/ipaddr.gemspec
 @@ -18,6 +18,7 @@ end
@@ -64,7 +64,7 @@
    spec.email         = ["knu@idaemons.org", "ume@mahoroba.org"]
  
 diff --git a/lib/rdoc/rdoc.gemspec b/lib/rdoc/rdoc.gemspec
-index 93a281c..cc5c155 100644
+index 3144df5..65c313f 100644
 --- a/lib/rdoc/rdoc.gemspec
 +++ b/lib/rdoc/rdoc.gemspec
 @@ -7,6 +7,7 @@ end
diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.3.6.bb b/poky/meta/recipes-devtools/ruby/ruby_3.4.1.bb
similarity index 94%
rename from poky/meta/recipes-devtools/ruby/ruby_3.3.6.bb
rename to poky/meta/recipes-devtools/ruby/ruby_3.4.1.bb
index 6751b36..09415a3 100644
--- a/poky/meta/recipes-devtools/ruby/ruby_3.3.6.bb
+++ b/poky/meta/recipes-devtools/ruby/ruby_3.4.1.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5b8c87559868796979806100db3f3805 \
                     file://BSDL;md5=8b50bc6de8f586dc66790ba11d064d75 \
                     file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://LEGAL;md5=81e6a4d81533b9263da4c3485a0ad883 \
+                    file://LEGAL;md5=eff3bb1382b590cc5814f1f3de6eb4e5 \
                     "
 
 DEPENDS = "zlib openssl libyaml libffi"
@@ -32,6 +32,7 @@
 
 inherit autotools ptest pkgconfig
 
+EXTRA_AUTORECONF += "--exclude=aclocal"
 
 # This snippet lets compiled extensions which rely on external libraries,
 # such as zlib, compile properly.  If we don't do this, then when extmk.rb
@@ -47,7 +48,7 @@
 
 DEPENDS:append:libc-musl = " libucontext"
 
-SRC_URI[sha256sum] = "8dc48fffaf270f86f1019053f28e51e4da4cce32a36760a0603a9aee67d7fd8d"
+SRC_URI[sha256sum] = "3d385e5d22d368b064c817a13ed8e3cc3f71a7705d7ed1bae78013c33aa7c87f"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
@@ -78,8 +79,7 @@
 PARALLEL_MAKEINST = ""
 
 do_install:append:class-target () {
-    # Find out rbconfig.rb from .installed.list
-    rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
+    rbconfig_rb=`find ${D} -name rbconfig.rb`
     # Remove build host directories
     sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
            -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
@@ -88,7 +88,7 @@
            -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
            -e 's:${RECIPE_SYSROOT}::g' \
            -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
-        ${D}$rbconfig_rb
+        $rbconfig_rb
 
     sed -i -e 's|${DEBUG_PREFIX_MAP}||g' \
         ${D}${libdir}/pkgconfig/*.pc
diff --git a/poky/meta/recipes-devtools/rust/cargo_1.80.1.bb b/poky/meta/recipes-devtools/rust/cargo_1.81.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/rust/cargo_1.80.1.bb
rename to poky/meta/recipes-devtools/rust/cargo_1.81.0.bb
index 123032c..db18ecf 100644
--- a/poky/meta/recipes-devtools/rust/cargo_1.80.1.bb
+++ b/poky/meta/recipes-devtools/rust/cargo_1.81.0.bb
@@ -50,8 +50,21 @@
 	# sets to libdir but not base_libdir leading to symbol mismatches depending on the
 	# host OS. Fully set LD_LIBRARY_PATH to contain both to avoid this.
 	create_wrapper ${D}/${bindir}/cargo LD_LIBRARY_PATH=${libdir}:${base_libdir}
+	
+	ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
+	mkdir "${ENV_SETUP_DIR}"
+	CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
+	
+	cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
+	# Keep the below off as long as HTTP/2 is disabled.
+	export CARGO_HTTP_MULTIPLEXING=false
+	
+	export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
+	EOF
 }
 
+FILES:${PN} += "${base_prefix}/environment-setup.d"
+
 # Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1)
 # as shipped by Yocto Dunfell.
 # According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between
diff --git a/poky/meta/recipes-devtools/rust/files/0001-cargo-do-not-write-host-information-into-compilation.patch b/poky/meta/recipes-devtools/rust/files/0001-cargo-do-not-write-host-information-into-compilation.patch
deleted file mode 100644
index 7579ea0..0000000
--- a/poky/meta/recipes-devtools/rust/files/0001-cargo-do-not-write-host-information-into-compilation.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 065d7c263091118437465d714d8a29dbb6296921 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 13 May 2024 14:57:54 +0200
-Subject: [PATCH] cargo: do not write host information into compilation unit
- hashes
-
-This breaks reproducibility in cross-builds where the cross-target
-can be the same, but build hosts are different, as seen with
-"rustc --version -v":
-...
-host: x86_64-unknown-linux-gnu
-
-vs.
-
-host: aarch64-unknown-linux-gnu
-
-This can possibly be improved by only hashing host info if the build
-is a native one (e.g. there's no --target option passed to cargo
-invocation) but I'm not sure how.
-
-Upstream-Status: Inappropriate [reported at https://github.com/rust-lang/cargo/issues/13922]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- .../src/cargo/core/compiler/context/compilation_files.rs      | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/tools/cargo/src/cargo/core/compiler/build_runner/compilation_files.rs b/src/tools/cargo/src/cargo/core/compiler/build_runner/compilation_files.rs
-index d83dbf10c..b2ad8d9f3 100644
---- a/src/tools/cargo/src/cargo/core/compiler/build_runner/compilation_files.rs
-+++ b/src/tools/cargo/src/cargo/core/compiler/build_runner/compilation_files.rs
-@@ -652,7 +652,7 @@ fn hash_rustc_version(bcx: &BuildContext<'_, '_>, hasher: &mut StableHasher) {
-     if vers.pre.is_empty() || bcx.gctx.cli_unstable().separate_nightlies {
-         // For stable, keep the artifacts separate. This helps if someone is
-         // testing multiple versions, to avoid recompiles.
--        bcx.rustc().verbose_version.hash(hasher);
-+        //bcx.rustc().verbose_version.hash(hasher);
-         return;
-     }
-     // On "nightly"/"beta"/"dev"/etc, keep each "channel" separate. Don't hash
-@@ -665,7 +665,7 @@ fn hash_rustc_version(bcx: &BuildContext<'_, '_>, hasher: &mut StableHasher) {
-     // Keep "host" since some people switch hosts to implicitly change
-     // targets, (like gnu vs musl or gnu vs msvc). In the future, we may want
-     // to consider hashing `unit.kind.short_name()` instead.
--    bcx.rustc().host.hash(hasher);
-+    //bcx.rustc().host.hash(hasher);
-     // None of the other lines are important. Currently they are:
-     // binary: rustc  <-- or "rustdoc"
-     // commit-hash: 38114ff16e7856f98b2b4be7ab4cd29b38bed59a
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-devtools/rust/files/hardcodepaths.patch b/poky/meta/recipes-devtools/rust/files/hardcodepaths.patch
deleted file mode 100644
index 6966542..0000000
--- a/poky/meta/recipes-devtools/rust/files/hardcodepaths.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-When building for the target, some build paths end up embedded in the binaries.
-These changes remove that. Further investigation is needed to work out the way
-to resolve these issues properly upstream.
-
-Upstream-Status: Inappropriate [patches need rework]
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
-
-diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
-index b4b2ab1e1f8a..8bb3e3f0557c 100644
---- a/compiler/rustc_codegen_llvm/src/context.rs
-+++ b/compiler/rustc_codegen_llvm/src/context.rs
-@@ -34,7 +34,6 @@
- use smallvec::SmallVec;
-
- use libc::c_uint;
--use std::borrow::Borrow;
- use std::cell::{Cell, RefCell};
- use std::ffi::CStr;
- use std::str;
-@@ -155,25 +154,6 @@
-         }
-     }
- 
--    // Ensure the data-layout values hardcoded remain the defaults.
--    {
--        let tm = crate::back::write::create_informational_target_machine(tcx.sess);
--        llvm::LLVMRustSetDataLayoutFromTargetMachine(llmod, &tm);
--
--        let llvm_data_layout = llvm::LLVMGetDataLayoutStr(llmod);
--        let llvm_data_layout = str::from_utf8(CStr::from_ptr(llvm_data_layout).to_bytes())
--            .expect("got a non-UTF8 data-layout from LLVM");
--
--        if target_data_layout != llvm_data_layout {
--            tcx.dcx().emit_err(crate::errors::MismatchedDataLayout {
--                rustc_target: sess.opts.target_triple.to_string().as_str(),
--                rustc_layout: target_data_layout.as_str(),
--                llvm_target: sess.target.llvm_target.borrow(),
--                llvm_layout: llvm_data_layout,
--            });
--        }
--    }
--
-     let data_layout = SmallCStr::new(&target_data_layout);
-     llvm::LLVMSetDataLayout(llmod, data_layout.as_ptr());
-
diff --git a/poky/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch b/poky/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
index b42dda8..bb27ca3 100644
--- a/poky/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
+++ b/poky/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
@@ -25,7 +25,7 @@
      // Just in case `yes` doesn't check for EPIPE...
      thread::spawn(|| {
 -        thread::sleep_ms(5000);
-+        thread::sleep_ms(10000);
++        thread::sleep_ms(50000);
          process::exit(1);
      });
      let output = process::Command::new("sh")
diff --git a/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-cc-crate-hashmap.patch b/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-cc-crate-hashmap.patch
index e3f57e7..e052c32 100644
--- a/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-cc-crate-hashmap.patch
+++ b/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-cc-crate-hashmap.patch
@@ -1,4 +1,4 @@
-rust: reproducibility issue fix with v1.80
+rust: reproducibility issue fix with v1.81
 
 A few crates are using the updated version of the 'cc' crate and this is causing the generated object file names containing a unique hashmap id.
 By the following changes same hash values will be genarted even for diffrent build paths.
@@ -49,6 +49,57 @@
          let obj = dst
              .join(format!("{:016x}-{}", hasher.finish(), basename))
              .with_extension("o");
+diff --git a/vendor/cc-1.0.99/src/command_helpers.rs b/vendor/cc-1.0.99/src/command_helpers.rs
+index fe919a5239..2b1f442019 100644
+--- a/vendor/cc-1.0.99/src/command_helpers.rs
++++ b/vendor/cc-1.0.99/src/command_helpers.rs
+@@ -257,6 +257,7 @@ fn wait_on_child(
+ /// and store them in the output Object.
+ pub(crate) fn objects_from_files(files: &[Arc<Path>], dst: &Path) -> Result<Vec<Object>, Error> {
+     let mut objects = Vec::with_capacity(files.len());
++    let target_substring = ["rustc"];
+     for file in files {
+         let basename = file
+             .file_name()
+@@ -277,10 +278,29 @@ pub(crate) fn objects_from_files(files: &[Arc<Path>], dst: &Path) -> Result<Vec<
+             })?
+             .to_string_lossy();
+
++        // Function to find the position of the first occurrence of the target substring
++        fn find_target_position(s: &str, targets: &[&str]) -> Option<usize> {
++            let mut pos = None;
++            for target in targets {
++                if let Some(index) = s.rfind(target) {
++                    //If a target is found and pos is None, set it
++                        if pos.is_none() || index < pos.unwrap() {
++                            pos = Some(index);
++                        }
++                }
++            }
++            pos
++        }
++
++        let filtered_dirname = if let Some(pos) = find_target_position(&dirname, &target_substring) {
++            dirname[pos..].to_string()  //Keep everything from the target substring onwards
++        }  else {
++            dirname.to_string()  //If target substring is not found, keep the original dirname
++        };
+         // Hash the dirname. This should prevent conflicts if we have multiple
+         // object files with the same filename in different subfolders.
+         let mut hasher = hash_map::DefaultHasher::new();
+-        hasher.write(dirname.to_string().as_bytes());
++        hasher.write(filtered_dirname.as_bytes());
+         let obj = dst
+             .join(format!("{:016x}-{}", hasher.finish(), basename))
+             .with_extension("o");
+diff --git a/vendor/cc-1.0.99/.cargo-checksum.json b/vendor/cc-1.0.99/.cargo-checksum.json
+index b070eeb322..ba768ff86f 100644
+--- a/vendor/cc-1.0.99/.cargo-checksum.json
++++ b/vendor/cc-1.0.99/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"3c555dbe1a698f12b66c8a5748ed52ff26ff7b8ebb12237c1a72a1cbe4b9392e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","src/command_helpers.rs":"15afbc35930a5a53f00d74a8910cff35caeb5511c26642cffe5630377aced901","src/detect_compiler_family.c":"72903b91d7a28f49b39e7d730f4c9c4bb39fb901948fa1279cd08abf392f5a29","src/lib.rs":"92440d3adb5cb6ea05596d9ca860a205d3937dbf0fc959e524bac5f2b748c1af","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"352a0295c965c684904329d334f3b9889db3a9c3f201701f8db44e4d00e00515","src/parallel/mod.rs":"bd9c1334d17d138c281961c690b8d8118a2d6295a7d6cd7296826255436fa063","src/parallel/stderr.rs":"a2d18ba3f2e04deb9047ece9ab7ca5452d9a76b515afbe20a76307e31597f34b","src/target_info.rs":"342be00f6215e161d8163e272a2945bb9f52f171648e15e11d46800a73186955","src/tempfile.rs":"47a58e904ac07da6682004b5b615dc83250b253a8d3e8ba1b9bcaf6cdf4fd142","src/tool.rs":"e13c439a96d8311ba8d37b9d5522cd6997d94261cbb95517c82df70525acaa7f","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"4c350cddbce1557682b7f40cd917cc4f131ad89ff2e34c23d629014ed8d7203e","src/windows/mod.rs":"42f1ad7fee35a17686b003e6aa520d3d1940d47d2f531d626e9ae0c48ba49005","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"76e3cee74b5fd38ddaf533bba11fe401667c50dda5f9d064099840893eaa7587","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"5a440eb39d8a0c176b66177e8753186797793bc5d7896292c408fb44c12dfed3"},"package":"96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"3c555dbe1a698f12b66c8a5748ed52ff26ff7b8ebb12237c1a72a1cbe4b9392e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"f1ddbede208a5b78333a25dac0a7598e678e9b601a7d99a791069bddaf180dfe","src/command_helpers.rs":"4c4a9ea55a109dbeada9e23d4ec963c257a56451b5fd16c7e4e8b97374f1a2ff","src/detect_compiler_family.c":"72903b91d7a28f49b39e7d730f4c9c4bb39fb901948fa1279cd08abf392f5a29","src/lib.rs":"92440d3adb5cb6ea05596d9ca860a205d3937dbf0fc959e524bac5f2b748c1af","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/job_token.rs":"352a0295c965c684904329d334f3b9889db3a9c3f201701f8db44e4d00e00515","src/parallel/mod.rs":"bd9c1334d17d138c281961c690b8d8118a2d6295a7d6cd7296826255436fa063","src/parallel/stderr.rs":"a2d18ba3f2e04deb9047ece9ab7ca5452d9a76b515afbe20a76307e31597f34b","src/target_info.rs":"342be00f6215e161d8163e272a2945bb9f52f171648e15e11d46800a73186955","src/tempfile.rs":"47a58e904ac07da6682004b5b615dc83250b253a8d3e8ba1b9bcaf6cdf4fd142","src/tool.rs":"e13c439a96d8311ba8d37b9d5522cd6997d94261cbb95517c82df70525acaa7f","src/windows/com.rs":"a2800ddb81215fff2bf618336f5c4ff8e8bdb746dd18b795873c7304b3f2a5e3","src/windows/find_tools.rs":"4c350cddbce1557682b7f40cd917cc4f131ad89ff2e34c23d629014ed8d7203e","src/windows/mod.rs":"42f1ad7fee35a17686b003e6aa520d3d1940d47d2f531d626e9ae0c48ba49005","src/windows/registry.rs":"c521b72c825e8095843e73482ffa810ed066ad8bb9f86e6db0c5c143c171aba1","src/windows/setup_config.rs":"754439cbab492afd44c9755abcbec1a41c9b2c358131cee2df13c0e996dbbec8","src/windows/vs_instances.rs":"76e3cee74b5fd38ddaf533bba11fe401667c50dda5f9d064099840893eaa7587","src/windows/winapi.rs":"250d51c1826d1a2329e9889dd9f058cfce253dbf2a678b076147c6cdb5db046c","src/windows/windows_sys.rs":"5a440eb39d8a0c176b66177e8753186797793bc5d7896292c408fb44c12dfed3"},"package":"96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695"}
 --- a/vendor/cc-1.0.97/.cargo-checksum.json
 +++ b/vendor/cc-1.0.97/.cargo-checksum.json
 @@ -1 +1 @@
diff --git a/poky/meta/recipes-devtools/rust/files/zlib-off64_t.patch b/poky/meta/recipes-devtools/rust/files/zlib-off64_t.patch
index 030c6c2..6fbca66 100644
--- a/poky/meta/recipes-devtools/rust/files/zlib-off64_t.patch
+++ b/poky/meta/recipes-devtools/rust/files/zlib-off64_t.patch
@@ -5,10 +5,9 @@
 
 Upstream-Status: Submitted [https://github.com/madler/zlib/pull/764]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: rustc-1.79.0-src/vendor/libz-sys-1.1.16/src/zlib/gzguts.h
-===================================================================
---- rustc-1.79.0-src.orig/vendor/libz-sys-1.1.16/src/zlib/gzguts.h
-+++ rustc-1.79.0-src/vendor/libz-sys-1.1.16/src/zlib/gzguts.h
+diff --git a/vendor/libz-sys-1.1.16/src/zlib/gzguts.h b/vendor/libz-sys-1.1.16/src/zlib/gzguts.h
+--- a/vendor/libz-sys-1.1.16/src/zlib/gzguts.h
++++ b/vendor/libz-sys-1.1.16/src/zlib/gzguts.h
 @@ -3,13 +3,6 @@
   * For conditions of distribution and use, see copyright notice in zlib.h
   */
@@ -23,10 +22,9 @@
  
  #ifdef HAVE_HIDDEN
  #  define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
-Index: rustc-1.79.0-src/vendor/libz-sys-1.1.16/.cargo-checksum.json
-===================================================================
---- rustc-1.79.0-src.orig/vendor/libz-sys-1.1.16/.cargo-checksum.json
-+++ rustc-1.79.0-src/vendor/libz-sys-1.1.16/.cargo-checksum.json
+diff --git a/vendor/libz-sys-1.1.16/.cargo-checksum.json b/vendor/libz-sys-1.1.16/.cargo-checksum.json
+--- a/vendor/libz-sys-1.1.16/.cargo-checksum.json
++++ b/vendor/libz-sys-1.1.16/.cargo-checksum.json
 @@ -1 +1 @@
 -{"files":{"Cargo.toml":"b4ed89b98aea5ea05fa475a9ba6f824dc6e759ea7a4c358e7fcecc7423e44777","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"34c467b6945a22696d060b8fdd2379d464acb3408d4c599d3dc5fe4fa1b4c84f","README-zng.md":"438ab65416835d72c7dd168338af3db6f1a3d8ccee455af4e1d75438a781eb71","README.md":"62fa314f90fdc5430c6446ddb212b782ad69721cd5363983820261a41b53890e","build.rs":"b139f25e59a8cc78a9fff8bdc25b34f6ba926ddf410bac65bfb7f279f1a92d76","build_zng.rs":"059da8bf3ed5f2bfa613874b8f6720643ae948a811fefaff8237e95e0771cbc3","src/lib.rs":"8f9f42e8c80e134fa6f5724c677a341689e2e16cbe93a15495a1b4d8bfa90c49","src/smoke.c":"10607c81b73811bfcb9718767312bf97ba2ccf7048ea2f18a2085aa06ad7f91b","src/zlib-ng/CMakeLists.txt":"6b7d83767c0fe0b98e2d5321a2c35339e04bf314f6bf650f4716a7434a3e164c","src/zlib-ng/FAQ.zlib":"c524f4f86d336b3de71dd6977afddffa9c02fda5c26db4dfefae44959e7614a2","src/zlib-ng/INDEX.md":"989545e90d8e9ac149034f762ce78ed8976ebf9324326228dea37ca190154609","src/zlib-ng/LICENSE.md":"d3c80be055d94d798eaa786116e84fa0b010bc11420b5d2060d978ea77845436","src/zlib-ng/Makefile.in":"3c46b870035b795f4e9c365a1688392377dbfef90cbb814294d4d33d3ead1f4e","src/zlib-ng/PORTING.md":"097591000d86f6265fea6cfcd22635984eb6c9f54e8690ca2667cfb92a11919d","src/zlib-ng/README.md":"5e1032d7f44647ce88475872a4fff9bd1671e3bedf8bdca43925dd8fde97c8b3","src/zlib-ng/adler32.c":"b96656d1fc0133c44caeb3509d545d0b68580e77157b8c6f0fd6dcf681726ea5","src/zlib-ng/adler32_fold.c":"66b32963c96e43c84b53eff737d11186bf165e04a48e9c3328faa5c86ce8128c","src/zlib-ng/adler32_fold.h":"c40114c2c742b6410e54b58ea02533fe6e9ae0ca62d3453e5d2a1725d33e2be4","src/zlib-ng/adler32_p.h":"fa8b96371128c54ed9c2a06175006738d395d380672b4894c32fece37b8a96a0","src/zlib-ng/arch/arm/Makefile.in":"67e906298f31bf83feeb526c9d09a65c1d39517423ded8f50cfc369f05a1d629","src/zlib-ng/arch/arm/acle_intrins.h":"313646b741417269d175b2620c7bd2cf1cb5bfc940c5bb3dd600189fce27cd79","src/zlib-ng/arch/arm/adler32_neon.c":"bce2fe7d3a5f663ba2894d3c9b13151c5cd4c16bcc1d31ac32a85713ecc20f8c","src/zlib-ng/arch/arm/arm_features.c":"dc2fa2e5593f0ff1f837138b99f26d1f805f82f69d2721cc2b2a386b5dac7b1a","src/zlib-ng/arch/arm/arm_features.h":"0667e8baaba1edfa60ec6faa5ce35eb35f5e91c85633e831f397a9af3c220b9e","src/zlib-ng/arch/arm/chunkset_neon.c":"042d3e6f865b5b0bfec8b5196288cce2ec47e9ca2c8a5e075580dd302238e421","src/zlib-ng/arch/arm/compare256_neon.c":"7eec4ca0415dec895a461a4d1fcd3068e0d68482d048257022511b3490372ca3","src/zlib-ng/arch/arm/crc32_acle.c":"3fa85db742ee584f3787e3d131d92d6196e44f9df5f3034d804abc78cbf81d3f","src/zlib-ng/arch/arm/insert_string_acle.c":"5ca256a6f796d8bff478671ae5b0d7cfe236b58abffd6a99bb2cac097fe7935b","src/zlib-ng/arch/arm/neon_intrins.h":"22262195cbd668a11953449c9e1be3b9b3374469d21f3e73ab34c6ea0dcf275f","src/zlib-ng/arch/arm/slide_hash_armv6.c":"9abacab94d74e7d8b1d863f20aa97fb5380059f08b91480a14377d3ed2d1f768","src/zlib-ng/arch/arm/slide_hash_neon.c":"7c4927c0dc8b28c5fba1efb30273653e71172ce051a0341ce2f1d2c0bbfa418c","src/zlib-ng/arch/generic/Makefile.in":"93255a212569673a3ce9e7fbaba789b3cd82375e7f6459c22c84bcb7a12097c7","src/zlib-ng/arch/generic/chunk_permute_table.h":"3f1e09e697a9b2dff4395aca356e61765c44511a9dc653abb6998671afd20ae6","src/zlib-ng/arch/power/Makefile.in":"015cb5635da6dbcd54c6bcef5d8958c6ea5369b55797e342a2632b0bf03bc4ab","src/zlib-ng/arch/power/adler32_power8.c":"e5a5bfdd9963e8f906e36978f1a655139908740559da2b382ddd5f3e2ffe6f56","src/zlib-ng/arch/power/adler32_vmx.c":"841a7e3792d1f68a0925969d6f9737cfb2b650b3a82721a88f1e5648f7b0a58a","src/zlib-ng/arch/power/chunkset_power8.c":"569a7dc686a0d80686e516ec8fb7c2331225f706b37ccbf0874e6d822e82f806","src/zlib-ng/arch/power/compare256_power9.c":"cfdc33f5e605fd41351423fda0eaf7692f9e9f0083d6c4ac870c6e467d534f48","src/zlib-ng/arch/power/crc32_constants.h":"d73e3b9025de9fade7fa3ba2bbf5f56a1499a84c53d8ca7f5e744a0714d8599b","src/zlib-ng/arch/power/crc32_power8.c":"add20ee86ff5c28396ee2e7f77d825d7e425b89467331953690c40f40b5dba41","src/zlib-ng/arch/power/fallback_builtins.h":"78a8da60bad8ba01278e495482108adabf9e96bdb214e869b61ab1f63f518c9b","src/zlib-ng/arch/power/power_features.c":"4dc4c14dfa2d3333c73fad7b1f7a79d3fff68c1d1fd643012faf82bd4114553e","src/zlib-ng/arch/power/power_features.h":"c9c47cfcfff347e79f83f56a0677565d40299e03ffbeb918c4ae69518d290ada","src/zlib-ng/arch/power/slide_hash_power8.c":"58d93cee1a2cf14f13a8e9e31ba5149fe2b1e069846f52ac1f11c42cfcbd49a4","src/zlib-ng/arch/power/slide_hash_vmx.c":"1b6297a9616456ba534bc1d93afcb99e36dac357be68aed106bb71dfea621a86","src/zlib-ng/arch/power/slide_ppc_tpl.h":"c8900c594591e1aba3188f97c374e5561fe1e96f653c668352b25647e449f4c0","src/zlib-ng/arch/riscv/README.md":"7a3e00ab7fe5a66cf5cfe5671e9e8367e6c655a3b72d12de18d840538c506ef0","src/zlib-ng/arch/riscv/adler32_rvv.c":"e2472cf46b376a0ed8b7545a3192d195659353e093772216f0d28ae7d75afb1a","src/zlib-ng/arch/riscv/chunkset_rvv.c":"d5b0fd27dcc8d4b3773caae16290014fdbc0011cf62e7f63a4e5d897149b165e","src/zlib-ng/arch/riscv/compare256_rvv.c":"4ed8d6b39ef2218c1d474ab586fc19d7e0821445241e5ccd6a75992cb17b3bb7","src/zlib-ng/arch/riscv/riscv_features.c":"a117eada0164dd92c06e9804a70fd2f434b8d14a6d443f0b3513330fe08c18a3","src/zlib-ng/arch/riscv/riscv_features.h":"26953a09f72edb0e66978044d75e054e40d36d2b62244359b5e5e4ab936d2c9c","src/zlib-ng/arch/riscv/slide_hash_rvv.c":"87c1a2acf51af38f2d337b482fcb72d080b0897e48abc9753b51d40facd9a1a1","src/zlib-ng/arch/s390/Makefile.in":"8cb582f8e6ccd9146f64214a513e546122976c60e782cede19b282bf3b519235","src/zlib-ng/arch/s390/README.md":"0dae0e510935c5f91e00dfe0d57a9b7a82891ff59edbd14b64b54c950327d708","src/zlib-ng/arch/s390/crc32-vx.c":"c5250cb1df20eadcf0c56ba68e0dd7cf43d936f92f245aad2bfb519988f902a1","src/zlib-ng/arch/s390/dfltcc_common.c":"9a701d5f973c07e054797ed030851171abaf20a40a4ab2359914c737b0ab9671","src/zlib-ng/arch/s390/dfltcc_common.h":"1d042b79da6bbcf4e1f5b32ca017bc49fa89129c7a925ea17b931de34012ef18","src/zlib-ng/arch/s390/dfltcc_deflate.c":"146569d921d68fd9af7b67a74bcf0aa41108a4072564629db7ad6c2dc8a429ef","src/zlib-ng/arch/s390/dfltcc_deflate.h":"309d7c9bc4e5de3196ebe61a2e5c17e07bfb66bb8a170562e90e9105e68ab302","src/zlib-ng/arch/s390/dfltcc_detail.h":"6ba837c1522d85df599d5baeb5e0076d67355979a9768da9b6a095d65e645d41","src/zlib-ng/arch/s390/dfltcc_inflate.c":"b1eb56def7acf39aabb7abea8249a48c4af0dfea7a63ac380e5437d432ff9d9e","src/zlib-ng/arch/s390/dfltcc_inflate.h":"06dc026f991022a7be73865a554785b31d167261c4006ca6438de7ca31893ceb","src/zlib-ng/arch/s390/s390_features.c":"fd99ba0abc73a37168a5c369a0714e3f35816a792438bcb1e8e60f5dd2983293","src/zlib-ng/arch/s390/s390_features.h":"f65396333635e937634dff42a43a8bfa272f53ac88e763d52d4c56241b1eaab9","src/zlib-ng/arch/s390/self-hosted-builder/actions-runner.Dockerfile":"5d4c45e9929fd9736640aea294f1d13f346fd52a4f4771073be32abe96ada971","src/zlib-ng/arch/s390/self-hosted-builder/actions-runner.service":"62a19075adeddb3bee57bbac81c7acadacbf9c288e2b497e36ff7f2b3daa7558","src/zlib-ng/arch/s390/self-hosted-builder/fs/usr/bin/actions-runner":"f647e18728ea15fe927ac9f8cba83a5b343654a0e91b5ebe653bae7af7375110","src/zlib-ng/arch/s390/self-hosted-builder/fs/usr/bin/entrypoint":"add4ebdc4f06ed15bb1de12a8c9ceb370a60baebb0932a1026a75433940ad3df","src/zlib-ng/arch/s390/self-hosted-builder/qemu-user-static.service":"54551049f6181da88700a2a944a72b0af3b8abde876fa28e1348deb5eb96c91b","src/zlib-ng/arch/x86/Makefile.in":"ad6e71fe6e42005b65db8454b0ea0a6c9ee91664698c08729c01e6b00d0df933","src/zlib-ng/arch/x86/adler32_avx2.c":"cc0598333eff9110b5e8c0dc38ba543bfdd3ca5a66825f440909ba7a8923fdd3","src/zlib-ng/arch/x86/adler32_avx2_p.h":"45e6264edffc737081f55a5b5e85b28d9db0b27b63183ffbb492f8c11bc670a2","src/zlib-ng/arch/x86/adler32_avx512.c":"7a949d8ad2d15709d33872ee97e70a2e0cc2c6c375d7064cbc02b87e70905d1e","src/zlib-ng/arch/x86/adler32_avx512_p.h":"1b4beda11693ac03e4b20e054a765df427f845a279bce547b8208d20f5a302bb","src/zlib-ng/arch/x86/adler32_avx512_vnni.c":"9d11d2049df211f11a48a91e340e20686763c1eac20463dcd27dd7bfaa159f76","src/zlib-ng/arch/x86/adler32_sse42.c":"1d2dc53b05ac75667c6d1c625c8c391e4851b28cff9e97ebfdb774767581fff2","src/zlib-ng/arch/x86/adler32_ssse3.c":"7666f99b2e530265cb9848c1047ccc150da0add19b41aa2d7756c617377622c6","src/zlib-ng/arch/x86/adler32_ssse3_p.h":"5aab2f802ba6bdebc63b411018e5116fe26d38e90adf353646b65af4ebe7fa40","src/zlib-ng/arch/x86/chunkset_avx2.c":"ac300f37fbc99ab2d3bf47a640bdf2d87ad8358ef081eea21c541966830281b3","src/zlib-ng/arch/x86/chunkset_sse2.c":"a400a128a84185c945f9ac9303e17c944f2008085d7a4402d279bd59893dc89a","src/zlib-ng/arch/x86/chunkset_ssse3.c":"1f69ef9ae20cca1e4fc6924462255b8969685387c10694ef1dda28b3098d6f6d","src/zlib-ng/arch/x86/compare256_avx2.c":"2516d00faa6939e61dbb0978a9c4c81f9e3a42fd053b2a2241673da7cf4fc781","src/zlib-ng/arch/x86/compare256_sse2.c":"3b983708034f33b5da49f6f5041351a2e66358c76645c552f6e4dc37fb890a80","src/zlib-ng/arch/x86/crc32_fold_pclmulqdq_tpl.h":"1b3b79dabff0bf7ecc3b07356c5aeb6ae1fece0fd70ac7e235aacce3da77ea19","src/zlib-ng/arch/x86/crc32_fold_vpclmulqdq_tpl.h":"7eddba31e3d1b1808fc6df9f96ada03c59952961af895d8538f5a8292392b5cc","src/zlib-ng/arch/x86/crc32_pclmulqdq.c":"f247408c353bbd0fcafff23fb97aeb4d9a72e0a416effea566183b9b5dbedf7c","src/zlib-ng/arch/x86/crc32_pclmulqdq_tpl.h":"5fedffe4b853cabfef09cfcebb501cd53a97c212e470bdfc65c28dc998840e05","src/zlib-ng/arch/x86/crc32_vpclmulqdq.c":"870d06ca9fa7b48db4b720d2fd6262094200cf6180fa76a601d17c722bf0e406","src/zlib-ng/arch/x86/insert_string_sse42.c":"28a6d418a9563d464414c3880d6053c656aab40c6ebe21947cf17687d82e547a","src/zlib-ng/arch/x86/slide_hash_avx2.c":"9740a36bb4dd90f40394344026be9a13f3acb6e85e6b7681c30fd7f7cbf8e28e","src/zlib-ng/arch/x86/slide_hash_sse2.c":"fa009305a1c82708638dff25e037067656350303b25f5774489417e096c30ecb","src/zlib-ng/arch/x86/x86_features.c":"b755befa09a56ed27d70f2be93b0a72a355fe8b490827b55fce60ab51693c70d","src/zlib-ng/arch/x86/x86_features.h":"6429fa7345a9892633c884f7fc26f9558d86c77df9e8589ba9623a27e1d9fd57","src/zlib-ng/arch/x86/x86_intrins.h":"707b836360628cb34a0fb7fa675b5e8674d146f55b1f60fd739b85aa5dc935cf","src/zlib-ng/chunkset.c":"531f58c77c184b225304888ddf1930a76beefbe4a7974edf0efeee7b6662520e","src/zlib-ng/chunkset_tpl.h":"9919e10e9c2244316e13de41b66dc333d9b0413af6265fa860768eefa39ce033","src/zlib-ng/cmake/detect-arch.c":"1af38707fadc192c8e4a28715c896148a0909be821fb443919e191ff2374ffdb","src/zlib-ng/cmake/detect-arch.cmake":"85a2eed469fc7765e51c382f475868a644036f057f5b749d3ef59eec2b4b2748","src/zlib-ng/cmake/detect-coverage.cmake":"4664d51152d51282ae50621f4d510ab72cf8978b266c614b7c5361750db6d1a9","src/zlib-ng/cmake/detect-install-dirs.cmake":"4c8e72cee23ce9c6db02566a31fc7a78f0beeac6f09c61c2d90a1cff3c083db1","src/zlib-ng/cmake/detect-intrinsics.cmake":"cfad619b863adf57132434f7b9c36c4f1a0466e5fdb11ac673e703ed5e471cd0","src/zlib-ng/cmake/detect-sanitizer.cmake":"a40650743dfd0b56c2afbfadb53e5d1470ef48852f2fcdf51084b6485534f87a","src/zlib-ng/cmake/fallback-macros.cmake":"a8c8f70e5483177280cbebf99f929a7cf5ffe2b79fedb79eed570ecafc78effc","src/zlib-ng/cmake/toolchain-aarch64.cmake":"46be0bf580a49a528c72005484655afad1de3705b39a66a7b0c213b0fa81cee6","src/zlib-ng/cmake/toolchain-arm.cmake":"05e38076fd6ffb9785ff9844ccecd26436c9dc4c25b7777b62e5f52e788c3882","src/zlib-ng/cmake/toolchain-armhf.cmake":"1a2029163a57415eec9a5dd5f45d3254d349e97b1beb5d16876b741717673341","src/zlib-ng/cmake/toolchain-llvm-mingw-aarch64.cmake":"4deffb541ecd21ade019daa2e96e832ead8c2c62b633bedb8688d0e7c7012d33","src/zlib-ng/cmake/toolchain-llvm-mingw-armv7.cmake":"3e95adbade93ec162478de3339427ed88b12c922f4975c2918977859325f5459","src/zlib-ng/cmake/toolchain-llvm-mingw-i686.cmake":"1064a1ff2bab21489c184c1cc2b07181ebbbcc32e45c13cf8ed6b9ec60560c2e","src/zlib-ng/cmake/toolchain-llvm-mingw-x86_64.cmake":"577d333ad70cf27ededc75554428368e84c334cc7b716e18113620f5e7edf305","src/zlib-ng/cmake/toolchain-mingw-i686.cmake":"df9000354b820d3713d1469edc9f94cd095389b0cca83965730b8e64857fdf3f","src/zlib-ng/cmake/toolchain-mingw-x86_64.cmake":"ee316e6e3202919da5d497f9e246466fd715fcf079cb5b4afc4774089d1fefad","src/zlib-ng/cmake/toolchain-mips.cmake":"0d0d00b809a30021bb4b9e3ace7371200bb4bfa6509813c829ca0cb569c7af68","src/zlib-ng/cmake/toolchain-mips64.cmake":"f19574aa068ca4374b657ce7bd0517b9297c622144814a095e26db05f0a1cd20","src/zlib-ng/cmake/toolchain-powerpc.cmake":"9bd6fc58ce5b70603657f2c195c4a5cf52fae96ad63ac787978831c5858f762c","src/zlib-ng/cmake/toolchain-powerpc64-clang.cmake":"aab0b9e0f19a281dc99f4dfa5675976c40b5fb7f8139dd2eb0901fdf3cedc952","src/zlib-ng/cmake/toolchain-powerpc64-power9.cmake":"57c789c468e733971c2654faf34f7dfc9dd1e0e5bcabbd609dcd01dcbd25c487","src/zlib-ng/cmake/toolchain-powerpc64.cmake":"917fc5eef84921d8b38f43c2b4f60870965b4eecc8f018c7b3499e1142c715af","src/zlib-ng/cmake/toolchain-powerpc64le-clang.cmake":"47ac4a05b61210a83c7845a5522b91740bc8a7bb897312cc37131f85bae9e1b5","src/zlib-ng/cmake/toolchain-powerpc64le-power9.cmake":"b295b61ea248d8ef98d9276fad3db143a6fb80ab738c54bf88cb594d82c70a8d","src/zlib-ng/cmake/toolchain-powerpc64le.cmake":"5b2edd36d62de513db2d32bfbf779979d81ac527b981cc3379a4e933fc5a94d1","src/zlib-ng/cmake/toolchain-riscv.cmake":"d7b4ac4be3651aec2e55788d815141482d4fe92713713fdaba9215dbbbc9b88a","src/zlib-ng/cmake/toolchain-s390x.cmake":"cf52cecea7bd2a9d1ff5fd8edcb03c531e3b404bbcd15a15dec2e0e19936f2ac","src/zlib-ng/cmake/toolchain-sparc64.cmake":"e543062485d06a7e0fec8135887c5e73363517fa4babc23ef7b780916d75afda","src/zlib-ng/compare256.c":"4890f97239f63dfbbc986ddd05039798752ec0ad530ff7d25978deb44f774ad5","src/zlib-ng/compare256_rle.h":"30fca191b0474e1549d3ce292bb11ee90dc3dc9fc685932cec3971c1d0e8f652","src/zlib-ng/compress.c":"f7c69a4d2f3b87ff0094115977dde1cd17703cc9856ba19489dd94e0ed16b646","src/zlib-ng/configure":"5778b60178bd2cf770fc01c5ce2562e50c1859a0cc67f8b522deb38ae4dbab77","src/zlib-ng/cpu_features.c":"aec359d85d64c2ff88132a123406726bd966e0d56d0dc8ce1d5c3f25e1801440","src/zlib-ng/cpu_features.h":"21c43d2a8375e73abea63082e08d9279eaf457970d34f877830bb31575498a8d","src/zlib-ng/crc32_braid.c":"8a33cffb026b82a027b45e041935836b36b2d075796e5498e33ce64ec0cf93e8","src/zlib-ng/crc32_braid_comb.c":"217741d3c1c0018bb12ab22c987804634605f5b7ad6bd243e25eb0499c80af5d","src/zlib-ng/crc32_braid_comb_p.h":"6c8035e05d30a6241be55467fc59e4d7deda6b618b955a11339ffee08a39c75a","src/zlib-ng/crc32_braid_p.h":"951cbd948664498dd8a56393bc88debdad8b21dcc8e1f16d883c07170e4adb4e","src/zlib-ng/crc32_braid_tbl.h":"e22af112e3c1c8bb4065d39fe678eba71dd08893eb06f9414b02f4cf5a6f46de","src/zlib-ng/crc32_fold.c":"f6363abbd1e167bc7a6fa8f92e5211f4fa3e70d30fa5e10fa6f416f5db372678","src/zlib-ng/crc32_fold.h":"42412c5029057579148a2238b0bc882f294f661d2af102bd9213531894302f29","src/zlib-ng/deflate.c":"70c72cdbf88987660e787a99658641bce36fff4848f9bf395f3727df9543664b","src/zlib-ng/deflate.h":"f45a609710150fb758ca89b36a7f5a029b525fe70f0e3296a4847d73872db2ca","src/zlib-ng/deflate_fast.c":"52648097b16070c156c27d38566720eca08d48e35cd89a80f196f0e77951112a","src/zlib-ng/deflate_huff.c":"923d316676c00f307a7d6a58d77f9364f06607afcc686b464b557ff5478f8b6d","src/zlib-ng/deflate_medium.c":"d3172c1ea0ae1bc2e3b7691b005bbae35e84b7588ef2f5805b9dd0c4ccecbd67","src/zlib-ng/deflate_p.h":"2eaac98e9232959c730d84a408bed641be817dc3468aeb427062d06b02eb80b4","src/zlib-ng/deflate_quick.c":"3825eb4d22a150f9cdaba93db890d95b8d9e9d0f3f10524fb27a9a1289aa4c0f","src/zlib-ng/deflate_rle.c":"5dcc0496f74b5ce677ab5a58ea232d0ba653102d2f71cf35daa6069ef88b7af6","src/zlib-ng/deflate_slow.c":"5449816c381138eb07cd54ec7c0c77fb811f4f274c27bf15d26e008de6a9eb5c","src/zlib-ng/deflate_stored.c":"89b81c09be2ffd84138940ac6c4e9688f956603b45eec6d0d52d579cac3f15e5","src/zlib-ng/doc/algorithm.txt":"0d21a0a4c47e512743389628d1385a831a5e5ff716491095a382b923287f4223","src/zlib-ng/doc/crc-doc.1.0.pdf":"064f9252d6e2e15ea56c2bd18e160e5c9c84bcd137c11a7af497aaa511ace998","src/zlib-ng/doc/crc-pclmulqdq.pdf":"3cf18f738dd0da7e5a28ff999d987bb61ac42cce354bbee1364d06fb3944f7fc","src/zlib-ng/doc/rfc1950.txt":"8f0475a5c984657bf26277f73df9456c9b97f175084f0c1748f1eb1f0b9b10b9","src/zlib-ng/doc/rfc1951.txt":"5ebf4b5b7fe1c3a0c0ab9aa3ac8c0f3853a7dc484905e76e03b0b0f301350009","src/zlib-ng/doc/rfc1952.txt":"f7c810fd9d719d002d605207a9b880600f71d039b9626c5b4b03f2122438dd2d","src/zlib-ng/doc/txtvsbin.txt":"47c273bb22c9773248d380549a330e5c262266b1292154b0d3014f731cc73f47","src/zlib-ng/fallback_builtins.h":"c02e559d19f351f2f9371ee2042ca6a725d14f17862dff2414fd2ab3d7984875","src/zlib-ng/functable.c":"d7ac98c7def281c707796a4317e2dd6754d654bc8d833ae67a77f47a7c1dd5bd","src/zlib-ng/functable.h":"64fbabaa8459898d14cb88078676c42fce12a951b4b1d83f9085e104ad407a47","src/zlib-ng/gzguts.h":"d9a4e984bb6c2ebe5c858b37b1c6411af1edc21c3c15d63b6588016b71369b71","src/zlib-ng/gzlib.c":"91011bdfaa99bb5e49aece64fdee995207b1ce5a96227990f16f9aea55026c8e","src/zlib-ng/gzread.c.in":"3501e5124923207b2603d9695c3bad1815ca2dc8f18b6525bdd5dfea60313acd","src/zlib-ng/gzwrite.c":"9f474aeefaf0150d8871eb9202ebd43a28f18bdf39eaca4f35cfb52227e74c63","src/zlib-ng/infback.c":"db99c5b105c34c7c2967bd97e16f976217530c22d6545e61cbf657522e24de87","src/zlib-ng/inffast_tpl.h":"51622f34e8808798a43412b4fde62ebd58ba012f5452bf2ad9a8001c98539166","src/zlib-ng/inffixed_tbl.h":"a94225335396245e9f0ccb2e9b4b334fe7ee0111ed8e32a26bcd52187f364314","src/zlib-ng/inflate.c":"2c1bd0f4939c372e49a9ee0ec8a8cdee369d9c6c10124b4e11cd197f44ce3a36","src/zlib-ng/inflate.h":"1750ab33be4461f2e6b8e43bef5da11f3db49d5d2a3eacd03d881d33c1df7def","src/zlib-ng/inflate_p.h":"4a31088faf818d2615de31b099e8f55ee8463166477d6cb5d6763c913b6acef9","src/zlib-ng/inftrees.c":"206fa4c762203823151dcd3b1a5b389fb40efd4c88aeb2bc302aa1d5cfd6d6d5","src/zlib-ng/inftrees.h":"2ba1beb76d7922fcb37708809e31f62ee366827da80faf09a7e461b439afd291","src/zlib-ng/insert_string.c":"7a9455cbb3ca8fe6e7111471b9f4c0a32fb49a6d0ec589b027dc2cb2b65c8dce","src/zlib-ng/insert_string_roll.c":"4d05f19591a5c29d2da398e10e9d0b050d738cc8838d8dda4beb1cc7281ede07","src/zlib-ng/insert_string_tpl.h":"972e69808ce5e74d0c54af4ee447b996b2d0563eb861b90856693037ce8cca9f","src/zlib-ng/match_tpl.h":"1e20d0ef73a5826606240f4efd2a8e993d203f376017397342b9899b1f919276","src/zlib-ng/slide_hash.c":"74adb34a4a35331db810dbb5d740af10cc1db7d24a89ea387aa2dec956a05b2b","src/zlib-ng/test/CMakeLists.txt":"d9c0e5c87fef7b26826f8acc84fb34df0c90cf8804818f93fc12edf91d92d744","src/zlib-ng/test/CVE-2002-0059/test.gz":"60bf96b8f433bd7e057ce3496aceaccd70ec80f596a4aa8bcc7786056705ce66","src/zlib-ng/test/CVE-2004-0797/test.gz":"38caae524705f676bde13a8df9fc8c7d2fe105ba6bdbab62a405b0276fd3aa2e","src/zlib-ng/test/CVE-2005-1849/test.gz":"e4d5a60617df4b5dd44eda94751ce1eacdb325792bba6e3cc4676719a3adf742","src/zlib-ng/test/CVE-2005-2096/test.gz":"8f702d4861aa3ec98ac03a59ff26b430939630cb5cd4266d2658d3b836d576f9","src/zlib-ng/test/CVE-2018-25032/default.txt":"d7f8278db331c47bd1208bf41e7903cbddee4f7b47c666c40afdd3c96237752e","src/zlib-ng/test/CVE-2018-25032/fixed.txt":"3b27a98edd2f3f580033f9add11d3469d7808c969a1128ee00c18ac7a12cef57","src/zlib-ng/test/GH-1600/packobj.gz":"372ba8e7aa3bf258e85c793abe1268965765a9f1bc6e2a0e77d3b723a4a019a3","src/zlib-ng/test/GH-361/test.txt":"358497d0a7251ea42101dc77b02337f46fd89af09643a8288e2a3082e5d24128","src/zlib-ng/test/GH-364/test.bin":"af5570f5a1810b7af78caf4bc70a660f0df51e42baf91d4de5b2328de0e83dfc","src/zlib-ng/test/GH-382/defneg3.dat":"b22bef6b7392401c9e7b079402c4a4074053d7a914d050400e37fd7af6fe26d5","src/zlib-ng/test/GH-751/test.txt":"b83d833803b7bc3124fb2a0034081f0b999ad10c33a8dfa3bfd181dc078ae3ee","src/zlib-ng/test/GH-979/pigz-2.6.tar.gz":"2eed7b0d7449d1d70903f2a62cd6005d262eb3a8c9e98687bc8cbb5809db2a7d","src/zlib-ng/test/Makefile.in":"2eed5e763754e1f0f0ee1908e2f8080a2fa9e5f2770b3fc8d74b9975b4cd2bb5","src/zlib-ng/test/README.md":"6a34f8fc7a0144958cc9a0cded46fc38a7e15aba3dfa5bf56d8d86c3fb72d82c","src/zlib-ng/test/abi/ignore":"36e1928ffa34c21c1d2fd783633c9975e1ff282682ba2eca14b61b87650a2e13","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-aarch64-unknown-linux-gnu.abi":"e55ef93145cb4ceb2e22562ab5c18a2e26f8330862ed9468df7ada66a47dfe08","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabi.abi":"d45ec6ff3f41ce11713a39aaad08e4ed9d21a165754a1c5a5e5f123c4daf8241","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-arm-unknown-linux-gnueabihf.abi":"2cef33db7275ba069bfa3a929299dcb8f1529f3d0ad344c1e0ef483905e996c7","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips-unknown-linux-gnu.abi":"25cf82ce8d5afde37456ce22943358e6d5f4dec31c1d1f732a1b07f34d7003f0","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-mips64-unknown-linux-gnuabi64.abi":"59e435fa42a1aacd30d24d184d1ae505392123a8f16eaa0ca55e061ff2c427cb","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc-unknown-linux-gnu.abi":"5b4c5724c018d4e5820cfd9f94526ae41101fbcfa960ca98efcc06ed33a5b7ed","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64-unknown-linux-gnu.abi":"e4d05062bbbace98c02f297585ac69a88e6b4f34122de6a854e5176d6d81ef9d","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-powerpc64le-unknown-linux-gnu.abi":"bc41acbb1e207e8dfbf0f4bd628a0d32b94e288d324f924dc353898c3ae3bd37","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu-m32.abi":"5b79e86fc4f99e7d5c38b08e63ee347f29ed5312ac7dac16459b3d4562c04a50","src/zlib-ng/test/abi/zlib-04f42ceca40f73e2978b50e93806c2a18c1281fc-x86_64-pc-linux-gnu.abi":"568cdd3893cd364fcdfdb1536f394dda4d237a03a0a7fe80938763b73739092c","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-aarch64-unknown-linux-gnu.abi":"af41851f1b97ccb94e534cf3e54985fda0700c94d8fa850ec021f4b7d907f480","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabi.abi":"b2197b5aa7145c62c39775e7e97ce8de4d00b44f4f2ecded47aec8e725cf4563","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-arm-unknown-linux-gnueabihf.abi":"a037a1494a5f724462b6fb34d595b7d1517cdd60af1d890d00fa557394c0d923","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips-unknown-linux-gnu.abi":"8cf1dd6da2c8fadb53748687e7cae304cef025f490cd8a9d1970bdff04f13ddd","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-mips64-unknown-linux-gnuabi64.abi":"38549f6d4efc5a4e60e83dfee03f727b426ed969b6e476acf11ab1d5f562eb1d","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc-unknown-linux-gnu.abi":"09e7feffa1d24cf68cfd7d0c1a5a80a5d9d5df5bbda383b2a7d5f99f194a06fc","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64-unknown-linux-gnu.abi":"cb360745c650e62db182932ed37e7648d1fe939caa50eccf7f9068e653ce9a11","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-powerpc64le-unknown-linux-gnu.abi":"75170876a3b207c383889bac021ae0ff710e2915ad8c6b5f02c38d6e3ef731cd","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu-m32.abi":"023ad5584f431bd2985d7231581058c249dcc0544b21fbb678ab04417c5e8103","src/zlib-ng/test/abi/zlib-ng-e4614ebcb9b3e5b108dc983c155e4baf80882311-x86_64-pc-linux-gnu.abi":"f072336d8a54a31ae4e991ecd2e0482b3c8102e0256da5f020112aeb5a9d68d4","src/zlib-ng/test/abicheck.md":"d960023cd80e04b2d4dcec8cdd3315c7292229d45a3301a5dc5213058ba22185","src/zlib-ng/test/abicheck.sh":"293af1e5c1e18133d1f27c9e34bdeb0f8b0123cf3c825562a11a31e87d2b544e","src/zlib-ng/test/add-subdirectory-project/CMakeLists.txt":"0d5d9bcb4aac1e17b5146eb727ca95e4fb91fb098fe567925befd7a88f8cf677","src/zlib-ng/test/add-subdirectory-project/main.c":"0f84f056ddc067fa1374bea36c45c516b5ce1b4a78e8a381c06cce03320e66dc","src/zlib-ng/test/benchmarks/CMakeLists.txt":"3a9207269ce3ceb3b9351c8b68681cb316be79a686ac99becd27df7f0bc69601","src/zlib-ng/test/benchmarks/README.md":"f44de30583886085f4a3158040c795284cef19e32c50a80fff54608ab735e5aa","src/zlib-ng/test/benchmarks/benchmark_adler32.cc":"d2de7d69b94aa6447804e3d42ed7c889b2d6a5e1d4c9f595a8eff2f919f1716e","src/zlib-ng/test/benchmarks/benchmark_adler32_copy.cc":"7c5617b6d014b4f1e0c116439fb4a6e0e720b4fcd132c68b8f1f49ea8aa06af9","src/zlib-ng/test/benchmarks/benchmark_compare256.cc":"2ffcc22f1fd7df9db92c9d97302e46f83811f5cadf35327387ff22f27d09ee22","src/zlib-ng/test/benchmarks/benchmark_compare256_rle.cc":"3631acf6fc6bca5a4028cf58dd25347bbe448e19bd9cae1d4456ae30dfeccf74","src/zlib-ng/test/benchmarks/benchmark_crc32.cc":"cc1c6119ff9bd112999d0cd6ae62b1abd95268d8671cc9ee5abb7f6659496a74","src/zlib-ng/test/benchmarks/benchmark_main.cc":"67270b2efb97c24af9358220cd642cf0c8ed393d07f61abca31bc0c103b1bab7","src/zlib-ng/test/benchmarks/benchmark_png_decode.cc":"e9485de5e722ef1b62131a27a98d2cfe668ee8becbd5fc9938972022e07c8d60","src/zlib-ng/test/benchmarks/benchmark_png_encode.cc":"4b2203af2ef58f95773ca6d82569f747f2cfb3c4116334871cfb255a0d7741e1","src/zlib-ng/test/benchmarks/benchmark_png_shared.h":"2a02ef2aa7b7b60afd5e474ca729498c8e6a7873e968634fd0c43d10d1506ca5","src/zlib-ng/test/benchmarks/benchmark_slidehash.cc":"d239dfced67f85fb2dcea7a6a03b2649a59a63948e9e6af8c2bd3653d73f8130","src/zlib-ng/test/cmake/compress-and-verify.cmake":"0dd1712183a15dd79bd2501dfacef681a402493d23aa3439a9293c1ec5aca863","src/zlib-ng/test/cmake/run-and-compare.cmake":"13d85c12c9d6c7b1b148bd0c5a5b4faa6a4b56f3823bf03c4f8d914c9c5949d8","src/zlib-ng/test/cmake/run-and-redirect.cmake":"7f08d18c09aa58113882ec760735a62a1723a5bfcae9f73bd3713a4dbaeab898","src/zlib-ng/test/cmake/test-cves.cmake":"c526d10727275eda6a6e5912a000e5f2ee369f904f923001f196b69eae7cf5cb","src/zlib-ng/test/cmake/test-data.cmake":"4b4e003f000fe15dc57052faf5637a85c9c7f3a6d07592184b87ea508b6fc0dd","src/zlib-ng/test/cmake/test-issues.cmake":"258d8453dcea579d47abbedbe8e7d4f13d0048642ea3ab53880245998de4f22b","src/zlib-ng/test/cmake/test-tools.cmake":"d6cdc83cf1b5c6c342b461bed6c87d57c2b78bcac3f6b3e357bffba2181d49c8","src/zlib-ng/test/data/fireworks.jpg":"93b986ce7d7e361f0d3840f9d531b5f40fb6ca8c14d6d74364150e255f126512","src/zlib-ng/test/data/lcet10.txt":"1eb5d7bddb1c3cb68064d5b5f7f27814949674b6702564ff7025ced60795a6d9","src/zlib-ng/test/data/paper-100k.pdf":"60f73a051b7ca35bfec44734b2eed7736cb5c0b7f728beb7b97ade6c5e44849b","src/zlib-ng/test/example.c":"5c2d07af5ecf874823ca73e6ff0d292c5d3c5370104d87526169b6f222182dcd","src/zlib-ng/test/fuzz/CMakeLists.txt":"395049b7625f120abee1e118487c55a8bd3288d0974081ecaa8baf33f60e80c8","src/zlib-ng/test/fuzz/fuzzer_checksum.c":"68ed79ec1d7fefa548f4d32ab7885479442520cdf53ad59eadfae13e4b15efe0","src/zlib-ng/test/fuzz/fuzzer_compress.c":"3f507a18710fb2a1d87fde5cf3affc74b53a689e9d2ce6f887ee64eb778e568b","src/zlib-ng/test/fuzz/fuzzer_example_dict.c":"46541ed3ef9bb7378120d47133f18b4194e955e7a84a439647205de68e745c08","src/zlib-ng/test/fuzz/fuzzer_example_flush.c":"393e7872825bb1ca366d0d8552b94442511ed4a557db6ece16540b79b7e9cbdf","src/zlib-ng/test/fuzz/fuzzer_example_large.c":"e3b91b1ced83dfe538e8ae5262f1756181a7785e8c2ab38ac2881456bd562277","src/zlib-ng/test/fuzz/fuzzer_example_small.c":"de9f5dc3182405750341a0f44c37bd8ba4f21d993284456ba8e6ce3e36d6b9b3","src/zlib-ng/test/fuzz/fuzzer_minigzip.c":"dbc35b317935ba7cd2dfbacc067b5b17534488dc9ac1daa2bb28b67b1b850aa3","src/zlib-ng/test/fuzz/standalone_fuzz_target_runner.c":"e6170b744faa68bf2a414e99fc87accf4db2a5e0eb58b17aded5c692ea493604","src/zlib-ng/test/gh1235.c":"057934cf585b9998478e3d77ecd0782d941e20ebe50688ef32b961559d6dfe2a","src/zlib-ng/test/infcover.c":"82ccdf5b2bb081b9da18c55c0078ff030ae145a4943dc90bb85c4cce00e9deb5","src/zlib-ng/test/minideflate.c":"1b2d38cdbcb8e2c399b7dc9db59fe95b19f0c052a79dddf91fcc0733c898d389","src/zlib-ng/test/minigzip.c":"154131d41a881ef3264abb9eb70f7cdc6782718a2164f4f16b63b4e5363ca313","src/zlib-ng/test/pigz/CMakeLists.txt":"e55880cb8b15839774f2387c07aaf42df680cec0305522ddecbe5f638e5af2d9","src/zlib-ng/test/pkgcheck.sh":"61a6ebf6ef9fe05935467b29e25669fc44bb6240ea0ca87e9c066d982032f4b3","src/zlib-ng/test/switchlevels.c":"1c726e63cbe24fc12c88e9928db5a1515c18364987dfe588daabef4f8b1a321f","src/zlib-ng/test/test_adler32.cc":"aeb9533ae9be0f76879100d038980f3731ff4c249b4de105f2df6f371a7990a5","src/zlib-ng/test/test_aligned_alloc.cc":"bebdd6dba3c7452e7d8557c47b14226209175fb5fe313b176cf752848117536e","src/zlib-ng/test/test_compare256.cc":"4362eccf7b473d82778fc4171552f8160b54b6fc6195bf930cd0e988dff5a093","src/zlib-ng/test/test_compare256_rle.cc":"8428d8204d0598cd1071f3db9176b42fd423e532051cd14fd91e5835a01ba203","src/zlib-ng/test/test_compress.cc":"32d3bb507a95d56d0441280a04569164d19a8241d85084a9fcf49f51afb82fcf","src/zlib-ng/test/test_compress_bound.cc":"21f71385edd73f92f40a9451673bdb9ea3f82a49e7f4d4bdcc4b74b086320b12","src/zlib-ng/test/test_compress_dual.cc":"a76759d3d5c54315a4ee3197109a4517dfae9931eb65ae8cbaffd8a58bb562e9","src/zlib-ng/test/test_cpu_features.h":"28bbb2bdf56ee7988d4fdfccf4c6ad584bb8b39c4ae80fdab12effcc33c4d8ae","src/zlib-ng/test/test_crc32.cc":"57a428c33f3158f1b78840b779dfb46f55a943fb5e7d2c23541b9ca7090d7264","src/zlib-ng/test/test_cve-2003-0107.cc":"629f1fe659558c9deb767b3fbbb615539b0458f8b67a405ece924cac6bebb531","src/zlib-ng/test/test_deflate_bound.cc":"eecbc494f22282bfd94a2545fc142b8fdb5582991c22b6e50fd46c40885ad81e","src/zlib-ng/test/test_deflate_concurrency.cc":"27a91c74cf9811921bc2424c235e540a18ed63853d37e29814a60ed21f1a8654","src/zlib-ng/test/test_deflate_copy.cc":"1a286ba7772bb1a6d06233b075a83f3f1814bab2fd7d3757c090f5db25db90f1","src/zlib-ng/test/test_deflate_dict.cc":"3395afdc925059faa1b334bf8a497803132f9ca7703d48dff0ab0264f5292f73","src/zlib-ng/test/test_deflate_hash_head_0.cc":"2d0b7bb7dcd00a630358e6c3cd79676a838efc262794b751b42d030d949e7587","src/zlib-ng/test/test_deflate_header.cc":"643763a811a3673a05959eb6dfeffa3ff25dc3672f67dc8a9f1406a31812068f","src/zlib-ng/test/test_deflate_params.cc":"7c747362cac9f74b2bb8e8d276539807e8222b18db172b81ccbaf96235b8be61","src/zlib-ng/test/test_deflate_pending.cc":"1a0e700d3a2863b6087041fef379bd683e882d5932840fbecb3e0b91e74565cf","src/zlib-ng/test/test_deflate_prime.cc":"d98d4aee8c240f5bc3b3b83f828917586b846850ed82ade6f5f728a4281a1321","src/zlib-ng/test/test_deflate_quick_bi_valid.cc":"9706d0bf9d844b21f1655498bf0f9901c7dfc272cdef37f2d1af238c71df611c","src/zlib-ng/test/test_deflate_quick_block_open.cc":"7edb512a287542f83ee448fbcafc3d654b62a36440b6474e9cae3bb5d36577ab","src/zlib-ng/test/test_deflate_tune.cc":"dad52ad7941aca761ff177877a0d60f1b68b3a6d28a8f4bd382005f3c04bad64","src/zlib-ng/test/test_dict.cc":"2bb6c32ec0ea76561172e0b5e8c6a7bf4f64efc2b41534b42ec1d6c3d0990897","src/zlib-ng/test/test_gzio.cc":"337f711eb6e80e77fd28963c89a646f6528d635036cd0367c398387e0a72cfde","src/zlib-ng/test/test_inflate_adler32.cc":"0967f8e72388a8232bcc1436196214ea1a13dd0fbd5e7633e24a9246abc2a950","src/zlib-ng/test/test_inflate_sync.cc":"fbb1121ea5b5448723c6d6d8692110c7362e6833fae22afcd46909d4ecb1289b","src/zlib-ng/test/test_large_buffers.cc":"0c76a002071e6280d6e6b380db5e1ada00730b0534722ba5c208cb1e51de0b7b","src/zlib-ng/test/test_main.cc":"884dcbfb7207f541ef82bc9fe6f657fbe1918b0917fa3e5eda124ad042ce732e","src/zlib-ng/test/test_raw.cc":"0ac0c7c63777d4278a36e087b2060a369be16150d40a6963d3a0d60a7efb1740","src/zlib-ng/test/test_shared.h":"cc6a7f3dd115edd5de50da2da266e615464e2d5ae41d102e117b09215889a2c4","src/zlib-ng/test/test_shared_ng.h":"4570992f5ba61d2cf9e502d3aac163945d5d2f65883ce29f3a0797052c779b91","src/zlib-ng/test/test_small_buffers.cc":"680ba24dc58c7dd05e8dab2e430a8e0c99b946cbc341a5fb39c4b4b921b6fb33","src/zlib-ng/test/test_small_window.cc":"0f784eae1977ee62d56f6280b269aa9edc42a5f3d20502c39abcb6cf126ec5ea","src/zlib-ng/test/test_version.cc":"8599eca8dd63a96962a5c8ac01a3172d203f9065e228867928ed4bce61cf6009","src/zlib-ng/tools/config.sub":"32186cfeb5db62c99e1dfbfb07f24c1a50977447b4c26d2907021c74422a70d2","src/zlib-ng/tools/makecrct.c":"73acdb94f73dfea474927a9e1be33e0f2cb015d97831bc2718106141adbc1d05","src/zlib-ng/tools/makefixed.c":"bffd02540231304f9bcc755b8cb9ae5cfbc48975857bbb4547f1d6acce21ef57","src/zlib-ng/tools/maketrees.c":"48a3e4ee246b1fb061d8e643efbd4b80e45f9c3814e21170a5893a9f4ca9619b","src/zlib-ng/trees.c":"310fe64c50fb313773c2058c606b1a3cc085b8af7771eba325ad5c9355659100","src/zlib-ng/trees.h":"24174f3543b01ee1ef370bbf6d15551a21871cded18b2aadf09a71e7904b6f99","src/zlib-ng/trees_emit.h":"6c541dcf01eecf393d4eab7800bc558ad524114bb5a8deb86f13376fbef88754","src/zlib-ng/trees_tbl.h":"022736ff3362ef3591d1f8fc3b7fede5927c0d25ab0813d7ef8cd95efd6ea242","src/zlib-ng/uncompr.c":"bb03a6ae65e1395f3cb2fba1dee63246a1fcd30683fd3348e320e789521055a6","src/zlib-ng/win32/Makefile.a64":"f1feaed8da22e6e1470689186db22946ccb67019a87edd34e9ed25b438b626db","src/zlib-ng/win32/Makefile.arm":"a952ff273854b6b025760ed6c841c450d298cda462dae3163f6d7288ad2cf55f","src/zlib-ng/win32/Makefile.msc":"f299f7987ec266ac35d9383f4c7459da02094a10c877a4c471ee2df1ec44caf9","src/zlib-ng/win32/replace.vbs":"0ecd6d2f42f4f49d835acbf7b89a79cbdf17fed29d5931eeb3b40da6d3133946","src/zlib-ng/win32/zlib-ng.def.in":"0b75299a93ef3af54ab37f1282f254ccf2f635fec9b2691edc3840d851bbc20a","src/zlib-ng/win32/zlib-ng1.rc":"91f28a6930d6a376a1057a73ea5613bc13717028c89fdd0b4c8015059295fcd2","src/zlib-ng/win32/zlib.def.in":"ec69c79c2a5612a5c4dc9de08c930c9b251f2455e4bca8781f70c05f7170fb3a","src/zlib-ng/win32/zlib1.rc":"5644cee99821019a7d541d5587376236cb5b99e98d66c904a25f9b69d1d56062","src/zlib-ng/win32/zlibcompat.def.in":"c4dff5ac2cfe629155c7de5b0f139fb1c962fb01addbc032c3cf35110921eb27","src/zlib-ng/zbuild.h":"e6f34c26bd82dd7650a664d7b336d1e4c83b871bded79e05602e779ffa69993b","src/zlib-ng/zconf-ng.h.in":"83514b2e2858b0d6647159e9aa47fa84bb625ed2ac6117284f514cacc42a993d","src/zlib-ng/zconf.h.in":"6768f84c439683b4a590338a9be40c3bd7a9702b25e8e546c705fac08674c3bc","src/zlib-ng/zendian.h":"5be3e2989524198f13b68cc083b1502747effe92325edee59e3c4ad93cc3c62f","src/zlib-ng/zlib-ng.h.in":"3bafbff2b78a88c1f0de4195a17b8fcd1fb12fcf2d40ffe1970415f6778bf9df","src/zlib-ng/zlib-ng.map":"111f656dfdf4da285621a909fecd0532be37f83b49f6e18f357fc8d2a22a726f","src/zlib-ng/zlib.h.in":"9f74dd9f3244ac1152639c5ad5dd1995914b7362adb1f3890698da377cf26c3f","src/zlib-ng/zlib.map":"f746610758741f042f8025502b4c0c04f9bcd48864004cc6e502b99d3754d78f","src/zlib-ng/zlib.pc.cmakein":"a97486fcab3f191d807ec04d4487d6a428053ab452b59687ee1f71cf52b02a31","src/zlib-ng/zlib.pc.in":"848e017a079b14853df8d19699f4edac2304767ef4eb2cf525a06ceb60d301b3","src/zlib-ng/zlib_name_mangling-ng.h.in":"a829fd869339579afe7ce8c1f8a5473598c608f3427c3cbbc1800088d6640e7a","src/zlib-ng/zlib_name_mangling.h.empty":"38e51a846d6c2bd6100298c55328dba4437c08fa1dceda4eb2e06ecb1d142058","src/zlib-ng/zlib_name_mangling.h.in":"16e9ede4821d873647bf105b12e71245d3b7cb79ed318fed0a8ab5aa63b2b4da","src/zlib-ng/zutil.c":"fce8e83d2040be8bc389ec61a8d6c7b32c0b3cd208599c01c5a58ef6418de87b","src/zlib-ng/zutil.h":"618641510d89936fcbca382dc60aea97b5fe35aa010386df0a8ec3ed1b1602ea","src/zlib-ng/zutil_p.h":"6ca034b9d3f6a702b03a71a1f3fd61a0fe6bfb3442156cbdca090adea8eb3f2d","src/zlib/CMakeLists.txt":"ab5f3afca6fe38983dc30a28da4877706e3a690a564eda3d4929fff39dab190e","src/zlib/ChangeLog":"f3bc368fd1722570d25411fece6b0e026ab95a9e20ccf39c4395aa41a956a4f0","src/zlib/FAQ":"e18aaaae6d7d8acd15c1f439306ef554372bc39db7e19258836708362a0b7cca","src/zlib/INDEX":"3b4e325d47ae66456d43fcf143ba21ab67a02a4f81be7ef2da480ba30d774266","src/zlib/LICENSE":"845efc77857d485d91fb3e0b884aaa929368c717ae8186b66fe1ed2495753243","src/zlib/Makefile":"ef23b08ce01239843f1ded3f373bfc432627a477d62f945cbf63b2ac03db118a","src/zlib/Makefile.in":"a6d202a2ac158f8fbd1fa7361e1f2c7adfd1b7b80c1f6515a4203925c2c0f24a","src/zlib/README":"d106dcdb2a0b3087cb3a2380b9f00a0bbadc7eb835cd80408f94a2d78d69727d","src/zlib/adler32.c":"9cd1443a24ff2a3053961695bd432035c58347386a420d3388232376ebabe211","src/zlib/amiga/Makefile.pup":"a65cb3cd40b1b8ec77e288974dd9dc53d91ed78bbe495e94ccc84ddd423edf1f","src/zlib/amiga/Makefile.sas":"0e63cf88b505a1a04327bb666af3a985c5e11835c0c00aed4058c0dcc315d60e","src/zlib/compress.c":"86f802c16a965e7a28737e3730b4e576c5ba40981753967e3e30916f4dc1b4b1","src/zlib/configure":"f7c0050f218691ee1cae28311144a703bfa3515df903d537d6a5cb4bd3dcd8cd","src/zlib/contrib/README.contrib":"b925ae08d371b33c4b5ffd67c707150729a476caf47cfe2eafc002291f23f931","src/zlib/contrib/ada/buffer_demo.adb":"469cf566a6965767fee6b987a239ed8cedcc66614940d45a9b434331fbb435ce","src/zlib/contrib/ada/mtest.adb":"41b6f31684770334afdc4375871eb1408542f37a823a073556fdbfdb63753160","src/zlib/contrib/ada/read.adb":"fa5b989aef0c5715a3fcb15de93985f7f10aeb0a7f5716745c95ed820eb9af9c","src/zlib/contrib/ada/readme.txt":"2cb6c99547bf527648342723a2183f503ef64182bc19a506976815725a207438","src/zlib/contrib/ada/test.adb":"ad2b2f61e0603044065887849e2cca394cfe37d3ba08d3cd368f670462b9296e","src/zlib/contrib/ada/zlib-streams.adb":"f45988e2bac76eb25a0dc981f46576e7432c35dde1790bbc2b650f0090b7fa72","src/zlib/contrib/ada/zlib-streams.ads":"2dae2309e863a6ea44731773aabac5fd5f5436b6dcfcf53fd7e6389556ca8c3c","src/zlib/contrib/ada/zlib-thin.adb":"03d89244ee5ec9771d9b5050e586c609f851af551b2e64eb151f1d5be0b63ae9","src/zlib/contrib/ada/zlib-thin.ads":"631ef170bde16c3ca8d412b54a0e519815b80197d208f8f393e6fe017bb0968e","src/zlib/contrib/ada/zlib.adb":"8168ac962cd775e1f3dc35dc95a038eb370034c9b1f8cb1511d4bcd6b297a1f5","src/zlib/contrib/ada/zlib.ads":"9340f4cfaeafca0efce7a649ef5e9b42a8bcafc5dbdc4abff41f9a19ee08c3cc","src/zlib/contrib/ada/zlib.gpr":"859bb69dce38dbe9dca06753cf7ae7bd16d48f4fece8b87582dab8e30681d3de","src/zlib/contrib/blast/Makefile":"17d5d26c24bf51cad51045a38ffb73cc3539d29e89885aa249fcfd45a8659d5c","src/zlib/contrib/blast/README":"baa763ae03d88ef7ece6eb80d9a099b43d0b57639d6d281e1c7c6ca79d81daba","src/zlib/contrib/blast/blast.c":"1ab3e479d342bfc144167b808fb00142264bc50f24a110ca88cc774e351c218e","src/zlib/contrib/blast/blast.h":"9c1c422b76311d4cb06863ffc056668b6240f3dd998bc02e89ee590d482bfdc2","src/zlib/contrib/blast/test.pk":"5f5c262c545574a5c221132d5ef832478d222d70b015341795b3860204140d7c","src/zlib/contrib/blast/test.txt":"9679b2c98e1283222d0782b25a1c198dc64ba9ebd1addd6dc6f643a45947cda3","src/zlib/contrib/delphi/ZLib.pas":"0a3ea9e7e6644df99dda9c275f5a7be7cbaa96f8333f0467bd007141496dff17","src/zlib/contrib/delphi/ZLibConst.pas":"84bcc580bdf397e570f86f3f5a5b8c7bf537828f30b4b72648b81911f6bf5095","src/zlib/contrib/delphi/readme.txt":"f7420ed2de77d4b498eefbbe6402a1d17dc2d411735289c78a265c7f10fdaee5","src/zlib/contrib/delphi/zlibd32.mak":"850e91b6c9ea05de61a411cbda16fa0f10118cd88bb32c4b7226988776f8d511","src/zlib/contrib/dotzlib/DotZLib.build":"b96137097669644ecb9f42cdd3399d1fce9c512788374609303f7e50abf597f0","src/zlib/contrib/dotzlib/DotZLib.chm":"20d0e3edd57f849143255a7f0df1cd59d41db464a72c0d5ab42846438a729579","src/zlib/contrib/dotzlib/DotZLib.sln":"a979198c5b8d144c1ac8f993bfb6f4085d135aa58ca9dcf63ebabf52b5c695f7","src/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs":"314afcfb339ea95f5431047b7ab24631b11c3532c7ce5dc2094ed0cf80a7c16d","src/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs":"871fc7b34a095dde13cf4505800d4edc9f40b033d5e840c597ad8ada599d26ed","src/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs":"be84c9736fe7bdc2bfae70466d8fff582504e928d5b5e110fd758090090c8cb7","src/zlib/contrib/dotzlib/DotZLib/CodecBase.cs":"b373f1f0c08565bf362c41969881a2f25be449eb894a477659231d6d3b86c07a","src/zlib/contrib/dotzlib/DotZLib/Deflater.cs":"06ba6696a3c15c53ba5fd5a1c2bf50b51f217010228fc1e4c8495ee578f480de","src/zlib/contrib/dotzlib/DotZLib/DotZLib.cs":"9837fe993fd631233cc5e53ff084d86754b97f05ec77c54b0764c2706f186134","src/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj":"21606db31dfef6410dd438b73f1db68856eacabcce6c0f0411fc4f17e17001f3","src/zlib/contrib/dotzlib/DotZLib/GZipStream.cs":"7c4e8bf7e0b51f04bd3f457bead842aee133388d18ec8e210295899ad2327cbf","src/zlib/contrib/dotzlib/DotZLib/Inflater.cs":"9016ca73818f5b6a28791abc3af6da7c4d2773b6a3804f593f6d5737a62b99ad","src/zlib/contrib/dotzlib/DotZLib/UnitTests.cs":"3f22cb690bd38fa151a944afa5a1844499fe30df5b410edfd769b7e2a41ddc94","src/zlib/contrib/dotzlib/LICENSE_1_0.txt":"36266a8fd073568394cb81cdb2b124f7fdae2c64c1a7ed09db34b4d22efa2951","src/zlib/contrib/dotzlib/readme.txt":"bdb18e0114d3b5683749cf08cedbdf6b502e5abd344418b858e339839561e66c","src/zlib/contrib/gcc_gvmat64/gvmat64.S":"22ff411b8b1d1b04aeaa8418b68245400267dc43c6f44104f6ccd37f0daee89f","src/zlib/contrib/infback9/README":"890288f02bb3b1f9cc654b87a07fcea695f90f6b9bd672d25bf6be1da2ec1688","src/zlib/contrib/infback9/infback9.c":"c236f4e5ef216f5ebc66f95ccbf9d399a19ad3838444065308b8d859cb42dc74","src/zlib/contrib/infback9/infback9.h":"c89d926607c1afa1830c17f807de368d2f1afe2d1e7df426763f6d4bf5950379","src/zlib/contrib/infback9/inffix9.h":"84a2ba4727767c18af6505f0e81d9c814489c8b9ed330a25dad433db72997e43","src/zlib/contrib/infback9/inflate9.h":"32a907676cc36e27d0fdc0d99adb83a0b23f20ab61896269216d40fecf08d349","src/zlib/contrib/infback9/inftree9.c":"9e739f5735d3cd77ca1b0d46d2a43371acf2afd64c9c0889e737da369ccd92d0","src/zlib/contrib/infback9/inftree9.h":"4ecd9db884bf43e33fbd34273c814029022477e1597676129f9c98e09d8cef56","src/zlib/contrib/iostream/test.cpp":"0f3c77e013949eb9c91e6b690ea894e19d97944d6b0885b82806fc3ad99680cf","src/zlib/contrib/iostream/zfstream.cpp":"8ebb9b3d521cc3392953f27658cf1f6dcb763216079f69a1518ec5ca0e42a63b","src/zlib/contrib/iostream/zfstream.h":"4369c35e66f63f52ca4a5e1759bf720507ccabb8f3f132e2f18e68686c812401","src/zlib/contrib/iostream2/zstream.h":"d0343e0c57ff58008b6f29643d289c72713aa2d653fe3dcd2e939fc77e7e20b6","src/zlib/contrib/iostream2/zstream_test.cpp":"f789df183cc58b78751985466380c656308490a9036eb48a7ef79704c3d3f229","src/zlib/contrib/iostream3/README":"43ec48ecbd95a8c45db20b107fac73b740bb11595a4737329188f06b713972cc","src/zlib/contrib/iostream3/TODO":"af5ebc83fb88f69706c8af896733784753dead147687e1c046f410c0997fd88b","src/zlib/contrib/iostream3/test.cc":"8e17fc48dfdbc6e268838b8b427491b5843b6d18bc97caa6924de9fad7abe3da","src/zlib/contrib/iostream3/zfstream.cc":"8cdd67ed0b13c192c11e5ea90e9d5782d6627eb303fbc4aa5ebda2531ec00ff8","src/zlib/contrib/iostream3/zfstream.h":"d89587b446f928351565d099decd006a06b7a420cb1ff8ee9bb82e4d8c7235dd","src/zlib/contrib/minizip/Makefile":"b95eb8b05baef661a18ca90fa72f43e76f1bc987f9199197fe283e2860060e0a","src/zlib/contrib/minizip/Makefile.am":"2313a3480a2c3745fa7ce216829cd0367058907d3a0902e5832c66c84a2fdfc6","src/zlib/contrib/minizip/MiniZip64_Changes.txt":"c371d1672b1ec23c6fe0c600543e0c96374400b4d434447ff2596f21255079f1","src/zlib/contrib/minizip/MiniZip64_info.txt":"122719c32ef1763a5f6ba9c8cdefc1d78a76f7156b09e7b6f69b73f968e0dac3","src/zlib/contrib/minizip/configure.ac":"99a48f7b786cf192a778aae2af30836b0d2aaaec6e84c3a89a2edcbe77b46e1a","src/zlib/contrib/minizip/crypt.h":"5c978923cff1e80f76baf437eed699d5b4ad1bf515008d669475d3dd0d89ef70","src/zlib/contrib/minizip/ioapi.c":"6dff11ded396f5e3147c632a639423e80ced6705bf7bf75d21cda0c571fdf86b","src/zlib/contrib/minizip/ioapi.h":"6d2f2c3520dfc3061ea9128a1afb843f5cfe8d7317adcefe3a45884bc06e06a1","src/zlib/contrib/minizip/iowin32.c":"882383d1ee9df8c5f236411734b51e96f5e29c38496d4e531f2beb3d07f682ef","src/zlib/contrib/minizip/iowin32.h":"4feed64c3c5f5cff2d8a0431233766b61d4e06a9f232482cb41272ed1ca487df","src/zlib/contrib/minizip/make_vms.com":"65736d9c4888f2373d3db0a13864d150c5040453f5bc2a5c8784379a7ea67590","src/zlib/contrib/minizip/miniunz.c":"c60f2c68be981464ff02dfbe01da2a8e66692416bdda2144fc75df3420b4107f","src/zlib/contrib/minizip/miniunzip.1":"66d8684392167091ef0fe01598d6a0daa26e7e448e2df6c3cb257487735b83f7","src/zlib/contrib/minizip/minizip.1":"5404596e8e5587a52f563906119f32ceee30a6d97a966afa5c7afbe4d373e210","src/zlib/contrib/minizip/minizip.c":"6d7d7daffc713ba15a9768143471902c5bfd661a19287172f3870bc9ed2d5665","src/zlib/contrib/minizip/minizip.pc.in":"8b6670b42d8e5e519e1cc89db093efc07ba23cb1ddfedd3c93ff2df08c3ce8ac","src/zlib/contrib/minizip/mztools.c":"3d6027270a2b6ed5ca19a339d7488f682c69798e3977d2278d379b7f14f17b63","src/zlib/contrib/minizip/mztools.h":"6f82c52279e8f79165f4446be652e5741a49992ac58632470335aa34c564072a","src/zlib/contrib/minizip/unzip.c":"10881ab576f49fe0825a21f77e322ece6ee88d34ed66fb3a3ce7a22f4b6cd2d9","src/zlib/contrib/minizip/unzip.h":"2ff9df0b1da7499adc806bc0ec098ef1c7b9d361a8fd5b08a98299a1a4e88399","src/zlib/contrib/minizip/zip.c":"213f853d71266ebe8d8335740cfe94b0731009d8fb3f7e6ae01a627398732ec8","src/zlib/contrib/minizip/zip.h":"99ad45c0b546b5fd0ee3d0819ff057840a892a3d6dbacc85b757a35a43047398","src/zlib/contrib/nuget/nuget.csproj":"a6cf81c9a9b8be66fae032193ac6282a4ceae93c8a25a9245d7eaf477d532471","src/zlib/contrib/nuget/nuget.sln":"074a80c6c3898ea4f7935734d81fe81d3c15f5dae5b17806fa7a036b69ad5c33","src/zlib/contrib/pascal/example.pas":"d842d456ecb6ff80e34cee2da31deb2072cc69ca837497bea8b8bee203403474","src/zlib/contrib/pascal/readme.txt":"02f997c37991ddae0cb986039f7b4f6fc816b3fd0ffd332cad371d04c12cf1b9","src/zlib/contrib/pascal/zlibd32.mak":"850e91b6c9ea05de61a411cbda16fa0f10118cd88bb32c4b7226988776f8d511","src/zlib/contrib/pascal/zlibpas.pas":"c5559b148a9dcdd32843e6920b4d2a2b030f7d32979dfd253aeaa9a4ed31770f","src/zlib/contrib/puff/Makefile":"d9d738030464aaae354196c14fd928adf591832fce7d71ac1977c1d8d4923a4b","src/zlib/contrib/puff/README":"c5b9852fb11e0d6b6e916e5134cf034524d901b95368972133e0381e480eb479","src/zlib/contrib/puff/puff.c":"5b9d75aeb5baf3575415bc6ade3f2a02e50b6b971b3f8b4fda2b03543bc6e52f","src/zlib/contrib/puff/puff.h":"969b7be2a930db0cdcb19b0e5b29ae6741f5a8f663b6dba6d647e12ec60cfa8e","src/zlib/contrib/puff/pufftest.c":"d24e31c1d277d07c268f34e9490050c6b53c68b128da3efbb1d05fc5b31004f7","src/zlib/contrib/puff/zeros.raw":"b7b0887089f7af1f6d1e0b4c0a1e8eddd10223b23554299455c6c9be71b653a3","src/zlib/contrib/testzlib/testzlib.c":"753dbb39c5d2f0fffac0406c1c94fd1da7b0251d679e4d137b0708901dfd61d8","src/zlib/contrib/testzlib/testzlib.txt":"2359bbdc84eb8a04e0f1cd16cd81a2896e957f2ad58dab3ca78ef55b7d0dc577","src/zlib/contrib/untgz/Makefile":"8f5ab1564813e091cea8f1bb63da32fd80ac763d029277b0cabf50f60aceefe1","src/zlib/contrib/untgz/Makefile.msc":"d0f537de11d9e0e36e2a98b3971c537265f4b533b4c48797094365ad9ae8388b","src/zlib/contrib/untgz/untgz.c":"f96c1e8529eb10d723b4547aa965741d72a46f2b1d5c9a2c193bd3f5e2c2a45e","src/zlib/contrib/vstudio/readme.txt":"ee95a52d9d2a16aceb070a54dd2c45a1f861178351baf8ea03c2f80328691974","src/zlib/contrib/vstudio/vc10/miniunz.vcxproj":"dd607d43c64581172c20c22112821924dfe862f56b2e5eb8780bdd0714d9527b","src/zlib/contrib/vstudio/vc10/miniunz.vcxproj.filters":"4b8466bf00c70b81c31cc903e756e04151fd90fdcbe102f3568a2c8b6190ea27","src/zlib/contrib/vstudio/vc10/minizip.vcxproj":"af73f2cf8ae51e65e85342faeb40849a2310c97bc77def42b38d7070460a6cf0","src/zlib/contrib/vstudio/vc10/minizip.vcxproj.filters":"f2815f9e3386c393d0a351632823b221ef9689da1f422ecaa561dba2a612fb0a","src/zlib/contrib/vstudio/vc10/testzlib.vcxproj":"c21e64259bf9efe97e1103212e7a6e1b7372b50067b4ba14cfa678e1f491095f","src/zlib/contrib/vstudio/vc10/testzlib.vcxproj.filters":"a7caddbac3ba90b5d482e6d926ef35cc40dc3553ed3776ef6b68a528fd5b0631","src/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj":"3f317d8964f17901c3e68bff5deaec10b6ccc50a572235999e8097292692984c","src/zlib/contrib/vstudio/vc10/testzlibdll.vcxproj.filters":"29c9535775aa76320ee4efd001d41961faf6c58cedd8b29d3986e85f73d2f6fb","src/zlib/contrib/vstudio/vc10/zlib.rc":"7aa6cfd50ac67821504304eb4a28668b3aaf78f4c792c389d1fb8ea23a5d3ef6","src/zlib/contrib/vstudio/vc10/zlibstat.vcxproj":"50402ab8c63f746c034d6ce51d9612aff5b6af9aa27790cffa4b7deed4b30eb8","src/zlib/contrib/vstudio/vc10/zlibstat.vcxproj.filters":"eeb1de64c252c46b822f73f272127f6f9f0570ef22d234e093070ba95a4dde24","src/zlib/contrib/vstudio/vc10/zlibvc.def":"40c8e74194874b8c1a288edb9c6fbf32283df77afef7e520790def28a2e5b0d5","src/zlib/contrib/vstudio/vc10/zlibvc.sln":"e659860f705f31b87ea9139a3cb4ebe1561e120bce495383a54614fc82b49990","src/zlib/contrib/vstudio/vc10/zlibvc.vcxproj":"efad8cb150c0e5122f8c700d95c5de659dff92b171917c66bdbd082fff500b58","src/zlib/contrib/vstudio/vc10/zlibvc.vcxproj.filters":"c801732b7c7017796add50d2b71a228f99f95a46650baad307ff7e8358a2bfb0","src/zlib/contrib/vstudio/vc11/miniunz.vcxproj":"746e4c11fb8af4bcd6a9d68ba81ed1dc366a5de3bed56b291ee969ad733a7bb0","src/zlib/contrib/vstudio/vc11/minizip.vcxproj":"340617cae9cf4fcb003308021d3782ec3639e60d62d79a3aafc0a50bb55b061e","src/zlib/contrib/vstudio/vc11/testzlib.vcxproj":"99eadfdf2e41bc036141c174c4d0035d87572ce5795dcc28f39133f818a79d08","src/zlib/contrib/vstudio/vc11/testzlibdll.vcxproj":"583bdef522b0176829f0d8139ea2a88b9cbc14379d1334f3a863989ed3df9b67","src/zlib/contrib/vstudio/vc11/zlib.rc":"7aa6cfd50ac67821504304eb4a28668b3aaf78f4c792c389d1fb8ea23a5d3ef6","src/zlib/contrib/vstudio/vc11/zlibstat.vcxproj":"b07f792843d05ac883391075bc3b9625437490d8d40944ad359aa2134a09a3aa","src/zlib/contrib/vstudio/vc11/zlibvc.def":"40c8e74194874b8c1a288edb9c6fbf32283df77afef7e520790def28a2e5b0d5","src/zlib/contrib/vstudio/vc11/zlibvc.sln":"27389b515997defd080519f95aff87e89fcbe8b26d73c5ebb73c544cfef4d60e","src/zlib/contrib/vstudio/vc11/zlibvc.vcxproj":"d02d014ef957119a6fd0ab243c892b74d1592b117750b95fed21097c8ed922d9","src/zlib/contrib/vstudio/vc12/miniunz.vcxproj":"1494af54570f6e93852932956d49a8c25e57b5abc1ac979945605ca9143df9f8","src/zlib/contrib/vstudio/vc12/minizip.vcxproj":"9bf128ed6760ca5f019006f178b1c65f4c7ff122dba8d297b64b0eb72feeb120","src/zlib/contrib/vstudio/vc12/testzlib.vcxproj":"be88bc1220c0447c2379fdab3ac88055f58a8a788d3e9cec494342187e760eaf","src/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj":"93416510256935d79625dc9fd349cfce6968c062d42a138bec404a26b2f92f5e","src/zlib/contrib/vstudio/vc12/zlib.rc":"c0e44b6f99079b298e0a11f013e7b1476402a49f19e4d892467abb4aa116f2c8","src/zlib/contrib/vstudio/vc12/zlibstat.vcxproj":"faa229a851c76b77d65bb4742d8369efe566652bb6a1447d1e3539f289b5313d","src/zlib/contrib/vstudio/vc12/zlibvc.def":"40c8e74194874b8c1a288edb9c6fbf32283df77afef7e520790def28a2e5b0d5","src/zlib/contrib/vstudio/vc12/zlibvc.sln":"162e0faa80a56d89eea71a0b89377708eec2faa0dc72091cc0abb07fbdea49a0","src/zlib/contrib/vstudio/vc12/zlibvc.vcxproj":"8ac8cb2d29b880a738011d29d0511af9b14f321bed90f674109c446f4108d442","src/zlib/contrib/vstudio/vc14/miniunz.vcxproj":"0312511d4a30cea979c4e36edf994a537ed8a9d924f6b5c536cbcd094773c11f","src/zlib/contrib/vstudio/vc14/minizip.vcxproj":"9e7bb7a6ac723e4b2db900627c366f9bb93a351381995d9c69a50c0126f64233","src/zlib/contrib/vstudio/vc14/testzlib.vcxproj":"88667873d9d61d65016b9501ca925532eb55f56230e5911d3e2a01cd8a9fb2a4","src/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj":"69f544898b4275cd3d8e19b8f1f8cb39c1cb98a30cdb033242e4b94c57bfa150","src/zlib/contrib/vstudio/vc14/zlib.rc":"c0e44b6f99079b298e0a11f013e7b1476402a49f19e4d892467abb4aa116f2c8","src/zlib/contrib/vstudio/vc14/zlibstat.vcxproj":"5629eb0cc30674a39aa3636f1cdd190393b0dbd4c69a35e36ad85b6340055605","src/zlib/contrib/vstudio/vc14/zlibvc.def":"40c8e74194874b8c1a288edb9c6fbf32283df77afef7e520790def28a2e5b0d5","src/zlib/contrib/vstudio/vc14/zlibvc.sln":"47a50bbde8ca6336cecd8c0e4b65e515fc46ae84c7b61008ac9864162f777286","src/zlib/contrib/vstudio/vc14/zlibvc.vcxproj":"09f496a2ad3afdd5e3f36b7285440369dcac4559656edc00ed7a74c7ec9fa10f","src/zlib/contrib/vstudio/vc17/miniunz.vcxproj":"aa70a28fb573e98c0ef68ead2b875765de180e4c6f46c6135806244257fd918f","src/zlib/contrib/vstudio/vc17/minizip.vcxproj":"43ab4593b3ea568dc9e6f78a46cbb011850349e9cf3337cfb91dfdc3e623b414","src/zlib/contrib/vstudio/vc17/testzlib.vcxproj":"e596d1170c68c6c7912070293e74b794f6753afb1a6d42177dc3626fe1b0e0d4","src/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj":"c61f1f6e7e0625f283ac4f4e3ca76f25773ada0da43c7c72ce003637f9892c3b","src/zlib/contrib/vstudio/vc17/zlib.rc":"c0e44b6f99079b298e0a11f013e7b1476402a49f19e4d892467abb4aa116f2c8","src/zlib/contrib/vstudio/vc17/zlibstat.vcxproj":"331effbbcf295912daff00fb3594c2ee300824733897efc5df7d31b2d379a222","src/zlib/contrib/vstudio/vc17/zlibvc.def":"1fa9a4d1624675b0181554ddd841d368a9cf39fe931b80737bfa21402f27a7d8","src/zlib/contrib/vstudio/vc17/zlibvc.sln":"36da58a5377e65f446c95c7e4c04a915caac9873b94d0dab231e9862391bba78","src/zlib/contrib/vstudio/vc17/zlibvc.vcxproj":"f3222e055d4001f9ee04265a72b8f349f92bd27189ce51852c96dde58539c335","src/zlib/contrib/vstudio/vc9/miniunz.vcproj":"7db9b2ef5ff05d3de4ba633feab10e85d45434c865d520ffa1974421904996f3","src/zlib/contrib/vstudio/vc9/minizip.vcproj":"7797a9ad3c0056f3a3cf8fcde7618acd1d151c65d15f841fccd8d9d878ae7bb0","src/zlib/contrib/vstudio/vc9/testzlib.vcproj":"8df405917800adccee6bad2116022c2c82d661b37ea40ea16405fe4dbcb4b69f","src/zlib/contrib/vstudio/vc9/testzlibdll.vcproj":"cde6806f5c81d1fc311f9921c17ba56f8e386d097783a6a90875d385837c47e7","src/zlib/contrib/vstudio/vc9/zlib.rc":"7aa6cfd50ac67821504304eb4a28668b3aaf78f4c792c389d1fb8ea23a5d3ef6","src/zlib/contrib/vstudio/vc9/zlibstat.vcproj":"d393d418d827ad9fb9c6516f1a7620371d15e3f5afef8ba60b51e50acc7199e9","src/zlib/contrib/vstudio/vc9/zlibvc.def":"40c8e74194874b8c1a288edb9c6fbf32283df77afef7e520790def28a2e5b0d5","src/zlib/contrib/vstudio/vc9/zlibvc.sln":"26e58d4b2cfcd941c367fb2a18537b3b9f002f2ac1278b700ea1129c50501452","src/zlib/contrib/vstudio/vc9/zlibvc.vcproj":"eaca98fcf166738b59fcdbd179dac9f98f985c6ba49212b186343a998816f081","src/zlib/crc32.c":"8fd16f0a7714d51c89c2eb37eb98ec15e8a4dc57ba343e7b7398b19144039fda","src/zlib/crc32.h":"9a2223575183ac2ee8a247f20bf3ac066e8bd0140369556bdbdffc777435749e","src/zlib/deflate.c":"3b956337350f94c34987750f785587ef33d9c89ceaebb7c2afb189c956360cbe","src/zlib/deflate.h":"48baf016326d8d5e3e32ac8153cc7e22f854b8e6834830b167b998a7fb1e7989","src/zlib/doc/algorithm.txt":"a2581ab546bf053e3e95d191a6accc3b06bbd4f08ad2fb888eacbfb9773c1d30","src/zlib/doc/crc-doc.1.0.pdf":"064f9252d6e2e15ea56c2bd18e160e5c9c84bcd137c11a7af497aaa511ace998","src/zlib/doc/rfc1950.txt":"8f0475a5c984657bf26277f73df9456c9b97f175084f0c1748f1eb1f0b9b10b9","src/zlib/doc/rfc1951.txt":"5ebf4b5b7fe1c3a0c0ab9aa3ac8c0f3853a7dc484905e76e03b0b0f301350009","src/zlib/doc/rfc1952.txt":"164ef0897b4cbec63abf1b57f069f3599bd0fb7c72c2a4dee21bd7e03ec9af67","src/zlib/doc/txtvsbin.txt":"d1549fb75137f03102798f70fd34ff76285e717ddd520dd82274c1c0510eacf0","src/zlib/examples/README.examples":"1bc1c677bbebe1aa5e85015bb62f0cf3fcdbf95652d30494159bee6166c1854a","src/zlib/examples/enough.c":"c14a257c60bbe0d65bb54746dd97774a1853ef9e3f78db118a27d8bc0d26d738","src/zlib/examples/fitblk.c":"bec64da6fc0c9a2a37a96722e8b88ca09059148e5be5ecbb486bdba5339e228a","src/zlib/examples/gun.c":"3bfd36b06284ba97d6105b8a6a5d18b2b34b75b3a1285f16d018680fb174915f","src/zlib/examples/gzappend.c":"6de91c8305e37560117bff44136abff72b16b028c0bda0bbac7ea07e4988b0ce","src/zlib/examples/gzjoin.c":"90b9d6c39a5fc91cf1cc9b96b025a508a8015dc502cd9374c754b44078593f57","src/zlib/examples/gzlog.c":"d9a2f9871e7f1724f9f9359fd4851dc0eac7af10d8234bab66327badb33d1a38","src/zlib/examples/gzlog.h":"681f280437f867820bf39880e2f4fc641d402879e399ba2e6a31d73feefe8edc","src/zlib/examples/gznorm.c":"e5a8f5c3b107f27212f7d5fbfcf072a337a1b4ea32929ae31c168997438a5cc0","src/zlib/examples/zlib_how.html":"bada2526c34e9da7c9682a7216c0b0d7ac26f49195f98d3ef56f14ae9b438177","src/zlib/examples/zpipe.c":"68140a82582ede938159630bca0fb13a93b4bf1cb2e85b08943c26242cf8f3a6","src/zlib/examples/zran.c":"f4bc94b710841b8412aee04c42ea522bd1687343d65f0c0d92b4dd5801d03956","src/zlib/examples/zran.h":"913158e13f6177224074cfa9b497438545054ac0d54ab13a6ad4182df8d2ee99","src/zlib/gzclose.c":"35ea6e991a63095f797d8c4cc25817fac7a7155c2ba7dcdbbf648f7871c7ea40","src/zlib/gzguts.h":"716fa648aca1bb06c219d7b97ad4846d8479206143bc39557bfd8283f5783e04","src/zlib/gzlib.c":"042c2be8ec67ad525a2812e508de7381c6766dde903acf5ae6ac4fa6b541946d","src/zlib/gzread.c":"72e481aca07b0b85a9783237b85dc67ff3a4c1d19878d0cec69f58d38634867b","src/zlib/gzwrite.c":"469b1e58932ea11bdda2a153f6655f7b3c13254240fae157181b49ed1bc93b47","src/zlib/infback.c":"62df9a6dd3eef126f1d81d0ad7a534504610dec44482b0a472b61c93cbab6554","src/zlib/inffast.c":"e6ef64ce5dc0a4cd5c7ad08ceeb2b2a698b8447f6bd156057caeb2edab68c0cb","src/zlib/inffast.h":"05cc5dc9ff1da7b8b52a4bd8bda0d8a5c236a2f39efe84b941516ea13857e6c5","src/zlib/inffixed.h":"237ba710f090e432b62ebf963bee8b302867e9691406b2d3f8ee89ee7bfef9b0","src/zlib/inflate.c":"34c998ce0037c0537c04b03b276f680b945f9b2c9d1e01b287605bd6879f7fd2","src/zlib/inflate.h":"e8d4a51b07694bf48cb91979c19974cf6a5ab0b8a09d26ec0d14df349230673e","src/zlib/inftrees.c":"5d4f335221d2dc76f17abd2577d92c2d7baf68fa6d7f23373b360830493d1563","src/zlib/inftrees.h":"0a0fcaf2ae2fae57426bdc06637270e9bba974f35202cadbdba479d946e6409d","src/zlib/make_vms.com":"14ed54bdd391c1648cedfb69d8a73a26dcc7f1187d59b0f18d944b7665cec85b","src/zlib/msdos/Makefile.bor":"292ab363f7ffbc4ae84d37cd9bdffd2dac1003bee52d223a8489844870f20702","src/zlib/msdos/Makefile.dj2":"9208450c2ae6dcbfcc25560b5b9ca763f461e7246e37b0552474edf8fa898906","src/zlib/msdos/Makefile.emx":"c749d6ec7f88e8e639d4f03bdbdcbbe9d1c304210be4c4be621ceb22961d3d64","src/zlib/msdos/Makefile.msc":"0e021a6f42212415b060e4ad468eb415d0a8c1f343137fb9dff2cb8f9ead3027","src/zlib/msdos/Makefile.tc":"2ae12ee2a3e62f7c5a0520d0fbe4adee772bc07fe816002b07ccb43db3daa76a","src/zlib/nintendods/Makefile":"ea5823efe6830132294eddf2f56dbd7db8712244c210bb4968c431b1a91bd066","src/zlib/nintendods/README":"e362426c47b39ff6a7d6c75c6660b20abf076cdfa5e1e421716dc629a71aef95","src/zlib/old/Makefile.emx":"d811f032272aae50123a889297af3a02fbd60d1e42bbef11466462f627ff7b5b","src/zlib/old/Makefile.riscos":"d1a488b160fbfd53272b68a913283a4be08ba9d490796b196dddb2ba535b41e0","src/zlib/old/README":"551a0f4d91fe0f827a31cbdfbb4a71d1f3dc4d06564d80a3f526b749dd104d11","src/zlib/old/descrip.mms":"8ff08c35c056df9c986f23c09cf8936db63ccf12c3c42f7d18a48b36f060cff7","src/zlib/old/os2/Makefile.os2":"6ad247c00f00ff42fd2d62555e86251cef06e4079378241b5f320c227507d51d","src/zlib/old/os2/zlib.def":"ea9c61876d2e20b67ef2d9495991a32798eb40d13ede95859a2f4f03b65b9b61","src/zlib/old/visual-basic.txt":"04f39c86a8894561498430ca169e9d6ca2c5cc99b43ee923081884065a0b2b1f","src/zlib/os400/README400":"96580d63002088615c4b5ea865cdbec234fef0c8471667d2dc66273398123743","src/zlib/os400/bndsrc":"3c36a17975eed5a8d33bc5443b39fead1e68c01393496be9c1f4a61444bcb0f6","src/zlib/os400/make.sh":"143394d1e3876c61c29078c0e47310e726e1f5bd42739fe92df9ece65711655f","src/zlib/os400/zlib.inc":"c01ddd22689c281066f2bd2e3a020fad4cd50c1e543f17fae963da89a0d69a29","src/zlib/qnx/package.qpg":"6c499168c561fc08e2fc41b07fc7a43882a52ede30c1599ed9f6a4035e764225","src/zlib/test/example.c":"b7aeca68f7585e29ca6572542e0ecbd9c3c9370035ae15152008b3efbd4f84ac","src/zlib/test/infcover.c":"13a0d18d8bca440c4617d88c2236913f53eedebc50e469be472edd4280c697e5","src/zlib/test/minigzip.c":"57e4a1b9bb1bdb59ac9e5ac1dc9132183e8740cec2f6b5c5f2476aac08a2375f","src/zlib/treebuild.xml":"7d1cb70609017f6f22079af7569c8d8be2ae51e9524fc173719a487181d60860","src/zlib/trees.c":"f63c68c16c05fcd196050529d1a0e7657960e4136b9987d90a6ac3e58a964b0f","src/zlib/trees.h":"bb0a9d3ca88ee00c81adb7c636e73b97085f6ef1b52d6d58edbe2b6dc3adeb4d","src/zlib/uncompr.c":"04dca5e31b3b8a17d1806426f66f0c539f4184d657e149d40be07070c6227b52","src/zlib/watcom/watcom_f.mak":"7e039b912f9cffaa40835281430bb284fa9042b0a0d12f6b34700a06bca6576e","src/zlib/watcom/watcom_l.mak":"d11b4064604a034725860e63e3f6d347056372e4b1675b183e20a93533b20cc9","src/zlib/win32/DLL_FAQ.txt":"539adcdcea4dcab44d0e788febd217a6f192bc0758dc7813cd5f5d8474d9b428","src/zlib/win32/Makefile.bor":"7d73a0d2c3e38b7c610bbc9c22f683a4fe1ab9b8b65649a3a8ac4ff7fcc14ba6","src/zlib/win32/Makefile.gcc":"97140c30506a8f6b2edb6b3d8a1b6b539d7929d4b957deba9950301090f579bf","src/zlib/win32/Makefile.msc":"235529bd529d4690d5d4b7871fdd0a1f118f2fe18862cbdec5f5ac674c55a60d","src/zlib/win32/README-WIN32.txt":"508bee0ef1a34892281517919970eb337e017503671d0fa0f139523b44b4d0eb","src/zlib/win32/VisualC.txt":"9ec0babd46eaa012371dee2d3a8a55d9c7130f7895512c3371c737e4a7f6a997","src/zlib/win32/zlib.def":"c00693a5c825f8bfbdb68124fd03cb2fa5269338071147bdaa14434aaf3962b9","src/zlib/win32/zlib1.rc":"54e161029b59e99a4f9cb2281b956f00ecfb1814318ddef9c741ff4f832c5c1d","src/zlib/zconf.h":"f5134250a67d57459234b63858f0d9d3ef8dcc48e9e1028d3f4fdcf6eae677ae","src/zlib/zconf.h.cmakein":"350fb02462487a3e8612c18ad279053996ce0c85ebfece25a959baea9db86562","src/zlib/zconf.h.in":"f5134250a67d57459234b63858f0d9d3ef8dcc48e9e1028d3f4fdcf6eae677ae","src/zlib/zlib.3":"5aadb3f129c4c7e29f28bb6c5954dea061df3046d0fe3e134aff2ef4a217b1d6","src/zlib/zlib.3.pdf":"434e8d80e43ed24ed58a7dad0867a1136035864ad3e5fd4cc2c69e0715628c66","src/zlib/zlib.h":"8a5579af72ea4f427ff00a4150f0ccb3fc5c1e4379f726e101133b1ab9fc600c","src/zlib/zlib.map":"e83d883a3f7bb93b3dcfab28f5300a569bc7586ded2e067c0639d0697d13fe1e","src/zlib/zlib.pc.cmakein":"2f1d0b18ce37c2af415a469857f02aee2c41a58877aff21d29e9c6db32b55cb7","src/zlib/zlib.pc.in":"04c01cc2e1a0ed123518b5855f585c93a24526dd88982c414111ea1fc9f07997","src/zlib/zutil.c":"8ced40d8c88588811edd2bdb35b7439983d5e1f8e9e32b8a3b244731f3c317b7","src/zlib/zutil.h":"dddb2dc7a1dc339ecf2c8e089b366f08bb731c0839c7110240d17ce731bb4fea"},"package":"5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"}
 \ No newline at end of file
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs_1.80.1.bb b/poky/meta/recipes-devtools/rust/libstd-rs_1.81.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/libstd-rs_1.80.1.bb
rename to poky/meta/recipes-devtools/rust/libstd-rs_1.81.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
index c34b839..09e1b91 100644
--- a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -9,7 +9,7 @@
 
 MODIFYTOS = "0"
 
-DEPENDS += "virtual/${SDK_PREFIX}gcc virtual/nativesdk-libc virtual/nativesdk-${SDK_PREFIX}compilerlibs"
+DEPENDS += "virtual/nativesdk-cross-cc virtual/nativesdk-libc virtual/nativesdk-compilerlibs"
 
 SRC_URI += "file://target-rust-ccld.c"
 LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7"
@@ -54,39 +54,17 @@
 
     ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
     mkdir "${ENV_SETUP_DIR}"
-    RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
+    RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/${RUST_TARGET_SYS}_rust.sh"
 
     RUST_TARGET_TRIPLE=`echo ${RUST_TARGET_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
-    RUST_HOST_TRIPLE=`echo ${RUST_HOST_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
-    SDKLOADER=${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('SDK_ARCH', 'ppc64le', 'ld64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'riscv64', 'ld-linux-riscv64-lp64d.so.1', '', d)}
 
     cat <<- EOF > "${RUST_ENV_SETUP_SH}"
 	export CARGO_TARGET_${RUST_TARGET_TRIPLE}_RUSTFLAGS="--sysroot=\$OECORE_TARGET_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT"
-	export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
 	export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
 	EOF
 
     chown -R root.root ${D}
 
-    CARGO_ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
-    cat <<- EOF > "${CARGO_ENV_SETUP_SH}"
-	export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
-	mkdir -p "\$CARGO_HOME"
-        # Init the default target once, it might be otherwise user modified.
-	if [ ! -f "\$CARGO_HOME/config" ]; then
-		touch "\$CARGO_HOME/config"
-		echo "[build]" >> "\$CARGO_HOME/config"
-		echo 'target = "'${RUST_TARGET_SYS}'"' >> "\$CARGO_HOME/config"
-		echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
-		echo '[target.'${RUST_TARGET_SYS}']' >> "\$CARGO_HOME/config"
-		echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
-    fi
-
-	# Keep the below off as long as HTTP/2 is disabled.
-	export CARGO_HTTP_MULTIPLEXING=false
-
-	export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
-	EOF
 }
 
 FILES:${PN} += "${base_prefix}/environment-setup.d"
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.80.1.bb b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.81.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/rust-cross-canadian_1.80.1.bb
rename to poky/meta/recipes-devtools/rust/rust-cross-canadian_1.81.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm_1.80.1.bb b/poky/meta/recipes-devtools/rust/rust-llvm_1.81.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/rust-llvm_1.80.1.bb
rename to poky/meta/recipes-devtools/rust/rust-llvm_1.81.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust-snapshot.inc b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
index 66d777f..4446863 100644
--- a/poky/meta/recipes-devtools/rust/rust-snapshot.inc
+++ b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -4,56 +4,56 @@
 ## The exact (previous) version that has been used is specified in the source tarball.
 ## The version is replicated here.
 
-SNAPSHOT_VERSION = "1.79.0"
+SNAPSHOT_VERSION = "1.80.1"
 
-SRC_URI[cargo-snapshot-aarch64.sha256sum] = "4ca5e9bd141b0111387ea1aa0355f87eb8d0da52fbc616cefa4ecde4997aa65b"
-SRC_URI[clippy-snapshot-aarch64.sha256sum] = "77803cfff2ea0342f26b59eabec353bc43a1791012aa70855ecfea0fb7ae76ac"
-SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "519abf4757fbd8d7e3bb4e4cfdc362ded972c1d95f04675684df2d31e8c0899b"
-SRC_URI[rustc-snapshot-aarch64.sha256sum] = "9c847b42b81325d25a9240e33bf03fa8652f5dd321ae90a9a7a58b46bf124b17"
+SRC_URI[cargo-snapshot-aarch64.sha256sum] = "a8c4f1ab2f65e7579eb80153fd1ca9a0b365ca31ca6ae0ebd34156e0724dfc60"
+SRC_URI[clippy-snapshot-aarch64.sha256sum] = "3d522172f9797e65c609a640af7f4ac331525150c91f93e41798c5578e9523e9"
+SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "8fc4bfc3a5fe64f8530964a5ea3bda95e39357eff14d6a8bb24f010ecc912923"
+SRC_URI[rustc-snapshot-aarch64.sha256sum] = "fc21ca734504c3d0ccaf361f05cb491142c365ce8a326f942206b0199c49bbb4"
 
-SRC_URI[cargo-snapshot-i686.sha256sum] = "57bd43f363ebd399a38aa4ac3b137e9172706770f8b23479f9dd859c6ae779ab"
-SRC_URI[clippy-snapshot-i686.sha256sum] = "1d2612c829d946ca8ce32f2beacfde2c5ebed1fcacb720a58fb8e7786e4c82f2"
-SRC_URI[rust-std-snapshot-i686.sha256sum] = "158294f7c424ef75d84046b573f225c15d531745cc79d416a18c11aa8253830e"
-SRC_URI[rustc-snapshot-i686.sha256sum] = "4695a6eb66252d519510ca0a859803fff3a5041f71004404df0ccc9fbf0298d5"
+SRC_URI[cargo-snapshot-i686.sha256sum] = "b0f6d95c8a292b1276f30b1bca14197b28297c2fcd51974ef320d05497be3ca3"
+SRC_URI[clippy-snapshot-i686.sha256sum] = "a6899744ed734dd3a9f59631a943721bfe67ed6273e60dd67e8636820c1bfffd"
+SRC_URI[rust-std-snapshot-i686.sha256sum] = "6547876dcf243aeeeadaa38dbdce02c316b6f83305a5337520e02eaffc90834b"
+SRC_URI[rustc-snapshot-i686.sha256sum] = "b40c1437491d0a24756b6baabb14c2d4d0def199bc652f16e417addb171ac977"
 
-SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "354d498a8e36abe6ebd7bd859c8c7e7f02b029aa1897b9b60a87e9902ebb1079"
-SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "88eab562705d56a246a09f2897cbae9e37a66dc3cc2cab52c781cd78024f2b52"
-SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "88730b1b0d9c5252e041ed1fc2375d7292dc45132bcc8b6214490c578de240d3"
-SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "f39a604e1a5a5ba1c7342c9d98c9952b5ba252cda4b55cc6ae7bd6fca72f3889"
+SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "843272f7ab9b2f8c24f1747249275e0472fb2ede90f3a404e897559ddb898c18"
+SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "e4dba3b66bd8f811c8508fd3be1bf136b714018768d9f16a96f601ebd375bcc6"
+SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "68f30f3743b573e205ecc1733e1250ffb8d8d81e131c3b2f4a819b7e1e610d62"
+SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "5ae96e69573690aa48ffb9fecc62826ffb5d2fc280d19d1e54ab36ff48e28b68"
 
-SRC_URI[cargo-snapshot-powerpc.sha256sum] = "2a55e97ce512c27a012720bb2a0cd86554c1d734b5cb91b98f58af167cc0fde1"
-SRC_URI[clippy-snapshot-powerpc.sha256sum] = "1ae0bbe5835d9461a12f22d509787e6c11aac8335c677152a57a04f8d22cf755"
-SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "6aa2f351bc7dccb544781f4fecddb5ef67e05bb310c84e0106d968231384d9f4"
-SRC_URI[rustc-snapshot-powerpc.sha256sum] = "3b9a8067e97dd269a27fe91be163e046e85b47973f5d512c3368c49d332dacb1"
+SRC_URI[cargo-snapshot-powerpc.sha256sum] = "a88402d95f2959caaff20037144d3109a69ce3310e1dfbb27231dacd50fa2988"
+SRC_URI[clippy-snapshot-powerpc.sha256sum] = "ae1762dc8fd679d65154d5af9500c7539f55ec9d049ab736a910893d382fd6c0"
+SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "88e8144c25ef8347471dd53eea7af62e5b31eadf0788f4a82be7560f5a0be255"
+SRC_URI[rustc-snapshot-powerpc.sha256sum] = "5f435b48316a719c87fb27f49c0b37884cef7dd3ecba76df9db2a4008cc03458"
 
-SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "1e2ffcc41a2083be2f4733d534d5ee0e05fc2ace1f21033792a4e2497cbbfbe4"
-SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "0bceeb8dc5b48e5ea9cff67cdcf8488fe2afe44d7e75ca04669c7c0c2e02a0df"
-SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "af95929af71494ee3e6988ead07204ea05b6f2b729cdb1ffcc26db75e47bf318"
-SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "2295d50425ed5dfb028560ac0f9a611212d8deb43791a1d199419043157ab95e"
+SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "be2707eaa24f34775c98044f92c391a2c6037a2214adab9e83c62903001fb577"
+SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "a422a3b638c42f26ada441d2940a44a8c0f1ade9459f86d48a3d8fcc866bc60b"
+SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "cb5ad871a0a7efe7c270cbf319d006a84e8f8526acb22ce941f2840fd0e368c2"
+SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "e3257dc0790728498cf2773c3ca66d728381cc6d1f403969bd282223bd97aa3d"
 
-SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "bec32adad9f2cd1650ed24ee82fccf7329c68243cdef7cef1e720ccaea097dab"
-SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "6bb12041b6171e80598c0c04eb7e9bd07ab4fb4d654a9289618e3288a4d2f6c8"
-SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "3b5d53d70837d5ec942ec41a8da37ed932bbdc1e53f78dc54e218db458701588"
-SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "3b144840f179114cde3078909370bfb6928153d0ae303ac9848622c57cee3578"
+SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "a523cf21d751be597a19830136e3479b7f22d3642d95f53f78a11e770d971d28"
+SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "93ce75f4edf2c3b792714d33e279c5743d9d3ef841f8f2d8a7e76c9c7d74f952"
+SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "06633b26384cba594424ec02acf0d64d4724033a856a2e039a18a518cacf1d3e"
+SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "5f72f8723a2023b0bbd64cfc3d10959c4210b68579ad8e174809d17e1e2ead36"
 
-SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "83e28f3e02cce4a9d19841bcb40ec0c8ad4e9af9fb215c39876028e6e9e6baf1"
-SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "fbc978db4be2e6fdb1dbcb3ca00ee54c44dafd08930738f1c6aa7ae249685a34"
-SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "2b8af4060acb10f347c66a3477ae92151beba12192590ea40723dcf9b1f7f5b2"
-SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "1b952b8cd597060ac07bbe99cea382651ca6eee4ac2abe0a90303ccf2278e60e"
+SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "29e996af02293562f6ee79032a5414fffbf77e75cb7f0ba89053849986cb6303"
+SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "24465ce5fe8f04d9b54c31a2c5bcaba6d702925ac3cdec0af5b954643013db90"
+SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "1fbbe8df7596682466ae2fca534d5f6bae8b3f32577450e2632955268a786a06"
+SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "838d78ef8b9a11751b1dfb2cf2abfdc845deca8f0002c11930d54577b433cb93"
 
-SRC_URI[cargo-snapshot-s390x.sha256sum] = "5663e6ea018a13f1c87ac74de267829952ea979fbe5f8ee5c1c3531e25d1749c"
-SRC_URI[clippy-snapshot-s390x.sha256sum] = "c00bd892e0f29bbc2514f87c7521210ced8c175a41eee0a428e19a6ef157779f"
-SRC_URI[rust-std-snapshot-s390x.sha256sum] = "d70e710a5138871e8d972f195ced9f7aa639ccef23a87fa03cc527d2b9c3cd36"
-SRC_URI[rustc-snapshot-s390x.sha256sum] = "ef4b494fb7356b6e88a69b71378c04ae0f4a3c264adae84c9d4f3a1314eaa2b4"
+SRC_URI[cargo-snapshot-s390x.sha256sum] = "0c22278b4e8afa79de0cae798575c9ef258e73d0555b18a84efd5d042c69c6e2"
+SRC_URI[clippy-snapshot-s390x.sha256sum] = "52c3368de0e01b07f89f74a4b36279be1b7d2312b05253c7c9ccb50bc38f263a"
+SRC_URI[rust-std-snapshot-s390x.sha256sum] = "e732ce690fd63e3c2576bfe83a556031c4805c17b35b8a1c1a0ddde5cee31d46"
+SRC_URI[rustc-snapshot-s390x.sha256sum] = "0c06439db686645be36390969b503996608f25954eab2b7fd9a2915da6c0bd7b"
 
-SRC_URI[cargo-snapshot-x86_64.sha256sum] = "07fcadd27b645ad58ff4dae5ef166fd730311bbae8f25f6640fe1bfd2a1f3c3c"
-SRC_URI[clippy-snapshot-x86_64.sha256sum] = "3fb282ee97626e4f25c4f6faac3997859b89f13983dd6fa111e25182dfcb91fa"
-SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "2c914483c0882d44af2e50a181cbd2c953d672d50b31aa669ee2346cade1f108"
-SRC_URI[rustc-snapshot-x86_64.sha256sum] = "a04cf42022d0a5faf01c31082bfb1dde9c38409f0ca6da90a3e40faa03e797ae"
+SRC_URI[cargo-snapshot-x86_64.sha256sum] = "da9340b3249f08656cd4fe10e47aa292c7cd79903870a5863064731a00b5b27e"
+SRC_URI[clippy-snapshot-x86_64.sha256sum] = "e01d434e952821900f37824c797f87ed16db79e54fcbd2f396b2f1b5cb2e3c55"
+SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "b793405538d8b6ec1632779efa8835b07b8987db2008c5c9c809bc4b17dcb121"
+SRC_URI[rustc-snapshot-x86_64.sha256sum] = "0367f069b49560af5c61810530d4721ad13eecfcb48952e67a2c32be903d5043"
 
-SRC_URI[rust-std-snapshot-i586.sha256sum] = "9c38f2cd4c19196fcf113166237ab03512bf19ce5a7f13c3bfe0e5cc3317eb44"
+SRC_URI[rust-std-snapshot-i586.sha256sum] = "94927cdfa7cad391700b1a77730bb17aa364831ff6a6c40ce6500a14c1314647"
 
-SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "f7c7a73a8e5640f9d5aca6b26866b4da08cf3d3509ed1c4184309fb868acbff2"
+SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "ee7fa0104b019eec22750ac635e699d21dbb5430fc6982c495533900ec568d5b"
 
 SRC_URI += " \
     ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
index c39c954..8484c94 100644
--- a/poky/meta/recipes-devtools/rust/rust-source.inc
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -1,17 +1,15 @@
 RUST_VERSION ?= "${@d.getVar('PV').split('-')[0]}"
 
 SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;name=rust \
-            file://hardcodepaths.patch;patchdir=${RUSTSRC} \
             file://zlib-off64_t.patch;patchdir=${RUSTSRC} \
             file://rv32-rustix-libc-backend.patch;patchdir=${RUSTSRC} \
             file://rv32-cargo-rustix-0.38.28-fix.patch;patchdir=${RUSTSRC} \
-            file://0001-cargo-do-not-write-host-information-into-compilation.patch;patchdir=${RUSTSRC} \
             file://rustdoc-repro-issue-fix-cargo-config-for-codegenunits.patch;patchdir=${RUSTSRC} \
             file://rust-oe-selftest.patch;patchdir=${RUSTSRC} \
             file://repro-issue-fix-with-cc-crate-hashmap.patch;patchdir=${RUSTSRC} \
             file://oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch;patchdir=${RUSTSRC} \
 "
-SRC_URI[rust.sha256sum] = "6ab79b70dc57737a1de378f212fcf8852d67fe6cf272d122a15b3ea13be77947"
+SRC_URI[rust.sha256sum] = "36217ef7e32f40a180e3d79bd666b4dfdaed49dd381023a5fb765fd12d0092ce"
 
 RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src"
 
diff --git a/poky/meta/recipes-devtools/rust/rust_1.80.1.bb b/poky/meta/recipes-devtools/rust/rust_1.81.0.bb
similarity index 92%
rename from poky/meta/recipes-devtools/rust/rust_1.80.1.bb
rename to poky/meta/recipes-devtools/rust/rust_1.81.0.bb
index eae1f28..288b0fb 100644
--- a/poky/meta/recipes-devtools/rust/rust_1.80.1.bb
+++ b/poky/meta/recipes-devtools/rust/rust_1.81.0.bb
@@ -31,7 +31,7 @@
 RUST_CHANNEL ?= "stable"
 PV .= "${@bb.utils.contains('RUST_CHANNEL', 'stable', '', '-${RUST_CHANNEL}', d)}"
 
-export FORCE_CRATE_HASH="${BB_TASKHASH}"
+export FORCE_CRATE_HASH = "${BB_TASKHASH}"
 
 RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
 RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
@@ -271,8 +271,23 @@
     rm ${D}${libdir}/rustlib/uninstall.sh
     rm ${D}${libdir}/rustlib/install.log
     rm ${D}${libdir}/rustlib/manifest*
+    rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
+
+    ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
+    mkdir "${ENV_SETUP_DIR}"
+    RUST_ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
+    RUST_HOST_TRIPLE=`echo ${RUST_HOST_SYS} | tr '[:lower:]' '[:upper:]' | sed 's/-/_/g'`
+    RUST_HOST_CC=`echo ${RUST_HOST_SYS} | sed 's/-/_/g'`
+    SDKLOADER=${@bb.utils.contains('SDK_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('SDK_ARCH', 'ppc64le', 'ld64.so.2', '', d)}${@bb.utils.contains('SDK_ARCH', 'riscv64', 'ld-linux-riscv64-lp64d.so.1', '', d)}
+
+    cat <<- EOF > "${RUST_ENV_SETUP_SH}"
+	export CARGO_TARGET_${RUST_HOST_TRIPLE}_RUNNER="\$OECORE_NATIVE_SYSROOT/lib/${SDKLOADER}"
+	export CC_$RUST_HOST_CC="${CCACHE}${HOST_PREFIX}gcc"
+	EOF
 }
 
+FILES:${PN} += "${base_prefix}/environment-setup.d"
+
 EXTRA_TOOLS ?= "cargo-clippy clippy-driver rustfmt"
 rust_do_install:class-target() {
     export PSEUDO_UNLOAD=1
@@ -294,6 +309,7 @@
     rm ${D}${libdir}/rustlib/uninstall.sh
     rm ${D}${libdir}/rustlib/install.log
     rm ${D}${libdir}/rustlib/manifest*
+    rm ${D}${libdir}/rustlib/${RUST_HOST_SYS}/lib/libstd*.so
 }
 
 addtask do_update_snapshot after do_patch
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.14.4.bb b/poky/meta/recipes-devtools/subversion/subversion_1.14.5.bb
similarity index 87%
rename from poky/meta/recipes-devtools/subversion/subversion_1.14.4.bb
rename to poky/meta/recipes-devtools/subversion/subversion_1.14.5.bb
index 0f453db..56ef101 100644
--- a/poky/meta/recipes-devtools/subversion/subversion_1.14.4.bb
+++ b/poky/meta/recipes-devtools/subversion/subversion_1.14.5.bb
@@ -5,14 +5,14 @@
 LICENSE = "Apache-2.0 & MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b"
 
-DEPENDS = "apr-util serf sqlite3 file lz4"
+DEPENDS = "apr-util serf sqlite3 file lz4 expat"
 DEPENDS:append:class-native = " file-replacement-native"
 
 SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
            file://serfmacro.patch \
            "
 
-SRC_URI[sha256sum] = "44ead116e72e480f10f123c914bb6f9f8c041711c041ed7abff1b8634a199e3c"
+SRC_URI[sha256sum] = "e78a29e7766b8b7b354497d08f71a55641abc53675ce1875584781aae35644a1"
 
 inherit autotools pkgconfig gettext python3native
 
@@ -35,18 +35,19 @@
     ac_cv_path_RUBY=none \
 "
 
+# Upstream puts the .pc in $datadir
 EXTRA_OEMAKE += "pkgconfig_dir=${libdir}/pkgconfig"
 
-acpaths = "-I build/ -I build/ac-macros/"
-
 CPPFLAGS += "-P"
 BUILD_CPPFLAGS += "-P"
 
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
 do_configure:prepend () {
-	rm -f ${S}/libtool
-	rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4
-	rm -f ${S}/aclocal.m4
-	sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4
+    # autogen.sh manually puts things in the right place, and libtoolize doesn't
+    # work as they don't use aclocal
+    cp -f ${S}/aclocal.m4.in ${S}/aclocal.m4
+    cp -f ${STAGING_DATADIR}/aclocal/libtool.m4 ${STAGING_DATADIR}/aclocal/lt*.m4 ${S}/build/
 }
 
 #| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/0001-tcl-Add-tcltk-from-OE.dev-but-with-legacy-staging-fu.patch b/poky/meta/recipes-devtools/tcltk/tcl/0001-tcl-Add-tcltk-from-OE.dev-but-with-legacy-staging-fu.patch
index 9472591..343209e 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/0001-tcl-Add-tcltk-from-OE.dev-but-with-legacy-staging-fu.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/0001-tcl-Add-tcltk-from-OE.dev-but-with-legacy-staging-fu.patch
@@ -1,8 +1,7 @@
-From f69a01c5932af2d5ece6141e4424b14a2d645fd7 Mon Sep 17 00:00:00 2001
+From 822a73a5dec13549cb20e6c7338b059ece2ea95a Mon Sep 17 00:00:00 2001
 From: Richard Purdie <rpurdie@linux.intel.com>
 Date: Wed, 9 Dec 2009 23:59:44 +0000
-Subject: [PATCH 1/5] tcl: Add tcltk from OE.dev but with legacy staging
- function
+Subject: [PATCH] tcl: Add tcltk from OE.dev but with legacy staging function
 
 Upstream-Status: Pending
 ---
@@ -11,10 +10,10 @@
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index 0ff1258..6e74458 100644
+index b72b0da..2de7b2f 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
-@@ -1027,7 +1027,10 @@ install-binaries: binaries
+@@ -1021,7 +1021,10 @@ install-binaries: binaries
  	done
  	@echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
  	@@INSTALL_LIB@
@@ -27,7 +26,7 @@
  	@$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
  	@echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/"
 diff --git a/unix/tcl.m4 b/unix/tcl.m4
-index 99bc8bf..7e6e0da 100644
+index 4265832..49ad5ab 100644
 --- a/unix/tcl.m4
 +++ b/unix/tcl.m4
 @@ -1269,6 +1269,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
@@ -40,6 +39,3 @@
  	    SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared'
  	    DL_OBJS="tclLoadDl.o"
  	    DL_LIBS="-ldl"
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/0002-tcl-fix-a-build-issue.patch b/poky/meta/recipes-devtools/tcltk/tcl/0002-tcl-fix-a-build-issue.patch
index 53cfd89..a2d5622 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/0002-tcl-fix-a-build-issue.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/0002-tcl-fix-a-build-issue.patch
@@ -1,7 +1,7 @@
-From 61ef40f2bc418ce072828ad1939eaa40f981e76e Mon Sep 17 00:00:00 2001
+From 363d9d8fb329b26d1e59ece7f269a7a28e6722c5 Mon Sep 17 00:00:00 2001
 From: Nitin A Kamble <nitin.a.kamble@intel.com>
 Date: Fri, 13 Aug 2010 12:24:00 -0700
-Subject: [PATCH 2/5] tcl: fix a build issue
+Subject: [PATCH] tcl: fix a build issue
 
 Upstream-Status: Inappropriate [upstream does not support installed tests]
 ---
@@ -9,10 +9,10 @@
  1 file changed, 9 insertions(+), 10 deletions(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index 6e74458..bd0b818 100644
+index 2de7b2f..b5f9ab7 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
-@@ -918,7 +918,7 @@ tcltest-real:
+@@ -912,7 +912,7 @@ tcltest-real:
  test: test-tcl test-packages
  
  test-tcl: ${TCLTEST_EXE}
@@ -21,7 +21,7 @@
  
  gdb-test: ${TCLTEST_EXE}
  	$(SHELL_ENV) $(GDB) --args ./${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl \
-@@ -928,15 +928,14 @@ lldb-test: ${TCLTEST_EXE}
+@@ -922,15 +922,14 @@ lldb-test: ${TCLTEST_EXE}
  	$(SHELL_ENV) $(LLDB) -- ./${TCLTEST_EXE} $(TOP_DIR)/tests/all.tcl \
  		$(TESTFLAGS) -singleproc 1
  
@@ -39,7 +39,7 @@
  
  # The following target generates the shared libraries in dltest/ that are used
  # for testing; they are included as part of the "tcltest" target (via the
-@@ -954,17 +953,17 @@ dltest.marker: ${STUB_LIB_FILE}
+@@ -948,17 +947,17 @@ dltest.marker: ${STUB_LIB_FILE}
  # This target can be used to run tclsh from the build directory
  # via `make shell SCRIPT=/tmp/foo.tcl`
  shell: ${TCL_EXE}
@@ -60,7 +60,7 @@
  		$(TOP_DIR)/tests/all.tcl -singleproc 1 -constraints valgrind \
  		$(TESTFLAGS)
  
-@@ -990,13 +989,13 @@ valgrind_each: $(addprefix testresults/valgrind/,$(addsuffix .success,$(notdir\
+@@ -984,13 +983,13 @@ valgrind_each: $(addprefix testresults/valgrind/,$(addsuffix .success,$(notdir\
  
  
  valgrindshell: ${TCL_EXE}
@@ -77,6 +77,3 @@
  
  #--------------------------------------------------------------------------
  # Installation rules
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch b/poky/meta/recipes-devtools/tcltk/tcl/0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch
index fb53404..8a42563 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/0003-tcl-install-tcl-to-lib64-instead-of-lib-on-64bit-tar.patch
@@ -1,7 +1,7 @@
-From 8af08b6f1e566af239e36864823a96c2c283e4ea Mon Sep 17 00:00:00 2001
+From 964b9649f8d044d38fdc8c4201075692e5f537a0 Mon Sep 17 00:00:00 2001
 From: "Song.Li" <Song.Li@windriver.com>
 Date: Wed, 1 Aug 2012 19:05:51 +0800
-Subject: [PATCH 3/5] tcl:install tcl to lib64 instead of lib on 64bit target
+Subject: [PATCH] tcl:install tcl to lib64 instead of lib on 64bit target
 
 Remove hardcoded library install path. Change $(prefix)/lib/ to ${libdir}.
 
@@ -17,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/unix/configure.ac b/unix/configure.ac
-index 461b394..b6d2506 100644
+index 7f012d4..43ec7e4 100644
 --- a/unix/configure.ac
 +++ b/unix/configure.ac
-@@ -753,7 +753,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
+@@ -725,7 +725,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
@@ -29,6 +29,3 @@
  PRIVATE_INCLUDE_DIR='$(includedir)'
  HTML_DIR='$(DISTDIR)/html'
  
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/0004-tcl-update-the-header-location.patch b/poky/meta/recipes-devtools/tcltk/tcl/0004-tcl-update-the-header-location.patch
index 7953dce..50a4a27 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/0004-tcl-update-the-header-location.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/0004-tcl-update-the-header-location.patch
@@ -1,7 +1,7 @@
-From 20870e9cd4f5a211fe94f484f707269ee1abd947 Mon Sep 17 00:00:00 2001
+From d2fa5a1efa5e4f07b294660c2513766c168137ce Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Tue, 22 Nov 2022 18:48:27 +0800
-Subject: [PATCH 4/5] tcl: update the header location
+Subject: [PATCH] tcl: update the header location
 
 Lets install the include header and private header files into
 usr/include/tcl8.6 when version of tcl is 8.6.x
@@ -26,7 +26,7 @@
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index bd0b818..ddf2b67 100644
+index b5f9ab7..fbc87a2 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
 @@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TCL_LIBRARY)
@@ -39,10 +39,10 @@
  # Path to the private tcl header dir:
  PRIVATE_INCLUDE_DIR	= @PRIVATE_INCLUDE_DIR@
 diff --git a/unix/configure.ac b/unix/configure.ac
-index b6d2506..72a8b0d 100644
+index 43ec7e4..19524d1 100644
 --- a/unix/configure.ac
 +++ b/unix/configure.ac
-@@ -754,7 +754,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
+@@ -726,7 +726,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
  test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
@@ -51,7 +51,7 @@
  HTML_DIR='$(DISTDIR)/html'
  
  # Note:  in the following variable, it's important to use the absolute
-@@ -921,7 +921,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
+@@ -893,7 +893,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
  TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
  
  # Install time header dir can be set via --includedir
@@ -73,6 +73,3 @@
  libfile=@TCL_LIB_FILE@
  
  Name: Tool Command Language
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/0005-tcl-fix-race-in-interp.test.patch b/poky/meta/recipes-devtools/tcltk/tcl/0005-tcl-fix-race-in-interp.test.patch
index dfb0b63..07912da 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/0005-tcl-fix-race-in-interp.test.patch
+++ b/poky/meta/recipes-devtools/tcltk/tcl/0005-tcl-fix-race-in-interp.test.patch
@@ -1,7 +1,7 @@
-From 8a96171a33c886d1d9aab40e40f8aae2f621ca08 Mon Sep 17 00:00:00 2001
+From fd75e3613613726786c54a25ee611c5176b33510 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@arm.com>
 Date: Mon, 12 Jul 2021 14:50:13 +0100
-Subject: [PATCH 5/5] tcl: fix race in interp.test
+Subject: [PATCH] tcl: fix race in interp.test
 
 The interp-36.7 patch has race conditions and is missing cleanup.  This patch by
 a Tcl maintainer should improve matters.
@@ -13,20 +13,20 @@
  1 file changed, 4 insertions(+), 3 deletions(-)
 
 diff --git a/tests/interp.test b/tests/interp.test
-index 30dc659..e7cd0ee 100644
+index 0092a03..eecfd3b 100644
 --- a/tests/interp.test
 +++ b/tests/interp.test
 @@ -3614,17 +3614,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
-         variable result
-         set result [lindex $args 0]
+ 	variable result
+ 	set result [lindex $args 0]
      }
 +    set tout [after 5000 {set result timeout}]
  } -body {
      child eval {
-         variable done {}
-         after 0 error foo
--        after 10 [list ::set [namespace which -variable done] {}]
--        vwait [namespace which -variable done]
+ 	variable done {}
+ 	after 0 error foo
+-	after 10 [list ::set [namespace which -variable done] {}]
+-	vwait [namespace which -variable done]
      }
 +    vwait result
      set result
@@ -38,6 +38,3 @@
      interp delete child
  } -result foo
  
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
index 8a9f611..be067f1 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-export TCL_LIBRARY=/usr/lib/tcl/ptest/library
+export TCL_LIBRARY=@libdir@/tcl/ptest/library
 export ERROR_ON_FAILURES=1
 export LANG=en-US.UTF-8
 
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_9.0.0.bb b/poky/meta/recipes-devtools/tcltk/tcl_9.0.1.bb
similarity index 92%
rename from poky/meta/recipes-devtools/tcltk/tcl_9.0.0.bb
rename to poky/meta/recipes-devtools/tcltk/tcl_9.0.1.bb
index 46e8e7d..485b293 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_9.0.0.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_9.0.1.bb
@@ -23,7 +23,7 @@
            file://0004-tcl-update-the-header-location.patch \
            file://0005-tcl-fix-race-in-interp.test.patch \
            "
-SRC_URI[sha256sum] = "3186e23c7417359d90e3c46f531d442c76d3c05a2dba1081c02b75e32908b2b7"
+SRC_URI[sha256sum] = "488fcb6c875a1762e9e8478319b20fbad9a31de475f056aeed94cc54b44cf221"
 
 UPSTREAM_CHECK_URI = "https://www.tcl.tk/software/tcltk/download.html"
 UPSTREAM_CHECK_REGEX = "tcl(?P<pver>\d+(\.\d+)+)-src"
@@ -35,7 +35,9 @@
 inherit autotools ptest binconfig
 
 AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
-EXTRA_OECONF = "--disable-rpath --enable-man-suffix=tcl9"
+EXTRA_AUTORECONF = "--exclude=aclocal"
+
+EXTRA_OECONF = "--disable-rpath --enable-man-suffix=tcl9 --disable-zipfs"
 
 # Prevent installing copy of tzdata based on tzdata installation on the build host
 # It doesn't install tzdata if one of the following files exist on the host:
@@ -80,6 +82,8 @@
 	cp ${B}/tcltest ${D}${PTEST_PATH}
 	cp -r ${S}/library ${D}${PTEST_PATH}
 	cp -r ${S}/tests ${D}${PTEST_PATH}
+        # handle multilib
+        sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
 }
 
 do_install_ptest:append:libc-musl () {
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch b/poky/meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch
new file mode 100644
index 0000000..1859992
--- /dev/null
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch
@@ -0,0 +1,33 @@
+From ff508f2e6786df697876140f21855ecb92a3ed36 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 18 Aug 2023 12:25:11 +0200
+Subject: [PATCH] generic/tcl.h: use Tcl_WideInt for seconds in Tcl_Time
+
+This ensures the value will not overflow, particularly on 32 bit systems
+in 2038, where long will.
+
+This patch was proposed at https://core.tcl-lang.org/tcl/tktview/86dd172271
+Upstream was generally supportive of the fix, but they merged a much more
+elaborate version of it for tcl 9.x (released in 9.0.0), and declined
+to merge it into 8.x due to ABI breakage (sadly this change is in a public header).
+But we can carry the fix downstream.
+
+Upstream-Status: Inappropriate [see above]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ generic/tcl.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/generic/tcl.h b/generic/tcl.h
+index 3a4622e..6204c57 100644
+--- a/generic/tcl.h
++++ b/generic/tcl.h
+@@ -1418,7 +1418,7 @@ typedef enum {
+  */
+ 
+ typedef struct Tcl_Time {
+-    long sec;			/* Seconds. */
++    Tcl_WideInt sec;			/* Seconds. */
+     long usec;			/* Microseconds. */
+ } Tcl_Time;
+ 
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch b/poky/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch
index bfc718c..6ceb297 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/alter-includedir.patch
@@ -1,4 +1,4 @@
-From 3130dca60636dc12d0d12df75b002fd123349e21 Mon Sep 17 00:00:00 2001
+From 8bb8174e13c1c0e3b27fdf96a393f9fb1b7e14be Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Tue, 22 Nov 2022 18:48:27 +0800
 Subject: [PATCH] tcl: update the header location
@@ -26,7 +26,7 @@
  3 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index a3b7d69..969ddb8 100644
+index c3b75e3..60ed93e 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
 @@ -57,7 +57,7 @@ SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TCL_LIBRARY)
@@ -39,10 +39,10 @@
  # Path to the private tcl header dir:
  PRIVATE_INCLUDE_DIR	= @PRIVATE_INCLUDE_DIR@
 diff --git a/unix/configure.in b/unix/configure.in
-index 4974fb6..a72934f 100644
+index 8e6726b..2345689 100644
 --- a/unix/configure.in
 +++ b/unix/configure.in
-@@ -776,7 +776,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
+@@ -775,7 +775,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
  test -z "$TCL_LIBRARY" && TCL_LIBRARY='$(libdir)/tcl$(VERSION)'
@@ -51,7 +51,7 @@
  HTML_DIR='$(DISTDIR)/html'
  
  # Note:  in the following variable, it's important to use the absolute
-@@ -897,7 +897,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
+@@ -898,7 +898,7 @@ TCL_BUILD_STUB_LIB_PATH="`pwd`/${TCL_STUB_LIB_FILE}"
  TCL_STUB_LIB_PATH="${TCL_STUB_LIB_DIR}/${TCL_STUB_LIB_FILE}"
  
  # Install time header dir can be set via --includedir
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch b/poky/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch
index 7480156..6115387 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/fix_non_native_build_issue.patch
@@ -1,4 +1,4 @@
-From bd512547fc002fdb20808bf5b8b9feeb848b6512 Mon Sep 17 00:00:00 2001
+From 3d11e7fd9aba6251974d990286347c06582e87b9 Mon Sep 17 00:00:00 2001
 From: Nitin A Kamble <nitin.a.kamble@intel.com>
 Date: Fri, 13 Aug 2010 12:24:00 -0700
 Subject: [PATCH] tcl: fix a build issue
@@ -10,7 +10,7 @@
  1 file changed, 10 insertions(+), 10 deletions(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index 965f6da..a0bd63f 100644
+index a2f9e21..c3b75e3 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
 @@ -723,7 +723,7 @@ tcltest-real:
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/interp.patch b/poky/meta/recipes-devtools/tcltk8/tcl8/interp.patch
index 2e0dc94..a4fb0c5 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8/interp.patch
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/interp.patch
@@ -1,4 +1,4 @@
-From 426aa2ff62dda77fd011e8f630b9d4ea17984817 Mon Sep 17 00:00:00 2001
+From 09049beed723243d092ffaa37939dfe0f2ed6828 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@arm.com>
 Date: Mon, 12 Jul 2021 14:50:13 +0100
 Subject: [PATCH] tcl: fix race in interp.test
@@ -13,10 +13,10 @@
  1 file changed, 4 insertions(+), 3 deletions(-)
 
 diff --git a/tests/interp.test b/tests/interp.test
-index d742484..fc90990 100644
+index 24ffb1b..c6460ad 100644
 --- a/tests/interp.test
 +++ b/tests/interp.test
-@@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
+@@ -3614,17 +3614,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
          variable result
          set result [lindex $args 0]
      }
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/run-ptest b/poky/meta/recipes-devtools/tcltk8/tcl8/run-ptest
index c485e53..bea9d9c 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8/run-ptest
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/run-ptest
@@ -2,7 +2,7 @@
 
 # clock.test needs a timezone to be set
 export TZ="Europe/London"
-export TCL_LIBRARY=library
+export TCL_LIBRARY=@libdir@/tcl8/ptest/library
 export ERROR_ON_FAILURES=1
 
 # Some tests are overly strict with timings and fail on loaded systems.
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch b/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch
index 1cd4d76..88faf8a 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-add-soname.patch
@@ -1,4 +1,4 @@
-From b89fd73daf9b3eb2f889f65baba5f90d8a930c82 Mon Sep 17 00:00:00 2001
+From 0d8e567d132e050c5d4a8d8d9257417e0679483c Mon Sep 17 00:00:00 2001
 From: Richard Purdie <rpurdie@linux.intel.com>
 Date: Wed, 9 Dec 2009 23:59:44 +0000
 Subject: [PATCH] tcl: Add tcltk from OE.dev but with legacy staging function
@@ -11,10 +11,10 @@
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/unix/Makefile.in b/unix/Makefile.in
-index 7619afc..9dd053d 100644
+index bc743b3..a2f9e21 100644
 --- a/unix/Makefile.in
 +++ b/unix/Makefile.in
-@@ -904,7 +904,10 @@ install-binaries: binaries
+@@ -812,7 +812,10 @@ install-binaries: binaries
  	done
  	@echo "Installing $(LIB_FILE) to $(DLL_INSTALL_DIR)/"
  	@@INSTALL_LIB@
@@ -27,7 +27,7 @@
  	@$(INSTALL_PROGRAM) ${TCL_EXE} "$(BIN_INSTALL_DIR)/tclsh$(VERSION)${EXE_SUFFIX}"
  	@echo "Installing tclConfig.sh to $(CONFIG_INSTALL_DIR)/"
 diff --git a/unix/tcl.m4 b/unix/tcl.m4
-index 0307a06..37c4d67 100644
+index 7f5464e..cd8d929 100644
 --- a/unix/tcl.m4
 +++ b/unix/tcl.m4
 @@ -1378,6 +1378,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch b/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch
index 93e7877..0a0c117 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8/tcl-remove-hardcoded-install-path.patch
@@ -1,4 +1,4 @@
-From 050fc597fbfa4da2c31bd0df58c871892a490470 Mon Sep 17 00:00:00 2001
+From 6e3cbc3600ac474776e92eb9a88abcb74299c321 Mon Sep 17 00:00:00 2001
 From: "Song.Li" <Song.Li@windriver.com>
 Date: Wed, 1 Aug 2012 19:05:51 +0800
 Subject: [PATCH] tcl:install tcl to lib64 instead of lib on 64bit target
@@ -17,10 +17,10 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/unix/configure.in b/unix/configure.in
-index 4f62510..4974fb6 100644
+index e88ec3c..8e6726b 100644
 --- a/unix/configure.in
 +++ b/unix/configure.in
-@@ -775,7 +775,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
+@@ -774,7 +774,7 @@ eval "TCL_LIB_FILE=libtcl${LIB_SUFFIX}"
  
  eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
  
diff --git a/poky/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb b/poky/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb
similarity index 93%
rename from poky/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb
rename to poky/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb
index 9281241..076bbc9 100644
--- a/poky/meta/recipes-devtools/tcltk8/tcl8_8.6.15.bb
+++ b/poky/meta/recipes-devtools/tcltk8/tcl8_8.6.16.bb
@@ -23,8 +23,9 @@
            file://alter-includedir.patch \
            file://interp.patch \
            file://run-ptest \
+           file://0001-generic-tcl.h-use-Tcl_WideInt-for-seconds-in-Tcl_Tim.patch \
            "
-SRC_URI[sha256sum] = "844775491e435e34d83d6ccfbadd1342f1855f1705253233a86152df0765e78d"
+SRC_URI[sha256sum] = "3b371386a9a928eecdbf263bcab7d6a531e620ca3fbab4fdeeb3d6a9a56f38e9"
 
 SRC_URI:class-native = "${BASE_SRC_URI}"
 
@@ -38,6 +39,8 @@
 inherit autotools ptest binconfig
 
 AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
+EXTRA_AUTORECONF = "--exclude=aclocal"
+
 EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix=tcl8"
 
 # Prevent installing copy of tzdata based on tzdata installation on the build host
@@ -83,6 +86,7 @@
 	cp ${B}/tcltest ${D}${PTEST_PATH}
 	cp -r ${S}/library ${D}${PTEST_PATH}
 	cp -r ${S}/tests ${D}${PTEST_PATH}
+	sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
 }
 
 do_install_ptest:append:libc-musl () {
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
index 1065acd..0360a34 100644
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
@@ -18,7 +18,7 @@
 
 # Tell xmllint where to find the DocBook XML catalogue, because right now it
 # opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
-export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
+export SGML_CATALOG_FILES = "file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
 
 inherit setuptools3
 CLEANBROKEN = "1"
diff --git a/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb b/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
index 6832ccc..0e87360 100644
--- a/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
+++ b/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
@@ -8,7 +8,7 @@
 PV = "0.1+git"
 
 SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master"
-UPSTREAM_VERSION_UNKNOWN="1"
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc
index 66058fe..634209c 100644
--- a/poky/meta/recipes-extended/bash/bash.inc
+++ b/poky/meta/recipes-extended/bash/bash.inc
@@ -7,7 +7,7 @@
 
 inherit autotools gettext texinfo update-alternatives ptest
 
-EXTRA_AUTORECONF += "--exclude=autoheader"
+EXTRA_AUTORECONF += "--exclude=autoheader,aclocal"
 EXTRA_OECONF = "--enable-job-control --without-bash-malloc bash_cv_wexitstatus_offset=8"
 
 # If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the
@@ -46,12 +46,6 @@
 
 CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
 
-do_configure:prepend () {
-    if [ ! -e ${S}/acinclude.m4 ]; then
-       cat ${S}/aclocal.m4 > ${S}/acinclude.m4
-    fi
-}
-
 do_compile:prepend() {
     # Remove any leftover .build files. This ensures that bash always has the
     # same version number and keeps builds reproducible
diff --git a/poky/meta/recipes-extended/bash/bash/use_aclocal.patch b/poky/meta/recipes-extended/bash/bash/use_aclocal.patch
deleted file mode 100644
index e966b03..0000000
--- a/poky/meta/recipes-extended/bash/bash/use_aclocal.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From b3a64702fa1978463c01bd5d9fe711e4628aba1e Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 28 Dec 2020 21:04:27 +0100
-Subject: [PATCH] bash: update 5.0 -> 5.1
-
-Including m4 files directly like this confuses autotools.bbclass, remove
-the references and rely upon aclocal to collect the m4 files together
-as needed instead making it work like other autotools based projects.
-
-Upstream-Status: Inappropriate [OE configuration specific]
-RP 2021/1/20
----
- configure.ac | 43 -------------------------------------------
- 1 file changed, 43 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 50a6e20..a3b5bd7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -710,49 +710,6 @@ if test x$SIZE = x; then
- fi
- AC_SUBST(SIZE)
- 
--m4_include([m4/stat-time.m4])
--m4_include([m4/timespec.m4])
--
--m4_include([m4/strtoimax.m4])
--
--dnl include files for gettext
--
--m4_include([m4/codeset.m4])
--m4_include([m4/extern-inline.m4])
--m4_include([m4/fcntl-o.m4])
--m4_include([m4/gettext.m4])
--m4_include([m4/glibc2.m4])
--m4_include([m4/glibc21.m4])
--m4_include([m4/host-cpu-c-abi.m4])
--m4_include([m4/iconv.m4])
--m4_include([m4/intdiv0.m4])
--m4_include([m4/intl.m4])
--m4_include([m4/intlmacosx.m4])
--m4_include([m4/intl-thread-locale.m4])
--m4_include([m4/intmax.m4])
--m4_include([m4/inttypes-pri.m4])
--m4_include([m4/inttypes.m4])
--m4_include([m4/inttypes_h.m4])
--m4_include([m4/lcmessage.m4])
--m4_include([m4/lib-ld.m4])
--m4_include([m4/lib-link.m4])
--m4_include([m4/lib-prefix.m4])
--m4_include([m4/lock.m4])
--m4_include([m4/nls.m4])
--m4_include([m4/po.m4])
--m4_include([m4/printf-posix.m4])
--m4_include([m4/progtest.m4])
--m4_include([m4/pthread_rwlock_rdlock.m4])
--m4_include([m4/size_max.m4])
--m4_include([m4/stdint_h.m4])
--m4_include([m4/threadlib.m4])
--m4_include([m4/uintmax_t.m4])
--m4_include([m4/ulonglong.m4])
--m4_include([m4/visibility.m4])
--m4_include([m4/wchar_t.m4])
--m4_include([m4/wint_t.m4])
--m4_include([m4/xsize.m4])
--
- dnl C compiler characteristics
- AC_C_CONST
- AC_C_INLINE
diff --git a/poky/meta/recipes-extended/bash/bash_5.2.37.bb b/poky/meta/recipes-extended/bash/bash_5.2.37.bb
index 3dcaefa..20c51ec 100644
--- a/poky/meta/recipes-extended/bash/bash_5.2.37.bb
+++ b/poky/meta/recipes-extended/bash/bash_5.2.37.bb
@@ -11,7 +11,6 @@
            file://run-ptest \
            file://run-bash-ptests \
            file://fix-run-builtins.patch \
-           file://use_aclocal.patch \
            file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \
            file://fix-filesubst-errexit.patch \
            "
diff --git a/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch b/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
deleted file mode 100644
index 1ef797d..0000000
--- a/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From e174b6e7d195d5a7465575641b7f68581f162574 Mon Sep 17 00:00:00 2001
-From: Li Zhou <li.zhou@windriver.com>
-Date: Thu, 27 Jun 2019 13:10:47 +0800
-Subject: [PATCH] dc: fix exit code of q command
-
-The exit code for "echo q | dc" is 1 for dc-1.4.1;
-while the exit code for "echo q | dc" is 0 for dc-1.4.
-
-Here is the answer from ken@gnu.org:
-dc-1.4 was right.  There was a rewrite of a chunk of code for 1.4.1 to
-fix a corner case in the Q command, and somehow the placement of the
-clean-up label for the 'q' command got misplaced on the error-handling
-branch instead of the clean-exit branch.  The patch below fixes this
-(it is committed for whenever the next bc/dc release gets made).
-
-Thanks for the report,
-        --Ken Pizzini
-
-Upstream-Status: Backport [Got the solution from maintainer]
-
-Signed-off-by: Li Zhou <li.zhou@windriver.com>
----
- dc/eval.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dc/eval.c b/dc/eval.c
-index 05a3d9e..bcab8db 100644
---- a/dc/eval.c
-+++ b/dc/eval.c
-@@ -814,10 +814,10 @@ error_fail:
- 	fprintf(stderr, "%s: ", progname);
- 	perror("error reading input");
- 	return DC_FAIL;
--reset_and_exit_quit:
- reset_and_exit_fail:
- 	signal(SIGINT, sigint_default);
- 	return DC_FAIL;
-+reset_and_exit_quit:
- reset_and_exit_success:
- 	signal(SIGINT, sigint_default);
- 	return DC_SUCCESS;
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-extended/bc/bc/libmath.h b/poky/meta/recipes-extended/bc/bc/libmath.h
deleted file mode 100644
index 63e1acb..0000000
--- a/poky/meta/recipes-extended/bc/bc/libmath.h
+++ /dev/null
@@ -1,46 +0,0 @@
-{"@iK20:s2:p@r",
-"@iF1,5.6,7,8,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C1,0:",
-"s14:pl7:s0:pl14:RN1:l5:0<Z2:1s12:pl5:ns5:pN2:l2:s15:pK6:l15:+",
-"K.44:l5:*+s13:pl5:cS1+s2:pN3:l5:1>Z4:l10:1+s10:pl5:K2:/s5:pl2:",
-"1+s2:pJ3:N4:l13:s2:p1l5:+s14:pl5:s6:p1s8:pK2:s11:pN6:1B7:J5:N8:",
-"l11:i11:pJ6:N7:l6:l5:*s6:l8:l11:*s8:/s9:pl9:0=Z9:l10:0>Z10:N11:",
-"l10:d10:Z12:l14:l14:*s14:pJ11:N12:N10:l15:s2:pl12:Z13:1l14:/R",
-"N13:l14:1/RN9:l14:l9:+s14:pJ8:N5:0R]@r",
-"@iF2,5.7,9,10,11,12,13,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C2,0:",
-"s14:pl7:s0:pl14:RN1:l5:0{Z2:1K10:l2:^-1/RN2:l2:s15:pK6:l2:+s2:",
-"pK2:s10:p0s11:pN3:l5:K2:}Z4:l10:K2:*s10:pl5:cRs5:pJ3:N4:N5:l5:",
-"K.5:{Z6:l10:K2:*s10:pl5:cRs5:pJ5:N6:l5:1-l5:1+/s13:s14:pl13:l13:",
-"*s12:pK3:s11:pN8:1B9:J7:N10:l11:K2:+s11:pJ8:N9:l13:l12:*s13:l11:",
-"/s9:pl9:0=Z11:l10:l14:*s14:pl15:s2:pl14:1/RN11:l14:l9:+s14:pJ10:N7:",
-"0R]@r",
-"@iF3,5.7,9,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C3,0:",
-"s14:pl7:s0:pl14:RN1:l2:s15:pK1.1:l15:*K2:+s2:p1C4,0:s14:pl5:0",
-"<Z2:1s12:pl5:ns5:pN2:0s2:pl5:l14:/K2:+K4:/s13:pl5:K4:l13:*l14:",
-"*-s5:pl13:K2:%Z3:l5:ns5:pN3:l15:K2:+s2:pl5:s9:s14:pl5:nl5:*s16:",
-"pK3:s11:pN5:1B6:J4:N7:l11:K2:+s11:pJ5:N6:l9:l16:l11:l11:1-*/*",
-"s9:pl9:0=Z8:l15:s2:pl12:Z9:l14:n1/RN9:l14:1/RN8:l14:l9:+s14:p",
-"J7:N4:0R]@r",
-"@iF5,5.7,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:C5,0:s14:pl7:s0:pl14:",
-"RN1:l2:s15:pl2:K1.2:*s2:pl5:1C4,0:K2:*+C3,0:s14:pl15:s2:pl14:",
-"1/R0R]@r",
-"@iF4,5.6,7,9,10,11,12,13,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl5:",
-"C4,0:s14:pl7:s0:pl14:RN1:1s12:pl5:0<Z2:1ns12:pl5:ns5:pN2:l5:1",
-"=Z3:l2:K25:{Z4:K.7853981633974483096156608:l12:/RN4:l2:K40:{Z5:",
-"K.7853981633974483096156608458198757210492:l12:/RN5:l2:K60:{Z6:",
-"K.785398163397448309615660845819875721049292349843776455243736",
-":l12:/RN6:N3:l5:K.2:=Z7:l2:K25:{Z8:K.1973955598498807583700497",
-":l12:/RN8:l2:K40:{Z9:K.1973955598498807583700497651947902934475",
-":l12:/RN9:l2:K60:{Z10:K.197395559849880758370049765194790293447585103787852101517688",
-":l12:/RN10:N7:l2:s15:pl5:K.2:>Z11:l15:K5:+s2:pK.2:C4,0:s6:pN11:",
-"l15:K3:+s2:pN12:l5:K.2:>Z13:l10:1+s10:pl5:K.2:-1l5:K.2:*+/s5:",
-"pJ12:N13:l5:s13:s14:pl5:nl5:*s16:pK3:s11:pN15:1B16:J14:N17:l11:",
-"K2:+s11:pJ15:N16:l13:l16:*s13:l11:/s9:pl9:0=Z18:l15:s2:pl10:l6:",
-"*l14:+l12:/RN18:l14:l9:+s14:pJ17:N14:0R]@r",
-"@iF6,13,5.6,7,8,9,10,11,12,16,14,15[l0:KA:#Z1:l0:s7:pKA:s0:pl13:",
-"l5:C6,00:s14:pl7:s0:pl14:RN1:l2:s15:p0s2:pl13:1/s13:pl13:0<Z2:",
-"l13:ns13:pl13:K2:%1=Z3:1s12:pN3:N2:1s10:pK2:s11:pN5:l11:l13:{",
-"B6:J4:N7:l11:i11:pJ5:N6:l10:l11:*s10:pJ7:N4:K1.5:l15:*s2:pl5:",
-"l13:^K2:l13:^/l10:/s10:p1s9:s14:pl5:nl5:*K4:/s16:pK1.5:l15:*l10:",
-"cL+l10:cS-s2:p1s11:pN9:1B10:J8:N11:l11:i11:pJ9:N10:l9:l16:*l11:",
-"/l13:l11:+/s9:pl9:0=Z12:l15:s2:pl12:Z13:l10:nl14:*1/RN13:l10:",
-"l14:*1/RN12:l14:l9:+s14:pJ11:N8:0R]@r",0}
diff --git a/poky/meta/recipes-extended/bc/bc/no-gen-libmath.patch b/poky/meta/recipes-extended/bc/bc/no-gen-libmath.patch
deleted file mode 100644
index c4cce58..0000000
--- a/poky/meta/recipes-extended/bc/bc/no-gen-libmath.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-These rules are not cross-friendly so delete them and we'll generate the file offline.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/bc/Makefile.am b/bc/Makefile.am
-index d9d412e..f244241 100644
---- a/bc/Makefile.am
-+++ b/bc/Makefile.am
-@@ -31,14 +31,6 @@ global.o: libmath.h
- 
- fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o
- 
--libmath.h: libmath.b $(fbcOBJ) $(LIBBC)
--	echo '{0}' > libmath.h
--	$(MAKE) global.o
--	$(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS)
--	./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h
--	$(srcdir)/fix-libmath_h
--	rm -f ./fbc ./global.o
--
- sbcOBJ = main.o sbc.o scan.o execute.o global.o load.o storage.o util.o \
-          warranty.o
- sbc.o: sbc.c
diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.08.1.bb
similarity index 72%
rename from poky/meta/recipes-extended/bc/bc_1.07.1.bb
rename to poky/meta/recipes-extended/bc/bc_1.08.1.bb
index 74387c5..473d78d 100644
--- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/poky/meta/recipes-extended/bc/bc_1.08.1.bb
@@ -6,19 +6,15 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
                     file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
                     file://bc/bcdefs.h;endline=17;md5=4295c06df9e833519a342f7b5d43db06 \
-                    file://dc/dc.h;endline=18;md5=36b8c600b63ee8c3aeade2764f6b2a4b \
+                    file://dc/dc.h;endline=18;md5=bad31533d57fe5948c996f9ef6643206 \
                     file://lib/number.c;endline=20;md5=cf43068cc88f837731dc53240456cfaf"
 
 SECTION = "base"
 DEPENDS = "flex-native"
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
-           file://no-gen-libmath.patch \
-           file://libmath.h \
-           file://0001-dc-fix-exit-code-of-q-command.patch \
            file://run-ptest"
-SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
-SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
+SRC_URI[sha256sum] = "b71457ffeb210d7ea61825ff72b3e49dc8f2c1a04102bbe23591d783d1bfe996"
 
 inherit autotools texinfo update-alternatives ptest
 
@@ -26,10 +22,6 @@
 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
 
-do_compile:prepend() {
-    cp -f ${UNPACKDIR}/libmath.h ${B}/bc/libmath.h
-}
-
 do_install_ptest() {
         install ${S}/Test/*.b ${D}${PTEST_PATH}
 }
diff --git a/poky/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch b/poky/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch
deleted file mode 100644
index 25a2fab..0000000
--- a/poky/meta/recipes-extended/blktool/blktool/0001-fix-typos-in-manpage.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 9cb1667f9d3a9bcfc3b83466cd8d3b79f0554ff0 Mon Sep 17 00:00:00 2001
-From: Azat Khuzhin <a3at.mail@gmail.com>
-Date: Wed, 8 Jul 2015 01:37:09 +0300
-Subject: [PATCH 1/3] fix typos in manpage
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- blktool.8 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/blktool.8 b/blktool.8
-index a1f5c96..45b7724 100644
---- a/blktool.8
-+++ b/blktool.8
-@@ -191,7 +191,7 @@ Query or set device bus state (0 off, 1 on, 2 tristate)
- Query the detected (or overridden, via -t) device class.
- Typically this will result in 'ATA' or 'SCSI' for most devices.
- Detection is based on device major; thus your SATA device may appear as
--'SCSI'.
-+\&'SCSI'.
- 
- .TP
- .B cd-speed
-@@ -237,7 +237,7 @@ Omitting the on/off argument will print the current state.
- 
- .TP
- .B media
--Lock in (or unlock) a removeable device.
-+Lock in (or unlock) a removable device.
- 
- .TP
- .B multiple-count
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch b/poky/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch
deleted file mode 100644
index 401e41e..0000000
--- a/poky/meta/recipes-extended/blktool/blktool/0002-fix-string-error.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ddb1071da2c78d8155aab62e9f0d46f69500200f Mon Sep 17 00:00:00 2001
-From: Azat Khuzhin <a3at.mail@gmail.com>
-Date: Wed, 8 Jul 2015 01:42:24 +0300
-Subject: [PATCH 2/3] fix string error
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- util.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/util.c b/util.c
-index 1f3a9ca..2ccf56a 100644
---- a/util.c
-+++ b/util.c
-@@ -28,7 +28,7 @@ void pdie(const char *msg, int perr)
- 	if (perr)
- 		perror(msg);
- 	else
--		fprintf(stderr, msg);
-+		fprintf(stderr, "%s", msg);
- 	if (blkdev >= 0)
- 		close(blkdev);
- 	exit(1);
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch b/poky/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch
deleted file mode 100644
index d1f1e79..0000000
--- a/poky/meta/recipes-extended/blktool/blktool/0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 68faa63aaad81f4a289e4a03173ab4cf798deb53 Mon Sep 17 00:00:00 2001
-From: Azat Khuzhin <a3at.mail@gmail.com>
-Date: Sat, 1 Nov 2014 22:24:32 +0300
-Subject: [PATCH 3/3] Fix 3-d argument for BLKROSET it must be 'const int *'
-
-Most of *SET ioctls have int type for 3-d argument, except BLKROSET.
-So add bc_arg_type enum, build it into bool_comand and install arg_type
-to bc_arg_int_ptr for BLKROSET only.
-
-Debian-bug-id: 641164
-Link: https://bugs.debian.org/641164
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- blktool.c | 11 +++++++++--
- blktool.h |  7 +++++++
- 2 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/blktool.c b/blktool.c
-index fbefecd..221a195 100644
---- a/blktool.c
-+++ b/blktool.c
-@@ -85,7 +85,7 @@ static struct bool_command bool_cmd_tbl[] = {
- 	{ { DEF_BOOL("pio-data"), dc_ata, DEF_HDIO(32BIT) },
- 	  "16-bit", "32-bit" },
- 	{ { DEF_BOOL("readonly"), dc_any, IOCNAME(BLKROGET), IOCNAME(BLKROSET) },
--	  DEF_BOOLSTR },
-+	  DEF_BOOLSTR, bc_arg_int_ptr },
- 	{ { DEF_BOOL("unmask-irq"), dc_ata, DEF_HDIO(UNMASKINTR) },
- 	  DEF_BOOLSTR },
- 	{ { "wcache", ct_bool, handle_wcache, dc_any,
-@@ -171,7 +171,14 @@ static void handle_bool(int argc, char **argv, struct command *cmd)
- 
- 	} else if ((argc == 4) && (cmd->write_ioctl_name != NULL)) {
- 		do_32 = parse_bool(argc, argv, bcm);
--		if (ioctl(blkdev, cmd->write_ioctl, do_32))
-+		
-+		int ret;
-+		if (bcm->arg_type == bc_arg_int_ptr) {
-+			ret = ioctl(blkdev, cmd->write_ioctl, &do_32);
-+		} else {
-+			ret = ioctl(blkdev, cmd->write_ioctl, do_32);
-+		}
-+		if (ret)
- 			pdie(cmd->write_ioctl_name, 1);
- 	}
- 	else {
-diff --git a/blktool.h b/blktool.h
-index fce4387..85add83 100644
---- a/blktool.h
-+++ b/blktool.h
-@@ -85,11 +85,18 @@ struct command {
- 	const char		*write_ioctl_name;
- };
- 
-+enum bc_arg_type {
-+	bc_arg_int,
-+	bc_arg_int_ptr,
-+};
-+
- struct bool_command {
- 	struct command		cmd;
- 
- 	const char		*str_false;
- 	const char		*str_true;
-+
-+	enum bc_arg_type arg_type;
- };
- 
- struct class_operations {
--- 
-2.1.4
-
diff --git a/poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch b/poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch
deleted file mode 100644
index 65bca65..0000000
--- a/poky/meta/recipes-extended/blktool/blktool/0004-fix-ftbfs-glibc-2.28.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Description: Fix FTBFS with glibc 2.28
-Author: Adrian Bunk <bunk@debian.org>
-Bug-Debian: https://bugs.debian.org/917055
-
-This patch is taken from
-http://ftp.debian.org/debian/pool/main/b/blktool/blktool_4-7.1.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---- blktool-4.orig/blktool.c
-+++ blktool-4/blktool.c
-@@ -18,6 +18,7 @@
- #include <unistd.h>
- #include <sys/stat.h>
- #include <sys/ioctl.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <getopt.h>
diff --git a/poky/meta/recipes-extended/blktool/blktool_4-7.1.bb b/poky/meta/recipes-extended/blktool/blktool_4-7.1.bb
deleted file mode 100644
index bb44bef..0000000
--- a/poky/meta/recipes-extended/blktool/blktool_4-7.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Tune low-level block device parameters"
-DESCRIPTION = "blktool is used for querying and/or changing settings \
-of a block device. It is like hdparm but a more general tool, as it \
-works on SCSI, IDE and SATA devices."
-HOMEPAGE = "http://packages.debian.org/unstable/admin/blktool"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://blktool.c;beginline=7;endline=8;md5=a5e798ea98fd50972088968a15e5f373"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/b/${BPN}/${BPN}_4.orig.tar.gz;name=tarball \
-           file://0001-fix-typos-in-manpage.patch \
-           file://0002-fix-string-error.patch \
-           file://0003-Fix-3-d-argument-for-BLKROSET-it-must-be-const-int.patch \
-           file://0004-fix-ftbfs-glibc-2.28.patch \
-          "
-
-SRC_URI[tarball.md5sum] = "62edc09c9908107e69391c87f4f3fd40"
-SRC_URI[tarball.sha256sum] = "b1e6d5912546d2a4b704ec65c2b9664aa3b4663e7d800e06803330335a2cb764"
-
-# for this package we're mostly interested in tracking debian patches,
-# and not in the upstream version where all development has effectively stopped
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/blktool/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
-
-S = "${WORKDIR}/${BPN}-4.orig"
-
-inherit autotools pkgconfig
diff --git a/poky/meta/recipes-extended/cracklib/cracklib_2.10.2.bb b/poky/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
similarity index 93%
rename from poky/meta/recipes-extended/cracklib/cracklib_2.10.2.bb
rename to poky/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
index 2c913da..c339652 100644
--- a/poky/meta/recipes-extended/cracklib/cracklib_2.10.2.bb
+++ b/poky/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \
            "
 
-SRCREV = "e5211fc1d2b435884a2bb77001e107489285296d"
+SRCREV = "e73d5db1789d198b5f9ec44b68b9c775c3e6c042"
 S = "${WORKDIR}/git/src"
 
 inherit autotools gettext
diff --git a/poky/meta/recipes-extended/gawk/gawk_5.3.1.bb b/poky/meta/recipes-extended/gawk/gawk_5.3.1.bb
index bd72fbf..724b561 100644
--- a/poky/meta/recipes-extended/gawk/gawk_5.3.1.bb
+++ b/poky/meta/recipes-extended/gawk/gawk_5.3.1.bb
@@ -11,7 +11,7 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-PACKAGECONFIG ??= "readline"
+PACKAGECONFIG ??= "readline mpfr"
 PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
 PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
 
diff --git a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
index 1e911e1..f21cfbd 100644
--- a/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/poky/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -12,7 +12,7 @@
 GO_IMPORT = "golang.org/x/example"
 GO_INSTALL = "${GO_IMPORT}/hello"
 
-export GO111MODULE="off"
+export GO111MODULE = "off"
 
 inherit go
 
diff --git a/poky/meta/recipes-extended/gzip/gzip.inc b/poky/meta/recipes-extended/gzip/gzip.inc
index 62b3e2f..12232dd 100644
--- a/poky/meta/recipes-extended/gzip/gzip.inc
+++ b/poky/meta/recipes-extended/gzip/gzip.inc
@@ -5,7 +5,7 @@
 SECTION = "console/utils"
 
 inherit autotools texinfo
-export DEFS="NO_ASM"
+export DEFS = "NO_ASM"
 
 EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
 EXTRA_OEMAKE:append:class-nativesdk = " GREP=grep"
@@ -30,4 +30,4 @@
 ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
 ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
 
-export CONFIG_SHELL="/bin/sh"
+export CONFIG_SHELL = "/bin/sh"
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.22.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.22.0.bb
index ac14f30..5c4a0a9 100644
--- a/poky/meta/recipes-extended/logrotate/logrotate_3.22.0.bb
+++ b/poky/meta/recipes-extended/logrotate/logrotate_3.22.0.bb
@@ -6,7 +6,7 @@
 
 # TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
 
-DEPENDS="coreutils popt"
+DEPENDS = "coreutils popt"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
diff --git a/poky/meta/recipes-extended/man-db/files/flex.patch b/poky/meta/recipes-extended/man-db/files/flex.patch
new file mode 100644
index 0000000..c18be7e
--- /dev/null
+++ b/poky/meta/recipes-extended/man-db/files/flex.patch
@@ -0,0 +1,36 @@
+From d3f7c160bddf5d879c74e19e4f577882e8b22559 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 22 Jan 2025 14:16:48 +0000
+Subject: [PATCH] configure: check for shipped generated sources in source
+ directory
+
+The configure script fails if it can't find flex and the pregenerated
+source code isn't available, as is the case in builds from git whereas
+tarballs include the code.
+
+However this breaks with out-of-tree builds, where cwd during configure
+is the build directory not the source directory, and the pregenerated
+sources will always be inside the source directory.
+
+Upstream-Status: Submitted [https://gitlab.com/man-db/man-db/-/merge_requests/12]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7e9148fb..49a213fd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -380,7 +380,7 @@ dnl To add more decompressors just follow the scheme above.
+ dnl The "noyywrap" argument is new in Autoconf 2.70, but this also works
+ dnl fine with older versions that ignore the argument.
+ AC_PROG_LEX([noyywrap])
+-if test "$LEX" = ":" && (test ! -e src/lexgrog.c || test ! -e src/zsoelim.c)
++if test "$LEX" = ":" && (test ! -e $srcdir/src/lexgrog.c || test ! -e $srcdir/src/zsoelim.c)
+ then
+ 	AC_MSG_ERROR([flex is required when building from revision control])
+ fi
+-- 
+2.43.0
+
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.13.0.bb b/poky/meta/recipes-extended/man-db/man-db_2.13.0.bb
index 2fa18a8..2178239 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.13.0.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.13.0.bb
@@ -8,6 +8,7 @@
                    "
 
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
+           file://flex.patch \
            file://99_mandb \
           "
 SRC_URI[sha256sum] = "82f0739f4f61aab5eb937d234de3b014e777b5538a28cbd31433c45ae09aefb9"
diff --git a/poky/meta/recipes-extended/man-pages/man-pages_6.9.1.bb b/poky/meta/recipes-extended/man-pages/man-pages_6.9.1.bb
index ba1a6c16c..8258874 100644
--- a/poky/meta/recipes-extended/man-pages/man-pages_6.9.1.bb
+++ b/poky/meta/recipes-extended/man-pages/man-pages_6.9.1.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
 SECTION = "console/utils"
 HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
-LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
+LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT"
 
 LIC_FILES_CHKSUM = "file://README;md5=72cff06b7954222c24d38bc2c41b234e \
                     file://LICENSES/BSD-2-Clause.txt;md5=9e16594a228301089d759b4f178db91f \
diff --git a/poky/meta/recipes-extended/pam/libpam_1.7.0.bb b/poky/meta/recipes-extended/pam/libpam_1.7.0.bb
index 53839e8..1be3c9e 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.7.0.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.7.0.bb
@@ -29,7 +29,7 @@
 
 DEPENDS = "bison-native flex-native libxml2-native virtual/crypt"
 
-EXTRA_OEMESON = "-Ddocs=disabled"
+EXTRA_OEMESON = "-Ddocs=disabled -Dsecuredir=${base_libdir}/security"
 
 S = "${WORKDIR}/Linux-PAM-${PV}"
 
@@ -45,7 +45,7 @@
     ${libdir}/lib*${SOLIBS} \
     ${nonarch_libdir}/tmpfiles.d/*.conf \
 "
-FILES:${PN}-dev += "${libdir}/security/*.la ${libdir}/*.la ${libdir}/lib*${SOLIBSDEV}"
+FILES:${PN}-dev += "${base_libdir}/security/*.la ${libdir}/*.la ${libdir}/lib*${SOLIBSDEV}"
 FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${nonarch_libdir}/systemd/system"
 FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
 
@@ -105,9 +105,9 @@
 
     mlprefix = d.getVar('MLPREFIX') or ''
     dvar = d.expand('${WORKDIR}/package')
-    pam_libdir = d.expand('${libdir}/security')
+    pam_libdir = d.expand('${base_libdir}/security')
     pam_sbindir = d.expand('${sbindir}')
-    pam_filterdir = d.expand('${libdir}/security/pam_filter')
+    pam_filterdir = d.expand('${base_libdir}/security/pam_filter')
     pam_pkgname = mlprefix + 'pam-plugin%s'
 
     do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
diff --git a/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
index 568268d..b7e4c8b 100644
--- a/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
+++ b/poky/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
@@ -23,5 +23,5 @@
 
 RDEPENDS:${PN}-ptest += "perl-module-test-more"
 
-BBCLASSEXTEND="native nativesdk"
+BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-extended/procps/procps/pidfd.patch b/poky/meta/recipes-extended/procps/procps/pidfd.patch
deleted file mode 100644
index 23d1a3c..0000000
--- a/poky/meta/recipes-extended/procps/procps/pidfd.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From c8f625e085b8249cc009e8b19c3a19100217eb35 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Thu, 25 Apr 2024 13:33:15 +0000
-Subject: [PATCH] Fix pidfd_open detection
-
-This check for pidfd_open uses AC_CHECK_FUNC which just runs the specified code, but 
-src/pgrep.c checks HAVE_PIDFD_OPEN which will only be defined by AC_CHECK_FUNCS.
-
-Also pidfd_open is defined in sys/pidfd.h so that needs including.
-
-Upstream-Status: Submitted [https://gitlab.com/procps-ng/procps/-/merge_requests/229]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
-
-diff --git a/configure.ac b/configure.ac
-index fec27e3f..024731c7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -170,7 +170,7 @@ AC_TRY_COMPILE([#include <errno.h>],
- 		AC_MSG_RESULT(yes),
- 		AC_MSG_RESULT(no))
- 
--AC_CHECK_FUNC([pidfd_open], [enable_pidwait=yes], [
-+AC_CHECK_FUNCS([pidfd_open], [enable_pidwait=yes], [
-   AC_MSG_CHECKING([for __NR_pidfd_open])
-   AC_COMPILE_IFELSE([AC_LANG_SOURCE([
- #include <sys/syscall.h>
-diff --git a/src/pgrep.c b/src/pgrep.c
-index d8e57dff..c5211aec 100644
---- a/src/pgrep.c
-+++ b/src/pgrep.c
-@@ -44,7 +44,9 @@
-
- #ifdef ENABLE_PIDWAIT
- #include <sys/epoll.h>
--#ifndef HAVE_PIDFD_OPEN
-+#ifdef HAVE_PIDFD_OPEN
-+#include <sys/pidfd.h>
-+#else
- #include <sys/syscall.h>
- #endif /* !HAVE_PIDFD_OPEN */
- #endif
diff --git a/poky/meta/recipes-extended/procps/procps_4.0.4.bb b/poky/meta/recipes-extended/procps/procps_4.0.5.bb
similarity index 97%
rename from poky/meta/recipes-extended/procps/procps_4.0.4.bb
rename to poky/meta/recipes-extended/procps/procps_4.0.5.bb
index b02f74b..3be40c3 100644
--- a/poky/meta/recipes-extended/procps/procps_4.0.4.bb
+++ b/poky/meta/recipes-extended/procps/procps_4.0.5.bb
@@ -14,9 +14,8 @@
 
 SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
            file://sysctl.conf \
-           file://pidfd.patch \
            "
-SRCREV = "4ddcef2fd843170c8e2d59a83042978f41037a2b"
+SRCREV = "f46b2f7929cdfe2913ed0a7f585b09d6adbf994e"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-extended/shadow/files/0001-lib-attr.h-use-C23-attributes-only-with-gcc-10.patch b/poky/meta/recipes-extended/shadow/files/0001-lib-attr.h-use-C23-attributes-only-with-gcc-10.patch
new file mode 100644
index 0000000..4e2d3a8
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0001-lib-attr.h-use-C23-attributes-only-with-gcc-10.patch
@@ -0,0 +1,29 @@
+From f2d8d96e8586772becd68593a5bd9e14632841af Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 7 Jan 2025 17:03:32 +0100
+Subject: [PATCH] lib/attr.h: use C23 attributes only with gcc >= 10
+
+These are not available on earlier versions and builds break there.
+
+Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/1172]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ lib/attr.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/attr.h b/lib/attr.h
+index 02c7e252..290514d8 100644
+--- a/lib/attr.h
++++ b/lib/attr.h
+@@ -5,7 +5,7 @@
+ #include "config.h"
+ 
+ 
+-#if defined(__GNUC__)
++#if defined(__GNUC__) && (__GNUC__ >= 10)
+ # define MAYBE_UNUSED                [[gnu::unused]]
+ # define NORETURN                    [[gnu::__noreturn__]]
+ # define format_attr(type, fmt, va)  [[gnu::format(type, fmt, va)]]
+-- 
+2.45.2
+
diff --git a/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
index cd99aad..699269e 100644
--- a/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
+++ b/poky/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
@@ -1,4 +1,4 @@
-From f512071dd3a4c29d4bf048c5a89c4ba9160e37b1 Mon Sep 17 00:00:00 2001
+From f7b765c022e4cad9140ac44712885c66e149abdc Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Thu, 17 Jul 2014 15:53:34 +0800
 Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env
@@ -20,10 +20,10 @@
  1 file changed, 12 insertions(+), 4 deletions(-)
 
 diff --git a/lib/commonio.c b/lib/commonio.c
-index 01a26c9..82b2868 100644
+index 4d83e83..9ee0e13 100644
 --- a/lib/commonio.c
 +++ b/lib/commonio.c
-@@ -601,10 +601,18 @@ int commonio_open (struct commonio_db *db, int mode)
+@@ -604,10 +604,18 @@ int commonio_open (struct commonio_db *db, int mode)
  	db->cursor = NULL;
  	db->changed = false;
  
diff --git a/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch b/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
index 1eacb8a..cb3baf4 100644
--- a/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
+++ b/poky/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
@@ -1,4 +1,4 @@
-From 38882ab288fd4d2cc2e45dff222ae3412c8fe357 Mon Sep 17 00:00:00 2001
+From eb17cd91d8e4d76ee95de9c0c9f4938ba2e3e82a Mon Sep 17 00:00:00 2001
 From: Kang Kai <kai.kang@windriver.com>
 Date: Wed, 20 Jul 2011 19:18:14 +0800
 Subject: [PATCH] shadow: update pam related configure files
diff --git a/poky/meta/recipes-extended/shadow/shadow_4.16.0.bb b/poky/meta/recipes-extended/shadow/shadow_4.16.0.bb
deleted file mode 100644
index e57676c..0000000
--- a/poky/meta/recipes-extended/shadow/shadow_4.16.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require shadow.inc
-
-# Build falsely assumes that if --enable-libpam is set, we don't need to link against
-# libcrypt. This breaks chsh.
-BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=884658
-CVE_STATUS[CVE-2013-4235] = "upstream-wontfix: Severity is low and marked as closed and won't fix."
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow_4.17.1.bb
similarity index 90%
rename from poky/meta/recipes-extended/shadow/shadow.inc
rename to poky/meta/recipes-extended/shadow/shadow_4.17.1.bb
index 6ba5a9c..7c89062 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow_4.17.1.bb
@@ -14,6 +14,7 @@
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
            file://useradd \
+           file://0001-lib-attr.h-use-C23-attributes-only-with-gcc-10.patch \
            "
 
 SRC_URI:append:class-target = " \
@@ -24,7 +25,8 @@
 SRC_URI:append:class-native = " \
            file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
            "
-SRC_URI[sha256sum] = "1744f339e07a2b41056347ddd612839762ff565d7e9494fb049428002fa2e7e0"
+SRC_URI[sha256sum] = "51a946bbce141c5de14b6d47cab167206cd685d2307e917611dbc1be46c84a18"
+UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
 
 # Additional Policy files for PAM
 PAM_SRC_URI = "file://pam.d/chfn \
@@ -37,7 +39,7 @@
 
 inherit autotools gettext github-releases pkgconfig
 
-export CONFIG_SHELL="/bin/sh"
+export CONFIG_SHELL = "/bin/sh"
 
 EXTRA_OECONF += " \
                  --with-group-name-max-length=24 \
@@ -181,7 +183,6 @@
     ${base_bindir}/su.shadow \
     ${bindir}/sg \
     ${bindir}/newgrp.shadow \
-    ${bindir}/groups.shadow \
     ${sysconfdir}/pam.d/login \
     ${sysconfdir}/pam.d/su \
     ${sysconfdir}/login.defs \
@@ -200,14 +201,13 @@
 ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
 ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
 
-ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1 groups.1 su.1 nologin.8"
+ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1 su.1 nologin.8"
 ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1"
 ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1"
-ALTERNATIVE_LINK_NAME[groups.1] = "${mandir}/man1/groups.1"
 ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
 ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
 
-ALTERNATIVE:${PN}-base = "newgrp groups login su"
+ALTERNATIVE:${PN}-base = "newgrp login su"
 ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
 ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
 
@@ -222,3 +222,12 @@
 	pwconv $rootarg || exit 1
 	grpconv $rootarg || exit 1
 }
+
+# Build falsely assumes that if --enable-libpam is set, we don't need to link against
+# libcrypt. This breaks chsh.
+BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=884658
+CVE_STATUS[CVE-2013-4235] = "upstream-wontfix: Severity is low and marked as closed and won't fix."
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.18.07.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.18.08.bb
similarity index 94%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.18.07.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.18.08.bb
index cc12edb..f779f6f 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.18.07.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.18.08.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
            "
-SRCREV = "27f1171ff0718e67eac0730df34cbfd97aca587b"
+SRCREV = "0b0317597016ea89498570ed2621ee5ebeea768c"
 S = "${WORKDIR}/git"
 
 DEPENDS = "coreutils-native libbsd"
diff --git a/poky/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch b/poky/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch
index e3e8f30..cf0529d 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch
+++ b/poky/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch
@@ -15,12 +15,12 @@
 index f733797..1013fcf 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -66,7 +66,7 @@ if HOST_IS_WINDOWS
+@@ -76,7 +76,7 @@
  endif
  endif
-   SUBDIRS += install-info po po_document tp Pod-Simple-Texinfo texindex util \
--             doc man
-+             doc
+   SUBDIRS += install-info po po_document tp Pod-Simple-Texinfo \
+-             texindex util doc man
++             texindex util doc
    SUBDIRS += js
  endif
  
diff --git a/poky/meta/recipes-extended/texinfo/texinfo_7.1.1.bb b/poky/meta/recipes-extended/texinfo/texinfo_7.2.bb
similarity index 94%
rename from poky/meta/recipes-extended/texinfo/texinfo_7.1.1.bb
rename to poky/meta/recipes-extended/texinfo/texinfo_7.2.bb
index cc8683f..784f67f 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo_7.1.1.bb
+++ b/poky/meta/recipes-extended/texinfo/texinfo_7.2.bb
@@ -34,7 +34,7 @@
            ${TARGET_PATCH} \
            "
 
-SRC_URI[sha256sum] = "a46b46b54fd79641a8af5be4ad525788956ccf9798d3113396abeafa9020ef63"
+SRC_URI[sha256sum] = "e86de7dfef6b352aa1bf647de3a6213d1567c70129eccbf8977706d9c91919c8"
 
 tex_texinfo = "texmf/tex/texinfo"
 
@@ -75,7 +75,7 @@
                   ${mandir}/man1/info.1* ${mandir}/man5/info.5* \
                   ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*"
 
-FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo"
+FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo ${datadir}/texi2any"
 RDEPENDS:${PN} = "perl"
 FILES:${PN}-doc = "${infodir}/texi* \
                    ${datadir}/${tex_texinfo} \
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
index adf0952..ca9e29f 100644
--- a/poky/meta/recipes-extended/timezone/timezone.inc
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -6,9 +6,9 @@
 LICENSE = "PD & BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
 
-PV = "2024b"
+PV = "2025a"
 
-SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \
+SRC_URI = "http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \
            http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \
            "
 
@@ -16,5 +16,5 @@
 
 UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
 
-SRC_URI[tzcode.sha256sum] = "5e438fc449624906af16a18ff4573739f0cda9862e5ec28d3bcb19cbaed0f672"
-SRC_URI[tzdata.sha256sum] = "70e754db126a8d0db3d16d6b4cb5f7ec1e04d5f261255e4558a67fe92d39e550"
+SRC_URI[tzcode.sha256sum] = "119679d59f76481eb5e03d3d2a47d7870d592f3999549af189dbd31f2ebf5061"
+SRC_URI[tzdata.sha256sum] = "4d5fcbc72c7c450ebfe0b659bd0f1c02fbf52fd7f517a9ea13fe71c21eb5f0d0"
diff --git a/poky/meta/recipes-extended/timezone/tzcode-native.bb b/poky/meta/recipes-extended/timezone/tzcode-native.bb
index d0b23a9..dc9f076 100644
--- a/poky/meta/recipes-extended/timezone/tzcode-native.bb
+++ b/poky/meta/recipes-extended/timezone/tzcode-native.bb
@@ -4,7 +4,7 @@
 
 inherit native
 
-EXTRA_OEMAKE += "cc='${CC}'"
+EXTRA_OEMAKE += "CC='${CC}'"
 
 do_install () {
         install -d ${D}${bindir}/
diff --git a/poky/meta/recipes-gnome/gtk+/gtk4_4.16.7.bb b/poky/meta/recipes-gnome/gtk+/gtk4_4.16.12.bb
similarity index 97%
rename from poky/meta/recipes-gnome/gtk+/gtk4_4.16.7.bb
rename to poky/meta/recipes-gnome/gtk+/gtk4_4.16.12.bb
index 2631c14..d8d37a5 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk4_4.16.7.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk4_4.16.12.bb
@@ -38,7 +38,7 @@
 UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
-SRC_URI[sha256sum] = "5303c7624e15a48880591b9ddd43389afba3de4fb92a219719519bb1642ce3dc"
+SRC_URI[sha256sum] = "ef31bdbd6f082c4401634a20c850b0050c9bf252ef1e079764ee95a2a0c4c95a"
 
 S = "${WORKDIR}/gtk-${PV}"
 
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.10.0.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.10.6.bb
similarity index 92%
rename from poky/meta/recipes-gnome/json-glib/json-glib_1.10.0.bb
rename to poky/meta/recipes-gnome/json-glib/json-glib_1.10.6.bb
index 332e8b6..8b009bc 100644
--- a/poky/meta/recipes-gnome/json-glib/json-glib_1.10.0.bb
+++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.10.6.bb
@@ -19,7 +19,7 @@
 GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
 
 SRC_URI += " file://run-ptest"
-SRC_URI[archive.sha256sum] = "1bca8d66d96106ecc147df3133b95a5bb784f1fa6f15d06dd7c1a8fb4a10af7b"
+SRC_URI[archive.sha256sum] = "77f4bcbf9339528f166b8073458693f0a20b77b7059dbc2db61746a1928b0293"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native python3-docutils-native"
diff --git a/poky/meta/recipes-gnome/libadwaita/libadwaita_1.6.2.bb b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.6.2.bb
index 8cb3281..d24025a 100644
--- a/poky/meta/recipes-gnome/libadwaita/libadwaita_1.6.2.bb
+++ b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.6.2.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Building blocks for modern GNOME applications"
 HOMEPAGE = "https://gitlab.gnome.org/GNOME/libadwaita"
-LICENSE="LGPL-2.1-or-later"
+LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
 DEPENDS = " \
diff --git a/poky/meta/recipes-gnome/libportal/libportal_0.8.1.bb b/poky/meta/recipes-gnome/libportal/libportal_0.9.0.bb
similarity index 94%
rename from poky/meta/recipes-gnome/libportal/libportal_0.8.1.bb
rename to poky/meta/recipes-gnome/libportal/libportal_0.9.0.bb
index 0b88de4..96c25b1 100644
--- a/poky/meta/recipes-gnome/libportal/libportal_0.8.1.bb
+++ b/poky/meta/recipes-gnome/libportal/libportal_0.9.0.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404"
 
 SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main"
-SRCREV = "26c15008cbe579f57f89468384f8efc033f25f6f"
+SRCREV = "731e7410fa5765e7c4eb76a51140a19637620c13"
 S = "${WORKDIR}/git"
 
 inherit meson gi-docgen gobject-introspection vala features_check pkgconfig
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch b/poky/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch
index 87ab8a3..1bd49bb 100644
--- a/poky/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch
+++ b/poky/meta/recipes-gnome/libsecret/libsecret/0001-meson-add-option-to-disable-pam-tests.patch
@@ -3,7 +3,7 @@
 Date: Tue, 3 Dec 2024 15:58:17 +0100
 Subject: [PATCH] meson: add option to disable pam tests
 
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/151/commits]
+Upstream-Status: Denied [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/151]
 
 Signed-off-by: Markus Volk <f_l_k@t-online.de>
 ---
diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_aux.c-address-procps-4.0.5-compatibility.patch b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_aux.c-address-procps-4.0.5-compatibility.patch
new file mode 100644
index 0000000..7db773f
--- /dev/null
+++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_aux.c-address-procps-4.0.5-compatibility.patch
@@ -0,0 +1,30 @@
+From 173cdf607bf39c13eb4d4b0dadcb9dc6add76014 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 7 Jan 2025 09:54:07 +0100
+Subject: [PATCH] lib/igt_aux.c: address procps 4.0.5 compatibility
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/164]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ lib/igt_aux.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/igt_aux.c b/lib/igt_aux.c
+index 3407cc4f2..7028d3f57 100644
+--- a/lib/igt_aux.c
++++ b/lib/igt_aux.c
+@@ -1358,10 +1358,10 @@ static bool get_process_ids(struct igt_process *prcs)
+ 	prcs->comm = NULL;
+ 	prcs->stack = procps_pids_get(prcs->info, PIDS_FETCH_TASKS_ONLY);
+ 	if (prcs->stack) {
+-		prcs->tid = PIDS_VAL(EU_PID, s_int, prcs->stack, prcs->info);
+-		prcs->euid = PIDS_VAL(EU_EUID, s_int, prcs->stack, prcs->info);
+-		prcs->egid = PIDS_VAL(EU_EGID, s_int, prcs->stack, prcs->info);
+-		prcs->comm = PIDS_VAL(EU_CMD, str, prcs->stack, prcs->info);
++		prcs->tid = PIDS_VAL(EU_PID, s_int, prcs->stack);
++		prcs->euid = PIDS_VAL(EU_EUID, s_int, prcs->stack);
++		prcs->egid = PIDS_VAL(EU_EGID, s_int, prcs->stack);
++		prcs->comm = PIDS_VAL(EU_CMD, str, prcs->stack);
+ 	}
+ #endif
+ 	return prcs->tid != 0;
diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.29.bb b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb
similarity index 90%
rename from poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.29.bb
rename to poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb
index 323c89e..dad752c 100644
--- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.29.bb
+++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.30.bb
@@ -9,9 +9,11 @@
 
 inherit meson pkgconfig
 
-SRCREV = "fc3113c8c1e99797b2d4769aaf02265be64a7589"
+SRCREV = "edf352a96646c8d793f0c1eb11795112f9bde725"
 
-SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;branch=master"
+SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https;branch=master \
+           file://0001-lib-igt_aux.c-address-procps-4.0.5-compatibility.patch \
+           "
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.10.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.11.bb
similarity index 95%
rename from poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.10.bb
rename to poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.11.bb
index 4ee8b67..ab6751d 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.10.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.30.11.bb
@@ -9,7 +9,7 @@
 
 LICENSE = "Zlib & BSD-2-Clause"
 LIC_FILES_CHKSUM = "\
-    file://LICENSE.txt;md5=25231a5b96ccdd8f39eb53c07717be64 \
+    file://LICENSE.txt;md5=cbf0e3161523f9a9315b6b915c5c4457 \
     file://src/hidapi/LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077 \
     file://src/hidapi/LICENSE-bsd.txt;md5=b5fa085ce0926bb50d0621620a82361f \
     file://src/video/yuv2rgb/LICENSE;md5=79f8f3418d91531e05f0fc94ca67e071 \
@@ -25,7 +25,7 @@
 
 S = "${WORKDIR}/SDL2-${PV}"
 
-SRC_URI[sha256sum] = "f59adf36a0fcf4c94198e7d3d776c1b3824211ab7aeebeb31fe19836661196aa"
+SRC_URI[sha256sum] = "8b8d4aef2038533da814965220f88f77d60dfa0f32685f80ead65e501337da7f"
 
 inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
 
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 9fdf496..a3f7a07 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -112,10 +112,10 @@
 VULKAN_DRIVERS:append:x86-64 = ",intel,amd"
 # i686 is a 32 bit override for mesa-native
 VULKAN_DRIVERS:append:i686 = ",intel,amd"
-VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
-VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
-VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
-VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
+VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
+VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
+VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',swrast', '', d)}"
+VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
 PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
 
 # mesa development and testing tools support, per driver
@@ -165,12 +165,12 @@
 # i686 is a 32 bit override for mesa-native
 GALLIUMDRIVERS:append:i686 = ",i915,iris,crocus"
 
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
 
 # radeonsi requires LLVM
 GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
@@ -196,13 +196,13 @@
 PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
 
 PACKAGECONFIG[lima] = ""
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
 
 PACKAGECONFIG[panfrost] = ""
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
 
 PACKAGECONFIG[tegra] = ""
-GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
 
 PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
 
@@ -233,6 +233,11 @@
 # development package of libgles3.
 RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev"
 
+# GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa.
+# Add a dependency so the GLES3 dev package is associated with its implementation.
+RDEPENDS:libgles2-mesa += "libgles3-mesa"
+ALLOW_EMPTY:libgles3-mesa = "1"
+
 RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}"
 
 PACKAGES =+ "libegl-mesa libegl-mesa-dev \
diff --git a/poky/meta/recipes-graphics/pango/pango_1.55.0.bb b/poky/meta/recipes-graphics/pango/pango_1.55.5.bb
similarity index 93%
rename from poky/meta/recipes-graphics/pango/pango_1.55.0.bb
rename to poky/meta/recipes-graphics/pango/pango_1.55.5.bb
index 48f06c7..6c72422 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.55.0.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.55.5.bb
@@ -18,7 +18,7 @@
 GIR_MESON_ENABLE_FLAG = "enabled"
 GIR_MESON_DISABLE_FLAG = "disabled"
 
-SRC_URI[archive.sha256sum] = "a2c17a8dc459a7267b8b167bb149d23ff473b6ff9d5972bee047807ee2220ccf"
+SRC_URI[archive.sha256sum] = "e396126ea08203cbd8ef12638e6222e2e1fd8aa9cac6743072fedc5f2d820dd8"
 
 DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
 
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-do-not-obtain-wayland-scanner-path-fr.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-do-not-obtain-wayland-scanner-path-fr.patch
index 0c872d3..c7e6a68 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-do-not-obtain-wayland-scanner-path-fr.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-do-not-obtain-wayland-scanner-path-fr.patch
@@ -1,4 +1,4 @@
-From 2af98d67e16e083c36e3193aefbda942399a455a Mon Sep 17 00:00:00 2001
+From ae76c836d98320dacb00616e19af93ac20c48825 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Fri, 23 Aug 2024 15:29:45 +0200
 Subject: [PATCH] CMakeLists.txt: do not obtain wayland-scanner path from
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
index cfdfeb6..8b7da9f 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Fix-narrowing-errors-seen-with-clang.patch
@@ -1,4 +1,4 @@
-From 70f8d56bf9db9d85f3d197ab9de972e3a514514c Mon Sep 17 00:00:00 2001
+From e1d84dc54b0eca3cef1136264dbbceb9ea19524c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 3 May 2023 21:59:43 -0700
 Subject: [PATCH] tests: Fix narrowing errors seen with clang
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-egl-spec-make-egl_ext_surface_compression-cond.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-egl-spec-make-egl_ext_surface_compression-cond.patch
index 69cc302..d68e9d4 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-egl-spec-make-egl_ext_surface_compression-cond.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-egl-spec-make-egl_ext_surface_compression-cond.patch
@@ -1,4 +1,4 @@
-From 0c97d5eacae4f584313c9251e585bb0246cceffc Mon Sep 17 00:00:00 2001
+From e23bacb04ff77f86e56d6684451e5e93b59f1b0a Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Fri, 22 Nov 2024 22:52:31 +0100
 Subject: [PATCH] tests/egl/spec: make egl_ext_surface_compression conditional
@@ -20,7 +20,7 @@
  2 files changed, 4 insertions(+), 3 deletions(-)
 
 diff --git a/tests/egl/spec/egl_ext_surface_compression/CMakeLists.gles3.txt b/tests/egl/spec/egl_ext_surface_compression/CMakeLists.gles3.txt
-index d9540bcfde27..01a70164f444 100644
+index d9540bcfd..01a70164f 100644
 --- a/tests/egl/spec/egl_ext_surface_compression/CMakeLists.gles3.txt
 +++ b/tests/egl/spec/egl_ext_surface_compression/CMakeLists.gles3.txt
 @@ -2,10 +2,12 @@ link_libraries(
@@ -39,7 +39,7 @@
  
  # vim: ft=cmake:
 diff --git a/tests/egl/spec/egl_ext_surface_compression/create_surface.c b/tests/egl/spec/egl_ext_surface_compression/create_surface.c
-index e3d55d4331fb..35f13fd007b4 100644
+index e3d55d433..35f13fd00 100644
 --- a/tests/egl/spec/egl_ext_surface_compression/create_surface.c
 +++ b/tests/egl/spec/egl_ext_surface_compression/create_surface.c
 @@ -25,7 +25,6 @@
@@ -50,6 +50,3 @@
  #include "../../egl-wayland.h"
  
  static enum piglit_result
--- 
-2.39.5
-
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch b/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
index 17bcbce..a934d48 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch
@@ -1,4 +1,4 @@
-From 9b2c2213a2d7aaea350649ee031e227b44343428 Mon Sep 17 00:00:00 2001
+From 6810358403b2de577d76cab80a4e39da77c5c442 Mon Sep 17 00:00:00 2001
 From: Pascal Bach <pascal.bach@siemens.com>
 Date: Thu, 4 Oct 2018 14:43:17 +0200
 Subject: [PATCH] cmake: use proper WAYLAND_INCLUDE_DIRS variable
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch b/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
index 767e93c..fa9cad3 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch
@@ -1,4 +1,4 @@
-From 3d621cf028acb3b464759abb72a38102844079b2 Mon Sep 17 00:00:00 2001
+From d18b10cde60f209375e79db480c46489d483c7f2 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 10 Nov 2020 17:13:50 +0000
 Subject: [PATCH] tests/util/piglit-shader.c: do not hardcode build path into
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 3e950ff..c4091ee 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -15,7 +15,7 @@
            "
 UPSTREAM_CHECK_COMMITS = "1"
 
-SRCREV = "d04d6fff00849a2a8e29ef3251c6ca04a2f68dc7"
+SRCREV = "631b72944f56e688f56a08d26c8a9f3988801a08"
 # (when PV goes above 1.0 remove the trailing r)
 PV = "1.0+gitr"
 
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.38.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.39.bb
similarity index 86%
rename from poky/meta/recipes-graphics/wayland/wayland-protocols_1.38.bb
rename to poky/meta/recipes-graphics/wayland/wayland-protocols_1.39.bb
index 3e628ab..82c373d 100644
--- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.38.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.39.bb
@@ -10,7 +10,7 @@
                     file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
 
 SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
-SRC_URI[sha256sum] = "ff17292c05159d2b20ce6cacfe42d7e31a28198fa1429a769b03af7c38581dbe"
+SRC_URI[sha256sum] = "e1dcdcbbf08e2e0a8a02ee5d9a0be3a6aafc39a4b51fa7e0d2f1a16411cb72fa"
 
 UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
 UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)"
@@ -21,7 +21,5 @@
 
 EXTRA_OEMESON += "-Dtests=false"
 
-FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
-
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-graphics/wayland/weston_14.0.1.bb b/poky/meta/recipes-graphics/wayland/weston_14.0.1.bb
index 50749d7..2a0a403 100644
--- a/poky/meta/recipes-graphics/wayland/weston_14.0.1.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_14.0.1.bb
@@ -31,7 +31,7 @@
 
 WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
 
-EXTRA_OEMESON += "-Dpipewire=false"
+EXTRA_OEMESON += "-Dpipewire=false -Dtests=false"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
@@ -72,7 +72,7 @@
 # Weston with systemd support
 PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
 # Weston with Xwayland support (requires X11 and Wayland)
-PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xcb-util-cursor xwayland"
+PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xwayland"
 # Clients support
 PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
 # Virtual remote output with GStreamer on DRM backend
@@ -137,7 +137,7 @@
 
 RDEPENDS:${PN} += "xkeyboard-config"
 RRECOMMENDS:${PN} = "weston-init liberation-fonts"
-RRECOMMENDS:${PN}-dev += "wayland-protocols"
+RDEPENDS:${PN}-dev += "wayland-protocols-dev"
 
 USERADD_PACKAGES = "${PN}"
 GROUPADD_PARAM:${PN} = "--system weston-launch"
diff --git a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.2.bb b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.3.bb
similarity index 89%
rename from poky/meta/recipes-graphics/xorg-app/xinit_1.4.2.bb
rename to poky/meta/recipes-graphics/xorg-app/xinit_1.4.3.bb
index 8a8367c..519a9fc 100644
--- a/poky/meta/recipes-graphics/xorg-app/xinit_1.4.2.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xinit_1.4.3.bb
@@ -16,7 +16,7 @@
 
 SRC_URI_EXT = "xz"
 
-SRC_URI[sha256sum] = "b7d8dc8d22ef9f15985a10b606ee4f2aad6828befa437359934647e88d331f23"
+SRC_URI[sha256sum] = "86409f21a6a31148d2c1c17bf5f2d904eb5ef455f9dc67c49fbd0c10ab18fd5a"
 
 EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie \
                 --with-xterm=x-terminal-emulator"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.10.0.bb
similarity index 86%
rename from poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb
rename to poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.10.0.bb
index 8e44629..09b6f6c 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.10.0.bb
@@ -10,7 +10,7 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398"
 
-SRC_URI[sha256sum] = "b8fa4aab913fc63754bbd6439e020658c412743a055201ddf212760593962c38"
+SRC_URI[sha256sum] = "e0c26adb068edd0869f87a87f5e9127922d61c0265d7692a247a91a5cc1bb5c2"
 
 DEPENDS += "libxi mtdev libxtst libevdev"
 
diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb
index 0c65927..6ad112a 100644
--- a/poky/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb
+++ b/poky/meta/recipes-graphics/xorg-font/font-util_1.4.1.bb
@@ -2,7 +2,7 @@
 
 require xorg-font-common.inc
 
-LICENSE = "Unicode-TOU & BSD-4-Clause & BSD-2-Clause"
+LICENSE = "Unicode-TOU & MIT & X11 & BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2a9e705c00e463c8d294f90486852e06 \
                     file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \
                     file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \
diff --git a/poky/meta/recipes-graphics/xorg-lib/libice_1.1.1.bb b/poky/meta/recipes-graphics/xorg-lib/libice_1.1.2.bb
similarity index 90%
rename from poky/meta/recipes-graphics/xorg-lib/libice_1.1.1.bb
rename to poky/meta/recipes-graphics/xorg-lib/libice_1.1.2.bb
index d5e3d28..f38bbfc 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libice_1.1.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libice_1.1.2.bb
@@ -20,7 +20,7 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "03e77afaf72942c7ac02ccebb19034e6e20f456dcf8dddadfeb572aa5ad3e451"
+SRC_URI[sha256sum] = "974e4ed414225eb3c716985df9709f4da8d22a67a2890066bc6dfc89ad298625"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.4.bb b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.5.bb
similarity index 84%
rename from poky/meta/recipes-graphics/xorg-lib/libsm_1.2.4.bb
rename to poky/meta/recipes-graphics/xorg-lib/libsm_1.2.5.bb
index ab03072..52cca2b 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libsm_1.2.5.bb
@@ -9,7 +9,7 @@
 require xorg-lib-common.inc
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb37f44e02bdbde80546024400728d"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e04a412a93c7cb2b5e07ebd8fd922917"
 
 DEPENDS += "libice xorgproto xtrans"
 
@@ -22,7 +22,7 @@
 
 XORG_PN = "libSM"
 
-SRC_URI[sha256sum] = "fdcbe51e4d1276b1183da77a8a4e74a137ca203e0bcfb20972dd5f3347e97b84"
+SRC_URI[sha256sum] = "2af9e12da5ef670dc3a7bce1895c9c0f1bfb0cb9e64e8db40fcc33f883bd20bc"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.8.4.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.8.4.bb
index 2131f46..4286e0c 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.8.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.8.4.bb
@@ -1,11 +1,6 @@
 SUMMARY = "Xlib: Compose data files for libx11"
 DESCRIPTION = "This package provides the compose data files for libx11."
 
-python () {
-    if bb.utils.contains('DISTRO_FEATURES', 'x11', True, False, d):
-        raise bb.parse.SkipRecipe("libx11-compose-data is incompatible with x11 distro feature, use libx11 instead.")
-}
-
 require xorg-lib-common.inc
 
 LICENSE = "MIT & BSD-1-Clause & HPND & HPND-sell-variant & ISC"
@@ -19,6 +14,7 @@
 SRC_URI[sha256sum] = "c9a287a5aefa9804ce3cfafcf516fe96ed3f7e8e45c0e2ee59e84c86757df518"
 
 REQUIRED_DISTRO_FEATURES = ""
+CONFLICT_DISTRO_FEATURES = "x11"
 
 EXTRA_OECONF += "--disable-xkb"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.11.bb b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.12.bb
similarity index 83%
rename from poky/meta/recipes-graphics/xorg-lib/libxau_1.0.11.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxau_1.0.12.bb
index f1b492c..b52b289 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.11.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxau_1.0.12.bb
@@ -20,4 +20,4 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "f3fa3282f5570c3f6bd620244438dbfbdd580fc80f02f549587a0f8ab329bbeb"
+SRC_URI[sha256sum] = "74d0e4dfa3d39ad8939e99bda37f5967aba528211076828464d2777d477fc0fb"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
similarity index 91%
rename from poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
index e62fabd..91537b0 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
@@ -7,7 +7,7 @@
 SECTION = "x11/libs"
 
 SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master"
-SRCREV = "d9ca87eea9eecddaccc3a77227bcb3acf84e89df"
+SRCREV = "dd8631c61465cc0de5e476c7a98e56528d62b163"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.7.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.7.bb
index bf0c7d0..bf49d72 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.7.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.7.bb
@@ -6,7 +6,7 @@
 
 require xorg-lib-common.inc
 
-LICENSE = "MIT & MIT & BSD-4-Clause & BSD-2-Clause"
+LICENSE = "MIT & MIT & BSD-4-Clause-UC & BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a5d1388c9d40be70dbad35fa440443f7"
 
 DEPENDS += "freetype xtrans xorgproto libfontenc zlib"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
index 40cf616..d87ff66 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.7.0.bb
@@ -31,9 +31,9 @@
     do_split_packages(d, d.expand('${libdir}'), r'^(lib.*)\.so\.*', '%s', '%s library', extra_depends='', allow_links=True)
 }
 
-# Fix a following runtime error:
+# Recommended to fix a possible runtime error:
 # xkbcommon: ERROR: couldn't find a Compose file for locale "C"
-RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
+RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
 
 BBCLASSEXTEND += "native"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb b/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.12.bb
similarity index 87%
rename from poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.12.bb
index e138764..e946d9d 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.11.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxrender_0.9.12.bb
@@ -18,5 +18,5 @@
 XORG_PN = "libXrender"
 
 BBCLASSEXTEND = "native nativesdk"
-SRC_URI[sha256sum] = "bc53759a3a83d1ff702fb59641b3d2f7c56e05051fa0cfa93501166fa782dc24"
+SRC_URI[sha256sum] = "b832128da48b39c8d608224481743403ad1691bf4e554e4be9c174df171d1b97"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch b/poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch
deleted file mode 100644
index 3e87794..0000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5827f6389a227157958d14a687fb29223cb3a03a Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Wed, 7 Apr 2021 07:48:42 +0000
-Subject: [PATCH] xshmfence_futex.h: Define SYS_futex if it does not exist
-
-_NR_futex is not defines by newer architectures e.g. riscv32 as
-they only have 64bit variant of time_t. Glibc defines SYS_futex
-interface based on __NR_futex, since this is used in applications,
-such applications start to fail to build for these newer architectures.
-This patch defines a fallback to alias __NR_futex to __NR_futex_time64
-to make SYS_futex keep working.
-
-Reference: https://git.openembedded.org/openembedded-core/commit/?id=7a218adf9990f5e18d0b6a33eb34091969f979c7
-
-Upstream-Status: Pending
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/xshmfence_futex.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h
-index 673ac0e..a71efa5 100644
---- a/src/xshmfence_futex.h
-+++ b/src/xshmfence_futex.h
-@@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) {
- #include <sys/time.h>
- #include <sys/syscall.h>
- 
-+#if !defined(SYS_futex) && defined(SYS_futex_time64)
-+#define SYS_futex SYS_futex_time64
-+#endif
-+
- static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3)
- {
- 	return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
--- 
-2.29.2
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.2.bb b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.3.bb
similarity index 73%
rename from poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.2.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.3.bb
index 0a7da93..5b5ecd5 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.3.bb
@@ -13,8 +13,6 @@
 
 EXTRA_OECONF += "--with-shared-memory-dir=/dev/shm"
 
-SRC_URI += "file://0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch"
-
-SRC_URI[sha256sum] = "870df257bc40b126d91b5a8f1da6ca8a524555268c50b59c0acd1a27f361606f"
+SRC_URI[sha256sum] = "d4a4df096aba96fea02c029ee3a44e11a47eb7f7213c1a729be83e85ec3fde10"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch b/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
index ff8c675..79ae929 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
+++ b/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
@@ -1,4 +1,4 @@
-From f069b0a430fe96f3ece2106d34375008833599d3 Mon Sep 17 00:00:00 2001
+From c2916117aa09b7110ab1883e4295330ca7675e88 Mon Sep 17 00:00:00 2001
 From: Nitin A Kamble <nitin.a.kamble@intel.com>
 Date: Fri, 2 Dec 2011 12:20:05 -0800
 Subject: [PATCH] libxt: fix compilatoin with x32 toolchain
@@ -9,21 +9,20 @@
 
 Received this patch from H.J. Lu <hjl.tools@gmail.com>
 Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/1
-
 ---
  include/X11/Xtos.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/include/X11/Xtos.h b/include/X11/Xtos.h
-index 64b2da8..44f52c2 100644
+index 599dbe2..1686063 100644
 --- a/include/X11/Xtos.h
 +++ b/include/X11/Xtos.h
-@@ -59,7 +59,7 @@ SOFTWARE.
+@@ -63,7 +63,7 @@ SOFTWARE.
      defined(__sparc64__) || \
      defined(__s390x__) || \
      (defined(__hppa__) && defined(__LP64__)) || \
 -    defined(__amd64__) || defined(amd64) || \
-+    ((defined(__amd64__) || defined(amd64)) && defined(__LP64__)) || \
-     defined(__powerpc64__) || \
-     (defined(sgi) && (_MIPS_SZLONG == 64))
++    defined(__amd64__) || defined(amd64) && defined(__LP64__)) || \
+     defined(__powerpc64__))
  #define LONG64
+ #endif
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt_1.3.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxt_1.3.1.bb
similarity index 91%
rename from poky/meta/recipes-graphics/xorg-lib/libxt_1.3.0.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxt_1.3.1.bb
index 1805dae..97323ad 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxt_1.3.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxt_1.3.1.bb
@@ -25,7 +25,7 @@
 
 SRC_URI += "file://libxt_fix_for_x32.patch"
 
-SRC_URI[sha256sum] = "52820b3cdb827d08dc90bdfd1b0022a3ad8919b57a39808b12591973b331bf91"
+SRC_URI[sha256sum] = "e0a774b33324f4d4c05b199ea45050f87206586d81655f8bef4dba434d931288"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.12.bb b/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.13.bb
similarity index 84%
rename from poky/meta/recipes-graphics/xorg-lib/libxv_1.0.12.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxv_1.0.13.bb
index 7f9c5e5..659bae9 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.12.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxv_1.0.13.bb
@@ -14,5 +14,5 @@
 
 XORG_PN = "libXv"
 
-SRC_URI[sha256sum] = "aaf7fa09f689f7a2000fe493c0d64d1487a1210db154053e9e2336b860c63848"
+SRC_URI[sha256sum] = "7d34910958e1c1f8d193d828fea1b7da192297280a35437af0692f003ba03755"
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.6.bb
similarity index 85%
rename from poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb
rename to poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.6.bb
index 16fd29e..bde3ad3 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.5.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxxf86vm_1.1.6.bb
@@ -15,6 +15,6 @@
 PE = "1"
 
 XORG_PN = "libXxf86vm"
-SRC_URI[sha256sum] = "247fef48b3e0e7e67129e41f1e789e8d006ba47dba1c0cdce684b9b703f888e7"
+SRC_URI[sha256sum] = "96af414c73ce1d5449ad04be7f9f27fa8330f844b6dda843ef22e3e1befb3ee3"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/xcb-util-errors_1.0.1.bb b/poky/meta/recipes-graphics/xorg-lib/xcb-util-errors_1.0.1.bb
index dd76275..1f6e63d 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xcb-util-errors_1.0.1.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xcb-util-errors_1.0.1.bb
@@ -4,7 +4,7 @@
 
 DEPENDS += "xcb-util xorgproto"
 
-export PYTHON="python3"
+export PYTHON = "python3"
 
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c90ee77011043c608617f5323a523726"
diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
index 3f56e21..d79dc23 100644
--- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
+++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2024.1.bb
@@ -17,7 +17,7 @@
 PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false"
 
 # Datadir only used to install pc files, $datadir/pkgconfig
-datadir="${libdir}"
+datadir = "${libdir}"
 # ${PN} is empty so we need to tweak -dev and -dbg package dependencies
 DEV_PKG_DEPENDENCY = ""
 RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.14.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.15.bb
similarity index 91%
rename from poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.14.bb
rename to poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.15.bb
index 28c98eb..080e6d2 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.14.bb
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.15.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] = "8f2102cebdc4747d1656c1099ef610f5063c7422c24a177e300de569b354ee35"
+SRC_URI[sha256sum] = "841c82901282902725762df03adbbcd68153d4cdfb0d61df0cfd73ad677ae089"
 
 # These extensions are now integrated into the server, so declare the migration
 # path for in-place upgrades.
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.14.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.14.bb
index 6fb7567..88d76c9 100644
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.14.bb
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-module_1.14.bb
@@ -7,7 +7,7 @@
 # Header file provided by a separate package
 DEPENDS += "cryptodev-linux"
 
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
+EXTRA_OEMAKE = 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
 
 RCONFLICTS:${PN} = "ocf-linux"
 RREPLACES:${PN} = "ocf-linux"
diff --git a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.14.bb b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.14.bb
index f6a286e..2cbee8a 100644
--- a/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.14.bb
+++ b/poky/meta/recipes-kernel/cryptodev/cryptodev-tests_1.14.bb
@@ -4,7 +4,7 @@
 
 DEPENDS += "openssl"
 
-EXTRA_OEMAKE='KERNEL_DIR="${STAGING_EXECPREFIXDIR}" PREFIX="${D}"'
+EXTRA_OEMAKE = 'KERNEL_DIR="${STAGING_EXECPREFIXDIR}" PREFIX="${D}"'
 
 do_compile() {
 	oe_runmake tests
diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 01c5030..9f30be0 100644
--- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -11,7 +11,7 @@
 
 DEPENDS += "git-replacement-native"
 
-SRCREV = "df5de61e6e52a24b7851b68cb8dd1e226ac1fb69"
+SRCREV = "bfca22a52ec54c77ed0d34a56338bc1fe0a3b0db"
 PV = "0.3+git"
 
 inherit native
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20241210.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb
similarity index 78%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20241210.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb
index d3757b5..3d22b25 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20241210.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20250109.bb
@@ -158,7 +158,7 @@
                     "
 # WHENCE checksum is defined separately to ease overriding it if
 # class-devupstream is selected.
-WHENCE_CHKSUM  = "0b30c661e226decdac3acd31d83517e0"
+WHENCE_CHKSUM  = "c90a25ccbd027eb8d61b2943ab68447c"
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
 # so that the license files will be copied from fetched source
@@ -247,7 +247,7 @@
 # Pin this to the 20220509 release, override this in local.conf
 SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
 
-SRC_URI[sha256sum] = "2bb035708576d076f97d4196a1c22e0a4d33fbb0210d05428d0bf4f243e99af5"
+SRC_URI[sha256sum] = "a12cb38f4793394bf56c6702be29b6e4f09deca0714943bba98a492030651570"
 
 inherit allarch
 
@@ -259,6 +259,9 @@
 # Possible values are "xz" and "zst".
 FIRMWARE_COMPRESSION ?= ""
 
+# Specifying -j requires GNU parallel, which is a part of meta-oe
+PARALLEL_MAKE = ""
+
 def fw_compr_suffix(d):
     compr = d.getVar('FIRMWARE_COMPRESSION')
     if compr == '':
@@ -287,6 +290,32 @@
              ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \
              ${PN}-radeon-license ${PN}-radeon \
              ${PN}-amdgpu-license ${PN}-amdgpu \
+             ${PN}-amdgpu-aldebaran \
+             ${PN}-amdgpu-carrizo \
+             ${PN}-amdgpu-cezanne \
+             ${PN}-amdgpu-fiji \
+             ${PN}-amdgpu-hawaii \
+             ${PN}-amdgpu-navi10 \
+             ${PN}-amdgpu-navi14 \
+             ${PN}-amdgpu-navi21 \
+             ${PN}-amdgpu-navi22 \
+             ${PN}-amdgpu-navi23 \
+             ${PN}-amdgpu-navi24 \
+             ${PN}-amdgpu-navi31 \
+             ${PN}-amdgpu-navi32 \
+             ${PN}-amdgpu-oland \
+             ${PN}-amdgpu-polaris10 \
+             ${PN}-amdgpu-polaris11 \
+             ${PN}-amdgpu-polaris12 \
+             ${PN}-amdgpu-raven \
+             ${PN}-amdgpu-rembrandt \
+             ${PN}-amdgpu-renoir \
+             ${PN}-amdgpu-stoney \
+             ${PN}-amdgpu-tonga \
+             ${PN}-amdgpu-topaz \
+             ${PN}-amdgpu-vega10 \
+             ${PN}-amdgpu-vega12 \
+             ${PN}-amdgpu-misc \
              ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \
              ${PN}-mediatek-license ${PN}-mediatek \
              ${PN}-microchip-license ${PN}-microchip \
@@ -343,8 +372,39 @@
              ${PN}-carl9170 \
              ${PN}-qcom-qcm2290-wifi ${PN}-qcom-qrb4210-wifi ${PN}-qcom-sdm845-modem \
              ${PN}-ar3k-license ${PN}-ar3k \
-             ${PN}-ath10k-license ${PN}-ath10k-wcn3990 ${PN}-ath10k \
-             ${PN}-ath11k ${PN}-ath12k ${PN}-qca \
+             ${PN}-ath10k-license ${PN}-ath10k \
+             ${PN}-ath10k-qca4019 \
+             ${PN}-ath10k-qca6174 \
+             ${PN}-ath10k-qca9377 \
+             ${PN}-ath10k-qca9887 \
+             ${PN}-ath10k-qca9888 \
+             ${PN}-ath10k-qca988x \
+             ${PN}-ath10k-qca9984 \
+             ${PN}-ath10k-qca99x0 \
+             ${PN}-ath10k-wcn3990 \
+             ${PN}-ath10k-misc \
+             ${PN}-ath11k \
+             ${PN}-ath11k-ipq5018 \
+             ${PN}-ath11k-ipq6018 \
+             ${PN}-ath11k-ipq8074 \
+             ${PN}-ath11k-qca2066 \
+             ${PN}-ath11k-qca6390 \
+             ${PN}-ath11k-qcn9074 \
+             ${PN}-ath11k-wcn6750 \
+             ${PN}-ath11k-wcn6855 \
+             ${PN}-ath11k-misc \
+             ${PN}-ath12k \
+             ${PN}-ath12k-qcn9274 \
+             ${PN}-ath12k-wcn7850 \
+             ${PN}-ath12k-misc \
+             ${PN}-qca \
+             ${PN}-qca-qca61x4 \
+             ${PN}-qca-wcn3988 \
+             ${PN}-qca-wcn399x \
+             ${PN}-qca-wcn6750 \
+             ${PN}-qca-qca2066 \
+             ${PN}-qca-wcn7850 \
+             ${PN}-qca-misc \
              \
              ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
              \
@@ -505,9 +565,38 @@
 LICENSE:${PN}-ar3k = "Firmware-qualcommAthos_ar3k & Firmware-atheros_firmware"
 LICENSE:${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
 LICENSE:${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca4019 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca6174 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca9377 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca9887 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca9888 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca988x = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca9984 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-qca99x0 = "Firmware-qualcommAthos_ath10k"
 LICENSE:${PN}-ath10k-wcn3990 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath10k-misc    = "Firmware-qualcommAthos_ath10k"
 LICENSE:${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
-LICENSE:${PN}-qca = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-ipq5018 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-ipq6018 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-ipq8074 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-qca2066 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-qca6390 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-qcn9074 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-wcn6750 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-wcn6855 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath11k-misc    = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath12k = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath12k-qcn9274 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath12k-wcn7850 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-ath12k-misc = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-qca-qca61x4 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-qca-wcn3988 = "Firmware-qcom"
+LICENSE:${PN}-qca-wcn399x = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-qca-wcn6750 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-qca-qca2066 = "Firmware-qualcommAthos_ath10k"
+LICENSE:${PN}-qca-wcn7850 = "Firmware-qcom"
+LICENSE:${PN}-qca-misc = "Firmware-qualcommAthos_ath10k & Firmware-qcom"
 
 FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
 FILES:${PN}-ar3k = " \
@@ -515,33 +604,191 @@
 "
 
 FILES:${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
-FILES:${PN}-ath10k = " \
-  ${nonarch_base_libdir}/firmware/ath10k \
-"
-FILES:${PN}-ath10k-wcn3990 = " \
-  ${nonarch_base_libdir}/firmware/ath10k/WCN3990 \
-"
+FILES:${PN}-ath10k-qca4019 = "${nonarch_base_libdir}/firmware/ath10k/QCA4019"
+FILES:${PN}-ath10k-qca6174 = "${nonarch_base_libdir}/firmware/ath10k/QCA6174"
+FILES:${PN}-ath10k-qca9377 = "${nonarch_base_libdir}/firmware/ath10k/QCA9377"
+FILES:${PN}-ath10k-qca9887 = "${nonarch_base_libdir}/firmware/ath10k/QCA9887"
+FILES:${PN}-ath10k-qca9888 = "${nonarch_base_libdir}/firmware/ath10k/QCA9888"
+FILES:${PN}-ath10k-qca988x = "${nonarch_base_libdir}/firmware/ath10k/QCA988X"
+FILES:${PN}-ath10k-qca9984 = "${nonarch_base_libdir}/firmware/ath10k/QCA9984"
+FILES:${PN}-ath10k-qca99x0 = "${nonarch_base_libdir}/firmware/ath10k/QCA99X0"
+FILES:${PN}-ath10k-wcn3990 = "${nonarch_base_libdir}/firmware/ath10k/WCN3990"
+FILES:${PN}-ath10k-misc = "${nonarch_base_libdir}/firmware/ath10k/*"
+# -ath10k is a virtual package that depends upon all ath10k packages.
+ALLOW_EMPTY:${PN}-ath10k = "1"
+# -ath10k-misc is a catch all package that includes all the ath10k
+# firmwares that are not already included in other -ath10k- packages.
+ALLOW_EMPTY:${PN}-ath10k-misc = "1"
 
-FILES:${PN}-ath11k = " \
-  ${nonarch_base_libdir}/firmware/ath11k \
-"
+FILES:${PN}-ath11k-ipq5018 = "${nonarch_base_libdir}/firmware/ath11k/IPQ5018"
+FILES:${PN}-ath11k-ipq6018 = "${nonarch_base_libdir}/firmware/ath11k/IPQ6018"
+FILES:${PN}-ath11k-ipq8074 = "${nonarch_base_libdir}/firmware/ath11k/IPQ8074"
+FILES:${PN}-ath11k-qca2066 = "${nonarch_base_libdir}/firmware/ath11k/QCA2066"
+FILES:${PN}-ath11k-qca6390 = "${nonarch_base_libdir}/firmware/ath11k/QCA6390"
+FILES:${PN}-ath11k-qcn9074 = "${nonarch_base_libdir}/firmware/ath11k/QCN9074"
+FILES:${PN}-ath11k-wcn6750 = "${nonarch_base_libdir}/firmware/ath11k/WCN6750"
+FILES:${PN}-ath11k-wcn6855 = "${nonarch_base_libdir}/firmware/ath11k/WCN6855"
+FILES:${PN}-ath11k-misc = "${nonarch_base_libdir}/firmware/ath11k/*"
+# -ath11k is a virtual package that depends upon all ath11k packages.
+ALLOW_EMPTY:${PN}-ath11k = "1"
+# -ath11k-misc is a catch all package that includes all the ath11k
+# firmwares that are not already included in other -ath11k- packages.
+ALLOW_EMPTY:${PN}-ath11k-misc = "1"
 
-FILES:${PN}-ath12k = " \
-  ${nonarch_base_libdir}/firmware/ath12k \
-"
+FILES:${PN}-ath12k-qcn9274 = "${nonarch_base_libdir}/firmware/ath12k/QCN9274"
+FILES:${PN}-ath12k-wcn7850 = "${nonarch_base_libdir}/firmware/ath12k/WCN7850"
+FILES:${PN}-ath12k-misc = "${nonarch_base_libdir}/firmware/ath12k/*"
+# -ath12k is a virtual package that depends upon all ath12k packages.
+ALLOW_EMPTY:${PN}-ath12k = "1"
+# -ath12k-misc is a catch all package that includes all the ath12k
+# firmwares that are not already included in other -ath12k- packages.
+ALLOW_EMPTY:${PN}-ath12k-misc = "1"
 
-FILES:${PN}-qca = " \
-  ${nonarch_base_libdir}/firmware/qca \
+FILES:${PN}-qca-qca61x4 = " \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000201.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000200.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000300.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000302.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_00130300.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_00130302.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_00230302.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000200.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000201.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000300.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00000302.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_00130300.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_00130302.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_00230302.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_00440302.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_00440302.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_00440302_eu.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_00440302_i2s_eu.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00000302_eu.bin \
+  ${nonarch_base_libdir}/firmware/qca/htbtfw20.tlv \
+  ${nonarch_base_libdir}/firmware/qca/htnv20.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00130200.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0104.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0105.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0106.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0107.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0109.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130200_0110.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00130201.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_010a.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_010b.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_0303.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf_010a.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf_010b.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00130201_gf_0303.bin \
+  ${nonarch_base_libdir}/firmware/qca/rampatch_usb_00190200.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00190200.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00190200_010e.bin \
+  ${nonarch_base_libdir}/firmware/qca/nvm_usb_00190200_0112.bin \
 "
+FILES:${PN}-qca-wcn3988 = " \
+  ${nonarch_base_libdir}/firmware/qca/apbtfw10.tlv \
+  ${nonarch_base_libdir}/firmware/qca/apbtfw11.tlv \
+  ${nonarch_base_libdir}/firmware/qca/apnv10.bin \
+  ${nonarch_base_libdir}/firmware/qca/apnv11.bin \
+"
+FILES:${PN}-qca-wcn399x = " \
+  ${nonarch_base_libdir}/firmware/qca/crbtfw21.tlv \
+  ${nonarch_base_libdir}/firmware/qca/crnv21.bin \
+  ${nonarch_base_libdir}/firmware/qca/crbtfw32.tlv \
+  ${nonarch_base_libdir}/firmware/qca/crnv32.bin \
+  ${nonarch_base_libdir}/firmware/qca/crnv32u.bin \
+"
+FILES:${PN}-qca-wcn6750 = " \
+  ${nonarch_base_libdir}/firmware/qca/msbtfw11.mbn \
+  ${nonarch_base_libdir}/firmware/qca/msbtfw11.tlv \
+  ${nonarch_base_libdir}/firmware/qca/msnv11.bin \
+  ${nonarch_base_libdir}/firmware/qca/msnv11.b0a \
+  ${nonarch_base_libdir}/firmware/qca/msnv11.b09 \
+"
+FILES:${PN}-qca-qca2066 = " \
+  ${nonarch_base_libdir}/firmware/qca/hpbtfw21.tlv \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.bin \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.bin \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.301 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.302 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.301 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.302 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.309 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.309 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.b8c \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.b9f \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.ba0 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.ba1 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.ba2 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.ba3 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.ba4 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.baa \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.bb8 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.b10c \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21.b111 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.b8c \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.b9f \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba0 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba1 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba2 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba3 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.ba4 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.baa \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.bb8 \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.b10c \
+  ${nonarch_base_libdir}/firmware/qca/hpnv21g.b111 \
+"
+FILES:${PN}-qca-wcn7850 = " \
+  ${nonarch_base_libdir}/firmware/qca/hmtbtfw20.tlv \
+  ${nonarch_base_libdir}/firmware/qca/hmtnv20.b10f \
+  ${nonarch_base_libdir}/firmware/qca/hmtnv20.b112 \
+  ${nonarch_base_libdir}/firmware/qca/hmtnv20.bin \
+"
+FILES:${PN}-qca-misc = "${nonarch_base_libdir}/firmware/qca/*"
+# -qca is a virtual package that depends upon all qca packages.
+ALLOW_EMPTY:${PN}-qca = "1"
+# -qca-misc is a catch all package that includes all the qca
+# firmwares that are not already included in other -qca- packages.
+ALLOW_EMPTY:${PN}-qca-misc = "1"
+
 
 RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license"
 RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license"
-RDEPENDS:${PN}-ath10k += "${PN}-ath10k-wcn3990"
+RDEPENDS:${PN}-ath10k-qca4019 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca6174 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca9377 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca9887 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca9888 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca988x += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca9984 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-qca99x0 += "${PN}-ath10k-license"
 RDEPENDS:${PN}-ath10k-wcn3990 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath10k-misc += "${PN}-ath10k-license"
 RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-ipq5018 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-ipq6018 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-ipq8074 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-qca2066 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-qca6390 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-qcn9074 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-wcn6750 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-wcn6855 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath11k-misc += "${PN}-ath10k-license"
 RDEPENDS:${PN}-ath12k += "${PN}-ath10k-license"
-RDEPENDS:${PN}-qca += "${PN}-ath10k-license"
-
+RDEPENDS:${PN}-ath12k-qcn9274 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath12k-wcn7850 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-ath12k-misc += "${PN}-ath10k-license"
+RDEPENDS:${PN}-qca += "${PN}-ath10k-license ${PN}-qcom-license"
+RDEPENDS:${PN}-qca-qca61x4 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-qca-wcn3988 += "${PN}-qcom-license"
+RDEPENDS:${PN}-qca-wcn399x += "${PN}-ath10k-license"
+RDEPENDS:${PN}-qca-wcn6750 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-qca-qca2066 += "${PN}-ath10k-license"
+RDEPENDS:${PN}-qca-wcn7850 += "${PN}-qcom-license"
+RDEPENDS:${PN}-qca-misc += "${PN}-ath10k-license ${PN}-qcom-license"
 # For ralink
 LICENSE:${PN}-ralink = "Firmware-ralink-firmware"
 LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware"
@@ -633,13 +880,107 @@
 # For amdgpu
 LICENSE:${PN}-amdgpu = "Firmware-amdgpu"
 LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-aldebaran = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-carrizo = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-cezanne = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-fiji = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-hawaii = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi10 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi14 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi21 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi22 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi23 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi24 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi31 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-navi32 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-oland = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-polaris10 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-polaris11 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-polaris12 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-raven = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-rembrandt = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-renoir = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-stoney = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-tonga = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-topaz = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-vega10 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-vega12 = "Firmware-amdgpu"
+LICENSE:${PN}-amdgpu-misc = "Firmware-amdgpu"
 
 FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu"
-FILES:${PN}-amdgpu = " \
-  ${nonarch_base_libdir}/firmware/amdgpu \
+FILES:${PN}-amdgpu-aldebaran = "${nonarch_base_libdir}/firmware/amdgpu/aldebaran_*.bin"
+FILES:${PN}-amdgpu-carrizo = "${nonarch_base_libdir}/firmware/amdgpu/carrizo_*.bin"
+FILES:${PN}-amdgpu-cezanne = "${nonarch_base_libdir}/firmware/amdgpu/green_sardine_*.bin"
+FILES:${PN}-amdgpu-fiji = "${nonarch_base_libdir}/firmware/amdgpu/fiji_*.bin"
+FILES:${PN}-amdgpu-hawaii = "${nonarch_base_libdir}/firmware/amdgpu/hawaii_*.bin"
+FILES:${PN}-amdgpu-navi10 = "${nonarch_base_libdir}/firmware/amdgpu/navi10_*.bin"
+FILES:${PN}-amdgpu-navi14 = "${nonarch_base_libdir}/firmware/amdgpu/navi14_*.bin"
+FILES:${PN}-amdgpu-navi21 = "${nonarch_base_libdir}/firmware/amdgpu/sienna_cichlid_*.bin"
+FILES:${PN}-amdgpu-navi22 = "${nonarch_base_libdir}/firmware/amdgpu/navy_flounder_*.bin"
+FILES:${PN}-amdgpu-navi23 = "${nonarch_base_libdir}/firmware/amdgpu/dimgrey_cavefish_*.bin"
+FILES:${PN}-amdgpu-navi24 = "${nonarch_base_libdir}/firmware/amdgpu/beige_goby_*.bin"
+FILES:${PN}-amdgpu-navi31 = "${nonarch_base_libdir}/firmware/amdgpu/gc_11_0_0_*.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_0_sos.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_0_ta.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/smu_13_0_0.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/dcn_3_2_0_dmcub.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/sdma_6_0_0.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/vcn_4_0_0.bin \
 "
+FILES:${PN}-amdgpu-navi32 = "${nonarch_base_libdir}/firmware/amdgpu/dcn_3_2_0_dmcub.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/gc_11_0_3_*.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_10_sos.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/psp_13_0_10_ta.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/sdma_6_0_3.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/smu_13_0_10.bin \
+    ${nonarch_base_libdir}/firmware/amdgpu/vcn_4_0_0.bin \
+"
+FILES:${PN}-amdgpu-oland = "${nonarch_base_libdir}/firmware/amdgpu/oland_*.bin"
+FILES:${PN}-amdgpu-polaris10 = "${nonarch_base_libdir}/firmware/amdgpu/polaris10_*.bin"
+FILES:${PN}-amdgpu-polaris11 = "${nonarch_base_libdir}/firmware/amdgpu/polaris11_*.bin"
+FILES:${PN}-amdgpu-polaris12 = "${nonarch_base_libdir}/firmware/amdgpu/polaris12_*.bin"
+FILES:${PN}-amdgpu-raven = "${nonarch_base_libdir}/firmware/amdgpu/raven_*.bin"
+FILES:${PN}-amdgpu-rembrandt = "${nonarch_base_libdir}/firmware/amdgpu/yellow_carp_*.bin"
+FILES:${PN}-amdgpu-renoir = "${nonarch_base_libdir}/firmware/amdgpu/renoir_*.bin"
+FILES:${PN}-amdgpu-stoney = "${nonarch_base_libdir}/firmware/amdgpu/stoney_*.bin"
+FILES:${PN}-amdgpu-tonga = "${nonarch_base_libdir}/firmware/amdgpu/tonga_*.bin"
+FILES:${PN}-amdgpu-topaz = "${nonarch_base_libdir}/firmware/amdgpu/topaz_*.bin"
+FILES:${PN}-amdgpu-vega10 = "${nonarch_base_libdir}/firmware/amdgpu/vega10_*.bin"
+FILES:${PN}-amdgpu-vega12 = "${nonarch_base_libdir}/firmware/amdgpu/vega12_*.bin"
+FILES:${PN}-amdgpu-misc = "${nonarch_base_libdir}/firmware/amdgpu/*"
+# -amdgpu is a virtual package that depends upon all amdgpu packages.
+ALLOW_EMPTY:${PN}-amdgpu = "1"
+# -amdgpu-misc is a catch all package that includes all the amdgpu
+# firmwares that are not already included in other -amdgpu- packages.
+ALLOW_EMPTY:${PN}-amdgpu-misc = "1"
 
 RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-aldebaran += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-carrizo += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-cezanne += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-fiji += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-hawaii += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi10 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi14 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi21 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi22 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi23 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi24 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi31 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-navi32 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-oland += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-polaris10 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-polaris11 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-polaris12 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-raven += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-rembrandt += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-renoir += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-stoney += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-tonga += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-topaz += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-vega10 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-vega12 += "${PN}-amdgpu-license"
+RDEPENDS:${PN}-amdgpu-misc += "${PN}-amdgpu-license"
 
 # For lontium
 LICENSE:${PN}-lt9611uxc = "Firmware-Lontium"
@@ -789,7 +1130,7 @@
 LICENSE:${PN}-nxp-mc = "Firmware-nxp_mc_firmware"
 LICENSE:${PN}-nxp-mc-license = "Firmware-nxp_mc_firmware"
 
-FILES:${PN}-nxp-mc= "${nonarch_base_libdir}/firmware/dpaa2/mc/*"
+FILES:${PN}-nxp-mc = "${nonarch_base_libdir}/firmware/dpaa2/mc/*"
 FILES:${PN}-nxp-mc-license = " \
   ${nonarch_base_libdir}/firmware/LICENSE.nxp_mc_firmware \
 "
@@ -1370,7 +1711,7 @@
 RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license"
 RDEPENDS:${PN}-ibt-misc    = "${PN}-ibt-license"
 
-ALLOW_EMPTY:${PN}-ibt= "1"
+ALLOW_EMPTY:${PN}-ibt = "1"
 ALLOW_EMPTY:${PN}-ibt-misc = "1"
 
 LICENSE:${PN}-i915       = "Firmware-i915"
@@ -1694,6 +2035,11 @@
 # Make linux-firmware depend on all of the split-out packages.
 # Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
 # Make linux-firmware-ibt depend on all of the split-out ibt packages.
+# Make linux-firmware-ath10k depend on all of the split-out ath10k packages.
+# Make linux-firmware-ath11k depend on all of the split-out ath11k packages.
+# Make linux-firmware-ath12k depend on all of the split-out ath12k packages.
+# Make linux-firmware-qca depend on all of the split-out qca packages.
+# Make linux-firmware-amdgpu depend on all of the split-out amdgpu packages.
 python populate_packages:prepend () {
     firmware_pkgs = oe.utils.packages_filter_out_system(d)
     d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs))
@@ -1703,6 +2049,21 @@
 
     ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
     d.appendVar('RRECOMMENDS:linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
+
+    ath10k_pkgs = filter(lambda x: x.find('-ath10k-') != -1, firmware_pkgs)
+    d.appendVar('RRECOMMENDS:linux-firmware-ath10k', ' ' + ' '.join(ath10k_pkgs))
+
+    ath11k_pkgs = filter(lambda x: x.find('-ath11k-') != -1, firmware_pkgs)
+    d.appendVar('RRECOMMENDS:linux-firmware-ath11k', ' ' + ' '.join(ath11k_pkgs))
+
+    ath12k_pkgs = filter(lambda x: x.find('-ath12k-') != -1, firmware_pkgs)
+    d.appendVar('RRECOMMENDS:linux-firmware-ath12k', ' ' + ' '.join(ath12k_pkgs))
+
+    qca_pkgs = filter(lambda x: x.find('-qca-') != -1, firmware_pkgs)
+    d.appendVar('RRECOMMENDS:linux-firmware-qca', ' ' + ' '.join(qca_pkgs))
+
+    amdgpu_pkgs = filter(lambda x: x.find('-amdgpu-') != -1, firmware_pkgs)
+    d.appendVar('RRECOMMENDS:linux-firmware-amdgpu', ' ' + ' '.join(amdgpu_pkgs))
 }
 
 # Firmware files are generally not ran on the CPU, so they can be
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 5d706c0..935e3f4 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -32,7 +32,7 @@
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-KERNEL_BUILD_ROOT="${nonarch_base_libdir}/modules/"
+KERNEL_BUILD_ROOT = "${nonarch_base_libdir}/modules/"
 
 do_install() {
     kerneldir=${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index e65d136..f4ffd57 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -14,7 +14,7 @@
 # provide this .inc to set specific revisions
 include recipes-kernel/linux/linux-yocto-dev-revisions.inc
 
-KBRANCH = "v6.12/standard/base"
+KBRANCH = "v6.13/standard/base"
 KMETA = "kernel-meta"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine;protocol=https \
@@ -28,7 +28,7 @@
 SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
 
-LINUX_VERSION ?= "6.12"
+LINUX_VERSION ?= "6.13"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git"
 
@@ -51,9 +51,9 @@
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
 KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
index f4fe3bf..ea66978 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
@@ -14,13 +14,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "29974e6f86d7ddc55a72fc44d209b84256c69e21"
-SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0"
+SRCREV_machine ?= "b92676dff0434653b4f321a626b894be5e4908d0"
+SRCREV_meta ?= "cbe89aee4d05e11b15a928dfbc216fbdbdf062d2"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.12.3"
+LINUX_VERSION ?= "6.12.11"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
@@ -41,8 +41,8 @@
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
 KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
 KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
index 6b13ce7..46ee088 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb
@@ -14,13 +14,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "ec2b8ce9a5c287dc48d9643f9f5d5cf1bb3784de"
-SRCREV_meta ?= "ff64121c498bd9a8ead8b08663da323e3e103179"
+SRCREV_machine ?= "0f28e3f97d1e08e950d8ebbe42ec9515bd651e5b"
+SRCREV_meta ?= "078f986aa4c328285abd0181cc21724d832a3ae0"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.6.64"
+LINUX_VERSION ?= "6.6.74"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
@@ -41,8 +41,8 @@
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
 KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
 KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
index 0ed00fb..fba11bd 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.12.inc
 
-LINUX_VERSION ?= "6.12.3"
+LINUX_VERSION ?= "6.12.11"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -17,8 +17,8 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0"
+SRCREV_machine ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_meta ?= "cbe89aee4d05e11b15a928dfbc216fbdbdf062d2"
 
 PV = "${LINUX_VERSION}+git"
 
@@ -28,6 +28,6 @@
 COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
 
 # Functionality flags
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc cfg/fs/ext4.scc"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc cfg/fs/ext4.scc"
 
 KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
index adf1215..6ad4641 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.6.inc
 
-LINUX_VERSION ?= "6.6.64"
+LINUX_VERSION ?= "6.6.74"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -17,8 +17,8 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_meta ?= "ff64121c498bd9a8ead8b08663da323e3e103179"
+SRCREV_machine ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_meta ?= "078f986aa4c328285abd0181cc21724d832a3ae0"
 
 PV = "${LINUX_VERSION}+git"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto.inc b/poky/meta/recipes-kernel/linux/linux-yocto.inc
index 1765974..3893290 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/poky/meta/recipes-kernel/linux/linux-yocto.inc
@@ -31,7 +31,7 @@
 KERNEL_CC:append:arc = " ${TOOLCHAIN_OPTIONS}"
 KERNEL_LD:append:arc = " ${TOOLCHAIN_OPTIONS}"
 
-KERNEL_FEATURES:append:qemuall=" features/debug/printk.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES:append:qemuall = " features/debug/printk.scc features/taskstats/taskstats.scc"
 
 KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'cfg/efi.scc', '', d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'numa', 'features/numa/numa.scc', '', d)}"
@@ -57,7 +57,7 @@
 }
 
 # enable kernel-sample for oeqa/runtime/cases's ksample.py test
-KERNEL_FEATURES:append:qemuall=" features/kernel-sample/kernel-sample.scc"
+KERNEL_FEATURES:append:qemuall = " features/kernel-sample/kernel-sample.scc"
 
 KERNEL_DEBUG ?= ""
 # These used to be version specific, but are now common dependencies.  New
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.12.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.12.bb
index 76f38d8..723ffa6 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.12.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.12.bb
@@ -18,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.12/standard/base"
 KBRANCH:qemumips64 ?= "v6.12/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "0c33fda4cb5c0a3dfbdbb2040a8b4affbb34e00a"
-SRCREV_machine:qemuarm64 ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemuloongarch64 ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemumips ?= "cb10a94d7ca5ce5c00608ffcea74a79df6b15329"
-SRCREV_machine:qemuppc ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemuriscv64 ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemuriscv32 ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemux86 ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemux86-64 ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_machine:qemumips64 ?= "861600ef3aecc4bb78dd57f92e4814c9647f1cd9"
-SRCREV_machine ?= "7160a4379dccf0e95526f1ab9be4ef704835074a"
-SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0"
+SRCREV_machine:qemuarm ?= "97de3b6e2772d8f694107c1ee3a89fba543f81e9"
+SRCREV_machine:qemuarm64 ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemuloongarch64 ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemumips ?= "4a649d3eec0ace22715f0b6a032cd5cd09c288f0"
+SRCREV_machine:qemuppc ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemuriscv64 ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemuriscv32 ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemux86 ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemux86-64 ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_machine:qemumips64 ?= "ca06e8a2e78be9c42c22cb6da65a852acb3c0049"
+SRCREV_machine ?= "807165b1ec1c73b5c1c30e9dd376e9b568e354bd"
+SRCREV_meta ?= "cbe89aee4d05e11b15a928dfbc216fbdbdf062d2"
 
 # 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 ?= "47edb26c8ed9dd1877f8623ee1cd3b998874ca65"
+SRCREV_machine:class-devupstream ?= "62b2447ec6cf3f8ce4b768cacd7b787a04f54a14"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.12/base"
 
@@ -44,7 +44,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.12.3"
+LINUX_VERSION ?= "6.12.11"
 
 PV = "${LINUX_VERSION}+git"
 
@@ -58,9 +58,9 @@
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
 KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
@@ -69,8 +69,8 @@
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/net/team/team.scc", "", d)}"
 # openl2tp tests from meta-networking needs it
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " cgl/cfg/net/l2tp.scc", "", d)}"
-KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc = " arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64 = " arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64le = " arch/powerpc/powerpc-debug.scc"
 
 INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
index 73f3c43..9f287f2 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.6.bb
@@ -18,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.6/standard/base"
 KBRANCH:qemumips64 ?= "v6.6/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "390fa422d33daad3f6046b7223654f58517eb285"
-SRCREV_machine:qemuarm64 ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemuloongarch64 ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemumips ?= "47f3134d3ef0f0ccc24bec6325dc66520045dc00"
-SRCREV_machine:qemuppc ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemuriscv64 ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemuriscv32 ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemux86 ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemux86-64 ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_machine:qemumips64 ?= "37a948fa6a662b8f42fb23009734edaa20dfef22"
-SRCREV_machine ?= "6ae9eb480f36462d25b89758e541d6298f607a5b"
-SRCREV_meta ?= "ff64121c498bd9a8ead8b08663da323e3e103179"
+SRCREV_machine:qemuarm ?= "80e490532fddf18ff2565887b38ace8978e0e1bc"
+SRCREV_machine:qemuarm64 ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemuloongarch64 ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemumips ?= "1cd71fe6a69cc984c96f9942367bd350d13ffa93"
+SRCREV_machine:qemuppc ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemuriscv64 ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemuriscv32 ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemux86 ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemux86-64 ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_machine:qemumips64 ?= "2469f917cf13e4a2c100ddf2d347017f832ca44c"
+SRCREV_machine ?= "88adfb046ab500d81fea869024b0675c618754d9"
+SRCREV_meta ?= "078f986aa4c328285abd0181cc21724d832a3ae0"
 
 # 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 ?= "22a054ea1f081d7837cc8e24ad4c7aa36e8bba04"
+SRCREV_machine:class-devupstream ?= "c2e4205116126ab79bfa17a5e8dd73698e3f7299"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.6/base"
 
@@ -44,7 +44,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.6.64"
+LINUX_VERSION ?= "6.6.74"
 
 PV = "${LINUX_VERSION}+git"
 
@@ -58,17 +58,17 @@
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
 KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemuall = " cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
+KERNEL_FEATURES:append:qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+KERNEL_FEATURES:append:qemux86-64 = " cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
 # libteam ptests from meta-oe needs it
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/net/team/team.scc", "", d)}"
-KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
-KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc = " arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64 = " arch/powerpc/powerpc-debug.scc"
+KERNEL_FEATURES:append:powerpc64le = " arch/powerpc/powerpc-debug.scc"
 
 INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-Linux-6.6.66.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-Linux-6.6.66.patch
new file mode 100644
index 0000000..bb40ff7
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-Linux-6.6.66.patch
@@ -0,0 +1,51 @@
+From 74cdd186fdd540b98ecded94d506b812d7d2bae5 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Sun, 22 Dec 2024 17:39:35 +0800
+Subject: [PATCH] Fix: sched_stat_runtime changed in Linux 6.6.66
+
+The following commit has been backported into the 6.6.y branch.
+
+See upstream commit:
+
+    commit 5fe6ec8f6ab549b6422e41551abb51802bd48bc7
+    Author: Peter Zijlstra <peterz@infradead.org>
+    Date:   Mon Nov 6 13:41:43 2023 +0100
+
+        sched: Remove vruntime from trace_sched_stat_runtime()
+
+        Tracing the runtime delta makes sense, observer can sum over time.
+        Tracing the absolute vruntime makes less sense, inconsistent:
+        absolute-vs-delta, but also vruntime delta can be computed from
+        runtime delta.
+
+        Removing the vruntime thing also makes the two tracepoint sites
+        identical, allowing to unify the code in a later patch.
+
+Change-Id: I74acf0b8340c371e8411116e07e5c97b10f9c756
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+
+Upstream-Status: Pending [https://review.lttng.org/c/lttng-modules/+/13813]
+
+[Xiangyu: BP to fix compile error on linux 6.6.66, Minor conflict resolution]
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ include/instrumentation/events/sched.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/instrumentation/events/sched.h b/include/instrumentation/events/sched.h
+index 32d18133..0c62f2e6 100644
+--- a/include/instrumentation/events/sched.h
++++ b/include/instrumentation/events/sched.h
+@@ -647,7 +647,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_blocked,
+ #endif
+ 
+ #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0) || \
+-	LTTNG_RHEL_KERNEL_RANGE(5,14,0,452,0,0, 5,15,0,0,0,0))
++	LTTNG_RHEL_KERNEL_RANGE(5,14,0,452,0,0, 5,15,0,0,0,0) || \
++	LTTNG_KERNEL_RANGE(6,6,66, 6,7,0))
+ /*
+  * Tracepoint for accounting runtime (time the task is executing
+  * on a CPU).
+-- 
+2.43.0
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-uprobes-make-uprobe_register-return-struct-uprob.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-uprobes-make-uprobe_register-return-struct-uprob.patch
deleted file mode 100644
index 052220e..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-uprobes-make-uprobe_register-return-struct-uprob.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From 9b96303d2382c767eb1f507d934bcc3fe225d74c Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Thu, 17 Oct 2024 11:56:02 -0400
-Subject: [PATCH] Fix: uprobes: make uprobe_register() return struct uprobe *
- (v6.12)
-
-See upstream commits :
-
-  commit 3c83a9ad0295eb63bdeb81d821b8c3b9417fbcac
-  Author: Oleg Nesterov <oleg@redhat.com>
-  Date:   Thu Aug 1 15:27:34 2024 +0200
-
-    uprobes: make uprobe_register() return struct uprobe *
-
-    This way uprobe_unregister() and uprobe_apply() can use "struct uprobe *"
-    rather than inode + offset. This simplifies the code and allows to avoid
-    the unnecessary find_uprobe() + put_uprobe() in these functions.
-
-    TODO: uprobe_unregister() still needs get_uprobe/put_uprobe to ensure that
-    this uprobe can't be freed before up_write(&uprobe->register_rwsem).
-
-  commit 04b01625da130c7521b768996cd5e48052198b97
-  Author: Peter Zijlstra <peterz@infradead.org>
-  Date:   Tue Sep 3 10:46:00 2024 -0700
-
-    perf/uprobe: split uprobe_unregister()
-
-    With uprobe_unregister() having grown a synchronize_srcu(), it becomes
-    fairly slow to call. Esp. since both users of this API call it in a
-    loop.
-
-    Peel off the sync_srcu() and do it once, after the loop.
-
-    We also need to add uprobe_unregister_sync() into uprobe_register()'s
-    error handling path, as we need to be careful about returning to the
-    caller before we have a guarantee that partially attached consumer won't
-    be called anymore. This is an unlikely slow path and this should be
-    totally fine to be slow in the case of a failed attach.
-
-  commit e04332ebc8ac128fa551e83f1161ab1c094d13a9
-  Author: Oleg Nesterov <oleg@redhat.com>
-  Date:   Thu Aug 1 15:27:28 2024 +0200
-
-    uprobes: kill uprobe_register_refctr()
-
-    It doesn't make any sense to have 2 versions of _register(). Note that
-    trace_uprobe_enable(), the only user of uprobe_register(), doesn't need
-    to check tu->ref_ctr_offset to decide which one should be used, it could
-    safely pass ref_ctr_offset == 0 to uprobe_register_refctr().
-
-    Add this argument to uprobe_register(), update the callers, and kill
-    uprobe_register_refctr().
-
-Upstream-Status: Backport [commit 9b96303d]
-
-Change-Id: I8d1f9a5db1f19c2bc2029709ae36f82e86f6fe58
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/lttng/events-internal.h |  1 +
- include/wrapper/uprobes.h       |  7 ++++++-
- src/probes/lttng-uprobes.c      | 32 ++++++++++++++++++++++++++++++++
- 3 files changed, 39 insertions(+), 1 deletion(-)
-
-diff --git a/include/lttng/events-internal.h b/include/lttng/events-internal.h
-index a91a659e..8633608d 100644
---- a/include/lttng/events-internal.h
-+++ b/include/lttng/events-internal.h
-@@ -42,6 +42,7 @@ struct lttng_krp;				/* Kretprobe handling */
- struct lttng_uprobe_handler {
- 	struct lttng_kernel_event_common *event;
- 	loff_t offset;
-+	struct uprobe *uprobe;
- 	struct uprobe_consumer up_consumer;
- 	struct list_head node;
- };
-diff --git a/include/wrapper/uprobes.h b/include/wrapper/uprobes.h
-index 9cbbe3b2..52b72d53 100644
---- a/include/wrapper/uprobes.h
-+++ b/include/wrapper/uprobes.h
-@@ -18,9 +18,14 @@
- 
- #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,5,0))
- #include <linux/uprobes.h>
-+/*
-+ * No wrappers for >= 6.12, the API has changed too much, the version checks
-+ * are inlined in 'src/probes/lttng-uprobes.c'.
-+ */
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,12,0))
- 
- /* Use kallsym lookup for version before 3.9. */
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0))
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,9,0))
- 
- static inline
- int wrapper_uprobe_register(struct inode *inode, loff_t offset, struct uprobe_consumer *uc)
-diff --git a/src/probes/lttng-uprobes.c b/src/probes/lttng-uprobes.c
-index f70218be..5be83cdb 100644
---- a/src/probes/lttng-uprobes.c
-+++ b/src/probes/lttng-uprobes.c
-@@ -233,8 +233,16 @@ int lttng_uprobes_add_callsite(struct lttng_uprobe *uprobe,
- 		goto register_error;
- 	}
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,12,0))
-+	ret = 0;
-+	uprobe_handler->uprobe = uprobe_register(uprobe->inode,
-+		      uprobe_handler->offset, 0, &uprobe_handler->up_consumer);
-+	if (IS_ERR(uprobe_handler->uprobe))
-+		ret = -1;
-+#else
- 	ret = wrapper_uprobe_register(uprobe->inode,
- 		      uprobe_handler->offset, &uprobe_handler->up_consumer);
-+#endif
- 	if (ret) {
- 		printk(KERN_WARNING "LTTng: Error registering probe on inode %lu "
- 		       "and offset 0x%llx\n", uprobe->inode->i_ino,
-@@ -330,15 +338,39 @@ void lttng_uprobes_unregister(struct inode *inode, struct list_head *head)
- {
- 	struct lttng_uprobe_handler *iter, *tmp;
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,12,0))
-+	/*
-+	 * Iterate over the list of handler, unregister each uprobe.
-+	 */
-+	list_for_each_entry(iter, head, node) {
-+		uprobe_unregister_nosync(iter->uprobe, &iter->up_consumer);
-+		iter->uprobe = NULL;
-+	}
-+
-+	/*
-+	 * Call synchronize_srcu() on uprobes_srcu.
-+	 */
-+	uprobe_unregister_sync();
-+
- 	/*
- 	 * Iterate over the list of handler, remove each handler from the list
- 	 * and free the struct.
- 	 */
-+	list_for_each_entry_safe(iter, tmp, head, node) {
-+		list_del(&iter->node);
-+		kfree(iter);
-+	}
-+#else
-+	/*
-+	 * Iterate over the list of handler, unregister each uprobe, remove
-+	 * each handler from the list and free the struct.
-+	 */
- 	list_for_each_entry_safe(iter, tmp, head, node) {
- 		wrapper_uprobe_unregister(inode, iter->offset, &iter->up_consumer);
- 		list_del(&iter->node);
- 		kfree(iter);
- 	}
-+#endif
- }
- 
- void lttng_uprobes_unregister_event(struct lttng_kernel_event_recorder *event_recorder)
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-writeback-Refine-the-show_inode_state-macro-defi.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-writeback-Refine-the-show_inode_state-macro-defi.patch
deleted file mode 100644
index 39b68ee..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-writeback-Refine-the-show_inode_state-macro-defi.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 4610de285daf887262a58683d8597668de62e676 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Thu, 17 Oct 2024 16:59:07 -0400
-Subject: [PATCH] fix: writeback: Refine the show_inode_state() macro
- definition (v6.12)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See upstream commit :
-
-  commit 459ca85ae1feff78d1518344df88bb79a092780c
-  Author: Julian Sun <sunjunchao2870@gmail.com>
-  Date:   Wed Aug 28 16:13:59 2024 +0800
-
-    writeback: Refine the show_inode_state() macro definition
-
-    Currently, the show_inode_state() macro only prints
-    part of the state of inode->i_state. Let’s improve it
-    to display more of its state.
-
-Upstream-Status: Backport [commit 4610de285daf887262a58]
-
-Change-Id: Idaebd56f5775205f8a5c76e117c5ab65f7f1754b
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/writeback.h | 24 +++++++++++++++++++++-
- 1 file changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/include/instrumentation/events/writeback.h b/include/instrumentation/events/writeback.h
-index c4510b44..cad01994 100644
---- a/include/instrumentation/events/writeback.h
-+++ b/include/instrumentation/events/writeback.h
-@@ -71,7 +71,29 @@ static inline struct backing_dev_info *lttng_inode_to_bdi(struct inode *inode)
-  * changed by an upstream kernel, the fact that we have a redefinition here
-  * will generate a compiler warning.
-  */
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,12,0))
-+#define show_inode_state(state)					\
-+	__print_flags(state, "|",				\
-+		{I_DIRTY_SYNC,		"I_DIRTY_SYNC"},	\
-+		{I_DIRTY_DATASYNC,	"I_DIRTY_DATASYNC"},	\
-+		{I_DIRTY_PAGES,		"I_DIRTY_PAGES"},	\
-+		{I_NEW,			"I_NEW"},		\
-+		{I_WILL_FREE,		"I_WILL_FREE"},		\
-+		{I_FREEING,		"I_FREEING"},		\
-+		{I_CLEAR,		"I_CLEAR"},		\
-+		{I_SYNC,		"I_SYNC"},		\
-+		{I_DIRTY_TIME,		"I_DIRTY_TIME"},	\
-+		{I_REFERENCED,		"I_REFERENCED"},	\
-+		{I_LINKABLE,		"I_LINKABLE"},		\
-+		{I_WB_SWITCH,		"I_WB_SWITCH"},		\
-+		{I_OVL_INUSE,		"I_OVL_INUSE"},		\
-+		{I_CREATING,		"I_CREATING"},		\
-+		{I_DONTCACHE,		"I_DONTCACHE"},		\
-+		{I_SYNC_QUEUED,		"I_SYNC_QUEUED"},	\
-+		{I_PINNING_NETFS_WB,	"I_PINNING_NETFS_WB"},	\
-+		{I_LRU_ISOLATING,	"I_LRU_ISOLATING"}	\
-+	)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
- 	LTTNG_KERNEL_RANGE(4,14,218, 4,15,0) ||			\
- 	LTTNG_KERNEL_RANGE(4,19,172, 4,20,0) ||			\
- 	LTTNG_KERNEL_RANGE(5,4,94, 5,5,0) ||			\
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.15.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.16.bb
similarity index 80%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.13.15.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.13.16.bb
index e05a2c9..c9d5ccd 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.15.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.16.bb
@@ -10,16 +10,16 @@
 include lttng-platforms.inc
 
 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
-           file://0001-fix-writeback-Refine-the-show_inode_state-macro-defi.patch \
-           file://0001-Fix-uprobes-make-uprobe_register-return-struct-uprob.patch \
            "
 
 # Use :append here so that the patch is applied also when using devupstream
-SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
+SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch \
+                   file://0001-Fix-sched_stat_runtime-changed-in-Linux-6.6.66.patch \
+                "
 
-SRC_URI[sha256sum] = "6692554eca50e9d22e71b7c2ee6c7db89d393268d404261212af37c5247c0729"
+SRC_URI[sha256sum] = "6694414a3701fcd6e05b3cb20cfecae3b46b3dfb9e5361b344851c1f8052e854"
 
-export INSTALL_MOD_DIR="kernel/lttng-modules"
+export INSTALL_MOD_DIR = "kernel/lttng-modules"
 
 EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.14.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.14.bb
index 65d19b6..98c2f98 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.14.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.14.bb
@@ -47,6 +47,8 @@
 
 CACHED_CONFIGUREVARS = "PGREP=/usr/bin/pgrep"
 
+EXTRA_OECONF += "--disable-libtool-linkdep-fixup"
+
 SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service"
 SYSTEMD_AUTO_ENABLE = "disable"
 
diff --git a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index 581e90e..1a20472 100644
--- a/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/poky/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -23,7 +23,7 @@
 EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}" CROSS_COMPILE=${TARGET_PREFIX}"
 
 KERNEL_LOCALVERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}"
-export LOCALVERSION="${KERNEL_LOCALVERSION}"
+export LOCALVERSION = "${KERNEL_LOCALVERSION}"
 
 # Build some host tools under work-shared.  CC, LD, and AR are probably
 # not used, but this is the historical way of invoking "make scripts".
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 9cd6148..18e2454 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -71,12 +71,12 @@
 # The LDFLAGS is required or some old kernels fails due missing
 # symbols and this is preferred than requiring patches to every old
 # supported kernel.
-LDFLAGS="-ldl -lutil"
+LDFLAGS = "-ldl -lutil"
 
 # Perf's build system adds its own optimization flags for most TUs,
 # overriding the flags included here. But for some, perf does not add
 # any -O option, so ensure the distro's chosen optimization gets used
-# for those. Also include ${DEBUG_PREFIX_MAP} which nsures perf is
+# for those. Also include ${DEBUG_PREFIX_MAP} which ensures perf is
 # built with appropriate -f*-prefix-map options,
 # avoiding the 'buildpaths' QA warning.
 TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION} ${DEBUG_PREFIX_MAP}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
index 6cc11e1..dcb5c0e 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
@@ -7,8 +7,8 @@
 inherit packagegroup
 
 COMMERCIAL_PLUGINS = "${COMMERCIAL_AUDIO_PLUGINS} ${COMMERCIAL_VIDEO_PLUGINS}"
-DEPENDS_UGLY="${@'gstreamer1.0-plugins-ugly' if 'ugly' in COMMERCIAL_PLUGINS.split('-') else ''}"
-DEPENDS_BAD="${@'gstreamer1.0-plugins-bad' if 'bad' in COMMERCIAL_PLUGINS.split('-') else ''}"
+DEPENDS_UGLY = "${@'gstreamer1.0-plugins-ugly' if 'ugly' in COMMERCIAL_PLUGINS.split('-') else ''}"
+DEPENDS_BAD = "${@'gstreamer1.0-plugins-bad' if 'bad' in COMMERCIAL_PLUGINS.split('-') else ''}"
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good ${DEPENDS_UGLY} ${DEPENDS_BAD}"
 
 PACKAGES = "\
diff --git a/poky/meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch b/poky/meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch
new file mode 100644
index 0000000..0fc09ba
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch
@@ -0,0 +1,42 @@
+From 859e58b440e64aeec446ae0a923a638e4203f408 Mon Sep 17 00:00:00 2001
+From: Tim Terriberry <tterribe@xiph.org>
+Date: Fri, 20 May 2011 20:41:50 +0000
+Subject: [PATCH] Make autoreconf -i -f work.
+
+Patch from David Schleef.
+
+svn path=/trunk/theora/; revision=17990
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ Makefile.am  | 2 ++
+ configure.ac | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index d833491..369978d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,6 +2,8 @@
+ 
+ AUTOMAKE_OPTIONS = foreign 1.6 dist-zip dist-bzip2
+ 
++ACLOCAL_AMFLAGS=-I m4
++
+ if THEORA_ENABLE_EXAMPLES
+ EXAMPLES_DIR = examples
+ else
+diff --git a/configure.ac b/configure.ac
+index 8260bdf..d4feb86 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -61,7 +61,7 @@ AC_LIBTOOL_WIN32_DLL
+ AM_PROG_LIBTOOL
+ 
+ dnl Add parameters for aclocal
+-AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
++AC_CONFIG_MACRO_DIR([m4])
+ 
+ dnl Check for doxygen
+ AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false)
diff --git a/poky/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb b/poky/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb
index 11674af..f3d053d 100644
--- a/poky/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb
+++ b/poky/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb
@@ -9,6 +9,7 @@
 
 
 SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \
+           file://autoreconf.patch \
            file://no-docs.patch"
 
 SRC_URI[md5sum] = "292ab65cedd5021d6b7ddd117e07cd8e"
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.9.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.10.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/mpg123/mpg123_1.32.9.bb
rename to poky/meta/recipes-multimedia/mpg123/mpg123_1.32.10.bb
index 54006e8..82f7b7d 100644
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.9.bb
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.32.10.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] = "03b61e4004e960bacf2acdada03ed94d376e6aab27a601447bd4908d8407b291"
+SRC_URI[sha256sum] = "87b2c17fe0c979d3ef38eeceff6362b35b28ac8589fbf1854b5be75c9ab6557c"
 
 UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index bfd57c8..18c12ed 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -121,7 +121,7 @@
 # able to use pulseaudio autospawn for root as well.
 PACKAGECONFIG[autospawn-for-root] = ",,,"
 PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
-PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing"
+PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing-1"
 PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false,"
 PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,"
 PACKAGECONFIG[oss-output] = "-Doss-output=enabled,-Doss-output=disabled,"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.4.0.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.5.0.bb
similarity index 91%
rename from poky/meta/recipes-multimedia/webp/libwebp_1.4.0.bb
rename to poky/meta/recipes-multimedia/webp/libwebp_1.5.0.bb
index d922970..39fe947 100644
--- a/poky/meta/recipes-multimedia/webp/libwebp_1.4.0.bb
+++ b/poky/meta/recipes-multimedia/webp/libwebp_1.5.0.bb
@@ -13,8 +13,8 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
                     file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
 
-SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
-SRC_URI[sha256sum] = "61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5"
+SRC_URI = "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/${BP}.tar.gz"
+SRC_URI[sha256sum] = "7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c"
 
 UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
 
diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
index d5bd7fe..fface76 100644
--- a/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
+++ b/poky/meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch
@@ -19,7 +19,7 @@
 --- a/Makefile
 +++ b/Makefile
 @@ -2,6 +2,6 @@
- VERSION = 2.7
+ VERSION = 2.8
 -CC = $(CROSS_COMPILE)gcc
 -AR = $(CROSS_COMPILE)ar
 +CC ?= $(CROSS_COMPILE)gcc
diff --git a/poky/meta/recipes-rt/rt-tests/files/0001-sched_attr-Do-not-define-for-glibc-2.41.patch b/poky/meta/recipes-rt/rt-tests/files/0001-sched_attr-Do-not-define-for-glibc-2.41.patch
new file mode 100644
index 0000000..915f8ba
--- /dev/null
+++ b/poky/meta/recipes-rt/rt-tests/files/0001-sched_attr-Do-not-define-for-glibc-2.41.patch
@@ -0,0 +1,44 @@
+From e1f5f9379a68471c9f5fb0859e87dd84001b0b6f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Jan 2025 15:03:59 -0800
+Subject: [PATCH] sched_attr: Do not define for glibc >= 2.41
+
+glibc 2.41+ has added [1] definitions for sched_setattr and sched_getattr functions
+and struct sched_attr. Therefore, it needs to be checked for here as well before
+defining sched_attr
+
+Define sched_attr conditionally on SCHED_ATTR_SIZE_VER0
+
+Fixes builds with glibc/trunk
+
+[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-rt-users/20250128230838.2311298-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Clark Williams <williams@redhat.com>
+Cc: John Kacur <jkacur@redhat.com>
+Cc: rt-users <linux-rt-users@vger.kernel.org>
+---
+ src/include/rt-sched.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/include/rt-sched.h b/src/include/rt-sched.h
+index 80171c7..9cf0e3a 100644
+--- a/src/include/rt-sched.h
++++ b/src/include/rt-sched.h
+@@ -42,6 +42,8 @@
+ #define __NR_sched_getattr		275
+ #endif
+ 
++/* sched_attr is not defined in glibc < 2.41 */
++#ifndef SCHED_ATTR_SIZE_VER0
+ struct sched_attr {
+ 	uint32_t size;
+ 	uint32_t sched_policy;
+@@ -68,4 +70,6 @@ int sched_getattr(pid_t pid,
+ 		  unsigned int size,
+ 		  unsigned int flags);
+ 
++#endif /* SCHED_ATTR_SIZE_VER0 */
++
+ #endif /* __RT_SCHED_H__ */
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
index 3fbdfa2..f28258e 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
@@ -1,5 +1,5 @@
-SRCREV = "5bd94923ffda2ab326d081926dbfc6775fb5050b"
-PV = "2.7"
+SRCREV = "f5b910a90b6f5ab0ef6df392e009ffe1429d53af"
+PV = "2.8"
 PE = "1"
 
 SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main;protocol=https"
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_git.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_git.bb
index 1f48e14..5fa980d 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests_git.bb
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests_git.bb
@@ -13,6 +13,7 @@
             file://run-ptest \
             file://rt_bmark.py \
             file://0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch \
+            file://0001-sched_attr-Do-not-define-for-glibc-2.41.patch \
            "
 
 # rt-tests needs PI mutex support in libc
diff --git a/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb b/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
index 5540083..3d8c427 100644
--- a/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
+++ b/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
@@ -17,7 +17,7 @@
 
 PV = "0.8.18.1.11+git"
 SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https"
-SRCREV ="3cdccdc9505643e50f8208171d9eee5de11a42ff"
+SRCREV = "3cdccdc9505643e50f8208171d9eee5de11a42ff"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index 17ac1fe..677a9e2 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -10,7 +10,7 @@
 SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main;protocol=https"
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "8e83f39eb989d36f10fcf4be7c4dd5eaa0e69f02"
+SRCREV = "79be403101d055d2fde3611a5f133135d4094ee9"
 PE = "2"
 PV = "0.0+git"
 
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/sys_futex.patch b/poky/meta/recipes-sato/webkit/webkitgtk/sys_futex.patch
new file mode 100644
index 0000000..19d18de
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/sys_futex.patch
@@ -0,0 +1,16 @@
+Fix build on newer 32bit architectures with only 64bit time_t
+
+Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/angle/angle/+/6108397]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/Source/ThirdParty/ANGLE/src/common/SimpleMutex.cpp
++++ b/Source/ThirdParty/ANGLE/src/common/SimpleMutex.cpp
+@@ -17,6 +17,9 @@
+ #        include <linux/futex.h>
+ #        include <sys/syscall.h>
+ #        include <unistd.h>
++#        if !defined(SYS_futex) && defined(SYS_futex_time64)
++#           define SYS_futex SYS_futex_time64
++#        endif
+ #    endif  // defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_ANDROID)
+ 
+ #    if defined(ANGLE_PLATFORM_WINDOWS)
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.46.4.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.46.5.bb
similarity index 96%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.46.4.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.46.5.bb
index f7d0b5e..d8b91d6 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.46.4.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.46.5.bb
@@ -17,8 +17,9 @@
            file://t6-not-declared.patch \
            file://0001-Support-ICU-76.1-build.patch \
            file://bmalloc-fix.patch \
+           file://sys_futex.patch \
            "
-SRC_URI[sha256sum] = "0eff5f0ab0a2872ec87df62bc32e3289c8af625716ac71e94b298d74e0374176"
+SRC_URI[sha256sum] = "bad4020bb0cfb3e740df3082c2d9cbf67cf4095596588a56aecdde6702137805"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
 
@@ -86,7 +87,7 @@
                  -DPORT=GTK \
                  ${@oe.utils.vartrue('GI_DATA_ENABLED', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
                  ${@oe.utils.vartrue('GIDOCGEN_ENABLED', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
-                 ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFFF', d)} \
+                 ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFF', d)} \
                  -DENABLE_MINIBROWSER=ON \
                  -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
                  -DUSE_GTK4=ON \
@@ -122,7 +123,7 @@
 
 # JIT and gold linker does not work on RISCV
 EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
-EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF"
+EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
 
 # JIT not supported on MIPS either
 EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
diff --git a/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch b/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch
index d4d5517..03ac5eb 100644
--- a/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch
+++ b/poky/meta/recipes-support/appstream/appstream/0001-remove-hardcoded-path.patch
@@ -1,4 +1,4 @@
-From 03f00252c2fc948c0bce1fc0a6ee87adef71d1bb Mon Sep 17 00:00:00 2001
+From 7372848f22d7edc01e40b0533047b34f41f6cf71 Mon Sep 17 00:00:00 2001
 From: Markus Volk <f_l_k@t-online.de>
 Date: Mon, 12 Dec 2022 15:42:42 +0100
 Subject: [PATCH] remove hardcoded path
@@ -14,10 +14,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 5f2eaa22..4a2483a1 100644
+index 7e89ab0..c34ea74 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -191,10 +191,10 @@ endif
+@@ -194,10 +194,10 @@ endif
  stemmer_inc_dirs = include_directories()
  if get_option('stemming')
      stemmer_lib = cc.find_library('stemmer', required: true)
diff --git a/poky/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch b/poky/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch
index 9a725ab..71c9aad 100644
--- a/poky/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch
+++ b/poky/meta/recipes-support/appstream/appstream/0002-Do-not-build-qt-tests.patch
@@ -1,4 +1,4 @@
-From a7721cf4f412fbe18fe15127bea7b1457b99f684 Mon Sep 17 00:00:00 2001
+From 43afdff090c4cbb2d3b4025a38b25a718c8f16b5 Mon Sep 17 00:00:00 2001
 From: Marc Ferland <marc.ferland@sonatest.com>
 Date: Fri, 26 Jul 2024 15:41:00 -0400
 Subject: [PATCH] Do not build qt/tests
@@ -23,10 +23,10 @@
  1 file changed, 2 deletions(-)
 
 diff --git a/qt/meson.build b/qt/meson.build
-index 1909bcf7..c3ca20fb 100644
+index 7d9ed7d..e319425 100644
 --- a/qt/meson.build
 +++ b/qt/meson.build
-@@ -148,5 +148,3 @@ install_data (
+@@ -150,5 +150,3 @@ install_data (
  
  # end of Qt version loop
  endforeach
diff --git a/poky/meta/recipes-support/appstream/appstream_1.0.3.bb b/poky/meta/recipes-support/appstream/appstream_1.0.4.bb
similarity index 94%
rename from poky/meta/recipes-support/appstream/appstream_1.0.3.bb
rename to poky/meta/recipes-support/appstream/appstream_1.0.4.bb
index 092d85d..a9c87f7 100644
--- a/poky/meta/recipes-support/appstream/appstream_1.0.3.bb
+++ b/poky/meta/recipes-support/appstream/appstream_1.0.4.bb
@@ -30,7 +30,7 @@
 	file://0002-Do-not-build-qt-tests.patch \
 	file://0003-Fix-PACKAGE_PREFIX_DIR-in-qt-cmake-AppStreamQtConfig.patch \
 "
-SRC_URI[sha256sum] = "5ab6f6cf644e7875a9508593962e56bb430f4e59ae0bf03be6be7029deb6baa4"
+SRC_URI[sha256sum] = "2d218348067f98c4f34a3ffe2d8219ad9f504b1b2481f1872dec66c77bf37509"
 
 S = "${WORKDIR}/AppStream-${PV}"
 
diff --git a/poky/meta/recipes-support/apr/apr_1.7.5.bb b/poky/meta/recipes-support/apr/apr_1.7.5.bb
index 7879647..215ac4b 100644
--- a/poky/meta/recipes-support/apr/apr_1.7.5.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.5.bb
@@ -135,4 +135,4 @@
 	cp ${S}/test/tryread $t/
 }
 
-export CONFIG_SHELL="/bin/bash"
+export CONFIG_SHELL = "/bin/bash"
diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.15.0.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.16.0.bb
similarity index 92%
rename from poky/meta/recipes-support/bash-completion/bash-completion_2.15.0.bb
rename to poky/meta/recipes-support/bash-completion/bash-completion_2.16.0.bb
index 709443c..d1a8f5e 100644
--- a/poky/meta/recipes-support/bash-completion/bash-completion_2.15.0.bb
+++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.16.0.bb
@@ -14,7 +14,7 @@
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "976a62ee6226970283cda85ecb9c7a4a88f62574c0a6f9e856126976decf1a06"
+SRC_URI[sha256sum] = "3369bd5e418a75fb990863925aed5b420398acebb320ec4c0306b3eae23f107a"
 GITHUB_BASE_URI = "https://github.com/scop/bash-completion/releases"
 
 PARALLEL_MAKE = ""
diff --git a/poky/meta/recipes-support/boost/boost-1.86.0.inc b/poky/meta/recipes-support/boost/boost-1.87.0.inc
similarity index 80%
rename from poky/meta/recipes-support/boost/boost-1.86.0.inc
rename to poky/meta/recipes-support/boost/boost-1.87.0.inc
index 2378b27..c6e55b2 100644
--- a/poky/meta/recipes-support/boost/boost-1.86.0.inc
+++ b/poky/meta/recipes-support/boost/boost-1.87.0.inc
@@ -11,8 +11,8 @@
 BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
 BOOST_P = "boost_${BOOST_VER}"
 
-SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2"
-SRC_URI[sha256sum] = "1bed88e40401b2cb7a1f76d4bab499e352fa4d0c5f31c0dbae64e24d34d7513b"
+SRC_URI = "https://archives.boost.io/release/${PV}/source/${BOOST_P}.tar.bz2"
+SRC_URI[sha256sum] = "af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89"
 
 UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
 UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/"
diff --git a/poky/meta/recipes-support/boost/boost-build-native_1.86.0.bb b/poky/meta/recipes-support/boost/boost-build-native_1.87.0.bb
similarity index 100%
rename from poky/meta/recipes-support/boost/boost-build-native_1.86.0.bb
rename to poky/meta/recipes-support/boost/boost-build-native_1.87.0.bb
diff --git a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
index 78f652f..04bede4 100644
--- a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
+++ b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
@@ -1,4 +1,4 @@
-From f88354966fe3af33fd6d9ec889a8e3926b886a8a Mon Sep 17 00:00:00 2001
+From e2cc24d6d8b7b24a6d0a30c52c7ad69a001a0ad5 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 18 Dec 2018 15:42:57 +0100
 Subject: [PATCH] Don't set up arch/instruction-set flags, we do that
diff --git a/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch b/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch
index 8f13034..db1ee03 100644
--- a/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch
+++ b/poky/meta/recipes-support/boost/boost/0001-dont-setup-compiler-flags-m32-m64.patch
@@ -1,4 +1,4 @@
-From 7130850d74863d1e9a0ae3e85462f1466bdf6d88 Mon Sep 17 00:00:00 2001
+From b0728812241c048907e6f1ba168292cd9948347d Mon Sep 17 00:00:00 2001
 From: Anuj Mittal <anuj.mittal@intel.com>
 Date: Thu, 14 Nov 2019 10:13:53 +0800
 Subject: [PATCH] dont setup compiler flags -m32/-m64
diff --git a/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch b/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
index dde21fa..ad90d96 100644
--- a/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
+++ b/poky/meta/recipes-support/boost/boost/boost-math-disable-pch-for-gcc.patch
@@ -1,4 +1,4 @@
-From c6009cdc1fe76db0092443593396e4d5f0eaa86b Mon Sep 17 00:00:00 2001
+From e7491f9874411fd9855957812ba9bac948a61356 Mon Sep 17 00:00:00 2001
 From: Jackie Huang <jackie.huang@windriver.com>
 Date: Fri, 23 Sep 2016 01:04:50 -0700
 Subject: [PATCH] boost-math: disable pch for gcc
@@ -14,11 +14,11 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libs/math/build/Jamfile.v2 b/libs/math/build/Jamfile.v2
-index 6549e06b7..342cbf0b1 100644
+index 500c77363..504d7d8c6 100644
 --- a/libs/math/build/Jamfile.v2
 +++ b/libs/math/build/Jamfile.v2
-@@ -13,7 +13,7 @@ project
-       <toolset>intel-win:<linkflags>-nologo 
+@@ -15,7 +15,7 @@ project
+       <toolset>intel-win:<linkflags>-nologo
        #<toolset>intel-linux:<pch>off
        <toolset>intel-darwin:<pch>off
 -      <toolset>gcc,<target-os>windows:<pch>off
diff --git a/poky/meta/recipes-support/boost/boost_1.86.0.bb b/poky/meta/recipes-support/boost/boost_1.87.0.bb
similarity index 100%
rename from poky/meta/recipes-support/boost/boost_1.86.0.bb
rename to poky/meta/recipes-support/boost/boost_1.87.0.bb
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch
index 78898f5..da2a247 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-Revert-mozilla-certdata2pem.py-print-a-warning-for-e.patch
@@ -1,4 +1,4 @@
-From cb43ec15b700b25f3c4fe44043a1a021aaf5b768 Mon Sep 17 00:00:00 2001
+From 630736f427c0a1bd0be0b5a2f6d51d63b2c4c9fd Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Mon, 18 Oct 2021 12:05:49 +0200
 Subject: [PATCH] Revert "mozilla/certdata2pem.py: print a warning for expired
@@ -16,10 +16,10 @@
  3 files changed, 1 insertion(+), 13 deletions(-)
 
 diff --git a/debian/changelog b/debian/changelog
-index 531e4d0..4006509 100644
+index 52d41ca..bdb2c8a 100644
 --- a/debian/changelog
 +++ b/debian/changelog
-@@ -120,7 +120,6 @@ ca-certificates (20211004) unstable; urgency=low
+@@ -138,7 +138,6 @@ ca-certificates (20211004) unstable; urgency=low
      - "Trustis FPS Root CA"
      - "Staat der Nederlanden Root CA - G3"
    * Blacklist expired root certificate "DST Root CA X3" (closes: #995432)
@@ -28,7 +28,7 @@
   -- Julien Cristau <jcristau@debian.org>  Thu, 07 Oct 2021 17:12:47 +0200
  
 diff --git a/debian/control b/debian/control
-index 4434b7a..5c6ba24 100644
+index b5f2ab0..d0e830e 100644
 --- a/debian/control
 +++ b/debian/control
 @@ -3,7 +3,7 @@ Section: misc
@@ -41,7 +41,7 @@
  Rules-Requires-Root: no
  Vcs-Git: https://salsa.debian.org/debian/ca-certificates.git
 diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py
-index ede23d4..7d796f1 100644
+index 4df86a2..7d796f1 100644
 --- a/mozilla/certdata2pem.py
 +++ b/mozilla/certdata2pem.py
 @@ -21,16 +21,12 @@
@@ -75,6 +75,3 @@
          bname = obj['CKA_LABEL'][1:-1].replace('/', '_')\
                                        .replace(' ', '_')\
                                        .replace('(', '=')\
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch
index 1feefeb..cad3092 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch
@@ -1,3 +1,8 @@
+From 348163df412e53b1b7ec3e81ae5f22caa0227c37 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 6 Jul 2015 15:19:41 +0100
+Subject: [PATCH] ca-certificates: remove Debianism in run-parts invocation
+
 ca-certificates is a package from Debian, but some host distros such as Fedora
 have a leaner run-parts provided by cron which doesn't support --verbose or the
  -- separator between arguments and paths.
@@ -9,7 +14,6 @@
 | [...]/usr/sbin/update-ca-certificates: line 230: Not a directory: --: command not found
 | E: Not a directory: -- exited with code 127.
 
-
 Upstream-Status: Inappropriate
 Signed-off-by: Ross Burton <ross.burton@intel.com>
 Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
@@ -17,10 +21,10 @@
  sbin/update-ca-certificates | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)
 
-Index: git/sbin/update-ca-certificates
-===================================================================
---- git.orig/sbin/update-ca-certificates
-+++ git/sbin/update-ca-certificates
+diff --git a/sbin/update-ca-certificates b/sbin/update-ca-certificates
+index 36cdd9a..2d3e1fe 100755
+--- a/sbin/update-ca-certificates
++++ b/sbin/update-ca-certificates
 @@ -202,9 +202,7 @@ if [ -d "$HOOKSDIR" ]
  then
  
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch
index 792b403..48c69f0 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch
@@ -1,19 +1,19 @@
-Upstream-Status: Pending
-
-From 724cb153ca0f607fb38b3a8db3ebb2742601cd81 Mon Sep 17 00:00:00 2001
+From cdb53438bae194c1281c31374a901ad7ee460408 Mon Sep 17 00:00:00 2001
 From: Andreas Oberritter <obi@opendreambox.org>
 Date: Tue, 19 Mar 2013 17:14:33 +0100
-Subject: [PATCH 2/2] update-ca-certificates: use $SYSROOT
+Subject: [PATCH] update-ca-certificates: use $SYSROOT
+
+Upstream-Status: Pending
 
 Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
 ---
- sbin/update-ca-certificates |   14 +++++++-------
+ sbin/update-ca-certificates | 14 +++++++-------
  1 file changed, 7 insertions(+), 7 deletions(-)
 
-Index: git/sbin/update-ca-certificates
-===================================================================
---- git.orig/sbin/update-ca-certificates
-+++ git/sbin/update-ca-certificates
+diff --git a/sbin/update-ca-certificates b/sbin/update-ca-certificates
+index 5a0a1da..36cdd9a 100755
+--- a/sbin/update-ca-certificates
++++ b/sbin/update-ca-certificates
 @@ -24,12 +24,12 @@
  verbose=0
  fresh=0
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/0003-update-ca-certificates-use-relative-symlinks-from-ET.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/0003-update-ca-certificates-use-relative-symlinks-from-ET.patch
index 4bd967f..214f889 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates/0003-update-ca-certificates-use-relative-symlinks-from-ET.patch
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/0003-update-ca-certificates-use-relative-symlinks-from-ET.patch
@@ -1,4 +1,4 @@
-From a9fc13b2aee55655d58fcb77a3180fa99f96438a Mon Sep 17 00:00:00 2001
+From 38d47c53749c6f16d5d7993410b256116e0ee0b8 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik@jci.com>
 Date: Wed, 28 Mar 2018 16:45:05 +0100
 Subject: [PATCH] update-ca-certificates: use relative symlinks from
@@ -45,7 +45,7 @@
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/sbin/update-ca-certificates b/sbin/update-ca-certificates
-index 00f80c7..7e911a9 100755
+index f7d0dbf..97a589c 100755
 --- a/sbin/update-ca-certificates
 +++ b/sbin/update-ca-certificates
 @@ -29,6 +29,7 @@ CERTSDIR=$SYSROOT/usr/share/ca-certificates
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/default-sysroot.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/default-sysroot.patch
index f8b0791..c2a54c0 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates/default-sysroot.patch
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/default-sysroot.patch
@@ -1,13 +1,21 @@
+From 50aadd3eb1c4be43d3decdeb60cede2de5a687be Mon Sep 17 00:00:00 2001
+From: Christopher Larson <chris_larson@mentor.com>
+Date: Fri, 23 Aug 2013 12:26:14 -0700
+Subject: [PATCH] ca-certificates: add recipe (version 20130610)
+
 Upstream-Status: Pending
 
 update-ca-certificates: find SYSROOT relative to its own location
 
 This makes the script relocatable.
+---
+ sbin/update-ca-certificates | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
 
-Index: git/sbin/update-ca-certificates
-===================================================================
---- git.orig/sbin/update-ca-certificates
-+++ git/sbin/update-ca-certificates
+diff --git a/sbin/update-ca-certificates b/sbin/update-ca-certificates
+index 2d3e1fe..f7d0dbf 100755
+--- a/sbin/update-ca-certificates
++++ b/sbin/update-ca-certificates
 @@ -66,6 +66,39 @@ do
    shift
  done
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20240203.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20241223.bb
similarity index 96%
rename from poky/meta/recipes-support/ca-certificates/ca-certificates_20240203.bb
rename to poky/meta/recipes-support/ca-certificates/ca-certificates_20241223.bb
index eff1d97..bbdc7dd 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20240203.bb
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20241223.bb
@@ -14,7 +14,7 @@
 # Need rehash from openssl and run-parts from debianutils
 PACKAGE_WRITE_DEPS += "openssl-native debianutils-native"
 
-SRC_URI[sha256sum] = "3286d3fc42c4d11b7086711a85f865b44065ce05cf1fb5376b2abed07622a9c6"
+SRC_URI[sha256sum] = "dd8286d0a9dd35c756fea5f1df3fed1510fb891f376903891b003cd9b1ad7e03"
 SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/${BPN}_${PV}.tar.xz \
            file://0002-update-ca-certificates-use-SYSROOT.patch \
            file://0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch \
diff --git a/poky/meta/recipes-support/debianutils/debianutils_5.20.bb b/poky/meta/recipes-support/debianutils/debianutils_5.21.bb
similarity index 97%
rename from poky/meta/recipes-support/debianutils/debianutils_5.20.bb
rename to poky/meta/recipes-support/debianutils/debianutils_5.21.bb
index 6143812..e0485b2 100644
--- a/poky/meta/recipes-support/debianutils/debianutils_5.20.bb
+++ b/poky/meta/recipes-support/debianutils/debianutils_5.21.bb
@@ -11,7 +11,7 @@
 SRC_URI = "git://salsa.debian.org/debian/debianutils.git;protocol=https;branch=master \
            "
 
-SRCREV = "9f3d6fa6b8d91849a78d681294fa8ea7bfa9086f"
+SRCREV = "ae002b498f2e310c934a0b3f0992e83391f108c7"
 
 inherit autotools update-alternatives
 
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_283.bb b/poky/meta/recipes-support/diffoscope/diffoscope_284.bb
similarity index 93%
rename from poky/meta/recipes-support/diffoscope/diffoscope_283.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_284.bb
index 27aeaaa..77717d4 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_283.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_284.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "0469ff70e1f37b5e96496f5e3c88dbafcf03fafff409a90601ed84febc31c543"
+SRC_URI[sha256sum] = "c672e97ce3e69c229858419e8d368563bb583101a9cfc5eb70e28d441502b1b7"
 
 RDEPENDS:${PN} += "\
         binutils \
diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-fix-compile-failure-with-musl.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-fix-compile-failure-with-musl.patch
deleted file mode 100644
index ec99f4b..0000000
--- a/poky/meta/recipes-support/gnupg/gnupg/0001-fix-compile-failure-with-musl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 81c222ea179ef73fcae4b50c56342bdad4787a28 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 22 Aug 2024 15:31:16 +0800
-Subject: [PATCH] fix compile failure with musl
-
-```
-../../gnupg-2.5.0/scd/app.c:379:3: error: implicit declaration of function 'write'; did you mean 'fwrite'? [-Wimplicit-function-declaration]
-  379 |   write (card_list_lock.notify_pipe[1], "", 1);
-      |   ^~~~~
-      |   fwrite
-```
-To access the Posix low level file interface such as open, read,
-write and close, should include <unistd.h>.
-
-Upstream-Status: Backport [https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=1d5cfa9b7fd22e1c46eeed5fa9fed2af6f81d34f]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- scd/app.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/scd/app.c b/scd/app.c
-index ba7bb23..7d41e53 100644
---- a/scd/app.c
-+++ b/scd/app.c
-@@ -24,6 +24,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <npth.h>
-+#include <unistd.h>
- 
- #ifndef HAVE_W32_SYSTEM
- #include <fcntl.h>		/* F_SETFD F_GETFL F_SETFL O_NONBLOCK fcntl(2) */
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.5.2.bb b/poky/meta/recipes-support/gnupg/gnupg_2.5.2.bb
index 64c63e3..8e87382 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.5.2.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.5.2.bb
@@ -18,7 +18,6 @@
            file://0002-use-pkgconfig-instead-of-npth-config.patch \
            file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
            file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
-           file://0001-fix-compile-failure-with-musl.patch \
            "
 SRC_URI:append:class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
                                 file://relocate.patch"
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.8.8.bb b/poky/meta/recipes-support/gnutls/gnutls_3.8.8.bb
index 213b9ff..2682455 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.8.8.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.8.8.bb
@@ -55,7 +55,7 @@
 "
 
 # Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell.
-export POSIX_SHELL="${base_bindir}/sh"
+export POSIX_SHELL = "${base_bindir}/sh"
 
 do_configure:prepend() {
 	for dir in . lib; do
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
index 8ed3928..e6e86df 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch
@@ -1,4 +1,4 @@
-From ee1421f7a7a9f31400ba992a5be52b88d20170c9 Mon Sep 17 00:00:00 2001
+From b12b01239909b6fb41adc64d3c0ed32795554369 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 10 May 2019 14:18:04 +0800
 Subject: [PATCH] Revert "build: Make gpgme.m4 use gpgrt-config with *.pc."
@@ -10,16 +10,15 @@
 Upstream-Status: Inappropriate [oe-core specific]
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  src/gpgme.m4 | 54 ++++++++--------------------------------------------
  1 file changed, 8 insertions(+), 46 deletions(-)
 
 diff --git a/src/gpgme.m4 b/src/gpgme.m4
-index f2906c1..8cc2898 100644
+index 4cfe899..5f689e1 100644
 --- a/src/gpgme.m4
 +++ b/src/gpgme.m4
-@@ -125,24 +125,10 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
+@@ -122,24 +122,10 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
       fi
    fi
  
@@ -46,7 +45,7 @@
    fi
    gpgme_version_major=`echo $gpgme_version | \
                 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
-@@ -155,16 +141,12 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
+@@ -152,16 +138,12 @@ AC_REQUIRE([_AM_PATH_GPGRT_CONFIG])dnl
  
  AC_DEFUN([_AM_PATH_GPGME_CONFIG_HOST_CHECK],
  [
@@ -65,7 +64,7 @@
  *** built for $gpgme_config_host and thus may not match the
  *** used host $host.
  *** You may want to use the configure option --with-gpgme-prefix
-@@ -225,11 +207,7 @@ AC_DEFUN([AM_PATH_GPGME],
+@@ -223,11 +205,7 @@ AC_DEFUN([AM_PATH_GPGME],
       # If we have a recent GPGME, we should also check that the
       # API is compatible.
       if test "$req_gpgme_api" -gt 0 ; then
@@ -78,7 +77,7 @@
          if test "$tmp" -gt 0 ; then
             if test "$req_gpgme_api" -ne "$tmp" ; then
               ok=no
-@@ -372,11 +350,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
+@@ -370,11 +348,7 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
       # If we have a recent GPGME, we should also check that the
       # API is compatible.
       if test "$req_gpgme_api" -gt 0 ; then
@@ -91,7 +90,7 @@
          if test "$tmp" -gt 0 ; then
             if test "$req_gpgme_api" -ne "$tmp" ; then
               ok=no
-@@ -385,20 +359,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
+@@ -383,20 +357,8 @@ AC_DEFUN([AM_PATH_GPGME_GLIB],
       fi
    fi
    if test $ok = yes; then
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch
index 920df3d..af97f11 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-autogen.sh-remove-unknown-in-version.patch
@@ -1,4 +1,4 @@
-From 0d76b00111a112032eb8522791b70664100d4e0a Mon Sep 17 00:00:00 2001
+From 1d0fa519ef017aef4821af49c59bad119e7f0d66 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 26 Nov 2024 23:23:42 -0800
 Subject: [PATCH] autogen.sh: remove '-unknown' in version
@@ -20,7 +20,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/autogen.sh b/autogen.sh
-index 9f912972..9f7559b4 100755
+index 9f91297..9f7559b 100755
 --- a/autogen.sh
 +++ b/autogen.sh
 @@ -271,7 +271,7 @@ if [ "$myhost" = "find-version" ]; then
@@ -32,6 +32,3 @@
        cid="0000000"
        rev="0000000"
        rvd="0"
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
index 2fddf4c..59f9810 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch
@@ -1,4 +1,4 @@
-From e4e75bee348d297bd8288e6fd7e99ab033cbb90c Mon Sep 17 00:00:00 2001
+From 108461f6c50b57ba73970dc977e7d4e9a02624df Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 26 Nov 2024 23:04:52 -0800
 Subject: [PATCH] pkgconfig
@@ -27,10 +27,10 @@
  create mode 100644 src/gpgme-pthread.pc.in
 
 diff --git a/configure.ac b/configure.ac
-index 933fb150..08589a6b 100644
+index fe02bdf..6f33020 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1160,6 +1160,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
+@@ -1179,6 +1179,7 @@ AC_CONFIG_FILES(Makefile src/Makefile
                  src/gpgme-glib.pc
                  src/gpgme.h)
  AC_CONFIG_FILES(src/gpgme-config, chmod +x src/gpgme-config)
@@ -39,7 +39,7 @@
  AC_CONFIG_FILES(lang/cpp/tests/Makefile)
  AC_CONFIG_FILES(lang/cpp/src/gpgmepp.pc)
 diff --git a/src/Makefile.am b/src/Makefile.am
-index 03708620..e716ce4d 100644
+index 0370862..e716ce4 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
 @@ -20,11 +20,11 @@
@@ -58,7 +58,7 @@
  noinst_SCRIPTS = gpgme-config
 diff --git a/src/gpgme-pthread.pc.in b/src/gpgme-pthread.pc.in
 new file mode 100644
-index 00000000..074bbf6e
+index 0000000..074bbf6
 --- /dev/null
 +++ b/src/gpgme-pthread.pc.in
 @@ -0,0 +1,15 @@
@@ -78,7 +78,7 @@
 +Cflags: -I${includedir}
 +Requires: libassuan gpg-error
 diff --git a/src/gpgme.m4 b/src/gpgme.m4
-index 5f689e18..249e8c98 100644
+index 5f689e1..249e8c9 100644
 --- a/src/gpgme.m4
 +++ b/src/gpgme.m4
 @@ -166,7 +166,6 @@ dnl is added to the gpg_config_script_warn variable.
@@ -281,7 +281,7 @@
 -  AC_SUBST(GPGME_GLIB_LIBS)
  ])
 diff --git a/src/gpgme.pc.in b/src/gpgme.pc.in
-index 9ddef5cd..932645be 100644
+index 9ddef5c..932645b 100644
 --- a/src/gpgme.pc.in
 +++ b/src/gpgme.pc.in
 @@ -9,6 +9,6 @@ Name: gpgme
@@ -293,6 +293,3 @@
 +Cflags: -I${includedir}
 +Libs: -L${libdir} -lgpgme
  URL: https://www.gnupg.org/software/gpgme/index.html
--- 
-2.25.1
-
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch
index be58c42..9845b02 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-posix-io.c-Use-off_t-instead-of-off64_t.patch
@@ -1,4 +1,4 @@
-From be33cf1812b4c2a3ed85fb2532992bfb2b27b3be Mon Sep 17 00:00:00 2001
+From 13b955f66615caf34d19e86d97bcfe841d60d58c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 15 Dec 2022 08:44:13 -0800
 Subject: [PATCH] posix-io.c: Use off_t instead of off64_t
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch b/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
index 3d05808..f174e24 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0001-use-closefrom-on-linux-and-glibc-2.34.patch
@@ -1,4 +1,4 @@
-From e1fc4b06dcb62e1c2d85ae99f39ef1a8860570e1 Mon Sep 17 00:00:00 2001
+From 2592a1d97c66f8bff4bae095b14cb774de3e80c9 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 15 Jul 2021 12:33:13 -0700
 Subject: [PATCH] use closefrom() on linux and glibc 2.34+
@@ -8,7 +8,6 @@
 
 Rebase to 1.17.0
 Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
-
 ---
  src/posix-io.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
index 0d26929..373660b 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch
@@ -1,4 +1,4 @@
-From 9fce0689bc04506e5758444efa24ea99fe1ff5ef Mon Sep 17 00:00:00 2001
+From a956d17d2aa7fea53bab97715a8f98858e9b4a5c Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Fri, 10 May 2019 14:30:36 +0800
 Subject: [PATCH] gpgme/lang/python: gpg-error-config should not be used
@@ -14,16 +14,15 @@
 Rebase to 1.13.0
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  lang/python/setup.py.in | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
-index 6f36861..1d9058b 100755
+index d6f537e..695c02e 100755
 --- a/lang/python/setup.py.in
 +++ b/lang/python/setup.py.in
-@@ -169,9 +169,8 @@ class BuildExtFirstHack(build):
+@@ -173,9 +173,8 @@ class BuildExtFirstHack(build):
  
      def _generate_errors_i(self):
  
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch b/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
index 204fe59..004e587 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0003-Correctly-install-python-modules.patch
@@ -1,4 +1,4 @@
-From 8c850aa109c42d0c193bccc7af45dbc2689b23f6 Mon Sep 17 00:00:00 2001
+From 548d84c703a747c41a02e1d0ff6ad4c193a34a5c Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 30 Jan 2018 15:28:49 +0800
 Subject: [PATCH] Correctly install python modules
@@ -12,13 +12,12 @@
 
 Rebase to 1.10.0
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  lang/python/Makefile.am | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index 68b98e8..bbb9111 100644
+index a6fd639..136e979 100644
 --- a/lang/python/Makefile.am
 +++ b/lang/python/Makefile.am
 @@ -97,6 +97,7 @@ install-exec-local:
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch b/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
index 7fe0c95..120cb64 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch
@@ -1,4 +1,4 @@
-From 57475742b0288b4ee53c01c59c3ab03c1ef7932e Mon Sep 17 00:00:00 2001
+From 59b2e28b34f332d12935af41dbe3140f5842e8d1 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 13 Apr 2017 16:40:27 +0300
 Subject: [PATCH] gpgme-config: skip all /lib* or /usr/lib* directories in
@@ -9,7 +9,6 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  src/gpgme-config.in | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch b/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
index 8d48db2..00449e3 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0006-fix-build-path-issue.patch
@@ -1,4 +1,4 @@
-From 7938a5a760827aec737ea49d2f8719051abda188 Mon Sep 17 00:00:00 2001
+From 89a53d8d025fef4626006219f0f686982e215d97 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Wed, 31 Jan 2018 11:01:09 +0800
 Subject: [PATCH] fix build path issue
@@ -12,13 +12,12 @@
 
 Upstream-Status: Submitted [gnupg-devel@gnupg.org]
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
 ---
  lang/python/Makefile.am | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index bbb9111..cee499e 100644
+index 136e979..1495982 100644
 --- a/lang/python/Makefile.am
 +++ b/lang/python/Makefile.am
 @@ -96,8 +96,9 @@ install-exec-local:
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.24.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.24.1.bb
similarity index 96%
rename from poky/meta/recipes-support/gpgme/gpgme_1.24.0.bb
rename to poky/meta/recipes-support/gpgme/gpgme_1.24.1.bb
index d717c0c..86ba08c 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.24.0.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.24.1.bb
@@ -29,7 +29,7 @@
            file://0001-autogen.sh-remove-unknown-in-version.patch \
            "
 
-SRC_URI[sha256sum] = "61e3a6ad89323fecfaff176bc1728fb8c3312f2faa83424d9d5077ba20f5f7da"
+SRC_URI[sha256sum] = "ea05d0258e71061d61716584ec34cef59330a91340571edc46b78374973ba85f"
 
 PYTHON_DEPS = "${@bb.utils.contains('LANGUAGES', 'python', 'swig-native', '', d)}"
 
@@ -64,7 +64,7 @@
 inherit autotools texinfo binconfig-disabled pkgconfig multilib_header
 inherit_defer ${PYTHON_INHERIT} python3native
 
-export PKG_CONFIG='pkg-config'
+export PKG_CONFIG = 'pkg-config'
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-support/hwdata/hwdata_0.390.bb b/poky/meta/recipes-support/hwdata/hwdata_0.391.bb
similarity index 93%
rename from poky/meta/recipes-support/hwdata/hwdata_0.390.bb
rename to poky/meta/recipes-support/hwdata/hwdata_0.391.bb
index 3ca39ea..e4b8c59 100644
--- a/poky/meta/recipes-support/hwdata/hwdata_0.390.bb
+++ b/poky/meta/recipes-support/hwdata/hwdata_0.391.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
-SRCREV = "8b9819d19b1554d41dcc9c76a784e1732484cb15"
+SRCREV = "0955087d49d085d1ef2207d6bef0c07b02844b78"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb b/poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb
index 7d5e88f..bd503cb 100644
--- a/poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb
+++ b/poky/meta/recipes-support/libbsd/libbsd_0.12.2.bb
@@ -15,20 +15,17 @@
 # License: BSD-3-clause-author
 # License: BSD-3-clause-John-Birrell
 # License: BSD-3-clause-Regents
-# License: BSD-4-clause-Christopher-G-Demetriou
-# License: BSD-4-clause-Niels-Provos
 # License: BSD-5-clause-Peter-Wemm
 # License: Beerware
 # License: Expat
 # License: ISC
 # License: ISC-Original
 # License: public-domain
-# License: public-domain-Colin-Plumb
-LICENSE = "BSD-3-Clause & BSD-4-Clause & ISC & PD"
+LICENSE = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN} = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-dbg = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-dev = "BSD-3-Clause & ISC & PD"
-LICENSE:${PN}-doc = "BSD-3-Clause & BSD-4-Clause & ISC & PD"
+LICENSE:${PN}-doc = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-locale = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-src = "BSD-3-Clause & ISC & PD"
 LICENSE:${PN}-staticdev = "BSD-3-Clause & ISC & PD"
diff --git a/poky/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch b/poky/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch
index e77d0c8..c576351 100644
--- a/poky/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch
+++ b/poky/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch
@@ -1,4 +1,4 @@
-From 2261f47bac78aa77934ca03980ed54d1d86116b9 Mon Sep 17 00:00:00 2001
+From bda8da622bd3f4d8b0e577387e988ce364b917c4 Mon Sep 17 00:00:00 2001
 From: Roy Li <rongqing.li@windriver.com>
 Date: Thu, 23 Jun 2016 16:26:43 +0800
 Subject: [PATCH] Ensure the XATTR_NAME_CAPS is defined when it is used
diff --git a/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch b/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
index ecbdd22..f2d11b2 100644
--- a/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
+++ b/poky/meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch
@@ -1,4 +1,4 @@
-From fcb0166c5e991fcf62797b19bea39983214289cb Mon Sep 17 00:00:00 2001
+From 1343e4ee17bb3f72e6b244706cacbeb16463c5d7 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Thu, 14 Oct 2021 15:57:36 +0800
 Subject: [PATCH] nativesdk-libcap: Raise the size of arrays containing dl
@@ -19,7 +19,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/libcap/execable.h b/libcap/execable.h
-index 7a2d247..682e0ee 100644
+index 89e61a3..22518dd 100644
 --- a/libcap/execable.h
 +++ b/libcap/execable.h
 @@ -23,7 +23,7 @@
diff --git a/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch b/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch
index 31f27e9..8cabed6 100644
--- a/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch
+++ b/poky/meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch
@@ -1,4 +1,4 @@
-From a3368b38abfb703e730fc5462f42cc5d177d864d Mon Sep 17 00:00:00 2001
+From 5846ba594bedd66c8fd216cad6518f7be11b7a92 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 20 Dec 2019 16:54:05 +0100
 Subject: [PATCH] tests: do not run target executables
@@ -10,10 +10,10 @@
  1 file changed, 2 deletions(-)
 
 diff --git a/tests/Makefile b/tests/Makefile
-index ecb7d1b..8950c73 100644
+index 3d03721..fbb1d78 100644
 --- a/tests/Makefile
 +++ b/tests/Makefile
-@@ -61,13 +61,11 @@ endif
+@@ -69,13 +69,11 @@ endif
  
  # unprivileged
  run_psx_test: psx_test
diff --git a/poky/meta/recipes-support/libcap/libcap_2.71.bb b/poky/meta/recipes-support/libcap/libcap_2.73.bb
similarity index 96%
rename from poky/meta/recipes-support/libcap/libcap_2.71.bb
rename to poky/meta/recipes-support/libcap/libcap_2.73.bb
index 08ee442..94601c7 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.71.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.73.bb
@@ -19,7 +19,7 @@
 SRC_URI:append:class-nativesdk = " \
            file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \
            "
-SRC_URI[sha256sum] = "b7006c9af5168315f35fc734bf1a8d2aa70766bd8b8c4340962e05b19c35b900"
+SRC_URI[sha256sum] = "6405f6089cf4cdd8c271540cd990654d78dd0b1989b2d9bda20f933a75a795a5"
 
 UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/"
 
diff --git a/poky/meta/recipes-support/libgit2/libgit2/0001-src-libgit2-CMakeLists.txt-install-cmake-files-into-.patch b/poky/meta/recipes-support/libgit2/libgit2/0001-src-libgit2-CMakeLists.txt-install-cmake-files-into-.patch
new file mode 100644
index 0000000..ae48524
--- /dev/null
+++ b/poky/meta/recipes-support/libgit2/libgit2/0001-src-libgit2-CMakeLists.txt-install-cmake-files-into-.patch
@@ -0,0 +1,32 @@
+From 8ca35649c33d0d2fcdcd573ce6a9edd91c77e4da Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 7 Jan 2025 18:56:19 +0100
+Subject: [PATCH] src/libgit2/CMakeLists.txt: install cmake files into
+ configured libdir
+
+libdir can be something else than /usr/lib, e.g. /usr/lib64 or similar.
+
+Upstream-Status: Submitted [https://github.com/libgit2/libgit2/pull/7004]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/libgit2/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libgit2/CMakeLists.txt b/src/libgit2/CMakeLists.txt
+index a7d3c7ca4..16b3a23d9 100644
+--- a/src/libgit2/CMakeLists.txt
++++ b/src/libgit2/CMakeLists.txt
+@@ -119,11 +119,11 @@ configure_file(config.cmake.in
+ install(FILES
+ 	"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake"
+ 	"${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake"
+-	DESTINATION "lib/cmake/${PROJECT_NAME}")
++	DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
+ install(
+ 	EXPORT ${LIBGIT2_TARGETS_EXPORT_NAME}
+ 	NAMESPACE "${PROJECT_NAME}::"
+-	DESTINATION "lib/cmake/${PROJECT_NAME}")
++	DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
+ 
+ # Install
+ 
diff --git a/poky/meta/recipes-support/libgit2/libgit2_1.8.4.bb b/poky/meta/recipes-support/libgit2/libgit2_1.9.0.bb
similarity index 60%
rename from poky/meta/recipes-support/libgit2/libgit2_1.8.4.bb
rename to poky/meta/recipes-support/libgit2/libgit2_1.9.0.bb
index 63986fc..47a63ca 100644
--- a/poky/meta/recipes-support/libgit2/libgit2_1.8.4.bb
+++ b/poky/meta/recipes-support/libgit2/libgit2_1.9.0.bb
@@ -5,8 +5,10 @@
 
 DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
 
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.8;protocol=https"
-SRCREV = "3f4182d15eab74a302718f2de454ffadb1995626"
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=main;protocol=https \
+           file://0001-src-libgit2-CMakeLists.txt-install-cmake-files-into-.patch \
+           "
+SRCREV = "338e6fb681369ff0537719095e22ce9dc602dbf0"
 
 S = "${WORKDIR}/git"
 
@@ -19,3 +21,7 @@
 "
 
 BBCLASSEXTEND = "native"
+
+do_install:append() {
+    sed -i -e 's,${RECIPE_SYSROOT},,g' ${D}${libdir}/cmake/libgit2/libgit2Targets.cmake
+}
diff --git a/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch b/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch
index 3841c06..0a7c696 100644
--- a/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch
+++ b/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch
@@ -1,4 +1,4 @@
-From c06d8a8990c996cbb854508a944202ba70ba7a7c Mon Sep 17 00:00:00 2001
+From 145a0f3919f6884c377a9e6b8a03de707feb45fe Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 3 Mar 2022 20:10:04 -0800
 Subject: [PATCH] cmake: Do not export CC into gir compiler
@@ -15,7 +15,7 @@
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/cmake/modules/GObjectIntrospectionMacros.cmake b/cmake/modules/GObjectIntrospectionMacros.cmake
-index 83aff931..d7d3f898 100644
+index 83aff93..d7d3f89 100644
 --- a/cmake/modules/GObjectIntrospectionMacros.cmake
 +++ b/cmake/modules/GObjectIntrospectionMacros.cmake
 @@ -50,8 +50,7 @@ macro(gir_add_introspections introspections_girs)
@@ -28,6 +28,3 @@
                ${GObjectIntrospection_SCANNER_ARGS}
                --namespace=${_gir_namespace}
                --nsversion=${_gir_version}
--- 
-2.35.1
-
diff --git a/poky/meta/recipes-support/libical/libical_3.0.18.bb b/poky/meta/recipes-support/libical/libical_3.0.19.bb
similarity index 96%
rename from poky/meta/recipes-support/libical/libical_3.0.18.bb
rename to poky/meta/recipes-support/libical/libical_3.0.19.bb
index 052ca57..1ee39aa 100644
--- a/poky/meta/recipes-support/libical/libical_3.0.18.bb
+++ b/poky/meta/recipes-support/libical/libical_3.0.19.bb
@@ -15,7 +15,7 @@
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \
            file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \
           "
-SRC_URI[sha256sum] = "72b7dc1a5937533aee5a2baefc990983b66b141dd80d43b51f80aced4aae219c"
+SRC_URI[sha256sum] = "6a1e7f0f50a399cbad826bcc286ce10d7151f3df7cc103f641de15160523c73f"
 
 inherit cmake pkgconfig gobject-introspection vala github-releases
 
diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.0.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.1.bb
similarity index 95%
rename from poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.0.bb
rename to poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.1.bb
index e9ff898..35be1e2 100644
--- a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.0.bb
+++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.6.1.bb
@@ -10,7 +10,7 @@
                     file://LICENSE.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \
                     "
 SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;protocol=https"
-SRCREV = "7199c8959347b0e8342df7dc6e0c1fc4b484d2fb"
+SRCREV = "16c9e5c93e614f0df25f1cb30d0730102e6f4e41"
 S = "${WORKDIR}/git"
 
 do_configure[noexec] = "1"
diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.14.1.bb b/poky/meta/recipes-support/liburcu/liburcu_0.15.0.bb
similarity index 65%
rename from poky/meta/recipes-support/liburcu/liburcu_0.14.1.bb
rename to poky/meta/recipes-support/liburcu/liburcu_0.15.0.bb
index 3b083b2..95d9ba1 100644
--- a/poky/meta/recipes-support/liburcu/liburcu_0.14.1.bb
+++ b/poky/meta/recipes-support/liburcu/liburcu_0.15.0.bb
@@ -6,13 +6,15 @@
 BUGTRACKER = "http://lttng.org/project/issues"
 
 LICENSE = "LGPL-2.1-or-later & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \
-                    file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \
-                    file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c2a92498b6e88e276f986877995425b8 \
+                    file://include/urcu/urcu.h;beginline=1;endline=18;md5=d35fe8cc2613ca70e0a624ed8bf6fef9 \
+                    file://include/urcu/uatomic/x86.h;beginline=1;endline=6;md5=358d69272ba7b5f85e29e342430d440c \
+                    "
+
 
 SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2"
 
-SRC_URI[sha256sum] = "231acb13dc6ec023e836a0f0666f6aab47dc621ecb1d2cd9d9c22f922678abc0"
+SRC_URI[sha256sum] = "4f2d839af67905ad396d6d53ba5649b66113d90840dcbc89941e0da64bccd38c"
 
 S = "${WORKDIR}/userspace-rcu-${PV}"
 inherit autotools multilib_header
diff --git a/poky/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch b/poky/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch
index 345fc43..ee3e74c 100644
--- a/poky/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch
+++ b/poky/meta/recipes-support/nettle/nettle/Add-target-to-only-build-tests-not-run-them.patch
@@ -1,4 +1,4 @@
-From e9fcb2177fda228ac065d189240e2d992e86e5bf Mon Sep 17 00:00:00 2001
+From 3ea3eaf5bda21529fc8a8da3d8b07ebc3875ba7e Mon Sep 17 00:00:00 2001
 From: Trevor Gamblin <tgamblin@baylibre.com>
 Date: Fri, 2 Aug 2024 09:48:43 -0400
 Subject: [PATCH] Makefile.in: Add target to only build tests (not run them)
@@ -21,7 +21,7 @@
  2 files changed, 5 insertions(+)
 
 diff --git a/Makefile.in b/Makefile.in
-index 2bf7f1e8..403a868a 100644
+index 71ad761..0f239f4 100644
 --- a/Makefile.in
 +++ b/Makefile.in
 @@ -53,6 +53,9 @@ clean distclean mostlyclean maintainer-clean tags:
@@ -35,7 +35,7 @@
  	true
  
 diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
-index 0699fa0d..8ac9983c 100644
+index 0699fa0..8ac9983 100644
 --- a/testsuite/Makefile.in
 +++ b/testsuite/Makefile.in
 @@ -137,6 +137,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../non-nettle.$(OBJEXT) \
@@ -47,6 +47,3 @@
  check: $(TS_ALL) $(TS_ALL:sc-%=%)
  	TEST_SHLIB_DIR="$(TEST_SHLIB_DIR)" \
  	  srcdir="$(srcdir)" \
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch b/poky/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch
index 49d633b..89b5c7b 100644
--- a/poky/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch
+++ b/poky/meta/recipes-support/nettle/nettle/check-header-files-of-openssl-only-if-enable_.patch
@@ -1,4 +1,4 @@
-From 5f7cdd2b878298577accade43a38e1a0951d17b4 Mon Sep 17 00:00:00 2001
+From ec2ca7e505e6bfe1fff2a7d6e6bb39b60b93e19a Mon Sep 17 00:00:00 2001
 From: Haiqing Bai <Haiqing.Bai@windriver.com>
 Date: Fri, 9 Dec 2016 15:23:17 +0800
 Subject: [PATCH] nettle: check header files of openssl only if
@@ -23,7 +23,7 @@
  1 file changed, 5 insertions(+), 3 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 4f27e663..673c1492 100644
+index 7c003bb..779f7ff 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -197,9 +197,11 @@ AC_TYPE_SIZE_T
@@ -41,6 +41,3 @@
  
  # For use by the testsuite
  AC_CHECK_HEADERS([valgrind/memcheck.h])
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-support/nettle/nettle_3.10.bb b/poky/meta/recipes-support/nettle/nettle_3.10.1.bb
similarity index 96%
rename from poky/meta/recipes-support/nettle/nettle_3.10.bb
rename to poky/meta/recipes-support/nettle/nettle_3.10.1.bb
index 92bc782..85c470b 100644
--- a/poky/meta/recipes-support/nettle/nettle_3.10.bb
+++ b/poky/meta/recipes-support/nettle/nettle_3.10.1.bb
@@ -20,7 +20,7 @@
            file://check-header-files-of-openssl-only-if-enable_.patch \
            "
 
-SRC_URI[sha256sum] = "b4c518adb174e484cb4acea54118f02380c7133771e7e9beb98a0787194ee47c"
+SRC_URI[sha256sum] = "b0fcdd7fc0cdea6e80dcf1dd85ba794af0d5b4a57e26397eee3bc193272d9132"
 
 UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-support/re2c/re2c_4.0.1.bb b/poky/meta/recipes-support/re2c/re2c_4.0.2.bb
similarity index 90%
rename from poky/meta/recipes-support/re2c/re2c_4.0.1.bb
rename to poky/meta/recipes-support/re2c/re2c_4.0.2.bb
index b876d2b..2a0fb19 100644
--- a/poky/meta/recipes-support/re2c/re2c_4.0.1.bb
+++ b/poky/meta/recipes-support/re2c/re2c_4.0.2.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d"
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7c35d54fdf2c4b5981b80362d1c742aec4d011589673e02f2e9566f7e66c44af"
+SRC_URI[sha256sum] = "5e52ce0e26326115e41bc45d34dc2d5e10f2e44ed3a413fa2a826aa3500c8d56"
 GITHUB_BASE_URI = "https://github.com/skvadrik/re2c/releases"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/vte/vte_0.78.2.bb b/poky/meta/recipes-support/vte/vte_0.78.2.bb
index 182a307..0593d16 100644
--- a/poky/meta/recipes-support/vte/vte_0.78.2.bb
+++ b/poky/meta/recipes-support/vte/vte_0.78.2.bb
@@ -41,7 +41,7 @@
 
 PACKAGES =+ "libvte-gtk4 ${PN}-gtk4 ${PN}-gtk4-dev libvte ${PN}-prompt"
 FILES:libvte-gtk4 = "${libdir}/lib*gtk4.so.* ${libdir}/girepository-1.0/Vte-3.91.typelib"
-FILES:${PN}-gtk4 ="${bindir}/vte-2.91-gtk4"
+FILES:${PN}-gtk4 = "${bindir}/vte-2.91-gtk4"
 FILES:${PN}-gtk4-dev = "${libdir}/lib*gtk4.so \
                         ${libdir}/pkgconfig/vte-2.91-gtk4.pc \
                         ${datadir}/gir-1.0/Vte-3.91.gir \
@@ -49,7 +49,7 @@
                         ${datadir}/vala/vapi/vte-2.91-gtk4.vapi \
                         ${includedir}/vte-2.91-gtk4 \
                         "
-FILES:${PN} +="${systemd_user_unitdir}"
+FILES:${PN} += "${systemd_user_unitdir}"
 FILES:libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
 FILES:${PN}-prompt = " \
     ${sysconfdir}/profile.d \
diff --git a/poky/meta/recipes-support/xxhash/xxhash_0.8.2.bb b/poky/meta/recipes-support/xxhash/xxhash_0.8.3.bb
similarity index 93%
rename from poky/meta/recipes-support/xxhash/xxhash_0.8.2.bb
rename to poky/meta/recipes-support/xxhash/xxhash_0.8.3.bb
index f16b183..2276498 100644
--- a/poky/meta/recipes-support/xxhash/xxhash_0.8.2.bb
+++ b/poky/meta/recipes-support/xxhash/xxhash_0.8.3.bb
@@ -10,7 +10,7 @@
 SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=https"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
-SRCREV = "bbb27a5efb85b92a0486cf361a8635715a53f6ba"
+SRCREV = "e626a72bc2321cd320e953a0ccf1584cad60f363"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/scripts/devtool b/poky/scripts/devtool
index 60ea3e8..39cebec 100755
--- a/poky/scripts/devtool
+++ b/poky/scripts/devtool
@@ -7,19 +7,17 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
+import dataclasses
 import sys
 import os
 import argparse
 import glob
 import re
 import configparser
-import subprocess
 import logging
 
-basepath = ''
-workspace = {}
-config = None
-context = None
+# This can be removed once our minimum is Python 3.9: https://docs.python.org/3/whatsnew/3.9.html#type-hinting-generics-in-standard-collections
+from typing import List
 
 
 scripts_path = os.path.dirname(os.path.realpath(__file__))
@@ -30,16 +28,16 @@
 import argparse_oe
 logger = scriptutils.logger_create('devtool')
 
-plugins = []
 
-
-class ConfigHandler(object):
+class ConfigHandler:
+    basepath = None
     config_file = ''
     config_obj = None
     init_path = ''
     workspace_path = ''
 
-    def __init__(self, filename):
+    def __init__(self, basepath, filename):
+        self.basepath = basepath
         self.config_file = filename
         self.config_obj = configparser.ConfigParser()
 
@@ -47,7 +45,7 @@
         try:
             ret = self.config_obj.get(section, option)
         except (configparser.NoOptionError, configparser.NoSectionError):
-            if default != None:
+            if default is not None:
                 ret = default
             else:
                 raise
@@ -59,14 +57,14 @@
 
             if self.config_obj.has_option('General', 'init_path'):
                 pth = self.get('General', 'init_path')
-                self.init_path = os.path.join(basepath, pth)
+                self.init_path = os.path.join(self.basepath, pth)
                 if not os.path.exists(self.init_path):
                     logger.error('init_path %s specified in config file cannot be found' % pth)
                     return False
         else:
             self.config_obj.add_section('General')
 
-        self.workspace_path = self.get('General', 'workspace_path', os.path.join(basepath, 'workspace'))
+        self.workspace_path = self.get('General', 'workspace_path', os.path.join(self.basepath, 'workspace'))
         return True
 
 
@@ -81,27 +79,29 @@
             self.config_obj.add_section(section)
         self.config_obj.set(section, option, value)
 
+
+@dataclasses.dataclass
 class Context:
-    def __init__(self, **kwargs):
-        self.__dict__.update(kwargs)
+    fixed_setup: bool
+    config: ConfigHandler
+    pluginpaths: List[str]
 
 
-def read_workspace():
-    global workspace
+def read_workspace(basepath, context):
     workspace = {}
-    if not os.path.exists(os.path.join(config.workspace_path, 'conf', 'layer.conf')):
+    if not os.path.exists(os.path.join(context.config.workspace_path, 'conf', 'layer.conf')):
         if context.fixed_setup:
             logger.error("workspace layer not set up")
             sys.exit(1)
         else:
-            logger.info('Creating workspace layer in %s' % config.workspace_path)
-            _create_workspace(config.workspace_path, config, basepath)
+            logger.info('Creating workspace layer in %s' % context.config.workspace_path)
+            _create_workspace(context.config.workspace_path, basepath)
     if not context.fixed_setup:
-        _enable_workspace_layer(config.workspace_path, config, basepath)
+        _enable_workspace_layer(context.config.workspace_path, context.config, basepath)
 
-    logger.debug('Reading workspace in %s' % config.workspace_path)
+    logger.debug('Reading workspace in %s' % context.config.workspace_path)
     externalsrc_re = re.compile(r'^EXTERNALSRC(:pn-([^ =]+))? *= *"([^"]*)"$')
-    for fn in glob.glob(os.path.join(config.workspace_path, 'appends', '*.bbappend')):
+    for fn in glob.glob(os.path.join(context.config.workspace_path, 'appends', '*.bbappend')):
         with open(fn, 'r') as f:
             pnvalues = {}
             pn = None
@@ -112,7 +112,7 @@
                     pn = res.group(2) or recipepn
                     # Find the recipe file within the workspace, if any
                     bbfile = os.path.basename(fn).replace('.bbappend', '.bb').replace('%', '*')
-                    recipefile = glob.glob(os.path.join(config.workspace_path,
+                    recipefile = glob.glob(os.path.join(context.config.workspace_path,
                                                         'recipes',
                                                         recipepn,
                                                         bbfile))
@@ -126,13 +126,15 @@
             if pnvalues:
                 if not pn:
                     raise DevtoolError("Found *.bbappend in %s, but could not determine EXTERNALSRC:pn-*. "
-                            "Maybe still using old syntax?" % config.workspace_path)
+                            "Maybe still using old syntax?" % context.config.workspace_path)
                 if not pnvalues.get('srctreebase', None):
                     pnvalues['srctreebase'] = pnvalues['srctree']
                 logger.debug('Found recipe %s' % pnvalues)
                 workspace[pn] = pnvalues
 
-def create_workspace(args, config, basepath, workspace):
+    return workspace
+
+def create_workspace(args, config, basepath, _workspace):
     if args.layerpath:
         workspacedir = os.path.abspath(args.layerpath)
     else:
@@ -140,12 +142,12 @@
     layerseries = None
     if args.layerseries:
         layerseries = args.layerseries
-    _create_workspace(workspacedir, config, basepath, layerseries)
+    _create_workspace(workspacedir, basepath, layerseries)
     if not args.create_only:
         _enable_workspace_layer(workspacedir, config, basepath)
 
-def _create_workspace(workspacedir, config, basepath, layerseries=None):
-    import bb
+def _create_workspace(workspacedir, basepath, layerseries=None):
+    import bb.utils
 
     confdir = os.path.join(workspacedir, 'conf')
     if os.path.exists(os.path.join(confdir, 'layer.conf')):
@@ -190,7 +192,7 @@
 
 def _enable_workspace_layer(workspacedir, config, basepath):
     """Ensure the workspace layer is in bblayers.conf"""
-    import bb
+    import bb.utils
     bblayers_conf = os.path.join(basepath, 'conf', 'bblayers.conf')
     if not os.path.exists(bblayers_conf):
         logger.error('Unable to find bblayers.conf')
@@ -209,15 +211,9 @@
 
 
 def main():
-    global basepath
-    global config
-    global context
-
     if sys.getfilesystemencoding() != "utf-8":
         sys.exit("Please use a locale setting which supports utf-8.\nPython can't change the filesystem locale after loading so we need a utf-8 when python starts or things won't work.")
 
-    context = Context(fixed_setup=False)
-
     # Default basepath
     basepath = os.path.dirname(os.path.abspath(__file__))
 
@@ -242,21 +238,23 @@
     elif global_args.quiet:
         logger.setLevel(logging.ERROR)
 
+    is_fixed_setup = False
+
     if global_args.basepath:
         # Override
         basepath = global_args.basepath
         if os.path.exists(os.path.join(basepath, '.devtoolbase')):
-            context.fixed_setup = True
+            is_fixed_setup = True
     else:
         pth = basepath
         while pth != '' and pth != os.sep:
             if os.path.exists(os.path.join(pth, '.devtoolbase')):
-                context.fixed_setup = True
+                is_fixed_setup = True
                 basepath = pth
                 break
             pth = os.path.dirname(pth)
 
-        if not context.fixed_setup:
+        if not is_fixed_setup:
             basepath = os.environ.get('BUILDDIR')
             if not basepath:
                 logger.error("This script can only be run after initialising the build environment (e.g. by using oe-init-build-env)")
@@ -264,10 +262,9 @@
 
     logger.debug('Using basepath %s' % basepath)
 
-    config = ConfigHandler(os.path.join(basepath, 'conf', 'devtool.conf'))
+    config = ConfigHandler(basepath, os.path.join(basepath, 'conf', 'devtool.conf'))
     if not config.read():
         return -1
-    context.config = config
 
     bitbake_subdir = config.get('General', 'bitbake_subdir', '')
     if bitbake_subdir:
@@ -289,6 +286,7 @@
     scriptutils.logger_setup_color(logger, global_args.color)
 
     if global_args.bbpath is None:
+        import bb
         try:
             tinfoil = setup_tinfoil(config_only=True, basepath=basepath)
             try:
@@ -300,7 +298,10 @@
 
     # Search BBPATH first to allow layers to override plugins in scripts_path
     pluginpaths = [os.path.join(path, 'lib', 'devtool') for path in global_args.bbpath.split(':') + [scripts_path]]
-    context.pluginpaths = pluginpaths
+
+    context = Context(fixed_setup=is_fixed_setup, config=config, pluginpaths=pluginpaths)
+
+    plugins = []
     for pluginpath in pluginpaths:
         scriptutils.load_plugins(logger, plugins, pluginpath)
 
@@ -331,9 +332,9 @@
     args = parser.parse_args(unparsed_args, namespace=global_args)
 
     try:
+        workspace = {}
         if not getattr(args, 'no_workspace', False):
-            read_workspace()
-
+            workspace = read_workspace(basepath, context)
         ret = args.func(args, config, basepath, workspace)
     except DevtoolError as err:
         if str(err):
@@ -341,6 +342,7 @@
         ret = err.exitcode
     except argparse_oe.ArgumentUsageError as ae:
         parser.error_subcommand(ae.message, ae.subcommand)
+        ret = 2
 
     return ret
 
diff --git a/poky/scripts/lib/devtool/build_sdk.py b/poky/scripts/lib/devtool/build_sdk.py
index 1cd4831..9903039 100644
--- a/poky/scripts/lib/devtool/build_sdk.py
+++ b/poky/scripts/lib/devtool/build_sdk.py
@@ -5,14 +5,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import os
-import subprocess
 import logging
-import glob
-import shutil
-import errno
-import sys
-import tempfile
 from devtool import DevtoolError
 from devtool import build_image
 
diff --git a/poky/scripts/lib/devtool/ide_sdk.py b/poky/scripts/lib/devtool/ide_sdk.py
index 2f6edde..f8cf65f 100755
--- a/poky/scripts/lib/devtool/ide_sdk.py
+++ b/poky/scripts/lib/devtool/ide_sdk.py
@@ -167,7 +167,7 @@
             self.__rootfs_dbg = os.path.join(workdir, 'rootfs-dbg')
 
         self.gdbserver_missing = 'gdbserver' not in image_d.getVar(
-            'IMAGE_INSTALL')
+            'IMAGE_INSTALL') and 'tools-debug' not in image_d.getVar('IMAGE_FEATURES')
 
     @property
     def debug_support(self):
@@ -288,6 +288,7 @@
         self.bblayers = None
         self.bpn = None
         self.d = None
+        self.debug_build = None
         self.fakerootcmd = None
         self.fakerootenv = None
         self.libdir = None
@@ -348,6 +349,7 @@
         self.bpn = recipe_d.getVar('BPN')
         self.cxx = recipe_d.getVar('CXX')
         self.d = recipe_d.getVar('D')
+        self.debug_build = recipe_d.getVar('DEBUG_BUILD')
         self.fakerootcmd = recipe_d.getVar('FAKEROOTCMD')
         self.fakerootenv = recipe_d.getVar('FAKEROOTENV')
         self.libdir = recipe_d.getVar('libdir')
@@ -389,17 +391,6 @@
         self.recipe_id = self.bpn + "-" + self.package_arch
         self.recipe_id_pretty = self.bpn + ": " + self.package_arch
 
-    def append_to_bbappend(self, append_text):
-        with open(self.bbappend, 'a') as bbap:
-            bbap.write(append_text)
-
-    def remove_from_bbappend(self, append_text):
-        with open(self.bbappend, 'r') as bbap:
-            text = bbap.read()
-        new_text = text.replace(append_text, '')
-        with open(self.bbappend, 'w') as bbap:
-            bbap.write(new_text)
-
     @staticmethod
     def is_valid_shell_variable(var):
         """Skip strange shell variables like systemd
@@ -412,34 +403,6 @@
             return True
         return False
 
-    def debug_build_config(self, args):
-        """Explicitely set for example CMAKE_BUILD_TYPE to Debug if not defined otherwise"""
-        if self.build_tool is BuildTool.CMAKE:
-            append_text = os.linesep + \
-                'OECMAKE_ARGS:append = " -DCMAKE_BUILD_TYPE:STRING=Debug"' + os.linesep
-            if args.debug_build_config and not 'CMAKE_BUILD_TYPE' in self.cmake_cache_vars:
-                self.cmake_cache_vars['CMAKE_BUILD_TYPE'] = {
-                    "type": "STRING",
-                    "value": "Debug",
-                }
-                self.append_to_bbappend(append_text)
-            elif 'CMAKE_BUILD_TYPE' in self.cmake_cache_vars:
-                del self.cmake_cache_vars['CMAKE_BUILD_TYPE']
-                self.remove_from_bbappend(append_text)
-        elif self.build_tool is BuildTool.MESON:
-            append_text = os.linesep + 'MESON_BUILDTYPE = "debug"' + os.linesep
-            if args.debug_build_config and self.meson_buildtype != "debug":
-                self.mesonopts.replace(
-                    '--buildtype ' + self.meson_buildtype, '--buildtype debug')
-                self.append_to_bbappend(append_text)
-            elif self.meson_buildtype == "debug":
-                self.mesonopts.replace(
-                    '--buildtype debug', '--buildtype plain')
-                self.remove_from_bbappend(append_text)
-        elif args.debug_build_config:
-            logger.warn(
-                "--debug-build-config is not implemented for this build tool yet.")
-
     def solib_search_path(self, image):
         """Search for debug symbols in the rootfs and rootfs-dbg
 
@@ -493,7 +456,7 @@
 
         vars = (key for key in d.keys() if not key.startswith(
             "__") and not d.getVarFlag(key, "func", False))
-        for var in vars:
+        for var in sorted(vars):
             func = d.getVarFlag(var, "func", False)
             if d.getVarFlag(var, 'python', False) and func:
                 continue
@@ -545,7 +508,7 @@
         cache_vars = {}
         oecmake_args = d.getVar('OECMAKE_ARGS').split()
         extra_oecmake = d.getVar('EXTRA_OECMAKE').split()
-        for param in oecmake_args + extra_oecmake:
+        for param in sorted(oecmake_args + extra_oecmake):
             d_pref = "-D"
             if param.startswith(d_pref):
                 param = param[len(d_pref):]
@@ -950,6 +913,13 @@
                 recipe_modified.gen_meson_wrapper()
             ide.setup_modified_recipe(
                 args, recipe_image, recipe_modified)
+
+            if recipe_modified.debug_build != '1':
+                logger.warn(
+                    'Recipe %s is compiled with release build configuration. '
+                    'You might want to add DEBUG_BUILD = "1" to %s. '
+                    'Note that devtool modify --debug-build can do this automatically.',
+                    recipe_modified.name, recipe_modified.bbappend)
     else:
         raise DevtoolError("Must not end up here.")
 
@@ -957,6 +927,15 @@
 def register_commands(subparsers, context):
     """Register devtool subcommands from this plugin"""
 
+    # The ide-sdk command bootstraps the SDK from the bitbake environment before the IDE
+    # configuration is generated. In the case of the eSDK, the bootstrapping is performed
+    # during the installation of the eSDK installer. Running the ide-sdk plugin from an
+    # eSDK installer-based setup would require skipping the bootstrapping and probably
+    # taking some other differences into account when generating the IDE configurations.
+    # This would be possible. But it is not implemented.
+    if context.fixed_setup:
+        return
+
     global ide_plugins
 
     # Search for IDE plugins in all sub-folders named ide_plugins where devtool seraches for plugins.
@@ -1027,6 +1006,4 @@
         '-p', '--no-preserve', help='Do not preserve existing files', action='store_true')
     parser_ide_sdk.add_argument(
         '--no-check-space', help='Do not check for available space before deploying', action='store_true')
-    parser_ide_sdk.add_argument(
-        '--debug-build-config', help='Use debug build flags, for example set CMAKE_BUILD_TYPE=Debug', action='store_true')
     parser_ide_sdk.set_defaults(func=ide_setup)
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index f2440ae..0cdb9c6 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -19,9 +19,12 @@
 import errno
 import glob
 from collections import OrderedDict
+
 from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, use_external_build, setup_git_repo, recipe_to_append, get_bbclassextend_targets, update_unlockedsigs, check_prerelease_version, check_git_repo_dirty, check_git_repo_op, DevtoolError
 from devtool import parse_recipe
 
+import bb.utils
+
 logger = logging.getLogger('devtool')
 
 override_branch_prefix = 'devtool-override-'
@@ -29,7 +32,8 @@
 
 def add(args, config, basepath, workspace):
     """Entry point for the devtool 'add' subcommand"""
-    import bb
+    import bb.data
+    import bb.process
     import oe.recipeutils
 
     if not args.recipename and not args.srctree and not args.fetch and not args.fetchuri:
@@ -205,7 +209,7 @@
             for fn in os.listdir(tempdir):
                 shutil.move(os.path.join(tempdir, fn), recipedir)
         else:
-            raise DevtoolError('Command \'%s\' did not create any recipe file:\n%s' % (e.command, e.stdout))
+            raise DevtoolError(f'Failed to create a recipe file for source {source}')
         attic_recipe = os.path.join(config.workspace_path, 'attic', recipename, os.path.basename(recipefile))
         if os.path.exists(attic_recipe):
             logger.warning('A modified recipe from a previous invocation exists in %s - you may wish to move this over the top of the new recipe if you had changes in it that you want to continue with' % attic_recipe)
@@ -304,6 +308,7 @@
 
 def _check_compatible_recipe(pn, d):
     """Check if the recipe is supported by devtool"""
+    import bb.data
     if pn == 'perf':
         raise DevtoolError("The perf recipe does not actually check out "
                            "source and thus cannot be supported by this tool",
@@ -373,7 +378,7 @@
 
 def _git_ls_tree(repodir, treeish='HEAD', recursive=False):
     """List contents of a git treeish"""
-    import bb
+    import bb.process
     cmd = ['git', 'ls-tree', '-z', treeish]
     if recursive:
         cmd.append('-r')
@@ -388,7 +393,7 @@
 
 def _git_modified(repodir):
     """List the difference between HEAD and the index"""
-    import bb
+    import bb.process
     cmd = ['git', 'status', '--porcelain']
     out, _ = bb.process.run(cmd, cwd=repodir)
     ret = []
@@ -426,8 +431,6 @@
 
 def extract(args, config, basepath, workspace):
     """Entry point for the devtool 'extract' subcommand"""
-    import bb
-
     tinfoil = setup_tinfoil(basepath=basepath, tracking=True)
     if not tinfoil:
         # Error already shown
@@ -450,8 +453,6 @@
 
 def sync(args, config, basepath, workspace):
     """Entry point for the devtool 'sync' subcommand"""
-    import bb
-
     tinfoil = setup_tinfoil(basepath=basepath, tracking=True)
     if not tinfoil:
         # Error already shown
@@ -474,9 +475,9 @@
 
 def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, workspace, fixed_setup, d, tinfoil, no_overrides=False):
     """Extract sources of a recipe"""
-    import oe.recipeutils
-    import oe.patch
     import oe.path
+    import bb.data
+    import bb.process
 
     pn = d.getVar('PN')
 
@@ -541,6 +542,7 @@
     tempbasedir = d.getVar('WORKDIR')
     bb.utils.mkdirhier(tempbasedir)
     tempdir = tempfile.mkdtemp(prefix='devtooltmp-', dir=tempbasedir)
+    appendbackup = None
     try:
         tinfoil.logger.setLevel(logging.WARNING)
 
@@ -551,7 +553,6 @@
             appendbackup = os.path.join(tempdir, os.path.basename(appendfile) + '.bak')
             shutil.copyfile(appendfile, appendbackup)
         else:
-            appendbackup = None
             bb.utils.mkdirhier(os.path.dirname(appendfile))
         logger.debug('writing append file %s' % appendfile)
         with open(appendfile, 'a') as f:
@@ -677,8 +678,6 @@
 
 def _add_md5(config, recipename, filename):
     """Record checksum of a file (or recursively for a directory) to the md5-file of the workspace"""
-    import bb.utils
-
     def addfile(fn):
         md5 = bb.utils.md5_file(fn)
         with open(os.path.join(config.workspace_path, '.devtool_md5'), 'a+') as f:
@@ -697,7 +696,6 @@
 def _check_preserve(config, recipename):
     """Check if a file was manually changed and needs to be saved in 'attic'
        directory"""
-    import bb.utils
     origfile = os.path.join(config.workspace_path, '.devtool_md5')
     newfile = os.path.join(config.workspace_path, '.devtool_md5_new')
     preservepath = os.path.join(config.workspace_path, 'attic', recipename)
@@ -728,17 +726,16 @@
 
 def get_staging_kver(srcdir):
     # Kernel version from work-shared
-    kerver = []
-    staging_kerVer=""
-    if os.path.exists(srcdir) and os.listdir(srcdir):
+    import itertools
+    try:
         with open(os.path.join(srcdir, "Makefile")) as f:
-            version = [next(f) for x in range(5)][1:4]
-            for word in version:
-                kerver.append(word.split('= ')[1].split('\n')[0])
-            staging_kerVer = ".".join(kerver)
-    return staging_kerVer
+            # Take VERSION, PATCHLEVEL, SUBLEVEL from lines 1, 2, 3
+            return ".".join(line.rstrip().split('= ')[1] for line in itertools.islice(f, 1, 4))
+    except FileNotFoundError:
+        return ""
 
 def get_staging_kbranch(srcdir):
+    import bb.process
     staging_kbranch = ""
     if os.path.exists(srcdir) and os.listdir(srcdir):
         (branch, _) = bb.process.run('git branch | grep \\* | cut -d \' \' -f2', cwd=srcdir)
@@ -757,7 +754,8 @@
 
 def modify(args, config, basepath, workspace):
     """Entry point for the devtool 'modify' subcommand"""
-    import bb
+    import bb.data
+    import bb.process
     import oe.recipeutils
     import oe.patch
     import oe.path
@@ -972,6 +970,8 @@
                     if branch == args.branch:
                         continue
                     f.write('# patches_%s: %s\n' % (branch, ','.join(branch_patches[branch])))
+            if args.debug_build:
+                f.write('\nDEBUG_BUILD = "1"\n')
 
         update_unlockedsigs(basepath, workspace, args.fixed_setup, [pn])
 
@@ -1016,6 +1016,7 @@
         origfnver = ''
 
     recipefilemd5 = None
+    newrecipefilemd5 = None
     tinfoil = setup_tinfoil(basepath=basepath, tracking=True)
     try:
         rd = parse_recipe(config, tinfoil, args.recipename, True)
@@ -1093,6 +1094,7 @@
 
     # Rename source tree if it's the default path
     appendmd5 = None
+    newappendmd5 = None
     if not args.no_srctree:
         srctree = workspace[args.recipename]['srctree']
         if os.path.abspath(srctree) == os.path.join(config.workspace_path, 'sources', args.recipename):
@@ -1181,7 +1183,7 @@
     """Get initial and update rev of a recipe. These are the start point of the
     whole patchset and start point for the patches to be re-generated/updated.
     """
-    import bb
+    import bb.process
 
     # Get current branch
     stdout, _ = bb.process.run('git rev-parse --abbrev-ref HEAD',
@@ -1307,6 +1309,7 @@
     """
     import oe.recipeutils
     from oe.patch import GitApplyTree
+    import bb.process
     updated = OrderedDict()
     added = OrderedDict()
     seqpatch_re = re.compile('^([0-9]{4}-)?(.+)')
@@ -1328,6 +1331,7 @@
             # values, but they ought to be anyway...
             new_basename = seqpatch_re.match(new_patch).group(2)
             match_name = None
+            old_patch = None
             for old_patch in existing_patches:
                 old_basename = seqpatch_re.match(old_patch).group(2)
                 old_basename_splitext = os.path.splitext(old_basename)
@@ -1376,6 +1380,7 @@
 
 def _create_kconfig_diff(srctree, rd, outfile):
     """Create a kconfig fragment"""
+    import bb.process
     # Only update config fragment if both config files exist
     orig_config = os.path.join(srctree, '.config.baseline')
     new_config = os.path.join(srctree, '.config.new')
@@ -1413,6 +1418,8 @@
          - for removed dict, the absolute path to the existing file in recipe space
     """
     import oe.recipeutils
+    import bb.data
+    import bb.process
 
     # Find out local files (SRC_URI files that exist in the "recipe space").
     # Local files that reside in srctree are not included in patch generation.
@@ -1471,7 +1478,7 @@
                     added[fragment_fn] = {}
             else:
                 if fragment_fn in updated:
-                    revoved[fragment_fn] = updated[fragment_fn]
+                    removed[fragment_fn] = updated[fragment_fn]
                     del updated[fragment_fn]
 
     # Special handling for cml1, ccmake, etc bbclasses that generated
@@ -1504,7 +1511,7 @@
 
 def _update_recipe_srcrev(recipename, workspace, srctree, rd, appendlayerdir, wildcard_version, no_remove, no_report_remove, dry_run_outdir=None):
     """Implement the 'srcrev' mode of update-recipe"""
-    import bb
+    import bb.process
     import oe.recipeutils
 
     dry_run_suffix = ' (dry-run)' if dry_run_outdir else ''
@@ -1542,6 +1549,7 @@
         local_files_dir = tempfile.mkdtemp(dir=tempdir)
         srctreebase = workspace[recipename]['srctreebase']
         upd_f, new_f, del_f = _export_local_files(srctree, rd, local_files_dir, srctreebase)
+        removedentries = {}
         if not no_remove:
             # Find list of existing patches in recipe file
             patches_dir = tempfile.mkdtemp(dir=tempdir)
@@ -1605,7 +1613,6 @@
 
 def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wildcard_version, no_remove, no_report_remove, initial_rev, dry_run_outdir=None, force_patch_refresh=False):
     """Implement the 'patch' mode of update-recipe"""
-    import bb
     import oe.recipeutils
 
     recipefile = rd.getVar('FILE')
@@ -1719,6 +1726,7 @@
             for basepath, param in upd_p.items():
                 path = param['path']
                 patchdir = param.get('patchdir', ".")
+                patchdir_param = {}
                 if patchdir != "." :
                     patchdir_param = dict(patchdir_params)
                     if patchdir_param:
@@ -1784,6 +1792,7 @@
 
 def _guess_recipe_update_mode(srctree, rdata):
     """Guess the recipe update mode to use"""
+    import bb.process
     src_uri = (rdata.getVar('SRC_URI') or '').split()
     git_uris = [uri for uri in src_uri if uri.startswith('git://')]
     if not git_uris:
@@ -1805,6 +1814,8 @@
     return 'patch'
 
 def _update_recipe(recipename, workspace, rd, mode, appendlayerdir, wildcard_version, no_remove, initial_rev, no_report_remove=False, dry_run_outdir=None, no_overrides=False, force_patch_refresh=False):
+    import bb.data
+    import bb.process
     srctree = workspace[recipename]['srctree']
     if mode == 'auto':
         mode = _guess_recipe_update_mode(srctree, rd)
@@ -1927,6 +1938,7 @@
 
 def _reset(recipes, no_clean, remove_work, config, basepath, workspace):
     """Reset one or more recipes"""
+    import bb.process
     import oe.path
 
     def clean_preferred_provider(pn, layerconf_path):
@@ -2030,8 +2042,6 @@
 
 def reset(args, config, basepath, workspace):
     """Entry point for the devtool 'reset' subcommand"""
-    import bb
-    import shutil
 
     recipes = ""
 
@@ -2310,6 +2320,7 @@
     parser_modify.add_argument('--branch', '-b', default="devtool", help='Name for development branch to checkout (when not using -n/--no-extract) (default "%(default)s")')
     parser_modify.add_argument('--no-overrides', '-O', action="store_true", help='Do not create branches for other override configurations')
     parser_modify.add_argument('--keep-temp', help='Keep temporary directory (for debugging)', action="store_true")
+    parser_modify.add_argument('--debug-build', action="store_true", help='Add DEBUG_BUILD = "1" to the modified recipe')
     parser_modify.set_defaults(func=modify, fixed_setup=context.fixed_setup)
 
     parser_extract = subparsers.add_parser('extract', help='Extract the source for an existing recipe',
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index eed3a49..94b6c11 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -169,6 +169,7 @@
 
 def _extract_new_source(newpv, srctree, no_patch, srcrev, srcbranch, branch, keep_temp, tinfoil, rd):
     """Extract sources of a recipe with a new version"""
+    import oe.patch
 
     def __run(cmd):
         """Simple wrapper which calls _run with srctree as cwd"""
diff --git a/poky/scripts/lib/wic/help.py b/poky/scripts/lib/wic/help.py
index 163535e..9180d75 100644
--- a/poky/scripts/lib/wic/help.py
+++ b/poky/scripts/lib/wic/help.py
@@ -916,6 +916,10 @@
                    will create empty partition. --size parameter has
                    to be used to specify size of empty partition.
 
+         --sourceparams: This option is specific to wic. Supply additional
+                         parameters to the source plugin in
+                         key1=value1,key2 format.
+
          --ondisk or --ondrive: Forces the partition to be created on
                                 a particular disk.
 
@@ -932,6 +936,7 @@
              squashfs
              erofs
              swap
+             none
 
          --fsoptions: Specifies a free-form string of options to be
                       used when mounting the filesystem. This string
@@ -965,6 +970,14 @@
                               to start a partition on an x KBytes
                               boundary.
 
+         --offset: This option is specific to wic that says to place a partition
+                   at exactly the specified offset. If the partition cannot be
+                   placed at the specified offset, the image build will fail.
+                   Specify as an integer value optionally followed by one of the
+                   units s/S for 512 byte sector, k/K for kibibyte, M for
+                   mebibyte and G for gibibyte. The default unit if none is
+                   given is k.
+
          --no-table: This option is specific to wic. Space will be
                      reserved for the partition and it will be
                      populated but it will not be added to the
@@ -1045,6 +1058,18 @@
                            not take effect when --mkfs-extraopts is used. This should be taken into
                            account when using --mkfs-extraopts.
 
+         --type: This option is specific to wic. Valid values are 'primary',
+                 'logical'. For msdos partition tables, this option specifies
+                 the partition type.
+
+         --hidden: This option is specific to wic. This option sets the
+                   RequiredPartition bit (bit 0) on GPT partitions.
+
+         --mbr: This option is specific to wic. This option is used with the
+                gpt-hybrid partition type that uses both a GPT partition and
+                an MBR header. Partitions with this flag will be included in
+                this MBR header.
+
     * bootloader
 
       This command allows the user to specify various bootloader
@@ -1063,6 +1088,13 @@
                       file. Using this option will override any other
                       bootloader option.
 
+        --ptable: Specifies the partition table format. Valid values are
+                  'msdos', 'gpt', 'gpt-hybrid'.
+
+        --source: Specifies the source plugin. If not specified, the
+                  --source value will be copied from the partition that has
+                  /boot as mountpoint.
+
       Note that bootloader functionality and boot partitions are
       implemented by the various --source plugins that implement
       bootloader functionality; the bootloader command essentially
diff --git a/poky/scripts/lz4c b/poky/scripts/lz4c
new file mode 100755
index 0000000..466fc34
--- /dev/null
+++ b/poky/scripts/lz4c
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+# Wrapper to intercept legacy lz4c arguments and convert to lz4.
+args=()
+while [ $# -ne 0 ]; do
+    case ${1} in
+        -c0)
+            args+=(-0)
+            ;;
+        -c1)
+            args+=(-9)
+            ;;
+        -c2|-hc)
+            args+=(-12)
+            ;;
+        -y)
+            args+=(--force)
+            ;;
+        *)
+            args+=("${1}")
+            ;;
+    esac
+    shift
+done
+
+exec lz4 "${args[@]}"
diff --git a/poky/scripts/oe-setup-build b/poky/scripts/oe-setup-build
index 80d8c70..49603d9 100755
--- a/poky/scripts/oe-setup-build
+++ b/poky/scripts/oe-setup-build
@@ -18,8 +18,7 @@
 
 def discover_templates(layers_file):
     if not os.path.exists(layers_file):
-        print("List of layers {} does not exist; were the layers set up using the setup-layers script?".format(layers_file))
-        return None
+        raise Exception("List of layers {} does not exist; were the layers set up using the setup-layers script or bitbake-setup tool?".format(layers_file))
 
     templates = []
     layers_list = json.load(open(layers_file))["layers"]
@@ -77,8 +76,7 @@
         for t in templates:
             if t["templatename"] == template_name:
                 return t
-        print("Configuration {} is not one of {}, please try again.".format(template_name, [t["templatename"] for t in templates]))
-        return None
+        raise Exception("Configuration {} is not one of {}, please try again.".format(template_name, [t["templatename"] for t in templates]))
 
 def setup_build_env(args):
     templates = discover_templates(args.layerlist)