subtree updates

meta-security: 30e755c592..283a773f24:
  Armin Kuster (2):
        meta-security: Drop ${PYTHON_PN}
        openscap: update to tip to fix new build issue.

  Jeremy A. Puhlman (4):
        arpwatch: fix misspelling of PACKAGECONFIG
        aprwatch: Add path for sendmail
        Check for usrmerge before removing /usr/lib
        arpwatch: install man8 dir

  Kevin Hao (4):
        docs: dm-verity.txt: Fix a typo
        dm-verity: Adjust the image names according to the oe-core change
        dm-verity: Set the IMAGE_FSTYPES correctly when dm-verity is enabled
        dm-verity-image-initramfs: Set IMAGE_NAME_SUFFIX to empty

  Max Krummenacher (1):
        layer.conf: Update for the scarthgap release series

  Mingli Yu (1):
        python3-pyinotify: Make asyncore support optional for Python 3

poky: 7165c23237..110ee701b3:
  Alejandro Hernandez Samaniego (1):
        python3-manifest: Sync RDEPENDS with latest version

  Alexander Kanavin (11):
        meson: correct upstream version check (exclude pre-releases)
        cargo-c-native: convert from git fetcher to crate fetcher
        cargo-c-native: update 0.9.18 -> 0.9.30
        man-pages: use env from coreutils-native
        sdk-manual: correctly describe separate build-sysroots tasks in direct sdk workflows
        dev/ref-manual: document conf-summary.txt together with conf-notes.txt
        dev-manual: improve descriptions of 'bitbake -S printdiff'
        wayland: fix upstream version check by asking gitlab directly
        python3: correct upstream version check
        bitbake: bitbake: improve descriptions of '-S printdiff'
        selftest/sstatetests: run CDN check twice, ignoring errors the first time

  Alexandre Truong (1):
        oeqa/selftest/devtool: fix test_devtool_add_git_style2

  Anibal Limon (1):
        wic: bootimg-partition allow to set var to get boot files

  BELOUARGA Mohamed (1):
        ref-manual: add documentation of the variable SPDX_NAMESPACE_PREFIX

  Bartosz Golaszewski (1):
        linux-firmware: update to 20240312

  Baruch Siach (1):
        oeqa/selftest/overlayfs: test read-only rootfs

  Bruce Ashfield (16):
        linux-yocto/6.6: cfg: generic arm64
        linux-yocto/6.6: cfg: riscv XHCI
        linux-yocto/6.6: update to v6.6.21
        linux-yocto/6.6: update CVE exclusions (6.6.21)
        linux-yocto/6.6: cfg: drop unsettable options
        linux-yocto/6.6: drm/tilcdc: Set preferred depth
        linux-yocto/6.6: update to v6.6.22
        linux-yocto/6.6: update CVE exclusions (6.6.22)
        yocto-bsps: update to v6.6.21
        linux-yocto/6.6: cfg: genericarm64 platform/peripheral support
        linux-yocto/6.6: cfg: genericarm64 configuration updates
        linux-yocto/6.6: nftables: ptest and cleanup tweaks
        linux-yocto/6.6: update to v6.6.23
        linux-yocto/6.6: update CVE exclusions (6.6.23)
        linux-yocto-dev: bump to v6.9
        lttng-modules: update to v2.13.12

  Changqing Li (1):
        dnf: fix Exception handling for class ProcessLock

  Chen Qi (1):
        ovmf: set CVE_PRODUCT and CVE_VERSION

  Christian Taedcke (1):
        kernel-fitImage: only include valid compatible line

  Derek Erdmann (1):
        bitbake: fetch2/git: Install Git LFS in local repository config

  Enrico Jörns (3):
        cml1: remove needless check for write_taint attribute
        cml1: prompt location of updated .config after do_menuconfig()
        perf: fix TMPDIR contamination for recent mainline kernels

  Enrico Scholz (1):
        shadow: fix copydir operation with 'pseudo'

  Felix Moessbauer (1):
        bitbake: utils: better estimate number of available cpus

  Harish Sadineni (3):
        gcc: Oe-selftest failure analysis - fix for tcl errors
        gcc: Oe-selftest failure analysis - fix for vect-simd test failures
        binutils: gprofng - change use of bignum to use of bignint

  Jermain Horsman (1):
        bblayers/makesetup.py: Move git utility functions to oe.buildcfg module

  Joe Slater (1):
        systemd: enable mac based names in NamePolicy

  Jose Quaresma (5):
        go.bbclass: set GOPROXY
        elfutils: fix unused variable BUFFER_SIZE
        go: keep the patches in order
        go: upgrade 1.22.1 -> 1.22.2
        sstatesig: fix netrc.NetrcParseError exception

  Joshua Watt (4):
        sstatesig: Set hash server credentials from bitbake variables
        bitbake: siggen: Add support for hashserve credentials
        sstatesig: Warn on bad .netrc
        bitbake: bitbake-hashclient: Warn on bad .netrc

  Jörg Sommer (1):
        autotools: update link in comment for cross compiling

  Kevin Hao (1):
        image-live.bbclass: Adjust the default value for INITRD_LIVE

  Khem Raj (13):
        systemd: Check for directory before chmod'ing it
        llvm: Update to 18.1.1 release
        elfutils: Fix build break with clang
        glibc: Update to tip of 2.39 branch
        pam: Fix build with musl
        piglit: Switch to upstreamed patch for musl fix
        qemuriscv: Fix kbd and mouse emulation for qemuriscv64
        llvm: Upgrade to 18.1.2 bugfix release
        glibc: Repace aarch configure patch fix with a backport
        valgrind: Backport fixes from 3.22 branch
        tcl: Forward port skip logic for musl ptests
        readline: Apply patches from readline-8.2-patches
        mesa: Drop LLVM-17 patch

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

  Marcel Ziswiler (1):
        mesa: enable imagination powervr support

  Markus Volk (11):
        mesa: fix opencl-spirv build
        vala: merge bb and inc files
        vala: fix for gtk4 prior to 4.14
        libsoup: enable vapi support
        gsettings-desktop-schemas: update 45.0 -> 46.0
        libadwaita: update 1.4.4 -> 1.5.0
        gtk4: update 4.12.5 -> 4.14.1
        systemd: disable mdns feature in resolved for zeroconf
        webkitgtk: update 2.42.5 -> 2.44.0
        gtk+3: disable wayland without opengl
        epiphany: update 45.3 -> 46.0

  Martin Jansa (2):
        contributor-guide: be more specific about meta-* trees
        pixman: explicitly disable openmp in native builds

  Max Krummenacher (1):
        git: git-replacement-native: depend on ca-certificate

  Michael Opdenacker (8):
        manuals: add initial stylechecks with Vale
        profile-manual: usage.rst: formatting fixes
        manuals: use "manual page(s)"
        profile-manual: usage.rst: fix reference to bug report
        documentation: Makefile: remove releases.rst in "make clean"
        migration-guides: draft notes for upcoming release 5.0
        manuals: add initial stylechecks with Vale
        profile-manual: usage.rst: further style improvements

  Oleh Matiusha (3):
        bash: improve reproducibility
        curl: improve reproducibility
        gmp: improve reproducibility

  Paul Barker (1):
        kernel: Fix check_oldest_kernel

  Peter A. Bigot (1):
        bitbake: lib/bb: support NO_COLOR

  Peter Kjellerstedt (1):
        util-linux: Set the license for util-linux-fcntl-lock to MIT

  Philippe Rivest (1):
        bitbake: bitbake: fetch2/git: Escape parentheses in git src name

  Quentin Schulz (1):
        u-boot: fix externalsrc not triggering do_configure on defconfig changes

  Randy MacLeod (1):
        gstreamer: upgrade 1.22.10 -> 1.22.11

  Richard Purdie (10):
        poky: Update to prepare for scarthgap release
        layer.conf: Prepare for release, drop nanbield LAYERSERIES
        expat: Upgrade 2.6.1 -> 2.6.2
        bash/flex: Ensure BUILD_FLAGS doesn't leak onto target
        uninative: Add pthread linking workaround
        poky-altcfg: Default to ipk packaging
        util-linux: Add missing MIT license
        util-linux: Add fcntl-lock
        run-postinsts: Add workaround for locking deadlock issue
        oeqa/sstatetests: Fix race issue

  Ross Burton (22):
        genericarm64.wks: reorder partitions
        genericarm64: clean up kernel modules and firmware
        linux-firmware: add support for deduplicating the firmware
        linux-firmware: set LICENSE field for -liquidui and -mellanox
        linux-firmware: remove pointless linux-firmware-gplv2-license package
        curl: improve run-ptest
        curl: increase test timeouts
        gstreamer1.0: improve test reliability
        linux-yocto: put COMPATIBLE_MACHINE first
        linux-yocto: implicitly track oe-core's kernel version for genericarm64
        bitbake: fetch2: handle URIs with single-valued query parameters
        python3_pip517: just count wheels in the directory, not subdirectories
        python-*: don't set PYPI_ARCHIVE_NAME and S when PYPI_PACKAGE is sufficient
        tcl: improve run-ptest
        tcl: skip I/O channel 46.1
        genericarm64: add qemuboot configuration
        classes/qemuboot: add depends on qemu-system-native and qemu-helper-native
        README.hardware.md: fix Markdown formatting
        README.hardware.md: add section on genericarm64 on qemu
        glib-2.0: skip a timing sensitive ptest
        openssl: fix crash on aarch64 if BTI is enabled but no Crypto instructions
        curl: fix quoting when disabling flaky tests

  Ryan Eatmon (1):
        perf: Fix QA error due to most recent kernel

  Sam Van Den Berge (1):
        shadow: don't install libattr.so.* when xattr not in DISTRO_FEATURES

  Sava Jakovljev (1):
        bitbake: bitbake-worker: Fix bug where umask 0 was not being applied to a task

  Simone Weiß (1):
        gnutls: upgrade 3.8.3 -> 3.8.4

  Soumya Sambu (1):
        go: Upgrade 1.22.0 -> 1.22.1

  Sourav Kumar Pramanik (1):
        libseccomp: Add back in PTESTS_SLOW list

  Sundeep KOKKONDA (1):
        rust: reproducibility issue fix with v1.75

  Tim Orling (2):
        coreutils: drop obsolete liberror-perl RDEPENDS
        liberror-perl: move to meta-perl

  Timon Bergelt (1):
        populate_sdk_ext.bbclass: only overwirte lsb string if uninative is used

  Tom Hochstein (2):
        bmaptool: Add bmap-tools runtime alias for compatibility
        toolchain-shar-relocate.sh: Add check for missing command 'file'

  Trevor Woerner (1):
        bmaptool: update to latest

  Ulrich Ölmann (1):
        ref-manual: classes: update description of class 'image_types'

  Viswanath Kraleti (1):
        bitbake: fetch2: Fix misleading "no output" msg

  Wang Mingyu (1):
        libadwaita: upgrade 1.4.3 -> 1.4.4

  William Lyu (1):
        openssh: Add a workaround for ICE on powerpc64le

  Xiangyu Chen (3):
        lttng-tools: skip kernel tests if no kernel modules present
        ltp: fix missing connectors tests in scenario_groups/default
        lttng-tools: fix rotation-destroy-flush test fails if no kernel module present

  Yang Xu (1):
        bitbake: bitbake-worker: Fix silent hang issue caused by unexpected stdout content

  Yannick Rodriguez (1):
        linux-firmware: Move Intel 9260 modules firmware.

  Yash Shinde (1):
        glibc: Skip 2 qemu tests that can hang in oe-selftest

  Yi Zhao (1):
        libtirpc: drop redundant PACKAGECONFIG

  Yoann Congal (6):
        cve-update-nvd2-native: Fix typo in comment
        cve-update-nvd2-native: Add an age threshold for incremental update
        cve-update-nvd2-native: Remove duplicated CVE_CHECK_DB_FILE definition
        cve-update-nvd2-native: nvd_request_next: Improve comment
        cve-update-nvd2-native: Fix CVE configuration update
        cve-update-nvd2-native: Remove rejected CVE from database

  Yogesh Tyagi (1):
        lttng-modules: fix v6.8+ build

  david d zuhn (1):
        bitbake: bitbake-worker: allow '=' in environment variable values

  lixiaoyong (3):
        kernel-module-split.bbclass: enhance objcopy command call for kernel compilation with llvm
        utils: enhance readelf command call with llvm
        oe/package: enhance objdump command call with llvm

meta-raspberrypi: 92a9b7a012..d072cc8a48:
  Khem Raj (9):
        linux-raspberrypi: Add recipe for 6.6 LTS kernel
        bluez-firmware-rpidistro: Upgrade to 1.2-9+rpt3 release
        linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt2
        raspberrypi-firmware: Fetch using git URI
        rpi-base: Add missing broadcom/ prefix to find DTB files
        rpi-default-versions: Switch default kernel to 6.6
        linux-raspberrypi_6.6: Bump to 6.6.22
        rpi-bootfiles: Resort to github APIs for tarballs
        raspberrypi-firmware: Revert to debian archive

  Martin Jansa (1):
        userland: fix installed-vs-shipped in multilib builds

  jdavidsson (1):
        rpi-base: Add hifiberry-dacplusadc overlay

meta-arm: aba9250494..d9e18ce792:
  Abdellatif El Khlifi (1):
        arm-bsp/corstone1000: add documentation disclaimer

  Alexander Sverdlin (1):
        optee-ftpm: fix EARLY_TA_PATHS passed to optee-os

  Ali Can Ozaslan (4):
        arm-bsp/trusted-firmware-m: corstone1000: update to 2.0
        arm-bsp/trusted-services: corstone1000: Client Id adjustments after TF-M 2.0
        arm/trusted-firmware-m: Change GNU Arm compiler version for TF-M 2.0
        arm-bsp/trusted-firmware-a: n1sdp: update to 2.10

  Anusmita Dutta Mazumder (2):
        arm-bsp/n1sdp: Update scp-firmware version
        arm-bsp/n1sdp: Update EDK2 version

  Bence Balogh (2):
        arm-bsp/u-boot: corstone1000: fix SMCCC_ARCH_FEATURES detection in the PSCI driver
        arm-bsp/trusted-firmware-a: corstone1000: remove SMCCC_ARCH_FEATURES discovery workaround

  Delane Brandy (1):
        arm/trusted-firmware-a: fix mbedTLS version

  Drew Reed (2):
        kas: Corstone-1000 kas files updated
        bsp: Corstone-1000 userguide updates

  Emekcan Aras (2):
        arm-bsp/trusted-firmware-a: Upgrade Corstone1000 to TF-A v2.10
        arm/trusted-services: Add recipe for block storage service

  Jon Mason (17):
        README: Add information about release process and mailing list
        arm/linux-yocto: remove unreferenced patch
        arm/optee: disable clang due to breakage
        arm-bsp/tf-a-tests: remove corstone1000 intermediate SHA
        arm-bsp/tfa-tests: move n1sdp patch to platform directory
        CI: update kas to 4.3.1
        arm/edk2: update to 202402
        arm/trusted-firmware-a: update to 2.10.2
        arm/sbsa-acs: update to 7.1.4
        arm/scp-firmware: update to v2.14.0
        arm-toolchain/gcc-arm-none-eabi: remove 11.2
        CI: reduce coverage of dev kernel
        arm/sbsa-acs: remove unreferenced patch
        arm-toolchain: correct UPSTREAM_CHECK
        Revert "arm/rmm: Add bitbake, include and patch file for RMM firmware"
        arm/sbsa-acs: use UPSTREAM_CHECK_URI for version checking
        arm: use UPSTREAM_CHECK_COMMITS for git versioned recipes

  Mathieu Poirier (1):
        arm/rmm: Add bitbake, include and patch file for RMM firmware

  Ross Burton (3):
        arm arm-bsp: enable patch-status warnings
        Add SECURITY.md
        CI: ignore netrc warnings caused by Kas

meta-openembedded: a0237019f5..a6bcdca5b4:
  Bartosz Golaszewski (1):
        libgpiod: update to v2.1.1

  Chad Rockey (1):
        cppzmq-dev expects /usr/lib/libzmq.a

  Changqing Li (1):
        postgresql: fix a runtime error

  Chen Qi (1):
        tcprelay: fix a minor cross compilation do_configure issue

  Christophe Chapuis (9):
        lvgl: fix typo in lv-conf.inc
        lvgl: install lv_conf.h
        lvgl: remove useless FILES include
        lvgl: cleanup sed instructions in lv-conf.inc
        lvgl: add more variables to lv-conf.inc
        lvgl: fix libdrm include
        lvgl: lv-conf.inc: generalize sed instructions
        lvgl: make libdrm include conditional
        lvgl: cleanup sed expression

  Dan McGregor (2):
        python3-pylint: Update to 3.1.0
        python3-pylint: Fix ptest failures

  Derek Straka (1):
        python3-dbus: re-add recipe with latest patches and add ptest

  Etienne Cordonnier (1):
        uutils-coreutils: upgrade 0.0.24 -> 0.0.25

  Fathi Boudra (1):
        python3-django: upgrade 4.2.10 -> 4.2.11

  Guðni Már Gilbert (2):
        python3-ecdsa: remove python3-pbr
        python3-ecdsa: cleanup DEPENDS

  Jaeyoon Jung (1):
        lvgl: Set resolution prior to buffer

  Joe Slater (1):
        googletest: allow for shared libraries

  Jose Quaresma (1):
        ostree: Upgrade 2024.4 -> 2024.5

  Jörg Sommer (3):
        sngrep: new recipe for ncurses SIP Messages flow viewer
        spandsp: new telephony DSP library
        bluez-tools: New recipe for bluez5 tools

  Kai Kang (2):
        Packages depends on libadwaita should require distro feature opengl
        thin-provisioning-tools: install binary to ${sbindir}

  Khem Raj (55):
        squid: Upgrade to 6.8
        libosinfo: Fix build with libxml2 v2.12
        xmlstarlet: Fix build with API breakage in libxml2 2.12
        mariadb: Fix build with libxml2 2.12 ABI changes
        libmusicbrainz: Update to tip of trunk
        gnome-commander: Fix build with taglib 2.0
        gnome-online-accounts: Fix build with libxml2 2.12
        vlc: Upgrade to 3.0.20
        netcf: Fix build with latest gnulib
        php: Upgrade to 8.2.16
        vlc: Fix build on 32bit x86
        libtinyxml2: Extend for nativesdk
        lvgl: Fix dev-elf build QA
        layer.conf: Update for the scarthgap release series
        dietsplash: Update and fix build with musl
        frr: Upgrade to latest on 9.1 stable
        frr: Fix build on newer musl
        layer.conf: Prepare for release, drop nanbield LAYERSERIES
        libcamera: Fix clang support patches
        plocate: Fix sys/stat.h and linux/stat.h conflicts with musl
        liburing: Upgrade to 2.5
        openflow: Delete recipe for 1.0
        openflow: Merge .inc into .bb
        openflow: Fix build with musl
        tracker-miners: Disable seccomp support on musl
        libcamera: Fix build on musl systems
        ipset: Update to 7.21
        ot-daemon: Update to tip of trunk
        ot-br-posix: Update to latest
        wpantund: Update to latest
        xfsdump: Fix build with musl >= 1.2.5
        xfstests: Fix build with musl >= 1.2.5
        net-snmp: Fix build with musl
        rdma-core: Fix build with musl >= 1.2.5
        ssmtp: Fix build with musl >= 1.2.5
        autofs: Fix build with musl >= 1.2.5
        lvm2: Fix build with musl 1.5.2+
        sanlock: Fix build with musl >= 1.2.5
        ndctl: Fix build issues seen with musl 1.2.5
        sdbus-c++-libsystemd: Upgrade to 255.4 release of systemd
        sdbus-c++,sdbus-c++-tools: Upgrade to 1.5.0 release
        wtmpdb: Upgrade to 0.11.0 release
        uftrace: Fix build with musl >= 1.2.5
        fio: Upgrade to 3.36+git
        i2cdev: Include libgen.h on musl
        directfb: Fix build with musl >= 1.2.5
        iwd: Upgrade to 2.16
        minifi-cpp: Fix libsodium build on aarch64/clang
        multipath-tools: Fix build with musl >= 1.2.5
        aer-inject: Fix build with latest musl
        aer-inject: Replace hardcoded /usr with ${prefix}
        microsoft-gsl: Disable disabled-macro-expansion warning as error on clang/musl
        meta-python-image-ptest: Use 2G RAM for some demanding tests
        python3-pydbus: Add bash dependency for ptests
        highway,libjxl: Remove -mfp16-format=ieee when using clang compiler

  Leon Anavi (7):
        python3-anyio: Upgrade 4.2.0 -> 4.3.0
        python3-httpx: Upgrade 0.26.0 -> 0.27.0
        python3-multidict: Upgrade 6.0.4 -> 6.0.5
        python3-croniter: Upgrade 2.0.1 -> 2.0.3
        python3-paho-mqtt: Upgrade 1.6.1 -> 2.0.0
        python3-typeguard: Upgrade 4.1.5 -> 4.2.1
        python3-cachetools: Upgrade 5.3.2 -> 5.3.3

  Marek Vasut (14):
        lvgl: Drop dialog-lvgl
        lvgl: Upgrade to LVGL 9 series
        lvgl: Rename lv-drivers.inc to lv-conf.inc
        lvgl: Add SDL2 fullscreen mode configuration option
        lvgl: Configure assertions based on DEBUG_BUILD
        lvgl: Default to XRGB8888 DRM framebuffer
        lvgl: Build shared library
        lvgl: Replace sed patching with real patches
        lvgl: Generate proper shared libraries with version suffix
        lvgl: Reinstate demo configuration settings
        lvgl: Update to 9.1.0
        lvgl: Drop superfluous ALLOW_EMPTY
        lvgl: Drop unnecessary PV append
        lvgl: Deduplicate PACKAGECONFIG into lv-conf

  Markus Volk (66):
        mozjs-115: fix reproducibility issue
        webp-pixbuf-loader: update 0.2.5 -> 0.2.7
        gnome-control-center: fix reproducibility issue
        gnome-disk-utility: fix reproducibility issue
        gnome-settings-daemon: fix reproducibility issue
        gnome-terminal: fix reproducibility issue
        libvncserver: fix reproducibility issue
        editorconfig-core-c: fix reproducibility issue
        crossguid: fix reproducibility issue
        waylandpp: fix reproducibility issue
        polkit: remove unneeded workaround
        gtk-vnc: fix reproducibility issue
        pipewire: update 1.0.3 -> 1.0.4
        mutter: remove zenity from rdepends
        mutter: update 45.4 -> 46.0
        gnome-shell: update 45.4 -> 46.0
        gnome-settings-daemon: update 45.0 -> 46.0
        gnome-software: update 45.3 -> 46.0
        evince: update 45.0 -> 46.0
        gnome-online-accounts: update 3.48.0 -> 3.50.0
        evolution-data-server: build with webkitgtk4
        folks: update 0.15.7 -> 0.15.8
        gnome-control-center: update 45.3 -> 46.0
        xdg-desktop-portal-gnome: update 45.1 -> 46.0
        tracker: update 3.6.0 -> 3.7.0
        tracker-miners: update 3.6.2 -> 3.7.0
        freerdp3: add recipe
        wireplumber: update 0.4.17 -> 0.5.0
        tecle: update 45.0 -> 46.0
        gnome-calculator: update 45.0.2 -> 46.0
        gnome-session: update 45.0 -> 46.0
        gnome-remote-desktop: update 45.1 -> 46.0
        gnome-calendar: update 45.1 -> 46.0
        libgweather4: update 4.4.0 -> 4.4.2
        gtksourceview5: update 5.10.0 -> 5.12.0
        gnome-control-center: use gcr4 variant
        libcloudproviders: update 0.3.5 -> 0.3.6
        gnome-themes-extra: build with gtk+3
        gtk4mm: add recipe
        gnome-system-monitor: update 45.0.1 -> 46.0
        gnome-boxes: update 45.0 -> 46.0
        eog: update 45.2 -> 45.3
        gparted: update 1.5.0 -> 1.6.0
        libgtop: update 2.41.1 -> 2.41.3
        gnome-bluetooth: update 42.8 -> 46.0
        gnome-text-editor: update 45.1 -> 46.0
        gnome-chess: update 43.2 -> 46.0
        gnome-disk-utility: update 45.0 -> 46.0
        gnome-shell-extensions: update 45.2 -> 46.0
        msgraph: add recipe
        gvfs: update 1.52.2 -> 1.54.0
        tracker-miners: drop buildpath from tracker-miner-fs-3
        evolution-data-server: disable tests and examples
        tracker-miners: fix reproducibility issue for landlock
        file-roller: update 43.1 -> 44.0
        apache2: preset mpm=prefork by default
        gnome-user-share: add recipe
        gnome-control-center: update 46.0 -> 46.0.1
        gdm: update 45.0.1 -> 46.0
        gnome-user-share: remove hardcoded paths
        ghex: update 45.1 -> 46.0
        libjxl: add recipe
        gnome-backgrounds: add runtime depenency for libjxl
        highway: add recipe
        webkitgtk3: update 2.42.5 -> 2.44.0
        gnome-control-center: restore Upstream-Status line

  Martin Jansa (5):
        unionfs-fuse, dropwatch, postgresql, yasm, multipath-tools, python3-pybind11: add missing Upstream-Status
        recipes: Drop remaining PR values from recipes
        freerdp3: disable shadow without x11
        xfstests: upgrade to v2024.03.03
        gtkmm4: add x11 to REQUIRED_DISTRO_FEATURES

  Maxin John (7):
        tracker: remove unused patch
        openal-soft: remove unused patches
        libio-pty-perl: remove unsed patch
        opengl-es-cts: remove unused patch
        emacs: remove unused patch
        webkitgtk3: remove unused patch
        python3-eth-utils: remove unused patches

  Michael Heimpold (1):
        ser2net: add a systemd service file

  Mingli Yu (4):
        gosu: Upgrade to 1.17
        googletest: Pass -fPIC to CFLAGS
        re2: Upgrade 2023.03.01 -> 2024.03.01
        nss: Upgrade 3.74 -> 3.98

  Ola x Nilsson (2):
        abseil-cpp: Split so-files into separate packages
        abseil-cpp: Split so-files into separate packages

  Peter Kjellerstedt (3):
        abseil-cpp: A little clean-up
        libnice: Disable the examples and the tests
        abseil-cpp: A little clean-up

  Peter Marko (5):
        jwt-cpp: fix cmake file install path
        soci: fix buildpaths warning
        libcpr: add new recipe
        python3-grpcio: cleanup dependencies
        microsoft-gsl: add new recipe including ptest

  Petr Gotthard (2):
        libmbim: Revert back to the latest stable 1.30.0
        libqmi: Revert back to the latest stable 1.34.0

  Randy MacLeod (2):
        rsyslog: update from 8.2306.0 to 8.2402.0
        nftables: Add DESCRIPTION and HOMEPAGE

  Richard Purdie (2):
        imagemagick/lcms/fftw: Allow nativesdk versions to exist
        buildtools-imagemagick: Add new recipe

  Robert P. J. Day (1):
        fmt: remove unnecessary "inherit ptest" directive

  Robert Yang (6):
        yaffs2-utils: Upgrade to 20221209
        xfsprogs: 6.5.0 -> 6.6.0
        gnulib: 2018-12-18 -> 202401
        thin-provisioning-tools: 1.0.9 -> 1.0.12
        gperftools: 2.10 -> 2.15
        freeradius: 3.0.26 -> 3.2.3

  Ross Burton (1):
        python3-pydantic-core: just set PYPI_PACKAGE

  Sam Van Den Berge (1):
        python3-aiohttp: add missing dependencies

  Samuli Piippo (1):
        geoclue: enable demo agent

  Thomas Roos (1):
        usrsctp: upgrade to latest version

  Tim Orling (1):
        liberror-perl: move recipe from oe-core

  Tomasz Żyjewski (1):
        python: python-libusb1: add recipe

  Wang Mingyu (124):
        bats: upgrade 1.10.0 -> 1.11.0
        c-ares: upgrade 1.26.0 -> 1.27.0
        ctags: upgrade 6.1.20240114.0 -> 6.1.20240225.0
        dbus-cxx: upgrade 2.5.0 -> 2.5.1
        ddrescue: upgrade 1.27 -> 1.28
        fetchmail: upgrade 6.4.37 -> 6.4.38
        libtalloc: upgrade 2.4.1 -> 2.4.2
        libtdb: upgrade 1.4.9 -> 1.4.10
        neatvnc: upgrade 0.7.2 -> 0.8.0
        ostree: upgrade 2024.3 -> 2024.4
        python3-astroid: upgrade 3.0.3 -> 3.1.0
        python3-cbor2: upgrade 5.6.1 -> 5.6.2
        python3-dnspython: upgrade 2.6.0 -> 2.6.1
        python3-eventlet: upgrade 0.35.1 -> 0.35.2
        python3-gcovr: upgrade 7.0 -> 7.2
        python3-google-api-core: upgrade 2.16.2 -> 2.17.1
        python3-google-api-python-client: upgrade 2.118.0 -> 2.120.0
        python3-grpcio(-tools): upgrade 1.60.1 -> 1.62.0
        python3-ipython: upgrade 8.21.0 -> 8.22.1
        python3-pdm: upgrade 2.12.3 -> 2.12.4
        python3-pymisp: upgrade 2.4.185 -> 2.4.186
        python3-scrypt: upgrade 0.8.20 -> 0.8.24
        python3-sentry-sdk: upgrade 1.40.4 -> 1.40.6
        smarty: upgrade 4.3.4 -> 4.4.1
        stunnel: upgrade 5.69 -> 5.72
        abseil-cpp: upgrade 20230802.1 -> 20240116.1
        dnf-plugin-tui: upgrade 1.3 -> 1.4
        boost-sml: upgrade 1.1.9 -> 1.1.11
        ctags: upgrade 6.1.20240225.0 -> 6.1.20240310.0
        dialog: upgrade 1.3-20240101 -> 1.3-20240307
        flatbuffers: upgrade 23.5.26 -> 24.3.7
        gjs: upgrade 1.78.4 -> 1.80.0
        hwdata: upgrade 0.379 -> 0.380
        iceauth: upgrade 1.0.9 -> 1.0.10
        libdnet: upgrade 1.17.0 -> 1.18.0
        libopus: upgrade 1.4 -> 1.5.1
        libreport: upgrade 2.17.11 -> 2.17.15
        libxaw: upgrade 1.0.15 -> 1.0.16
        mcelog: upgrade 196 -> 197
        networkd-dispatcher: upgrade 2.1 -> 2.2.4
        openlldp: upgrade 1.1.0 -> 1.1.1
        opensc: upgrade 0.24.0 -> 0.25.0
        pcsc-lite: upgrade 2.0.1 -> 2.0.3
        python3-a2wsgi: upgrade 1.10.2 -> 1.10.4
        python3-apiflask: upgrade 2.1.0 -> 2.1.1
        python3-argcomplete: upgrade 3.2.2 -> 3.2.3
        python3-bandit: upgrade 1.7.7 -> 1.7.8
        python3-blivet: upgrade 3.8.2 -> 3.9.1
        python3-blivetgui: upgrade 2.4.2 -> 2.5.0
        python3-django: upgrade 5.0.2 -> 5.0.3
        python3-elementpath: upgrade 4.3.0 -> 4.4.0
        python3-eth-abi: upgrade 5.0.0 -> 5.0.1
        python3-eth-rlp: upgrade 1.0.1 -> 2.0.0
        python3-flask-migrate: upgrade 4.0.5 -> 4.0.7
        python3-google-api-python-client: upgrade 2.120.0 -> 2.122.0
        python3-google-auth: upgrade 2.28.1 -> 2.28.2
        python3-googleapis-common-protos: upgrade 1.62.0 -> 1.63.0
        python3-grpcio-tools: upgrade 1.62.0 -> 1.62.1
        python3-grpcio: upgrade 1.62.0 -> 1.62.1
        python3-ipython: upgrade 8.22.1 -> 8.22.2
        python3-mypy: upgrade 1.8.0 -> 1.9.0
        python3-pydantic: upgrade 2.6.3 -> 2.6.4
        python3-pymisp: upgrade 2.4.186 -> 2.4.187
        python3-pymodbus: upgrade 3.6.4 -> 3.6.6
        python3-pyperf: upgrade 2.6.2 -> 2.6.3
        python3-pytest-lazy-fixtures: upgrade 1.0.5 -> 1.0.6
        python3-pytest-timeout: upgrade 2.2.0 -> 2.3.1
        python3-requests-oauthlib: upgrade 1.3.1 -> 1.4.0
        python3-sentry-sdk: upgrade 1.40.6 -> 1.42.0
        python3-tox: upgrade 4.13.0 -> 4.14.1
        python3-traitlets: upgrade 5.14.1 -> 5.14.2
        python3-types-psutil: upgrade 5.9.5.20240205 -> 5.9.5.20240316
        python3-types-python-dateutil: upgrade 2.8.19.20240106 -> 2.9.0.20240316
        tcsh: upgrade 6.24.10 -> 6.24.11
        thingsboard-gateway: upgrade 3.4.4 -> 3.4.5
        xmessage: upgrade 1.0.6 -> 1.0.7
        xrefresh: upgrade 1.0.7 -> 1.1.0
        gjs: upgrade 1.80.0 -> 1.80.2
        gnome-backgrounds: upgrade 45.0 -> 46.0
        gnome-font-viewer: upgrade 45.0 -> 46.0
        libblockdev: upgrade 3.1.0 -> 3.1.1
        libdeflate: upgrade 1.19 -> 1.20
        libmbim: upgrade 1.30.0 -> 1.31.2
        libqmi: upgrade 1.34.0 -> 1.35.2
        libtommath: upgrade 1.2.1 -> 1.3.0
        mcelog: upgrade 197 -> 198
        metacity: upgrade 3.50.0 -> 3.52.0
        python3-asgiref: upgrade 3.7.2 -> 3.8.1
        python3-blivet: upgrade 3.9.1 -> 3.9.2
        python3-cassandra-driver: upgrade 3.29.0 -> 3.29.1
        python3-djangorestframework: upgrade 3.14.0 -> 3.15.1
        python3-eth-rlp: upgrade 2.0.0 -> 2.1.0
        python3-eventlet: upgrade 0.35.2 -> 0.36.1
        python3-filelock: upgrade 3.13.1 -> 3.13.3
        python3-flask-marshmallow: upgrade 1.2.0 -> 1.2.1
        python3-flatbuffers: upgrade 24.3.7 -> 24.3.25
        python3-google-api-core: upgrade 2.17.1 -> 2.18.0
        python3-google-api-python-client: upgrade 2.122.0 -> 2.124.0
        python3-google-auth: upgrade 2.28.2 -> 2.29.0
        python3-graphviz: upgrade 0.20.1 -> 0.20.3
        python3-gspread: upgrade 6.0.2 -> 6.1.0
        python3-jdatetime: upgrade 4.1.1 -> 5.0.0
        python3-pdm: upgrade 2.12.4 -> 2.13.2
        python3-pyasn1-modules: upgrade 0.3.0 -> 0.4.0
        python3-pymisp: upgrade 2.4.187 -> 2.4.188
        python3-pytest-asyncio: upgrade 0.23.5 -> 0.23.6
        python3-pytest-cov: upgrade 4.1.0 -> 5.0.0
        python3-pytest-lazy-fixtures: upgrade 1.0.6 -> 1.0.7
        python3-pywbem: upgrade 1.6.2 -> 1.6.3
        python3-pywbemtools: upgrade 1.2.0 -> 1.2.1
        python3-pyzstd: upgrade 0.15.9 -> 0.15.10
        python3-requests-oauthlib: upgrade 1.4.0 -> 2.0.0
        python3-sentry-sdk: upgrade 1.42.0 -> 1.44.0
        python3-socketio: upgrade 5.11.1 -> 5.11.2
        python3-thrift: upgrade 0.16.0 -> 0.20.0
        python3-tox: upgrade 4.14.1 -> 4.14.2
        python3-web3: upgrade 6.15.1 -> 6.16.0
        st: upgrade 0.9 -> 0.9.1
        thingsboard-gateway: upgrade 3.4.5 -> 3.4.6
        thrift: upgrade 0.19.0 -> 0.20.0
        tracker-miners: upgrade 3.7.0 -> 3.7.1
        tracker: upgrade 3.7.0 -> 3.7.1
        wireshark: upgrade 4.2.3 -> 4.2.4
        wolfssl: upgrade 5.6.6 -> 5.7.0

  William Lyu (3):
        nftables: Fix ptest output format issues
        nftables: Fix ShellCheck violations in ptest wrapper script "run-ptest"
        nftables: Fix failed ptest testcases

  Yi Zhao (13):
        netplan: upgrade 0.106 -> 1.0
        networkmanager: 1.44.0 -> 1.46.0
        postfix: upgrade 3.8.5 -> 3.8.6
        net-snmp: upgrade 5.9.3 -> 5.9.4
        cryptsetup: upgrade 2.7.0 -> 2.7.1
        samba: upgrade 4.19.4 -> 4.19.5
        civetweb: remove buildpaths from civetweb-targets.cmake
        minifi-cpp: upgrade 0.7.0 -> 0.15.0
        openvpn: upgrade 2.6.9 -> 2.6.10
        rocksdb: upgrade 7.9.2 -> 9.0.0
        audit: upgrade 4.0 -> 4.0.1
        netplan: add missing config directory
        strongswan: upgrade 5.9.13 -> 5.9.14

  alperak (15):
        python3-icecream: add recipe
        python3-invoke: add recipe
        python3-traitlets: add ptest and update runtime dependencies
        python3-google-auth-oauthlib: add ptest
        python3-tomli-w: added recipe which is also include ptest
        python3-pytest-localserver: added recipe which is also include ptest
        python3-responses: add recipe
        python3-google-auth: add ptest and update runtime dependencies
        remove obsolete PIP_INSTALL_PACKAGE and PIP_INSTALL_DIST_PATH
        python3-a2wsgi: added recipe which is also include ptest
        python3-httptools: added recipe which is also include ptest
        python3-wsproto: Add recipe
        python3-portalocker: enable ptest
        python3-validators: upgrade 0.22.0 > 0.24.0 and enable ptest
        python3-pydbus: Drop ${PYTHON_PN}

  chenheyun (1):
        aer-inject:add new recipe

Change-Id: I3cf0e5c87ecdfa18c35d318cb64c0e6559348618
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/poky/meta/classes-global/uninative.bbclass b/poky/meta/classes-global/uninative.bbclass
index 9b8b456..d2297b5 100644
--- a/poky/meta/classes-global/uninative.bbclass
+++ b/poky/meta/classes-global/uninative.bbclass
@@ -143,8 +143,8 @@
         d.setVar("NATIVELSBSTRING", "universal%s" % oe.utils.host_gcc_version(d))
         d.appendVar("SSTATEPOSTUNPACKFUNCS", " uninative_changeinterp")
         d.appendVarFlag("SSTATEPOSTUNPACKFUNCS", "vardepvalueexclude", "| uninative_changeinterp")
-        d.appendVar("BUILD_LDFLAGS", " -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER}")
-        d.appendVarFlag("BUILD_LDFLAGS", "vardepvalueexclude", "| -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER}")
+        d.appendVar("BUILD_LDFLAGS", " -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER} -pthread")
+        d.appendVarFlag("BUILD_LDFLAGS", "vardepvalueexclude", "| -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER} -pthread")
         d.appendVarFlag("BUILD_LDFLAGS", "vardepsexclude", "UNINATIVE_LOADER")
         d.prependVar("PATH", "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:")
 
diff --git a/poky/meta/classes-global/utils.bbclass b/poky/meta/classes-global/utils.bbclass
index 8d797ff..9573899 100644
--- a/poky/meta/classes-global/utils.bbclass
+++ b/poky/meta/classes-global/utils.bbclass
@@ -15,7 +15,7 @@
 	        ;;
 	esac
 	install -m 755 $1 $2/$libname
-	sonamelink=`${HOST_PREFIX}readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
+	sonamelink=`${READELF} -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
 	if [ -z $sonamelink ]; then
 		bbfatal "oe_soinstall: $libname is missing ELF tag 'SONAME'."
 	fi
@@ -147,7 +147,7 @@
 		# special case hack for non-libtool .so.#.#.# links
 		baselibfile=`basename "$libfile"`
 		if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
-			sonamelink=`${HOST_PREFIX}readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
+			sonamelink=`${READELF} -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
 			solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
 			if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
 				__runcmd ln -sf $baselibfile $destpath/$sonamelink
diff --git a/poky/meta/classes-recipe/autotools.bbclass b/poky/meta/classes-recipe/autotools.bbclass
index ca76cde..9359c9b 100644
--- a/poky/meta/classes-recipe/autotools.bbclass
+++ b/poky/meta/classes-recipe/autotools.bbclass
@@ -43,7 +43,8 @@
 
 # When building tools for use at build-time it's recommended for the build
 # system to use these variables when cross-compiling.
-# (http://sources.redhat.com/autobook/autobook/autobook_270.html)
+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
+# https://stackoverflow.com/questions/24201260/autotools-cross-compilation-and-generated-sources/24208587#24208587
 export CPP_FOR_BUILD = "${BUILD_CPP}"
 export CPPFLAGS_FOR_BUILD = "${BUILD_CPPFLAGS}"
 
diff --git a/poky/meta/classes-recipe/cml1.bbclass b/poky/meta/classes-recipe/cml1.bbclass
index c4e3c9f..03e5fe6 100644
--- a/poky/meta/classes-recipe/cml1.bbclass
+++ b/poky/meta/classes-recipe/cml1.bbclass
@@ -61,16 +61,14 @@
     oe_terminal("sh -c 'make %s; if [ \\$? -ne 0 ]; then echo \"Command failed.\"; printf \"Press any key to continue... \"; read r; fi'" % d.getVar('KCONFIG_CONFIG_COMMAND'),
                 d.getVar('PN') + ' Configuration', d)
 
-    # FIXME this check can be removed when the minimum bitbake version has been bumped
-    if hasattr(bb.build, 'write_taint'):
-        try:
-            newmtime = os.path.getmtime(config)
-        except OSError:
-            newmtime = 0
+    try:
+        newmtime = os.path.getmtime(config)
+    except OSError:
+        newmtime = 0
 
-        if newmtime > mtime:
-            bb.note("Configuration changed, recompile will be forced")
-            bb.build.write_taint('do_compile', d)
+    if newmtime > mtime:
+        bb.plain("Changed configuration saved at:\n %s\nRecompile will be forced" % config)
+        bb.build.write_taint('do_compile', d)
 }
 do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
 do_menuconfig[nostamp] = "1"
diff --git a/poky/meta/classes-recipe/go.bbclass b/poky/meta/classes-recipe/go.bbclass
index 39bfaa5..cc3564c 100644
--- a/poky/meta/classes-recipe/go.bbclass
+++ b/poky/meta/classes-recipe/go.bbclass
@@ -78,6 +78,7 @@
 B = "${WORKDIR}/build"
 export GOPATH = "${B}"
 export GOENV = "off"
+export GOPROXY ??= "https://proxy.golang.org,direct"
 export GOTMPDIR ?= "${WORKDIR}/build-tmp"
 GOTMPDIR[vardepvalue] = ""
 
diff --git a/poky/meta/classes-recipe/image-live.bbclass b/poky/meta/classes-recipe/image-live.bbclass
index da919d5..d2e95ef 100644
--- a/poky/meta/classes-recipe/image-live.bbclass
+++ b/poky/meta/classes-recipe/image-live.bbclass
@@ -38,7 +38,7 @@
 LABELS_LIVE ?= "boot install"
 ROOT_LIVE ?= "root=/dev/ram0"
 INITRD_IMAGE_LIVE ?= "${MLPREFIX}core-image-minimal-initramfs"
-INITRD_LIVE ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}${IMAGE_MACHINE_SUFFIX}.${INITRAMFS_FSTYPES}"
+INITRD_LIVE ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}${IMAGE_MACHINE_SUFFIX}.${@d.getVar('INITRAMFS_FSTYPES').split()[0]}"
 
 LIVE_ROOTFS_TYPE ?= "ext4"
 ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${LIVE_ROOTFS_TYPE}"
diff --git a/poky/meta/classes-recipe/kernel-fitimage.bbclass b/poky/meta/classes-recipe/kernel-fitimage.bbclass
index 7e30a5d..4b74ddc 100644
--- a/poky/meta/classes-recipe/kernel-fitimage.bbclass
+++ b/poky/meta/classes-recipe/kernel-fitimage.bbclass
@@ -421,6 +421,7 @@
 	bootscr_line=""
 	setup_line=""
 	default_line=""
+	compatible_line=""
 
 	dtb_image_sect=$(symlink_points_below $dtb_image "${EXTERNAL_KERNEL_DEVICETREE}")
 	if [ -z "$dtb_image_sect" ]; then
@@ -428,7 +429,12 @@
 	fi
 
 	dtb_path="${EXTERNAL_KERNEL_DEVICETREE}/${dtb_image_sect}"
-	compatible_line="compatible = \"$(fdtget "$dtb_path" / compatible | sed 's/ /", "/g')\";"
+	if [ -e "$dtb_path" ]; then
+		compat=$(fdtget -t s "$dtb_path" / compatible | sed 's/ /", "/g')
+		if [ -n "$compat" ]; then
+			compatible_line="compatible = \"$compat\";"
+		fi
+	fi
 
 	dtb_image=$(echo $dtb_image | tr '/' '_')
 	dtb_image_sect=$(echo "${dtb_image_sect}" | tr '/' '_')
diff --git a/poky/meta/classes-recipe/kernel-module-split.bbclass b/poky/meta/classes-recipe/kernel-module-split.bbclass
index c1208d5..9487365 100644
--- a/poky/meta/classes-recipe/kernel-module-split.bbclass
+++ b/poky/meta/classes-recipe/kernel-module-split.bbclass
@@ -67,9 +67,9 @@
             else:
                 msg = "Cannot decompress '%s'" % file
                 raise msg
-            cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", tmpkofile, tmpfile)
+            cmd = "%s -j .modinfo -O binary %s %s" % (d.getVar("OBJCOPY"), tmpkofile, tmpfile)
         else:
-            cmd = "%sobjcopy -j .modinfo -O binary %s %s" % (d.getVar("HOST_PREFIX") or "", file, tmpfile)
+            cmd = "%s -j .modinfo -O binary %s %s" % (d.getVar("OBJCOPY"), file, tmpfile)
         subprocess.check_call(cmd, shell=True)
         # errors='replace': Some old kernel versions contain invalid utf-8 characters in mod descriptions (like 0xf6, 'ö')
         with open(tmpfile, errors='replace') as f:
diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index db4461e..b084d6d 100644
--- a/poky/meta/classes-recipe/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -645,7 +645,7 @@
 }
 
 check_oldest_kernel[vardepsexclude] += "OLDEST_KERNEL KERNEL_VERSION"
-do_configure[prefuncs] += "check_oldest_kernel"
+do_compile[postfuncs] += "check_oldest_kernel"
 
 KERNEL_LOCALVERSION ??= ""
 
diff --git a/poky/meta/classes-recipe/populate_sdk_ext.bbclass b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
index f209bec..f5687e5 100644
--- a/poky/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -494,7 +494,7 @@
     bb.utils.remove(sstate_out, True)
 
     # uninative.bbclass sets NATIVELSBSTRING to 'universal%s' % oe.utils.host_gcc_version(d)
-    fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d)
+    fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d) if bb.data.inherits_class('uninative', d) else ""
 
     sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1')
     sdk_ext_type = d.getVar('SDK_EXT_TYPE')
diff --git a/poky/meta/classes-recipe/python_pep517.bbclass b/poky/meta/classes-recipe/python_pep517.bbclass
index a1659c5..c30674c 100644
--- a/poky/meta/classes-recipe/python_pep517.bbclass
+++ b/poky/meta/classes-recipe/python_pep517.bbclass
@@ -42,7 +42,7 @@
 do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
 
 python_pep517_do_install () {
-    COUNT=$(find ${PEP517_WHEEL_PATH} -name '*.whl' | wc -l)
+    COUNT=$(find ${PEP517_WHEEL_PATH} -name '*.whl' -maxdepth 1 | wc -l)
     if test $COUNT -eq 0; then
         bbfatal No wheels found in ${PEP517_WHEEL_PATH}
     elif test $COUNT -gt 1; then
diff --git a/poky/meta/classes-recipe/qemuboot.bbclass b/poky/meta/classes-recipe/qemuboot.bbclass
index 4a563b8..895fd38 100644
--- a/poky/meta/classes-recipe/qemuboot.bbclass
+++ b/poky/meta/classes-recipe/qemuboot.bbclass
@@ -185,3 +185,5 @@
            os.remove(qemuboot_link)
         os.symlink(os.path.basename(qemuboot), qemuboot_link)
 }
+
+EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 4ca5430..2d1f9fd 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -328,7 +328,6 @@
 RECIPE_MAINTAINER:pn-libedit = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-libepoxy = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-liberation-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER:pn-liberror-perl = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-libevdev = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-libevent = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-libexif = "Alexander Kanavin <alex.kanavin@gmail.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index 0192146..5975db2 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -28,7 +28,6 @@
     json-c \
     json-glib \
     libconvert-asn1-perl \
-    liberror-perl \
     libgpg-error\
     libnl \
     libpcre \
@@ -120,6 +119,7 @@
     util-linux \
     valgrind \
     lz4 \
+    libseccomp \
 "
 
 # python3 ptests hang on qemuriscv64
@@ -139,7 +139,6 @@
 #    libpam \ # Needs pam DISTRO_FEATURE
 #    mdadm \ # tests are flaky in AB.
 #    numactl \ # qemu not (yet) configured for numa; all tests are skipped
-#    libseccomp \ #  tests failed: 38; add to slow tests once addressed
 #    python3-numpy \ # requires even more RAM and (possibly) disk space; multiple failures
 
 PTESTS_PROBLEMS = "\
@@ -149,7 +148,6 @@
     ifupdown \
     libinput \
     libpam \
-    libseccomp \
     mdadm \
     numactl \
     python3-license-expression \
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index 2418ee7..efbf261 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -7,7 +7,7 @@
 BBFILE_PATTERN_core = "^${LAYERDIR}/"
 BBFILE_PRIORITY_core = "5"
 
-LAYERSERIES_CORENAMES = "nanbield scarthgap"
+LAYERSERIES_CORENAMES = "scarthgap"
 
 # This should only be incremented on significant changes that will
 # cause compatibility issues with other layers
@@ -87,6 +87,7 @@
   sato-icon-theme->gtk+3 \
   adwaita-icon-theme->gdk-pixbuf \
   adwaita-icon-theme->gtk+3 \
+  run-postinsts->util-linux \
 "
 
 # Avoid adding bison-native to the sysroot without a specific
diff --git a/poky/meta/conf/machine/include/qemu.inc b/poky/meta/conf/machine/include/qemu.inc
index 14feb86..bb7aec7 100644
--- a/poky/meta/conf/machine/include/qemu.inc
+++ b/poky/meta/conf/machine/include/qemu.inc
@@ -23,8 +23,6 @@
 # Use a common kernel recipe for all QEMU machines
 PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
 
-EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot"
-
 # Provide the nfs server kernel module for all qemu images
 KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
 KERNEL_FEATURES:append:pn-linux-yocto-rt = " features/nfsd/nfsd-enable.scc"
diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
index 7024bd0..d01d988 100644
--- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -35,4 +35,5 @@
 QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
 QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon"
 QB_GRAPHICS = "-device bochs-display"
-QB_OPT_APPEND = "-device virtio-tablet-pci -device virtio-keyboard-pci"
+QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
+QB_OPT_APPEND:riscv32 = "-device virtio-tablet-pci -device virtio-keyboard-pci"
diff --git a/poky/meta/files/toolchain-shar-relocate.sh b/poky/meta/files/toolchain-shar-relocate.sh
index e8ab357..b017714 100644
--- a/poky/meta/files/toolchain-shar-relocate.sh
+++ b/poky/meta/files/toolchain-shar-relocate.sh
@@ -1,7 +1,9 @@
-if ! xargs --version > /dev/null 2>&1; then
-	echo "xargs is required by the relocation script, please install it first. Abort!"
-	exit 1
-fi
+for cmd in xargs file; do
+	if ! command -v $cmd > /dev/null 2>&1; then
+		echo "The command '$cmd' is required by the relocation script, please install it first. Abort!"
+		exit 1
+	fi
+done
 
 # fix dynamic loader paths in all ELF SDK binaries
 # allow symlinks to be accessed via the find command too
diff --git a/poky/meta/lib/bblayers/makesetup.py b/poky/meta/lib/bblayers/makesetup.py
index 4f27c56..99d5973 100644
--- a/poky/meta/lib/bblayers/makesetup.py
+++ b/poky/meta/lib/bblayers/makesetup.py
@@ -9,7 +9,6 @@
 import sys
 
 import bb.utils
-import bb.process
 
 from bblayers.common import LayerPlugin
 
@@ -24,25 +23,12 @@
 
 class MakeSetupPlugin(LayerPlugin):
 
-    def _get_repo_path(self, layer_path):
-        repo_path, _ = bb.process.run('git rev-parse --show-toplevel', cwd=layer_path)
-        return repo_path.strip()
-
-    def _get_remotes(self, repo_path):
+    def _get_remotes_with_url(self, repo_path):
         remotes = {}
-        remotes_list,_ = bb.process.run('git remote', cwd=repo_path)
-        for r in remotes_list.split():
-            uri,_ = bb.process.run('git remote get-url {r}'.format(r=r), cwd=repo_path)
-            remotes[r] = {'uri':uri.strip()}
+        for r in oe.buildcfg.get_metadata_git_remotes(repo_path):
+            remotes[r] = {'uri':oe.buildcfg.get_metadata_git_remote_url(repo_path, r)}
         return remotes
 
-    def _get_describe(self, repo_path):
-        try:
-            describe,_ = bb.process.run('git describe --tags', cwd=repo_path)
-        except bb.process.ExecutionError:
-            return ""
-        return describe.strip()
-
     def _is_submodule(self, repo_path):
         # This is slightly brittle: git does not offer a way to tell whether
         # a given repo dir is a submodule checkout, so we need to rely on .git
@@ -56,10 +42,7 @@
         available here. """
         repos = {}
         layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
-        try:
-            destdir_repo = self._get_repo_path(destdir)
-        except bb.process.ExecutionError:
-            destdir_repo = None
+        destdir_repo = oe.buildcfg.get_metadata_git_toplevel(destdir)
 
         for (l_path, l_name, l_branch, l_rev, l_ismodified) in layers:
             if l_name == 'workspace':
@@ -67,12 +50,16 @@
             if l_ismodified:
                 logger.error("Layer {name} in {path} has uncommitted modifications or is not in a git repository.".format(name=l_name,path=l_path))
                 return
-            repo_path = self._get_repo_path(l_path)
+            repo_path = oe.buildcfg.get_metadata_git_toplevel(l_path)
 
             if self._is_submodule(repo_path):
                 continue
             if repo_path not in repos.keys():
-                repos[repo_path] = {'path':os.path.basename(repo_path),'git-remote':{'rev':l_rev, 'branch':l_branch, 'remotes':self._get_remotes(repo_path), 'describe':self._get_describe(repo_path)}}
+                repos[repo_path] = {'path':os.path.basename(repo_path),'git-remote':{
+                        'rev':l_rev,
+                        'branch':l_branch,
+                        'remotes':self._get_remotes_with_url(repo_path),
+                        'describe':oe.buildcfg.get_metadata_git_describe(repo_path)}}
                 if repo_path == destdir_repo:
                     repos[repo_path]['contains_this_file'] = True
                 if not repos[repo_path]['git-remote']['remotes'] and not repos[repo_path]['contains_this_file']:
diff --git a/poky/meta/lib/oe/buildcfg.py b/poky/meta/lib/oe/buildcfg.py
index b3fe510..27b059b 100644
--- a/poky/meta/lib/oe/buildcfg.py
+++ b/poky/meta/lib/oe/buildcfg.py
@@ -28,6 +28,35 @@
         rev = '<unknown>'
     return rev.strip()
 
+def get_metadata_git_toplevel(path):
+    try:
+        toplevel, _ = bb.process.run('git rev-parse --show-toplevel', cwd=path)
+    except bb.process.ExecutionError:
+        return ""
+    return toplevel.strip()
+
+def get_metadata_git_remotes(path):
+    try:
+        remotes_list, _ = bb.process.run('git remote', cwd=path)
+        remotes = remotes_list.split()
+    except bb.process.ExecutionError:
+        remotes = []
+    return remotes
+
+def get_metadata_git_remote_url(path, remote):
+    try:
+        uri, _ = bb.process.run('git remote get-url {remote}'.format(remote=remote), cwd=path)
+    except bb.process.ExecutionError:
+        return ""
+    return uri.strip()
+
+def get_metadata_git_describe(path):
+    try:
+        describe, _ = bb.process.run('git describe --tags', cwd=path)
+    except bb.process.ExecutionError:
+        return ""
+    return describe.strip()
+
 def is_layer_modified(path):
     try:
         subprocess.check_output("""cd %s; export PSEUDO_UNLOAD=1; set -e;
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index 587810b..1511ba4 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -1660,7 +1660,7 @@
 
         if (file.endswith(".dll") or file.endswith(".exe")):
             # use objdump to search for "DLL Name: .*\.dll"
-            p = subprocess.Popen([d.expand("${HOST_PREFIX}objdump"), "-p", file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+            p = subprocess.Popen([d.expand("${OBJDUMP}"), "-p", file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
             out, err = p.communicate()
             # process the output, grabbing all .dll names
             if p.returncode == 0:
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index aa891ec..a46e550 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -6,6 +6,7 @@
 import bb.siggen
 import bb.runqueue
 import oe
+import netrc
 
 def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches):
     # Return True if we should keep the dependency, False to drop it
@@ -327,6 +328,18 @@
         if not self.method:
             bb.fatal("OEEquivHash requires SSTATE_HASHEQUIV_METHOD to be set")
         self.max_parallel = int(data.getVar('BB_HASHSERVE_MAX_PARALLEL') or 1)
+        self.username = data.getVar("BB_HASHSERVE_USERNAME")
+        self.password = data.getVar("BB_HASHSERVE_PASSWORD")
+        if not self.username or not self.password:
+            try:
+                n = netrc.netrc()
+                auth = n.authenticators(self.server)
+                if auth is not None:
+                    self.username, _, self.password = auth
+            except FileNotFoundError:
+                pass
+            except netrc.NetrcParseError as e:
+                bb.warn("Error parsing %s:%s: %s" % (e.filename, str(e.lineno), e.msg))
 
 # Insert these classes into siggen's namespace so it can see and select them
 bb.siggen.SignatureGeneratorOEBasicHash = SignatureGeneratorOEBasicHash
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index a1cccc3..bc1e40e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -482,7 +482,7 @@
         pn = 'mbedtls'
         # this will trigger reformat_git_uri with branch parameter in url
         git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'"
-        resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
+        resulting_src_uri = "gitsm://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
         self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
 
     def test_devtool_add_library(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index cd0dc60..e310635 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -353,6 +353,7 @@
 # Image configuration for overlayfs-etc
 OVERLAYFS_ETC_MOUNT_POINT = "/data"
 OVERLAYFS_ETC_DEVICE = "/dev/sda3"
+OVERLAYFS_ROOTFS_TYPE = "ext4"
 """
 
         self.write_config(config)
@@ -367,13 +368,17 @@
 
     @skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently")
     def test_sbin_init_preinit(self):
-        self.run_sbin_init(False)
+        self.run_sbin_init(False, "ext4")
 
     @skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently")
     def test_sbin_init_original(self):
-        self.run_sbin_init(True)
+        self.run_sbin_init(True, "ext4")
 
-    def run_sbin_init(self, origInit):
+    @skipIfNotMachine("qemux86-64", "tests are qemux86-64 specific currently")
+    def test_sbin_init_read_only(self):
+        self.run_sbin_init(True, "squashfs")
+
+    def run_sbin_init(self, origInit, rootfsType):
         """
         Summary:   Confirm we can replace original init and mount overlay on top of /etc
         Expected:  Image is created successfully and /etc is mounted as an overlay
@@ -384,7 +389,9 @@
 
         args = {
             'OVERLAYFS_INIT_OPTION': "" if origInit else "init=/sbin/preinit",
-            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': int(origInit == True)
+            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': int(origInit == True),
+            'OVERLAYFS_ROOTFS_TYPE': rootfsType,
+            'OVERLAYFS_ETC_CREATE_MOUNT_DIRS': int(rootfsType == "ext4")
         }
 
         self.write_config(config.format(**args))
@@ -437,7 +444,9 @@
 
         args = {
             'OVERLAYFS_INIT_OPTION': "",
-            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': 1
+            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': 1,
+            'OVERLAYFS_ROOTFS_TYPE': "ext4",
+            'OVERLAYFS_ETC_CREATE_MOUNT_DIRS': 1
         }
 
         self.write_config(config.format(**args))
@@ -463,10 +472,14 @@
 INIT_MANAGER = "systemd"
 
 # enable overlayfs in the kernel
-KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+KERNEL_EXTRA_FEATURES:append = " \
+    features/overlayfs/overlayfs.scc \
+    cfg/fs/squashfs.scc"
 
 IMAGE_FSTYPES += "wic"
 OVERLAYFS_INIT_OPTION = "{OVERLAYFS_INIT_OPTION}"
+OVERLAYFS_ROOTFS_TYPE = "{OVERLAYFS_ROOTFS_TYPE}"
+OVERLAYFS_ETC_CREATE_MOUNT_DIRS = "{OVERLAYFS_ETC_CREATE_MOUNT_DIRS}"
 WKS_FILE = "overlayfs_etc.wks.in"
 
 EXTRA_IMAGE_FEATURES += "read-only-rootfs"
@@ -477,4 +490,13 @@
 OVERLAYFS_ETC_FSTYPE = "ext4"
 OVERLAYFS_ETC_DEVICE = "/dev/sda3"
 OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}"
+
+ROOTFS_POSTPROCESS_COMMAND += "{OVERLAYFS_ROOTFS_TYPE}_rootfs"
+
+ext4_rootfs() {{
+}}
+
+squashfs_rootfs() {{
+    mkdir -p ${{IMAGE_ROOTFS}}/data
+}}
 """
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 031c226..86d6cd7 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -772,15 +772,16 @@
 
             def find_siginfo(pn, taskname, sigs=None):
                 result = None
+                command_complete = False
                 tinfoil.set_event_mask(["bb.event.FindSigInfoResult",
                                 "bb.command.CommandCompleted"])
                 ret = tinfoil.run_command("findSigInfo", pn, taskname, sigs)
                 if ret:
-                    while True:
+                    while result is None or not command_complete:
                         event = tinfoil.wait_event(1)
                         if event:
                             if isinstance(event, bb.command.CommandCompleted):
-                                break
+                                command_complete = True
                             elif isinstance(event, bb.event.FindSigInfoResult):
                                 result = event.result
                 return result
@@ -959,7 +960,7 @@
         self.assertEqual(len(failed_urls), missing_objects, "Amount of reported missing objects does not match failed URLs: {}\nFailed URLs:\n{}\nFetcher diagnostics:\n{}".format(missing_objects, "\n".join(failed_urls), "\n".join(failed_urls_extrainfo)))
         self.assertEqual(len(failed_urls), 0, "Missing objects in the cache:\n{}\nFetcher diagnostics:\n{}".format("\n".join(failed_urls), "\n".join(failed_urls_extrainfo)))
 
-    def run_test(self, machine, targets, exceptions, check_cdn = True):
+    def run_test(self, machine, targets, exceptions, check_cdn = True, ignore_errors = False):
         # sstate is checked for existence of these, but they never get written out to begin with
         exceptions += ["{}.*image_qa".format(t) for t in targets.split()]
         exceptions += ["{}.*deploy_source_date_epoch".format(t) for t in targets.split()]
@@ -984,14 +985,18 @@
 """.format(machine))
         result = bitbake("-DD -n {}".format(targets))
         bitbake("-S none {}".format(targets))
+        if ignore_errors:
+            return
         self.check_bb_output(result.output, exceptions, check_cdn)
 
     def test_cdn_mirror_qemux86_64(self):
         exceptions = []
+        self.run_test("qemux86-64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions, ignore_errors = True)
         self.run_test("qemux86-64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions)
 
     def test_cdn_mirror_qemuarm64(self):
         exceptions = []
+        self.run_test("qemuarm64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions, ignore_errors = True)
         self.run_test("qemuarm64", "core-image-minimal core-image-full-cmdline core-image-sato-sdk", exceptions)
 
     def test_local_cache_qemux86_64(self):
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-configure.inc b/poky/meta/recipes-bsp/u-boot/u-boot-configure.inc
index 235623d..378d675 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-configure.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-configure.inc
@@ -8,6 +8,8 @@
 
 DEPENDS += "kern-tools-native"
 
+CONFIGURE_FILES = "${@d.getVar('UBOOT_MACHINE') or '.config'}"
+
 do_configure () {
     if [ -n "${UBOOT_CONFIG}" ]; then
         unset i j
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb
index 1fd36a2..edd8e8c 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_9.6p1.bb
@@ -85,6 +85,9 @@
 EXTRA_OECONF:append:mips = " --without-hardening"
 EXTRA_OECONF:append:mips64 = " --without-hardening"
 
+# Work around ICE on powerpc64le starting in 9.6p1
+EXTRA_OECONF:append:powerpc64le = " --without-hardening"
+
 # Since we do not depend on libbsd, we do not want configure to use it
 # just because it finds libutil.h.  But, specifying --disable-libutil
 # causes compile errors, so...
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/bti.patch b/poky/meta/recipes-connectivity/openssl/openssl/bti.patch
new file mode 100644
index 0000000..748576c
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl/bti.patch
@@ -0,0 +1,58 @@
+From ba8a599395f8b770c76316b5f5b0f3838567014f Mon Sep 17 00:00:00 2001
+From: Tom Cosgrove <tom.cosgrove@arm.com>
+Date: Tue, 26 Mar 2024 13:18:00 +0000
+Subject: [PATCH] aarch64: fix BTI in bsaes assembly code
+
+In Arm systems where BTI is enabled but the Crypto extensions are not (more
+likely in FVPs than in real hardware), the bit-sliced assembler code will
+be used. However, this wasn't annotated with BTI instructions when BTI was
+enabled, so the moment libssl jumps into this code it (correctly) aborts.
+
+Solve this by adding the missing BTI landing pads.
+
+Upstream-Status: Submitted [https://github.com/openssl/openssl/pull/23982]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ crypto/aes/asm/bsaes-armv8.pl | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/crypto/aes/asm/bsaes-armv8.pl b/crypto/aes/asm/bsaes-armv8.pl
+index b3c97e439f..c3c5ff3e05 100644
+--- a/crypto/aes/asm/bsaes-armv8.pl
++++ b/crypto/aes/asm/bsaes-armv8.pl
+@@ -1018,6 +1018,7 @@ _bsaes_key_convert:
+ //   Initialisation vector overwritten with last quadword of ciphertext
+ //   No output registers, usual AAPCS64 register preservation
+ ossl_bsaes_cbc_encrypt:
++        AARCH64_VALID_CALL_TARGET
+         cmp     x2, #128
+         bhs     .Lcbc_do_bsaes
+         b       AES_cbc_encrypt
+@@ -1270,7 +1271,7 @@ ossl_bsaes_cbc_encrypt:
+ //   Output text filled in
+ //   No output registers, usual AAPCS64 register preservation
+ ossl_bsaes_ctr32_encrypt_blocks:
+-
++        AARCH64_VALID_CALL_TARGET
+         cmp     x2, #8                      // use plain AES for
+         blo     .Lctr_enc_short             // small sizes
+ 
+@@ -1476,6 +1477,7 @@ ossl_bsaes_ctr32_encrypt_blocks:
+ //   Output ciphertext filled in
+ //   No output registers, usual AAPCS64 register preservation
+ ossl_bsaes_xts_encrypt:
++        AARCH64_VALID_CALL_TARGET
+         // Stack layout:
+         // sp ->
+         //        nrounds*128-96 bytes: key schedule
+@@ -1921,6 +1923,7 @@ ossl_bsaes_xts_encrypt:
+ //   Output plaintext filled in
+ //   No output registers, usual AAPCS64 register preservation
+ ossl_bsaes_xts_decrypt:
++        AARCH64_VALID_CALL_TARGET
+         // Stack layout:
+         // sp ->
+         //        nrounds*128-96 bytes: key schedule
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.2.1.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.2.1.bb
index 1682b6f..c7134c5 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.2.1.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.2.1.bb
@@ -12,6 +12,7 @@
            file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
            file://0001-Configure-do-not-tweak-mips-cflags.patch \
            file://0001-Added-handshake-history-reporting-when-test-fails.patch \
+           file://bti.patch \
            "
 
 SRC_URI:append:class-nativesdk = " \
diff --git a/poky/meta/recipes-core/coreutils/coreutils_9.4.bb b/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
index fc51adc..62ecdea 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_9.4.bb
@@ -23,7 +23,7 @@
 SRC_URI[sha256sum] = "ea613a4cf44612326e917201bbbcdfbd301de21ffc3b59b6e5c07e040b275e52"
 
 # http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842
-# 
+#
 CVE_STATUS[CVE-2016-2781] = "disputed: runcon is not really a sandbox command, use `runcon ... setsid ...` to avoid this particular issue."
 
 EXTRA_OECONF:class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}"
@@ -169,7 +169,7 @@
 
 inherit ptest
 
-RDEPENDS:${PN}-ptest += "bash findutils gawk liberror-perl make perl perl-modules python3-core sed shadow"
+RDEPENDS:${PN}-ptest += "bash findutils gawk make perl perl-modules python3-core sed shadow"
 
 # -dev automatic dependencies fails as we don't want libmodule-build-perl-dev, its too heavy
 # may need tweaking if DEPENDS changes
diff --git a/poky/meta/recipes-core/expat/expat_2.6.1.bb b/poky/meta/recipes-core/expat/expat_2.6.2.bb
similarity index 92%
rename from poky/meta/recipes-core/expat/expat_2.6.1.bb
rename to poky/meta/recipes-core/expat/expat_2.6.2.bb
index 9bdc3b6..6c9db91 100644
--- a/poky/meta/recipes-core/expat/expat_2.6.1.bb
+++ b/poky/meta/recipes-core/expat/expat_2.6.2.bb
@@ -15,7 +15,7 @@
 GITHUB_BASE_URI = "https://github.com/libexpat/libexpat/releases/"
 UPSTREAM_CHECK_REGEX = "releases/tag/R_(?P<pver>.+)"
 
-SRC_URI[sha256sum] = "4677d957c0c6cb2a3321101944574c24113b637c7ab1cf0659a27c5babc201fd"
+SRC_URI[sha256sum] = "9c7c1b5dcbc3c237c500a8fb1493e14d9582146dd9b42aa8d3ffb856a3b927e0"
 
 EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
 
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch
new file mode 100644
index 0000000..cd5ac28
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch
@@ -0,0 +1,32 @@
+From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Thu, 28 Mar 2024 16:27:09 +0000
+Subject: [PATCH] Skip /timeout/rounding test
+
+This test is sensitive to load because it expects certain timeout operations
+to succeed in specific time periods. Whilst these timeouts are fairly large,
+they're still exceeded inside a qemu on a loaded system.
+
+https://bugzilla.yoctoproject.org/show_bug.cgi?id=14464
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ glib/tests/timeout.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c
+index 1ae3f3a34..85a715b0f 100644
+--- a/glib/tests/timeout.c
++++ b/glib/tests/timeout.c
+@@ -214,7 +214,6 @@ main (int argc, char *argv[])
+   g_test_add_func ("/timeout/seconds-once", test_seconds_once);
+   g_test_add_func ("/timeout/weeks-overflow", test_weeks_overflow);
+   g_test_add_func ("/timeout/far-future-ready-time", test_far_future_ready_time);
+-  g_test_add_func ("/timeout/rounding", test_rounding);
+ 
+   return g_test_run ();
+ }
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
index f0fd057..b1669ea 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
@@ -17,6 +17,7 @@
            file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \
            file://memory-monitor.patch \
            file://fix-regex.patch \
+           file://skip-timeout.patch \
            "
 SRC_URI:append:class-native = " file://relocate-modules.patch \ 
                                 file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc
index 5b0705f..618a574 100644
--- a/poky/meta/recipes-core/glibc/glibc-version.inc
+++ b/poky/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
 SRCBRANCH ?= "release/2.39/master"
 PV = "2.39+git"
-SRCREV_glibc ?= "312e159626b67fe11f39e83e222cf4348a3962f3"
+SRCREV_glibc ?= "1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c"
 SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc"
 
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"
diff --git a/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
index 816471a..f6523c5 100644
--- a/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
@@ -1,53 +1,62 @@
-From f761f5ca2d453e11d34fc7d552dab4a0e189dae9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 4 Aug 2023 09:34:50 -0700
-Subject: [PATCH] aarch64/configure: Pass -mcpu along with -march to detect sve
- support
+From 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <szabolcs.nagy@arm.com>
+Date: Wed, 13 Mar 2024 14:34:14 +0000
+Subject: [PATCH] aarch64: fix check for SVE support in assembler
 
-SVE support logic in configure is rightly passing -march=<arch>+sve to
-compiler to override whatever user might have passed via environment,
-however GCC does not do as intended when -mcpu is part of environment
-compiler flags, then it overrides the -march computed from -mcpu and
-igonores other -march values so this test fails for lot of aarch64
-machines which pass -mcpu that does not support sve. This is seemingly a
-bug in GCC [1], until that is fixed we preempt -mcpu along with -march
-in the configure test itself. It does not change functionality and yet
-lets us through the GCC inconsistency.
+Due to GCC bug 110901 -mcpu can override -march setting when compiling
+asm code and thus a compiler targetting a specific cpu can fail the
+configure check even when binutils gas supports SVE.
 
-[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110901
+The workaround is that explicit .arch directive overrides both -mcpu
+and -march, and since that's what the actual SVE memcpy uses the
+configure check should use that too even if the GCC issue is fixed
+independently.
 
-Upstream-Status: Inappropriate [Workaround for a GCC issue]
+Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=73c26018ed0ecd9c807bb363cc2c2ab4aca66a82]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Reviewed-by: Florian Weimer <fweimer@redhat.com>
 ---
- sysdeps/aarch64/configure    | 2 +-
- sysdeps/aarch64/configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ sysdeps/aarch64/configure    | 5 +++--
+ sysdeps/aarch64/configure.ac | 5 +++--
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+ mode change 100644 => 100755 sysdeps/aarch64/configure
 
 diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
-index 5e91fab023..39dddc66d4 100644
+old mode 100644
+new mode 100755
+index ca57edce47..9606137e8d
 --- a/sysdeps/aarch64/configure
 +++ b/sysdeps/aarch64/configure
-@@ -327,7 +327,7 @@ else $as_nop
+@@ -325,9 +325,10 @@ then :
+   printf %s "(cached) " >&6
+ else $as_nop
    cat > conftest.s <<\EOF
-         ptrue p0.b
+-        ptrue p0.b
++	.arch armv8.2-a+sve
++	ptrue p0.b
  EOF
 -if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5'
-+if { ac_try='${CC-cc} -c -mcpu=generic+sve -march=armv8.2-a+sve conftest.s 1>&5'
++if { ac_try='${CC-cc} -c conftest.s 1>&5'
    { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
    (eval $ac_try) 2>&5
    ac_status=$?
 diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
-index 8a708f2ef4..b6a146d2be 100644
+index 27874eceb4..56d12d661d 100644
 --- a/sysdeps/aarch64/configure.ac
 +++ b/sysdeps/aarch64/configure.ac
-@@ -92,7 +92,7 @@ AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl
+@@ -90,9 +90,10 @@ LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs])
+ # Check if asm support armv8.2-a+sve
+ AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl
  cat > conftest.s <<\EOF
-         ptrue p0.b
+-        ptrue p0.b
++	.arch armv8.2-a+sve
++	ptrue p0.b
  EOF
 -if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then
-+if AC_TRY_COMMAND(${CC-cc} -c -mcpu=generic+sve -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then
++if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
    libc_cv_aarch64_sve_asm=yes
  else
    libc_cv_aarch64_sve_asm=no
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch b/poky/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch
new file mode 100644
index 0000000..c0a467f
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch
@@ -0,0 +1,45 @@
+glibc: Skip 2 qemu tests that can hang in oe-selftest
+
+qemumips and qemuppc were leaving stale processes behind after
+running glibc oe-selftest. During analysis, it was found that
+it was due to "tst-scm_rights" and "tst-scm_rights-time64" tests.
+Disable them so that there are no stale processes left behind.
+
+[YOCTO #15423]
+https://bugzilla.yoctoproject.org/show_bug.cgi?id=15423
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
+---
+diff --git a/sysdeps/unix/sysv/linux/Makefile  b/sysdeps/unix/sysv/linux/Makefile
+--- a/sysdeps/unix/sysv/linux/Makefile    2024-03-18 01:15:49.019202881 -0700
++++ b/sysdeps/unix/sysv/linux/Makefile  2024-03-14 06:26:18.581404107 -0700
+@@ -222,7 +222,6 @@
+   tst-process_mrelease \
+   tst-quota \
+   tst-rlimit-infinity \
+-  tst-scm_rights \
+   tst-sigtimedwait \
+   tst-sync_file_range \
+   tst-sysconf-iov_max \
+@@ -233,6 +232,8 @@
+   tst-timerfd \
+   tst-ttyname-direct \
+   tst-ttyname-namespace \
++  # Skip this test to avoid stale qemu process
++  # tst-scm_rights \
+   # tests
+
+ # process_madvise requires CAP_SYS_ADMIN.
+@@ -270,9 +271,10 @@
+   tst-ntp_gettimex-time64 \
+   tst-ppoll-time64 \
+   tst-prctl-time64 \
+-  tst-scm_rights-time64 \
+   tst-sigtimedwait-time64 \
+   tst-timerfd-time64 \
++  # Skip this test to avoid stale qemu process
++  # tst-scm_rights-time64 \
+   # tests-time64
+
+ tests-clone-internal = \
diff --git a/poky/meta/recipes-core/glibc/glibc_2.39.bb b/poky/meta/recipes-core/glibc/glibc_2.39.bb
index b203060..9122472 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.39.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.39.bb
@@ -49,6 +49,7 @@
            file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
            file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
            file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \
+           file://0024-qemu-stale-process.patch \
 "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"
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 bfe48b2..1901641 100644
--- a/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
+++ b/poky/meta/recipes-core/meta/cve-update-nvd2-native.bb
@@ -26,13 +26,17 @@
 # Use a negative value to skip the update
 CVE_DB_UPDATE_INTERVAL ?= "86400"
 
-# Number of attmepts for each http query to nvd server before giving up
+# CVE database incremental update age threshold, in seconds. If the database is
+# older than this threshold, do a full re-download, else, do an incremental
+# update. By default: the maximum allowed value from NVD: 120 days (120*24*60*60)
+# Use 0 to force a full download.
+CVE_DB_INCR_UPDATE_AGE_THRES ?= "10368000"
+
+# Number of attempts for each http query to nvd server before giving up
 CVE_DB_UPDATE_ATTEMPTS ?= "5"
 
 CVE_DB_TEMP_FILE ?= "${CVE_CHECK_DB_DIR}/temp_nvdcve_2.db"
 
-CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_2.db"
-
 python () {
     if not bb.data.inherits_class("cve-check", d):
         raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.")
@@ -119,7 +123,8 @@
 
 def nvd_request_next(url, attempts, api_key, args, min_wait):
     """
-    Request next part of the NVD dabase
+    Request next part of the NVD database
+    NVD API documentation: https://nvd.nist.gov/developers/vulnerabilities
     """
 
     import urllib.request
@@ -172,18 +177,24 @@
 
     req_args = {'startIndex' : 0}
 
-    # The maximum range for time is 120 days
-    # Force a complete update if our range is longer
-    if (database_time != 0):
+    incr_update_threshold = int(d.getVar("CVE_DB_INCR_UPDATE_AGE_THRES"))
+    if database_time != 0:
         database_date = datetime.datetime.fromtimestamp(database_time, tz=datetime.timezone.utc)
         today_date = datetime.datetime.now(tz=datetime.timezone.utc)
         delta = today_date - database_date
-        if delta.days < 120:
+        if incr_update_threshold == 0:
+            bb.note("CVE database: forced full update")
+        elif delta < datetime.timedelta(seconds=incr_update_threshold):
             bb.note("CVE database: performing partial update")
+            # The maximum range for time is 120 days
+            if delta > datetime.timedelta(days=120):
+                bb.error("CVE database: Trying to do an incremental update on a larger than supported range")
             req_args['lastModStartDate'] = database_date.isoformat()
             req_args['lastModEndDate'] = today_date.isoformat()
         else:
             bb.note("CVE database: file too old, forcing a full update")
+    else:
+        bb.note("CVE database: no preexisting database, do a full download")
 
     with bb.progress.ProgressHandler(d) as ph, open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a') as cve_f:
 
@@ -313,6 +324,10 @@
     vectorString = None
     cveId = elt['cve']['id']
     if elt['cve']['vulnStatus'] ==  "Rejected":
+        c = conn.cursor()
+        c.execute("delete from PRODUCTS where ID = ?;", [cveId])
+        c.execute("delete from NVD where ID = ?;", [cveId])
+        c.close()
         return
     cveDesc = ""
     for desc in elt['cve']['descriptions']:
@@ -346,6 +361,10 @@
                 [cveId, cveDesc, cvssv2, cvssv3, date, accessVector, vectorString]).close()
 
     try:
+        # Remove any pre-existing CVE configuration. Even for partial database
+        # update, those will be repopulated. This ensures that old
+        # configuration is not kept for an updated CVE.
+        conn.execute("delete from PRODUCTS where ID = ?", [cveId]).close()
         for config in elt['cve']['configurations']:
             # This is suboptimal as it doesn't handle AND/OR and negate, but is better than nothing
             for node in config["nodes"]:
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 3dc031d..5b1353b 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -30,6 +30,9 @@
 SRCREV = "819cfc6b42a68790a23509e4fcc58ceb70e1965e"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
 
+CVE_PRODUCT = "edk2"
+CVE_VERSION = "${@d.getVar('PV').split('stable')[1]}"
+
 inherit deploy
 
 PARALLEL_MAKE = ""
diff --git a/poky/meta/recipes-core/readline/readline/readline82-001.patch b/poky/meta/recipes-core/readline/readline/readline82-001.patch
new file mode 100644
index 0000000..4e9839d
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-001.patch
@@ -0,0 +1,45 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-001
+
+Bug-Reported-by:	Kan-Ru Chen <koster@debian.org>
+Bug-Reference-ID:
+Bug-Reference-URL:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021109
+
+Bug-Description:
+
+Starting a readline application with an invalid locale specification for
+LC_ALL/LANG/LC_CTYPE can cause it crash on the first call to readline.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/nls.c	2022-08-15 09:38:51.000000000 -0400
+--- nls.c	2022-10-05 09:23:22.000000000 -0400
+***************
+*** 142,145 ****
+--- 142,149 ----
+      lspec = "";
+    ret = setlocale (LC_CTYPE, lspec);	/* ok, since it does not change locale */
++   if (ret == 0 || *ret == 0)
++     ret = setlocale (LC_CTYPE, (char *)NULL);
++   if (ret == 0 || *ret == 0)
++     ret = RL_DEFAULT_LOCALE;
+  #else
+    ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec;
+
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 0
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 1
diff --git a/poky/meta/recipes-core/readline/readline/readline82-002.patch b/poky/meta/recipes-core/readline/readline/readline82-002.patch
new file mode 100644
index 0000000..5629685
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-002.patch
@@ -0,0 +1,51 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-002
+
+Bug-Reported-by:	srobertson@peratonlabs.com
+Bug-Reference-ID:
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2022-09/msg00049.html
+
+Bug-Description:
+
+It's possible for readline to try to zero out a line that's not null-
+terminated, leading to a memory fault.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/display.c	2022-04-05 10:47:31.000000000 -0400
+--- display.c	2022-12-13 13:11:22.000000000 -0500
+***************
+*** 2684,2692 ****
+  
+    if (visible_line)
+!     {
+!       temp = visible_line;
+!       while (*temp)
+! 	*temp++ = '\0';
+!     }
+    rl_on_new_line ();
+    forced_display++;
+--- 2735,2740 ----
+  
+    if (visible_line)
+!     memset (visible_line, 0, line_size);
+! 
+    rl_on_new_line ();
+    forced_display++;
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 1
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 2
diff --git a/poky/meta/recipes-core/readline/readline/readline82-003.patch b/poky/meta/recipes-core/readline/readline/readline82-003.patch
new file mode 100644
index 0000000..61570bf
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-003.patch
@@ -0,0 +1,46 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-003
+
+Bug-Reported-by:	Stefan Klinger <readline-gnu.org@stefan-klinger.de>
+Bug-Reference-ID:
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2023-08/msg00018.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+The custom color prefix that readline uses to color possible completions
+must have a leading `.'.
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/colors.c	2021-12-08 11:38:25.000000000 -0500
+--- colors.c	2023-08-28 16:40:04.000000000 -0400
+***************
+*** 74,78 ****
+  static void restore_default_color (void);
+  
+! #define RL_COLOR_PREFIX_EXTENSION	"readline-colored-completion-prefix"
+  
+  COLOR_EXT_TYPE *_rl_color_ext_list = 0;
+--- 74,78 ----
+  static void restore_default_color (void);
+  
+! #define RL_COLOR_PREFIX_EXTENSION	".readline-colored-completion-prefix"
+  
+  COLOR_EXT_TYPE *_rl_color_ext_list = 0;
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 2
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 3
diff --git a/poky/meta/recipes-core/readline/readline/readline82-004.patch b/poky/meta/recipes-core/readline/readline/readline82-004.patch
new file mode 100644
index 0000000..cedc3d0
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-004.patch
@@ -0,0 +1,68 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-004
+
+Bug-Reported-by:	Henry Bent <henry.r.bent@gmail.com>
+Bug-Reference-ID:
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2022-11/msg00044.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+There are systems that supply one of select or pselect, but not both.
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/input.c	2022-04-08 15:43:24.000000000 -0400
+--- input.c	2022-11-28 09:41:08.000000000 -0500
+***************
+*** 152,156 ****
+--- 152,158 ----
+  int _rl_timeout_init (void);
+  int _rl_timeout_sigalrm_handler (void);
++ #if defined (RL_TIMEOUT_USE_SELECT)
+  int _rl_timeout_select (int, fd_set *, fd_set *, fd_set *, const struct timeval *, const sigset_t *);
++ #endif
+  
+  static void _rl_timeout_handle (void);
+***************
+*** 249,253 ****
+    int chars_avail, k;
+    char input;
+! #if defined(HAVE_SELECT)
+    fd_set readfds, exceptfds;
+    struct timeval timeout;
+--- 251,255 ----
+    int chars_avail, k;
+    char input;
+! #if defined (HAVE_PSELECT) || defined (HAVE_SELECT)
+    fd_set readfds, exceptfds;
+    struct timeval timeout;
+***************
+*** 806,810 ****
+    unsigned char c;
+    int fd;
+! #if defined (HAVE_PSELECT)
+    sigset_t empty_set;
+    fd_set readfds;
+--- 815,819 ----
+    unsigned char c;
+    int fd;
+! #if defined (HAVE_PSELECT) || defined (HAVE_SELECT)
+    sigset_t empty_set;
+    fd_set readfds;
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 3
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 4
diff --git a/poky/meta/recipes-core/readline/readline/readline82-005.patch b/poky/meta/recipes-core/readline/readline/readline82-005.patch
new file mode 100644
index 0000000..69c2e4f
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-005.patch
@@ -0,0 +1,53 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-005
+
+Bug-Reported-by:	Simon Marchi <simon.marchi@polymtl.ca>
+Bug-Reference-ID:
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00005.html
+
+Bug-Description:
+
+If an application is using readline in callback mode, and a signal arrives
+after readline checks for it in rl_callback_read_char() but before it
+restores the application's signal handlers, it won't get processed until the
+next time the application calls rl_callback_read_char(). Readline needs to
+check for and resend any pending signals after restoring the application's
+signal handlers.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/callback.c	2022-04-29 12:02:56.000000000 -0400
+--- callback.c	2022-10-11 10:59:06.000000000 -0400
+***************
+*** 116,120 ****
+    do { \
+      if (rl_persistent_signal_handlers == 0) \
+!       rl_clear_signals (); \
+      return; \
+    } while (0)
+--- 116,123 ----
+    do { \
+      if (rl_persistent_signal_handlers == 0) \
+!       { \
+!         rl_clear_signals (); \
+!         if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \
+!       } \
+      return; \
+    } while (0)
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 4
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 5
diff --git a/poky/meta/recipes-core/readline/readline/readline82-006.patch b/poky/meta/recipes-core/readline/readline/readline82-006.patch
new file mode 100644
index 0000000..d66afe8
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-006.patch
@@ -0,0 +1,102 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-006
+
+Bug-Reported-by:	Tom de Vries <tdevries@suse.de>
+Bug-Reference-ID:
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00001.html
+
+Bug-Description:
+
+This is a variant of the same issue as the one fixed by patch 5. In this
+case, the signal arrives and is pending before readline calls rl_getc().
+When this happens, the pending signal will be handled by the loop, but may
+alter or destroy some state that the callback uses. Readline needs to treat
+this case the same way it would if a signal interrupts pselect/select, so
+compound operations like searches and reading numeric arguments get cleaned
+up properly.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/input.c	2022-12-22 16:15:48.000000000 -0500
+--- input.c	2023-01-10 11:53:45.000000000 -0500
+***************
+*** 812,816 ****
+  rl_getc (FILE *stream)
+  {
+!   int result;
+    unsigned char c;
+    int fd;
+--- 812,816 ----
+  rl_getc (FILE *stream)
+  {
+!   int result, ostate, osig;
+    unsigned char c;
+    int fd;
+***************
+*** 823,828 ****
+--- 823,842 ----
+    while (1)
+      {
++       osig = _rl_caught_signal;
++       ostate = rl_readline_state;
++ 
+        RL_CHECK_SIGNALS ();
+  
++ #if defined (READLINE_CALLBACKS)
++       /* Do signal handling post-processing here, but just in callback mode
++ 	 for right now because the signal cleanup can change some of the
++ 	 callback state, and we need to either let the application have a
++ 	 chance to react or abort some current operation that gets cleaned
++ 	 up by rl_callback_sigcleanup(). If not, we'll just run through the
++ 	 loop again. */
++       if (osig != 0 && (ostate & RL_STATE_CALLBACK))
++ 	goto postproc_signal;
++ #endif
++ 
+        /* We know at this point that _rl_caught_signal == 0 */
+  
+***************
+*** 888,891 ****
+--- 902,908 ----
+  
+  handle_error:
++       osig = _rl_caught_signal;
++       ostate = rl_readline_state;
++ 
+        /* If the error that we received was EINTR, then try again,
+  	 this is simply an interrupted system call to read ().  We allow
+***************
+*** 928,933 ****
+--- 945,959 ----
+  #endif  /* SIGALRM */
+  
++ postproc_signal:
++       /* POSIX says read(2)/pselect(2)/select(2) don't return EINTR for any
++ 	 reason other than being interrupted by a signal, so we can safely
++ 	 call the application's signal event hook. */
+        if (rl_signal_event_hook)
+  	(*rl_signal_event_hook) ();
++ #if defined (READLINE_CALLBACKS)
++       else if (osig == SIGINT && (ostate & RL_STATE_CALLBACK) && (ostate & (RL_STATE_ISEARCH|RL_STATE_NSEARCH|RL_STATE_NUMERICARG)))
++         /* just these cases for now */
++         _rl_abort_internal ();
++ #endif
+      }
+  }
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 5
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 6
diff --git a/poky/meta/recipes-core/readline/readline/readline82-007.patch b/poky/meta/recipes-core/readline/readline/readline82-007.patch
new file mode 100644
index 0000000..9fa1ccb
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-007.patch
@@ -0,0 +1,51 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-007
+
+Bug-Reported-by:	Kevin Pulo <kev@pulo.com.au>
+Bug-Reference-ID:
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2022-11/msg00002.html
+
+Bug-Description:
+
+If readline is called with no prompt, it should display a newline if return
+is typed on an empty line. It should still suppress the final newline if
+return is typed on the last (empty) line of a multi-line command.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/display.c	2022-04-05 10:47:31.000000000 -0400
+--- display.c	2022-12-13 13:11:22.000000000 -0500
+***************
+*** 3342,3348 ****
+  		 &last_face[_rl_screenwidth - 1 + woff], 1);
+      }
+!   _rl_vis_botlin = 0;
+!   if (botline_length > 0 || _rl_last_c_pos > 0)
+      rl_crlf ();
+    fflush (rl_outstream);
+    rl_display_fixed++;
+--- 3394,3400 ----
+  		 &last_face[_rl_screenwidth - 1 + woff], 1);
+      }
+!   if ((_rl_vis_botlin == 0 && botline_length == 0) || botline_length > 0 || _rl_last_c_pos > 0)
+      rl_crlf ();
++   _rl_vis_botlin = 0;
+    fflush (rl_outstream);
+    rl_display_fixed++;
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 6
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 7
diff --git a/poky/meta/recipes-core/readline/readline/readline82-008.patch b/poky/meta/recipes-core/readline/readline/readline82-008.patch
new file mode 100644
index 0000000..660cb1e
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-008.patch
@@ -0,0 +1,80 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-008
+
+Bug-Reported-by:
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+Add missing prototypes for several function declarations.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/text.c	Wed Oct 27 11:03:59 2021
+--- text.c	Thu Nov 16 16:24:58 2023
+***************
+*** 1765,1770 ****
+  #if defined (READLINE_CALLBACKS)
+  static int
+! _rl_char_search_callback (data)
+!      _rl_callback_generic_arg *data;
+  {
+    _rl_callback_func = 0;
+--- 1765,1769 ----
+  #if defined (READLINE_CALLBACKS)
+  static int
+! _rl_char_search_callback (_rl_callback_generic_arg *data)
+  {
+    _rl_callback_func = 0;
+*** ../readline-8.2-patched/bind.c	Wed Feb  9 11:02:22 2022
+--- bind.c	Thu Nov 16 16:25:17 2023
+***************
+*** 1168,1174 ****
+  
+  static int
+! parse_comparison_op (s, indp)
+!      const char *s;
+!      int *indp;
+  {
+    int i, peekc, op;
+--- 1168,1172 ----
+  
+  static int
+! parse_comparison_op (const char *s, int *indp)
+  {
+    int i, peekc, op;
+*** ../readline-8.2-patched/rltty.c	Fri Feb 18 11:14:22 2022
+--- rltty.c	Thu Nov 16 16:25:36 2023
+***************
+*** 81,86 ****
+     to get the tty settings. */
+  static void
+! set_winsize (tty)
+!      int tty;
+  {
+  #if defined (TIOCGWINSZ)
+--- 81,85 ----
+     to get the tty settings. */
+  static void
+! set_winsize (int tty)
+  {
+  #if defined (TIOCGWINSZ)
+
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 7
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 8
diff --git a/poky/meta/recipes-core/readline/readline/readline82-009.patch b/poky/meta/recipes-core/readline/readline/readline82-009.patch
new file mode 100644
index 0000000..1fcf7b3
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-009.patch
@@ -0,0 +1,76 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-009
+
+Bug-Reported-by:	Stefan H. Holek <stefan@epy.co.at>
+Bug-Reference-ID:	<50F8DA45-B7F3-4DE1-AB94-19AE42649CDC@epy.co.at>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2022-10/msg00021.html
+
+Bug-Description:
+
+Fix issue where the directory name portion of the word to be completed (the
+part that is passed to opendir()) requires both tilde expansion and dequoting.
+Readline only performed tilde expansion in this case, so filename completion
+would fail.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/complete.c	2022-04-05 10:47:06.000000000 -0400
+--- complete.c	2022-10-26 15:08:51.000000000 -0400
+***************
+*** 2527,2531 ****
+  	  xfree (dirname);
+  	  dirname = temp;
+! 	  tilde_dirname = 1;
+  	}
+  
+--- 2527,2532 ----
+  	  xfree (dirname);
+  	  dirname = temp;
+! 	  if (*dirname != '~')
+! 	    tilde_dirname = 1;	/* indicate successful tilde expansion */
+  	}
+  
+***************
+*** 2546,2554 ****
+  	  users_dirname = savestring (dirname);
+  	}
+!       else if (tilde_dirname == 0 && rl_completion_found_quote && rl_filename_dequoting_function)
+  	{
+! 	  /* delete single and double quotes */
+  	  xfree (dirname);
+! 	  dirname = savestring (users_dirname);
+  	}
+        directory = opendir (dirname);
+--- 2547,2560 ----
+  	  users_dirname = savestring (dirname);
+  	}
+!       else if (rl_completion_found_quote && rl_filename_dequoting_function)
+  	{
+! 	  /* We already ran users_dirname through the dequoting function.
+! 	     If tilde_dirname == 1, we successfully performed tilde expansion
+! 	     on dirname. Now we need to reconcile those results. We either
+! 	     just copy the already-dequoted users_dirname or tilde expand it
+! 	     if we tilde-expanded dirname. */
+! 	  temp = tilde_dirname ? tilde_expand (users_dirname) : savestring (users_dirname);
+  	  xfree (dirname);
+! 	  dirname = temp;
+  	}
+        directory = opendir (dirname);
+
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 8
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 9
diff --git a/poky/meta/recipes-core/readline/readline/readline82-010.patch b/poky/meta/recipes-core/readline/readline/readline82-010.patch
new file mode 100644
index 0000000..6152953
--- /dev/null
+++ b/poky/meta/recipes-core/readline/readline/readline82-010.patch
@@ -0,0 +1,70 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.2
+Patch-ID: readline82-010
+
+Bug-Reported-by:	Martin Castillo <castilma@uni-bremen.de>
+Bug-Reference-ID:	<2d42153b-cf65-caba-dff1-cd3bc6268c7e@uni-bremen.de>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2023-01/msg00000.html
+
+Bug-Description:
+
+Fix the case where text to be completed from the line buffer (quoted) is
+compared to the common prefix of the possible matches (unquoted) and the
+quoting makes the former appear to be longer than the latter. Readline
+assumes the match doesn't add any characters to the word and doesn't display
+multiple matches.
+
+Patch (apply with `patch -p0'):
+
+Upstream-Status: Submitted [https://ftp.gnu.org/gnu/readline/readline-8.2-patches/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+*** ../readline-8.2-patched/complete.c	Tue Apr  5 10:47:06 2022
+--- complete.c	Sat Jan  7 14:19:45 2023
+***************
+*** 2032,2038 ****
+    text = rl_copy_text (start, end);
+    matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char);
+    /* nontrivial_lcd is set if the common prefix adds something to the word
+       being completed. */
+!   nontrivial_lcd = matches && compare_match (text, matches[0]) != 0;
+    if (what_to_do == '!' || what_to_do == '@')
+      tlen = strlen (text);
+--- 2038,2060 ----
+    text = rl_copy_text (start, end);
+    matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char);
++   /* If TEXT contains quote characters, it will be dequoted as part of
++      generating the matches, and the matches will not contain any quote
++      characters. We need to dequote TEXT before performing the comparison.
++      Since compare_match performs the dequoting, and we only want to do it
++      once, we don't call compare_matches after dequoting TEXT; we call
++      strcmp directly. */
+    /* nontrivial_lcd is set if the common prefix adds something to the word
+       being completed. */
+!   if (rl_filename_completion_desired && rl_filename_quoting_desired &&
+!       rl_completion_found_quote && rl_filename_dequoting_function)
+!     {
+!       char *t;
+!       t = (*rl_filename_dequoting_function) (text, rl_completion_quote_character);
+!       xfree (text);
+!       text = t;
+!       nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;
+!     }
+!   else
+!     nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;
+    if (what_to_do == '!' || what_to_do == '@')
+      tlen = strlen (text);
+
+*** ../readline-8.2/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 9
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 10
diff --git a/poky/meta/recipes-core/readline/readline_8.2.bb b/poky/meta/recipes-core/readline/readline_8.2.bb
index 3a47297..f0dba31 100644
--- a/poky/meta/recipes-core/readline/readline_8.2.bb
+++ b/poky/meta/recipes-core/readline/readline_8.2.bb
@@ -2,4 +2,16 @@
 
 SRC_URI += "  file://norpath.patch"
 
+SRC_URI += "file://readline82-001.patch;striplevel=0 \
+            file://readline82-002.patch;striplevel=0 \
+            file://readline82-003.patch;striplevel=0 \
+            file://readline82-004.patch;striplevel=0 \
+            file://readline82-005.patch;striplevel=0 \
+            file://readline82-006.patch;striplevel=0 \
+            file://readline82-007.patch;striplevel=0 \
+            file://readline82-008.patch;striplevel=0 \
+            file://readline82-009.patch;striplevel=0 \
+            file://readline82-010.patch;striplevel=0 \
+           "
+
 SRC_URI[archive.sha256sum] = "3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-NamePolicy.patch b/poky/meta/recipes-core/systemd/systemd/0001-NamePolicy.patch
new file mode 100644
index 0000000..46955cb
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-NamePolicy.patch
@@ -0,0 +1,33 @@
+From 9bb09886320eb286108fb370b2634a66b3e3b9ff Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 21 Mar 2024 16:28:31 +0000
+Subject: [PATCH] systemd: enable mac based names in NamePolicy
+
+The default NamePolicy for network interface names does not
+include names based on mac addresses.  Some BSPs, though, do
+not provide information to compute other names, so we enable
+mac names as a last resort.
+
+Upstream-Status: Inappropriate [enable feature]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ network/99-default.link | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/network/99-default.link b/network/99-default.link
+index 429ac31e80..543ce54661 100644
+--- a/network/99-default.link
++++ b/network/99-default.link
+@@ -15,6 +15,6 @@
+ OriginalName=*
+ 
+ [Link]
+-NamePolicy=keep kernel database onboard slot path
+-AlternativeNamesPolicy=database onboard slot path
++NamePolicy=keep kernel database onboard slot path mac
++AlternativeNamesPolicy=database onboard slot path mac
+ MACAddressPolicy=persistent
+-- 
+2.35.5
+
diff --git a/poky/meta/recipes-core/systemd/systemd_255.4.bb b/poky/meta/recipes-core/systemd/systemd_255.4.bb
index bcef3e6..8a816c4 100644
--- a/poky/meta/recipes-core/systemd/systemd_255.4.bb
+++ b/poky/meta/recipes-core/systemd/systemd_255.4.bb
@@ -28,6 +28,7 @@
            file://systemd-pager.sh \
            file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0008-implment-systemd-sysv-install-for-OE.patch \
+           file://0001-NamePolicy.patch \
            "
 
 # patches needed by musl
@@ -248,6 +249,7 @@
                   -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)} \
                   "
 
 # Hardcode target binary paths to avoid using paths from sysroot or worse
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 4e9d22f..d506783 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -6,14 +6,15 @@
 
 SECTION = "base"
 
-LICENSE = "GPL-1.0-or-later & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause"
+LICENSE = "GPL-1.0-or-later & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & MIT"
+LICENSE:${PN}-fcntl-lock = "MIT"
 LICENSE:${PN}-fdisk = "GPL-1.0-or-later"
 LICENSE:${PN}-libblkid = "LGPL-2.1-or-later"
 LICENSE:${PN}-libfdisk = "LGPL-2.1-or-later"
 LICENSE:${PN}-libmount = "LGPL-2.1-or-later"
 LICENSE:${PN}-libsmartcols = "LGPL-2.1-or-later"
 
-LIC_FILES_CHKSUM = "file://README.licensing;md5=6b0e0a2320e66e62eef9b8149a6faec4 \
+LIC_FILES_CHKSUM = "file://README.licensing;md5=cc80239f106687ab39ef0271ff5cf4ba \
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
@@ -29,6 +30,7 @@
 FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:"
 MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \
+           file://mit-license.patch \
            file://configure-sbindir.patch \
            file://runuser.pamd \
            file://runuser-l.pamd \
@@ -37,6 +39,7 @@
            file://display_testname_for_subtest.patch \
            file://avoid_parallel_tests.patch \
            file://0001-login-utils-include-libgen.h-for-basename-API.patch \
+           file://fcntl-lock.c \
            "
 
 SRC_URI[sha256sum] = "7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/fcntl-lock.c b/poky/meta/recipes-core/util-linux/util-linux/fcntl-lock.c
new file mode 100644
index 0000000..966d8c5
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/fcntl-lock.c
@@ -0,0 +1,332 @@
+// From https://github.com/magnumripper/fcntl-lock
+// SPDX-License-Identifier: MIT
+/* ----------------------------------------------------------------------- *
+ *
+ *   Copyright 2003-2005 H. Peter Anvin - All Rights Reserved
+ *   Copyright 2015 magnum (fcntl version)
+ *
+ *   Permission is hereby granted, free of charge, to any person
+ *   obtaining a copy of this software and associated documentation
+ *   files (the "Software"), to deal in the Software without
+ *   restriction, including without limitation the rights to use,
+ *   copy, modify, merge, publish, distribute, sublicense, and/or
+ *   sell copies of the Software, and to permit persons to whom
+ *   the Software is furnished to do so, subject to the following
+ *   conditions:
+ *
+ *   The above copyright notice and this permission notice shall
+ *   be included in all copies or substantial portions of the Software.
+ *
+ *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *   OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * ----------------------------------------------------------------------- */
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <signal.h>
+#include <ctype.h>
+#include <string.h>
+#include <paths.h>
+#include <sysexits.h>
+#include <sys/types.h>
+#include <sys/file.h>
+#include <sys/time.h>
+#include <sys/wait.h>
+
+#define PACKAGE_STRING "magnum"
+#define _(x) (x)
+
+static const struct option long_options[] = {
+  { "shared",       0, NULL, 's' },
+  { "exclusive",    0, NULL, 'x' },
+  { "unlock",       0, NULL, 'u' },
+  { "nonblocking",  0, NULL, 'n' },
+  { "nb",           0, NULL, 'n' },
+  { "timeout",      1, NULL, 'w' },
+  { "wait",         1, NULL, 'w' },
+  { "close",        0, NULL, 'o' },
+  { "help",         0, NULL, 'h' },
+  { "version",      0, NULL, 'V' },
+  { 0, 0, 0, 0 }
+};
+
+const char *program;
+
+static void usage(int ex)
+{
+  fputs("fcntl-lock (" PACKAGE_STRING ")\n", stderr);
+  fprintf(stderr,
+	_("Usage: %1$s [-sxun][-w #] fd#\n"
+	  "       %1$s [-sxon][-w #] file [-c] command...\n"
+	  "       %1$s [-sxon][-w #] directory [-c] command...\n"
+	  "  -s  --shared     Get a shared lock\n"
+	  "  -x  --exclusive  Get an exclusive lock\n"
+	  "  -u  --unlock     Remove a lock\n"
+	  "  -n  --nonblock   Fail rather than wait\n"
+	  "  -w  --timeout    Wait for a limited amount of time\n"
+	  "  -o  --close      Close file descriptor before running command\n"
+	  "  -c  --command    Run a single command string through the shell\n"
+	  "  -h  --help       Display this text\n"
+	  "  -V  --version    Display version\n"),
+	  program);
+  exit(ex);
+}
+
+
+static sig_atomic_t timeout_expired = 0;
+
+static void timeout_handler(int sig)
+{
+  (void)sig;
+
+  timeout_expired = 1;
+}
+
+
+static char * strtotimeval(const char *str, struct timeval *tv)
+{
+  char *s;
+  long fs;			/* Fractional seconds */
+  int i;
+
+  tv->tv_sec = strtol(str, &s, 10);
+  fs = 0;
+
+  if ( *s == '.' ) {
+    s++;
+
+    for ( i = 0 ; i < 6 ; i++ ) {
+      if ( !isdigit(*s) )
+	break;
+
+      fs *= 10;
+      fs += *s++ - '0';
+    }
+
+    for ( ; i < 6; i++ )
+      fs *= 10;
+
+    while ( isdigit(*s) )
+      s++;
+  }
+
+  tv->tv_usec = fs;
+  return s;
+}
+
+int main(int argc, char *argv[])
+{
+  struct itimerval timeout, old_timer;
+  int have_timeout = 0;
+  int type = F_WRLCK;
+  int block = F_SETLKW;
+  int fd = -1;
+  int opt, ix;
+  int do_close = 0;
+  int err;
+  int status;
+  char *eon;
+  char **cmd_argv = NULL, *sh_c_argv[4];
+  struct flock lock;
+  const char *filename = NULL;
+  struct sigaction sa, old_sa;
+
+  program = argv[0];
+
+  if ( argc < 2 )
+    usage(EX_USAGE);
+
+  memset(&timeout, 0, sizeof timeout);
+
+  optopt = 0;
+  while ( (opt = getopt_long(argc, argv, "+sexnouw:hV?", long_options, &ix)) != EOF ) {
+    switch(opt) {
+    case 's':
+      type = F_RDLCK;
+      break;
+    case 'e':
+    case 'x':
+      type = F_WRLCK;
+      break;
+    case 'u':
+      type = F_UNLCK;
+      break;
+    case 'o':
+      do_close = 1;
+      break;
+    case 'n':
+      block = F_SETLK;
+      break;
+    case 'w':
+      have_timeout = 1;
+      eon = strtotimeval(optarg, &timeout.it_value);
+      if ( *eon )
+	usage(EX_USAGE);
+      break;
+    case 'V':
+      printf("fcntl-lock (%s)\n", PACKAGE_STRING);
+      exit(0);
+    default:
+      /* optopt will be set if this was an unrecognized option, i.e. *not* 'h' or '?' */
+      usage(optopt ? EX_USAGE : 0);
+      break;
+    }
+  }
+
+  if ( argc > optind+1 ) {
+    /* Run command */
+
+    if ( !strcmp(argv[optind+1], "-c") ||
+	 !strcmp(argv[optind+1], "--command") ) {
+
+      if ( argc != optind+3 ) {
+	fprintf(stderr, _("%s: %s requires exactly one command argument\n"),
+		program, argv[optind+1]);
+	exit(EX_USAGE);
+      }
+
+      cmd_argv = sh_c_argv;
+
+      cmd_argv[0] = getenv("SHELL");
+      if ( !cmd_argv[0] || !*cmd_argv[0] )
+	cmd_argv[0] = _PATH_BSHELL;
+
+      cmd_argv[1] = "-c";
+      cmd_argv[2] = argv[optind+2];
+      cmd_argv[3] = 0;
+    } else {
+      cmd_argv = &argv[optind+1];
+    }
+
+    filename = argv[optind];
+    fd = open(filename, O_RDWR|O_NOCTTY|O_CREAT, 0666);
+    /* Linux doesn't like O_CREAT on a directory, even though it should be a
+       no-op */
+    if (fd < 0 && errno == EISDIR)
+        fd = open(filename, O_RDONLY|O_NOCTTY);
+
+    if ( fd < 0 ) {
+      err = errno;
+      fprintf(stderr, _("%s: cannot open lock file %s: %s\n"),
+	      program, argv[optind], strerror(err));
+      exit((err == ENOMEM||err == EMFILE||err == ENFILE) ? EX_OSERR :
+	   (err == EROFS||err == ENOSPC) ? EX_CANTCREAT :
+	   EX_NOINPUT);
+    }
+
+  } else if (optind < argc) {
+    /* Use provided file descriptor */
+
+    fd = (int)strtol(argv[optind], &eon, 10);
+    if ( *eon || !argv[optind] ) {
+      fprintf(stderr, _("%s: bad number: %s\n"), program, argv[optind]);
+      exit(EX_USAGE);
+    }
+
+  } else {
+    /* Bad options */
+
+    fprintf(stderr, _("%s: requires file descriptor, file or directory\n"),
+		program);
+    exit(EX_USAGE);
+  }
+
+
+  if ( have_timeout ) {
+    if ( timeout.it_value.tv_sec == 0 &&
+	 timeout.it_value.tv_usec == 0 ) {
+      /* -w 0 is equivalent to -n; this has to be special-cased
+	 because setting an itimer to zero means disabled! */
+
+      have_timeout = 0;
+      block = F_SETLK;
+    } else {
+      memset(&sa, 0, sizeof sa);
+
+      sa.sa_handler = timeout_handler;
+      sa.sa_flags   = SA_RESETHAND;
+      sigaction(SIGALRM, &sa, &old_sa);
+
+      setitimer(ITIMER_REAL, &timeout, &old_timer);
+    }
+  }
+
+  memset(&lock, 0, sizeof(lock));
+  lock.l_type = type;
+  while ( fcntl(fd, block, &lock) ) {
+    switch( (err = errno) ) {
+    case EAGAIN:		/* -n option set and failed to lock */
+    case EACCES:		/* -n option set and failed to lock */
+      exit(1);
+    case EINTR:			/* Signal received */
+      if ( timeout_expired )
+	exit(1);		/* -w option set and failed to lock */
+      continue;			/* otherwise try again */
+    default:			/* Other errors */
+      if ( filename )
+	fprintf(stderr, "%s: %s: %s\n", program, filename, strerror(err));
+      else
+	fprintf(stderr, "%s: %d: %s\n", program, fd, strerror(err));
+      exit((err == ENOLCK||err == ENOMEM) ? EX_OSERR : EX_DATAERR);
+    }
+  }
+
+  if ( have_timeout ) {
+    setitimer(ITIMER_REAL, &old_timer, NULL); /* Cancel itimer */
+    sigaction(SIGALRM, &old_sa, NULL); /* Cancel signal handler */
+  }
+
+  status = 0;
+
+  if ( cmd_argv ) {
+    pid_t w, f;
+
+    /* Clear any inherited settings */
+    signal(SIGCHLD, SIG_DFL);
+    f = fork();
+
+    if ( f < 0 ) {
+      err = errno;
+      fprintf(stderr, _("%s: fork failed: %s\n"), program, strerror(err));
+      exit(EX_OSERR);
+    } else if ( f == 0 ) {
+      if ( do_close )
+	close(fd);
+      err = errno;
+      execvp(cmd_argv[0], cmd_argv);
+      /* execvp() failed */
+      fprintf(stderr, "%s: %s: %s\n", program, cmd_argv[0], strerror(err));
+      _exit((err == ENOMEM) ? EX_OSERR: EX_UNAVAILABLE);
+    } else {
+      do {
+	w = waitpid(f, &status, 0);
+	if (w == -1 && errno != EINTR)
+	  break;
+      } while ( w != f );
+
+      if (w == -1) {
+	err = errno;
+	status = EXIT_FAILURE;
+	fprintf(stderr, "%s: waitpid failed: %s\n", program, strerror(err));
+      } else if ( WIFEXITED(status) )
+	status = WEXITSTATUS(status);
+      else if ( WIFSIGNALED(status) )
+	status = WTERMSIG(status) + 128;
+      else
+	status = EX_OSERR;	/* WTF? */
+    }
+  }
+
+  return status;
+}
diff --git a/poky/meta/recipes-core/util-linux/util-linux/mit-license.patch b/poky/meta/recipes-core/util-linux/util-linux/mit-license.patch
new file mode 100644
index 0000000..afbec98
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/mit-license.patch
@@ -0,0 +1,45 @@
+From 5b8fab1584017d9d9be008c23b90128bba41a7b5 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 28 Mar 2024 12:16:57 +0000
+Subject: [PATCH] README.licensing/flock: Add MIT license mention
+
+Looking at the license text, flock.c is under the MIT license (see
+https://spdx.org/licenses/MIT).
+
+Add an SPDX license identifier header and add to the list of licenses the
+source so everything is correctly listed/identified.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/2870]
+
+---
+ README.licensing  | 2 ++
+ sys-utils/flock.c | 4 +++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/README.licensing b/README.licensing
+index 4454f8392a..535ad34813 100644
+--- a/README.licensing
++++ b/README.licensing
+@@ -12,6 +12,8 @@ There is code under:
+ 
+    * LGPL-2.1-or-later  - GNU Lesser General Public License 2.1 or any later version
+ 
++   * MIT                - MIT License
++
+    * BSD-2-Clause       - Simplified BSD License
+ 
+    * BSD-3-Clause       - BSD 3-Clause "New" or "Revised" License
+diff --git a/sys-utils/flock.c b/sys-utils/flock.c
+index fed29d7270..7d878ff810 100644
+--- a/sys-utils/flock.c
++++ b/sys-utils/flock.c
+@@ -1,4 +1,6 @@
+-/*   Copyright 2003-2005 H. Peter Anvin - All Rights Reserved
++/*   SPDX-License-Identifier: MIT
++ *
++ *   Copyright 2003-2005 H. Peter Anvin - All Rights Reserved
+  *
+  *   Permission is hereby granted, free of charge, to any person
+  *   obtaining a copy of this software and associated documentation
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.39.3.bb b/poky/meta/recipes-core/util-linux/util-linux_2.39.3.bb
index 3e87dcc..83b3f4e 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.39.3.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.39.3.bb
@@ -147,6 +147,11 @@
 SYSTEMD_SERVICE:${PN}-fstrim = "fstrim.timer fstrim.service"
 SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable"
 
+do_compile:append () {
+	cp ${WORKDIR}/fcntl-lock.c ${S}/fcntl-lock.c
+	${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock
+}
+
 do_install () {
 	# with ccache the timestamps on compiled files may
 	# end up earlier than on their inputs, this allows
@@ -182,6 +187,8 @@
 	echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
 
 	rm -f ${D}${bindir}/chkdupexe
+
+	install -m 0755 ${B}/fcntl-lock ${D}${bindir}
 }
 
 do_install:append:class-target () {
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.42.inc b/poky/meta/recipes-devtools/binutils/binutils-2.42.inc
index 5fcb429..3b6f47d 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.42.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.42.inc
@@ -35,5 +35,6 @@
      file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
      file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
      file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
+     file://0015-gprofng-change-use-of-bignum-to-bigint.patch \
 "
 S  = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0015-gprofng-change-use-of-bignum-to-bigint.patch b/poky/meta/recipes-devtools/binutils/binutils/0015-gprofng-change-use-of-bignum-to-bigint.patch
new file mode 100644
index 0000000..0d3d289
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0015-gprofng-change-use-of-bignum-to-bigint.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=3243d790ee32aa8eda69226d81b1e79dbd1dcd87]
+
+Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
+
+diff --git a/gprofng/gp-display-html/gp-display-html.in b/gprofng/gp-display-html/gp-display-html.in
+index 6f37ca282e7..306c99a0ec3 100644
+--- a/gprofng/gp-display-html/gp-display-html.in
++++ b/gprofng/gp-display-html/gp-display-html.in
+@@ -25,7 +25,7 @@ use warnings;
+ # Disable before release
+ # use Perl::Critic;
+ 
+-use bignum;
++use bigint;
+ use List::Util qw (max);
+ use Cwd qw (abs_path cwd);
+ use File::Basename;
diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-lock.py-fix-Exception-handling.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-lock.py-fix-Exception-handling.patch
new file mode 100644
index 0000000..6bffe9a
--- /dev/null
+++ b/poky/meta/recipes-devtools/dnf/dnf/0001-lock.py-fix-Exception-handling.patch
@@ -0,0 +1,62 @@
+From 3881757eabfde2ff54400ab127b106ab085d83f0 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 13 Mar 2024 11:22:05 +0800
+Subject: [PATCH] lock.py: fix Exception handling
+
+Before, when logdir is not writable, _try_lock will raise an Exception
+like "Permission denied: '/var/log/log_lock.pid'", and in this case,
+_unlock_thread will not be called and the variable count will not be
+handled, it maybe cause log_lock.pid not be deleted in case like [1].
+
+For [1], it is an cross compile case, when dnf install some packages to
+rootfs, seems like some threads don't do chroot like work, some threads
+do chroot like work. so for the threads don't do chroot, "Permission denied"
+Exception happend, for the threads that do chroot, log_lock.pid will be
+created under installroot/var/log/log_lock.pid, since variable count not
+handled correct before, log_lock.pid may not be deleted correctly.
+
+So fixed like this, if _try_lock raise Exception, _unlock_thread first,
+then raise the Exception.
+
+[1] https://github.com/rpm-software-management/dnf/issues/1963
+
+Upstream-Status: Submitted [ https://github.com/rpm-software-management/dnf/pull/2065 ]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ dnf/lock.py | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/dnf/lock.py b/dnf/lock.py
+index 6817aac9..5718062a 100644
+--- a/dnf/lock.py
++++ b/dnf/lock.py
+@@ -128,7 +128,11 @@ class ProcessLock(object):
+         self._lock_thread()
+         prev_pid = -1
+         my_pid = os.getpid()
+-        pid = self._try_lock(my_pid)
++        try:
++            pid = self._try_lock(my_pid)
++        except Exception:
++            self._unlock_thread()
++            raise
+         while pid != my_pid:
+             if pid != -1:
+                 if not self.blocking:
+@@ -140,7 +144,11 @@ class ProcessLock(object):
+                     logger.info(msg)
+                     prev_pid = pid
+             time.sleep(1)
+-            pid = self._try_lock(my_pid)
++            try:
++                pid = self._try_lock(my_pid)
++            except Exception:
++                self._unlock_thread()
++                raise
+ 
+     def __exit__(self, *exc_args):
+         if self.count == 1:
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
index 784d7a9..184dbea 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.19.0.bb
@@ -15,6 +15,7 @@
            file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            file://0030-Run-python-scripts-using-env.patch \
            file://0001-set-python-path-for-completion_helper.patch \
+           file://0001-lock.py-fix-Exception-handling.patch \
            "
 
 SRC_URI:append:class-native = "file://0001-dnf-write-the-log-lock-to-root.patch"
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb
index b3b2476..c4d8724 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.191.bb
@@ -21,6 +21,8 @@
            file://0001-skip-the-test-when-gcc-not-deployed.patch \
            file://ptest.patch \
            file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
+           file://0001-debuginfod-Remove-unused-variable.patch \
+           file://0001-srcfiles-fix-unused-variable-BUFFER_SIZE.patch \
            "
 SRC_URI:append:libc-musl = " \
            file://0003-musl-utils.patch \
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-Remove-unused-variable.patch b/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-Remove-unused-variable.patch
new file mode 100644
index 0000000..81f49db
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-Remove-unused-variable.patch
@@ -0,0 +1,34 @@
+From c3502140e51886bffc6ae5cd256308e40e0cbb78 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Mar 2024 15:52:32 -0800
+Subject: [PATCH] debuginfod: Remove unused variable
+
+Recent commit acd9525e9 has removed all references to max_fds
+therefore remove it, moreover clang18 is happier
+
+| ../../elfutils-0.191/debuginfod/debuginfod.cxx:1448:8: error: private field 'max_fds' is not used [-Werror,-Wunused-private-field]
+|  1448 |   long max_fds;
+|       |        ^
+| 1 error generated.
+
+Upstream-Status: Submitted [https://sourceware.org/pipermail/elfutils-devel/2024q1/006900.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ debuginfod/debuginfod.cxx | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
+index 560880f2..72617848 100644
+--- a/debuginfod/debuginfod.cxx
++++ b/debuginfod/debuginfod.cxx
+@@ -1445,7 +1445,6 @@ private:
+ 
+   map<key,fdcache_entry> entries; // optimized for lookup
+   time_t last_cleaning;
+-  long max_fds;
+   long max_mbs;
+ 
+ public:
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-srcfiles-fix-unused-variable-BUFFER_SIZE.patch b/poky/meta/recipes-devtools/elfutils/files/0001-srcfiles-fix-unused-variable-BUFFER_SIZE.patch
new file mode 100644
index 0000000..b303232
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-srcfiles-fix-unused-variable-BUFFER_SIZE.patch
@@ -0,0 +1,36 @@
+From db51a55a8e3811d19265bf12d2ff715c6cf558b4 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <jose.quaresma@foundries.io>
+Date: Tue, 19 Mar 2024 10:17:59 +0000
+Subject: [PATCH] srcfiles: fix unused variable BUFFER_SIZE
+
+The const variable BUFFER_SIZE is used only on the zip_files
+function witch is only available with LIBARCHIVE.
+
+| ../../elfutils-0.191/src/srcfiles.cxx:81:18: error: unused variable 'BUFFER_SIZE' [-Werror,-Wunused-const-variable]
+|    81 | constexpr size_t BUFFER_SIZE = 8192;
+|       |                  ^~~~~~~~~~~
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commitdiff;h=ef8a4b841aaf26326b8961a651dbe915d54d23e7]
+
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/srcfiles.cxx | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/srcfiles.cxx b/src/srcfiles.cxx
+index 892737cc..09d50f8d 100644
+--- a/src/srcfiles.cxx
++++ b/src/srcfiles.cxx
+@@ -78,7 +78,9 @@ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+ /* Bug report address.  */
+ ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
+ 
++#ifdef HAVE_LIBARCHIVE
+ constexpr size_t BUFFER_SIZE = 8192;
++#endif
+ 
+ /* Definitions of arguments for argp functions.  */
+ static const struct argp_option options[] =
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
index 1ac88d6..f7d4ef1 100644
--- a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
+++ b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -68,6 +68,7 @@
 	sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
 	    -e 's|${DEBUG_PREFIX_MAP}||g' \
 	    -e 's:${HOSTTOOLS_DIR}/::g' \
+	    -e 's:\(^LDFLAGS_FOR_BUILD =\).*:\1:g' \
 	    -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
 	    -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \-e 's/^Makefile:/_Makefile:/' \
 	    -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
diff --git a/poky/meta/recipes-devtools/gcc/gcc-13.2.inc b/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
index 32fddd1..603377a 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
@@ -67,6 +67,7 @@
            file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \
            file://CVE-2023-4039.patch \
            file://0026-aarch64-Fix-loose-ldpstp-check-PR111411.patch \
+           file://0027-Fix-gcc-vect-module-testcases.patch \
 "
 SRC_URI[sha256sum] = "e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da"
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch b/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch
index c405d8d..e4d57c2 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch
@@ -80,8 +80,8 @@
 +        # Demote run tests to $do-what-limit if set
 +	switch $do_what {
 +	    run {
-+    	        set do_what $do-what-limit
-+  		set dg-do-what $do-what-limit
++    	        set do_what ${do-what-limit}
++  		set dg-do-what ${do-what-limit}
 +	    }
 +        }
 +    }
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0027-Fix-gcc-vect-module-testcases.patch b/poky/meta/recipes-devtools/gcc/gcc/0027-Fix-gcc-vect-module-testcases.patch
new file mode 100644
index 0000000..4b89036
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc/0027-Fix-gcc-vect-module-testcases.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=948dbc5ee45f9ffd5f41fd6782704081cc7c8c27]
+
+Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
+
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c
+index ed63ff59cc0..009c849b7e7 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c
+@@ -1,3 +1,5 @@
++/* Since this uses dg-additional-sources, need to specify `dg-do run` instead of the default. */
++/* { dg-do run } */
+ /* { dg-require-effective-target vect_simd_clones } */
+ /* { dg-additional-options "-fopenmp-simd" } */
+ /* { dg-additional-options "-mavx" { target avx_runtime } } */
+diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c
+index c44471e35bc..4699a3f3c80 100644
+--- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c
++++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c
+@@ -1,3 +1,5 @@
++/* Since this uses dg-additional-sources, need to specify `dg-do run` instead of the default. */
++/* { dg-do run } */
+ /* { dg-require-effective-target vect_simd_clones } */
+ /* { dg-additional-options "-fopenmp-simd" } */
+ /* { dg-additional-options "-mavx" { target avx_runtime } } */
+--
+2.43.0
diff --git a/poky/meta/recipes-devtools/git/git_2.44.0.bb b/poky/meta/recipes-devtools/git/git_2.44.0.bb
index e6d1470..90e555e 100644
--- a/poky/meta/recipes-devtools/git/git_2.44.0.bb
+++ b/poky/meta/recipes-devtools/git/git_2.44.0.bb
@@ -4,6 +4,7 @@
 SECTION = "console/utils"
 LICENSE = "GPL-2.0-only & GPL-2.0-or-later & BSD-3-Clause & MIT & BSL-1.0 & LGPL-2.1-or-later"
 DEPENDS = "openssl zlib"
+DEPENDS:class-native += "ca-certificates"
 
 PROVIDES:append:class-native = " git-replacement-native"
 
@@ -95,6 +96,7 @@
 
 REL_GIT_EXEC_PATH = "${@os.path.relpath(libexecdir, bindir)}/git-core"
 REL_GIT_TEMPLATE_DIR = "${@os.path.relpath(datadir, bindir)}/git-core/templates"
+REL_GIT_SSL_CAINFO = "${@os.path.relpath(sysconfdir, bindir)}/ssl/certs/ca-certificates.crt"
 
 do_install:append:class-target () {
 	perl_native_fixup
@@ -103,6 +105,7 @@
 do_install:append:class-native() {
 	create_wrapper ${D}${bindir}/git \
 		GIT_EXEC_PATH='`dirname $''realpath`'/${REL_GIT_EXEC_PATH} \
+		GIT_SSL_CAINFO='`dirname $''realpath`'/${REL_GIT_SSL_CAINFO} \
 		GIT_TEMPLATE_DIR='`dirname $''realpath`'/${REL_GIT_TEMPLATE_DIR}
 }
 
diff --git a/poky/meta/recipes-devtools/go/go-1.22.0.inc b/poky/meta/recipes-devtools/go/go-1.22.2.inc
similarity index 82%
rename from poky/meta/recipes-devtools/go/go-1.22.0.inc
rename to poky/meta/recipes-devtools/go/go-1.22.2.inc
index 5b94051..b399207 100644
--- a/poky/meta/recipes-devtools/go/go-1.22.0.inc
+++ b/poky/meta/recipes-devtools/go/go-1.22.2.inc
@@ -11,8 +11,8 @@
     file://0004-make.bash-override-CC-when-building-dist-and-go_boot.patch \
     file://0005-cmd-dist-separate-host-and-target-builds.patch \
     file://0006-cmd-go-make-GOROOT-precious-by-default.patch \
+    file://0007-exec.go-filter-out-build-specific-paths-from-linker-.patch \
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
-    file://0001-exec.go-filter-out-build-specific-paths-from-linker-.patch \
 "
-SRC_URI[main.sha256sum] = "4d196c3d41a0d6c1dfc64d04e3cc1f608b0c436bd87b7060ce3e23234e1f4d5c"
+SRC_URI[main.sha256sum] = "374ea82b289ec738e968267cac59c7d5ff180f9492250254784b2044e90df5a9"
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.22.0.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.22.2.bb
similarity index 78%
rename from poky/meta/recipes-devtools/go/go-binary-native_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go-binary-native_1.22.2.bb
index acd2018..0f00509 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.22.0.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.22.2.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] = "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265"
-SRC_URI[go_linux_arm64.sha256sum] = "6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10"
-SRC_URI[go_linux_ppc64le.sha256sum] = "0e57f421df9449066f00155ce98a5be93744b3d81b00ee4c2c9b511be2a31d93"
+SRC_URI[go_linux_amd64.sha256sum] = "5901c52b7a78002aeff14a21f93e0f064f74ce1360fce51c6ee68cd471216a17"
+SRC_URI[go_linux_arm64.sha256sum] = "36e720b2d564980c162a48c7e97da2e407dfcc4239e1e58d98082dfa2486a0c1"
+SRC_URI[go_linux_ppc64le.sha256sum] = "251a8886c5113be6490bdbb955ddee98763b49c9b1bf4c8364c02d3b482dab00"
 
 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_1.22.0.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.22.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross-canadian_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go-cross-canadian_1.22.2.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.22.0.bb b/poky/meta/recipes-devtools/go/go-cross_1.22.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go-cross_1.22.2.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.22.0.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.22.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-crosssdk_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go-crosssdk_1.22.2.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.22.0.bb b/poky/meta/recipes-devtools/go/go-native_1.22.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-native_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go-native_1.22.2.bb
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.22.0.bb b/poky/meta/recipes-devtools/go/go-runtime_1.22.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-runtime_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go-runtime_1.22.2.bb
diff --git a/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch b/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
deleted file mode 100644
index 35f3a98..0000000
--- a/poky/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 619991feab04f331d081a91243434ccd859f611d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 23 Nov 2020 19:22:04 +0000
-Subject: [PATCH 7/9] exec.go: do not write linker flags into buildids
-
-The flags can contain build-specific paths, breaking reproducibility.
-
-To make this acceptable to upstream, we probably need to trim the flags,
-removing those known to be buildhost-specific.
-
-Upstream-Status: Inappropriate [needs upstream discussion]
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
----
- src/cmd/go/internal/work/exec.go | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 544df461a2..75df5a4aa8 100644
---- a/src/cmd/go/internal/work/exec.go
-+++ b/src/cmd/go/internal/work/exec.go
-@@ -1374,7 +1374,7 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
- 	}
- 
- 	// Toolchain-dependent configuration, shared with b.linkSharedActionID.
--	b.printLinkerConfig(h, p)
-+	//b.printLinkerConfig(h, p)
- 
- 	// Input files.
- 	for _, a1 := range a.Deps {
-@@ -1720,7 +1720,7 @@ func (b *Builder) linkSharedActionID(a *Action) cache.ActionID {
- 	fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
- 
- 	// Toolchain-dependent configuration, shared with b.linkActionID.
--	b.printLinkerConfig(h, nil)
-+	//b.printLinkerConfig(h, nil)
- 
- 	// Input files.
- 	for _, a1 := range a.Deps {
--- 
-2.44.0
-
diff --git a/poky/meta/recipes-devtools/go/go/0001-exec.go-filter-out-build-specific-paths-from-linker-.patch b/poky/meta/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go/0001-exec.go-filter-out-build-specific-paths-from-linker-.patch
rename to poky/meta/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
diff --git a/poky/meta/recipes-devtools/go/go_1.22.0.bb b/poky/meta/recipes-devtools/go/go_1.22.2.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go_1.22.0.bb
rename to poky/meta/recipes-devtools/go/go_1.22.2.bb
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 111fb07..e1d5fc4 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -17,14 +17,14 @@
 # could be 'rcX' or 'git' or empty ( for release )
 VER_SUFFIX = ""
 
-PV = "18.1.0${VER_SUFFIX}"
+PV = "18.1.2${VER_SUFFIX}"
 
 MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
 
 LLVM_RELEASE = "${PV}"
 
 BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "461274b81d8641eab64d494accddc81d7db8a09e"
+SRCREV = "26a1d6601d727a96f4301d0d8647b5a42760ae0c"
 SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
            file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
            file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \
diff --git a/poky/meta/recipes-devtools/meson/meson_1.3.1.bb b/poky/meta/recipes-devtools/meson/meson_1.3.1.bb
index 3a4bb14..9cc0cc3 100644
--- a/poky/meta/recipes-devtools/meson/meson_1.3.1.bb
+++ b/poky/meta/recipes-devtools/meson/meson_1.3.1.bb
@@ -16,6 +16,7 @@
            file://0002-Support-building-allarch-recipes-again.patch \
            "
 SRC_URI[sha256sum] = "6020568bdede1643d4fb41e28215be38eff5d52da28ac7d125457c59e0032ad7"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
 
 inherit python_setuptools_build_meta github-releases
 
diff --git a/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb b/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
deleted file mode 100644
index e54bb11..0000000
--- a/poky/meta/recipes-devtools/perl/liberror-perl_0.17029.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Error - Error/exception handling in an OO-ish way"
-DESCRIPTION = "The Error package provides two interfaces. Firstly \
-Error provides a procedural interface to exception handling. \
-Secondly Error is a base class for errors/exceptions that can \
-either be thrown, for subsequent catch, or can simply be recorded."
-HOMEPAGE = "https://github.com/shlomif/perl-error.pm"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8f3499d09ee74a050c0319391ff9d100"
-
-
-DEPENDS += "perl"
-
-RDEPENDS:${PN} += " \
-    perl-module-carp \
-    perl-module-exporter \
-    perl-module-scalar-util \
-    perl-module-overload \
-    perl-module-strict \
-    perl-module-vars \
-    perl-module-warnings \
-"
-
-RDEPENDS:${PN}-ptest += " \
-    perl-module-base \
-    perl-module-file-spec \
-    perl-module-io-handle \
-    perl-module-ipc-open3 \
-    perl-module-lib \
-    perl-module-test-more \
-"
-
-SRC_URI = "http://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/Error-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "6732b1c6207e4a9a3e2987c88368039a"
-SRC_URI[sha256sum] = "1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc"
-
-S = "${WORKDIR}/Error-${PV}"
-
-inherit cpan ptest-perl
-
-do_install:prepend() {
-	# test requires "-T" (taint) command line option
-	rm -rf ${B}/t/pod-coverage.t
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb b/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb
index bffd59a..eb63509 100644
--- a/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-jsonschema-specifications_2023.12.1.bb
@@ -9,10 +9,8 @@
 
 inherit pypi python_hatchling
 
+PYPI_PACKAGE = "jsonschema_specifications"
+
 DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
 
-S = "${WORKDIR}/jsonschema_specifications-${PV}"
-
-PYPI_ARCHIVE_NAME = "jsonschema_specifications-${PV}.${PYPI_PACKAGE_EXT}"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb b/poky/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb
index dfb29c4..540fdff 100644
--- a/poky/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-poetry-core_1.9.0.bb
@@ -18,8 +18,8 @@
 SRC_URI[sha256sum] = "fa7a4001eae8aa572ee84f35feb510b321bd652e5cf9293249d62853e1f935a2"
 
 inherit python_poetry_core pypi
-PYPI_ARCHIVE_NAME = "poetry_core-${PV}.${PYPI_PACKAGE_EXT}"
-S = "${WORKDIR}/poetry_core-${PV}"
+
+PYPI_PACKAGE = "poetry_core"
 
 RDEPENDS:${PN}:append:class-target = "\
     python3-compression \
diff --git a/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb b/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb
index 01fb3d4..cece2cb 100644
--- a/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-rpds-py_0.18.0.bb
@@ -10,8 +10,6 @@
 
 inherit pypi cargo-update-recipe-crates python_maturin
 
-S = "${WORKDIR}/rpds_py-${PV}"
-
-PYPI_ARCHIVE_NAME = "rpds_py-${PV}.${PYPI_PACKAGE_EXT}"
+PYPI_PACKAGE = "rpds_py"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb
index 6ea7c51..67dd299 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.8.bb
@@ -5,9 +5,8 @@
 
 SRC_URI[sha256sum] = "c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619"
 
-inherit pypi python_flit_core
+PYPI_PACKAGE = "sphinxcontrib_applehelp"
 
-PYPI_ARCHIVE_NAME = "sphinxcontrib_applehelp-${PV}.${PYPI_PACKAGE_EXT}"
-S = "${WORKDIR}/sphinxcontrib_applehelp-${PV}"
+inherit pypi python_flit_core
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb
index dd7ba3d..31f77a0 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.6.bb
@@ -5,11 +5,8 @@
 
 SRC_URI[sha256sum] = "9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3"
 
-PYPI_PACKAGE = "sphinxcontrib-devhelp"
+PYPI_PACKAGE = "sphinxcontrib_devhelp"
 
 inherit pypi python_flit_core
 
-PYPI_ARCHIVE_NAME = "sphinxcontrib_devhelp-${PV}.${PYPI_PACKAGE_EXT}"
-S = "${WORKDIR}/sphinxcontrib_devhelp-${PV}"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb
index 532d1fc..e30c61c 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.5.bb
@@ -5,11 +5,8 @@
 
 SRC_URI[sha256sum] = "0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"
 
-PYPI_PACKAGE = "sphinxcontrib-htmlhelp"
+PYPI_PACKAGE = "sphinxcontrib_htmlhelp"
 
 inherit pypi python_flit_core
 
-PYPI_ARCHIVE_NAME = "sphinxcontrib_htmlhelp-${PV}.${PYPI_PACKAGE_EXT}"
-S = "${WORKDIR}/sphinxcontrib_htmlhelp-${PV}"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb
index b24f7f8..2225ec5 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.7.bb
@@ -5,11 +5,8 @@
 
 SRC_URI[sha256sum] = "053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"
 
-PYPI_PACKAGE = "sphinxcontrib-qthelp"
+PYPI_PACKAGE = "sphinxcontrib_qthelp"
 
 inherit pypi python_flit_core
 
-PYPI_ARCHIVE_NAME = "sphinxcontrib_qthelp-${PV}.${PYPI_PACKAGE_EXT}"
-S = "${WORKDIR}/sphinxcontrib_qthelp-${PV}"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb
index b13bc82..49be520 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.10.bb
@@ -5,11 +5,8 @@
 
 SRC_URI[sha256sum] = "93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f"
 
-PYPI_PACKAGE = "sphinxcontrib-serializinghtml"
+PYPI_PACKAGE = "sphinxcontrib_serializinghtml"
 
 inherit pypi python_flit_core
 
-PYPI_ARCHIVE_NAME = "sphinxcontrib_serializinghtml-${PV}.${PYPI_PACKAGE_EXT}"
-S = "${WORKDIR}/sphinxcontrib_serializinghtml-${PV}"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index a51392c..46092d4 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -201,8 +201,7 @@
     "compression": {
         "summary": "Python high-level compression support",
         "rdepends": [
-            "core",
-            "shell"
+            "core"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
@@ -525,7 +524,6 @@
         "rdepends": [
             "core",
             "pprint",
-            "profile",
             "shell",
             "stringold"
         ],
@@ -577,7 +575,6 @@
             "debugger",
             "difflib",
             "pprint",
-            "profile",
             "shell",
             "stringold",
             "unittest"
@@ -997,8 +994,7 @@
     "pprint": {
         "summary": "Python pretty-print support",
         "rdepends": [
-            "core",
-            "profile"
+            "core"
         ],
         "files": [
             "${libdir}/python${PYTHON_MAJMIN}/pprint.py"
@@ -1189,7 +1185,6 @@
             "netclient",
             "numbers",
             "pprint",
-            "profile",
             "stringold"
         ],
         "files": [
diff --git a/poky/meta/recipes-devtools/python/python3_3.12.2.bb b/poky/meta/recipes-devtools/python/python3_3.12.2.bb
index 61991cd..f837f05 100644
--- a/poky/meta/recipes-devtools/python/python3_3.12.2.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.12.2.bb
@@ -41,7 +41,6 @@
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
-UPSTREAM_CHECK_URI = "https://www.python.org/downloads/source/"
 
 CVE_PRODUCT = "python cpython"
 
diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
index 95dccb9..1f3e692 100755
--- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
+++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
@@ -81,11 +81,18 @@
 if $pm_installed; then
 	case $pm in
 		"ipk")
-			eval opkg configure $append_log
+			if ! `fcntl-lock --wait 30 /run/opkg.lock true`; then
+				eval echo "Unable to obtain the opkg lock, deadlock?" $append_log
+			fi
+			if ! eval "opkg configure $append_log"; then
+			    exit 1
+			fi
 			;;
 
 		"deb")
-			eval dpkg --configure -a $append_log
+			if ! eval "eval dpkg --configure -a $append_log"; then
+			    exit 1
+			fi
 			;;
 	esac
 else
diff --git a/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
index 72ba8c0..e977942 100644
--- a/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
+++ b/poky/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb
@@ -12,6 +12,8 @@
 
 inherit allarch systemd update-rc.d
 
+RDEPENDS:${PN} = "util-linux-fcntl-lock"
+
 INITSCRIPT_NAME = "run-postinsts"
 INITSCRIPT_PARAMS = "start 99 S ."
 
diff --git a/poky/meta/recipes-devtools/rust/cargo-c-crates.inc b/poky/meta/recipes-devtools/rust/cargo-c-crates.inc
index fc546c7..f6da3e6 100644
--- a/poky/meta/recipes-devtools/rust/cargo-c-crates.inc
+++ b/poky/meta/recipes-devtools/rust/cargo-c-crates.inc
@@ -1,453 +1,654 @@
+# Autogenerated with 'bitbake -c update_crates cargo-c-native'
+
+# from Cargo.lock
 SRC_URI += " \
     crate://crates.io/adler/1.0.2 \
-    crate://crates.io/aho-corasick/1.0.3 \
-    crate://crates.io/anstream/0.3.2 \
-    crate://crates.io/anstyle/1.0.1 \
-    crate://crates.io/anstyle-parse/0.2.1 \
-    crate://crates.io/anstyle-query/1.0.0 \
-    crate://crates.io/anstyle-wincon/1.0.2 \
-    crate://crates.io/anyhow/1.0.72 \
-    crate://crates.io/arrayvec/0.5.2 \
-    crate://crates.io/atty/0.2.14 \
+    crate://crates.io/ahash/0.8.7 \
+    crate://crates.io/aho-corasick/1.1.2 \
+    crate://crates.io/allocator-api2/0.2.16 \
+    crate://crates.io/anstream/0.6.11 \
+    crate://crates.io/anstyle/1.0.6 \
+    crate://crates.io/anstyle-parse/0.2.3 \
+    crate://crates.io/anstyle-query/1.0.2 \
+    crate://crates.io/anstyle-wincon/3.0.2 \
+    crate://crates.io/anyhow/1.0.79 \
+    crate://crates.io/arc-swap/1.6.0 \
     crate://crates.io/autocfg/1.1.0 \
     crate://crates.io/base16ct/0.2.0 \
-    crate://crates.io/base64/0.13.1 \
+    crate://crates.io/base64/0.21.7 \
     crate://crates.io/base64ct/1.6.0 \
     crate://crates.io/bitflags/1.3.2 \
-    crate://crates.io/bitflags/2.3.3 \
+    crate://crates.io/bitflags/2.4.2 \
     crate://crates.io/bitmaps/2.1.0 \
     crate://crates.io/block-buffer/0.10.4 \
-    crate://crates.io/bstr/1.6.0 \
-    crate://crates.io/bumpalo/3.13.0 \
-    crate://crates.io/bytes/1.4.0 \
-    crate://crates.io/bytesize/1.2.0 \
-    crate://crates.io/cargo/0.69.1 \
-    crate://crates.io/cargo-platform/0.1.3 \
-    crate://crates.io/cargo-util/0.2.4 \
-    crate://crates.io/cbindgen/0.24.5 \
-    crate://crates.io/cc/1.0.82 \
+    crate://crates.io/bstr/1.9.0 \
+    crate://crates.io/btoi/0.4.3 \
+    crate://crates.io/bumpalo/3.14.0 \
+    crate://crates.io/bytes/1.5.0 \
+    crate://crates.io/bytesize/1.3.0 \
+    crate://crates.io/cargo/0.77.0 \
+    crate://crates.io/cargo-credential/0.4.2 \
+    crate://crates.io/cargo-credential-libsecret/0.4.2 \
+    crate://crates.io/cargo-credential-macos-keychain/0.4.2 \
+    crate://crates.io/cargo-credential-wincred/0.4.2 \
+    crate://crates.io/cargo-platform/0.1.7 \
+    crate://crates.io/cargo-util/0.2.9 \
+    crate://crates.io/cbindgen/0.26.0 \
+    crate://crates.io/cc/1.0.83 \
     crate://crates.io/cfg-if/1.0.0 \
-    crate://crates.io/clap/3.2.25 \
-    crate://crates.io/clap/4.3.21 \
-    crate://crates.io/clap_builder/4.3.21 \
-    crate://crates.io/clap_derive/4.3.12 \
-    crate://crates.io/clap_lex/0.2.4 \
-    crate://crates.io/clap_lex/0.5.0 \
+    crate://crates.io/clap/4.5.0 \
+    crate://crates.io/clap_builder/4.5.0 \
+    crate://crates.io/clap_derive/4.5.0 \
+    crate://crates.io/clap_lex/0.7.0 \
+    crate://crates.io/clru/0.6.1 \
+    crate://crates.io/color-print/0.3.5 \
+    crate://crates.io/color-print-proc-macro/0.3.5 \
     crate://crates.io/colorchoice/1.0.0 \
-    crate://crates.io/combine/4.6.6 \
-    crate://crates.io/const-oid/0.9.5 \
-    crate://crates.io/core-foundation/0.9.3 \
-    crate://crates.io/core-foundation-sys/0.8.4 \
-    crate://crates.io/cpufeatures/0.2.9 \
-    crate://crates.io/crates-io/0.35.1 \
+    crate://crates.io/const-oid/0.9.6 \
+    crate://crates.io/core-foundation/0.9.4 \
+    crate://crates.io/core-foundation-sys/0.8.6 \
+    crate://crates.io/cpufeatures/0.2.12 \
+    crate://crates.io/crates-io/0.39.2 \
     crate://crates.io/crc32fast/1.3.2 \
-    crate://crates.io/crypto-bigint/0.5.2 \
+    crate://crates.io/crossbeam-channel/0.5.11 \
+    crate://crates.io/crossbeam-deque/0.8.5 \
+    crate://crates.io/crossbeam-epoch/0.9.18 \
+    crate://crates.io/crossbeam-utils/0.8.19 \
+    crate://crates.io/crypto-bigint/0.5.5 \
     crate://crates.io/crypto-common/0.1.6 \
     crate://crates.io/ct-codecs/1.1.1 \
-    crate://crates.io/curl/0.4.44 \
-    crate://crates.io/curl-sys/0.4.65+curl-8.2.1 \
+    crate://crates.io/curl/0.4.45 \
+    crate://crates.io/curl-sys/0.4.72+curl-8.6.0 \
     crate://crates.io/der/0.7.8 \
-    crate://crates.io/deranged/0.3.7 \
+    crate://crates.io/deranged/0.3.11 \
     crate://crates.io/digest/0.10.7 \
-    crate://crates.io/ecdsa/0.16.8 \
-    crate://crates.io/ed25519-compact/2.0.4 \
+    crate://crates.io/dunce/1.0.4 \
+    crate://crates.io/ecdsa/0.16.9 \
+    crate://crates.io/ed25519-compact/2.1.1 \
     crate://crates.io/either/1.9.0 \
-    crate://crates.io/elliptic-curve/0.13.5 \
-    crate://crates.io/env_logger/0.10.0 \
+    crate://crates.io/elliptic-curve/0.13.8 \
+    crate://crates.io/encoding_rs/0.8.33 \
     crate://crates.io/equivalent/1.0.1 \
-    crate://crates.io/errno/0.3.2 \
-    crate://crates.io/errno-dragonfly/0.1.2 \
-    crate://crates.io/fastrand/2.0.0 \
+    crate://crates.io/erased-serde/0.4.2 \
+    crate://crates.io/errno/0.3.8 \
+    crate://crates.io/fallible-iterator/0.3.0 \
+    crate://crates.io/fallible-streaming-iterator/0.1.9 \
+    crate://crates.io/faster-hex/0.9.0 \
+    crate://crates.io/fastrand/2.0.1 \
     crate://crates.io/ff/0.13.0 \
-    crate://crates.io/fiat-crypto/0.1.20 \
-    crate://crates.io/filetime/0.2.22 \
-    crate://crates.io/flate2/1.0.26 \
-    crate://crates.io/fnv/1.0.7 \
+    crate://crates.io/fiat-crypto/0.2.6 \
+    crate://crates.io/filetime/0.2.23 \
+    crate://crates.io/flate2/1.0.28 \
     crate://crates.io/foreign-types/0.3.2 \
     crate://crates.io/foreign-types-shared/0.1.1 \
-    crate://crates.io/form_urlencoded/1.2.0 \
-    crate://crates.io/fwdansi/1.1.0 \
+    crate://crates.io/form_urlencoded/1.2.1 \
     crate://crates.io/generic-array/0.14.7 \
-    crate://crates.io/getrandom/0.2.10 \
-    crate://crates.io/git2/0.16.0 \
-    crate://crates.io/git2-curl/0.17.0 \
+    crate://crates.io/getrandom/0.2.12 \
+    crate://crates.io/git2/0.18.2 \
+    crate://crates.io/git2-curl/0.19.0 \
+    crate://crates.io/gix/0.56.0 \
+    crate://crates.io/gix-actor/0.28.1 \
+    crate://crates.io/gix-attributes/0.20.1 \
+    crate://crates.io/gix-bitmap/0.2.10 \
+    crate://crates.io/gix-chunk/0.4.7 \
+    crate://crates.io/gix-command/0.3.4 \
+    crate://crates.io/gix-commitgraph/0.22.1 \
+    crate://crates.io/gix-config/0.32.1 \
+    crate://crates.io/gix-config-value/0.14.4 \
+    crate://crates.io/gix-credentials/0.22.0 \
+    crate://crates.io/gix-date/0.8.3 \
+    crate://crates.io/gix-diff/0.38.0 \
+    crate://crates.io/gix-discover/0.27.0 \
+    crate://crates.io/gix-features/0.35.0 \
+    crate://crates.io/gix-features/0.36.1 \
+    crate://crates.io/gix-filter/0.7.0 \
+    crate://crates.io/gix-fs/0.8.1 \
+    crate://crates.io/gix-glob/0.14.1 \
+    crate://crates.io/gix-hash/0.13.3 \
+    crate://crates.io/gix-hashtable/0.4.1 \
+    crate://crates.io/gix-ignore/0.9.1 \
+    crate://crates.io/gix-index/0.27.1 \
+    crate://crates.io/gix-lock/11.0.1 \
+    crate://crates.io/gix-macros/0.1.3 \
+    crate://crates.io/gix-negotiate/0.10.0 \
+    crate://crates.io/gix-object/0.39.0 \
+    crate://crates.io/gix-odb/0.55.0 \
+    crate://crates.io/gix-pack/0.45.0 \
+    crate://crates.io/gix-packetline/0.17.3 \
+    crate://crates.io/gix-packetline-blocking/0.17.3 \
+    crate://crates.io/gix-path/0.10.5 \
+    crate://crates.io/gix-pathspec/0.4.1 \
+    crate://crates.io/gix-prompt/0.8.2 \
+    crate://crates.io/gix-protocol/0.42.0 \
+    crate://crates.io/gix-quote/0.4.10 \
+    crate://crates.io/gix-ref/0.39.1 \
+    crate://crates.io/gix-refspec/0.20.0 \
+    crate://crates.io/gix-revision/0.24.0 \
+    crate://crates.io/gix-revwalk/0.10.0 \
+    crate://crates.io/gix-sec/0.10.4 \
+    crate://crates.io/gix-submodule/0.6.0 \
+    crate://crates.io/gix-tempfile/11.0.1 \
+    crate://crates.io/gix-trace/0.1.7 \
+    crate://crates.io/gix-transport/0.39.0 \
+    crate://crates.io/gix-traverse/0.35.0 \
+    crate://crates.io/gix-url/0.25.2 \
+    crate://crates.io/gix-utils/0.1.9 \
+    crate://crates.io/gix-validate/0.8.3 \
+    crate://crates.io/gix-worktree/0.28.0 \
     crate://crates.io/glob/0.3.1 \
-    crate://crates.io/globset/0.4.13 \
+    crate://crates.io/globset/0.4.14 \
     crate://crates.io/group/0.13.0 \
     crate://crates.io/hashbrown/0.12.3 \
-    crate://crates.io/hashbrown/0.14.0 \
+    crate://crates.io/hashbrown/0.14.3 \
+    crate://crates.io/hashlink/0.8.4 \
     crate://crates.io/heck/0.4.1 \
-    crate://crates.io/hermit-abi/0.1.19 \
-    crate://crates.io/hermit-abi/0.3.2 \
+    crate://crates.io/hermit-abi/0.3.5 \
     crate://crates.io/hex/0.4.3 \
-    crate://crates.io/hkdf/0.12.3 \
+    crate://crates.io/hkdf/0.12.4 \
     crate://crates.io/hmac/0.12.1 \
-    crate://crates.io/home/0.5.5 \
-    crate://crates.io/http-auth/0.1.8 \
+    crate://crates.io/home/0.5.9 \
+    crate://crates.io/http-auth/0.1.9 \
     crate://crates.io/humantime/2.1.0 \
-    crate://crates.io/idna/0.4.0 \
-    crate://crates.io/ignore/0.4.20 \
+    crate://crates.io/idna/0.5.0 \
+    crate://crates.io/ignore/0.4.22 \
     crate://crates.io/im-rc/15.1.0 \
     crate://crates.io/indexmap/1.9.3 \
-    crate://crates.io/indexmap/2.0.0 \
-    crate://crates.io/is-terminal/0.4.9 \
-    crate://crates.io/itertools/0.10.5 \
-    crate://crates.io/itoa/1.0.9 \
-    crate://crates.io/jobserver/0.1.26 \
-    crate://crates.io/js-sys/0.3.64 \
+    crate://crates.io/indexmap/2.2.2 \
+    crate://crates.io/is-terminal/0.4.11 \
+    crate://crates.io/itertools/0.12.1 \
+    crate://crates.io/itoa/1.0.10 \
+    crate://crates.io/jobserver/0.1.28 \
+    crate://crates.io/js-sys/0.3.68 \
     crate://crates.io/kstring/2.0.0 \
     crate://crates.io/lazy_static/1.4.0 \
     crate://crates.io/lazycell/1.3.0 \
-    crate://crates.io/libc/0.2.147 \
-    crate://crates.io/libgit2-sys/0.14.1+1.5.0 \
-    crate://crates.io/libnghttp2-sys/0.1.8+1.55.1 \
-    crate://crates.io/libssh2-sys/0.2.23 \
-    crate://crates.io/libz-sys/1.1.12 \
-    crate://crates.io/linux-raw-sys/0.4.5 \
-    crate://crates.io/log/0.4.19 \
-    crate://crates.io/memchr/2.5.0 \
-    crate://crates.io/miniz_oxide/0.7.1 \
-    crate://crates.io/miow/0.5.0 \
-    crate://crates.io/num-traits/0.2.16 \
-    crate://crates.io/once_cell/1.18.0 \
-    crate://crates.io/opener/0.5.2 \
-    crate://crates.io/openssl/0.10.56 \
+    crate://crates.io/libc/0.2.153 \
+    crate://crates.io/libgit2-sys/0.16.2+1.7.2 \
+    crate://crates.io/libloading/0.8.1 \
+    crate://crates.io/libnghttp2-sys/0.1.9+1.58.0 \
+    crate://crates.io/libsqlite3-sys/0.27.0 \
+    crate://crates.io/libssh2-sys/0.3.0 \
+    crate://crates.io/libz-sys/1.1.15 \
+    crate://crates.io/linux-raw-sys/0.4.13 \
+    crate://crates.io/lock_api/0.4.11 \
+    crate://crates.io/log/0.4.20 \
+    crate://crates.io/matchers/0.1.0 \
+    crate://crates.io/maybe-async/0.2.9 \
+    crate://crates.io/memchr/2.7.1 \
+    crate://crates.io/memmap2/0.9.4 \
+    crate://crates.io/minimal-lexical/0.2.1 \
+    crate://crates.io/miniz_oxide/0.7.2 \
+    crate://crates.io/miow/0.6.0 \
+    crate://crates.io/nom/7.1.3 \
+    crate://crates.io/normpath/1.1.1 \
+    crate://crates.io/nu-ansi-term/0.46.0 \
+    crate://crates.io/num-conv/0.1.0 \
+    crate://crates.io/num-traits/0.2.18 \
+    crate://crates.io/num_threads/0.1.6 \
+    crate://crates.io/once_cell/1.19.0 \
+    crate://crates.io/opener/0.6.1 \
+    crate://crates.io/openssl/0.10.63 \
     crate://crates.io/openssl-macros/0.1.1 \
     crate://crates.io/openssl-probe/0.1.5 \
-    crate://crates.io/openssl-src/111.27.0+1.1.1v \
-    crate://crates.io/openssl-sys/0.9.91 \
-    crate://crates.io/ordered-float/2.10.0 \
-    crate://crates.io/orion/0.17.5 \
+    crate://crates.io/openssl-src/300.2.2+3.2.1 \
+    crate://crates.io/openssl-sys/0.9.99 \
+    crate://crates.io/ordered-float/2.10.1 \
+    crate://crates.io/orion/0.17.6 \
     crate://crates.io/os_info/3.7.0 \
-    crate://crates.io/os_str_bytes/6.5.1 \
+    crate://crates.io/overload/0.1.1 \
     crate://crates.io/p384/0.13.0 \
-    crate://crates.io/pasetors/0.6.7 \
+    crate://crates.io/parking_lot/0.12.1 \
+    crate://crates.io/parking_lot_core/0.9.9 \
+    crate://crates.io/pasetors/0.6.8 \
     crate://crates.io/pathdiff/0.2.1 \
     crate://crates.io/pem-rfc7468/0.7.0 \
-    crate://crates.io/percent-encoding/2.3.0 \
+    crate://crates.io/percent-encoding/2.3.1 \
+    crate://crates.io/pin-project-lite/0.2.13 \
     crate://crates.io/pkcs8/0.10.2 \
-    crate://crates.io/pkg-config/0.3.27 \
-    crate://crates.io/primeorder/0.13.2 \
-    crate://crates.io/proc-macro2/1.0.66 \
-    crate://crates.io/quote/1.0.32 \
+    crate://crates.io/pkg-config/0.3.29 \
+    crate://crates.io/powerfmt/0.2.0 \
+    crate://crates.io/ppv-lite86/0.2.17 \
+    crate://crates.io/primeorder/0.13.6 \
+    crate://crates.io/proc-macro2/1.0.78 \
+    crate://crates.io/prodash/26.2.2 \
+    crate://crates.io/pulldown-cmark/0.9.6 \
+    crate://crates.io/quote/1.0.35 \
+    crate://crates.io/rand/0.8.5 \
+    crate://crates.io/rand_chacha/0.3.1 \
     crate://crates.io/rand_core/0.6.4 \
     crate://crates.io/rand_xoshiro/0.6.0 \
-    crate://crates.io/redox_syscall/0.3.5 \
-    crate://crates.io/regex/1.9.3 \
-    crate://crates.io/regex-automata/0.3.6 \
-    crate://crates.io/regex-syntax/0.7.4 \
+    crate://crates.io/redox_syscall/0.4.1 \
+    crate://crates.io/regex/1.10.3 \
+    crate://crates.io/regex-automata/0.1.10 \
+    crate://crates.io/regex-automata/0.4.5 \
+    crate://crates.io/regex-syntax/0.6.29 \
+    crate://crates.io/regex-syntax/0.8.2 \
     crate://crates.io/rfc6979/0.4.0 \
-    crate://crates.io/rustc-workspace-hack/1.0.0 \
-    crate://crates.io/rustfix/0.6.1 \
-    crate://crates.io/rustix/0.38.8 \
-    crate://crates.io/ryu/1.0.15 \
+    crate://crates.io/rusqlite/0.30.0 \
+    crate://crates.io/rustfix/0.7.0 \
+    crate://crates.io/rustix/0.38.31 \
+    crate://crates.io/ryu/1.0.16 \
     crate://crates.io/same-file/1.0.6 \
-    crate://crates.io/schannel/0.1.22 \
+    crate://crates.io/schannel/0.1.23 \
+    crate://crates.io/scopeguard/1.2.0 \
     crate://crates.io/sec1/0.7.3 \
-    crate://crates.io/semver/1.0.18 \
-    crate://crates.io/serde/1.0.183 \
+    crate://crates.io/security-framework/2.9.2 \
+    crate://crates.io/security-framework-sys/2.9.1 \
+    crate://crates.io/semver/1.0.21 \
+    crate://crates.io/serde/1.0.196 \
+    crate://crates.io/serde-untagged/0.1.5 \
     crate://crates.io/serde-value/0.7.0 \
-    crate://crates.io/serde_derive/1.0.183 \
-    crate://crates.io/serde_ignored/0.1.9 \
-    crate://crates.io/serde_json/1.0.104 \
-    crate://crates.io/serde_spanned/0.6.3 \
-    crate://crates.io/sha1/0.10.5 \
-    crate://crates.io/sha2/0.10.7 \
+    crate://crates.io/serde_derive/1.0.196 \
+    crate://crates.io/serde_ignored/0.1.10 \
+    crate://crates.io/serde_json/1.0.113 \
+    crate://crates.io/serde_spanned/0.6.5 \
+    crate://crates.io/sha1/0.10.6 \
+    crate://crates.io/sha1_smol/1.0.0 \
+    crate://crates.io/sha2/0.10.8 \
+    crate://crates.io/sharded-slab/0.1.7 \
     crate://crates.io/shell-escape/0.1.5 \
-    crate://crates.io/signature/2.1.0 \
+    crate://crates.io/shell-words/1.1.0 \
+    crate://crates.io/signature/2.2.0 \
     crate://crates.io/sized-chunks/0.6.5 \
-    crate://crates.io/socket2/0.4.9 \
-    crate://crates.io/spki/0.7.2 \
+    crate://crates.io/smallvec/1.13.1 \
+    crate://crates.io/socket2/0.5.5 \
+    crate://crates.io/spki/0.7.3 \
     crate://crates.io/static_assertions/1.1.0 \
-    crate://crates.io/strip-ansi-escapes/0.1.1 \
-    crate://crates.io/strsim/0.10.0 \
+    crate://crates.io/strsim/0.11.0 \
     crate://crates.io/subtle/2.5.0 \
+    crate://crates.io/supports-hyperlinks/2.1.0 \
     crate://crates.io/syn/1.0.109 \
-    crate://crates.io/syn/2.0.28 \
+    crate://crates.io/syn/2.0.48 \
     crate://crates.io/tar/0.4.40 \
-    crate://crates.io/tempfile/3.7.1 \
-    crate://crates.io/termcolor/1.2.0 \
-    crate://crates.io/textwrap/0.16.0 \
+    crate://crates.io/tempfile/3.10.0 \
+    crate://crates.io/terminal_size/0.3.0 \
+    crate://crates.io/thiserror/1.0.56 \
+    crate://crates.io/thiserror-impl/1.0.56 \
     crate://crates.io/thread_local/1.1.7 \
-    crate://crates.io/time/0.3.25 \
-    crate://crates.io/time-core/0.1.1 \
-    crate://crates.io/time-macros/0.2.11 \
+    crate://crates.io/time/0.3.34 \
+    crate://crates.io/time-core/0.1.2 \
+    crate://crates.io/time-macros/0.2.17 \
     crate://crates.io/tinyvec/1.6.0 \
     crate://crates.io/tinyvec_macros/0.1.1 \
     crate://crates.io/toml/0.5.11 \
-    crate://crates.io/toml/0.7.6 \
-    crate://crates.io/toml_datetime/0.5.1 \
-    crate://crates.io/toml_datetime/0.6.3 \
-    crate://crates.io/toml_edit/0.15.0 \
-    crate://crates.io/toml_edit/0.19.14 \
-    crate://crates.io/typenum/1.16.0 \
-    crate://crates.io/unicode-bidi/0.3.13 \
-    crate://crates.io/unicode-ident/1.0.11 \
+    crate://crates.io/toml/0.8.10 \
+    crate://crates.io/toml_datetime/0.6.5 \
+    crate://crates.io/toml_edit/0.21.1 \
+    crate://crates.io/toml_edit/0.22.4 \
+    crate://crates.io/tracing/0.1.40 \
+    crate://crates.io/tracing-attributes/0.1.27 \
+    crate://crates.io/tracing-core/0.1.32 \
+    crate://crates.io/tracing-log/0.2.0 \
+    crate://crates.io/tracing-subscriber/0.3.18 \
+    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-bom/2.0.3 \
+    crate://crates.io/unicode-ident/1.0.12 \
     crate://crates.io/unicode-normalization/0.1.22 \
-    crate://crates.io/unicode-width/0.1.10 \
+    crate://crates.io/unicode-width/0.1.11 \
     crate://crates.io/unicode-xid/0.2.4 \
-    crate://crates.io/url/2.4.0 \
+    crate://crates.io/url/2.5.0 \
     crate://crates.io/utf8parse/0.2.1 \
+    crate://crates.io/valuable/0.1.0 \
     crate://crates.io/vcpkg/0.2.15 \
     crate://crates.io/version_check/0.9.4 \
-    crate://crates.io/vte/0.10.1 \
-    crate://crates.io/vte_generate_state_changes/0.1.1 \
-    crate://crates.io/walkdir/2.3.3 \
+    crate://crates.io/walkdir/2.4.0 \
     crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
-    crate://crates.io/wasm-bindgen/0.2.87 \
-    crate://crates.io/wasm-bindgen-backend/0.2.87 \
-    crate://crates.io/wasm-bindgen-macro/0.2.87 \
-    crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
-    crate://crates.io/wasm-bindgen-shared/0.2.87 \
+    crate://crates.io/wasm-bindgen/0.2.91 \
+    crate://crates.io/wasm-bindgen-backend/0.2.91 \
+    crate://crates.io/wasm-bindgen-macro/0.2.91 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.91 \
+    crate://crates.io/wasm-bindgen-shared/0.2.91 \
     crate://crates.io/winapi/0.3.9 \
     crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
-    crate://crates.io/winapi-util/0.1.5 \
+    crate://crates.io/winapi-util/0.1.6 \
     crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
-    crate://crates.io/windows-sys/0.42.0 \
-    crate://crates.io/windows-sys/0.45.0 \
     crate://crates.io/windows-sys/0.48.0 \
-    crate://crates.io/windows-targets/0.42.2 \
-    crate://crates.io/windows-targets/0.48.1 \
-    crate://crates.io/windows_aarch64_gnullvm/0.42.2 \
-    crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
-    crate://crates.io/windows_aarch64_msvc/0.42.2 \
-    crate://crates.io/windows_aarch64_msvc/0.48.0 \
-    crate://crates.io/windows_i686_gnu/0.42.2 \
-    crate://crates.io/windows_i686_gnu/0.48.0 \
-    crate://crates.io/windows_i686_msvc/0.42.2 \
-    crate://crates.io/windows_i686_msvc/0.48.0 \
-    crate://crates.io/windows_x86_64_gnu/0.42.2 \
-    crate://crates.io/windows_x86_64_gnu/0.48.0 \
-    crate://crates.io/windows_x86_64_gnullvm/0.42.2 \
-    crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
-    crate://crates.io/windows_x86_64_msvc/0.42.2 \
-    crate://crates.io/windows_x86_64_msvc/0.48.0 \
-    crate://crates.io/winnow/0.5.7 \
-    crate://crates.io/zeroize/1.6.0 \
+    crate://crates.io/windows-sys/0.52.0 \
+    crate://crates.io/windows-targets/0.48.5 \
+    crate://crates.io/windows-targets/0.52.0 \
+    crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
+    crate://crates.io/windows_aarch64_gnullvm/0.52.0 \
+    crate://crates.io/windows_aarch64_msvc/0.48.5 \
+    crate://crates.io/windows_aarch64_msvc/0.52.0 \
+    crate://crates.io/windows_i686_gnu/0.48.5 \
+    crate://crates.io/windows_i686_gnu/0.52.0 \
+    crate://crates.io/windows_i686_msvc/0.48.5 \
+    crate://crates.io/windows_i686_msvc/0.52.0 \
+    crate://crates.io/windows_x86_64_gnu/0.48.5 \
+    crate://crates.io/windows_x86_64_gnu/0.52.0 \
+    crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
+    crate://crates.io/windows_x86_64_gnullvm/0.52.0 \
+    crate://crates.io/windows_x86_64_msvc/0.48.5 \
+    crate://crates.io/windows_x86_64_msvc/0.52.0 \
+    crate://crates.io/winnow/0.5.39 \
+    crate://crates.io/zerocopy/0.7.32 \
+    crate://crates.io/zerocopy-derive/0.7.32 \
+    crate://crates.io/zeroize/1.7.0 \
 "
 
 SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-SRC_URI[aho-corasick-1.0.3.sha256sum] = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c"
-SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
-SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
-SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
-SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-SRC_URI[anstyle-wincon-1.0.2.sha256sum] = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
-SRC_URI[anyhow-1.0.72.sha256sum] = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
-SRC_URI[arrayvec-0.5.2.sha256sum] = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+SRC_URI[ahash-0.8.7.sha256sum] = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+SRC_URI[allocator-api2-0.2.16.sha256sum] = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+SRC_URI[anstream-0.6.11.sha256sum] = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5"
+SRC_URI[anstyle-1.0.6.sha256sum] = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+SRC_URI[anstyle-parse-0.2.3.sha256sum] = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
+SRC_URI[anstyle-query-1.0.2.sha256sum] = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
+SRC_URI[anstyle-wincon-3.0.2.sha256sum] = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
+SRC_URI[anyhow-1.0.79.sha256sum] = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+SRC_URI[arc-swap-1.6.0.sha256sum] = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
 SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 SRC_URI[base16ct-0.2.0.sha256sum] = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
-SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
 SRC_URI[base64ct-1.6.0.sha256sum] = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
 SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+SRC_URI[bitflags-2.4.2.sha256sum] = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
 SRC_URI[bitmaps-2.1.0.sha256sum] = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
 SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
-SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
-SRC_URI[bytes-1.4.0.sha256sum] = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
-SRC_URI[bytesize-1.2.0.sha256sum] = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5"
-SRC_URI[cargo-0.69.1.sha256sum] = "2ecf1ab9246253733b30352b5194b4c3a7038a1c7729e1a18b3ba00e479c4d54"
-SRC_URI[cargo-platform-0.1.3.sha256sum] = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
-SRC_URI[cargo-util-0.2.4.sha256sum] = "a5e2320a2b1242f9181a3347ae0884bb497e1853d299da99780fa1e96f9abe23"
-SRC_URI[cbindgen-0.24.5.sha256sum] = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
-SRC_URI[cc-1.0.82.sha256sum] = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
+SRC_URI[bstr-1.9.0.sha256sum] = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc"
+SRC_URI[btoi-0.4.3.sha256sum] = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad"
+SRC_URI[bumpalo-3.14.0.sha256sum] = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+SRC_URI[bytes-1.5.0.sha256sum] = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc"
+SRC_URI[cargo-0.77.0.sha256sum] = "4a399e5bde59d144aa2c7ba643765e2f8c6c3c601daa2da03202caf66f2552b3"
+SRC_URI[cargo-credential-0.4.2.sha256sum] = "ec27ad011c37339b865c765fa28096cd63d5b25fab680c04d9e410cb586c327d"
+SRC_URI[cargo-credential-libsecret-0.4.2.sha256sum] = "26b0ff7a44dd0af0fcd8d09bb1a6d7f7652847cba10aad017a6ea0a25ba7f00f"
+SRC_URI[cargo-credential-macos-keychain-0.4.2.sha256sum] = "4b7cf89a47dc2c20ae3a7c94335e151be32c20f85cc2790defdb1f5dac818de5"
+SRC_URI[cargo-credential-wincred-0.4.2.sha256sum] = "341df45dc893bdffa36e2f7cbe3da90b38c5c74e7f4c0088ac801fd055b6df5b"
+SRC_URI[cargo-platform-0.1.7.sha256sum] = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
+SRC_URI[cargo-util-0.2.9.sha256sum] = "74862c3c6e53a1c1f8f0178f9d38ab41e49746cd3a7cafc239b3d0248fd4e342"
+SRC_URI[cbindgen-0.26.0.sha256sum] = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49"
+SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-SRC_URI[clap-3.2.25.sha256sum] = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-SRC_URI[clap-4.3.21.sha256sum] = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
-SRC_URI[clap_builder-4.3.21.sha256sum] = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
-SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
-SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+SRC_URI[clap-4.5.0.sha256sum] = "80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f"
+SRC_URI[clap_builder-4.5.0.sha256sum] = "458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99"
+SRC_URI[clap_derive-4.5.0.sha256sum] = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+SRC_URI[clap_lex-0.7.0.sha256sum] = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+SRC_URI[clru-0.6.1.sha256sum] = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807"
+SRC_URI[color-print-0.3.5.sha256sum] = "7a858372ff14bab9b1b30ea504f2a4bc534582aee3e42ba2d41d2a7baba63d5d"
+SRC_URI[color-print-proc-macro-0.3.5.sha256sum] = "57e37866456a721d0a404439a1adae37a31be4e0055590d053dfe6981e05003f"
 SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-SRC_URI[combine-4.6.6.sha256sum] = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
-SRC_URI[const-oid-0.9.5.sha256sum] = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
-SRC_URI[core-foundation-0.9.3.sha256sum] = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-SRC_URI[cpufeatures-0.2.9.sha256sum] = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
-SRC_URI[crates-io-0.35.1.sha256sum] = "e2dfb6077da60207264ab2eb0e3734f02e0a0c50c347b32c728e42c6fbbf7e2e"
+SRC_URI[const-oid-0.9.6.sha256sum] = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
+SRC_URI[core-foundation-0.9.4.sha256sum] = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
+SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
+SRC_URI[cpufeatures-0.2.12.sha256sum] = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
+SRC_URI[crates-io-0.39.2.sha256sum] = "6622f902c3c338eced1f000091f034846ae36aadaf35d0acd1ab0469a2d8ef1f"
 SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-SRC_URI[crypto-bigint-0.5.2.sha256sum] = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+SRC_URI[crossbeam-channel-0.5.11.sha256sum] = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b"
+SRC_URI[crossbeam-deque-0.8.5.sha256sum] = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+SRC_URI[crossbeam-utils-0.8.19.sha256sum] = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
+SRC_URI[crypto-bigint-0.5.5.sha256sum] = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
 SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
 SRC_URI[ct-codecs-1.1.1.sha256sum] = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
-SRC_URI[curl-0.4.44.sha256sum] = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
-SRC_URI[curl-sys-0.4.65+curl-8.2.1.sha256sum] = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986"
+SRC_URI[curl-0.4.45.sha256sum] = "f8e5123ab8c31200ce725939049ecd4a090b242608f24048131dedf9dd195aed"
+SRC_URI[curl-sys-0.4.72+curl-8.6.0.sha256sum] = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea"
 SRC_URI[der-0.7.8.sha256sum] = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
-SRC_URI[deranged-0.3.7.sha256sum] = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
+SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
 SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-SRC_URI[ecdsa-0.16.8.sha256sum] = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
-SRC_URI[ed25519-compact-2.0.4.sha256sum] = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c"
+SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+SRC_URI[ecdsa-0.16.9.sha256sum] = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
+SRC_URI[ed25519-compact-2.1.1.sha256sum] = "e9b3460f44bea8cd47f45a0c70892f1eff856d97cd55358b2f73f663789f6190"
 SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
-SRC_URI[elliptic-curve-0.13.5.sha256sum] = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
-SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+SRC_URI[elliptic-curve-0.13.8.sha256sum] = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
+SRC_URI[encoding_rs-0.8.33.sha256sum] = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
 SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-SRC_URI[errno-0.3.2.sha256sum] = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
-SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-SRC_URI[fastrand-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+SRC_URI[erased-serde-0.4.2.sha256sum] = "55d05712b2d8d88102bc9868020c9e5c7a1f5527c452b9b97450a1d006140ba7"
+SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+SRC_URI[fallible-iterator-0.3.0.sha256sum] = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
+SRC_URI[fallible-streaming-iterator-0.1.9.sha256sum] = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
+SRC_URI[faster-hex-0.9.0.sha256sum] = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183"
+SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
 SRC_URI[ff-0.13.0.sha256sum] = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
-SRC_URI[fiat-crypto-0.1.20.sha256sum] = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
-SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
-SRC_URI[flate2-1.0.26.sha256sum] = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
-SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+SRC_URI[fiat-crypto-0.2.6.sha256sum] = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382"
+SRC_URI[filetime-0.2.23.sha256sum] = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
+SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
 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.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
-SRC_URI[fwdansi-1.1.0.sha256sum] = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
+SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
 SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-SRC_URI[git2-0.16.0.sha256sum] = "be36bc9e0546df253c0cc41fd0af34f5e92845ad8509462ec76672fac6997f5b"
-SRC_URI[git2-curl-0.17.0.sha256sum] = "7577f4e6341ba7c90d883511130a45b956c274ba5f4d205d9f9da990f654cd33"
+SRC_URI[getrandom-0.2.12.sha256sum] = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+SRC_URI[git2-0.18.2.sha256sum] = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
+SRC_URI[git2-curl-0.19.0.sha256sum] = "78e26b61608c573ffd26fc79061a823aa5147449a1afe1f61679a21e2031f7c3"
+SRC_URI[gix-0.56.0.sha256sum] = "5b0dcdc9c60d66535897fa40a7ea2a635e72f99456b1d9ae86b7e170e80618cb"
+SRC_URI[gix-actor-0.28.1.sha256sum] = "2eadca029ef716b4378f7afb19f7ee101fde9e58ba1f1445971315ac866db417"
+SRC_URI[gix-attributes-0.20.1.sha256sum] = "0f395469d38c76ec47cd1a6c5a53fbc3f13f737b96eaf7535f4e6b367e643381"
+SRC_URI[gix-bitmap-0.2.10.sha256sum] = "78b6cd0f246180034ddafac9b00a112f19178135b21eb031b3f79355891f7325"
+SRC_URI[gix-chunk-0.4.7.sha256sum] = "003ec6deacf68076a0c157271a127e0bb2c031c1a41f7168cbe5d248d9b85c78"
+SRC_URI[gix-command-0.3.4.sha256sum] = "c82b5e9494e61983e61049bbd15fe0fa6b70672dd236362bdb5b2b50fc428f10"
+SRC_URI[gix-commitgraph-0.22.1.sha256sum] = "85a7007ba021f059803afaf6f8a48872422abc20550ac12ede6ddea2936cec36"
+SRC_URI[gix-config-0.32.1.sha256sum] = "0341471d55d8676e98b88e121d7065dfa4c9c5acea4b6d6ecdd2846e85cce0c3"
+SRC_URI[gix-config-value-0.14.4.sha256sum] = "5b8a1e7bfb37a46ed0b8468db37a6d8a0a61d56bdbe4603ae492cb322e5f3958"
+SRC_URI[gix-credentials-0.22.0.sha256sum] = "513dac42450b27946bd0a0535a3a5a88e473d6522e5e3439a129cab779c88f3d"
+SRC_URI[gix-date-0.8.3.sha256sum] = "fb7f3dfb72bebe3449b5e642be64e3c6ccbe9821c8b8f19f487cf5bfbbf4067e"
+SRC_URI[gix-diff-0.38.0.sha256sum] = "8119a985887cfe68f4bdf92e51bd64bc758a73882d82fcfc03ebcb164441c85d"
+SRC_URI[gix-discover-0.27.0.sha256sum] = "6fad89416ebe0b3b7df78464124e2a02417b6cd3743d48ad93df86f4d2929c07"
+SRC_URI[gix-features-0.35.0.sha256sum] = "9b9ff423ae4983f762659040d13dd7a5defbd54b6a04ac3cc7347741cec828cd"
+SRC_URI[gix-features-0.36.1.sha256sum] = "4d46a4a5c6bb5bebec9c0d18b65ada20e6517dbd7cf855b87dd4bbdce3a771b2"
+SRC_URI[gix-filter-0.7.0.sha256sum] = "6d6a5c9d8e55c364e7c226919c19c9a28be1392d6208b5008059fa94ff7e2bf0"
+SRC_URI[gix-fs-0.8.1.sha256sum] = "20e86eb040f5776a5ade092282e51cdcad398adb77d948b88d17583c2ae4e107"
+SRC_URI[gix-glob-0.14.1.sha256sum] = "5db19298c5eeea2961e5b3bf190767a2d1f09b8802aeb5f258e42276350aff19"
+SRC_URI[gix-hash-0.13.3.sha256sum] = "1f8cf8c2266f63e582b7eb206799b63aa5fa68ee510ad349f637dfe2d0653de0"
+SRC_URI[gix-hashtable-0.4.1.sha256sum] = "feb61880816d7ec4f0b20606b498147d480860ddd9133ba542628df2f548d3ca"
+SRC_URI[gix-ignore-0.9.1.sha256sum] = "a215cc8cf21645bca131fcf6329d3ebd46299c47dbbe27df71bb1ca9e328b879"
+SRC_URI[gix-index-0.27.1.sha256sum] = "f3f308f5cd2992e96a274b0d1931e9a0e44fdcba87695ead3f6df30d8a697e9c"
+SRC_URI[gix-lock-11.0.1.sha256sum] = "7e5c65e6a29830a435664891ced3f3c1af010f14900226019590ee0971a22f37"
+SRC_URI[gix-macros-0.1.3.sha256sum] = "d75e7ab728059f595f6ddc1ad8771b8d6a231971ae493d9d5948ecad366ee8bb"
+SRC_URI[gix-negotiate-0.10.0.sha256sum] = "979f6accd9c051b3dd018b50adf29c0a2459edddf6105cc70b767976cd6f8014"
+SRC_URI[gix-object-0.39.0.sha256sum] = "febf79c5825720c1c63fe974c7bbe695d0cb54aabad73f45671c60ce0e501e33"
+SRC_URI[gix-odb-0.55.0.sha256sum] = "1fae5f971540c99c6ecc8d4368ecc9d18a9dc8b9391025c68c4399747dc93bac"
+SRC_URI[gix-pack-0.45.0.sha256sum] = "4569491c92446fddf373456ff360aff9a9effd627b40a70f2d7914dcd75a3205"
+SRC_URI[gix-packetline-0.17.3.sha256sum] = "09ff45eef7747bde4986429a3e813478d50c2688b8f239e57bd3aa81065b285f"
+SRC_URI[gix-packetline-blocking-0.17.3.sha256sum] = "ca8ef6dd3ea50e26f3bf572e90c034d033c804d340cd1eb386392f184a9ba2f7"
+SRC_URI[gix-path-0.10.5.sha256sum] = "97e9ad649bf5e109562d6acba657ca428661ec08e77eaf3a755d8fa55485be9c"
+SRC_URI[gix-pathspec-0.4.1.sha256sum] = "1dbbb92f75a38ef043c8bb830b339b38d0698d7f3746968b5fcbade7a880494d"
+SRC_URI[gix-prompt-0.8.2.sha256sum] = "02bd89d058258e53e0fd6c57f13ee16c5673a83066a68e11f88626fc8cfda5f6"
+SRC_URI[gix-protocol-0.42.0.sha256sum] = "95736ef407db0bd15a5bdea791fbfcf523b9f13b96c852c240cd86a9ee0ef817"
+SRC_URI[gix-quote-0.4.10.sha256sum] = "9f7dc10303d73a960d10fb82f81188b036ac3e6b11b5795b20b1a60b51d1321f"
+SRC_URI[gix-ref-0.39.1.sha256sum] = "3b2069adc212cf7f3317ef55f6444abd06c50f28479dbbac5a86acf3b05cbbfe"
+SRC_URI[gix-refspec-0.20.0.sha256sum] = "76d9d3b82e1ee78fc0dc1c37ea5ea76c2dbc73f407db155f0dfcea285e583bee"
+SRC_URI[gix-revision-0.24.0.sha256sum] = "fe5dd51710ce5434bc315ea30394fab483c5377276494edd79222b321a5a9544"
+SRC_URI[gix-revwalk-0.10.0.sha256sum] = "69d4ed2493ca94a475fdf147138e1ef8bab3b6ebb56abf3d9bda1c05372ec1dd"
+SRC_URI[gix-sec-0.10.4.sha256sum] = "f8d9bf462feaf05f2121cba7399dbc6c34d88a9cad58fc1e95027791d6a3c6d2"
+SRC_URI[gix-submodule-0.6.0.sha256sum] = "02a3d7f60a95bdcaeb8981663c99d1c9f4de42aab1169524c949e948989809f9"
+SRC_URI[gix-tempfile-11.0.1.sha256sum] = "388dd29114a86ec69b28d1e26d6d63a662300ecf61ab3f4cc578f7d7dc9e7e23"
+SRC_URI[gix-trace-0.1.7.sha256sum] = "02b202d766a7fefc596e2cc6a89cda8ad8ad733aed82da635ac120691112a9b1"
+SRC_URI[gix-transport-0.39.0.sha256sum] = "f731cfefc4d62468c6dd2053f5c6707828256a6d2f5488c1811e3f42c178b144"
+SRC_URI[gix-traverse-0.35.0.sha256sum] = "df2112088122a0206592c84fbd42020db63b2ccaed66a0293779f2e5fbf80474"
+SRC_URI[gix-url-0.25.2.sha256sum] = "0c427a1a11ccfa53a4a2da47d9442c2241deee63a154bc15cc14b8312fbc4005"
+SRC_URI[gix-utils-0.1.9.sha256sum] = "56e839f3d0798b296411263da6bee780a176ef8008a5dfc31287f7eda9266ab8"
+SRC_URI[gix-validate-0.8.3.sha256sum] = "ac7cc36f496bd5d96cdca0f9289bb684480725d40db60f48194aa7723b883854"
+SRC_URI[gix-worktree-0.28.0.sha256sum] = "7f1d0ae01dee14abe8c8117d78d7518f9a507de2dc4522546fbf4c444e9860b4"
 SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-SRC_URI[globset-0.4.13.sha256sum] = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+SRC_URI[globset-0.4.14.sha256sum] = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1"
 SRC_URI[group-0.13.0.sha256sum] = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
 SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+SRC_URI[hashlink-0.8.4.sha256sum] = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
 SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+SRC_URI[hermit-abi-0.3.5.sha256sum] = "d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3"
 SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-SRC_URI[hkdf-0.12.3.sha256sum] = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+SRC_URI[hkdf-0.12.4.sha256sum] = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
 SRC_URI[hmac-0.12.1.sha256sum] = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-SRC_URI[http-auth-0.1.8.sha256sum] = "5430cacd7a1f9a02fbeb350dfc81a0e5ed42d81f3398cb0ba184017f85bdcfbc"
+SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+SRC_URI[http-auth-0.1.9.sha256sum] = "643c9bbf6a4ea8a656d6b4cd53d34f79e3f841ad5203c1a55fb7d761923bc255"
 SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
-SRC_URI[ignore-0.4.20.sha256sum] = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+SRC_URI[ignore-0.4.22.sha256sum] = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1"
 SRC_URI[im-rc-15.1.0.sha256sum] = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
 SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
-SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-SRC_URI[jobserver-0.1.26.sha256sum] = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
-SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[indexmap-2.2.2.sha256sum] = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520"
+SRC_URI[is-terminal-0.4.11.sha256sum] = "fe8f25ce1159c7740ff0b9b2f5cdf4a8428742ba7c112b9f20f22cd5219c7dab"
+SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+SRC_URI[itoa-1.0.10.sha256sum] = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+SRC_URI[jobserver-0.1.28.sha256sum] = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+SRC_URI[js-sys-0.3.68.sha256sum] = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
 SRC_URI[kstring-2.0.0.sha256sum] = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747"
 SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
-SRC_URI[libgit2-sys-0.14.1+1.5.0.sha256sum] = "4a07fb2692bc3593bda59de45a502bb3071659f2c515e28c71e728306b038e17"
-SRC_URI[libnghttp2-sys-0.1.8+1.55.1.sha256sum] = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340"
-SRC_URI[libssh2-sys-0.2.23.sha256sum] = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
-SRC_URI[libz-sys-1.1.12.sha256sum] = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
-SRC_URI[linux-raw-sys-0.4.5.sha256sum] = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
-SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
-SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-SRC_URI[miow-0.5.0.sha256sum] = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123"
-SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
-SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-SRC_URI[opener-0.5.2.sha256sum] = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005"
-SRC_URI[openssl-0.10.56.sha256sum] = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
+SRC_URI[libc-0.2.153.sha256sum] = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+SRC_URI[libgit2-sys-0.16.2+1.7.2.sha256sum] = "ee4126d8b4ee5c9d9ea891dd875cfdc1e9d0950437179104b183d7d8a74d24e8"
+SRC_URI[libloading-0.8.1.sha256sum] = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
+SRC_URI[libnghttp2-sys-0.1.9+1.58.0.sha256sum] = "b57e858af2798e167e709b9d969325b6d8e9d50232fcbc494d7d54f976854a64"
+SRC_URI[libsqlite3-sys-0.27.0.sha256sum] = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
+SRC_URI[libssh2-sys-0.3.0.sha256sum] = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
+SRC_URI[libz-sys-1.1.15.sha256sum] = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+SRC_URI[linux-raw-sys-0.4.13.sha256sum] = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+SRC_URI[maybe-async-0.2.9.sha256sum] = "afc95a651c82daf7004c824405aa1019723644950d488571bd718e3ed84646ed"
+SRC_URI[memchr-2.7.1.sha256sum] = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+SRC_URI[memmap2-0.9.4.sha256sum] = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
+SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+SRC_URI[miniz_oxide-0.7.2.sha256sum] = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+SRC_URI[miow-0.6.0.sha256sum] = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044"
+SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+SRC_URI[normpath-1.1.1.sha256sum] = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5"
+SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+SRC_URI[num-traits-0.2.18.sha256sum] = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+SRC_URI[opener-0.6.1.sha256sum] = "6c62dcb6174f9cb326eac248f07e955d5d559c272730b6c03e396b443b562788"
+SRC_URI[openssl-0.10.63.sha256sum] = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
 SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-SRC_URI[openssl-src-111.27.0+1.1.1v.sha256sum] = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
-SRC_URI[openssl-sys-0.9.91.sha256sum] = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
-SRC_URI[ordered-float-2.10.0.sha256sum] = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
-SRC_URI[orion-0.17.5.sha256sum] = "b11468cc6afd61a126fe3f91cc4cc8a0dbe7917d0a4b5e8357ba91cc47444462"
+SRC_URI[openssl-src-300.2.2+3.2.1.sha256sum] = "8bbfad0063610ac26ee79f7484739e2b07555a75c42453b89263830b5c8103bc"
+SRC_URI[openssl-sys-0.9.99.sha256sum] = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
+SRC_URI[ordered-float-2.10.1.sha256sum] = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c"
+SRC_URI[orion-0.17.6.sha256sum] = "7abdb10181903c8c4b016ba45d6d6d5af1a1e2a461aa4763a83b87f5df4695e5"
 SRC_URI[os_info-3.7.0.sha256sum] = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
-SRC_URI[os_str_bytes-6.5.1.sha256sum] = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
+SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
 SRC_URI[p384-0.13.0.sha256sum] = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
-SRC_URI[pasetors-0.6.7.sha256sum] = "ba765699a309908d55950919a3445e9491453e89b2587b1b2abe4143a48894c0"
+SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+SRC_URI[pasetors-0.6.8.sha256sum] = "6b36d47c66f2230dd1b7143d9afb2b4891879020210eddf2ccb624e529b96dba"
 SRC_URI[pathdiff-0.2.1.sha256sum] = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
 SRC_URI[pem-rfc7468-0.7.0.sha256sum] = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
-SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
 SRC_URI[pkcs8-0.10.2.sha256sum] = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
-SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-SRC_URI[primeorder-0.13.2.sha256sum] = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
-SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
-SRC_URI[quote-1.0.32.sha256sum] = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+SRC_URI[pkg-config-0.3.29.sha256sum] = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
+SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+SRC_URI[primeorder-0.13.6.sha256sum] = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6"
+SRC_URI[proc-macro2-1.0.78.sha256sum] = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+SRC_URI[prodash-26.2.2.sha256sum] = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf"
+SRC_URI[pulldown-cmark-0.9.6.sha256sum] = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b"
+SRC_URI[quote-1.0.35.sha256sum] = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 SRC_URI[rand_xoshiro-0.6.0.sha256sum] = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
-SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-SRC_URI[regex-1.9.3.sha256sum] = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
-SRC_URI[regex-automata-0.3.6.sha256sum] = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
-SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+SRC_URI[regex-1.10.3.sha256sum] = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+SRC_URI[regex-automata-0.4.5.sha256sum] = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 SRC_URI[rfc6979-0.4.0.sha256sum] = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
-SRC_URI[rustc-workspace-hack-1.0.0.sha256sum] = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
-SRC_URI[rustfix-0.6.1.sha256sum] = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
-SRC_URI[rustix-0.38.8.sha256sum] = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
-SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+SRC_URI[rusqlite-0.30.0.sha256sum] = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d"
+SRC_URI[rustfix-0.7.0.sha256sum] = "7ec10cbeb92a2e494ef354d66126882da8c0a244ad769e2a7193efc5de625175"
+SRC_URI[rustix-0.38.31.sha256sum] = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+SRC_URI[ryu-1.0.16.sha256sum] = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
 SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-SRC_URI[schannel-0.1.22.sha256sum] = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+SRC_URI[schannel-0.1.23.sha256sum] = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
+SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 SRC_URI[sec1-0.7.3.sha256sum] = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
-SRC_URI[semver-1.0.18.sha256sum] = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
-SRC_URI[serde-1.0.183.sha256sum] = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
+SRC_URI[security-framework-2.9.2.sha256sum] = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+SRC_URI[security-framework-sys-2.9.1.sha256sum] = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+SRC_URI[semver-1.0.21.sha256sum] = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
+SRC_URI[serde-1.0.196.sha256sum] = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32"
+SRC_URI[serde-untagged-0.1.5.sha256sum] = "6a160535368dfc353348e7eaa299156bd508c60c45a9249725f5f6d370d82a66"
 SRC_URI[serde-value-0.7.0.sha256sum] = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
-SRC_URI[serde_derive-1.0.183.sha256sum] = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
-SRC_URI[serde_ignored-0.1.9.sha256sum] = "80c31d5c53fd39f208e770f5a20a0bb214dee2a8d0d8adba18e19ad95a482ca5"
-SRC_URI[serde_json-1.0.104.sha256sum] = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
-SRC_URI[serde_spanned-0.6.3.sha256sum] = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
-SRC_URI[sha1-0.10.5.sha256sum] = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+SRC_URI[serde_derive-1.0.196.sha256sum] = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67"
+SRC_URI[serde_ignored-0.1.10.sha256sum] = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf"
+SRC_URI[serde_json-1.0.113.sha256sum] = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79"
+SRC_URI[serde_spanned-0.6.5.sha256sum] = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+SRC_URI[sha1_smol-1.0.0.sha256sum] = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
+SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
 SRC_URI[shell-escape-0.1.5.sha256sum] = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
-SRC_URI[signature-2.1.0.sha256sum] = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
+SRC_URI[signature-2.2.0.sha256sum] = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
 SRC_URI[sized-chunks-0.6.5.sha256sum] = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
-SRC_URI[socket2-0.4.9.sha256sum] = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
-SRC_URI[spki-0.7.2.sha256sum] = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+SRC_URI[smallvec-1.13.1.sha256sum] = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+SRC_URI[socket2-0.5.5.sha256sum] = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+SRC_URI[spki-0.7.3.sha256sum] = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
 SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-SRC_URI[strip-ansi-escapes-0.1.1.sha256sum] = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
-SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+SRC_URI[strsim-0.11.0.sha256sum] = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
 SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+SRC_URI[supports-hyperlinks-2.1.0.sha256sum] = "f84231692eb0d4d41e4cdd0cabfdd2e6cd9e255e65f80c9aa7c98dd502b4233d"
 SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-SRC_URI[syn-2.0.28.sha256sum] = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
+SRC_URI[syn-2.0.48.sha256sum] = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f"
 SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
-SRC_URI[tempfile-3.7.1.sha256sum] = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
-SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+SRC_URI[tempfile-3.10.0.sha256sum] = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
+SRC_URI[thiserror-1.0.56.sha256sum] = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad"
+SRC_URI[thiserror-impl-1.0.56.sha256sum] = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471"
 SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
-SRC_URI[time-0.3.25.sha256sum] = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
-SRC_URI[time-core-0.1.1.sha256sum] = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
-SRC_URI[time-macros-0.2.11.sha256sum] = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
+SRC_URI[time-0.3.34.sha256sum] = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+SRC_URI[time-macros-0.2.17.sha256sum] = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
 SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
 SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-SRC_URI[toml-0.7.6.sha256sum] = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
-SRC_URI[toml_datetime-0.5.1.sha256sum] = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
-SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
-SRC_URI[toml_edit-0.15.0.sha256sum] = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646"
-SRC_URI[toml_edit-0.19.14.sha256sum] = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
-SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[toml-0.8.10.sha256sum] = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+SRC_URI[toml_datetime-0.6.5.sha256sum] = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
+SRC_URI[toml_edit-0.21.1.sha256sum] = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
+SRC_URI[toml_edit-0.22.4.sha256sum] = "0c9ffdf896f8daaabf9b66ba8e77ea1ed5ed0f72821b398aba62352e95062951"
+SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
+SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
+SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
+SRC_URI[tracing-subscriber-0.3.18.sha256sum] = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
+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-bom-2.0.3.sha256sum] = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217"
+SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
 SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-SRC_URI[url-2.4.0.sha256sum] = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
 SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
 SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-SRC_URI[vte-0.10.1.sha256sum] = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
-SRC_URI[vte_generate_state_changes-0.1.1.sha256sum] = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
-SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
 SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
-SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
-SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
-SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
-SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[wasm-bindgen-0.2.91.sha256sum] = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+SRC_URI[wasm-bindgen-backend-0.2.91.sha256sum] = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+SRC_URI[wasm-bindgen-macro-0.2.91.sha256sum] = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+SRC_URI[wasm-bindgen-macro-support-0.2.91.sha256sum] = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+SRC_URI[wasm-bindgen-shared-0.2.91.sha256sum] = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
 SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
 SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-SRC_URI[windows-sys-0.42.0.sha256sum] = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
 SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
-SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-SRC_URI[winnow-0.5.7.sha256sum] = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac"
-SRC_URI[zeroize-1.6.0.sha256sum] = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+SRC_URI[winnow-0.5.39.sha256sum] = "5389a154b01683d28c77f8f68f49dea75f0a4da32557a58f68ee51ebba472d29"
+SRC_URI[zerocopy-0.7.32.sha256sum] = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+SRC_URI[zerocopy-derive-0.7.32.sha256sum] = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+SRC_URI[zeroize-1.7.0.sha256sum] = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb b/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb
deleted file mode 100644
index f27ad83..0000000
--- a/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "cargo applet to build and install C-ABI compatible dynamic and static libraries."
-HOMEPAGE = "https://crates.io/crates/cargo-c"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = " \
-    file://LICENSE;md5=384ed0e2e0b2dac094e51fbf93fdcbe0 \
-"
-
-
-SRC_URI = " \
-	git://github.com/lu-zero/cargo-c.git;branch=master;protocol=https \
-	file://0001-Add-Cargo.lock-file.patch \
-"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
-
-SRCREV = "4eaf39ebbbc9ab8f092adf487d5b53435511d619"
-S = "${WORKDIR}/git"
-
-inherit cargo cargo-update-recipe-crates pkgconfig native
-
-DEPENDS = "openssl curl"
-
-require ${BPN}-crates.inc
-
diff --git a/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.30+cargo-0.77.0.bb b/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.30+cargo-0.77.0.bb
new file mode 100644
index 0000000..8e17606
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.30+cargo-0.77.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "cargo applet to build and install C-ABI compatible dynamic and static libraries."
+HOMEPAGE = "https://crates.io/crates/cargo-c"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+    file://LICENSE;md5=384ed0e2e0b2dac094e51fbf93fdcbe0 \
+"
+
+SRC_URI = "crate://crates.io/cargo-c/${PV};name=cargo-c"
+SRC_URI[cargo-c.sha256sum] = "ec77e3635cdb0d211f88f22d0460eef0ba031eb616ded57f2ffb98a90365c445"
+S = "${CARGO_VENDORING_DIRECTORY}/cargo-c-${PV}"
+
+inherit cargo cargo-update-recipe-crates pkgconfig native
+
+DEPENDS = "openssl curl"
+
+require ${BPN}-crates.inc
+
diff --git a/poky/meta/recipes-devtools/rust/cargo-c/0001-Add-Cargo.lock-file.patch b/poky/meta/recipes-devtools/rust/cargo-c/0001-Add-Cargo.lock-file.patch
deleted file mode 100644
index 11a6d9e..0000000
--- a/poky/meta/recipes-devtools/rust/cargo-c/0001-Add-Cargo.lock-file.patch
+++ /dev/null
@@ -1,2180 +0,0 @@
-From bc958b58eb31151ce76e409ce654bf6131d693b3 Mon Sep 17 00:00:00 2001
-From: Frederic Martinsons <frederic.martinsons@gmail.com>
-Date: Fri, 11 Aug 2023 06:28:56 +0200
-Subject: [PATCH] Add Cargo.lock file
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
----
- .gitignore |    1 -
- Cargo.lock | 2148 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 2148 insertions(+), 1 deletion(-)
- create mode 100644 Cargo.lock
-
-diff --git a/.gitignore b/.gitignore
-index b52f82c..437f557 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1,5 +1,4 @@
- /target
- **/*.rs.bk
--Cargo.lock
- /example-project/target/
- /example-project/usage-from-c/run_tests
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..2225b04
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,2148 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+version = 3
-+
-+[[package]]
-+name = "adler"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-+
-+[[package]]
-+name = "aho-corasick"
-+version = "1.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "anstream"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
-+dependencies = [
-+ "anstyle",
-+ "anstyle-parse",
-+ "anstyle-query",
-+ "anstyle-wincon",
-+ "colorchoice",
-+ "is-terminal",
-+ "utf8parse",
-+]
-+
-+[[package]]
-+name = "anstyle"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
-+
-+[[package]]
-+name = "anstyle-parse"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
-+dependencies = [
-+ "utf8parse",
-+]
-+
-+[[package]]
-+name = "anstyle-query"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-+dependencies = [
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "anstyle-wincon"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
-+dependencies = [
-+ "anstyle",
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "anyhow"
-+version = "1.0.72"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-+
-+[[package]]
-+name = "atty"
-+version = "0.2.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-+dependencies = [
-+ "hermit-abi 0.1.19",
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-+
-+[[package]]
-+name = "base16ct"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
-+
-+[[package]]
-+name = "base64"
-+version = "0.13.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-+
-+[[package]]
-+name = "base64ct"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-+
-+[[package]]
-+name = "bitflags"
-+version = "2.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
-+
-+[[package]]
-+name = "bitmaps"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
-+dependencies = [
-+ "typenum",
-+]
-+
-+[[package]]
-+name = "block-buffer"
-+version = "0.10.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-+dependencies = [
-+ "generic-array",
-+]
-+
-+[[package]]
-+name = "bstr"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
-+dependencies = [
-+ "memchr",
-+ "regex-automata",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "bumpalo"
-+version = "3.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
-+
-+[[package]]
-+name = "bytes"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
-+
-+[[package]]
-+name = "bytesize"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5"
-+
-+[[package]]
-+name = "cargo"
-+version = "0.69.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2ecf1ab9246253733b30352b5194b4c3a7038a1c7729e1a18b3ba00e479c4d54"
-+dependencies = [
-+ "anyhow",
-+ "base64",
-+ "bytesize",
-+ "cargo-platform",
-+ "cargo-util",
-+ "clap 4.3.21",
-+ "crates-io",
-+ "curl",
-+ "curl-sys",
-+ "env_logger",
-+ "filetime",
-+ "flate2",
-+ "fwdansi",
-+ "git2",
-+ "git2-curl",
-+ "glob",
-+ "hex",
-+ "hmac",
-+ "home",
-+ "http-auth",
-+ "humantime",
-+ "ignore",
-+ "im-rc",
-+ "indexmap 1.9.3",
-+ "is-terminal",
-+ "itertools",
-+ "jobserver",
-+ "lazy_static",
-+ "lazycell",
-+ "libc",
-+ "libgit2-sys",
-+ "log",
-+ "memchr",
-+ "opener",
-+ "openssl",
-+ "os_info",
-+ "pasetors",
-+ "pathdiff",
-+ "percent-encoding",
-+ "rustc-workspace-hack",
-+ "rustfix",
-+ "semver",
-+ "serde",
-+ "serde-value",
-+ "serde_ignored",
-+ "serde_json",
-+ "sha1",
-+ "shell-escape",
-+ "strip-ansi-escapes",
-+ "tar",
-+ "tempfile",
-+ "termcolor",
-+ "time",
-+ "toml_edit 0.15.0",
-+ "unicode-width",
-+ "unicode-xid",
-+ "url",
-+ "walkdir",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "cargo-c"
-+version = "0.9.18+cargo-0.69"
-+dependencies = [
-+ "anyhow",
-+ "cargo",
-+ "cargo-util",
-+ "cbindgen",
-+ "cc",
-+ "clap 4.3.21",
-+ "glob",
-+ "itertools",
-+ "log",
-+ "regex",
-+ "semver",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "toml 0.7.6",
-+]
-+
-+[[package]]
-+name = "cargo-platform"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "cargo-util"
-+version = "0.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a5e2320a2b1242f9181a3347ae0884bb497e1853d299da99780fa1e96f9abe23"
-+dependencies = [
-+ "anyhow",
-+ "core-foundation",
-+ "filetime",
-+ "hex",
-+ "jobserver",
-+ "libc",
-+ "log",
-+ "miow",
-+ "same-file",
-+ "sha2",
-+ "shell-escape",
-+ "tempfile",
-+ "walkdir",
-+ "windows-sys 0.45.0",
-+]
-+
-+[[package]]
-+name = "cbindgen"
-+version = "0.24.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
-+dependencies = [
-+ "clap 3.2.25",
-+ "heck",
-+ "indexmap 1.9.3",
-+ "log",
-+ "proc-macro2",
-+ "quote",
-+ "serde",
-+ "serde_json",
-+ "syn 1.0.109",
-+ "tempfile",
-+ "toml 0.5.11",
-+]
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.82"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
-+dependencies = [
-+ "jobserver",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-+
-+[[package]]
-+name = "clap"
-+version = "3.2.25"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-+dependencies = [
-+ "atty",
-+ "bitflags 1.3.2",
-+ "clap_lex 0.2.4",
-+ "indexmap 1.9.3",
-+ "strsim",
-+ "termcolor",
-+ "textwrap",
-+]
-+
-+[[package]]
-+name = "clap"
-+version = "4.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
-+dependencies = [
-+ "clap_builder",
-+ "clap_derive",
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "clap_builder"
-+version = "4.3.21"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
-+dependencies = [
-+ "anstream",
-+ "anstyle",
-+ "clap_lex 0.5.0",
-+ "once_cell",
-+ "strsim",
-+]
-+
-+[[package]]
-+name = "clap_derive"
-+version = "4.3.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
-+dependencies = [
-+ "heck",
-+ "proc-macro2",
-+ "quote",
-+ "syn 2.0.28",
-+]
-+
-+[[package]]
-+name = "clap_lex"
-+version = "0.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-+dependencies = [
-+ "os_str_bytes",
-+]
-+
-+[[package]]
-+name = "clap_lex"
-+version = "0.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
-+
-+[[package]]
-+name = "colorchoice"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-+
-+[[package]]
-+name = "combine"
-+version = "4.6.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
-+dependencies = [
-+ "bytes",
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "const-oid"
-+version = "0.9.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
-+
-+[[package]]
-+name = "core-foundation"
-+version = "0.9.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-+dependencies = [
-+ "core-foundation-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "core-foundation-sys"
-+version = "0.8.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-+
-+[[package]]
-+name = "cpufeatures"
-+version = "0.2.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "crates-io"
-+version = "0.35.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2dfb6077da60207264ab2eb0e3734f02e0a0c50c347b32c728e42c6fbbf7e2e"
-+dependencies = [
-+ "anyhow",
-+ "curl",
-+ "percent-encoding",
-+ "serde",
-+ "serde_json",
-+ "url",
-+]
-+
-+[[package]]
-+name = "crc32fast"
-+version = "1.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-+dependencies = [
-+ "cfg-if",
-+]
-+
-+[[package]]
-+name = "crypto-bigint"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
-+dependencies = [
-+ "generic-array",
-+ "rand_core",
-+ "subtle",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "crypto-common"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-+dependencies = [
-+ "generic-array",
-+ "typenum",
-+]
-+
-+[[package]]
-+name = "ct-codecs"
-+version = "1.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
-+
-+[[package]]
-+name = "curl"
-+version = "0.4.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
-+dependencies = [
-+ "curl-sys",
-+ "libc",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "schannel",
-+ "socket2",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "curl-sys"
-+version = "0.4.65+curl-8.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "libnghttp2-sys",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+ "vcpkg",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "der"
-+version = "0.7.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
-+dependencies = [
-+ "const-oid",
-+ "pem-rfc7468",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "deranged"
-+version = "0.3.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
-+
-+[[package]]
-+name = "digest"
-+version = "0.10.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-+dependencies = [
-+ "block-buffer",
-+ "const-oid",
-+ "crypto-common",
-+ "subtle",
-+]
-+
-+[[package]]
-+name = "ecdsa"
-+version = "0.16.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
-+dependencies = [
-+ "der",
-+ "digest",
-+ "elliptic-curve",
-+ "rfc6979",
-+ "signature",
-+ "spki",
-+]
-+
-+[[package]]
-+name = "ed25519-compact"
-+version = "2.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "either"
-+version = "1.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
-+
-+[[package]]
-+name = "elliptic-curve"
-+version = "0.13.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
-+dependencies = [
-+ "base16ct",
-+ "crypto-bigint",
-+ "digest",
-+ "ff",
-+ "generic-array",
-+ "group",
-+ "hkdf",
-+ "pem-rfc7468",
-+ "pkcs8",
-+ "rand_core",
-+ "sec1",
-+ "subtle",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "env_logger"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
-+dependencies = [
-+ "humantime",
-+ "is-terminal",
-+ "log",
-+ "regex",
-+ "termcolor",
-+]
-+
-+[[package]]
-+name = "equivalent"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-+
-+[[package]]
-+name = "errno"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
-+dependencies = [
-+ "errno-dragonfly",
-+ "libc",
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "errno-dragonfly"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "fastrand"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
-+
-+[[package]]
-+name = "ff"
-+version = "0.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
-+dependencies = [
-+ "rand_core",
-+ "subtle",
-+]
-+
-+[[package]]
-+name = "fiat-crypto"
-+version = "0.1.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
-+
-+[[package]]
-+name = "filetime"
-+version = "0.2.22"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "redox_syscall",
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "flate2"
-+version = "1.0.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
-+dependencies = [
-+ "crc32fast",
-+ "libz-sys",
-+ "miniz_oxide",
-+]
-+
-+[[package]]
-+name = "fnv"
-+version = "1.0.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-+
-+[[package]]
-+name = "foreign-types"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-+dependencies = [
-+ "foreign-types-shared",
-+]
-+
-+[[package]]
-+name = "foreign-types-shared"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-+
-+[[package]]
-+name = "form_urlencoded"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
-+dependencies = [
-+ "percent-encoding",
-+]
-+
-+[[package]]
-+name = "fwdansi"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
-+dependencies = [
-+ "memchr",
-+ "termcolor",
-+]
-+
-+[[package]]
-+name = "generic-array"
-+version = "0.14.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-+dependencies = [
-+ "typenum",
-+ "version_check",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-+dependencies = [
-+ "cfg-if",
-+ "js-sys",
-+ "libc",
-+ "wasi",
-+ "wasm-bindgen",
-+]
-+
-+[[package]]
-+name = "git2"
-+version = "0.16.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be36bc9e0546df253c0cc41fd0af34f5e92845ad8509462ec76672fac6997f5b"
-+dependencies = [
-+ "bitflags 1.3.2",
-+ "libc",
-+ "libgit2-sys",
-+ "log",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "url",
-+]
-+
-+[[package]]
-+name = "git2-curl"
-+version = "0.17.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7577f4e6341ba7c90d883511130a45b956c274ba5f4d205d9f9da990f654cd33"
-+dependencies = [
-+ "curl",
-+ "git2",
-+ "log",
-+ "url",
-+]
-+
-+[[package]]
-+name = "glob"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-+
-+[[package]]
-+name = "globset"
-+version = "0.4.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
-+dependencies = [
-+ "aho-corasick",
-+ "bstr",
-+ "fnv",
-+ "log",
-+ "regex",
-+]
-+
-+[[package]]
-+name = "group"
-+version = "0.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
-+dependencies = [
-+ "ff",
-+ "rand_core",
-+ "subtle",
-+]
-+
-+[[package]]
-+name = "hashbrown"
-+version = "0.12.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-+
-+[[package]]
-+name = "hashbrown"
-+version = "0.14.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
-+
-+[[package]]
-+name = "heck"
-+version = "0.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.1.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "hermit-abi"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
-+
-+[[package]]
-+name = "hex"
-+version = "0.4.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-+
-+[[package]]
-+name = "hkdf"
-+version = "0.12.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
-+dependencies = [
-+ "hmac",
-+]
-+
-+[[package]]
-+name = "hmac"
-+version = "0.12.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-+dependencies = [
-+ "digest",
-+]
-+
-+[[package]]
-+name = "home"
-+version = "0.5.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
-+dependencies = [
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "http-auth"
-+version = "0.1.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5430cacd7a1f9a02fbeb350dfc81a0e5ed42d81f3398cb0ba184017f85bdcfbc"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "humantime"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
-+
-+[[package]]
-+name = "idna"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
-+dependencies = [
-+ "unicode-bidi",
-+ "unicode-normalization",
-+]
-+
-+[[package]]
-+name = "ignore"
-+version = "0.4.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
-+dependencies = [
-+ "globset",
-+ "lazy_static",
-+ "log",
-+ "memchr",
-+ "regex",
-+ "same-file",
-+ "thread_local",
-+ "walkdir",
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "im-rc"
-+version = "15.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
-+dependencies = [
-+ "bitmaps",
-+ "rand_core",
-+ "rand_xoshiro",
-+ "sized-chunks",
-+ "typenum",
-+ "version_check",
-+]
-+
-+[[package]]
-+name = "indexmap"
-+version = "1.9.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-+dependencies = [
-+ "autocfg",
-+ "hashbrown 0.12.3",
-+]
-+
-+[[package]]
-+name = "indexmap"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
-+dependencies = [
-+ "equivalent",
-+ "hashbrown 0.14.0",
-+]
-+
-+[[package]]
-+name = "is-terminal"
-+version = "0.4.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
-+dependencies = [
-+ "hermit-abi 0.3.2",
-+ "rustix",
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.10.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-+dependencies = [
-+ "either",
-+]
-+
-+[[package]]
-+name = "itoa"
-+version = "1.0.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-+
-+[[package]]
-+name = "jobserver"
-+version = "0.1.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "js-sys"
-+version = "0.3.64"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
-+dependencies = [
-+ "wasm-bindgen",
-+]
-+
-+[[package]]
-+name = "kstring"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747"
-+dependencies = [
-+ "static_assertions",
-+]
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+
-+[[package]]
-+name = "lazycell"
-+version = "1.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.147"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
-+
-+[[package]]
-+name = "libgit2-sys"
-+version = "0.14.1+1.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4a07fb2692bc3593bda59de45a502bb3071659f2c515e28c71e728306b038e17"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "libssh2-sys",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+]
-+
-+[[package]]
-+name = "libnghttp2-sys"
-+version = "0.1.8+1.55.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340"
-+dependencies = [
-+ "cc",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "libssh2-sys"
-+version = "0.2.23"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "libz-sys"
-+version = "1.1.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "linux-raw-sys"
-+version = "0.4.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
-+
-+[[package]]
-+name = "log"
-+version = "0.4.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
-+
-+[[package]]
-+name = "memchr"
-+version = "2.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-+
-+[[package]]
-+name = "miniz_oxide"
-+version = "0.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-+dependencies = [
-+ "adler",
-+]
-+
-+[[package]]
-+name = "miow"
-+version = "0.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123"
-+dependencies = [
-+ "windows-sys 0.42.0",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
-+dependencies = [
-+ "autocfg",
-+]
-+
-+[[package]]
-+name = "once_cell"
-+version = "1.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-+
-+[[package]]
-+name = "opener"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005"
-+dependencies = [
-+ "bstr",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "openssl"
-+version = "0.10.56"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
-+dependencies = [
-+ "bitflags 1.3.2",
-+ "cfg-if",
-+ "foreign-types",
-+ "libc",
-+ "once_cell",
-+ "openssl-macros",
-+ "openssl-sys",
-+]
-+
-+[[package]]
-+name = "openssl-macros"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn 2.0.28",
-+]
-+
-+[[package]]
-+name = "openssl-probe"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-+
-+[[package]]
-+name = "openssl-src"
-+version = "111.27.0+1.1.1v"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
-+dependencies = [
-+ "cc",
-+]
-+
-+[[package]]
-+name = "openssl-sys"
-+version = "0.9.91"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
-+dependencies = [
-+ "cc",
-+ "libc",
-+ "openssl-src",
-+ "pkg-config",
-+ "vcpkg",
-+]
-+
-+[[package]]
-+name = "ordered-float"
-+version = "2.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
-+dependencies = [
-+ "num-traits",
-+]
-+
-+[[package]]
-+name = "orion"
-+version = "0.17.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b11468cc6afd61a126fe3f91cc4cc8a0dbe7917d0a4b5e8357ba91cc47444462"
-+dependencies = [
-+ "fiat-crypto",
-+ "subtle",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "os_info"
-+version = "3.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
-+dependencies = [
-+ "log",
-+ "serde",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "os_str_bytes"
-+version = "6.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
-+
-+[[package]]
-+name = "p384"
-+version = "0.13.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
-+dependencies = [
-+ "ecdsa",
-+ "elliptic-curve",
-+ "primeorder",
-+ "sha2",
-+]
-+
-+[[package]]
-+name = "pasetors"
-+version = "0.6.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ba765699a309908d55950919a3445e9491453e89b2587b1b2abe4143a48894c0"
-+dependencies = [
-+ "ct-codecs",
-+ "ed25519-compact",
-+ "getrandom",
-+ "orion",
-+ "p384",
-+ "rand_core",
-+ "regex",
-+ "serde",
-+ "serde_json",
-+ "sha2",
-+ "subtle",
-+ "time",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "pathdiff"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
-+
-+[[package]]
-+name = "pem-rfc7468"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
-+dependencies = [
-+ "base64ct",
-+]
-+
-+[[package]]
-+name = "percent-encoding"
-+version = "2.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
-+
-+[[package]]
-+name = "pkcs8"
-+version = "0.10.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
-+dependencies = [
-+ "der",
-+ "spki",
-+]
-+
-+[[package]]
-+name = "pkg-config"
-+version = "0.3.27"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-+
-+[[package]]
-+name = "primeorder"
-+version = "0.13.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
-+dependencies = [
-+ "elliptic-curve",
-+]
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.66"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
-+dependencies = [
-+ "unicode-ident",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "1.0.32"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
-+dependencies = [
-+ "proc-macro2",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.6.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-+dependencies = [
-+ "getrandom",
-+]
-+
-+[[package]]
-+name = "rand_xoshiro"
-+version = "0.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
-+dependencies = [
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.3.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-+dependencies = [
-+ "bitflags 1.3.2",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.9.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
-+dependencies = [
-+ "aho-corasick",
-+ "memchr",
-+ "regex-automata",
-+ "regex-syntax",
-+]
-+
-+[[package]]
-+name = "regex-automata"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
-+dependencies = [
-+ "aho-corasick",
-+ "memchr",
-+ "regex-syntax",
-+]
-+
-+[[package]]
-+name = "regex-syntax"
-+version = "0.7.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
-+
-+[[package]]
-+name = "rfc6979"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
-+dependencies = [
-+ "hmac",
-+ "subtle",
-+]
-+
-+[[package]]
-+name = "rustc-workspace-hack"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
-+
-+[[package]]
-+name = "rustfix"
-+version = "0.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
-+dependencies = [
-+ "anyhow",
-+ "log",
-+ "serde",
-+ "serde_json",
-+]
-+
-+[[package]]
-+name = "rustix"
-+version = "0.38.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
-+dependencies = [
-+ "bitflags 2.3.3",
-+ "errno",
-+ "libc",
-+ "linux-raw-sys",
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "ryu"
-+version = "1.0.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
-+
-+[[package]]
-+name = "same-file"
-+version = "1.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-+dependencies = [
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "schannel"
-+version = "0.1.22"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
-+dependencies = [
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "sec1"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
-+dependencies = [
-+ "base16ct",
-+ "der",
-+ "generic-array",
-+ "pkcs8",
-+ "subtle",
-+ "zeroize",
-+]
-+
-+[[package]]
-+name = "semver"
-+version = "1.0.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde"
-+version = "1.0.183"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
-+dependencies = [
-+ "serde_derive",
-+]
-+
-+[[package]]
-+name = "serde-value"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
-+dependencies = [
-+ "ordered-float",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde_derive"
-+version = "1.0.183"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn 2.0.28",
-+]
-+
-+[[package]]
-+name = "serde_ignored"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "80c31d5c53fd39f208e770f5a20a0bb214dee2a8d0d8adba18e19ad95a482ca5"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde_json"
-+version = "1.0.104"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
-+dependencies = [
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde_spanned"
-+version = "0.6.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "sha1"
-+version = "0.10.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-+dependencies = [
-+ "cfg-if",
-+ "cpufeatures",
-+ "digest",
-+]
-+
-+[[package]]
-+name = "sha2"
-+version = "0.10.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
-+dependencies = [
-+ "cfg-if",
-+ "cpufeatures",
-+ "digest",
-+]
-+
-+[[package]]
-+name = "shell-escape"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
-+
-+[[package]]
-+name = "signature"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
-+dependencies = [
-+ "digest",
-+ "rand_core",
-+]
-+
-+[[package]]
-+name = "sized-chunks"
-+version = "0.6.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
-+dependencies = [
-+ "bitmaps",
-+ "typenum",
-+]
-+
-+[[package]]
-+name = "socket2"
-+version = "0.4.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
-+dependencies = [
-+ "libc",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "spki"
-+version = "0.7.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
-+dependencies = [
-+ "base64ct",
-+ "der",
-+]
-+
-+[[package]]
-+name = "static_assertions"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-+
-+[[package]]
-+name = "strip-ansi-escapes"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
-+dependencies = [
-+ "vte",
-+]
-+
-+[[package]]
-+name = "strsim"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
-+
-+[[package]]
-+name = "subtle"
-+version = "2.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
-+
-+[[package]]
-+name = "syn"
-+version = "1.0.109"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-ident",
-+]
-+
-+[[package]]
-+name = "syn"
-+version = "2.0.28"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "unicode-ident",
-+]
-+
-+[[package]]
-+name = "tar"
-+version = "0.4.40"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
-+dependencies = [
-+ "filetime",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.7.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
-+dependencies = [
-+ "cfg-if",
-+ "fastrand",
-+ "redox_syscall",
-+ "rustix",
-+ "windows-sys 0.48.0",
-+]
-+
-+[[package]]
-+name = "termcolor"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
-+dependencies = [
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "textwrap"
-+version = "0.16.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-+
-+[[package]]
-+name = "thread_local"
-+version = "1.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
-+dependencies = [
-+ "cfg-if",
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.3.25"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
-+dependencies = [
-+ "deranged",
-+ "itoa",
-+ "serde",
-+ "time-core",
-+ "time-macros",
-+]
-+
-+[[package]]
-+name = "time-core"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
-+
-+[[package]]
-+name = "time-macros"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
-+dependencies = [
-+ "time-core",
-+]
-+
-+[[package]]
-+name = "tinyvec"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-+dependencies = [
-+ "tinyvec_macros",
-+]
-+
-+[[package]]
-+name = "tinyvec_macros"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-+
-+[[package]]
-+name = "toml"
-+version = "0.5.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "toml"
-+version = "0.7.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
-+dependencies = [
-+ "serde",
-+ "serde_spanned",
-+ "toml_datetime 0.6.3",
-+ "toml_edit 0.19.14",
-+]
-+
-+[[package]]
-+name = "toml_datetime"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "toml_datetime"
-+version = "0.6.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
-+dependencies = [
-+ "serde",
-+]
-+
-+[[package]]
-+name = "toml_edit"
-+version = "0.15.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646"
-+dependencies = [
-+ "combine",
-+ "indexmap 1.9.3",
-+ "itertools",
-+ "kstring",
-+ "serde",
-+ "toml_datetime 0.5.1",
-+]
-+
-+[[package]]
-+name = "toml_edit"
-+version = "0.19.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
-+dependencies = [
-+ "indexmap 2.0.0",
-+ "serde",
-+ "serde_spanned",
-+ "toml_datetime 0.6.3",
-+ "winnow",
-+]
-+
-+[[package]]
-+name = "typenum"
-+version = "1.16.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-+
-+[[package]]
-+name = "unicode-bidi"
-+version = "0.3.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-+
-+[[package]]
-+name = "unicode-ident"
-+version = "1.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
-+
-+[[package]]
-+name = "unicode-normalization"
-+version = "0.1.22"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-+dependencies = [
-+ "tinyvec",
-+]
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-+
-+[[package]]
-+name = "url"
-+version = "2.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
-+dependencies = [
-+ "form_urlencoded",
-+ "idna",
-+ "percent-encoding",
-+]
-+
-+[[package]]
-+name = "utf8parse"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-+
-+[[package]]
-+name = "vcpkg"
-+version = "0.2.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-+
-+[[package]]
-+name = "version_check"
-+version = "0.9.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-+
-+[[package]]
-+name = "vte"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
-+dependencies = [
-+ "arrayvec",
-+ "utf8parse",
-+ "vte_generate_state_changes",
-+]
-+
-+[[package]]
-+name = "vte_generate_state_changes"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+]
-+
-+[[package]]
-+name = "walkdir"
-+version = "2.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
-+dependencies = [
-+ "same-file",
-+ "winapi-util",
-+]
-+
-+[[package]]
-+name = "wasi"
-+version = "0.11.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-+
-+[[package]]
-+name = "wasm-bindgen"
-+version = "0.2.87"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
-+dependencies = [
-+ "cfg-if",
-+ "wasm-bindgen-macro",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-backend"
-+version = "0.2.87"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
-+dependencies = [
-+ "bumpalo",
-+ "log",
-+ "once_cell",
-+ "proc-macro2",
-+ "quote",
-+ "syn 2.0.28",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro"
-+version = "0.2.87"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
-+dependencies = [
-+ "quote",
-+ "wasm-bindgen-macro-support",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-macro-support"
-+version = "0.2.87"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "syn 2.0.28",
-+ "wasm-bindgen-backend",
-+ "wasm-bindgen-shared",
-+]
-+
-+[[package]]
-+name = "wasm-bindgen-shared"
-+version = "0.2.87"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-+dependencies = [
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
-+]
-+
-+[[package]]
-+name = "winapi-i686-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-+
-+[[package]]
-+name = "winapi-util"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-+dependencies = [
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-+
-+[[package]]
-+name = "windows-sys"
-+version = "0.42.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-+dependencies = [
-+ "windows_aarch64_gnullvm 0.42.2",
-+ "windows_aarch64_msvc 0.42.2",
-+ "windows_i686_gnu 0.42.2",
-+ "windows_i686_msvc 0.42.2",
-+ "windows_x86_64_gnu 0.42.2",
-+ "windows_x86_64_gnullvm 0.42.2",
-+ "windows_x86_64_msvc 0.42.2",
-+]
-+
-+[[package]]
-+name = "windows-sys"
-+version = "0.45.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-+dependencies = [
-+ "windows-targets 0.42.2",
-+]
-+
-+[[package]]
-+name = "windows-sys"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-+dependencies = [
-+ "windows-targets 0.48.1",
-+]
-+
-+[[package]]
-+name = "windows-targets"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-+dependencies = [
-+ "windows_aarch64_gnullvm 0.42.2",
-+ "windows_aarch64_msvc 0.42.2",
-+ "windows_i686_gnu 0.42.2",
-+ "windows_i686_msvc 0.42.2",
-+ "windows_x86_64_gnu 0.42.2",
-+ "windows_x86_64_gnullvm 0.42.2",
-+ "windows_x86_64_msvc 0.42.2",
-+]
-+
-+[[package]]
-+name = "windows-targets"
-+version = "0.48.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
-+dependencies = [
-+ "windows_aarch64_gnullvm 0.48.0",
-+ "windows_aarch64_msvc 0.48.0",
-+ "windows_i686_gnu 0.48.0",
-+ "windows_i686_msvc 0.48.0",
-+ "windows_x86_64_gnu 0.48.0",
-+ "windows_x86_64_gnullvm 0.48.0",
-+ "windows_x86_64_msvc 0.48.0",
-+]
-+
-+[[package]]
-+name = "windows_aarch64_gnullvm"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-+
-+[[package]]
-+name = "windows_aarch64_gnullvm"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-+
-+[[package]]
-+name = "windows_aarch64_msvc"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-+
-+[[package]]
-+name = "windows_aarch64_msvc"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-+
-+[[package]]
-+name = "windows_i686_gnu"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-+
-+[[package]]
-+name = "windows_i686_gnu"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-+
-+[[package]]
-+name = "windows_i686_msvc"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-+
-+[[package]]
-+name = "windows_i686_msvc"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-+
-+[[package]]
-+name = "windows_x86_64_gnu"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-+
-+[[package]]
-+name = "windows_x86_64_gnu"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-+
-+[[package]]
-+name = "windows_x86_64_gnullvm"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-+
-+[[package]]
-+name = "windows_x86_64_gnullvm"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-+
-+[[package]]
-+name = "windows_x86_64_msvc"
-+version = "0.42.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-+
-+[[package]]
-+name = "windows_x86_64_msvc"
-+version = "0.48.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-+
-+[[package]]
-+name = "winnow"
-+version = "0.5.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac"
-+dependencies = [
-+ "memchr",
-+]
-+
-+[[package]]
-+name = "zeroize"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
---
-2.34.1
-
diff --git a/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-v175.patch b/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-v175.patch
index 6840baf..fe0507c 100644
--- a/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-v175.patch
+++ b/poky/meta/recipes-devtools/rust/files/repro-issue-fix-with-v175.patch
@@ -1,23 +1,36 @@
 rust: reproducibility issue fix with v1.75
 
-With 1.75 rust release, the '.rustc' section of shared object libs are embedded with absolute path names which is casuing reproducibiluty issues.
+With 1.75 rust release, the '.rustc' section of shared object libs are embedded with absolute path names which is casuing reproducibility issues.
 This change will fix the path name format back to '/rust/$hash' as in earlier versions.
 
 Below are the links for detailed bug description & discusssion with upstream rust.
 https://github.com/rust-lang/rust/issues/120825#issuecomment-1964307219
 https://github.com/rust-lang/rust/issues/120825#issuecomment-1964652656
 
-Upstream-Status: Inappropriate [patches need rework]
+Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/121959/commits/a9a979839bbdfec48c75d618ab0dce8a953589b8]
 Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
 ---
---- a/compiler/rustc_session/src/session.rs	2023-12-21 08:55:28.000000000 -0800
-+++ b/compiler/rustc_session/src/session.rs	2024-02-26 07:29:15.527577022 -0800
-@@ -1269,7 +1269,7 @@
-                 | CrateType::Rlib
-                 | CrateType::Staticlib
-                 | CrateType::Cdylib => continue,
+--- a/compiler/rustc_session/src/session.rs     2023-12-21 08:55:28.000000000 -0800
++++ b/compiler/rustc_session/src/session.rs     2024-02-26 07:29:15.527577022 -0800
+@@ -1260,19 +1260,6 @@
+     }
+
+     pub fn should_prefer_remapped_for_codegen(&self) -> bool {
+-        // bail out, if any of the requested crate types aren't:
+-        // "compiled executables or libraries"
+-        for crate_type in &self.opts.crate_types {
+-            match crate_type {
+-                CrateType::Executable
+-                | CrateType::Dylib
+-                | CrateType::Rlib
+-                | CrateType::Staticlib
+-                | CrateType::Cdylib => continue,
 -                CrateType::ProcMacro => return false,
-+                CrateType::ProcMacro => return true,
-             }
-         }
- 
+-            }
+-        }
+-
+         let has_split_debuginfo = match self.split_debuginfo() {
+             SplitDebuginfo::Off => false,
+             SplitDebuginfo::Packed => true,
+
+
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
index 87e025f..a403a74 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -3,19 +3,27 @@
 # clock.test needs a timezone to be set
 export TZ="Europe/London"
 export TCL_LIBRARY=library
+export ERROR_ON_FAILURES=1
 
 # Some tests are overly strict with timings and fail on loaded systems.
-# See bugs #14825 #14882 #15081 #15321.
-SKIPPED_TESTS='async-* cmdMZ-6.6 event-* exit-1.* socket-* socket_inet-*'
+SKIP=""
+# 15321
+SKIP="$SKIP async-\* event-\*"
+# 14882
+SKIP="$SKIP cmdMZ-6.6"
+# 15081
+SKIP="$SKIP exit-1.\*"
+# 15407 15421
+SKIP="$SKIP \*io-46.1"
+# 14825
+SKIP="$SKIP socket-\* socket_inet-\*"
 
-for i in `ls tests/*.test | awk -F/ '{print $2}'`; do
-    ./tcltest tests/all.tcl -file $i -skip "$SKIPPED_TESTS" >$i.log 2>&1
-    grep -q -F -e "Files with failing tests:" -e "Test files exiting with errors:" $i.log
+for i in tests/*.test; do
+    i=$(basename $i)
+    ./tcltest tests/all.tcl -file $i -skip "$SKIP"
     if [ $? -eq 0 ]; then
-        echo "FAIL: $i"
-        cat $i.log
-    else
         echo "PASS: $i"
+    else
+        echo "FAIL: $i"
     fi
-    rm -f $i.log
 done
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
index bb75353..06bf900 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
@@ -88,7 +88,7 @@
 
 do_install_ptest:append:libc-musl () {
 	# Assumes locales other than provided by musl-locales
-	sed -i -e "s|SKIPPED_TESTS='|SKIPPED_TESTS='unixInit-3* |" ${D}${PTEST_PATH}/run-ptest
+	sed -i '/SKIP="$SKIP socket.*$/a # unixInit-3* is suppressed due to hardcoded locale assumptions\nSKIP="$SKIP unixInit-3\\\*"' ${D}${PTEST_PATH}/run-ptest
 }
 
 # Fix some paths that might be used by Tcl extensions
diff --git a/poky/meta/recipes-devtools/vala/vala.inc b/poky/meta/recipes-devtools/vala/vala.inc
deleted file mode 100644
index 0177e86..0000000
--- a/poky/meta/recipes-devtools/vala/vala.inc
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "C#-like programming language for easing GObject programming"
-HOMEPAGE = "http://vala-project.org"
-DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. \
-Vala compiles to plain C and has no runtime environment nor penalities whatsoever."
-SECTION = "devel"
-DEPENDS = "bison-native flex-native glib-2.0 gobject-introspection"
-
-# Appending libxslt-native to dependencies has an effect
-# of rebuilding the manual, which is very slow. Let's do this
-# only when api-documentation distro feature is enabled.
-DEPENDS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'libxslt-native', '', d)}"
-
-# vala-native contains a native version of vapigen, which we use instead of the target one
-DEPENDS:append:class-target = " vala-native"
-BBCLASSEXTEND = "native"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz"
-inherit autotools pkgconfig upstream-version-is-even
-
-FILES:${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
-FILES:${PN}-doc += "${datadir}/devhelp"
-
-# .gir files from gobject-introspection are installed to ${libdir} when multilib is enabled
-GIRDIR_OPT = "${@'--girdir=${STAGING_LIBDIR}/gir-1.0' if d.getVar('MULTILIBS') else ''}"
-
-do_configure:prepend:class-target() {
-        # Write out a vapigen wrapper that will be provided by pkg-config file installed in target sysroot
-        # The wrapper will call a native vapigen
-        cat > ${B}/vapigen-wrapper << EOF
-#!/bin/sh
-vapigen-${SHRT_VER} ${GIRDIR_OPT} "\$@"
-EOF
-        chmod +x ${B}/vapigen-wrapper
-}
-
-EXTRA_OECONF += " --disable-valadoc"
-
-# Vapigen wrapper needs to be available system-wide, because it will be used
-# to build vapi files from all other packages with vala support
-do_install:append:class-target() {
-        install -d ${D}${bindir_crossscripts}/
-        install ${B}/vapigen-wrapper ${D}${bindir_crossscripts}/
-}
-
-# Put vapigen wrapper into target sysroot so that it can be used when building
-# vapi files.
-SYSROOT_DIRS += "${bindir_crossscripts}"
-
-inherit multilib_script
-MULTILIB_SCRIPTS = "${PN}:${bindir}/vala-gen-introspect-0.56"
-
-SYSROOT_PREPROCESS_FUNCS:append:class-target = " vapigen_sysroot_preprocess"
-vapigen_sysroot_preprocess() {
-        # Tweak the vapigen name in the vapigen pkgconfig file, so that it picks
-        # up our wrapper.
-        sed -i \
-           -e "s|vapigen=.*|vapigen=${bindir_crossscripts}/vapigen-wrapper|" \
-           ${SYSROOT_DESTDIR}${libdir}/pkgconfig/vapigen-${SHRT_VER}.pc
-}
-
-SSTATE_SCAN_FILES += "vapigen-wrapper"
-
-PACKAGE_PREPROCESS_FUNCS += "vala_package_preprocess"
-
-vala_package_preprocess () {
-	rm -rf ${PKGD}${bindir_crossscripts}
-}
diff --git a/poky/meta/recipes-devtools/vala/vala/0001-gtk4-Preserve-compatibility-with-4.14.patch b/poky/meta/recipes-devtools/vala/vala/0001-gtk4-Preserve-compatibility-with-4.14.patch
new file mode 100644
index 0000000..1614740
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala/0001-gtk4-Preserve-compatibility-with-4.14.patch
@@ -0,0 +1,39 @@
+From 17349020fb95454d06f827fd555b05248f10a370 Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Thu, 7 Mar 2024 17:56:05 +0100
+Subject: [PATCH] gtk4: Preserve compatibility with < 4.14
+
+Don't prefer new accessor methods for Calendar.day/month/year
+
+Fixes https://gitlab.gnome.org/GNOME/vala/issues/1531
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/vala/-/commit/e0c4ea8c4a0bbf859b5341a7465b395892789d9e]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ vapi/gtk4.vapi                 | 3 +++
+ vapi/metadata/Gtk-4.0.metadata | 5 +++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/vapi/gtk4.vapi b/vapi/gtk4.vapi
+index 49f8b2078..51ecea27d 100644
+--- a/vapi/gtk4.vapi
++++ b/vapi/gtk4.vapi
+@@ -7350,11 +7350,14 @@ namespace Gtk {
+ 		[Version (since = "4.14")]
+ 		public void set_year (int year);
+ 		public void unmark_day (uint day);
++		[NoAccessorMethod]
+ 		public int day { get; set; }
++		[NoAccessorMethod]
+ 		public int month { get; set; }
+ 		public bool show_day_names { get; set; }
+ 		public bool show_heading { get; set; }
+ 		public bool show_week_numbers { get; set; }
++		[NoAccessorMethod]
+ 		public int year { get; set; }
+ 		public signal void day_selected ();
+ 		public signal void next_month ();
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.15.bb b/poky/meta/recipes-devtools/vala/vala_0.56.15.bb
index dc483b1..915ddd8 100644
--- a/poky/meta/recipes-devtools/vala/vala_0.56.15.bb
+++ b/poky/meta/recipes-devtools/vala/vala_0.56.15.bb
@@ -1,3 +1,76 @@
-require ${BPN}.inc
+SUMMARY = "C#-like programming language for easing GObject programming"
+HOMEPAGE = "http://vala-project.org"
+DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. \
+Vala compiles to plain C and has no runtime environment nor penalities whatsoever."
+SECTION = "devel"
+DEPENDS = "bison-native flex-native glib-2.0 gobject-introspection"
 
+# Appending libxslt-native to dependencies has an effect
+# of rebuilding the manual, which is very slow. Let's do this
+# only when api-documentation distro feature is enabled.
+DEPENDS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'libxslt-native', '', d)}"
+
+# vala-native contains a native version of vapigen, which we use instead of the target one
+DEPENDS:append:class-target = " vala-native"
+BBCLASSEXTEND = "native"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = " \
+	http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz \
+	file://0001-gtk4-Preserve-compatibility-with-4.14.patch \
+"
 SRC_URI[sha256sum] = "535b6452ed310fd5fb5c7dd6794b6213dac3b48e645e5bff3173741ec2cb3f2b"
+
+inherit autotools pkgconfig upstream-version-is-even
+
+FILES:${PN} += "${datadir}/${BPN}-${SHRT_VER}/vapi ${libdir}/${BPN}-${SHRT_VER}/"
+FILES:${PN}-doc += "${datadir}/devhelp"
+
+# .gir files from gobject-introspection are installed to ${libdir} when multilib is enabled
+GIRDIR_OPT = "${@'--girdir=${STAGING_LIBDIR}/gir-1.0' if d.getVar('MULTILIBS') else ''}"
+
+do_configure:prepend:class-target() {
+        # Write out a vapigen wrapper that will be provided by pkg-config file installed in target sysroot
+        # The wrapper will call a native vapigen
+        cat > ${B}/vapigen-wrapper << EOF
+#!/bin/sh
+vapigen-${SHRT_VER} ${GIRDIR_OPT} "\$@"
+EOF
+        chmod +x ${B}/vapigen-wrapper
+}
+
+EXTRA_OECONF += " --disable-valadoc"
+
+# Vapigen wrapper needs to be available system-wide, because it will be used
+# to build vapi files from all other packages with vala support
+do_install:append:class-target() {
+        install -d ${D}${bindir_crossscripts}/
+        install ${B}/vapigen-wrapper ${D}${bindir_crossscripts}/
+}
+
+# Put vapigen wrapper into target sysroot so that it can be used when building
+# vapi files.
+SYSROOT_DIRS += "${bindir_crossscripts}"
+
+inherit multilib_script
+MULTILIB_SCRIPTS = "${PN}:${bindir}/vala-gen-introspect-0.56"
+
+SYSROOT_PREPROCESS_FUNCS:append:class-target = " vapigen_sysroot_preprocess"
+vapigen_sysroot_preprocess() {
+        # Tweak the vapigen name in the vapigen pkgconfig file, so that it picks
+        # up our wrapper.
+        sed -i \
+           -e "s|vapigen=.*|vapigen=${bindir_crossscripts}/vapigen-wrapper|" \
+           ${SYSROOT_DESTDIR}${libdir}/pkgconfig/vapigen-${SHRT_VER}.pc
+}
+
+SSTATE_SCAN_FILES += "vapigen-wrapper"
+
+PACKAGE_PREPROCESS_FUNCS += "vala_package_preprocess"
+
+vala_package_preprocess () {
+	rm -rf ${PKGD}${bindir_crossscripts}
+}
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch
new file mode 100644
index 0000000..80a8e3a
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch
@@ -0,0 +1,64 @@
+From 027b649fdb831868e71be01cafdacc49a5f419ab Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mark@klomp.org>
+Date: Fri, 17 Nov 2023 14:01:21 +0100
+Subject: [PATCH 1/4] valgrind-monitor.py regular expressions should use raw
+ strings
+
+With python 3.12 gdb will produce the following SyntaxWarning when
+loading valgrind-monitor-def.py:
+
+  /usr/share/gdb/auto-load/valgrind-monitor-def.py:214:
+  SyntaxWarning: invalid escape sequence '\['
+    if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str):
+
+In a future python version this will become an SyntaxError.
+
+Use a raw strings for the regular expression.
+
+https://bugs.kde.org/show_bug.cgi?id=476708
+(cherry picked from commit 0fbfbe05028ad18efda786a256a2738d2c231ed4)
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=027b649fdb831868e71be01cafdacc49a5f419ab]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS                                          | 13 +++++++++++++
+ coregrind/m_gdbserver/valgrind-monitor-def.py |  2 +-
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/NEWS b/NEWS
+index f11da4be8..ee5b4ff11 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,16 @@
++Branch 3.22
++~~~~~~~~~~~
++
++* ==================== FIXED BUGS ====================
++
++The following bugs have been fixed or resolved on this branch.
++
++476708  valgrind-monitor.py regular expressions should use raw strings
++
++To see details of a given bug, visit
++  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
++where XXXXXX is the bug number as listed above.
++
+ Release 3.22.0 (31 Oct 2023)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 
+diff --git a/coregrind/m_gdbserver/valgrind-monitor-def.py b/coregrind/m_gdbserver/valgrind-monitor-def.py
+index b4e7b992d..d74b1590c 100644
+--- a/coregrind/m_gdbserver/valgrind-monitor-def.py
++++ b/coregrind/m_gdbserver/valgrind-monitor-def.py
+@@ -211,7 +211,7 @@ class Valgrind_ADDR_LEN_opt(Valgrind_Command):
+ For compatibility reason with the Valgrind gdbserver monitor command,
+ we detect and accept usages such as 0x1234ABCD[10]."""
+     def invoke(self, arg_str : str, from_tty : bool) -> None:
+-        if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str):
++        if re.fullmatch(r"^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str):
+             arg_str = arg_str.replace("[", " ")
+             arg_str = arg_str.replace("]", " ")
+         eval_execute_2(self, arg_str,
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch
new file mode 100644
index 0000000..5759fa0
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch
@@ -0,0 +1,147 @@
+From 1d00e5ce0fb069911c4b525ec38289fb5d9021b0 Mon Sep 17 00:00:00 2001
+From: Paul Floyd <pjfloyd@wanadoo.fr>
+Date: Sat, 18 Nov 2023 08:49:34 +0100
+Subject: [PATCH 2/4] Bug 476548 - valgrind 3.22.0 fails on assertion when
+ loading debuginfo file produced by mold
+
+(cherry picked from commit 9ea4ae66707a4dcc6f4328e11911652e4418c585)
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=1d00e5ce0fb069911c4b525ec38289fb5d9021b0]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS                               |  2 ++
+ coregrind/m_debuginfo/image.c      | 14 +++++++++
+ coregrind/m_debuginfo/priv_image.h |  4 +++
+ coregrind/m_debuginfo/readelf.c    | 49 ++++++++++++++++++++++++++++--
+ 4 files changed, 66 insertions(+), 3 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index ee5b4ff11..6cd13429a 100644
+--- a/NEWS
++++ b/NEWS
+@@ -5,6 +5,8 @@ Branch 3.22
+ 
+ The following bugs have been fixed or resolved on this branch.
+ 
++476548  valgrind 3.22.0 fails on assertion when loading debuginfo
++        file produced by mold
+ 476708  valgrind-monitor.py regular expressions should use raw strings
+ 
+ To see details of a given bug, visit
+diff --git a/coregrind/m_debuginfo/image.c b/coregrind/m_debuginfo/image.c
+index 02e509071..445f95555 100644
+--- a/coregrind/m_debuginfo/image.c
++++ b/coregrind/m_debuginfo/image.c
+@@ -1221,6 +1221,20 @@ Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2)
+    }
+ }
+ 
++Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n)
++{
++   ensure_valid(img, off1, 1, "ML_(img_strcmp_c)");
++   while (n) {
++      UChar c1 = get(img, off1);
++      UChar c2 = *(const UChar*)str2;
++      if (c1 < c2) return -1;
++      if (c1 > c2) return 1;
++      if (c1 == 0) return 0;
++      off1++; str2++; --n;
++   }
++   return 0;
++}
++
+ UChar ML_(img_get_UChar)(DiImage* img, DiOffT offset)
+ {
+    ensure_valid(img, offset, 1, "ML_(img_get_UChar)");
+diff --git a/coregrind/m_debuginfo/priv_image.h b/coregrind/m_debuginfo/priv_image.h
+index a49846f14..c91e49f01 100644
+--- a/coregrind/m_debuginfo/priv_image.h
++++ b/coregrind/m_debuginfo/priv_image.h
+@@ -115,6 +115,10 @@ Int ML_(img_strcmp)(DiImage* img, DiOffT off1, DiOffT off2);
+    cast to HChar before comparison. */
+ Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2);
+ 
++/* Do strncmp of a C string in the image vs a normal one.  Chars are
++   cast to HChar before comparison. */
++Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n);
++
+ /* Do strlen of a C string in the image. */
+ SizeT ML_(img_strlen)(DiImage* img, DiOffT off);
+ 
+diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
+index fb64ed976..46f8c8343 100644
+--- a/coregrind/m_debuginfo/readelf.c
++++ b/coregrind/m_debuginfo/readelf.c
+@@ -2501,8 +2501,7 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di )
+             di->rodata_avma += inrw1->bias;
+             di->rodata_bias = inrw1->bias;
+             di->rodata_debug_bias = inrw1->bias;
+-         }
+-         else {
++         } else {
+             BAD(".rodata");  /* should not happen? */
+          }
+          di->rodata_present = True;
+@@ -2977,6 +2976,46 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di )
+    return retval;
+ }
+ 
++static void find_rodata(Word i, Word shnum, DiImage* dimg, struct _DebugInfo* di, DiOffT shdr_dioff,
++                        UWord shdr_dent_szB, DiOffT shdr_strtab_dioff, PtrdiffT rw_dbias)
++{
++   ElfXX_Shdr a_shdr;
++   ElfXX_Shdr a_extra_shdr;
++   ML_(img_get)(&a_shdr, dimg,
++                INDEX_BIS(shdr_dioff, i, shdr_dent_szB),
++                sizeof(a_shdr));
++   if (di->rodata_present &&
++       0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff
++                                    + a_shdr.sh_name, ".rodata")) {
++      Word sh_size = a_shdr.sh_size;
++      Word j;
++      Word next_addr = a_shdr.sh_addr + a_shdr.sh_size;
++      for (j = i  + 1; j < shnum; ++j) {
++         ML_(img_get)(&a_extra_shdr, dimg,
++                      INDEX_BIS(shdr_dioff, j, shdr_dent_szB),
++                      sizeof(a_shdr));
++         if (0 == ML_(img_strcmp_n)(dimg, shdr_strtab_dioff
++                                             + a_extra_shdr.sh_name, ".rodata", 7)) {
++            if (a_extra_shdr.sh_addr ==
++                VG_ROUNDUP(next_addr, a_extra_shdr.sh_addralign)) {
++               sh_size = VG_ROUNDUP(sh_size, a_extra_shdr.sh_addralign) + a_extra_shdr.sh_size;
++            }
++            next_addr = a_extra_shdr.sh_addr + a_extra_shdr.sh_size;
++         } else {
++            break;
++         }
++      }
++      vg_assert(di->rodata_size == sh_size);
++      vg_assert(di->rodata_avma +  a_shdr.sh_addr + rw_dbias);
++      di->rodata_debug_svma = a_shdr.sh_addr;
++      di->rodata_debug_bias = di->rodata_bias +
++                             di->rodata_svma - di->rodata_debug_svma;
++      TRACE_SYMTAB("acquiring .rodata  debug svma = %#lx .. %#lx\n",
++                   di->rodata_debug_svma,
++                   di->rodata_debug_svma + di->rodata_size - 1);
++      TRACE_SYMTAB("acquiring .rodata debug bias = %#lx\n", (UWord)di->rodata_debug_bias);
++   }
++}
+ Bool ML_(read_elf_debug) ( struct _DebugInfo* di )
+ {
+    Word     i, j;
+@@ -3391,7 +3430,11 @@ Bool ML_(read_elf_debug) ( struct _DebugInfo* di )
+             FIND(text,   rx)
+             FIND(data,   rw)
+             FIND(sdata,  rw)
+-            FIND(rodata, rw)
++            // https://bugs.kde.org/show_bug.cgi?id=476548
++            // special handling for rodata as adjacent
++            // rodata sections may have been merged in ML_(read_elf_object)
++            //FIND(rodata, rw)
++            find_rodata(i, ehdr_dimg.e_shnum, dimg, di, shdr_dioff, shdr_dent_szB, shdr_strtab_dioff, rw_dbias);
+             FIND(bss,    rw)
+             FIND(sbss,   rw)
+ 
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch
new file mode 100644
index 0000000..2a09ca5
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch
@@ -0,0 +1,221 @@
+From a43e62dddcf51ec6578a90c5988a41e856b44b05 Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mark@klomp.org>
+Date: Sat, 18 Nov 2023 21:17:02 +0100
+Subject: [PATCH 3/4] Add fchmodat2 syscall on linux
+
+fchmodat2 is a new syscall on linux 6.6. It is a variant of fchmodat
+that takes an extra flags argument.
+
+https://bugs.kde.org/show_bug.cgi?id=477198
+
+(cherry picked from commit 372d09fd9a8d76847c81092ebff71c80fd6c145d)
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=a43e62dddcf51ec6578a90c5988a41e856b44b05]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ NEWS                                         |  1 +
+ coregrind/m_syswrap/priv_syswrap-linux.h     |  3 +++
+ coregrind/m_syswrap/syswrap-amd64-linux.c    |  2 ++
+ coregrind/m_syswrap/syswrap-arm-linux.c      |  2 ++
+ coregrind/m_syswrap/syswrap-arm64-linux.c    |  2 ++
+ coregrind/m_syswrap/syswrap-linux.c          | 11 +++++++++++
+ coregrind/m_syswrap/syswrap-mips32-linux.c   |  2 ++
+ coregrind/m_syswrap/syswrap-mips64-linux.c   |  1 +
+ coregrind/m_syswrap/syswrap-nanomips-linux.c |  1 +
+ coregrind/m_syswrap/syswrap-ppc32-linux.c    |  2 ++
+ coregrind/m_syswrap/syswrap-ppc64-linux.c    |  2 ++
+ coregrind/m_syswrap/syswrap-s390x-linux.c    |  2 ++
+ coregrind/m_syswrap/syswrap-x86-linux.c      |  2 ++
+ include/vki/vki-scnums-shared-linux.h        |  2 ++
+ 14 files changed, 35 insertions(+)
+
+diff --git a/NEWS b/NEWS
+index 6cd13429a..da0f8c1aa 100644
+--- a/NEWS
++++ b/NEWS
+@@ -8,6 +8,7 @@ The following bugs have been fixed or resolved on this branch.
+ 476548  valgrind 3.22.0 fails on assertion when loading debuginfo
+         file produced by mold
+ 476708  valgrind-monitor.py regular expressions should use raw strings
++477198  Add fchmodat2 syscall on linux
+ 
+ To see details of a given bug, visit
+   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h
+index 7c9decf5a..798c456c9 100644
+--- a/coregrind/m_syswrap/priv_syswrap-linux.h
++++ b/coregrind/m_syswrap/priv_syswrap-linux.h
+@@ -331,6 +331,9 @@ DECL_TEMPLATE(linux, sys_openat2);
+ // Linux-specific (new in Linux 5.14)
+ DECL_TEMPLATE(linux, sys_memfd_secret);
+ 
++// Since Linux 6.6
++DECL_TEMPLATE(linux, sys_fchmodat2);
++
+ /* ---------------------------------------------------------------------
+    Wrappers for sockets and ipc-ery.  These are split into standalone
+    procedures because x86-linux hides them inside multiplexors
+diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
+index 008600798..fe17d118b 100644
+--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
++++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
+@@ -886,6 +886,8 @@ static SyscallTableEntry syscall_table[] = {
+    LINXY(__NR_epoll_pwait2,      sys_epoll_pwait2),      // 441
+ 
+    LINXY(__NR_memfd_secret,      sys_memfd_secret),      // 447
++
++   LINX_(__NR_fchmodat2,         sys_fchmodat2),         // 452
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
+diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
+index 9a7a1e0d2..811931d3b 100644
+--- a/coregrind/m_syswrap/syswrap-arm-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm-linux.c
+@@ -1059,6 +1059,8 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINX_(__NR_faccessat2,    sys_faccessat2),           // 439
+ 
+    LINXY(__NR_epoll_pwait2,      sys_epoll_pwait2),      // 441
++
++   LINX_(__NR_fchmodat2,         sys_fchmodat2),         // 452
+ };
+ 
+ 
+diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
+index 6af7bab83..3307bc2ca 100644
+--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
+@@ -840,6 +840,8 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINXY(__NR_epoll_pwait2,      sys_epoll_pwait2),      // 441
+ 
+    LINXY(__NR_memfd_secret,      sys_memfd_secret),      // 447
++
++   LINX_(__NR_fchmodat2,         sys_fchmodat2),         // 452
+ };
+ 
+ 
+diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
+index d571fc327..efa47f2e6 100644
+--- a/coregrind/m_syswrap/syswrap-linux.c
++++ b/coregrind/m_syswrap/syswrap-linux.c
+@@ -6059,6 +6059,17 @@ PRE(sys_fchmodat)
+    PRE_MEM_RASCIIZ( "fchmodat(path)", ARG2 );
+ }
+ 
++PRE(sys_fchmodat2)
++{
++   PRINT("sys_fchmodat2 ( %ld, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u, %"
++	  FMT_REGWORD "u )",
++         SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4);
++   PRE_REG_READ4(long, "fchmodat2",
++                 int, dfd, const char *, path, vki_mode_t, mode,
++                 unsigned int, flags);
++   PRE_MEM_RASCIIZ( "fchmodat2(pathname)", ARG2 );
++}
++
+ PRE(sys_faccessat)
+ {
+    PRINT("sys_faccessat ( %ld, %#" FMT_REGWORD "x(%s), %ld )",
+diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c
+index 6268a00dd..74a1f6eac 100644
+--- a/coregrind/m_syswrap/syswrap-mips32-linux.c
++++ b/coregrind/m_syswrap/syswrap-mips32-linux.c
+@@ -1143,6 +1143,8 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINX_ (__NR_faccessat2,             sys_faccessat2),              // 439
+ 
+    LINXY(__NR_epoll_pwait2,      sys_epoll_pwait2),      // 441
++
++   LINX_(__NR_fchmodat2,               sys_fchmodat2),               // 452
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno)
+diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
+index 6cdf25893..4e8508b7a 100644
+--- a/coregrind/m_syswrap/syswrap-mips64-linux.c
++++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
+@@ -820,6 +820,7 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINXY (__NR_close_range, sys_close_range),
+    LINX_ (__NR_faccessat2, sys_faccessat2),
+    LINXY(__NR_epoll_pwait2, sys_epoll_pwait2),
++   LINX_ (__NR_fchmodat2, sys_fchmodat2),
+ };
+ 
+ SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno )
+diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c
+index d724cde74..7859900c1 100644
+--- a/coregrind/m_syswrap/syswrap-nanomips-linux.c
++++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c
+@@ -829,6 +829,7 @@ static SyscallTableEntry syscall_main_table[] = {
+    LINXY (__NR_close_range,            sys_close_range),
+    LINX_ (__NR_faccessat2,             sys_faccessat2),
+    LINXY (__NR_epoll_pwait2,           sys_epoll_pwait2),
++   LINX_ (__NR_fchmodat2,              sys_fchmodat2),
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno)
+diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
+index c0cfef235..1e19116ee 100644
+--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
++++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
+@@ -1063,6 +1063,8 @@ static SyscallTableEntry syscall_table[] = {
+    LINX_(__NR_faccessat2,        sys_faccessat2),       // 439
+ 
+    LINXY (__NR_epoll_pwait2,     sys_epoll_pwait2),      // 441
++
++   LINX_ (__NR_fchmodat2,        sys_fchmodat2),         // 452
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
+diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
+index f5976f30c..1097212a4 100644
+--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
++++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
+@@ -1032,6 +1032,8 @@ static SyscallTableEntry syscall_table[] = {
+    LINX_(__NR_faccessat2,        sys_faccessat2),       // 439
+ 
+    LINXY (__NR_epoll_pwait2,     sys_epoll_pwait2),      // 441
++
++   LINX_ (__NR_fchmodat2,        sys_fchmodat2),         // 452
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
+diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
+index afba154e7..3588672c7 100644
+--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
++++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
+@@ -873,6 +873,8 @@ static SyscallTableEntry syscall_table[] = {
+    LINX_(__NR_faccessat2,  sys_faccessat2),                           // 439
+ 
+    LINXY(__NR_epoll_pwait2, sys_epoll_pwait2),                        // 441
++
++   LINX_ (__NR_fchmodat2, sys_fchmodat2),                             // 452
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
+diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
+index da4fd8fa2..58badc6b0 100644
+--- a/coregrind/m_syswrap/syswrap-x86-linux.c
++++ b/coregrind/m_syswrap/syswrap-x86-linux.c
+@@ -1658,6 +1658,8 @@ static SyscallTableEntry syscall_table[] = {
+    LINXY(__NR_epoll_pwait2,      sys_epoll_pwait2),     // 441
+ 
+    LINXY(__NR_memfd_secret,      sys_memfd_secret),      // 447
++
++   LINX_(__NR_fchmodat2,         sys_fchmodat2),         // 452
+ };
+ 
+ SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno )
+diff --git a/include/vki/vki-scnums-shared-linux.h b/include/vki/vki-scnums-shared-linux.h
+index 542382b53..a4cd87149 100644
+--- a/include/vki/vki-scnums-shared-linux.h
++++ b/include/vki/vki-scnums-shared-linux.h
+@@ -50,4 +50,6 @@
+ 
+ #define __NR_memfd_secret		447
+ 
++#define __NR_fchmodat2		452
++
+ #endif
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch b/poky/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch
new file mode 100644
index 0000000..4e91855
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch
@@ -0,0 +1,137 @@
+From 41ff9aa49f6c54c66d0e6b37f265fd9cb0176057 Mon Sep 17 00:00:00 2001
+From: Paul Floyd <pjfloyd@wanadoo.fr>
+Date: Sun, 17 Dec 2023 14:18:51 +0100
+Subject: [PATCH 4/4] Bug 478624 - Valgrind incompatibility with binutils-2.42
+ on x86 with new nop patterns (unhandled instruction bytes: 0x2E 0x8D 0xB4
+ 0x26)
+
+It was a bit of a struggle to get the testcase to build
+with both clang and gcc (oddly enough gcc was more difficult) so
+I just resorted to using .byte arrays.
+
+(cherry picked from commit d35005cef8ad8207542738812705ceabf137d7e0)
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=41ff9aa49f6c54c66d0e6b37f265fd9cb0176057]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .gitignore                                 |  1 +
+ NEWS                                       |  2 ++
+ VEX/priv/guest_x86_toIR.c                  | 22 +++++++++++++-
+ none/tests/x86/Makefile.am                 |  2 ++
+ none/tests/x86/gnu_binutils_nop.c          | 34 ++++++++++++++++++++++
+ none/tests/x86/gnu_binutils_nop.stderr.exp |  0
+ none/tests/x86/gnu_binutils_nop.vgtest     |  2 ++
+ 7 files changed, 62 insertions(+), 1 deletion(-)
+ create mode 100644 none/tests/x86/gnu_binutils_nop.c
+ create mode 100644 none/tests/x86/gnu_binutils_nop.stderr.exp
+ create mode 100644 none/tests/x86/gnu_binutils_nop.vgtest
+
+--- a/NEWS
++++ b/NEWS
+@@ -9,6 +9,8 @@ The following bugs have been fixed or re
+         file produced by mold
+ 476708  valgrind-monitor.py regular expressions should use raw strings
+ 477198  Add fchmodat2 syscall on linux
++478624  Valgrind incompatibility with binutils-2.42 on x86 with new nop patterns
++        (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26)
+ 
+ To see details of a given bug, visit
+   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+--- a/VEX/priv/guest_x86_toIR.c
++++ b/VEX/priv/guest_x86_toIR.c
+@@ -8198,7 +8198,7 @@ DisResult disInstr_X86_WRK (
+          delta += 5;
+          goto decode_success;
+       }
+-      /* Don't barf on recent binutils padding,
++      /* Don't barf on recent (2010) binutils padding,
+          all variants of which are: nopw %cs:0x0(%eax,%eax,1)
+          66 2e 0f 1f 84 00 00 00 00 00
+          66 66 2e 0f 1f 84 00 00 00 00 00
+@@ -8222,6 +8222,26 @@ DisResult disInstr_X86_WRK (
+             goto decode_success;
+          }
+       }
++
++      /* bug478624 GNU binutils uses a leal of esi into itself with
++         a zero offset and CS prefix as an 8 byte no-op (Dec 2023).
++         Since the CS prefix is hardly ever used we don't do much
++         to decode it, just a few cases for conditional branches.
++         So add handling here with other pseudo-no-ops.
++       */
++      if (code[0] == 0x2E && code[1] == 0x8D) {
++         if (code[2] == 0x74 && code[3] == 0x26 && code[4] == 0x00) {
++            DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n");
++            delta += 5;
++            goto decode_success;
++         }
++         if (code[2] == 0xB4 && code[3] == 0x26 && code[4] == 0x00
++             && code[5] == 0x00 && code[6] == 0x00 && code[7] == 0x00) {
++            DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n");
++            delta += 8;
++            goto decode_success;
++         }
++      }
+ 
+       // Intel CET requires the following opcodes to be treated as NOPs
+       // with any prefix and ModRM, SIB and disp combination:
+--- a/none/tests/x86/Makefile.am
++++ b/none/tests/x86/Makefile.am
+@@ -52,6 +52,7 @@ EXTRA_DIST = \
+ 	fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
+ 	fxtract.stdout.exp-older-glibc \
+ 	getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
++	gnu_binutils_nop.stderr.exp gnu_binutils_nop.vgtest \
+ 	incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \
+ 	int.stderr.exp int.stdout.exp int.disabled \
+ 	$(addsuffix .stderr.exp,$(INSN_TESTS)) \
+@@ -100,6 +101,7 @@ check_PROGRAMS = \
+ 	fpu_lazy_eflags \
+ 	fxtract \
+ 	getseg \
++	gnu_binutils_nop \
+ 	incdec_alt \
+ 	$(INSN_TESTS) \
+ 	int \
+--- /dev/null
++++ b/none/tests/x86/gnu_binutils_nop.c
+@@ -0,0 +1,34 @@
++int main(void)
++{
++    // GNU binutils uses various opcodes as alternatives for nop
++    // the idea is that it is faster to execute one large opcode
++    // with no side-effects than multiple repetitions of the
++    // single byte 'nop'. This gives more choice when code
++    // needs to be padded.
++   
++   // the following is based on
++   // https://sourceware.org/cgit/binutils-gdb/tree/gas/config/tc-i386.c#n1256
++
++    // one byte
++    __asm__ __volatile__("nop");
++    // two bytes
++    __asm__ __volatile__("xchg %ax,%ax");
++    // three bytes
++    //__asm__ __volatile__("leal 0(%esi),%esi");
++    __asm__ __volatile__(".byte 0x8d,0x76,0x00");
++    // four bytes
++    //__asm__ __volatile__("leal 0(%esi,%eiz),%esi");
++    __asm__ __volatile__(".byte 0x8d,0x74,0x26,0x00");
++    // five bytes
++    //__asm__ __volatile__("leal %cs:0(%esi,%eiz),%esi");
++    __asm__ __volatile__(".byte 0x2e,0x8d,0x74,0x26,0x00");
++    // six bytes
++    //__asm__ __volatile__("leal 0L(%esi),%esi");
++    __asm__ __volatile__(".byte 0x8d,0xb6,0x00,0x00,0x00,0x00");
++    // seven bytes
++    //__asm__ __volatile__("leal 0L(%esi,%eiz),%esi");
++    __asm__ __volatile__(".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00");
++    // eight bytes
++    //__asm__ __volatile__("leal %cs:0L(%esi,%eiz),%esi");
++    __asm__ __volatile__(".byte 0x2e,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00");
++}
+--- /dev/null
++++ b/none/tests/x86/gnu_binutils_nop.vgtest
+@@ -0,0 +1,2 @@
++prog: gnu_binutils_nop
++vgopts: -q
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb
index 74ac7ec..563d99f 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb
@@ -33,6 +33,10 @@
            file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \
            file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
            file://0001-docs-Disable-manual-validation.patch \
+           file://0001-valgrind-monitor.py-regular-expressions-should-use-r.patch \
+           file://0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch \
+           file://0003-Add-fchmodat2-syscall-on-linux.patch \
+           file://0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch \
            "
 SRC_URI[sha256sum] = "c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c"
 UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc
index 2c3e605..e541161 100644
--- a/poky/meta/recipes-extended/bash/bash.inc
+++ b/poky/meta/recipes-extended/bash/bash.inc
@@ -74,7 +74,8 @@
 		mv ${D}${bindir}/bash ${D}${base_bindir}
 	fi
 }
-do_install:append:class-target () {
+
+fix_absolute_paths () {
 	# Clean buildhost references in bashbug
 	sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
 		-e "s,-I${WORKDIR}/\S* ,,g" \
@@ -93,6 +94,14 @@
 		${D}${libdir}/bash/Makefile.inc
 }
 
+do_install:append:class-target () {
+	fix_absolute_paths
+}
+
+do_install:append:class-nativesdk () {
+	fix_absolute_paths
+}
+
 do_install_ptest () {
 	make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
 	cp ${B}/Makefile ${D}${PTEST_PATH}
@@ -102,6 +111,7 @@
 	install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests
         sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
 	    -e 's|${DEBUG_PREFIX_MAP}||g' \
+	    -e 's|${BUILD_LDFLAGS}||g' \
 	    -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
 	    -e 's:${HOSTTOOLS_DIR}/::g' \
 	    -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
diff --git a/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb b/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
index 16c7a60..aa526e9 100644
--- a/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
+++ b/poky/meta/recipes-extended/libtirpc/libtirpc_1.3.4.bb
@@ -20,13 +20,11 @@
 
 inherit autotools pkgconfig
 
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5"
-
 PACKAGECONFIG ??= "\
 	${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
 "
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5"
 
 do_install:append() {
 	test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch b/poky/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch
new file mode 100644
index 0000000..4a50d1a
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-scenario_groups-default-remove-connectors.patch
@@ -0,0 +1,34 @@
+From 14c710cae38aa96bd8d681e891b6a1d691f99988 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Thu, 14 Mar 2024 09:47:10 +0800
+Subject: [PATCH] scenario_groups/default: remove connectors
+
+runtest/connectors was removed in 9b642d89c, thus update scenario_groups/default.
+
+Fixes: 9b642d89c ("runtest: Merge runtest/connectors to kernel_misc")
+Closes: https://github.com/linux-test-project/ltp/pull/1144
+
+Upstream-Status: Backport from
+[https://github.com/linux-test-project/ltp/commit/14c710ca]
+
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ scenario_groups/default | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/scenario_groups/default b/scenario_groups/default
+index f17b2061a..ec77d8fb8 100644
+--- a/scenario_groups/default
++++ b/scenario_groups/default
+@@ -16,7 +16,6 @@ controllers
+ filecaps
+ cap_bounds
+ fcntl-locktests
+-connectors
+ power_management_tests
+ hugetlb
+ commands
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-extended/ltp/ltp_20240129.bb b/poky/meta/recipes-extended/ltp/ltp_20240129.bb
index acd857f..3e89695 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20240129.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20240129.bb
@@ -28,6 +28,7 @@
 
 SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
            file://0001-Remove-OOM-tests-from-runtest-mm.patch \
+           file://0001-scenario_groups-default-remove-connectors.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch b/poky/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
new file mode 100644
index 0000000..a644d24
--- /dev/null
+++ b/poky/meta/recipes-extended/man-pages/man-pages/0001-GNUmakefile-use-env-from-PATH.patch
@@ -0,0 +1,31 @@
+From fbf0544138af02be4d6dd3085e7ecf98ad060bb4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 13 Mar 2024 17:30:02 +0100
+Subject: [PATCH] GNUmakefile: use env from PATH
+
+This allows using env from coreutils-native (rather than host env),
+which resolves the problem of missing -S option on distributions
+with much older coreutils such as Ubuntu 18.04.
+
+Once all autobuilder distros are newer than that, this patch
+can be dropped, together with corutils-native dependency.
+
+Upstream-Status: Inappropriate [made for obsolete host distros]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 1234194..65ba327 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -21,7 +21,7 @@
+ ########################################################################
+ 
+ 
+-SHELL := /usr/bin/env
++SHELL := env
+ .SHELLFLAGS := -S bash -Eeuo pipefail -c
+ 
+ 
diff --git a/poky/meta/recipes-extended/man-pages/man-pages_6.06.bb b/poky/meta/recipes-extended/man-pages/man-pages_6.06.bb
index fa2e6b2..0f091bb 100644
--- a/poky/meta/recipes-extended/man-pages/man-pages_6.06.bb
+++ b/poky/meta/recipes-extended/man-pages/man-pages_6.06.bb
@@ -19,12 +19,16 @@
                     "
 SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
            file://0001-man.ml-do-not-use-dev-stdin.patch \
+           file://0001-GNUmakefile-use-env-from-PATH.patch \
            "
 
 SRC_URI[sha256sum] = "006906e7be81a71c2d347809597bcb91485fa7fa488acdaa79e681ddfa894568"
 
 inherit manpages
 
+# can be dropped when ubuntu 18.04 is not in use anymore
+DEPENDS += "coreutils-native"
+
 MAN_PKG = "${PN}"
 
 PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch b/poky/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch
new file mode 100644
index 0000000..124e5f1
--- /dev/null
+++ b/poky/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch
@@ -0,0 +1,42 @@
+From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001
+From: Jacob Heider <jacob@pkgx.dev>
+Date: Wed, 17 Jan 2024 11:49:26 -0500
+Subject: [PATCH] pam_namespace: include stdint.h
+
+pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h,
+resulting in the following build failures on 1.6.0:
+
+  pam_namespace.c: In function 'process_line':
+  pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function)
+    649 |         if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
+        |                                         ^~~~~~~~
+  pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?
+     40 | #include "argv_parse.h"
+    +++ |+#include <stdint.h>
+     41 |
+  pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in
+    649 |         if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) {
+        |                                         ^~~~~~~~
+
+Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config")
+Resolves: https://github.com/linux-pam/linux-pam/issues/733
+
+Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/commit/cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/pam_namespace/pam_namespace.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c
+index f72d67189..b16731c22 100644
+--- a/modules/pam_namespace/pam_namespace.c
++++ b/modules/pam_namespace/pam_namespace.c
+@@ -34,6 +34,8 @@
+ 
+ #define _ATFILE_SOURCE
+ 
++#include "config.h"
++#include <stdint.h>
+ #include "pam_cc_compat.h"
+ #include "pam_inline.h"
+ #include "pam_namespace.h"
diff --git a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb b/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
index 4dd9890..2a53bb4 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.5.3.bb
@@ -24,6 +24,7 @@
            file://0001-examples-Replace-use-of-termio.h-with-termios.h.patch \
            file://run-ptest \
            file://pam-volatiles.conf \
+           file://0001-pam_namespace-include-stdint-h.patch \
            "
 
 SRC_URI[sha256sum] = "7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283"
diff --git a/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch b/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
new file mode 100644
index 0000000..d278a4c
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch
@@ -0,0 +1,39 @@
+From af4b8cb780587aa736692a3baa76b60474f19c5d Mon Sep 17 00:00:00 2001
+From: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
+Date: Mon, 18 Mar 2024 12:14:21 +0100
+Subject: [PATCH] lib/copydir:copy_entry(): use temporary stat buffer
+
+There are no guarantees that fstatat() does not clobber the stat
+buffer on errors.
+
+Use a temporary buffer so that the following code sees correct
+attributes of the source entry.
+
+Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/974]
+
+Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
+---
+ lib/copydir.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: shadow-4.14.2/lib/copydir.c
+===================================================================
+--- shadow-4.14.2.orig/lib/copydir.c
++++ shadow-4.14.2/lib/copydir.c
+@@ -415,6 +415,7 @@ static int copy_entry (const struct path
+ {
+ 	int err = 0;
+ 	struct stat sb;
++	struct stat tmp_sb;
+ 	struct link_name *lp;
+ 	struct timespec mt[2];
+ 
+@@ -436,7 +437,7 @@ static int copy_entry (const struct path
+ 		 * If the destination already exists do nothing.
+ 		 * This is after the copy_dir above to still iterate into subdirectories.
+ 		 */
+-		if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
++		if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
+ 			return 0;
+ 		}
+ 
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 16b99a0..40e6ab0 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -12,6 +12,7 @@
 
 GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases"
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
+           file://0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
            file://useradd \
            "
@@ -159,7 +160,8 @@
         binaries=$(find ${D}${base_bindir}/ ${D}${base_sbindir}/ ${D}${bindir}/ ${D}${sbindir}/ -executable -type f)
         chrpath -k -r ${STAGING_DIR_NATIVE}/lib-shadow-deps $binaries
         mkdir -p ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
-        install ${STAGING_LIBDIR_NATIVE}/libattr.so.* ${STAGING_LIBDIR_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
+        libattr=${@bb.utils.contains('DISTRO_FEATURES', 'xattr', "${STAGING_LIBDIR_NATIVE}/libattr.so.*", '', d)}
+        install $libattr ${STAGING_LIBDIR_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
         install ${D}${libdir}/*.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
 }
 
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_45.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_46.0.bb
similarity index 94%
rename from poky/meta/recipes-gnome/epiphany/epiphany_45.3.bb
rename to poky/meta/recipes-gnome/epiphany/epiphany_46.0.bb
index eec52e3..9052fe1 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_45.3.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_46.0.bb
@@ -31,7 +31,7 @@
            file://migrator.patch \
            file://distributor.patch \
            "
-SRC_URI[archive.sha256sum] = "6c302e9bdd66290cb0e26f62843cd4c435a4955abdbb4f151f07dc80495d6730"
+SRC_URI[archive.sha256sum] = "f4348f2cf51c07c0c106d130172d4d23f2cd4068771e1de007b758ca2ade5660"
 
 # Developer mode enables debugging
 PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_45.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_46.0.bb
similarity index 84%
rename from poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_45.0.bb
rename to poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_46.0.bb
index 657f9d6..8260c3d 100644
--- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_45.0.bb
+++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_46.0.bb
@@ -12,4 +12,4 @@
 
 inherit gnomebase gsettings gobject-introspection gettext
 
-SRC_URI[archive.sha256sum] = "365c8d04daf79b38c8b3dc9626349a024f9e4befdd31fede74b42f7a9fbe0ae2"
+SRC_URI[archive.sha256sum] = "493a46a1161b6388d57aa72f632a79ce96c42d5ffbd1d0b00f496ec5876f8575"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3.inc b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
index 4a04c06..e1603b4 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -33,7 +33,10 @@
 EXTRA_OEMESON = "-Dxinerama=no -Dtests=false"
 EXTRA_OEMESON:append:class-native = " -Ddemos=false -Dexamples=false"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)}"
+PACKAGECONFIG ??= " \
+	${@bb.utils.filter('DISTRO_FEATURES', 'opengl x11', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
+"
 PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
diff --git a/poky/meta/recipes-gnome/gtk+/gtk4_4.12.5.bb b/poky/meta/recipes-gnome/gtk+/gtk4_4.14.1.bb
similarity index 96%
rename from poky/meta/recipes-gnome/gtk+/gtk4_4.12.5.bb
rename to poky/meta/recipes-gnome/gtk+/gtk4_4.14.1.bb
index a418ef8..ce73376 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk4_4.12.5.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk4_4.14.1.bb
@@ -37,7 +37,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] = "28b356d590ee68ef626e2ef9820b2dd21441484a9a042a5a3f0c40e9dfc4f4f8"
+SRC_URI[sha256sum] = "fcefb3f132f8cc4711a9efa5b353c9ae9bb5eeff0246fa74dbc2f2f839b9e308"
 
 S = "${WORKDIR}/gtk-${PV}"
 
@@ -71,7 +71,6 @@
 PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups,cups gtk4-printbackend-cups"
 PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord"
 PACKAGECONFIG[iso-codes] = ",,iso-codes,iso-codes"
-PACKAGECONFIG[ffmpeg] = "-Dmedia-ffmpeg=enabled,-Dmedia-ffmpeg=disabled,ffmpeg"
 # gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad
 PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad"
 PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker,tracker-miners"
diff --git a/poky/meta/recipes-gnome/libadwaita/libadwaita_1.4.3.bb b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.5.0.bb
similarity index 87%
rename from poky/meta/recipes-gnome/libadwaita/libadwaita_1.4.3.bb
rename to poky/meta/recipes-gnome/libadwaita/libadwaita_1.5.0.bb
index e3f849a..b0b1e45 100644
--- a/poky/meta/recipes-gnome/libadwaita/libadwaita_1.4.3.bb
+++ b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.5.0.bb
@@ -11,7 +11,7 @@
 
 inherit gnomebase gobject-introspection gi-docgen vala features_check
 
-SRC_URI[archive.sha256sum] = "ae9622222b0eb18e23675655ad2ba01741db4d8655a796f4cf077b093e2f5841"
+SRC_URI[archive.sha256sum] = "fd92287df9bb95c963654fb6e70d3e082e2bcb37b147e0e3c905567167993783"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch b/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
new file mode 100644
index 0000000..f6d95c8
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0001-Revert-meson-do-not-pull-in-clc-for-clover.patch
@@ -0,0 +1,56 @@
+From fe4600de549549fbb3033fc1b37904ba6b3fe2af Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 8 Mar 2024 15:53:11 +0100
+Subject: [PATCH] Revert "meson: do not pull in clc for clover"
+
+This reverts commit 815a6647eb1383e9dc704ffcc266d85f3b13338a.
+Upstream-Status: Inappropriate [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783/diffs?commit_id=a976f2c9f0c07f9e06cc9affd9124b45bc60c2bd]
+
+Once the merge request above was added, it will only be possible to provide opencl spir-v with gallium-rusticl=true. This is not yet supported in the mesa recipe.
+For now reverting this commit allows to still use clover with opencl-spirv, which would otherwise be broken starting from mesa 24.0.2.
+
+After it was merged, this patch needs to be removed and rusticl support will be required
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ meson.build              | 3 ++-
+ src/compiler/meson.build | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 25e92ea5f95..3956e19c08f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -818,6 +818,7 @@ if _opencl != 'disabled'
+     error('The Clover OpenCL state tracker requires rtti')
+   endif
+ 
++  with_clc = true
+   with_gallium_opencl = true
+   with_opencl_icd = _opencl == 'icd'
+ else
+@@ -842,7 +843,7 @@ if with_gallium_rusticl
+ endif
+ 
+ dep_clc = null_dep
+-if with_gallium_opencl or with_clc
++if with_clc
+   dep_clc = dependency('libclc')
+ endif
+ 
+diff --git a/src/compiler/meson.build b/src/compiler/meson.build
+index 8d73544c6d8..1dae56d1b2b 100644
+--- a/src/compiler/meson.build
++++ b/src/compiler/meson.build
+@@ -79,7 +79,7 @@ subdir('nir')
+ 
+ subdir('spirv')
+ 
+-if with_clc
++if with_opencl_spirv
+   subdir('clc')
+ endif
+ if with_gallium
+-- 
+2.44.0
+
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch b/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch
deleted file mode 100644
index ceb0153..0000000
--- a/poky/meta/recipes-graphics/mesa/files/0001-gallium-Fix-build-with-llvm-17.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3e1e5c475b52651657c906e6b03ee13567cccdd7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 23 Jun 2023 01:20:38 -0700
-Subject: [PATCH] gallium: Fix build with llvm 17
-
-These headers are not available for C files in llvm 17+
-and they seem to be not needed to compile after all with llvm 17
-so add conditions to exclude them for llvm >= 17
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23827]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/gallium/auxiliary/gallivm/lp_bld_init.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
-index cd2108f..b1a4d03 100644
---- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
-+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
-@@ -46,15 +46,19 @@
- #if GALLIVM_USE_NEW_PASS == 1
- #include <llvm-c/Transforms/PassBuilder.h>
- #elif GALLIVM_HAVE_CORO == 1
-+#if LLVM_VERSION_MAJOR < 17
- #include <llvm-c/Transforms/Scalar.h>
--#if LLVM_VERSION_MAJOR >= 7
-+#endif
-+#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17
- #include <llvm-c/Transforms/Utils.h>
- #endif
- #if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
- #include <llvm-c/Transforms/IPO.h>
- #endif
-+#if LLVM_VERSION_MAJOR < 17
- #include <llvm-c/Transforms/Coroutines.h>
- #endif
-+#endif
- 
- unsigned gallivm_perf = 0;
- 
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 12d7a18..6e96190 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -17,9 +17,9 @@
 SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
            file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
-           file://0001-gallium-Fix-build-with-llvm-17.patch \
            file://0001-drisw-fix-build-without-dri3.patch \
            file://0002-glxext-don-t-try-zink-if-not-enabled-in-mesa.patch \
+           file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \
 "
 
 SRC_URI[sha256sum] = "94e28a8edad06d8ed2b83eb53f253b9eb5aa62c3080f939702e1b3039b56c9e8"
@@ -113,6 +113,7 @@
 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
@@ -122,6 +123,7 @@
 TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
 TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
 TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
+TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
 
 # dependencies for tools.
 TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
@@ -189,6 +191,8 @@
 PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
 PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
 
+PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
+
 PACKAGECONFIG[lima] = ""
 GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
 
@@ -327,7 +331,7 @@
 PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
 
 FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
-FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan"
+FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
 FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
 FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
 FILES:libgbm = "${libdir}/libgbm.so.*"
diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
index e180664..2875dd5 100644
--- a/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
+++ b/poky/meta/recipes-graphics/piglit/piglit/0001-utils-Include-libgen.h-on-musl-linux-systems.patch
@@ -1,28 +1,83 @@
-From 608cdeddc8e8a679b195927c4d34dc8d93142a91 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 13 Feb 2024 08:53:37 -0800
-Subject: [PATCH] utils: Include libgen.h on musl/linux systems
+From 6c852e6ac292008137a6f3a8aa908090bb5b4b11 Mon Sep 17 00:00:00 2001
+From: Erik Faye-Lund <erik.faye-lund@collabora.com>
+Date: Tue, 19 Mar 2024 16:34:02 +0100
+Subject: [PATCH] properly check for libgen.h
 
-musl does not provide GNU basename like string.h on glibc based systems
-does, it does provide the POSIX compliant basename function therefore
-allow to include libgen.h on non-glibc based linux systems
+Some users are reporting that basename is not available when building on
+Linux with musl libc. And since the POSIX spec[1] says that basename is
+defined in libgen.h, we should include that when available.
 
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/877]
+So let's properly detect the header, and include it if it exists. This
+should hopefully make things a bit more robust.
+
+Since we're also including this from the CL program-tester, let's
+rearrange the includes a bit so we know that config.h has been included.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/piglit/-/merge_requests/888]
+Reviewed-by: David Heidelberg <david.heidelberg@collabora.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- tests/util/piglit-util.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ CMakeLists.txt                    | 1 +
+ tests/cl/program/program-tester.c | 5 ++++-
+ tests/util/config.h.in            | 1 +
+ tests/util/piglit-util.h          | 4 ++--
+ 4 files changed, 8 insertions(+), 3 deletions(-)
 
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dd2bf67125..5563fe0e20 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -492,6 +492,7 @@ check_include_file(unistd.h    HAVE_UNISTD_H)
+ check_include_file(fcntl.h     HAVE_FCNTL_H)
+ check_include_file(linux/sync_file.h HAVE_LINUX_SYNC_FILE_H)
+ check_include_file(endian.h    HAVE_ENDIAN_H)
++check_include_file(libgen.h    HAVE_LIBGEN_H)
+ 
+ if(DEFINED PIGLIT_INSTALL_VERSION)
+ 	set(PIGLIT_INSTALL_VERSION_SUFFIX
+diff --git a/tests/cl/program/program-tester.c b/tests/cl/program/program-tester.c
+index 97fe64906d..e47fb5aacc 100644
+--- a/tests/cl/program/program-tester.c
++++ b/tests/cl/program/program-tester.c
+@@ -31,10 +31,13 @@
+ #include <inttypes.h>
+ #include <math.h>
+ #include <regex.h>
+-#include <libgen.h>
+ 
+ #include "piglit-framework-cl-program.h"
+ 
++#ifdef HAVE_LIBGEN_H
++#include <libgen.h>
++#endif
++
+ /* Regexes */
+ 
+ /*
+diff --git a/tests/util/config.h.in b/tests/util/config.h.in
+index 8ed5af1709..437eb91418 100644
+--- a/tests/util/config.h.in
++++ b/tests/util/config.h.in
+@@ -16,3 +16,4 @@
+ #cmakedefine HAVE_SYS_RESOURCE_H 1
+ #cmakedefine HAVE_UNISTD_H 1
+ #cmakedefine HAVE_ENDIAN_H 1
++#cmakedefine HAVE_LIBGEN_H 1
 diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
-index 4d3606c70..fdfd903b3 100644
+index 4d3606c708..de999980b6 100644
 --- a/tests/util/piglit-util.h
 +++ b/tests/util/piglit-util.h
-@@ -52,7 +52,7 @@ extern "C" {
+@@ -52,8 +52,8 @@ extern "C" {
  #include <math.h>
  #include <float.h>
  
 -#if defined(__APPLE__) || defined(__MINGW32__)
-+#if defined(__APPLE__) || defined(__MINGW32__) || (defined(__linux__) && !defined(__GLIBC__))
- #  include "libgen.h" // for basename
+-#  include "libgen.h" // for basename
++#ifdef HAVE_LIBGEN_H
++#  include <libgen.h> // for basename
  #elif defined(_MSC_VER)
  
+ static inline char *
+-- 
+GitLab
+
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb
index c8875cc..074ea36 100644
--- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.33.bb
@@ -12,7 +12,7 @@
 SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
 SRC_URI[sha256sum] = "94f0c50b090d6e61a03f62048467b19abbe851be4e11ae7b36f65f8b98c3963a"
 
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
 
 inherit meson pkgconfig allarch
 
diff --git a/poky/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb b/poky/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
index 657f67f..878c7a2 100644
--- a/poky/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb
@@ -12,7 +12,7 @@
 SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz"
 SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4"
 
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags"
 
 inherit meson pkgconfig
 
diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.22.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.22.0.bb
index 17e4a0c..6aa7606 100644
--- a/poky/meta/recipes-graphics/wayland/wayland_1.22.0.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland_1.22.0.bb
@@ -19,7 +19,7 @@
            "
 SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842"
 
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags"
 UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
 inherit meson pkgconfig ptest
diff --git a/poky/meta/recipes-graphics/wayland/weston_13.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_13.0.0.bb
index c74f471..b728bd0 100644
--- a/poky/meta/recipes-graphics/wayland/weston_13.0.0.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_13.0.0.bb
@@ -16,7 +16,7 @@
 
 SRC_URI[sha256sum] = "52ff1d4aa2394a2e416c85a338b627ce97fa71d43eb762fd4aaf145d36fc795a"
 
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
 UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
 
 inherit meson pkgconfig useradd
diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
index 8a93f8c..23ae0cb 100644
--- a/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
@@ -40,6 +40,8 @@
 EXTRA_OEMESON:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," -Dneon=disabled",d)}"
 EXTRA_OEMESON:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," -Dneon=disabled",d)}"
 
+EXTRA_OEMESON:append:class-native = " -Dopenmp=disabled"
+
 BBCLASSEXTEND = "native nativesdk"
 
 CVE_STATUS[CVE-2023-37769] = "not-applicable-config: stress-test is an uninstalled test"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb
similarity index 98%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb
index 1fd44f4..ff79bb9 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb
@@ -28,7 +28,6 @@
     & Firmware-ene_firmware \
     & Firmware-fw_sst_0f28 \
     & Firmware-go7007 \
-    & Firmware-GPLv2 \
     & Firmware-hfi1_firmware \
     & Firmware-i915 \
     & Firmware-ibt_firmware \
@@ -77,6 +76,7 @@
     & Firmware-xc5000 \
     & Firmware-xc5000c \
     & WHENCE \
+    & GPL-2.0-or-later \
 "
 
 LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
@@ -102,7 +102,6 @@
                     file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
                     file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
                     file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
-                    file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
                     file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
                     file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
@@ -155,7 +154,7 @@
                     "
 # WHENCE checksum is defined separately to ease overriding it if
 # class-devupstream is selected.
-WHENCE_CHKSUM  = "a344e6c28970fc7daafa81c10247aeb6"
+WHENCE_CHKSUM  = "514da1cd8b363373030f0c16749feb8d"
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
 # so that the license files will be copied from fetched source
@@ -182,7 +181,6 @@
 NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
 NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
 NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
-NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2"
 NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
 NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
 NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
@@ -243,20 +241,24 @@
 # Pin this to the 20220509 release, override this in local.conf
 SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
 
-SRC_URI[sha256sum] = "bf0f239dc0801e9d6bf5d5fb3e2f549575632cf4688f4348184199cb02c2bcd7"
+SRC_URI[sha256sum] = "b2327a54ad1897c828008caf63af5ee15469ba723a5016be58f2b44f07bd4b94"
 
 inherit allarch
 
 CLEANBROKEN = "1"
 
+# Use PACKAGECONFIG_CONFARGS to set the Makefile target
+PACKAGECONFIG ??= ""
+# Enabling dedup will turn duplicate firmware files into links
+PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native"
+
 do_compile() {
 	:
 }
 
 do_install() {
-        # install-nodedup avoids rdfind dependency
-        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install-nodedup
-        cp GPL-2 LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
+        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS}
+        cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
 }
 
 
@@ -319,7 +321,7 @@
              ${PN}-cirrus-license ${PN}-cirrus \
              ${PN}-cnm-license ${PN}-cnm \
              ${PN}-atheros-license ${PN}-ar5523 ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k ${PN}-ath3k \
-             ${PN}-gplv2-license ${PN}-carl9170 \
+             ${PN}-carl9170 \
              ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-qca \
              \
              ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
@@ -336,6 +338,7 @@
              ${PN}-iwlwifi-7265 \
              ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \
              ${PN}-iwlwifi-9000 \
+             ${PN}-iwlwifi-9260 \
              ${PN}-iwlwifi-misc \
              ${PN}-ibt-license ${PN}-ibt \
              ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \
@@ -457,15 +460,11 @@
 RDEPENDS:${PN}-ath9k += "${PN}-atheros-license"
 
 # For carl9170
-LICENSE:${PN}-carl9170 = "Firmware-GPLv2"
-LICENSE:${PN}-gplv2-license = "Firmware-GPLv2"
 
-FILES:${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2"
 FILES:${PN}-carl9170 = " \
   ${nonarch_base_libdir}/firmware/carl9170*.fw \
 "
-
-RDEPENDS:${PN}-carl9170 += "${PN}-gplv2-license"
+LICENSE:${PN}-carl9170 = "GPL-2.0-or-later"
 
 # For QualCommAthos
 LICENSE:${PN}-ar3k = "Firmware-qualcommAthos_ar3k & Firmware-atheros_firmware"
@@ -1190,6 +1189,7 @@
 LICENSE:${PN}-iwlwifi-8000c     = "Firmware-iwlwifi_firmware"
 LICENSE:${PN}-iwlwifi-8265      = "Firmware-iwlwifi_firmware"
 LICENSE:${PN}-iwlwifi-9000      = "Firmware-iwlwifi_firmware"
+LICENSE:${PN}-iwlwifi-9260      = "Firmware-iwlwifi_firmware"
 LICENSE:${PN}-iwlwifi-misc      = "Firmware-iwlwifi_firmware"
 LICENSE:${PN}-iwlwifi-license   = "Firmware-iwlwifi_firmware"
 
@@ -1217,6 +1217,7 @@
 FILES:${PN}-iwlwifi-8000c   = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
 FILES:${PN}-iwlwifi-8265   = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
 FILES:${PN}-iwlwifi-9000   = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
+FILES:${PN}-iwlwifi-9260   = "${nonarch_base_libdir}/firmware/iwlwifi-9260-*.ucode"
 FILES:${PN}-iwlwifi-misc   = " \
     ${nonarch_base_libdir}/firmware/iwlwifi-*.ucode \
     ${nonarch_base_libdir}/firmware/iwlwifi-*.pnvm \
@@ -1244,6 +1245,7 @@
 RDEPENDS:${PN}-iwlwifi-8000c     = "${PN}-iwlwifi-license"
 RDEPENDS:${PN}-iwlwifi-8265      = "${PN}-iwlwifi-license"
 RDEPENDS:${PN}-iwlwifi-9000      = "${PN}-iwlwifi-license"
+RDEPENDS:${PN}-iwlwifi-9260      = "${PN}-iwlwifi-license"
 RDEPENDS:${PN}-iwlwifi-misc      = "${PN}-iwlwifi-license"
 
 # -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
@@ -1477,8 +1479,10 @@
 RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
 RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
 
+LICENSE:${PN}-liquidui = "Firmware-cavium_liquidio"
 FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
 
+LICENSE:${PN}-mellanox = "WHENCE"
 FILES:${PN}-mellanox = "${nonarch_base_libdir}/firmware/mellanox"
 
 LICENSE:${PN}-prestera = "Firmware-Marvell"
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc b/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
index 5449b7e..bb9ba49 100644
--- a/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion_6.6.inc
@@ -1,9 +1,9 @@
 
 # Auto-generated CVE metadata, DO NOT EDIT BY HAND.
-# Generated at 2024-03-03 16:30:03.739466+00:00 for version 6.6.20
+# Generated at 2024-03-28 16:40:04.102652+00:00 for version 6.6.23
 
 python check_kernel_cve_status_version() {
-    this_version = "6.6.20"
+    this_version = "6.6.23"
     kernel_version = d.getVar("LINUX_VERSION")
     if kernel_version != this_version:
         bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, 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 bd3e5a9..9bd2198 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.8/standard/base"
+KBRANCH = "v6.9/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.8"
+LINUX_VERSION ?= "6.9"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
 PV = "${LINUX_VERSION}+git"
 
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 e80594b..a44a084 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 ?= "7c5911ab2e70bf84bb38a598b2a7e094618a9620"
-SRCREV_meta ?= "8cd63077f67a0f7ff639a2ff24c82b09d71048a4"
+SRCREV_machine ?= "19813826de57a6425518c7b3daf8dd6a04d2321f"
+SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b"
 
 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.20"
+LINUX_VERSION ?= "6.6.23"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
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 c2a0387..db9e252 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.20"
+LINUX_VERSION ?= "6.6.23"
 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 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_meta ?= "8cd63077f67a0f7ff639a2ff24c82b09d71048a4"
+SRCREV_machine ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b"
 
 PV = "${LINUX_VERSION}+git"
 
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 0f62dea..8fb9867 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 ?= "9d30fb4668cd7087e81b40f223cdd0090863602b"
-SRCREV_machine:qemuarm64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemuloongarch64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemumips ?= "4b49da8bb522bdaf928855c2c102fa839625c6c1"
-SRCREV_machine:qemuppc ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemuriscv64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemuriscv32 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemux86 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemux86-64 ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_machine:qemumips64 ?= "8e7605bafdfeb842396292181d524b183a1e13d6"
-SRCREV_machine ?= "a04baee60b5a7cf4d9c0c2f4856c6d5bb9b98074"
-SRCREV_meta ?= "8cd63077f67a0f7ff639a2ff24c82b09d71048a4"
+SRCREV_machine:qemuarm ?= "ceb94a85299b59d8840ed7ed392b1d3e4c727678"
+SRCREV_machine:qemuarm64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemuloongarch64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemumips ?= "c79ffc89f8909f60de52005ef258db9752634eda"
+SRCREV_machine:qemuppc ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemuriscv64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemuriscv32 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemux86 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemux86-64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_machine:qemumips64 ?= "b0a73fa83073c8d7d7bc917bcbeac88d296ebe38"
+SRCREV_machine ?= "2d01bc1d4eeade12518371139dd24a21438f523c"
+SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b"
 
 # 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 ?= "9b4a8eac17f0d840729384618b4b1e876233026c"
+SRCREV_machine:class-devupstream ?= "5c7587f69194bc9fc714953ab4c7203e6e68885b"
 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.20"
+LINUX_VERSION ?= "6.6.23"
 
 PV = "${LINUX_VERSION}+git"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch
new file mode 100644
index 0000000..9d5fd0d
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch
@@ -0,0 +1,93 @@
+From fec007d9630e010062cf5699a08460f71f46b527 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Mon, 25 Mar 2024 08:54:42 -0400
+Subject: [PATCH 1/4] Fix: ASoC snd_doc_dapm on linux 6.9-rc1
+
+See upstream commit:
+
+    commit 7df3eb4cdb6bbfa482f51548b9fd47c2723c68ba
+    Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
+    Date:   Wed Mar 6 10:30:01 2024 +0100
+
+        ASoC: trace: add event to snd_soc_dapm trace events
+
+        Add the event value to the snd_soc_dapm_start and snd_soc_dapm_done trace
+        events to make them more informative.
+
+        Trace before:
+
+                   aplay-229   [000]   250.140309: snd_soc_dapm_start:   card=vscn-2046
+                   aplay-229   [000]   250.167531: snd_soc_dapm_done:    card=vscn-2046
+                   aplay-229   [000]   251.169588: snd_soc_dapm_start:   card=vscn-2046
+                   aplay-229   [000]   251.195245: snd_soc_dapm_done:    card=vscn-2046
+
+        Trace after:
+
+                   aplay-214   [000]   693.290612: snd_soc_dapm_start:   card=vscn-2046 event=1
+                   aplay-214   [000]   693.315508: snd_soc_dapm_done:    card=vscn-2046 event=1
+                   aplay-214   [000]   694.537349: snd_soc_dapm_start:   card=vscn-2046 event=2
+                   aplay-214   [000]   694.563241: snd_soc_dapm_done:    card=vscn-2046 event=2
+
+Upstream-Status: Backport [88c4e0fe Fix: ASoC snd_doc_dapm on linux 6.9-rc1]
+
+Change-Id: If0d33544b8dd1dfb3d12ca9390892190fc0444b0
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ include/instrumentation/events/asoc.h | 33 +++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+diff --git a/include/instrumentation/events/asoc.h b/include/instrumentation/events/asoc.h
+index 21d13a0f..5126d4c1 100644
+--- a/include/instrumentation/events/asoc.h
++++ b/include/instrumentation/events/asoc.h
+@@ -51,6 +51,38 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card, snd_soc_bias_level_done,
+ 
+ )
+ 
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
++LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
++
++	TP_PROTO(struct snd_soc_card *card, int event),
++
++	TP_ARGS(card, event),
++
++	TP_FIELDS(
++		ctf_string(name, card->name)
++		ctf_integer(int, event, event)
++	)
++)
++LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_start,
++
++	asoc_snd_soc_dapm_start,
++
++	TP_PROTO(struct snd_soc_card *card, int event),
++
++	TP_ARGS(card, event)
++
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
++
++	asoc_snd_soc_dapm_done,
++
++	TP_PROTO(struct snd_soc_card *card, int event),
++
++	TP_ARGS(card, event)
++
++)
++#else
+ LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
+ 
+ 	TP_PROTO(struct snd_soc_card *card),
+@@ -81,6 +113,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic, snd_soc_dapm_done,
+ 	TP_ARGS(card)
+ 
+ )
++#endif
+ 
+ LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget,
+ 
+-- 
+2.39.2
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch
deleted file mode 100644
index a0d932c..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 9e59c2f6387aeb832ae3af3095f987529722e08f Mon Sep 17 00:00:00 2001
-From: Kienan Stewart <kstewart@efficios.com>
-Date: Mon, 22 Jan 2024 11:10:37 -0500
-Subject: [PATCH 1/5] Fix: sched_stat_runtime changed in linux 6.8.0-rc1
-
-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.
-
-Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
-
-Change-Id: I24ebb4e06dbb646a1af75ac62b74f3821ff197de
-Signed-off-by: Kienan Stewart <kstewart@efficios.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- include/instrumentation/events/sched.h | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/include/instrumentation/events/sched.h b/include/instrumentation/events/sched.h
-index 066a0f8..24cf37c 100644
---- a/include/instrumentation/events/sched.h
-+++ b/include/instrumentation/events/sched.h
-@@ -646,6 +646,24 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(sched_stat_template, sched_stat_blocked,
- 	     TP_ARGS(tsk, delay))
- #endif
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
-+/*
-+ * Tracepoint for accounting runtime (time the task is executing
-+ * on a CPU).
-+ */
-+LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
-+
-+	TP_PROTO(struct task_struct *tsk, u64 runtime),
-+
-+	TP_ARGS(tsk, runtime),
-+
-+	TP_FIELDS(
-+		ctf_array_text(char, comm, tsk->comm, TASK_COMM_LEN)
-+		ctf_integer(pid_t, tid, tsk->pid)
-+		ctf_integer(u64, runtime, runtime)
-+	)
-+)
-+#else
- /*
-  * Tracepoint for accounting runtime (time the task is executing
-  * on a CPU).
-@@ -663,6 +681,7 @@ LTTNG_TRACEPOINT_EVENT(sched_stat_runtime,
- 		ctf_integer(u64, vruntime, vruntime)
- 	)
- )
-+#endif
- 
- #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,12,0) || \
- 	LTTNG_RT_KERNEL_RANGE(4,9,27,18, 4,10,0,0) || \
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch
new file mode 100644
index 0000000..6ea10ff
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch
@@ -0,0 +1,132 @@
+From d8379ec6365a925db33cae94fb6783cdbdb6a922 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Mon, 25 Mar 2024 09:40:29 -0400
+Subject: [PATCH 2/4] Fix: ASoC add component to set_bias_level events in linux
+ 6.9-rc1
+
+See upstream commit:
+
+    commit 6ef46a69ec32fe1cf56de67742fcd01af4bf48af
+    Author: Luca Ceresoli <luca.ceresoli@bootlin.com>
+    Date:   Wed Mar 6 10:30:00 2024 +0100
+
+        ASoC: trace: add component to set_bias_level trace events
+
+        The snd_soc_bias_level_start and snd_soc_bias_level_done trace events
+        currently look like:
+
+                   aplay-229   [000]  1250.140778: snd_soc_bias_level_start: card=vscn-2046 val=1
+                   aplay-229   [000]  1250.140784: snd_soc_bias_level_done: card=vscn-2046 val=1
+                   aplay-229   [000]  1250.140786: snd_soc_bias_level_start: card=vscn-2046 val=2
+                   aplay-229   [000]  1250.140788: snd_soc_bias_level_done: card=vscn-2046 val=2
+            kworker/u8:1-21    [000]  1250.140871: snd_soc_bias_level_start: card=vscn-2046 val=1
+            kworker/u8:0-11    [000]  1250.140951: snd_soc_bias_level_start: card=vscn-2046 val=1
+            kworker/u8:0-11    [000]  1250.140956: snd_soc_bias_level_done: card=vscn-2046 val=1
+            kworker/u8:0-11    [000]  1250.140959: snd_soc_bias_level_start: card=vscn-2046 val=2
+            kworker/u8:0-11    [000]  1250.140961: snd_soc_bias_level_done: card=vscn-2046 val=2
+            kworker/u8:1-21    [000]  1250.167219: snd_soc_bias_level_done: card=vscn-2046 val=1
+            kworker/u8:1-21    [000]  1250.167222: snd_soc_bias_level_start: card=vscn-2046 val=2
+            kworker/u8:1-21    [000]  1250.167232: snd_soc_bias_level_done: card=vscn-2046 val=2
+            kworker/u8:0-11    [000]  1250.167440: snd_soc_bias_level_start: card=vscn-2046 val=3
+            kworker/u8:0-11    [000]  1250.167444: snd_soc_bias_level_done: card=vscn-2046 val=3
+            kworker/u8:1-21    [000]  1250.167497: snd_soc_bias_level_start: card=vscn-2046 val=3
+            kworker/u8:1-21    [000]  1250.167506: snd_soc_bias_level_done: card=vscn-2046 val=3
+
+        There are clearly multiple calls, one per component, but they cannot be
+        discriminated from each other.
+
+        Change the ftrace events to also print the component name, to make it clear
+        which part of the code is involved. This requires changing the passed value
+        from a struct snd_soc_card, where the DAPM context is not kwown, to a
+        struct snd_soc_dapm_context where it is obviously known but the a card
+        pointer is also available.
+
+        With this change, the resulting trace becomes:
+
+                   aplay-247   [000]  1436.357332: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=1
+                   aplay-247   [000]  1436.357338: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=1
+                   aplay-247   [000]  1436.357340: snd_soc_bias_level_start: card=vscn-2046 component=(none) val=2
+                   aplay-247   [000]  1436.357343: snd_soc_bias_level_done: card=vscn-2046 component=(none) val=2
+            kworker/u8:4-215   [000]  1436.357437: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=1
+            kworker/u8:5-231   [000]  1436.357518: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=1
+            kworker/u8:5-231   [000]  1436.357523: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=1
+            kworker/u8:5-231   [000]  1436.357526: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=2
+            kworker/u8:5-231   [000]  1436.357528: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=2
+            kworker/u8:4-215   [000]  1436.383217: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=1
+            kworker/u8:4-215   [000]  1436.383221: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=2
+            kworker/u8:4-215   [000]  1436.383231: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=2
+            kworker/u8:5-231   [000]  1436.383468: snd_soc_bias_level_start: card=vscn-2046 component=ff320000.i2s val=3
+            kworker/u8:5-231   [000]  1436.383472: snd_soc_bias_level_done: card=vscn-2046 component=ff320000.i2s val=3
+            kworker/u8:4-215   [000]  1436.383503: snd_soc_bias_level_start: card=vscn-2046 component=ff560000.codec val=3
+            kworker/u8:4-215   [000]  1436.383513: snd_soc_bias_level_done: card=vscn-2046 component=ff560000.codec val=3
+
+Upstream-Status: Backport [303434ab Fix: ASoC add component to set_bias_level events in linux 6.9-rc1]
+
+Change-Id: I959f1680c002acdf29828b968d3975247f5433d8
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ include/instrumentation/events/asoc.h | 36 +++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+Index: lttng-modules-2.13.12/include/instrumentation/events/asoc.h
+===================================================================
+--- lttng-modules-2.13.12.orig/include/instrumentation/events/asoc.h
++++ lttng-modules-2.13.12/include/instrumentation/events/asoc.h
+@@ -10,6 +10,7 @@
+ #include <lttng/kernel-version.h>
+ 
+ #define DAPM_DIRECT "(direct)"
++#define DAPM_COMPONENT_NONE "(none)"
+ 
+ #ifndef _TRACE_ASOC_DEF
+ #define _TRACE_ASOC_DEF
+@@ -119,6 +120,40 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
+ )
+ #endif
+ 
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
++LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context,
++
++	TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
++
++	TP_ARGS(dapm, val),
++
++	TP_FIELDS(
++		ctf_string(name, dapm->card->name)
++		ctf_string(component, dapm->component ? dapm->component->name : DAPM_COMPONENT_NONE)
++		ctf_integer(int, val, val)
++	)
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_start,
++
++	asoc_snd_soc_bias_level_start,
++
++	TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
++
++	TP_ARGS(dapm, val)
++
++)
++
++LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context, snd_soc_bias_level_done,
++
++	asoc_snd_soc_bias_level_done,
++
++	TP_PROTO(struct snd_soc_dapm_context *dapm, int val),
++
++	TP_ARGS(dapm, val)
++
++)
++#else
+ LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card,
+ 
+ 	TP_PROTO(struct snd_soc_card *card, int val),
+@@ -150,6 +185,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc
+ 	TP_ARGS(card, val)
+ 
+ )
++#endif
+ 
+ #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
+ LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic,
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch
deleted file mode 100644
index 5a4294d..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From d52ab4b9a71a4bef535dadb8e7062112ac5c0c88 Mon Sep 17 00:00:00 2001
-From: Kienan Stewart <kstewart@efficios.com>
-Date: Mon, 22 Jan 2024 11:33:39 -0500
-Subject: [PATCH 2/5] Fix: timer_start changed in linux 6.8.0-rc1
-
-See upstream commit
-
-    commit dbcdcb62b59db2cf6a24113873b90da15c6f0b19
-    Author: Anna-Maria Behnsen <anna-maria@linutronix.de>
-    Date:   Fri Dec 1 10:26:26 2023 +0100
-
-        tracing/timers: Enhance timer_start tracepoint
-
-        For starting a timer, the timer is enqueued into a bucket of the timer
-        wheel. The bucket expiry is the defacto expiry of the timer but it is not
-        equal the timer expiry because of increasing granularity when bucket is in
-        a higher level of the wheel. To be able to figure out in a trace whether a
-        timer expired in time or not, the bucket expiry time is required as well.
-
-        Add bucket expiry time to the timer_start tracepoint and thereby simplify
-        the arguments.
-
-Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
-
-Change-Id: I4868092765745b1efd0c48f13c0b837f2007dcb6
-Signed-off-by: Kienan Stewart <kstewart@efficios.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- include/instrumentation/events/timer.h | 24 +++++++++++++-----------
- 1 file changed, 13 insertions(+), 11 deletions(-)
-
-diff --git a/include/instrumentation/events/timer.h b/include/instrumentation/events/timer.h
-index 91a2cd9..ce571f5 100644
---- a/include/instrumentation/events/timer.h
-+++ b/include/instrumentation/events/timer.h
-@@ -45,8 +45,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
- 	TP_ARGS(timer)
- )
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0) || \
--	LTTNG_RHEL_KERNEL_RANGE(3,10,0,957,0,0, 3,11,0,0,0,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
- /**
-  * timer_start - called when the timer is started
-  * @timer:	pointer to struct timer_list
-@@ -55,39 +54,42 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(timer_class, timer_init,
-  */
- LTTNG_TRACEPOINT_EVENT(timer_start,
- 
--	TP_PROTO(struct timer_list *timer, unsigned long expires,
--		unsigned int flags),
-+	TP_PROTO(struct timer_list *timer, unsigned long bucket_expiry),
- 
--	TP_ARGS(timer, expires, flags),
-+	TP_ARGS(timer, bucket_expiry),
- 
- 	TP_FIELDS(
- 		ctf_integer_hex(void *, timer, timer)
- 		ctf_integer_hex(void *, function, timer->function)
--		ctf_integer(unsigned long, expires, expires)
-+		ctf_integer(unsigned long, expires, timer->expires)
-+		ctf_integer(unsigned long, bucket_expiry, bucket_expiry)
- 		ctf_integer(unsigned long, now, jiffies)
--		ctf_integer(unsigned int, flags, flags)
-+		ctf_integer(unsigned int, flags, timer->flags)
- 	)
- )
--#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */
-+#else
- /**
-  * timer_start - called when the timer is started
-  * @timer:	pointer to struct timer_list
-  * @expires:	the timers expiry time
-+ * @flags:	the timers expiry time
-  */
- LTTNG_TRACEPOINT_EVENT(timer_start,
- 
--	TP_PROTO(struct timer_list *timer, unsigned long expires),
-+	TP_PROTO(struct timer_list *timer, unsigned long expires,
-+		unsigned int flags),
- 
--	TP_ARGS(timer, expires),
-+	TP_ARGS(timer, expires, flags),
- 
- 	TP_FIELDS(
- 		ctf_integer_hex(void *, timer, timer)
- 		ctf_integer_hex(void *, function, timer->function)
- 		ctf_integer(unsigned long, expires, expires)
- 		ctf_integer(unsigned long, now, jiffies)
-+		ctf_integer(unsigned int, flags, flags)
- 	)
- )
--#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0)) */
-+#endif
- 
- #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0) || \
- 	LTTNG_RHEL_KERNEL_RANGE(4,18,0,193,0,0, 4,19,0,0,0,0))
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch
new file mode 100644
index 0000000..66c48eb
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch
@@ -0,0 +1,81 @@
+From f4a6415f8d5fa447868d1fdc7119e0a328966379 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Mon, 25 Mar 2024 10:30:32 -0400
+Subject: [PATCH 3/4] Fix: mm_compaction_migratepages changed in linux 6.9-rc1
+
+See upstream commit:
+
+    commit ab755bf4249b992fc2140d615ab0a686d50765b4
+    Author: Baolin Wang <baolin.wang@linux.alibaba.com>
+    Date:   Tue Feb 20 14:16:31 2024 +0800
+
+        mm: compaction: update the cc->nr_migratepages when allocating or freeing the freepages
+
+        Currently we will use 'cc->nr_freepages >= cc->nr_migratepages' comparison
+        to ensure that enough freepages are isolated in isolate_freepages(),
+        however it just decreases the cc->nr_freepages without updating
+        cc->nr_migratepages in compaction_alloc(), which will waste more CPU
+        cycles and cause too many freepages to be isolated.
+
+        So we should also update the cc->nr_migratepages when allocating or
+        freeing the freepages to avoid isolating excess freepages.  And I can see
+        fewer free pages are scanned and isolated when running thpcompact on my
+        Arm64 server:
+
+                                               k6.7         k6.7_patched
+        Ops Compaction pages isolated      120692036.00   118160797.00
+        Ops Compaction migrate scanned     131210329.00   154093268.00
+        Ops Compaction free scanned       1090587971.00  1080632536.00
+        Ops Compact scan efficiency               12.03          14.26
+
+        Moreover, I did not see an obvious latency improvements, this is likely
+        because isolating freepages is not the bottleneck in the thpcompact test
+        case.
+
+                                      k6.7                  k6.7_patched
+        Amean     fault-both-1      1089.76 (   0.00%)     1080.16 *   0.88%*
+        Amean     fault-both-3      1616.48 (   0.00%)     1636.65 *  -1.25%*
+        Amean     fault-both-5      2266.66 (   0.00%)     2219.20 *   2.09%*
+        Amean     fault-both-7      2909.84 (   0.00%)     2801.90 *   3.71%*
+        Amean     fault-both-12     4861.26 (   0.00%)     4733.25 *   2.63%*
+        Amean     fault-both-18     7351.11 (   0.00%)     6950.51 *   5.45%*
+        Amean     fault-both-24     9059.30 (   0.00%)     9159.99 *  -1.11%*
+        Amean     fault-both-30    10685.68 (   0.00%)    11399.02 *  -6.68%*
+
+Upstream-Status: Backport [175fe77c Fix: mm_compaction_migratepages changed in linux 6.9-rc1]
+
+Change-Id: I103a43fd1b549360b3fc978fd409b7c17ef3e192
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ include/instrumentation/events/compaction.h | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+Index: lttng-modules-2.13.12/include/instrumentation/events/compaction.h
+===================================================================
+--- lttng-modules-2.13.12.orig/include/instrumentation/events/compaction.h
++++ lttng-modules-2.13.12/include/instrumentation/events/compaction.h
+@@ -97,7 +97,22 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(comp
+ 
+ #endif /* #else #if LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0) */
+ 
+-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
++LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
++
++	compaction_migratepages,
++
++	TP_PROTO(unsigned int nr_migratepages,
++		unsigned int nr_succeeded),
++
++	TP_ARGS(nr_migratepages, nr_succeeded),
++
++	TP_FIELDS(
++		ctf_integer(unsigned long, nr_migrated, nr_succeeded)
++		ctf_integer(unsigned long, nr_failed, nr_migratepages - nr_succeeded)
++	)
++)
++#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) || \
+     LTTNG_RHEL_KERNEL_RANGE(5,14,0,163,0,0, 5,15,0,0,0,0))
+ LTTNG_TRACEPOINT_EVENT_MAP(mm_compaction_migratepages,
+ 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch
deleted file mode 100644
index 4ad9adc..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 7432f583674294b676577b6505b89fc74dc5c7ab Mon Sep 17 00:00:00 2001
-From: Kienan Stewart <kstewart@efficios.com>
-Date: Mon, 22 Jan 2024 11:47:40 -0500
-Subject: [PATCH 3/5] Fix: strlcopy removed in linux 6.8.0-rc1
-
-See upstream commit:
-
-    commit d26270061ae66b915138af7cd73ca6f8b85e6b44
-    Author: Kees Cook <keescook@chromium.org>
-    Date:   Thu Jan 18 12:31:55 2024 -0800
-
-        string: Remove strlcpy()
-
-        With all the users of strlcpy() removed[1] from the kernel, remove the
-        API, self-tests, and other references. Leave mentions in Documentation
-        (about its deprecation), and in checkpatch.pl (to help migrate host-only
-        tools/ usage). Long live strscpy().
-
-Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
-
-Change-Id: I27cdff70a504b25340cc59150ed8e959d9629e43
-Signed-off-by: Kienan Stewart <kstewart@efficios.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- src/lib/ringbuffer/ring_buffer_backend.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c
-index 9a339be..2181145 100644
---- a/src/lib/ringbuffer/ring_buffer_backend.c
-+++ b/src/lib/ringbuffer/ring_buffer_backend.c
-@@ -405,7 +405,11 @@ int channel_backend_init(struct channel_backend *chanb,
- 	chanb->extra_reader_sb =
- 			(config->mode == RING_BUFFER_OVERWRITE) ? 1 : 0;
- 	chanb->num_subbuf = num_subbuf;
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
-+	strscpy(chanb->name, name, NAME_MAX);
-+#else
- 	strlcpy(chanb->name, name, NAME_MAX);
-+#endif
- 	memcpy(&chanb->config, config, sizeof(chanb->config));
- 
- 	if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) {
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch
deleted file mode 100644
index c9b1af3..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From c8198382fe1cede3e16aae9978642a113a217e4c Mon Sep 17 00:00:00 2001
-From: Kienan Stewart <kstewart@efficios.com>
-Date: Mon, 22 Jan 2024 12:17:33 -0500
-Subject: [PATCH 4/5] Fix: btrfs_chunk tracepoints changed in linux 6.8.0-rc1
-
-See upstream commit:
-
-    commit 7dc66abb5a47778d7db327783a0ba172b8cff0b5
-    Author: Filipe Manana <fdmanana@suse.com>
-    Date:   Tue Nov 21 13:38:38 2023 +0000
-
-        btrfs: use a dedicated data structure for chunk maps
-
-        Currently we abuse the extent_map structure for two purposes:
-
-        1) To actually represent extents for inodes;
-        2) To represent chunk mappings.
-
-        This is odd and has several disadvantages:
-
-        1) To create a chunk map, we need to do two memory allocations: one for
-           an extent_map structure and another one for a map_lookup structure, so
-           more potential for an allocation failure and more complicated code to
-           manage and link two structures;
-
-        2) For a chunk map we actually only use 3 fields (24 bytes) of the
-           respective extent map structure: the 'start' field to have the logical
-           start address of the chunk, the 'len' field to have the chunk's size,
-           and the 'orig_block_len' field to contain the chunk's stripe size.
-
-           Besides wasting a memory, it's also odd and not intuitive at all to
-           have the stripe size in a field named 'orig_block_len'.
-
-           We are also using 'block_len' of the extent_map structure to contain
-           the chunk size, so we have 2 fields for the same value, 'len' and
-           'block_len', which is pointless;
-
-        3) When an extent map is associated to a chunk mapping, we set the bit
-           EXTENT_FLAG_FS_MAPPING on its flags and then make its member named
-           'map_lookup' point to the associated map_lookup structure. This means
-           that for an extent map associated to an inode extent, we are not using
-           this 'map_lookup' pointer, so wasting 8 bytes (on a 64 bits platform);
-
-        4) Extent maps associated to a chunk mapping are never merged or split so
-           it's pointless to use the existing extent map infrastructure.
-
-        So add a dedicated data structure named 'btrfs_chunk_map' to represent
-        chunk mappings, this is basically the existing map_lookup structure with
-        some extra fields:
-
-        1) 'start' to contain the chunk logical address;
-        2) 'chunk_len' to contain the chunk's length;
-        3) 'stripe_size' for the stripe size;
-        4) 'rb_node' for insertion into a rb tree;
-        5) 'refs' for reference counting.
-
-        This way we do a single memory allocation for chunk mappings and we don't
-        waste memory for them with unused/unnecessary fields from an extent_map.
-
-        We also save 8 bytes from the extent_map structure by removing the
-        'map_lookup' pointer, so the size of struct extent_map is reduced from
-        144 bytes down to 136 bytes, and we can now have 30 extents map per 4K
-        page instead of 28.
-
-Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
-
-Change-Id: Ie52b5ac83df4bc6abeb84d958c4f5d24ae0d8c75
-Signed-off-by: Kienan Stewart <kstewart@efficios.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- include/instrumentation/events/btrfs.h | 37 +++++++++++++++++++++++++-
- 1 file changed, 36 insertions(+), 1 deletion(-)
-
-diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
-index 7c7b9b0..a2a412b 100644
---- a/include/instrumentation/events/btrfs.h
-+++ b/include/instrumentation/events/btrfs.h
-@@ -1609,7 +1609,42 @@ LTTNG_TRACEPOINT_EVENT(btrfs_delayed_ref_head,
- )
- #endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
-+
-+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
-+
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
-+		 u64 offset, u64 size),
-+
-+	TP_ARGS(fs_info, map, offset, size),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, num_stripes, map->num_stripes)
-+		ctf_integer(u64, type, map->type)
-+		ctf_integer(int, sub_stripes, map->sub_stripes)
-+		ctf_integer(u64, offset, offset)
-+		ctf_integer(u64, size, size)
-+		ctf_integer(u64, root_objectid, fs_info->chunk_root->root_key.objectid)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_alloc,
-+
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
-+		 u64 offset, u64 size),
-+
-+	TP_ARGS(fs_info, map, offset, size)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk,  btrfs_chunk_free,
-+
-+	TP_PROTO(const struct btrfs_fs_info *fs_info, const struct btrfs_chunk_map *map,
-+		 u64 offset, u64 size),
-+
-+	TP_ARGS(fs_info, map, offset, size)
-+)
-+
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
- 
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
- 
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch
new file mode 100644
index 0000000..59ef4f9
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.patch
@@ -0,0 +1,57 @@
+From 217bc2e4685050dddce9bdd2557b64f6b8c16622 Mon Sep 17 00:00:00 2001
+From: Kienan Stewart <kstewart@efficios.com>
+Date: Mon, 25 Mar 2024 10:53:46 -0400
+Subject: [PATCH 4/4] Fix: dev_base_lock removed in linux 6.9-rc1
+
+See upstream commit:
+
+    commit 1b3ef46cb7f2618cc0b507393220a69810f6da12
+    Author: Eric Dumazet <edumazet@google.com>
+    Date:   Tue Feb 13 06:32:45 2024 +0000
+
+        net: remove dev_base_lock
+
+        dev_base_lock is not needed anymore, all remaining users also hold RTNL.
+
+Upstream-Status: Backport [52eb2ee9 Fix: dev_base_lock removed in linux 6.9-rc1]
+
+Change-Id: I6b07e6eed07fd398302ca14d23162ed24d74df15
+Signed-off-by: Kienan Stewart <kstewart@efficios.com>
+Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ src/lttng-statedump-impl.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+Index: lttng-modules-2.13.12/src/lttng-statedump-impl.c
+===================================================================
+--- lttng-modules-2.13.12.orig/src/lttng-statedump-impl.c
++++ lttng-modules-2.13.12/src/lttng-statedump-impl.c
+@@ -392,6 +392,20 @@ void lttng_enumerate_device(struct lttng
+ 	}
+ }
+ 
++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
++static
++int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
++{
++	struct net_device *dev;
++
++	rtnl_lock();
++	for_each_netdev(&init_net, dev)
++		lttng_enumerate_device(session, dev);
++	rtnl_unlock();
++
++	return 0;
++}
++#else
+ static
+ int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
+ {
+@@ -404,6 +418,7 @@ int lttng_enumerate_network_ip_interface
+ 
+ 	return 0;
+ }
++#endif /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0)) */
+ #else /* CONFIG_INET */
+ static inline
+ int lttng_enumerate_network_ip_interface(struct lttng_kernel_session *session)
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch
deleted file mode 100644
index 65c33da..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 86db094386b43bb5c6b47552f9a4826ca8ba917d Mon Sep 17 00:00:00 2001
-From: Kienan Stewart <kstewart@efficios.com>
-Date: Mon, 22 Jan 2024 13:13:36 -0500
-Subject: [PATCH 5/5] Fix: btrfs_get_extent flags and compress_type changed in
- linux 6.8.0-rc1
-
-See upstream commit:
-
-    commit f86f7a75e2fb5fd7d31d00eab8a392f97ba42ce9
-    Author: Filipe Manana <fdmanana@suse.com>
-    Date:   Mon Dec 4 16:20:33 2023 +0000
-
-        btrfs: use the flags of an extent map to identify the compression type
-
-        Currently, in struct extent_map, we use an unsigned int (32 bits) to
-        identify the compression type of an extent and an unsigned long (64 bits
-        on a 64 bits platform, 32 bits otherwise) for flags. We are only using
-        6 different flags, so an unsigned long is excessive and we can use flags
-        to identify the compression type instead of using a dedicated 32 bits
-        field.
-
-        We can easily have tens or hundreds of thousands (or more) of extent maps
-        on busy and large filesystems, specially with compression enabled or many
-        or large files with tons of small extents. So it's convenient to have the
-        extent_map structure as small as possible in order to use less memory.
-
-        So remove the compression type field from struct extent_map, use flags
-        to identify the compression type and shorten the flags field from an
-        unsigned long to a u32. This saves 8 bytes (on 64 bits platforms) and
-        reduces the size of the structure from 136 bytes down to 128 bytes, using
-        now only two cache lines, and increases the number of extent maps we can
-        have per 4K page from 30 to 32. By using a u32 for the flags instead of
-        an unsigned long, we no longer use test_bit(), set_bit() and clear_bit(),
-        but that level of atomicity is not needed as most flags are never cleared
-        once set (before adding an extent map to the tree), and the ones that can
-        be cleared or set after an extent map is added to the tree, are always
-        performed while holding the write lock on the extent map tree, while the
-        reader holds a lock on the tree or tests for a flag that never changes
-        once the extent map is in the tree (such as compression flags).
-
-Upstream-Status: Backport [Uhttps://review.lttng.org/c/lttng-modules/+/11700]
-
-Change-Id: I95402d43f064c016b423b48652e4968d3db9b8a9
-Signed-off-by: Kienan Stewart <kstewart@efficios.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- include/instrumentation/events/btrfs.h | 25 ++++++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
-index a2a412b..ffb1b64 100644
---- a/include/instrumentation/events/btrfs.h
-+++ b/include/instrumentation/events/btrfs.h
-@@ -177,7 +177,30 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict,
- )
- #endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
-+
-+LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
-+
-+	TP_PROTO(const struct btrfs_root *root, const struct btrfs_inode *inode,
-+		const struct extent_map *map),
-+
-+	TP_ARGS(root, inode, map),
-+
-+	TP_FIELDS(
-+		ctf_integer(u64, root_objectid, root->root_key.objectid)
-+		ctf_integer(u64, ino, btrfs_ino(inode))
-+		ctf_integer(u64, start, map->start)
-+		ctf_integer(u64, len, map->len)
-+		ctf_integer(u64, orig_start, map->orig_start)
-+		ctf_integer(u64, block_start, map->block_start)
-+		ctf_integer(u64, block_len, map->block_len)
-+		ctf_integer(unsigned int, flags, map->flags)
-+		ctf_integer(int, refs, refcount_read(&map->refs))
-+		ctf_integer(unsigned int, compress_type, extent_map_compression(map))
-+	)
-+)
-+
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
- 
- LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
- 
--- 
-2.39.2
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
similarity index 75%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
index b6bae73..95d5e2d 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.11.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.12.bb
@@ -10,17 +10,16 @@
 include lttng-platforms.inc
 
 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
-           file://0001-Fix-sched_stat_runtime-changed-in-linux-6.8.0-rc1.patch \
-           file://0002-Fix-timer_start-changed-in-linux-6.8.0-rc1.patch \
-           file://0003-Fix-strlcopy-removed-in-linux-6.8.0-rc1.patch \
-           file://0004-Fix-btrfs_chunk-tracepoints-changed-in-linux-6.8.0-r.patch \
-           file://0005-Fix-btrfs_get_extent-flags-and-compress_type-changed.patch \
+           file://0001-Fix-ASoC-snd_doc_dapm-on-linux-6.9-rc1.patch \
+           file://0002-Fix-ASoC-add-component-to-set_bias_level-events-in-l.patch \
+           file://0003-Fix-mm_compaction_migratepages-changed-in-linux-6.9-.patch \
+           file://0004-Fix-dev_base_lock-removed-in-linux-6.9-rc1.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[sha256sum] = "297211d6fda459c85793c1f498c90fad2939cda7939d503f3ec5eaaf5fbec3c7"
+SRC_URI[sha256sum] = "d85fcb66c7bd31003ab8735e8c77700e5e4f417b4c22fe1f20112cf435abad79"
 
 export INSTALL_MOD_DIR="kernel/lttng-modules"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch
new file mode 100644
index 0000000..3286dfb
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch
@@ -0,0 +1,56 @@
+From 6b45c5f80d20e7bbf3d98c1fa17d2cf8716af3bb Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Mon, 25 Mar 2024 18:20:14 +0800
+Subject: [PATCH] Fix: rotation-destroy-flush: fix session daemon abort if no
+ kernel module present
+
+Testing rotation-destroy-flush when no lttng kernel modules present, it would
+be failed with error message:
+
+  Error: Unable to load required module lttng-ring-buffer-client-discard
+  not ok 1 - Start session daemon
+  Failed test 'Start session daemon'
+  not ok 2 - Create session rotation_destroy_flush in -o /tmp/tmp.test_rot ...
+  ...
+
+This because test script that sets the LTTNG_ABORT_ON_ERROR environment
+variable. It's this environment variable that causes the sessiond to handle the
+kernel module loading failure as an abort rather than a warning.
+
+Using "check_skip_kernel_test" to detect whether the kernel module fails to
+load is expected or not. If the failure is expected, the script won't set that
+environment variable any more.
+
+Fixes: 3a174400
+("tests:add check_skip_kernel_test to check root user and lttng kernel modules")
+
+Upstream-Status: Submitted [https://review.lttng.org/c/lttng-tools/+/12155]
+
+Change-Id: I371e9ba717613e2940186f710cf3cccd35baed6c
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ .../ust/rotation-destroy-flush/test_rotation_destroy_flush  | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush b/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
+index 669bcbc43..64161768f 100755
+--- a/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
++++ b/tests/regression/ust/rotation-destroy-flush/test_rotation_destroy_flush
+@@ -23,11 +23,11 @@ SIZE_LIMIT=$PAGE_SIZE
+ NR_ITER=10
+ NUM_TESTS=$((15*$NR_ITER))
+ 
+-# Ensure the daemons invoke abort on error.
+-export LTTNG_ABORT_ON_ERROR=1
+-
+ source $TESTDIR/utils/utils.sh
+ 
++# Ensure the daemons invoke abort on error.
++check_skip_kernel_test || export LTTNG_ABORT_ON_ERROR=1
++
+ # MUST set TESTDIR before calling those functions
+ function run_app()
+ {
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch
new file mode 100644
index 0000000..2671a19
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch
@@ -0,0 +1,1246 @@
+From cf558f802b259a33605fe0ede4d74ae2ff6be699 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Mon, 12 Feb 2024 09:23:54 -0500
+Subject: [PATCH] tests: add check_skip_kernel_test to check root user and
+ lttng kernel modules
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The current tests will run both userspace and kernel testing. Some of
+use cases only use lttng for one kind of tracing on an embedded
+device (e.g. userspace), so in this scenario, the kernel modules might
+not install to target rootfs, the test cases would be fail and exit.
+
+Add LTTNG_TOOLS_DISABLE_KERNEL_TESTS to skip the lttng kernel features
+test, this flag can be set via "make":
+
+  make check LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1
+
+When this flag was set, all kernel related testcases would be marked as
+SKIP in result.
+
+Since the the LTTNG_TOOLS_DISABLE_KERNEL_TESTS was checked in function
+check_skip_kernel_test, lots of testcases also need to check root
+permission, so merging the root permission checking into
+check_skip_kernel_test.
+
+Upstream-Status: Backport from
+[https://git.lttng.org/?p=lttng-tools.git;a=commit;h=3a1744008331a0604479d3d7461f77056fad3a64]
+
+Change-Id: I49a1f642a9869c21a69e0186c296fd917bd7b525
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
+---
+ tests/destructive/metadata-regeneration       |  8 +----
+ tests/perf/test_perf_raw.in                   |  8 +----
+ tests/regression/kernel/test_all_events       |  8 +----
+ tests/regression/kernel/test_callstack        |  8 +----
+ tests/regression/kernel/test_channel          |  8 +----
+ tests/regression/kernel/test_clock_override   |  8 +----
+ tests/regression/kernel/test_event_basic      |  8 +----
+ tests/regression/kernel/test_kernel_function  |  8 +----
+ tests/regression/kernel/test_lttng_logger     |  8 +----
+ tests/regression/kernel/test_ns_contexts      |  8 +----
+ .../regression/kernel/test_ns_contexts_change |  9 +----
+ .../kernel/test_rotation_destroy_flush        |  8 +----
+ .../regression/kernel/test_select_poll_epoll  |  8 +----
+ tests/regression/kernel/test_syscall          |  8 +----
+ tests/regression/kernel/test_userspace_probe  |  8 +----
+ tests/regression/tools/clear/test_kernel      |  8 +----
+ .../tools/filtering/test_invalid_filter       |  8 +----
+ .../tools/filtering/test_unsupported_op       |  8 +----
+ .../tools/filtering/test_valid_filter         |  8 +----
+ tests/regression/tools/health/test_health.sh  | 10 ++----
+ tests/regression/tools/health/test_thread_ok  |  9 +----
+ tests/regression/tools/live/test_kernel       | 10 +++---
+ tests/regression/tools/live/test_lttng_kernel |  8 +----
+ tests/regression/tools/metadata/test_kernel   |  8 +----
+ .../test_notification_kernel_buffer_usage     | 36 +++++++++----------
+ .../test_notification_kernel_capture          | 23 ++++++------
+ .../test_notification_kernel_error            | 23 ++++++------
+ .../test_notification_kernel_instrumentation  | 23 ++++++------
+ .../test_notification_kernel_syscall          | 19 +++++-----
+ .../test_notification_kernel_userspace_probe  | 20 +++++------
+ .../notification/test_notification_multi_app  | 14 +++-----
+ ...test_notification_notifier_discarded_count |  9 +++--
+ .../tools/regen-metadata/test_kernel          |  8 +----
+ .../tools/regen-statedump/test_kernel         |  8 +----
+ tests/regression/tools/rotation/test_kernel   |  8 +----
+ tests/regression/tools/snapshots/test_kernel  |  8 +----
+ .../tools/snapshots/test_kernel_streaming     |  8 +----
+ .../streaming/test_high_throughput_limits     |  8 +----
+ tests/regression/tools/streaming/test_kernel  |  8 +----
+ .../tools/tracker/test_event_tracker          |  8 +----
+ .../tools/trigger/test_add_trigger_cli        | 12 ++-----
+ .../tools/trigger/test_list_triggers_cli      | 26 +++++---------
+ .../tools/wildcard/test_event_wildcard        |  8 +----
+ .../test_relayd_working_directory             |  4 +--
+ .../ust/namespaces/test_ns_contexts_change    |  7 +---
+ tests/regression/ust/test_event_perf          |  8 +----
+ tests/utils/utils.sh                          | 35 ++++++++++++++++++
+ 47 files changed, 166 insertions(+), 363 deletions(-)
+
+diff --git a/tests/destructive/metadata-regeneration b/tests/destructive/metadata-regeneration
+index b81e7af32..36b130d17 100755
+--- a/tests/destructive/metadata-regeneration
++++ b/tests/destructive/metadata-regeneration
+@@ -185,19 +185,13 @@ function test_ust_streaming ()
+ 	rm -f ${file_sync_before_last}
+ }
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+ if ! destructive_tests_enabled ; then
+ 	echo 'You need to set the LTTNG_ENABLE_DESTRUCTIVE_TESTS to "will-break-my-system" as argument to run this test'
+ 	echo 'Moreover, please make sure that ntp is not running while executing this test'
+ 	exit 0
+ fi
+ 
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test $NUM_TESTS "Skipping all tests." ||
+ {
+ 	start_lttng_relayd "-o $TRACE_PATH"
+ 	start_lttng_sessiond
+diff --git a/tests/perf/test_perf_raw.in b/tests/perf/test_perf_raw.in
+index f293ccd71..d35529a87 100644
+--- a/tests/perf/test_perf_raw.in
++++ b/tests/perf/test_perf_raw.in
+@@ -137,12 +137,6 @@ function test_kernel_raw()
+ 	rm -rf $TRACE_PATH
+ }
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+ # MUST set TESTDIR before calling those functions
+ plan_tests $NUM_TESTS
+ 
+@@ -154,7 +148,7 @@ have_libpfm
+ 
+ test_ust_raw
+ 
+-skip $isroot "Root access is needed for kernel testing, skipping." 9 ||
++check_skip_kernel_test 9 ||
+ {
+ 	modprobe lttng-test
+ 	test_kernel_raw
+diff --git a/tests/regression/kernel/test_all_events b/tests/regression/kernel/test_all_events
+index 2e20888df..044f9b65f 100755
+--- a/tests/regression/kernel/test_all_events
++++ b/tests/regression/kernel/test_all_events
+@@ -43,13 +43,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/kernel/test_callstack b/tests/regression/kernel/test_callstack
+index a4477fd7c..d8d6b5e0f 100755
+--- a/tests/regression/kernel/test_callstack
++++ b/tests/regression/kernel/test_callstack
+@@ -134,13 +134,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/kernel/test_channel b/tests/regression/kernel/test_channel
+index 9cc74c4e8..4c377bd2a 100755
+--- a/tests/regression/kernel/test_channel
++++ b/tests/regression/kernel/test_channel
+@@ -47,13 +47,7 @@ function test_channel_buffer_too_large()
+ plan_tests $NUM_TESTS
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	start_lttng_sessiond
+ 
+diff --git a/tests/regression/kernel/test_clock_override b/tests/regression/kernel/test_clock_override
+index 72892898b..48a3f926a 100755
+--- a/tests/regression/kernel/test_clock_override
++++ b/tests/regression/kernel/test_clock_override
+@@ -172,13 +172,7 @@ TESTS=(
+ TEST_COUNT=${#TESTS[@]}
+ i=0
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	trap signal_cleanup SIGTERM SIGINT
+diff --git a/tests/regression/kernel/test_event_basic b/tests/regression/kernel/test_event_basic
+index ac9ec0549..387e2f733 100755
+--- a/tests/regression/kernel/test_event_basic
++++ b/tests/regression/kernel/test_event_basic
+@@ -73,13 +73,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test $NUM_TESTS "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/kernel/test_kernel_function b/tests/regression/kernel/test_kernel_function
+index b1d5491fc..ea16cdeef 100755
+--- a/tests/regression/kernel/test_kernel_function
++++ b/tests/regression/kernel/test_kernel_function
+@@ -43,13 +43,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	start_lttng_sessiond_notap
+ 	validate_lttng_modules_present
+diff --git a/tests/regression/kernel/test_lttng_logger b/tests/regression/kernel/test_lttng_logger
+index b8f7ded82..00eaae823 100755
+--- a/tests/regression/kernel/test_lttng_logger
++++ b/tests/regression/kernel/test_lttng_logger
+@@ -110,13 +110,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/kernel/test_ns_contexts b/tests/regression/kernel/test_ns_contexts
+index 0c8718d78..59e2568f6 100755
+--- a/tests/regression/kernel/test_ns_contexts
++++ b/tests/regression/kernel/test_ns_contexts
+@@ -108,13 +108,7 @@ plan_tests $NUM_TESTS
+ print_test_banner "$TEST_DESC"
+ 
+ 
+-isroot=0
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0
+-
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0
+ 
+ system_has_ns=0
+ if [ -d "/proc/$$/ns" ]; then
+diff --git a/tests/regression/kernel/test_ns_contexts_change b/tests/regression/kernel/test_ns_contexts_change
+index 42a61276b..3f5e4eeab 100755
+--- a/tests/regression/kernel/test_ns_contexts_change
++++ b/tests/regression/kernel/test_ns_contexts_change
+@@ -162,14 +162,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-
+-isroot=0
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0
+-
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0
+ 
+ system_has_ns=0
+ if [ -d "/proc/$$/ns" ]; then
+diff --git a/tests/regression/kernel/test_rotation_destroy_flush b/tests/regression/kernel/test_rotation_destroy_flush
+index cb773d7df..0af514b49 100755
+--- a/tests/regression/kernel/test_rotation_destroy_flush
++++ b/tests/regression/kernel/test_rotation_destroy_flush
+@@ -120,13 +120,7 @@ TESTS=(
+ TEST_COUNT=${#TESTS[@]}
+ i=0
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	trap signal_cleanup SIGTERM SIGINT
+diff --git a/tests/regression/kernel/test_select_poll_epoll b/tests/regression/kernel/test_select_poll_epoll
+index d8245a0e7..20f0ef0ae 100755
+--- a/tests/regression/kernel/test_select_poll_epoll
++++ b/tests/regression/kernel/test_select_poll_epoll
+@@ -374,13 +374,7 @@ if test $? != 0; then
+ 	exit 0
+ fi
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 
+diff --git a/tests/regression/kernel/test_syscall b/tests/regression/kernel/test_syscall
+index 401a18a8d..219d94703 100755
+--- a/tests/regression/kernel/test_syscall
++++ b/tests/regression/kernel/test_syscall
+@@ -664,13 +664,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/kernel/test_userspace_probe b/tests/regression/kernel/test_userspace_probe
+index 1091ee65e..5d984d666 100755
+--- a/tests/regression/kernel/test_userspace_probe
++++ b/tests/regression/kernel/test_userspace_probe
+@@ -815,13 +815,7 @@ fi
+ plan_tests $NUM_TESTS
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/tools/clear/test_kernel b/tests/regression/tools/clear/test_kernel
+index 06fb1c368..48250a742 100755
+--- a/tests/regression/tools/clear/test_kernel
++++ b/tests/regression/tools/clear/test_kernel
+@@ -536,12 +536,6 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+ streaming_tests=(test_kernel_streaming
+ 	test_kernel_streaming_rotate_clear
+ 	test_kernel_streaming_clear_rotate
+@@ -563,7 +557,7 @@ snapshot_tests=(test_kernel_streaming_snapshot
+ 	test_kernel_local_snapshot
+ )
+ 
+-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping kernel streaming tests." ||
+ {
+ 	trap signal_cleanup SIGTERM SIGINT
+ 
+diff --git a/tests/regression/tools/filtering/test_invalid_filter b/tests/regression/tools/filtering/test_invalid_filter
+index 7d9e524d9..8435e5546 100755
+--- a/tests/regression/tools/filtering/test_invalid_filter
++++ b/tests/regression/tools/filtering/test_invalid_filter
+@@ -168,13 +168,7 @@ done
+ 
+ test_bytecode_limit -u
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel invalid filter tests." $NUM_KERNEL_TESTS ||
++check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel invalid filter tests." ||
+ {
+ 	diag "Test kernel filters"
+ 	i=0
+diff --git a/tests/regression/tools/filtering/test_unsupported_op b/tests/regression/tools/filtering/test_unsupported_op
+index 299247a3c..91eb86d21 100755
+--- a/tests/regression/tools/filtering/test_unsupported_op
++++ b/tests/regression/tools/filtering/test_unsupported_op
+@@ -103,13 +103,7 @@ while [ "$i" -lt "$OP_COUNT" ]; do
+ 	let "i++"
+ done
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel unsupported filter operations tests." $NUM_KERNEL_TESTS ||
++check_skip_kernel_test $NUM_KERNEL_TESTS "Skipping kernel unsupported filter operations tests." ||
+ {
+ 	diag "Test kernel unsupported filter operations"
+ 
+diff --git a/tests/regression/tools/filtering/test_valid_filter b/tests/regression/tools/filtering/test_valid_filter
+index e76ffa25f..1ba7c79bb 100755
+--- a/tests/regression/tools/filtering/test_valid_filter
++++ b/tests/regression/tools/filtering/test_valid_filter
+@@ -1452,13 +1452,7 @@ KERNEL_FILTERS=(
+ 
+ IFS=$OLDIFS
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel valid filter tests." $NUM_KERNEL_TESTS ||
++check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel valid filter tests." ||
+ {
+ 	diag "Test kernel valid filters"
+ 
+diff --git a/tests/regression/tools/health/test_health.sh b/tests/regression/tools/health/test_health.sh
+index b3d6419d2..68716e6b9 100644
+--- a/tests/regression/tools/health/test_health.sh
++++ b/tests/regression/tools/health/test_health.sh
+@@ -82,7 +82,7 @@ function test_health
+ 		diag "With UST consumer daemons"
+ 		enable_ust_lttng_event_ok $SESSION_NAME $UST_EVENT_NAME $CHANNEL_NAME
+ 
+-		skip $isroot "Root access is needed. Skipping kernel consumer health check test." "1" ||
++		check_skip_kernel_test "1" "Skipping kernel consumer health check test." ||
+ 		{
+ 			diag "With kernel consumer daemon"
+ 			lttng_enable_kernel_event $SESSION_NAME $KERNEL_EVENT_NAME $CHANNEL_NAME
+@@ -113,7 +113,7 @@ function test_health
+ 
+ 
+ 	if [ ${test_needs_root} -eq 1 ]; then
+-		skip ${isroot} "Root access needed for test \"${test_thread_name}\"." "1" ||
++		check_skip_kernel_test "1" "Skipping \"${test_thread_name}\"." ||
+ 		{
+ 			report_errors "${test_thread_error_string}" "${test_relayd}"
+ 		}
+@@ -276,12 +276,6 @@ STDERR_PATH=$(mktemp --tmpdir tmp.test_health_stderr_path.XXXXXX)
+ TRACE_PATH=$(mktemp --tmpdir -d tmp.test_health_trace_path.XXXXXX)
+ HEALTH_PATH=$(mktemp --tmpdir -d tmp.test_health_trace_path.XXXXXX)
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+ THREAD_COUNT=${#THREAD[@]}
+ i=0
+ while [ "$i" -lt "$THREAD_COUNT" ]; do
+diff --git a/tests/regression/tools/health/test_thread_ok b/tests/regression/tools/health/test_thread_ok
+index e84adb611..e5e23543f 100755
+--- a/tests/regression/tools/health/test_thread_ok
++++ b/tests/regression/tools/health/test_thread_ok
+@@ -67,7 +67,7 @@ function test_thread_ok
+ 	$CURDIR/$HEALTH_CHECK_BIN > ${STDOUT_PATH} 2> ${STDERR_PATH}
+ 	report_errors
+ 
+-	skip $isroot "Root access is needed. Skipping kernel consumer health check test." "5" ||
++	check_skip_kernel_test "5" "Skipping kernel consumer health check test." ||
+ 	{
+ 		diag "With kernel consumer daemon"
+ 		create_lttng_session_no_output $SESSION_NAME
+@@ -115,13 +115,6 @@ STDERR_PATH=$(mktemp --tmpdir tmp.test_thread_ok_stderr_path.XXXXXX)
+ TRACE_PATH=$(mktemp --tmpdir -d tmp.test_thread_ok_trace_path.XXXXXX)
+ HEALTH_PATH=$(mktemp --tmpdir -d tmp.test_thread_ok_trace_path.XXXXXX)
+ 
+-# The manage kernel thread is only spawned if we are root
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+ test_thread_ok
+ 
+ rm -rf ${HEALTH_PATH}
+diff --git a/tests/regression/tools/live/test_kernel b/tests/regression/tools/live/test_kernel
+index b622b5214..fdaa09f0d 100755
+--- a/tests/regression/tools/live/test_kernel
++++ b/tests/regression/tools/live/test_kernel
+@@ -39,13 +39,11 @@ function clean_live_tracing()
+ 	rm -rf $TRACE_PATH
+ }
+ 
+-# Need root access for kernel tracing.
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	plan_skip_all "Root access is needed. Skipping all tests."
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
+ 	exit 0
+-fi
++}
+ 
+ modprobe lttng-test
+ 
+diff --git a/tests/regression/tools/live/test_lttng_kernel b/tests/regression/tools/live/test_lttng_kernel
+index a23d9373a..1b933648f 100755
+--- a/tests/regression/tools/live/test_lttng_kernel
++++ b/tests/regression/tools/live/test_lttng_kernel
+@@ -45,13 +45,7 @@ function clean_live_tracing()
+ }
+ 
+ # Need root access for kernel tracing.
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	modprobe lttng-test
+ 
+diff --git a/tests/regression/tools/metadata/test_kernel b/tests/regression/tools/metadata/test_kernel
+index 57cace6ea..26e95d93a 100755
+--- a/tests/regression/tools/metadata/test_kernel
++++ b/tests/regression/tools/metadata/test_kernel
+@@ -91,13 +91,7 @@ plan_tests $NUM_TESTS
+ print_test_banner "$TEST_DESC"
+ 
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel metadata tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping kernel metadata tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	modprobe lttng-test
+diff --git a/tests/regression/tools/notification/test_notification_kernel_buffer_usage b/tests/regression/tools/notification/test_notification_kernel_buffer_usage
+index 76e69a77e..8fdaabb3e 100755
+--- a/tests/regression/tools/notification/test_notification_kernel_buffer_usage
++++ b/tests/regression/tools/notification/test_notification_kernel_buffer_usage
+@@ -60,29 +60,27 @@ function test_buffer_usage_notification
+ 	wait $APP_PID 2> /dev/null
+ }
+ 
+-if [ "$(id -u)" == "0" ]; then
+-
+-	validate_lttng_modules_present
+-
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
++	rm -rf "$TEST_TMPDIR"
++	exit 0
++}
+ 
+-	modprobe lttng-test
++validate_lttng_modules_present
+ 
+-	# Used on sessiond launch.
+-	LTTNG_SESSIOND_ENV_VARS="LTTNG_TESTPOINT_ENABLE=1 \
+-		CONSUMER_PAUSE_PIPE_PATH=${TESTPOINT_PIPE_PATH} \
+-		LD_PRELOAD=${TESTPOINT}"
+-	start_lttng_sessiond_notap
++modprobe lttng-test
+ 
+-	test_buffer_usage_notification
++# Used on sessiond launch.
++LTTNG_SESSIOND_ENV_VARS="LTTNG_TESTPOINT_ENABLE=1 \
++	CONSUMER_PAUSE_PIPE_PATH=${TESTPOINT_PIPE_PATH} \
++	LD_PRELOAD=${TESTPOINT}"
++start_lttng_sessiond_notap
+ 
+-	stop_lttng_sessiond_notap
+-	rmmod lttng-test
++test_buffer_usage_notification
+ 
+-	rm -rf "${consumerd_pipe[@]}" 2> /dev/null
+-else
+-	# Kernel tests are skipped.
+-	plan_tests $NUM_TESTS
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
+-fi
++stop_lttng_sessiond_notap
++rmmod lttng-test
+ 
++rm -rf "${consumerd_pipe[@]}" 2> /dev/null
+ rm -rf "$TEST_TMPDIR"
+diff --git a/tests/regression/tools/notification/test_notification_kernel_capture b/tests/regression/tools/notification/test_notification_kernel_capture
+index 88f123d3d..0f8a2bc6f 100755
+--- a/tests/regression/tools/notification/test_notification_kernel_capture
++++ b/tests/regression/tools/notification/test_notification_kernel_capture
+@@ -31,22 +31,21 @@ function test_basic_error_path
+ }
+ 
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	validate_lttng_modules_present
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
++	exit 0
++}
+ 
+-	modprobe lttng-test
++validate_lttng_modules_present
+ 
+-	start_lttng_sessiond_notap
++modprobe lttng-test
+ 
+-	test_basic_error_path
++start_lttng_sessiond_notap
+ 
+-	stop_lttng_sessiond_notap
+-	rmmod lttng-test
++test_basic_error_path
+ 
+-else
+-	# Kernel tests are skipped.
+-	plan_tests $NUM_TESTS
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
+-fi
++stop_lttng_sessiond_notap
++rmmod lttng-test
+ 
+ rm -f "$TESTAPP_STATE_PATH"
+diff --git a/tests/regression/tools/notification/test_notification_kernel_error b/tests/regression/tools/notification/test_notification_kernel_error
+index 80fe6e5b5..b757ec2b4 100755
+--- a/tests/regression/tools/notification/test_notification_kernel_error
++++ b/tests/regression/tools/notification/test_notification_kernel_error
+@@ -30,23 +30,22 @@ function test_basic_error_path
+ 	wait $APP_PID 2> /dev/null
+ }
+ 
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
++	exit 0
++}
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	validate_lttng_modules_present
++validate_lttng_modules_present
+ 
+-	modprobe lttng-test
++modprobe lttng-test
+ 
+-	start_lttng_sessiond_notap
++start_lttng_sessiond_notap
+ 
+-	test_basic_error_path
++test_basic_error_path
+ 
+-	stop_lttng_sessiond_notap
+-	rmmod lttng-test
++stop_lttng_sessiond_notap
++rmmod lttng-test
+ 
+-else
+-	# Kernel tests are skipped.
+-	plan_tests $NUM_TESTS
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
+-fi
+ 
+ rm -f "$TESTAPP_STATE_PATH"
+diff --git a/tests/regression/tools/notification/test_notification_kernel_instrumentation b/tests/regression/tools/notification/test_notification_kernel_instrumentation
+index 90545a541..705f7703d 100755
+--- a/tests/regression/tools/notification/test_notification_kernel_instrumentation
++++ b/tests/regression/tools/notification/test_notification_kernel_instrumentation
+@@ -28,22 +28,21 @@ function test_kernel_instrumentation_notification
+ 	wait $APP_PID 2> /dev/null
+ }
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	validate_lttng_modules_present
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
++	exit 0
++}
+ 
+-	modprobe lttng-test
++validate_lttng_modules_present
+ 
+-	start_lttng_sessiond_notap
++modprobe lttng-test
+ 
+-	test_kernel_instrumentation_notification
++start_lttng_sessiond_notap
+ 
+-	stop_lttng_sessiond_notap
+-	rmmod lttng-test
++test_kernel_instrumentation_notification
+ 
+-else
+-	# Kernel tests are skipped.
+-	plan_tests $NUM_TESTS
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
+-fi
++stop_lttng_sessiond_notap
++rmmod lttng-test
+ 
+ rm -f "$TESTAPP_STATE_PATH"
+diff --git a/tests/regression/tools/notification/test_notification_kernel_syscall b/tests/regression/tools/notification/test_notification_kernel_syscall
+index d273cb55d..7fa235388 100755
+--- a/tests/regression/tools/notification/test_notification_kernel_syscall
++++ b/tests/regression/tools/notification/test_notification_kernel_syscall
+@@ -31,19 +31,18 @@ function test_kernel_syscall_notification
+ 	wait $APP_PID 2> /dev/null
+ }
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	validate_lttng_modules_present
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
++	exit 0
++}
+ 
+-	start_lttng_sessiond_notap
++validate_lttng_modules_present
+ 
+-	test_kernel_syscall_notification
++start_lttng_sessiond_notap
+ 
+-	stop_lttng_sessiond_notap
++test_kernel_syscall_notification
+ 
+-else
+-	# Kernel tests are skipped.
+-	plan_tests $NUM_TESTS
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
+-fi
++stop_lttng_sessiond_notap
+ 
+ rm -f "$TESTAPP_STATE_PATH"
+diff --git a/tests/regression/tools/notification/test_notification_kernel_userspace_probe b/tests/regression/tools/notification/test_notification_kernel_userspace_probe
+index 8ef8d708d..abddd9be7 100755
+--- a/tests/regression/tools/notification/test_notification_kernel_userspace_probe
++++ b/tests/regression/tools/notification/test_notification_kernel_userspace_probe
+@@ -29,18 +29,18 @@ function test_kernel_userspace_probe_notification
+ 	wait $APP_PID 2> /dev/null
+ }
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	validate_lttng_modules_present
++check_skip_kernel_test &&
++{
++	plan_skip_all "Skipping all tests."
++	exit 0
++}
++
++validate_lttng_modules_present
+ 
+-	start_lttng_sessiond_notap
++start_lttng_sessiond_notap
+ 
+-	test_kernel_userspace_probe_notification
++test_kernel_userspace_probe_notification
+ 
+-	stop_lttng_sessiond_notap
+-else
+-	# Kernel tests are skipped.
+-	plan_tests $NUM_TESTS
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $NUM_TESTS
+-fi
++stop_lttng_sessiond_notap
+ 
+ rm -f "$TESTAPP_STATE_PATH"
+diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app
+index d8b639225..61891b56f 100755
+--- a/tests/regression/tools/notification/test_notification_multi_app
++++ b/tests/regression/tools/notification/test_notification_multi_app
+@@ -411,22 +411,18 @@ function test_on_register_evaluation ()
+ 	rm -rf "$output_dir"
+ }
+ 
+-
+ TESTS=(
+ 	test_multi_app_ust
+ 	test_on_register_evaluation_ust
+ )
+ 
+-if [ "$(id -u)" == "0" ]; then
++check_skip_kernel_test "$NUM_TEST_KERNEL" "Skipping kernel multi-app notification tests." || {
+ 	validate_lttng_modules_present
+ 	TESTS+=(
+-	test_multi_app_kernel
+-	test_on_register_evaluation_kernel
+-)
+-else
+-        skip 0 "Root access is needed. Skipping all kernel multi-app notification tests." $NUM_TEST_KERNEL
+-fi
+-
++		test_multi_app_kernel
++		test_on_register_evaluation_kernel
++	)
++}
+ 
+ for fct_test in ${TESTS[@]};
+ do
+diff --git a/tests/regression/tools/notification/test_notification_notifier_discarded_count b/tests/regression/tools/notification/test_notification_notifier_discarded_count
+index c9235393e..a6c31a728 100755
+--- a/tests/regression/tools/notification/test_notification_notifier_discarded_count
++++ b/tests/regression/tools/notification/test_notification_notifier_discarded_count
+@@ -391,7 +391,8 @@ function test_ust_notifier_discarded_regardless_trigger_owner
+ test_ust_notifier_discarded_count
+ test_ust_notifier_discarded_count_max_bucket
+ 
+-if [ "$(id -u)" == "0" ]; then
++check_skip_kernel_test "$KERNEL_NUM_TESTS" "Skipping kernel notification tests." ||
++{
+ 
+ 	validate_lttng_modules_present
+ 
+@@ -413,9 +414,7 @@ if [ "$(id -u)" == "0" ]; then
+ 	modprobe --remove lttng-test
+ 
+ 	rm -rf "${sessiond_pipe[@]}" 2> /dev/null
+-else
+-	# Kernel tests are skipped.
+-	skip 0 "Root access is needed. Skipping all kernel notification tests." $KERNEL_NUM_TESTS
+-fi
++
++}
+ 
+ rm -rf "$TEST_TMPDIR"
+diff --git a/tests/regression/tools/regen-metadata/test_kernel b/tests/regression/tools/regen-metadata/test_kernel
+index 49eea32a7..555a4e2ce 100755
+--- a/tests/regression/tools/regen-metadata/test_kernel
++++ b/tests/regression/tools/regen-metadata/test_kernel
+@@ -99,13 +99,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 
+diff --git a/tests/regression/tools/regen-statedump/test_kernel b/tests/regression/tools/regen-statedump/test_kernel
+index 8a261355d..bbbac3942 100755
+--- a/tests/regression/tools/regen-statedump/test_kernel
++++ b/tests/regression/tools/regen-statedump/test_kernel
+@@ -39,13 +39,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 	start_lttng_sessiond
+diff --git a/tests/regression/tools/rotation/test_kernel b/tests/regression/tools/rotation/test_kernel
+index f5f1f5553..efe3fd359 100755
+--- a/tests/regression/tools/rotation/test_kernel
++++ b/tests/regression/tools/rotation/test_kernel
+@@ -82,13 +82,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 
+diff --git a/tests/regression/tools/snapshots/test_kernel b/tests/regression/tools/snapshots/test_kernel
+index abb243563..d91876867 100755
+--- a/tests/regression/tools/snapshots/test_kernel
++++ b/tests/regression/tools/snapshots/test_kernel
+@@ -217,13 +217,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel snapshot tests" $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 
+ 	validate_lttng_modules_present
+diff --git a/tests/regression/tools/snapshots/test_kernel_streaming b/tests/regression/tools/snapshots/test_kernel_streaming
+index 0c92dc710..dd965afee 100755
+--- a/tests/regression/tools/snapshots/test_kernel_streaming
++++ b/tests/regression/tools/snapshots/test_kernel_streaming
+@@ -145,13 +145,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel streaming tests" $NUM_TESTS ||
++check_skip_kernel_test $NUM_TESTS "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 
+diff --git a/tests/regression/tools/streaming/test_high_throughput_limits b/tests/regression/tools/streaming/test_high_throughput_limits
+index 2b9e3ad39..c55d51098 100755
+--- a/tests/regression/tools/streaming/test_high_throughput_limits
++++ b/tests/regression/tools/streaming/test_high_throughput_limits
+@@ -170,13 +170,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed to set bandwith limits. Skipping all tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 
+ 	# Catch sigint and try to cleanup limits
+diff --git a/tests/regression/tools/streaming/test_kernel b/tests/regression/tools/streaming/test_kernel
+index 33334229f..113eea7bf 100755
+--- a/tests/regression/tools/streaming/test_kernel
++++ b/tests/regression/tools/streaming/test_kernel
+@@ -47,13 +47,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel streaming tests." $NUM_TESTS ||
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." ||
+ {
+ 	validate_lttng_modules_present
+ 
+diff --git a/tests/regression/tools/tracker/test_event_tracker b/tests/regression/tools/tracker/test_event_tracker
+index cc0f698d2..de0c79d36 100755
+--- a/tests/regression/tools/tracker/test_event_tracker
++++ b/tests/regression/tools/tracker/test_event_tracker
+@@ -466,13 +466,7 @@ test_event_track_untrack ust 0 "${EVENT_NAME}" "--pid --all"	# backward compat
+ test_event_tracker ust 1 "${EVENT_NAME}" "--pid --all"	# backward compat
+ test_event_pid_tracker ust 1 "${EVENT_NAME}"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel tracker tests." $NUM_KERNEL_TESTS ||
++check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel tracker tests." ||
+ {
+ 	diag "Test kernel tracker"
+ 
+diff --git a/tests/regression/tools/trigger/test_add_trigger_cli b/tests/regression/tools/trigger/test_add_trigger_cli
+index 98ecf6272..d1763aa2e 100755
+--- a/tests/regression/tools/trigger/test_add_trigger_cli
++++ b/tests/regression/tools/trigger/test_add_trigger_cli
+@@ -34,12 +34,6 @@ tmp_stdout=$(mktemp --tmpdir -t test_parse_cli_trigger_stdout.XXXXXX)
+ tmp_stderr=$(mktemp --tmpdir -t test_parse_cli_trigger_stderr.XXXXXX)
+ uprobe_elf_binary="${TESTDIR}/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	ist_root=1
+-else
+-	ist_root=0
+-fi
+-
+ function test_success ()
+ {
+ 	local test_name="$1"
+@@ -223,7 +217,7 @@ test_success "--exclude-name two" "trigger5" \
+ 	--condition event-rule-matches --type=user --name='jean-*' --exclude-name jean-chretien -x jean-charest \
+ 	--action notify
+ 
+-skip $ist_root "non-root user: skipping kprobe tests" 18 || {
++check_skip_kernel_test 18 "Skipping kprobe tests." || {
+ 	i=0
+ 
+ 	for type in kprobe kernel:kprobe; do
+@@ -262,7 +256,7 @@ skip $ist_root "non-root user: skipping kprobe tests" 18 || {
+ 	done
+ }
+ 
+-skip $ist_root "non-root user: skipping uprobe tests" 6 || {
++check_skip_kernel_test 6 "Skipping uprobe tests." || {
+ 	test_success "--condition event-rule-matches uprobe" "uprobe-trigger-0" \
+ 		--name="uprobe-trigger-0" \
+ 		--condition event-rule-matches --type=kernel:uprobe --location=${uprobe_elf_binary}:test_function --event-name=ma-probe \
+@@ -274,7 +268,7 @@ skip $ist_root "non-root user: skipping uprobe tests" 6 || {
+ 		--action notify
+ }
+ 
+-skip $ist_root "non-root user: skipping syscall tests" 30 || {
++check_skip_kernel_test 30 "Skipping syscall tests." || {
+ 	test_success "--condition event-rule-matches one syscall" "syscall-trigger-0" \
+ 		--name="syscall-trigger-0" \
+ 		--condition event-rule-matches --type=syscall --name=open \
+diff --git a/tests/regression/tools/trigger/test_list_triggers_cli b/tests/regression/tools/trigger/test_list_triggers_cli
+index a04018013..02c3de3e9 100755
+--- a/tests/regression/tools/trigger/test_list_triggers_cli
++++ b/tests/regression/tools/trigger/test_list_triggers_cli
+@@ -36,22 +36,12 @@ uprobe_sdt_binary=$(realpath "${TESTDIR}/utils/testapp/userspace-probe-sdt-binar
+ register_some_triggers_bin=$(realpath "${CURDIR}/utils/register-some-triggers")
+ 
+ uid=$(id --user)
+-gid=$(id --group)
+ 
+-if [ "$uid" == "0" ]; then
+-	ist_root=1
+-	ls "$uprobe_sdt_binary" >/dev/null 2>&1
+-	if test $? == 0; then
+-		hast_sdt_binary=1
+-	else
+-		hast_sdt_binary=0
+-	fi
+-else
+-	ist_root=0
+-	hast_sdt_binary=0
++sdt_binary_present=0
++if [ -f "$uprobe_sdt_binary" ]; then
++	sdt_binary_present=1
+ fi
+ 
+-
+ test_top_level_options ()
+ {
+ 	diag "Listing top level options"
+@@ -2695,10 +2685,12 @@ start_lttng_sessiond_notap
+ 
+ test_top_level_options
+ test_event_rule_matches_tracepoint
+-skip $ist_root "non-root user: skipping kprobe tests" 13 || test_event_rule_matches_probe
+-skip $ist_root "non-root user: skipping uprobe tests" 9 || test_event_rule_matches_userspace_probe_elf
+-skip $(($ist_root && $hast_sdt_binary)) "skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt
+-skip $ist_root "non-root user: skipping syscall tests" 17 || test_event_rule_matches_syscall
++check_skip_kernel_test 48 "Skipping kprobe, uprobe, SDT and syscall tests." || {
++	test_event_rule_matches_probe
++	test_event_rule_matches_userspace_probe_elf
++	skip $sdt_binary_present "No SDT binary. Skipping userspace probe SDT tests" 9 || test_event_rule_matches_userspace_probe_sdt
++	test_event_rule_matches_syscall
++}
+ test_session_consumed_size_condition
+ test_buffer_usage_conditions
+ test_session_rotation_conditions
+diff --git a/tests/regression/tools/wildcard/test_event_wildcard b/tests/regression/tools/wildcard/test_event_wildcard
+index f69baffc4..14d9bb88a 100755
+--- a/tests/regression/tools/wildcard/test_event_wildcard
++++ b/tests/regression/tools/wildcard/test_event_wildcard
+@@ -124,13 +124,7 @@ test_event_wildcard ust 1 'tp*tptest'
+ test_event_wildcard ust 1 'tp**tptest'
+ test_event_wildcard ust 1 'tp*test'
+ 
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-else
+-	isroot=0
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all kernel wildcard tests." $NUM_KERNEL_TESTS ||
++check_skip_kernel_test "$NUM_KERNEL_TESTS" "Skipping kernel wildcard tests." ||
+ {
+ 	diag "Test kernel wildcards"
+ 
+diff --git a/tests/regression/tools/working-directory/test_relayd_working_directory b/tests/regression/tools/working-directory/test_relayd_working_directory
+index c7e784cca..6bd1e504a 100755
+--- a/tests/regression/tools/working-directory/test_relayd_working_directory
++++ b/tests/regression/tools/working-directory/test_relayd_working_directory
+@@ -145,9 +145,9 @@ function test_relayd_debug_permission()
+ 	diag "Test lttng-relayd change working directory on non writable directory"
+ 
+ 	if [ "$(id -u)" == "0" ]; then
+-	    is_user=0
++		is_user=0
+ 	else
+-	    is_user=1
++		is_user=1
+ 	fi
+ 
+ 	skip $is_user "Skipping permission debug output test; operation can't fail as root" 6 ||
+diff --git a/tests/regression/ust/namespaces/test_ns_contexts_change b/tests/regression/ust/namespaces/test_ns_contexts_change
+index 8a4b62ce3..622241f7b 100755
+--- a/tests/regression/ust/namespaces/test_ns_contexts_change
++++ b/tests/regression/ust/namespaces/test_ns_contexts_change
+@@ -101,12 +101,7 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-isroot=0
+-if [ "$(id -u)" == "0" ]; then
+-	isroot=1
+-fi
+-
+-skip $isroot "Root access is needed. Skipping all tests." "$NUM_TESTS" && exit 0
++check_skip_kernel_test "$NUM_TESTS" "Skipping all tests." && exit 0
+ 
+ system_has_ns=0
+ if [ -d "/proc/$$/ns" ]; then
+diff --git a/tests/regression/ust/test_event_perf b/tests/regression/ust/test_event_perf
+index 33aab2981..178959a19 100755
+--- a/tests/regression/ust/test_event_perf
++++ b/tests/regression/ust/test_event_perf
+@@ -119,17 +119,11 @@ plan_tests $NUM_TESTS
+ 
+ print_test_banner "$TEST_DESC"
+ 
+-if [ "$(id -u)" == "0" ]; then
+-        isroot=1
+-else
+-        isroot=0
+-fi
+-
+ start_lttng_sessiond
+ 
+ test_parsing_raw
+ 
+-skip $isroot "Root access is needed. Skipping UST perf tests." 8 ||
++check_skip_kernel_test 8 "Skipping UST perf tests." ||
+ {
+ 	test_event_basic
+ }
+diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh
+index faa87e783..da0e0569d 100644
+--- a/tests/utils/utils.sh
++++ b/tests/utils/utils.sh
+@@ -318,6 +318,41 @@ function conf_proc_count()
+ 	echo
+ }
+ 
++# Usage:
++# check_skip_kernel_test [NB_TESTS] [SKIP_MESSAGE]
++# Return 0 if LTTNG_TOOLS_DISABLE_KERNEL_TESTS was set or the current user is not a root user
++# If NB_TESTS is set, call skip() to skip number of tests.
++# If NB_TESTS is empty, just output a reason with diag.
++# An optional message can be added.
++
++function check_skip_kernel_test ()
++{
++	local num_tests="$1"
++	local skip_message="$2"
++
++	# Check for skip test kernel flag
++	if [ "$LTTNG_TOOLS_DISABLE_KERNEL_TESTS" == "1" ]; then
++		if ! test -z "$num_tests"; then
++			skip 0 "LTTNG_TOOLS_DISABLE_KERNEL_TESTS was set.${skip_message+ }${skip_message}" "$num_tests"
++		else
++			diag "LTTNG_TOOLS_DISABLE_KERNEL_TESTS was set.${skip_message+ }${skip_message}"
++		fi
++		return 0
++	fi
++
++	# Check if we are running as root
++	if [ "$(id -u)" != "0" ]; then
++		if ! test -z "$num_tests"; then
++			skip 0 "Root access is needed for kernel testing.${skip_message+ }${skip_message}" "$num_tests"
++		else
++			diag "Root access is needed for kernel testing.${skip_message+ }${skip_message}"
++		fi
++		return 0
++	fi
++
++	return 1
++}
++
+ # Check if base lttng-modules are present.
+ # Bail out on failure
+ function validate_lttng_modules_present ()
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
index bf99322..39d93e2 100755
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest
@@ -1,8 +1,33 @@
 #!/bin/sh
 # Without --ignore-exit, the tap harness causes any FAILs within a
 # test plan to raise ERRORs; this is just noise.
+
+#Detecting whether current system has lttng kernel modules
+LTTNG_KMOD_PATH=/lib/modules/$(uname -r)/kernel/lttng-modules/lttng-tracer.ko
+function validate_lttng_modules_present()
+{
+	# Check for loadable modules.
+	if [ -f "$LTTNG_KMOD_PATH" ]; then
+		return 0
+	fi
+
+	# Check for builtin modules.
+	ls /proc/lttng > /dev/null 2>&1
+	if [ $? -eq 0 ]; then
+		return 0
+	fi
+
+	return 1
+}
+
 export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs
 makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=FIXMEPTESTPATH top_builddir=FIXMEPTESTPATH"
+
+#If current system doesn't have lttng kernel modules, disable lttng kernel related tests.
+validate_lttng_modules_present || {
+	makeargs="$makeargs LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1"
+}
+
 make -k -t all >error.log 2>&1
 # Can specify a test e.g.:
 # -C tests/regression/ check TESTS='kernel/test_callstack'
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb
index 44415fb..f6abd9e 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.11.bb
@@ -37,6 +37,8 @@
            file://lttng-sessiond.service \
            file://disable-tests.patch \
            file://0001-compat-Define-off64_t-as-off_t-on-linux.patch \
+           file://0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch \
+           file://0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch \
            "
 
 SRC_URI[sha256sum] = "ac5baeef9fa690936b1ca01ecd1742da762c2c08511ff1b4e923938d94d0f979"
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 4f26813..6c4ee4a 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -230,14 +230,18 @@
     if [ -e "${S}/tools/perf/Makefile.perf" ]; then
         sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
             ${S}/tools/perf/Makefile.perf
+        # Variant with linux-yocto-specific patch
         sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(PYTHON_SITEPACKAGES_DIR)' --root='\$(DESTDIR)',g" \
             ${S}/tools/perf/Makefile.perf
+        # Variant for mainline Linux
+        sed -i -e "s,root='/\$(DESTDIR_SQ)',prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(PYTHON_SITEPACKAGES_DIR)' --root='/\$(DESTDIR_SQ)',g" \
+            ${S}/tools/perf/Makefile.perf
         # backport https://github.com/torvalds/linux/commit/e4ffd066ff440a57097e9140fa9e16ceef905de8
         sed -i -e 's,\($(Q)$(SHELL) .$(arch_errno_tbl).\) $(CC) $(arch_errno_hdr_dir),\1 $(firstword $(CC)) $(arch_errno_hdr_dir),g' \
             ${S}/tools/perf/Makefile.perf
     fi
     sed -i -e "s,--root='/\$(DESTDIR_SQ)',--prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \
-        ${S}/tools/perf/Makefile*
+        ${S}/tools/perf/Makefile
 
     if [ -e "${S}/tools/build/Makefile.build" ]; then
         sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
@@ -382,7 +386,7 @@
 RDEPENDS:${PN}-archive =+ "bash"
 RDEPENDS:${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
 RDEPENDS:${PN}-perl =+ "bash perl perl-modules"
-RDEPENDS:${PN}-tests =+ "python3 bash"
+RDEPENDS:${PN}-tests =+ "python3 bash perl"
 
 RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests \
                     ${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl', '', d)} \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.11.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.11.bb
index 363d126..2be4061 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.11.bb
@@ -12,7 +12,7 @@
            file://0001-connect-has-a-different-signature-on-musl.patch \
            "
 
-SRC_URI[sha256sum] = "0e1ec0d0b8f2d3d314a397399cd01dfc50c02ac088176996f934758119075ea9"
+SRC_URI[sha256sum] = "07766425ecb5bf857ab5ad3962321c55cd89f9386b720843f9df71c0a455eb9b"
 
 DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
 RRECOMMENDS:${PN} = "git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.11.bb
similarity index 91%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.11.bb
index 818dbf4..f3287ef 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.11.bb
@@ -12,7 +12,7 @@
                     "
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "d6dda7aa38a44173278de675ccd92acff0abf473f7bc02e7d1cdd4ce0f3b7642"
+SRC_URI[sha256sum] = "6b13dcc9332ef27a7c1e7005c0196883874f91622f8aa6e52f218b05b15d2bf5"
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.11.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.11.bb
index 4cb8393..97348fb 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.11.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "ce0126f6de908df4fa7b12136d47d6840dd9f7131ae997e55a817d96a2728a41"
+SRC_URI[sha256sum] = "18dfdf5f6b773d67e62a315c6cf6247da320b83603a5819493f53c69ed2eeef6"
 
 S = "${WORKDIR}/gst-omx-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.11.bb
similarity index 98%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.11.bb
index 70b9850..523ee7a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.11.bb
@@ -10,7 +10,7 @@
            file://0002-avoid-including-sys-poll.h-directly.patch \
            file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
            "
-SRC_URI[sha256sum] = "dabcd60c762165bb043eba753d599212514c94684e4db9a2e25484cb6508ebbf"
+SRC_URI[sha256sum] = "808d3b33fc4c71aeb2561c364a87c2e8a3e2343319a83244c8391be4b09499c8"
 
 S = "${WORKDIR}/gst-plugins-bad-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch
index c922aad..2adeae9 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch
@@ -6,7 +6,7 @@
 some parser will pass in the original ssa text line which starts with "Dialog:"
 and there's are maybe multiple Dialog lines in one input buffer.
 
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=747496]
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/178]
 
 Signed-off-by: Mingke Wang <mingke.wang@freescale.com>
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.11.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.11.bb
index d4b69b1..7aa10eb 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.11.bb
@@ -11,7 +11,7 @@
            file://0003-viv-fb-Make-sure-config.h-is-included.patch \
            file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
            "
-SRC_URI[sha256sum] = "843a3a2da28e1ee6aeea56dd2be9bffcc3b4bbcd0f974eba4abfc3aa31f0399c"
+SRC_URI[sha256sum] = "65eaf72296cc5edc985695a4d80affc931e64a79f4879d05615854f7a2cf5bd1"
 
 S = "${WORKDIR}/gst-plugins-base-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb
index 9a76aaf..edd8609 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb
@@ -8,7 +8,7 @@
            file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
            file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
 
-SRC_URI[sha256sum] = "f748feae922cad62f20102a84ade8f42b78e1e44a34866aa3ea766f9172e1c7f"
+SRC_URI[sha256sum] = "6ddd032381827d31820540735f0004b429436b0bdac19aaeab44fa22faad52e2"
 
 S = "${WORKDIR}/gst-plugins-good-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb
index 7cbbf9f..61f46fb 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb
@@ -15,7 +15,7 @@
             https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
             "
 
-SRC_URI[sha256sum] = "cc80a81a22c0b3b31ab7f1b8bf18dda23c72d2791b86cc6264923a68336329ea"
+SRC_URI[sha256sum] = "7758b7decfd20c00cae5700822bcbbf03f98c723e33e17634db2e07ca1da60bf"
 
 S = "${WORKDIR}/gst-plugins-ugly-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.11.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.11.bb
index b829a0f..0fbb03f 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.11.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "99e37ea9f7163099734f9b0fce361bc67a0e7a65ffba9bc497127506a3fdedb3"
+SRC_URI[sha256sum] = "f7a5450d93fd81bf46060dca7f4a048d095b6717961fec211731a11a994c99a7"
 
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
 RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.11.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.11.bb
index 0e910e3..554ed9e 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.11.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "60eb4f80b5a7ca929c21a61d50be9813a3413787959a5875de56a8ad5ca25f35"
+SRC_URI[sha256sum] = "ec49d474750a6ff6729c85b448abc607fb6840b21717ad7abc967e2adbf07a24"
 
 S = "${WORKDIR}/${PNREAL}-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.11.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.11.bb
index b52b7aa..87eb848 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.11.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "094ca144aca8f2c554a2517dfdc421fa37c80294c6f12b992c20cbc73aa2c0bd"
+SRC_URI[sha256sum] = "6eae1360658302b9b512fa46b4d06f5b818dfce5f2f43d7d710ca8142719d8ad"
 
 S = "${WORKDIR}/${REALPN}-${PV}"
 DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
index 0cfa955..7d03120 100755
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
@@ -1,2 +1,16 @@
-#!/usr/bin/env sh
+#! /bin/sh
+
+# Multiply all timeouts by ten so they're more likely to work
+# on a loaded system.
+export CK_TIMEOUT_MULTIPLIER=5
+
+# Skip some tests that we know are problematic
+export GST_CHECKS_IGNORE=""
+# gstnetclientclock.c:test_functioning is very sensitive to load
+GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_functioning"
+
+# aggregator.c:test_infinite_seek_50_src_live is known to be flaky
+# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/410
+GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_infinite_seek_50_src_live"
+
 gnome-desktop-testing-runner gstreamer
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/skip-aggregator-test.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/skip-aggregator-test.patch
deleted file mode 100644
index 8133751..0000000
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/skip-aggregator-test.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 9b72aa7cdbc2a81cffc6f855933afe90c81046d5 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Wed, 28 Feb 2024 12:40:34 +0000
-Subject: [PATCH] Skip aggregator test
-
-This test case is known to be flaky upstream[1] and often fails on the
-autobuilder[2], so skip it until this has been resolved upstream.
-
-[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/410
-[2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15054
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- tests/check/libs/aggregator.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/check/libs/aggregator.c b/tests/check/libs/aggregator.c
-index 1f2c5b4..27b3ac7 100644
---- a/tests/check/libs/aggregator.c
-+++ b/tests/check/libs/aggregator.c
-@@ -1475,7 +1475,9 @@ gst_aggregator_suite (void)
-   tcase_add_test (general, test_flushing_seek);
-   tcase_add_test (general, test_infinite_seek);
-   tcase_add_test (general, test_infinite_seek_50_src);
--  tcase_add_test (general, test_infinite_seek_50_src_live);
-+  // This test case is known to be flaky, remove it until resolved:
-+  // https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/410
-+  // tcase_add_test (general, test_infinite_seek_50_src_live);
-   tcase_add_test (general, test_linear_pipeline);
-   tcase_add_test (general, test_two_src_pipeline);
-   tcase_add_test (general, test_timeout_pipeline);
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.10.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.11.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.10.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.11.bb
index c16f0de..8965497 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.10.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.11.bb
@@ -21,9 +21,8 @@
            file://0002-tests-add-support-for-install-the-tests.patch \
            file://0003-tests-use-a-dictionaries-for-environment.patch \
            file://0004-tests-add-helper-script-to-run-the-installed_tests.patch \
-           file://skip-aggregator-test.patch \
            "
-SRC_URI[sha256sum] = "969aaef396f252ce925132a4be2aa004e0320f5c1baf0acaaae09c544a6759f4"
+SRC_URI[sha256sum] = "3d16259e9dab8b002c57ce208a09b350d8282f5b0197306c0cdba9a0d0799744"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
                    check \
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
deleted file mode 100644
index a4ef565..0000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0d3344e17d258106617b0e6d783d073b188a2548.patch
+++ /dev/null
@@ -1,310 +0,0 @@
-From a180f6821f81c65e320be0cebac72b4dcf86342e Mon Sep 17 00:00:00 2001
-From: Adrian Perez de Castro <aperez@igalia.com>
-Date: Thu, 2 Jun 2022 11:19:06 +0300
-Subject: [PATCH] FELightningNEON.cpp fails to build, NEON fast path seems
- unused https://bugs.webkit.org/show_bug.cgi?id=241182
-
-Reviewed by NOBODY (OOPS!).
-
-Move the NEON fast path for the SVG lighting filter effects into
-FELightingSoftwareApplier, and arrange to actually use them by
-forwarding calls to applyPlatformGeneric() into applyPlatformNeon().
-
-Some changes were needed to adapt platformApplyNeon() to the current
-state of filters after r286140. This was not detected because the code
-bitrotted due to it being guarded with CPU(ARM_TRADITIONAL), which does
-not get used much these days: CPU(ARM_THUMB2) is more common. It should
-be possible to use the NEON fast paths also in Thumb mode, but that is
-left for a follow-up fix.
-
-* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
-(WebCore::FELightingSoftwareApplier::platformApplyNeonWorker):
-(WebCore::FELightingSoftwareApplier::getPowerCoefficients):
-(WebCore::FELighting::platformApplyNeonWorker): Deleted.
-(WebCore::FELighting::getPowerCoefficients): Deleted.
-* Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h:
-(WebCore::FELightingSoftwareApplier::applyPlatformNeon):
-(WebCore::FELighting::platformApplyNeon): Deleted.
-* Source/WebCore/platform/graphics/filters/DistantLightSource.h:
-* Source/WebCore/platform/graphics/filters/FELighting.h:
-* Source/WebCore/platform/graphics/filters/PointLightSource.h:
-* Source/WebCore/platform/graphics/filters/SpotLightSource.h:
-* Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h:
-
-Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/1233]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../cpu/arm/filters/FELightingNEON.cpp        |  4 +-
- .../graphics/cpu/arm/filters/FELightingNEON.h | 52 +++++++++----------
- .../graphics/filters/DistantLightSource.h     |  4 ++
- .../platform/graphics/filters/FELighting.h    |  7 ---
- .../graphics/filters/PointLightSource.h       |  4 ++
- .../graphics/filters/SpotLightSource.h        |  4 ++
- .../software/FELightingSoftwareApplier.h      | 16 ++++++
- 7 files changed, 56 insertions(+), 35 deletions(-)
-
-diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
-index f6ff8c20..42a97ffc 100644
---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
-+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.cpp
-@@ -49,7 +49,7 @@ short* feLightingConstantsForNeon()
-     return s_FELightingConstantsForNeon;
- }
- 
--void FELighting::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
-+void FELightingSoftwareApplier::platformApplyNeonWorker(FELightingPaintingDataForNeon* parameters)
- {
-     neonDrawLighting(parameters);
- }
-@@ -464,7 +464,7 @@ TOSTRING(neonDrawLighting) ":" NL
-     "b .lightStrengthCalculated" NL
- ); // NOLINT
- 
--int FELighting::getPowerCoefficients(float exponent)
-+int FELightingSoftwareApplier::getPowerCoefficients(float exponent)
- {
-     // Calling a powf function from the assembly code would require to save
-     // and reload a lot of NEON registers. Since the base is in range [0..1]
-diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
-index b17c603d..e4629cda 100644
---- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
-+++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
-@@ -24,14 +24,15 @@
-  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */
- 
--#ifndef FELightingNEON_h
--#define FELightingNEON_h
-+#pragma once
- 
- #if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
- 
--#include "FELighting.h"
-+#include "FELightingSoftwareApplier.h"
-+#include "ImageBuffer.h"
- #include "PointLightSource.h"
- #include "SpotLightSource.h"
-+#include <wtf/ObjectIdentifier.h>
- #include <wtf/ParallelJobs.h>
- 
- namespace WebCore {
-@@ -93,14 +94,14 @@ extern "C" {
- void neonDrawLighting(FELightingPaintingDataForNeon*);
- }
- 
--inline void FELighting::platformApplyNeon(const LightingData& data, const LightSource::PaintingData& paintingData)
-+inline void FELightingSoftwareApplier::applyPlatformNeon(const FELightingSoftwareApplier::LightingData& data, const LightSource::PaintingData& paintingData)
- {
--    alignas(16) FELightingFloatArgumentsForNeon floatArguments;
--    FELightingPaintingDataForNeon neonData = {
-+    WebCore::FELightingFloatArgumentsForNeon alignas(16) floatArguments;
-+    WebCore::FELightingPaintingDataForNeon neonData = {
-         data.pixels->data(),
-         1,
--        data.widthDecreasedByOne - 1,
--        data.heightDecreasedByOne - 1,
-+        data.width - 2,
-+        data.height - 2,
-         0,
-         0,
-         0,
-@@ -111,23 +112,23 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
-     // Set light source arguments.
-     floatArguments.constOne = 1;
- 
--    auto color = m_lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
-+    auto color = data.lightingColor.toColorTypeLossy<SRGBA<uint8_t>>().resolved();
- 
-     floatArguments.colorRed = color.red;
-     floatArguments.colorGreen = color.green;
-     floatArguments.colorBlue = color.blue;
-     floatArguments.padding4 = 0;
- 
--    if (m_lightSource->type() == LS_POINT) {
-+    if (data.lightSource->type() == LS_POINT) {
-         neonData.flags |= FLAG_POINT_LIGHT;
--        PointLightSource& pointLightSource = static_cast<PointLightSource&>(m_lightSource.get());
-+        const auto& pointLightSource = *static_cast<const PointLightSource*>(data.lightSource);
-         floatArguments.lightX = pointLightSource.position().x();
-         floatArguments.lightY = pointLightSource.position().y();
-         floatArguments.lightZ = pointLightSource.position().z();
-         floatArguments.padding2 = 0;
--    } else if (m_lightSource->type() == LS_SPOT) {
-+    } else if (data.lightSource->type() == LS_SPOT) {
-         neonData.flags |= FLAG_SPOT_LIGHT;
--        SpotLightSource& spotLightSource = static_cast<SpotLightSource&>(m_lightSource.get());
-+        const auto& spotLightSource = *static_cast<const SpotLightSource*>(data.lightSource);
-         floatArguments.lightX = spotLightSource.position().x();
-         floatArguments.lightY = spotLightSource.position().y();
-         floatArguments.lightZ = spotLightSource.position().z();
-@@ -145,7 +146,7 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
-         if (spotLightSource.specularExponent() == 1)
-             neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
-     } else {
--        ASSERT(m_lightSource->type() == LS_DISTANT);
-+        ASSERT(data.lightSource->type() == LS_DISTANT);
-         floatArguments.lightX = paintingData.initialLightingData.lightVector.x();
-         floatArguments.lightY = paintingData.initialLightingData.lightVector.y();
-         floatArguments.lightZ = paintingData.initialLightingData.lightVector.z();
-@@ -155,38 +156,39 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
-     // Set lighting arguments.
-     floatArguments.surfaceScale = data.surfaceScale;
-     floatArguments.minusSurfaceScaleDividedByFour = -data.surfaceScale / 4;
--    if (m_lightingType == FELighting::DiffuseLighting)
--        floatArguments.diffuseConstant = m_diffuseConstant;
-+    if (data.filterType == FilterEffect::Type::FEDiffuseLighting)
-+        floatArguments.diffuseConstant = data.diffuseConstant;
-     else {
-         neonData.flags |= FLAG_SPECULAR_LIGHT;
--        floatArguments.diffuseConstant = m_specularConstant;
--        neonData.specularExponent = getPowerCoefficients(m_specularExponent);
--        if (m_specularExponent == 1)
-+        floatArguments.diffuseConstant = data.specularConstant;
-+        neonData.specularExponent = getPowerCoefficients(data.specularExponent);
-+        if (data.specularExponent == 1)
-             neonData.flags |= FLAG_SPECULAR_EXPONENT_IS_1;
-     }
-     if (floatArguments.diffuseConstant == 1)
-         neonData.flags |= FLAG_DIFFUSE_CONST_IS_1;
- 
--    int optimalThreadNumber = ((data.widthDecreasedByOne - 1) * (data.heightDecreasedByOne - 1)) / s_minimalRectDimension;
-+    static constexpr int minimalRectDimension = 100 * 100; // Empirical data limit for parallel jobs
-+    int optimalThreadNumber = ((data.width - 2) * (data.height - 2)) / minimalRectDimension;
-     if (optimalThreadNumber > 1) {
-         // Initialize parallel jobs
--        ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&WebCore::FELighting::platformApplyNeonWorker, optimalThreadNumber);
-+        ParallelJobs<FELightingPaintingDataForNeon> parallelJobs(&FELightingSoftwareApplier::platformApplyNeonWorker, optimalThreadNumber);
- 
-         // Fill the parameter array
-         int job = parallelJobs.numberOfJobs();
-         if (job > 1) {
-             int yStart = 1;
--            int yStep = (data.heightDecreasedByOne - 1) / job;
-+            int yStep = (data.height - 2) / job;
-             for (--job; job >= 0; --job) {
-                 FELightingPaintingDataForNeon& params = parallelJobs.parameter(job);
-                 params = neonData;
-                 params.yStart = yStart;
--                params.pixels += (yStart - 1) * (data.widthDecreasedByOne + 1) * 4;
-+                params.pixels += (yStart - 1) * data.width * 4;
-                 if (job > 0) {
-                     params.absoluteHeight = yStep;
-                     yStart += yStep;
-                 } else
--                    params.absoluteHeight = data.heightDecreasedByOne - yStart;
-+                    params.absoluteHeight = (data.height - 1) - yStart;
-             }
-             parallelJobs.execute();
-             return;
-@@ -199,5 +201,3 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
- } // namespace WebCore
- 
- #endif // CPU(ARM_NEON) && COMPILER(GCC_COMPATIBLE)
--
--#endif // FELightingNEON_h
-diff --git a/Source/WebCore/platform/graphics/filters/DistantLightSource.h b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
-index 70f583b3..7d5d27e5 100644
---- a/Source/WebCore/platform/graphics/filters/DistantLightSource.h
-+++ b/Source/WebCore/platform/graphics/filters/DistantLightSource.h
-@@ -26,6 +26,10 @@
- #include <wtf/ArgumentCoder.h>
- #include <wtf/Ref.h>
- 
-+namespace WTF {
-+class TextStream;
-+} // namespace WTF
-+
- namespace WebCore {
- 
- class DistantLightSource : public LightSource {
-diff --git a/Source/WebCore/platform/graphics/filters/FELighting.h b/Source/WebCore/platform/graphics/filters/FELighting.h
-index 179edf6d..694d712d 100644
---- a/Source/WebCore/platform/graphics/filters/FELighting.h
-+++ b/Source/WebCore/platform/graphics/filters/FELighting.h
-@@ -35,8 +35,6 @@
- 
- namespace WebCore {
- 
--struct FELightingPaintingDataForNeon;
--
- class FELighting : public FilterEffect {
- public:
-     bool operator==(const FELighting&) const;
-@@ -68,11 +66,6 @@ protected:
- 
-     std::unique_ptr<FilterEffectApplier> createSoftwareApplier() const override;
- 
--#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
--    static int getPowerCoefficients(float exponent);
--    inline void platformApplyNeon(const LightingData&, const LightSource::PaintingData&);
--#endif
--
-     Color m_lightingColor;
-     float m_surfaceScale;
-     float m_diffuseConstant;
-diff --git a/Source/WebCore/platform/graphics/filters/PointLightSource.h b/Source/WebCore/platform/graphics/filters/PointLightSource.h
-index a8cfdab8..34f867bb 100644
---- a/Source/WebCore/platform/graphics/filters/PointLightSource.h
-+++ b/Source/WebCore/platform/graphics/filters/PointLightSource.h
-@@ -26,6 +26,10 @@
- #include "LightSource.h"
- #include <wtf/Ref.h>
- 
-+namespace WTF {
-+class TextStream;
-+} // namespace WTF
-+
- namespace WebCore {
- 
- class PointLightSource : public LightSource {
-diff --git a/Source/WebCore/platform/graphics/filters/SpotLightSource.h b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
-index 6404467a..5cac38f2 100644
---- a/Source/WebCore/platform/graphics/filters/SpotLightSource.h
-+++ b/Source/WebCore/platform/graphics/filters/SpotLightSource.h
-@@ -26,6 +26,10 @@
- #include "LightSource.h"
- #include <wtf/Ref.h>
- 
-+namespace WTF {
-+class TextStream;
-+} // namespace WTF
-+
- namespace WebCore {
- 
- class SpotLightSource : public LightSource {
-diff --git a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
-index c974d921..e2896660 100644
---- a/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
-+++ b/Source/WebCore/platform/graphics/filters/software/FELightingSoftwareApplier.h
-@@ -36,6 +36,7 @@
- namespace WebCore {
- 
- class FELighting;
-+struct FELightingPaintingDataForNeon;
- 
- class FELightingSoftwareApplier final : public FilterEffectConcreteApplier<FELighting> {
-     WTF_MAKE_FAST_ALLOCATED;
-@@ -132,8 +133,23 @@ private:
- 
-     static void applyPlatformGenericPaint(const LightingData&, const LightSource::PaintingData&, int startY, int endY);
-     static void applyPlatformGenericWorker(ApplyParameters*);
-+
-+#if CPU(ARM_NEON) && CPU(ARM_TRADITIONAL) && COMPILER(GCC_COMPATIBLE)
-+    static int getPowerCoefficients(float exponent);
-+    static void platformApplyNeonWorker(FELightingPaintingDataForNeon*);
-+    inline static void applyPlatformNeon(const LightingData&, const LightSource::PaintingData&);
-+
-+    inline static void applyPlatformGeneric(const LightingData& data, const LightSource::PaintingData& paintingData)
-+    {
-+        applyPlatformNeon(data, paintingData);
-+    }
-+#else
-     static void applyPlatformGeneric(const LightingData&, const LightSource::PaintingData&);
-+#endif
-+
-     static void applyPlatform(const LightingData&);
- };
- 
- } // namespace WebCore
-+
-+#include "FELightingNEON.h"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch b/poky/meta/recipes-sato/webkit/webkitgtk/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch
new file mode 100644
index 0000000..3067500
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch
@@ -0,0 +1,38 @@
+From 2922af379dc70b4b1a63b01d67179eb431f03ac4 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@redhat.com>
+Date: Mon, 18 Mar 2024 11:14:54 -0700
+Subject: [PATCH] REGRESSION(274077@main): failure to build on i586 (and likely
+ other 32bit arches): static assertion failed: Timer should stay small
+ https://bugs.webkit.org/show_bug.cgi?id=271108
+
+Unreviewed build fix. This changes SameSizeOfTimer to ensure it matches
+the size of Timer on 32-bit platforms.
+
+* Source/WebCore/platform/Timer.cpp:
+
+Canonical link: https://commits.webkit.org/276282@main
+
+Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2922af379dc70b4b1a63b01d67179eb431f03ac4]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ Source/WebCore/platform/Timer.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp
+index 4f7c0f5c39ca9..0f3734cca2474 100644
+--- a/Source/WebCore/platform/Timer.cpp
++++ b/Source/WebCore/platform/Timer.cpp
+@@ -263,7 +263,11 @@ struct SameSizeAsTimer {
+ 
+     WeakPtr<TimerAlignment> timerAlignment;
+     double times[2];
+-    void* pointers[3];
++    void* pointers[2];
++#if CPU(ADDRESS32)
++    uint8_t bitfields;
++#endif
++    void* pointer;
+ };
+ 
+ static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small");
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch b/poky/meta/recipes-sato/webkit/webkitgtk/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
new file mode 100644
index 0000000..76bcb3d
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
@@ -0,0 +1,67 @@
+From 1523e00a2a76e285262c8aa3721b5d99f3f2d612 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas.devoogdt@barco.com>
+Date: Mon, 16 Jan 2023 17:03:30 +0100
+Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
+
+ !ENABLE(WEBASSEMBLY_B3JIT)
+
+https://bugs.webkit.org/show_bug.cgi?id=250681
+
+Reviewed by NOBODY (OOPS!).
+
+WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
+Also, toB3Type and simdScalarType are not defined if it is included.
+
+Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
+
+Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp
+index eaaa3749..1d089783 100644
+--- a/Source/JavaScriptCore/b3/B3Validate.cpp
++++ b/Source/JavaScriptCore/b3/B3Validate.cpp
+@@ -47,6 +47,12 @@
+ #include <wtf/StringPrintStream.h>
+ #include <wtf/text/CString.h>
+ 
++#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
++#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
++#else
++#define simdScalarTypeToB3Type(type) B3::Type()
++#endif
++
+ namespace JSC { namespace B3 {
+ 
+ namespace {
+@@ -454,7 +460,7 @@ public:
+             case VectorExtractLane:
+                 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+                 VALIDATE(value->numChildren() == 1, ("At ", *value));
+-                VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
++                VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+                 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
+                 break;
+             case VectorReplaceLane:
+@@ -462,7 +468,7 @@ public:
+                 VALIDATE(value->numChildren() == 2, ("At ", *value));
+                 VALIDATE(value->type() == V128, ("At ", *value));
+                 VALIDATE(value->child(0)->type() == V128, ("At ", *value));
+-                VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
++                VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+                 break;
+             case VectorDupElement:
+                 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+@@ -484,7 +490,7 @@ public:
+                 VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+                 VALIDATE(value->numChildren() == 1, ("At ", *value));
+                 VALIDATE(value->type() == V128, ("At ", *value));
+-                VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
++                VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+                 break;
+ 
+             case VectorPopcnt:
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.42.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.44.0.bb
similarity index 94%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.42.5.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.44.0.bb
index 6790814..0819f6d 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.42.5.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.44.0.bb
@@ -12,12 +12,13 @@
 SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
            file://reproducibility.patch \
-           file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
            file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \
            file://no-musttail-arm.patch \
            file://t6-not-declared.patch \
+           file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \
+           file://2922af379dc70b4b1a63b01d67179eb431f03ac4.patch \
            "
-SRC_URI[sha256sum] = "b64278c1f20b8cfdbfb5ff573c37d871aba74a1db26d9b39f74e8953fe61e749"
+SRC_URI[sha256sum] = "c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
 
@@ -77,6 +78,8 @@
 PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif"
 PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
 PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl"
+PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace"
+PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
 
 EXTRA_OECMAKE = " \
                  -DPORT=GTK \
@@ -85,8 +88,8 @@
                  ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFFF', d)} \
                  -DENABLE_MINIBROWSER=ON \
                  -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-                 -DENABLE_GAMEPAD=OFF \
                  -DUSE_GTK4=ON \
+                 -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
                  "
 
 # Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the
diff --git a/poky/meta/recipes-support/bmaptool/bmaptool_git.bb b/poky/meta/recipes-support/bmaptool/bmaptool_git.bb
index 87328af..fd53c21 100644
--- a/poky/meta/recipes-support/bmaptool/bmaptool_git.bb
+++ b/poky/meta/recipes-support/bmaptool/bmaptool_git.bb
@@ -9,16 +9,10 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI = "git://github.com/yoctoproject/${BPN};branch=main;protocol=https \
-	file://0001-BmapCopy.py-fix-error-message.patch \
-	file://0002-CLI.py-fix-block-device-udev-race-condition.patch \
-	file://0003-BmapCopy.py-tweak-suggested-udev-rule.patch \
-	"
-
-SRCREV = "d84a6fd202fe246a0bc19ed2082e41bcdd75fb13"
+SRC_URI = "git://github.com/yoctoproject/${BPN};branch=main;protocol=https"
+SRCREV = "2ff5750b8a3e0b36a9993c20e2ea10a07bc62085"
 S = "${WORKDIR}/git"
-BASEVER = "3.7"
+BASEVER = "3.8.0"
 PV = "${BASEVER}+git"
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
@@ -28,4 +22,8 @@
 
 inherit setuptools3
 
+# For compatibility with layers before scarthgap
+RREPLACES:${PN} = "bmap-tools"
+RCONFLICTS:${PN} = "bmap-tools"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/bmaptool/files/0001-BmapCopy.py-fix-error-message.patch b/poky/meta/recipes-support/bmaptool/files/0001-BmapCopy.py-fix-error-message.patch
deleted file mode 100644
index ddac322..0000000
--- a/poky/meta/recipes-support/bmaptool/files/0001-BmapCopy.py-fix-error-message.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From ad0b0513a46c7d238d0fdabee0267c7084b75e84 Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Thu, 11 Jan 2024 22:04:23 -0500
-Subject: [PATCH 1/3] BmapCopy.py: fix error message
-
-The wrong variable was being used when attempting to print out an informative
-message to the user. Leading to nonsense messages such as:
-
-	bmaptool: info: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 1 I/O scheduler: 1 in use. None)
-
-Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/129]
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
----
- bmaptools/BmapCopy.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/bmaptools/BmapCopy.py b/bmaptools/BmapCopy.py
-index 9de7ef434233..b1e8e0fcbdb7 100644
---- a/bmaptools/BmapCopy.py
-+++ b/bmaptools/BmapCopy.py
-@@ -892,9 +892,9 @@ class BmapBdevCopy(BmapCopy):
-                 _log.info(
-                     "failed to enable I/O optimization, expect "
-                     "suboptimal speed (reason: cannot switch to the "
--                    f"{max_ratio_chg.temp_value} I/O scheduler: "
--                    f"{max_ratio_chg.old_value or 'unknown scheduler'} in use. "
--                    f"{max_ratio_chg.error})"
-+                    f"'{scheduler_chg.temp_value}' I/O scheduler: "
-+                    f"'{scheduler_chg.old_value or 'unknown scheduler'}' in use. "
-+                    f"{scheduler_chg.error})"
-                 )
-             if max_ratio_chg.error or scheduler_chg.error:
-                 _log.info(
--- 
-2.43.0.76.g1a87c842ece3
-
diff --git a/poky/meta/recipes-support/bmaptool/files/0002-CLI.py-fix-block-device-udev-race-condition.patch b/poky/meta/recipes-support/bmaptool/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
deleted file mode 100644
index ea2749a..0000000
--- a/poky/meta/recipes-support/bmaptool/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 34f4321dfce28697f830639260076e60d765698b Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Fri, 12 Jan 2024 01:16:19 -0500
-Subject: [PATCH 2/3] CLI.py: fix block device udev race condition
-
-We are encouraged to add a udev rule to change a block device's
-bdi/max_ratio to '1' and queue/scheduler to 'none', which I did.
-So I was surprised when, about 50% of the time, I kept seeing:
-
-	...
-	bmaptool: info: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 'none' I/O scheduler: 'bfq' in use. [Errno 13] Permission denied: '/sys/dev/block/8:160/queue/scheduler')
-	bmaptool: info: You may want to set these I/O optimizations through a udev rule like this:
-	...
-
-The strange part is that sometimes it doesn't report a problem and
-sometimes it does, even if the block device is left plugged in continuously
-between multiple bmaptool invocations.
-
-In all of my tests the bdi/max_ratio is always okay, but the
-queue/scheduler would sometimes be reported as being the default scheduler,
-not the one the udev rule was setting (none). Yet no matter how many times
-I would read the file outside of bmaptool it always would be set to the
-correct scheduler.
-
-It turns out that opening a block device in "wb+" mode, which is what
-bmaptool is doing at one point, causes the block device to act as though
-it was just inserted, giving it the default settings, then causing udev to
-trigger to switch it to the requested settings. However, if udev doesn't
-finish before bmaptool reads the scheduler value there's a chance it will
-read the pre-udev value, not the post-udev value, even though the block
-device was never physically removed and re-inserted.
-
-bmaptool was opening every file, then checking for block devices and
-if found, closing then re-opening the block devices via a special
-block-opening helper function. This patch re-organizes the code to only
-open block devices once using the special block-opening helper function
-that does not open block devices in "wb+" mode.
-
-Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/130]
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
----
- bmaptools/CLI.py | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/bmaptools/CLI.py b/bmaptools/CLI.py
-index 82303b7bc398..0a263f05cf43 100644
---- a/bmaptools/CLI.py
-+++ b/bmaptools/CLI.py
-@@ -38,6 +38,7 @@ import tempfile
- import traceback
- import shutil
- import io
-+import pathlib
- from bmaptools import BmapCreate, BmapCopy, BmapHelpers, TransRead
- 
- VERSION = "3.7"
-@@ -440,17 +441,16 @@ def open_files(args):
-     # Try to open the destination file. If it does not exist, a new regular
-     # file will be created. If it exists and it is a regular file - it'll be
-     # truncated. If this is a block device, it'll just be opened.
-+    dest_is_blkdev = False
-     try:
--        dest_obj = open(args.dest, "wb+")
-+        if pathlib.Path(args.dest).is_block_device():
-+            dest_is_blkdev = True
-+            dest_obj = open_block_device(args.dest)
-+        else:
-+            dest_obj = open(args.dest, "wb+")
-     except IOError as err:
-         error_out("cannot open destination file '%s':\n%s", args.dest, err)
- 
--    # Check whether the destination file is a block device
--    dest_is_blkdev = stat.S_ISBLK(os.fstat(dest_obj.fileno()).st_mode)
--    if dest_is_blkdev:
--        dest_obj.close()
--        dest_obj = open_block_device(args.dest)
--
-     return (image_obj, dest_obj, bmap_obj, bmap_path, image_obj.size, dest_is_blkdev)
- 
- 
--- 
-2.43.0.76.g1a87c842ece3
-
diff --git a/poky/meta/recipes-support/bmaptool/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch b/poky/meta/recipes-support/bmaptool/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
deleted file mode 100644
index 2794eea..0000000
--- a/poky/meta/recipes-support/bmaptool/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 2a71e0c1a675e4f30f02c03dd0325944b393c434 Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Fri, 12 Jan 2024 01:54:26 -0500
-Subject: [PATCH 3/3] BmapCopy.py: tweak suggested udev rule
-
-Both bdi/max_ratio and queue/scheduler are only valid for whole block devices,
-not individual partitions. Therefore, add a
-
-	ENV{DEVTYPE}!="partition",
-
-to the suggested udev rule so that bmaptool doesn't try to check every
-partition of the block device, just the whole device.
-
-Otherwise the following will appear in the logs:
-
-	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/bdi/min_ratio}, ignoring: No such file or directory
-	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/bdi/max_ratio}, ignoring: No such file or directory
-	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/queue/scheduler}, ignoring: No such file or directory
-	[... and so on for every partition on your block device ...]
-
-Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/131]
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
----
- bmaptools/BmapCopy.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/bmaptools/BmapCopy.py b/bmaptools/BmapCopy.py
-index b1e8e0fcbdb7..a4c1177246a9 100644
---- a/bmaptools/BmapCopy.py
-+++ b/bmaptools/BmapCopy.py
-@@ -906,7 +906,8 @@ class BmapBdevCopy(BmapCopy):
-                     "\n"
-                     'ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="xxxx", '
-                     'ATTRS{idProduct}=="xxxx", TAG+="uaccess"\n'
--                    'SUBSYSTEMS=="usb", ATTRS{idVendor}=="xxxx", '
-+                    'SUBSYSTEMS=="usb", ENV{DEVTYPE}!="partition", '
-+                    'ATTRS{idVendor}=="xxxx", '
-                     'ATTRS{idProduct}=="xxxx", ATTR{bdi/min_ratio}="0", '
-                     'ATTR{bdi/max_ratio}="1", ATTR{queue/scheduler}="none"\n'
-                     "\n"
--- 
-2.43.0.76.g1a87c842ece3
-
diff --git a/poky/meta/recipes-support/curl/curl/no-test-timeout.patch b/poky/meta/recipes-support/curl/curl/no-test-timeout.patch
new file mode 100644
index 0000000..b4cfe71
--- /dev/null
+++ b/poky/meta/recipes-support/curl/curl/no-test-timeout.patch
@@ -0,0 +1,18 @@
+Set the max-time timeout to 600 so the timeout is 10 minutes instead of 13 seconds.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/tests/servers.pm b/tests/servers.pm
+index d4472d509..aeab62c47 100644
+--- a/tests/servers.pm
++++ b/tests/servers.pm
+@@ -120,7 +120,7 @@ my $sshdverstr;  # for socks server, ssh daemon version string
+ my $sshderror;   # for socks server, ssh daemon version error
+ my %doesntrun;    # servers that don't work, identified by pidfile
+ my %PORT = (nolisten => 47); # port we use for a local non-listening service
+-my $server_response_maxtime=13;
++my $server_response_maxtime=600;
+ my $httptlssrv = find_httptlssrv();
+ my %run;          # running server
+ my %runcert;      # cert file currently in use by an ssl running server
diff --git a/poky/meta/recipes-support/curl/curl/run-ptest b/poky/meta/recipes-support/curl/curl/run-ptest
index 8f9c20f..3d25f3d 100644
--- a/poky/meta/recipes-support/curl/curl/run-ptest
+++ b/poky/meta/recipes-support/curl/curl/run-ptest
@@ -1,6 +1,11 @@
 #!/bin/sh
+
 cd tests
-{ ./runtests.pl -a -n -s -j4 !flaky || echo "FAIL: curl" ; } | sed \
-     -e 's|\([^ ]* *\) \([^ ]* *\)...OK|PASS: \1 \2|' \
-     -e 's|\([^ ]* *\) \([^ ]* *\)...FAILED|FAIL: \1 \2|' \
-     -e 's/Warning: test[0-9]\+ not present in tests\/data\/Makefile.inc//'
+
+# Run all tests, don't stop on first failure
+# Don't use valgrind if it is found
+# Use automake-style output
+# Run four tests in parallel
+# Print log output on failure
+# Don't run the flaky or timing dependent tests
+./runtests.pl -a -n -am -j4 -p !flaky !timing-dependent
diff --git a/poky/meta/recipes-support/curl/curl_8.6.0.bb b/poky/meta/recipes-support/curl/curl_8.6.0.bb
index b01f454..49ba0cb 100644
--- a/poky/meta/recipes-support/curl/curl_8.6.0.bb
+++ b/poky/meta/recipes-support/curl/curl_8.6.0.bb
@@ -13,6 +13,7 @@
     https://curl.se/download/${BP}.tar.xz \
     file://run-ptest \
     file://disable-tests \
+    file://no-test-timeout.patch \
 "
 SRC_URI[sha256sum] = "3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15"
 
@@ -78,7 +79,7 @@
     ${@'--without-ssl' if (bb.utils.filter('PACKAGECONFIG', 'gnutls mbedtls openssl', d) == '') else ''} \
 "
 
-do_install:append:class-target() {
+fix_absolute_paths () {
 	# cleanup buildpaths from curl-config
 	sed -i \
 	    -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
@@ -88,6 +89,14 @@
 	    ${D}${bindir}/curl-config
 }
 
+do_install:append:class-target() {
+	fix_absolute_paths
+}
+
+do_install:append:class-nativesdk() {
+	fix_absolute_paths
+}
+
 do_compile_ptest() {
 	oe_runmake -C ${B}/tests
 }
@@ -125,6 +134,7 @@
 	perl-module-storable \
 	perl-module-time-hires \
 "
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us"
 
 PACKAGES =+ "lib${BPN}"
 
diff --git a/poky/meta/recipes-support/gmp/gmp_6.3.0.bb b/poky/meta/recipes-support/gmp/gmp_6.3.0.bb
index 3dbcd68..fd4aec9 100644
--- a/poky/meta/recipes-support/gmp/gmp_6.3.0.bb
+++ b/poky/meta/recipes-support/gmp/gmp_6.3.0.bb
@@ -29,13 +29,21 @@
 	oe_multilib_header gmp.h
 }
 
-do_install:prepend:class-target() {
+fix_absolute_paths () {
         sed -i \
         -e "s|--sysroot=${STAGING_DIR_HOST}||g" \
         -e "s|${DEBUG_PREFIX_MAP}||g" \
          ${B}/gmp.h
 }
 
+do_install:prepend:class-target() {
+    fix_absolute_paths
+}
+
+do_install:prepend:class-nativesdk() {
+    fix_absolute_paths
+}
+
 SSTATE_SCAN_FILES += "gmp.h"
 
 # Doesn't compile in MIPS16e mode due to use of hand-written
diff --git a/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch b/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch
index 4bdc40d..d13bfee 100644
--- a/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch
+++ b/poky/meta/recipes-support/gnutls/gnutls/0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch
@@ -1,4 +1,4 @@
-From 21a8295bac3805e4490ba2b5f136e7f4c121061b Mon Sep 17 00:00:00 2001
+From 7be8ec59a53e93c2bd453b3ba2d63d1b300ef11f Mon Sep 17 00:00:00 2001
 From: Lei Maohui <leimaohui@fujitsu.com>
 Date: Mon, 23 May 2022 10:44:43 +0900
 Subject: [PATCH] Creating .hmac file should be excuted in target environment,
@@ -6,16 +6,15 @@
 
 Upstream-Status: Inappropriate [https://gitlab.com/gnutls/gnutls/-/issues/1373]
 Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
-
 ---
  lib/Makefile.am | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
 diff --git a/lib/Makefile.am b/lib/Makefile.am
-index 6d4e8d2..24ef108 100644
+index a50d311..193ea19 100644
 --- a/lib/Makefile.am
 +++ b/lib/Makefile.am
-@@ -206,8 +206,7 @@ hmac_file = .libs/.$(gnutls_so).hmac
+@@ -198,8 +198,7 @@ hmac_file = .libs/.$(gnutls_so).hmac
  
  all-local: $(hmac_file)
  
diff --git a/poky/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch b/poky/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch
index f87cf53..1152d37 100644
--- a/poky/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch
+++ b/poky/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch
@@ -1,11 +1,10 @@
-From 81861f7ba690956c064ebe8dce6c313951fa2a9f Mon Sep 17 00:00:00 2001
+From ff6a345235b2585c261752e47a749228672b07dc Mon Sep 17 00:00:00 2001
 From: Ravineet Singh <ravineet.a.singh@est.tech>
 Date: Tue, 10 Jan 2023 16:11:10 +0100
 Subject: [PATCH] gnutls: add ptest support
 
 Upstream-Status: Inappropriate [embedded specific]
 Signed-off-by: Ravineet Singh <ravineet.a.singh@est.tech>
-
 ---
  Makefile.am       | 3 +++
  configure.ac      | 2 ++
@@ -27,10 +26,10 @@
  
  include $(top_srcdir)/cligen/cligen.mk
 diff --git a/configure.ac b/configure.ac
-index b25ba14..860ddef 100644
+index d6e03cf..e3f15fb 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1150,6 +1150,8 @@ AC_SUBST(LIBGNUTLS_CFLAGS)
+@@ -1213,6 +1213,8 @@ AC_SUBST(LIBGNUTLS_CFLAGS)
  
  AM_CONDITIONAL(NEEDS_LIBRT, test "$gnutls_needs_librt" = "yes")
  
@@ -40,10 +39,10 @@
  
  hw_features=
 diff --git a/tests/Makefile.am b/tests/Makefile.am
-index d530ad0..71c592f 100644
+index fb9e55a..c2d226a 100644
 --- a/tests/Makefile.am
 +++ b/tests/Makefile.am
-@@ -648,6 +648,12 @@ SH_LOG_COMPILER = $(SHELL)
+@@ -658,6 +658,12 @@ SH_LOG_COMPILER = $(SHELL)
  AM_VALGRINDFLAGS = --suppressions=$(srcdir)/suppressions.valgrind
  LOG_COMPILER = $(LOG_VALGRIND)
  
diff --git a/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch b/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch
index fe3f031..883d012 100644
--- a/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch
+++ b/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch
@@ -1,4 +1,4 @@
-From 5810d97281bb30edb786de9946e5c13186eff6a2 Mon Sep 17 00:00:00 2001
+From d17ae0ef31c3c186766a338e8c40c87d1b98820e Mon Sep 17 00:00:00 2001
 From: Joe Slater <jslater@windriver.com>
 Date: Wed, 25 Jan 2017 13:52:59 -0800
 Subject: [PATCH] gnutls: account for ARM_EABI
@@ -14,7 +14,7 @@
  1 file changed, 2 insertions(+)
 
 diff --git a/tests/seccomp.c b/tests/seccomp.c
-index 86442a5..03a5aa8 100644
+index 881f0bb..5f9204a 100644
 --- a/tests/seccomp.c
 +++ b/tests/seccomp.c
 @@ -55,7 +55,9 @@ int disable_system_calls(void)
@@ -27,6 +27,3 @@
  	ADD_SYSCALL(getpid, 0);
  	ADD_SYSCALL(gettimeofday, 0);
  #if defined(HAVE_CLOCK_GETTIME)
--- 
-2.30.2
-
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.8.3.bb b/poky/meta/recipes-support/gnutls/gnutls_3.8.4.bb
similarity index 97%
rename from poky/meta/recipes-support/gnutls/gnutls_3.8.3.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.8.4.bb
index 27d6753..20139b4 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.8.3.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.8.4.bb
@@ -25,7 +25,7 @@
            file://Add-ptest-support.patch \
            "
 
-SRC_URI[sha256sum] = "f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e"
+SRC_URI[sha256sum] = "2bea4e154794f3f00180fa2a5c51fe8b005ac7a31cd58bd44cdfa7f36ebc3a9b"
 
 inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest
 
diff --git a/poky/meta/recipes-support/libsoup/libsoup_3.4.4.bb b/poky/meta/recipes-support/libsoup/libsoup_3.4.4.bb
index 6d382a7..6f7cac4 100644
--- a/poky/meta/recipes-support/libsoup/libsoup_3.4.4.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup_3.4.4.bb
@@ -19,7 +19,7 @@
 
 S = "${WORKDIR}/libsoup-${PV}"
 
-inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen
+inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gi-docgen vala
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
@@ -39,7 +39,7 @@
 }
 EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross"
 
-EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false"
+EXTRA_OEMESON += "-Dtls_check=false"
 # Disable the test suites
 EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled"