subtree updates openembedded poky

meta-openembedded: 491b7592f4..eff1b182c1:
  Alejandro Hernandez Samaniego (1):
        emacs: update to 29.1

  Archana Polampalli (2):
        python3-pyroute2: fix ptest failure
        nodejs: upgrade 18.17.0 -> 18.17.1

  Bartosz Golaszewski (1):
        libgpiod: update to v2.0.2

  Beniamin Sandu (3):
        unbound: upgrade 1.17.1 -> 1.18.0
        mbedtls: upgrade 3.4.0 -> 3.4.1
        mbedtls: upgrade 2.28.3 -> 2.28.4

  Benjamin Bara (3):
        libvpx: fix VPXTARGET for non-neon armv7a
        ne10: set incompatible for armv7 without neon
        openh264: make neon optional and disable if not supported

  Chaitanya Vadrevu (1):
        bolt: Add recipe

  Chen Qi (2):
        spice-protocol: fix populate_sdk error when spice is installed
        python3-blivetgui: switch from master to main

  Christophe Vu-Brugier (1):
        sg3-utils: upgrade 1.47 -> 1.48

  Danik (2):
        python3-gspread: interface for google spreadsheet
        python3-piccata: piccata - a simple CoAP toolkit added

  Denys Zagorui (1):
        bpftool: add native and nativesdk support

  Emil Kronborg Andersen (3):
        lcms: add CVE_PRODUCT
        snappy: add CVE_PRODUCT
        libopus: add CVE_PRODUCT

  Enrico Jorns (1):
        microcom: add new recipe

  Ewa Kujawska (1):
        python3-oauth2client_4.1.2.bb: recipe added

  Frieder Schrempf (1):
        python3-can: Add missing runtime dependencies

  Gianfranco Costamagna (1):
        dlt-daemon: upgrade 2.18.9 -> 2.18.10 (commit: 0f2d4cfffada6f8448a2cb27995b38eb4271044f)

  Joe Slater (1):
        python3-inotify: fix tests

  Justin Bronder (5):
        python3-mypy-extensions: upgrade 0.4.3 -> 1.0.0
        python3-types-setuptools: add 68.0.0.3
        python3-typed-ast: remove EOL package
        python3-types-psutil: add 5.9.5.16
        python3-mypy: upgrade 0.971 -> 1.5.0

  Kai Kang (1):
        libmcrypt: fix multilib conflict

  Khem Raj (31):
        qad: Fix build with clang
        python3-dominate: Fix get_thread_context ptest on musl
        perfetto: Add SRCREV_FORMAT
        gosu: Define SRCREV_FORMAT
        libsdl2-ttf: Define SRCREV_FORMAT
        gosu: Define SRCREV_FORMAT
        sysdig: Add SRCREV_FORMAT
        cockpit: Upgrade to 298 release
        librelp: Fix function prototypes in tests
        jemalloc: Unbolt clang workaroud
        python3-protobuf: Fix build errors seen with clang
        mariadb: Fix build with libfmt 10.1+
        librelp: Add packageconfigs for TLS implementations
        librelp: Fix ptests builds on musl
        librelp: Fix ptest installs to work with dash
        librelp: Add to meta-oe ptest image
        liburing: Upgrade to 2.4 release
        rsyslog: Enable openssl transport by default
        libio-socket-ssl-perl: Upgrade to 2.083
        libfaketime: Fix build with clang
        libfaketime: Eanable LFS64 on musl
        python3-lz4: Drop using PYTHON_PN
        python3-lz4: Add missing rdeps needed for ptests
        rsyslog: Skip failing omfile-outchannel test on musl
        python3-m2crypto: Append architecture to SWIG_FEATURES instead of overriding
        networkmanager: Fix build on musl
        network-manager-applet: Fix build with musl/lld linker
        networkmanager-openvpn: Fix build with lld on musl
        openconnect: Upgrade to 9.12
        openconnect: Fix build with GnuTLS v3.8.1
        fontforge: Fix build with gettext 0.22

  Kirk Hays (1):
        jack: Drop dependency on readline

  Leon Anavi (2):
        aml: add new recipe
        neatvnc: add new recipe

  Marek Vasut (2):
        libiio: Use tagged v0.25
        libiio: Rename to versioned recipe filename

  Marine Vovard (1):
        python3-kivy: Require X11 or Wayland in DISTRO_FEATURES

  Mark Hatle (1):
        kconfig-frontends: Avoid using hard coded /usr/include paths

  Markus Volk (28):
        gvfs: update 1.51.1 -> 1.51.90
        gnome-themes-extra: fix datadir path
        libnice: add graphviz-native dependency
        libcanberra: fix api-documentation build
        libgweather4: fix api-documentation build
        appstream: disable docs
        gtksourceview5: fix api-documentation build
        libpeas: fix api-documentation build
        nautilus: fix api-documentation build
        evince: fix api-documentation build
        usbids: add recipe
        libcacard: add recipe
        usbredir: upgrade 0.9.0 -> 0.13.0
        spice: upgrade 0.14.2 -> 0.15.2
        gnome-remote-desktop: add recipe
        libosinfo: add recipe
        gnome-boxes: add recipe
        pipewire: upgrade 0.3.77 -> 0.3.78
        spice-gtk: fix api-documentation build
        flatpak: fix api-documentation build
        phodav: add recipe
        libdecor: update to latest commit
        spice-guest-vdagent: add recipe
        pipewire: upgrade 0.3.78 -> 0.3.79
        spice: add missing dependency on orc
        spice-guest-vdagent: add missing dependencies
        libosinfo: build vapi only if gobject-introspection is enabled
        gnome-boxes: remove dependency on ovmf

  Martin Jansa (12):
        openh264: fix installed-vs-shared QA issue with multilib
        libfaketime: simplify packaging
        json-schema-validator: restore 0004-cmake-Use-GNUInstallDirs.patch
        phodav: make sure systemd files are packaged correctly
        sysbench: avoid -L/usr/lib32 and configure-unsafe QA issue
        mongodb: enable hardware crc32 only with crc in TUNE_FEATURES
        khronos-cts.inc: respect MLPREFIX when appending DEPENDS with anonymous python
        libcyusbserial: fix installed-vs-shipped QA issue with multilib
        tcpreplay: fix pcap detection with /usr/lib32 multilib
        libiio: use main branch instead of master
        webkitgtk: explicitly disable JIT for armv7* with softfp
        layer.conf: update LAYERSERIES_COMPAT for nanbield

  Ming Liu (1):
        libusbgx: usbgx.service: use Type=oneshot

  Mingli Yu (4):
        mariadb: Upgrade to 10.11.5
        dialog: Update the SRC_URI
        gnulib: Update SRC_URI
        thrift: Remove buildpaths

  Nicolas Marguet (1):
        librelp: add ptest

  Parian Golchin (1):
        json-schema-validator: Updrade to 2.2.0

  Pawel Langowski (1):
        qcbor: add recipe

  Petr Chernikov (1):
        Fix empty 0.0.0-0-g0 jemalloc version by adding --with-version

  Petr Gotthard (1):
        python3-sdbus: add recipe

  Robert Yang (1):
        frr: Fix CVE-2023-41358 and CVE-2023-41360

  Roger Knecht (1):
        python3-schedule: add recipe

  Roland Hieber (1):
        fbida: update Upstream-Status for submitted patches

  Ross Burton (1):
        Revert "protobuf: stage protoc binary to sysroot"

  Soumya (1):
        yasm: fix CVE-2023-37732

  Soumya Sambu (1):
        krb5: Upgrade 1.20.1 -> 1.20.2

  Sourav Kumar Pramanik (1):
        meta-oe-components: Avoid usage of nobranch=1

  Sourav Pramanik (2):
        rapidjson: Avoid usage of nobranch=1
        nlohmann-json: Avoid usage of nobranch=1

  Stanislav Angelovic (1):
        feat: bump sdbus-c++ up to v1.3.0

  Sudip Mukherjee (1):
        qad: Add initial recipe

  Trevor Gamblin (1):
        python3-kivy: fix filename

  Tymoteusz Burak (2):
        ttf-google-fira: add recipe
        libfaketime: add recipe

  Vincent Davis Jr (1):
        cglm: upgrade v0.8.9 -> v0.9.1

  Wang Mingyu (108):
        libcloudproviders: upgrade 0.3.1 -> 0.3.2
        chrony: upgrade 4.3 -> 4.4
        networkmanager: upgrade 1.42.8 -> 1.44.0
        weechat: upgrade 4.0.2 -> 4.0.3
        ctags: upgrade 6.0.20230730.0 -> 6.0.20230813.0
        fmt: upgrade 10.0.0 -> 10.1.0
        gensio: upgrade 2.6.7 -> 2.7.2
        googletest: upgrade 1.13.0 -> 1.14.0
        lvgl: upgrade 8.3.8 -> 8.3.9
        postgresql: upgrade 15.3 -> 15.4
        smartmontools: upgrade 7.3 -> 7.4
        xdg-dbus-proxy: upgrade 0.1.4 -> 0.1.5
        yaml-cpp: upgrade 0.7.0 -> 0.8.0
        libtest-harness-perl: upgrade 3.44 -> 3.47
        python3-alembic: upgrade 1.11.1 -> 1.11.2
        python3-async-timeout: upgrade 4.0.2 -> 4.0.3
        python3-bitarray: upgrade 2.8.0 -> 2.8.1
        python3-cmake: upgrade 3.27.0 -> 3.27.2
        python3-coverage: upgrade 7.2.7 -> 7.3.0
        python3-dnspython: upgrade 2.4.1 -> 2.4.2
        python3-google-api-python-client: upgrade 2.95.0 -> 2.96.0
        python3-googleapis-common-protos: upgrade 1.59.1 -> 1.60.0
        python3-joblib: upgrade 1.3.1 -> 1.3.2
        python3-luma-oled: upgrade 3.12.0 -> 3.13.0
        python3-platformdirs: upgrade 3.9.1 -> 3.10.0
        python3-pycodestyle: upgrade 2.10.0 -> 2.11.0
        python3-pyflakes: upgrade 3.0.1 -> 3.1.0
        python3-pymisp: upgrade 2.4.173 -> 2.4.174
        python3-rdflib: upgrade 6.3.2 -> 7.0.0
        python3-regex: upgrade 2023.6.3 -> 2023.8.8
        python3-rich: upgrade 13.4.2 -> 13.5.2
        python3-sh: upgrade 2.0.4 -> 2.0.6
        python3-tox: upgrade 4.6.4 -> 4.8.0
        python3-tqdm: upgrade 4.65.0 -> 4.66.1
        python3-uefi-firmware: upgrade 1.10 -> 1.11
        python3-virtualenv: upgrade 20.24.2 -> 20.24.3
        python3-web3: upgrade 6.7.0 -> 6.8.0
        python3-yamlloader: upgrade 1.2.2 -> 1.3.2
        python3-zeroconf: upgrade 0.71.4 -> 0.76.0
        python3-protobuf: upgrade 4.23.4 -> 4.24.0
        ctags: upgrade 6.0.20230813.0 -> 6.0.20230820.0
        debootstrap: upgrade 1.0.128 -> 1.0.131
        gensio: upgrade 2.7.2 -> 2.7.4
        gnome-bluetooth: upgrade 42.5 -> 42.6
        nginx: upgrade 1.25.1 -> 1.25.2
        geary: update 44.0 -> 44.1
        php: upgrade 8.2.8 -> 8.2.9
        python3-redis: upgrade 4.6.0 -> 5.0.0
        python3-alembic: upgrade 1.11.2 -> 1.11.3
        python3-awesomeversion: upgrade 23.5.0 -> 23.8.0
        python3-bitstring: upgrade 4.0.2 -> 4.1.0
        python3-click: upgrade 8.1.6 -> 8.1.7
        python3-engineio: upgrade 4.5.1 -> 4.6.0
        python3-google-api-python-client: upgrade 2.96.0 -> 2.97.0
        python3-humanize: upgrade 4.7.0 -> 4.8.0
        python3-mypy: upgrade 1.5.0 -> 1.5.1
        python3-oauth2client: upgrade 4.1.2 -> 4.1.3
        python3-protobuf: upgrade 4.24.0 -> 4.24.1
        python3-pycocotools: upgrade 2.0.6 -> 2.0.7
        python3-pymetno: upgrade 0.10.0 -> 0.11.0
        python3-pymongo: upgrade 4.4.1 -> 4.5.0
        python3-pywbem: upgrade 1.6.1 -> 1.6.2
        python3-sqlalchemy: upgrade 2.0.19 -> 2.0.20
        python3-tox: upgrade 4.8.0 -> 4.10.0
        python3-typeguard: upgrade 4.1.0 -> 4.1.2
        python3-types-setuptools: upgrade 68.0.0.3 -> 68.1.0.0
        python3-zeroconf: upgrade 0.76.0 -> 0.82.1
        redis: upgrade 7.0.12 -> 7.2.0
        weechat: upgrade 4.0.3 -> 4.0.4
        traceroute: upgrade 2.1.2 -> 2.1.3
        wireshark: upgrade 4.0.7 -> 4.0.8
        adw-gtk3: upgrade 4.8 -> 4.9
        ctags: upgrade 6.0.20230820.0 -> 6.0.20230827.0
        debootstrap: upgrade 1.0.131 -> 1.0.132
        dialog: upgrade 1.3-20210509 -> 1.3-20230209
        fmt: upgrade 10.1.0 -> 10.1.1
        gensio: upgrade 2.7.4 -> 2.7.5
        iwd: upgrade 2.7 -> 2.8
        libgphoto2: upgrade 2.5.30 -> 2.5.31
        libzip: upgrade 1.10.0 -> 1.10.1
        logwatch: upgrade 7.8 -> 7.9
        thrift: upgrade 0.18.1 -> 0.19.0
        libnet-dns-perl: upgrade 1.39 -> 1.40
        python3-alembic: upgrade 1.11.3 -> 1.12.0
        python3-argh: upgrade 0.28.1 -> 0.29.3
        python3-asttokens: upgrade 2.2.1 -> 2.4.0
        python3-bitstring: upgrade 4.1.0 -> 4.1.1
        python3-cmake: upgrade 3.27.2 -> 3.27.4.1
        python3-diskcache: upgrade 5.6.1 -> 5.6.3
        python3-engineio: upgrade 4.6.0 -> 4.7.0
        python3-imageio: upgrade 2.31.1 -> 2.31.3
        python3-ipython: upgrade 8.14.0 -> 8.15.0
        python3-kiwisolver: upgrade 1.4.4 -> 1.4.5
        python3-langtable: upgrade 0.0.62 -> 0.0.63
        python3-luma-core: upgrade 2.4.0 -> 2.4.1
        python3-protobuf: upgrade 4.24.1 -> 4.24.2
        python3-pymisp: upgrade 2.4.174 -> 2.4.175
        python3-pymodbus: upgrade 3.4.1 -> 3.5.0
        python3-smbus2: upgrade 0.4.2 -> 0.4.3
        python3-snagboot: upgrade 1.1 -> 1.2
        python3-socketio: upgrade 5.8.0 -> 5.9.0
        python3-soupsieve: upgrade 2.4.1 -> 2.5
        python3-tox: upgrade 4.10.0 -> 4.11.1
        python3-typeguard: upgrade 4.1.2 -> 4.1.3
        python3-types-setuptools: upgrade 68.1.0.0 -> 68.1.0.1
        python3-virtualenv: upgrade 20.24.3 -> 20.24.4
        python3-web3: upgrade 6.8.0 -> 6.9.0
        python3-zeroconf: upgrade 0.82.1 -> 0.97.0

  Willy Tu (1):
        abseil-cpp: upgrade 20230125.3 -> 20230802.0

  Yi Zhao (7):
        nftables: upgrade 1.0.7 -> 1.0.8
        libssh: upgrade 0.10.4 -> 0.10.5
        samba: upgrade 4.18.5 -> 4.18.6
        libyang: upgrade 2.1.55 -> 2.1.111
        frr: Security fix CVE-2023-3748
        vsomeip: add recipe
        ntp: add missing runtime dependencies

  Yogita Urade (2):
        poppler: fix CVE-2023-34872
        hwloc: fix CVE-2022-47022

  Βούλγαρη Αικατερίνη (1):
        collectd: build with rrdcached plugin

poky: 71282bbc53..61531cd395:
  Adrian Freihofer (2):
        cmake.bbclass: cleanup spaces and tabs
        cmake.bbclass: refactor cmake args

  Alberto Planas (1):
        bitbake.conf: add bunzip2 in HOSTTOOLS

  Alexander Kanavin (18):
        lib/oe/recipeutils.py: accommodate SRCPV being optional and deprecated in version check regex
        python3-sphinx: correct version check
        systemd-bootchart: musl fixes have been rejected upstream
        openssl: build and install manpages only if they are enabled
        gettext: upgrade 0.21.1 -> 0.22
        connman: update 1.41 -> 1.42
        libcgroup: update 3.0.0 -> 3.1.0
        perlcross: update 1.4.1 -> 1.5
        perl: update 5.36.1 -> 5.38.0
        groff: update 1.22.4 -> 1.23.0
        libglu: update 9.0.2 -> 9.0.3
        libpthread-stubs: update 0.4 -> 0.5
        gpgme: upgrade 1.20.0 -> 1.22.0
        libgudev: upgrade 237 -> 238
        gnupg: upgrade 2.4.2 -> 2.4.3
        gnutls: update 3.8.0 -> 3.8.1
        runqemu: check permissions of available render nodes as well as their presence
        build-sysroots: target or native sysroot population need to be selected explicitly

  Alexis Lothoré (7):
        oeqa/utils/gitarchive: fix tag computation when creating archive
        oeqa/selftest: introduce gitarchive tests
        oeqa/utils/gitarchive: fix tag computation when creating archive
        oeqa/selftest/gitarchive: add tests about tags lisiting when no remote is configured
        oeqa/utils/gitarchive: allow to pass a logger to get_tags
        oeqa/utils/gitarchive: fall back to local tags when listing existing tags
        oeqa/utils/gitarchive: replace warning with info when reading local tags

  Angelo Ribeiro (1):
        ccache.bbclass: Add allowed list for native recipes

  Anuj Mittal (3):
        gstreamer1.0: upgrade 1.22.4 -> 1.22.5
        harfbuzz: upgrade 8.0.1 -> 8.1.1
        stress-ng: upgrade 0.15.08 -> 0.16.04

  Archana Polampalli (1):
        vim: upgrade 9.0.1592 -> 9.0.1664

  Benjamin Bara (6):
        rust-target-config: fix target_features for vfpv3d16
        README: fix mail address in git example command
        pixman: avoid neon on unsupported machines
        nettle: avoid neon on unsupported machines
        ffmpeg: avoid neon on unsupported machines
        ghostscript: avoid neon on unsupported machines

  Bruce Ashfield (19):
        conf/machine: set preferred kernel to be 6.4
        poky/poky-tiny: set preferred linux-yocto version to 6.4
        linux-yocto/6.1: update to v6.1.44
        linux-yocto/6.4: update to v6.4.10
        linux-yocto/6.1: update to v6.1.45
        kern-tools: include utility to post process config diffs
        linux-yocto/6.1: fix uninitialized read in nohz_full/isolcpus setup
        linux-yocto/6.4: fix uninitialized read in nohz_full/isolcpus setup
        linux-yocto/6.4: update to v6.4.11
        linux-yocto/6.1: update to v6.1.46
        linux-yocto/6.1: fix IRQ-80 warnings
        linux-yocto/6.4: fix IRQ-80 warnings
        linux-yocto/6.4: fix CONFIG_F2FS_IO_TRACE configuration warning
        linux-yocto/6.1: fix CONFIG_F2FS_IO_TRACE configuration warning
        linux-yocto/6.4: update to v6.4.12
        linux-yocto/6.1: update to v6.1.50
        linux-yocto/6.4: update to v6.4.13
        linux-yocto/6.4: update to v6.4.14
        linux-yocto/6.1: update to v6.1.51

  Changqing Li (1):
        sqlite3: set CVE_STATUS for CVE-2023-36191

  Chen Qi (6):
        bitbake: runqueue.py: fix PSI check logic
        cmake: drop OE specific environment variable support
        cmake.bbclass: fix allarch override syntax
        uninative.bbclass: sync to use UNINATIVE_STAGING_DIR
        stress-ng: disable DEBUG_BUILD
        oe-depends-dot: improve '-w' behavior

  Daniel Semkowicz (1):
        dev-manual: wic.rst: Update native tools build command

  David Reyna (3):
        bitbake: toaster: Update to Django 4.2
        bitbake: toaster: import only used layers
        bitbake: toaster: accommodate missing 'Image Name' value in buildinfohelper

  Dmitry Baryshkov (4):
        mdadm: disable strace on rv32 arch
        linux-firmware: upgrade 20230625 -> 20230804
        linux-firmware: package audio topology for Lenovo X13s
        linux-firmware: package Dragonboard 845c sensors DSP firmware

  Eilís 'pidge' Ní Fhlannagáin (1):
        nativesdk-intercept: Fix bad intercept chgrp/chown logic

  Emil Ekmečić (2):
        bitbake: fetch2: add Google Cloud Platform (GCP) fetcher
        Add GCP fetcher to list of supported protocols

  Emil Kronborg Andersen (2):
        dbus: add additional entries to CVE_PRODUCT
        libxkbcommon: add CVE_PRODUCT

  Etienne Cordonnier (2):
        vim: update obsolete comment
        migration-guides: system-conf -> systemd-conf

  Frederic Martinsons (5):
        rust: add cargo-c native recipe
        classes-recipe: add cargo_c.bbclass
        rust: provide examples for C library generation in rust
        oeqa/runtime/rust: correct rust test
        ref-manual: classes.rst: suppress rust-hello-world reference, add ptest-cargo class

  Jaeyoon Jung (1):
        cml1: Fix KCONFIG_CONFIG_COMMAND not conveyed fully in do_menuconfig

  Jasper Orschulko (1):
        cve_check: Fix cpe_id generation

  Joe Slater (1):
        file: fix call to localtime_r()

  Jon Mason (1):
        linux-yocto-dev: correct qemuarmv5 device tree location

  Jose Quaresma (3):
        systemd: fix efi dependency
        systemd-boot: remove old gummiboot TUNE_CCARGS
        pybootchartgui: also match do_compile and do_configure subtasks

  Joshua Watt (9):
        bitbake: bblayers/query: Add multiconfig support to `show-appends`
        bitbake: cooker: Fix error message
        bitbake: lib/bb: Add xattr and acl libraries
        buildtools-tarball: Add libacl
        classes/image_types: Add vfat image type
        bitbake: fetch2: git: Check if clone directory is a git repo
        wic: Add gpt-hybrid partition layout
        bitbake: fetch2: git: Remove useless try..else clause
        Add libacl to required packages

  Julien Stephan (4):
        less: upgrade 633 -> 643
        less: add ptest support
        patch.py: use --absolute-git-dir instead of --show-toplevel to retrieve gitdir
        vulkan-samples: convert debugfix.patch to git format patch

  Kai Kang (1):
        webkitgtk: fix build failure with DEBUG_BUILD enabled

  Khem Raj (22):
        gnu-efi: Fix build on musl
        systemd-boot: Fix build on musl
        glibc: Upgrade to 2.38 release
        glibc: Enable fortify sources by defaults
        glibc: Drop --enable-tunables
        glibc: Fix SVE detection on aarch64
        glibc-tests: Add missing libgcc runtime dependency
        kernel.bbclass: Use KERNEL_STRIP instead of STRIP
        build-sysroots: Add SUMMARY field
        tunes: Add support for sve instructions on armv8/armv9
        arch-armv8,arch-armv9: Add sve based tune options
        python3: Increase default thread stack size on musl
        inetutils: Fix CVE-2023-40303
        inetutils: Apply devtool formatting suggestions
        qemu: Fix CVE-2023-40360
        core-image-ptest: Define a fallback for SUMMARY field
        dos2unix: upgrade 7.5.0 -> 7.5.1
        python3: Fix ptests on musl
        tcl: Add a way to skip ptests
        rust-target-config: Map rust target to OE target
        libc-test: Depend on musl-staticdev
        apr: Fix ptests on musl

  Lee Chee Yang (2):
        migration-guides: add release notes for 4.2.3
        migration-guides: add release notes for 4.0.12

  Lei Maohui (1):
        glibc-package: Fix conflict error when enable multilib.

  Luan Rafael Carneiro (2):
        weston: Upgrade version 12.0.1 -> 12.0.2
        weston: Add sysconfdir to FILES:${PN}

  Luca Ceresoli (1):
        Revert "oeqa/runtime/parselogs: Exclude preempt-rt error for now"

  Markus Niebel (2):
        wic: fix wrong attempt to create file system in upartitioned regions
        oeqa: wic: Add test for --no-table option

  Markus Volk (8):
        gtk4: upgrade 4.10.4 -> 4.10.5
        libadwaita: upgrade 1.3.3 -> 1.3.4
        gtk4: upgrade 4.10.5 -> 4.12.0
        qemu: fix libudev packageconfig for systemd images
        qemu: build pulseaudio support depending on distro_feature
        qemu: add packageconfigs for fuse and dbus-display
        gtk4: upgrade 4.12.0 -> 4.12.1
        mesa: add intel raytracing support to opencl build

  Martin Jansa (6):
        tcl: prevent installing another copy of tzdata
        cross-localedef-native: fix build on hosts with older glibc
        bitbake: runqueue: show more pressure data
        Makefile: remove from top-level directory
        bitbake: runqueue: show number of currently running bitbake threads when pressure changes
        webkitgtk: explicitly disable JIT for armv7* with softfp

  Michael Halstead (2):
        yocto-uninative: Update to 4.2 for glibc 2.38
        yocto-uninative: Update to 4.3

  Michael Opdenacker (26):
        scripts/create-pull-request: update URLs to git repositories
        manuals: create a dedicated "Contributor Guide" document
        ref-manual: classes.rst: fix location of _ref-classes-ccache
        ref-manual: update supported distro versions
        contributor-guide: add missing links to mailing lists
        contributor-guide: add section about why we use mailing lists
        contributor-guide: add recipe style guide
        ref-manual: remove AUTHOR variable
        contributor guide: call section "Reporting a defect"
        contributor-guide: remove obsolete pkg-config guidelines
        contributor guide: remove unnecessary information about mailing lists
        contributor-guide: clarification about patchtest
        contributor guide: update instructions for making and sharing changes
        dev-manual: disk-space: mention faster "find" command to trim sstate cache
        contributor-guide: move to 2nd place in top menu
        contributor-guide: submit-changes: simplify note
        contributor-guide: identify component: provide link to repositories
        contributor-guide: submit-changes: detail commit and patch creation
        contributor-guide: submit-changes: develop sending patches section
        manuals: README: update list of manuals
        contributor-guide: submit-changes: reorganize and develop sections
        contributor-guide: submit-changes: improvements to mailing lists section
        contributor-guide: submit-changes: commit guidelines for recipes
        contributor-guide: submit-changes: how to request push access to repositories
        README: update/fix contribution guidelines
        bitbake: doc: bitbake-user-manual: remove reference to SSTATE_MIRRORS variable

  Mikko Rapeli (4):
        openssh: capture ptest regression test failure logs
        oeqa selftest context.py: whitespace fix
        oeqa selftest context.py: remove warning from missing meta-selftest
        oeqa selftest context.py: fix git commands and set branch name

  Mingli Yu (2):
        qemu: Add qemu-common package
        webkitgtk: Add opengl to REQUIRED_DISTRO_FEATURES

  Narpat Mali (1):
        ffmpeg: add CVE_STATUS for CVE-2023-39018

  Otavio Salvador (2):
        weston-init: remove misleading comment about udev rule
        weston-init: fix init code indentation

  Ovidiu Panait (1):
        mdadm: skip running 04update-uuid and 07revert-inplace testcases

  Paulo Neves (1):
        bitbake: siggen.py: Improve taskhash reproducibility

  Peter Kjellerstedt (3):
        bin_package.bbclass: Inhibit the default dependencies
        insane.bbclass: Remove an unused variable
        poky.conf: Switch to post release name/version

  Peter Marko (2):
        openssl: Upgrade 3.1.1 -> 3.1.2
        gcc-runtime: remove bashism

  Poonam Jadhav (1):
        pixman: Remove duplication of license MIT

  Randolph Sapp (1):
        bitbake: gitsm: tolerate git-lfs in submodules

  Richard Purdie (39):
        bitbake: siggen: Fix indentation
        bitbake: siggen: Update debug
        resulttool/report: Avoid divide by zero
        gcc-testsuite: Fix qemu binary filtering code logic error
        gcc-testsuite: Set qemu options for mips correctly
        mips/tune-mips64r2: Set qemu cpu option correctly
        binutils-cross-testsuite: Pass TUNE_LDARGS to tests
        arch-mips: Ensure TUNE_LDARGS is set correctly
        gcc: Add patch to improve testsuite failures, particularly mips
        oeqa/runtime/parselogs: Exclude preempt-rt error for now
        qemu: Upgrade 8.0.3 -> 8.0.4
        lib/package_manager: Improve repo artefact filtering
        Revert "oeqa/utils/gitarchive: fix tag computation when creating archive"
        lttng-modules: Upgrade 2.13.9 -> 2.13.10
        lttng-tools: Upgrade 2.13.9 -> 2.13.10
        pseudo: Fix to work with glibc 2.38
        binutils: Add missing DEPENDS on pod2man
        build-sysroots: Ensure dependency chains are minimal
        bitbake: fetch2: Add new srcrev fetcher API
        base/package: Move source revision information from PV to PKGV
        recipes/classes/scripts: Drop SRCPV usage in OE-Core
        glibc: Add glibc 2.38 stable updates
        README: Update to point to new contributor guide
        bitbake: README: Update to point to new contributor guide
        bitbake: command: Avoid time intensive distractions for ping
        README: Clarify/standardise contributions process
        python3-numpy: Attempt to fix reproducibility issue
        bitbake: doc: Document challenges of tags with git fetcher
        bitbake: server/process: Add more timing debug
        qemu: Upgrade 8.0.4 -> 8.1.0
        qemu: Add patches to resolve x86 and then mips boot issues
        mdadm: Disable further tests due to intermittent failures
        Revert "oeqa selftest context.py: fix git commands and set branch name"
        classes: Drop ';' delimiter from ROOTFS/IMAGE*COMMAND variables
        build-appliance-image: Update to master head revision
        layer.conf: Update to nanbield release series
        bitbake: bitbake: Update to 2.6.0 release series/version
        layer.conf: Update to nanbield release series
        build-appliance-image: Update to master head revision

  Ross Burton (47):
        connman-conf: don't take over any ethernet devices, not just eth0
        meson.bbclass: add MESON_TARGET
        meson.bbclass:: update do_write_config vardeps
        systemd-boot: use MESON_TARGET
        systemd-boot: improve cross file generation
        p11-kit: fix build without qemu-usermode
        gi-docgen: depend on qemu-usermode MACHINE_FEATURES
        python3-pygobject: add explicit check for qemu-usermode MACHINE_FEATURE
        graphene: fix runtime detection of IEEE754 behaviour
        python3: ignore disputed CVE-2023-36632
        procps: backport fix for CVE-2023-4016
        linux/generate-cve-exclusions.py: fix comparison
        linux/cve-exclusions: update CVE_STATUS exclusions
        perf: enable verbose feature detection
        perf: add more PACKAGECONFIGs
        perf: fix perl binding support
        perf: split scripting PACKAGECONFIG into perl and python
        perf: disable perl support
        libtraceevent: build with Meson
        linux/generate-cve-exclusions: add version check warning
        linux-yocto: update CVE exclusions files
        site: remove at-spi2-core values
        inetutils: don't guess target paths
        inetutils: remove obsolete patches
        inetutils: remove obsolete cruft from do_configure
        glib-networking: enable build with GnuTLS if PKCS#11 was disabled
        glib-networking: use gnutls backend for TLS sockets
        cve-extra-exclusions: remove historic kernel CVEs which are handled now
        cve-extra-exclusions: remove BlueZ issues
        linux-yocto: update kernel CVE status
        linux: review some historic CVE_STATUS
        glib-2.0: explicitly enable strlcpy()
        scripts/oe-find-native-sysroot: use bitbake-getvar
        qemu-system-native: enable PNG support
        python3-build: upgrade to 1.0.0
        glib-2.0: libelf has a configure option now, specify it
        harfbuzz: update PACKAGECONFIG
        pango: explictly enable/disable libthai
        libsoup-2.4: update PACKAGECONFIG
        libsoup: update PACKAGECONFIG
        wayland-utils: add libdrm PACKAGECONFIG
        cve-exclusion: review the last of the historical kernel CVEs
        busybox: remove coreutils dependency in busybox-ptest
        libgudev: explicitly disable tests and vapi
        linux: update CVE exclusions
        python3-build: upgrade to 1.0.3
        avahi: handle invalid service types gracefully

  Ryan Eatmon (1):
        kernel.bbclass: Add force flag to rm calls

  Samantha Jalabert (1):
        bitbake: Fix disk space monitoring on cephfs

  Stéphane Veyret (1):
        nfs-utils: Add needed library to client

  Sudip Mukherjee (4):
        kea: upgrade to v2.4.0
        cmake: upgrade to v3.27.4
        dpkg: upgrade to v1.22.0
        openssh: upgrade to v9.4p1

  Tom Hochstein (1):
        linux-firmware: add firmware files for NXP BT chipsets

  Trevor Gamblin (16):
        python3-hypothesis: upgrade 6.82.0 -> 6.82.5
        python3-more-itertools: upgrade 10.0.0 -> 10.1.0
        python3-pygments: upgrade 2.15.1 -> 2.16.1
        python3-wheel: upgrade 0.41.0 -> 0.41.1
        maintainers.inc: Add self for unmaintained Python recipes
        oe-buildenv-internal: update required Python version
        python3-dbusmock: upgrade 0.29.0 -> 0.29.1
        python3-numpy: upgrade 1.25.1 -> 1.25.2
        python3-trove-classfiers: upgrade 2023.7.6 -> 2023.8.7
        python3-setuptools: upgrade 68.0.0 -> 68.1.0
        python3-dtc: upgrade 1.6.1 -> 1.7.0
        python3-poetry: upgrade 1.6.1 -> 1.7.0
        python3-git: upgrade 3.1.32 -> 3.1.34
        python3-hypothesis: upgrade 6.82.7 -> 6.84.0
        python3-pytest: upgrade 7.4.0 -> 7.4.1
        python3-sphinx: upgrade 7.1.1 -> 7.2.5

  Ulrich Ölmann (1):
        weston: fix comment

  Wang Mingyu (47):
        btrfs-tools: upgrade 6.3.1 -> 6.3.3
        curl: upgrade 8.2.0 -> 8.2.1
        file: upgrade 5.44 -> 5.45
        gmp: upgrade 6.2.1 -> 6.3.0
        xxhash: upgrade 0.8.1 -> 0.8.2
        python3-editables: upgrade 0.4 -> 0.5
        python3-markdown: upgrade 3.4.3 -> 3.4.4
        python3-pathspec: upgrade 0.11.1 -> 0.11.2
        python3-pip: upgrade 23.2 -> 23.2.1
        python3-pyparsing: upgrade 3.1.0 -> 3.1.1
        re2c: upgrade 3.0 -> 3.1
        shaderc: upgrade 2023.4 -> 2023.5
        sudo: upgrade 1.9.14p2 -> 1.9.14p3
        libarchive: upgrade 3.6.2 -> 3.7.1
        tar: upgrade 1.34 -> 1.35
        bind: upgrade 9.18.17 -> 9.18.18
        bluez5: upgrade 5.68 -> 5.69
        ell: upgrade 0.57 -> 0.58
        git: upgrade 2.41.0 -> 2.42.0
        kbd: upgrade 2.6.1 -> 2.6.2
        libconvert-asn1-perl: upgrade 0.33 -> 0.34
        libdrm: upgrade 2.4.115 -> 2.4.116
        libedit: upgrade 20221030-3.1 -> 20230828-3.1
        libgit2: upgrade 1.7.0 -> 1.7.1
        librepo: upgrade 1.15.1 -> 1.15.2
        libsecret: upgrade 0.20.5 -> 0.21.0
        libsndfile1: upgrade 1.2.0 -> 1.2.2
        libxml2: upgrade 2.11.4 -> 2.11.5
        mc: upgrade 4.8.29 -> 4.8.30
        mpfr: upgrade 4.2.0 -> 4.2.1
        neard: upgrade 0.18 -> 0.19
        python3: upgrade 3.11.4 -> 3.11.5
        pango: upgrade 1.50.14 -> 1.51.0
        pigz: upgrade 2.7 -> 2.8
        pkgconf: upgrade 1.9.5 -> 2.0.2
        python3-setuptools: upgrade 68.1.0 -> 68.1.2
        repo: upgrade 2.35 -> 2.36.1
        shaderc: upgrade 2023.5 -> 2023.6
        sqlite3: upgrade 3.42.0 -> 3.43.0
        sysklogd: upgrade 2.5.0 -> 2.5.2
        xz: upgrade 5.4.3 -> 5.4.4
        zlib: upgrade 1.2.13 -> 1.3
        python3-hypothesis: upgrade 6.82.5 -> 6.82.7
        python3-pluggy: upgrade 1.2.0 -> 1.3.0
        python3-sphinx-rtd-theme: upgrade 1.2.2 -> 1.3.0
        python3-wheel: upgrade 0.41.1 -> 0.41.2
        librepo: upgrade 1.15.2 -> 1.16.0

  Yang Xu (1):
        meson: don't fail if no .pyc exists

  Yi Zhao (2):
        dhcpcd: upgrade 10.0.1 -> 10.0.2
        dhcpcd: fix buffer overflow

  Yoann Congal (1):
        dev-manual: remove unsupported :term: markup inside markup

  Yogita Urade (1):
        dropbear: fix CVE-2023-36328

  Yuta Hayama (3):
        linux/generate-cve-exclusions: print the generated time in UTC
        linux/generate-cve-exclusions: fix mishandling of boundary values
        linux-yocto: correct the wording in CVE_STATUS

  Zang Ruochen (6):
        tcf-agent: Disable non-building features on loongarch64
        gcc-sanitizers: Add loongarch as a compatible architecture.
        goarch.bbclass: Add loongarch64 to go_map_arch
        qemuloongarch.inc:Change to use virtio-serial-pci
        kernel-devsrc: Fixed missing loongarch64 kernel source code when test_kernelmodules
        gcc: Fresh 0003-64-bit-multilib-hack.patch to add loongarch64 support

Change-Id: I4d4752539711b34471002dd1817bb7c14a590675
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.11.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
index feb2c41..78b888e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
@@ -4,7 +4,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "6a810a6b012c88b33458fceb869aef09ac75d6ace5291915ba7fae44de372c01"
+SRC_URI[sha256sum] = "8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"
 
 PYPI_PACKAGE = "alembic"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.28.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.3.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.28.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.3.bb
index 2b1cb3e..93e0a84 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.28.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.3.bb
@@ -14,7 +14,7 @@
 LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
                     file://README.rst;beginline=261;endline=275;md5=a8bf3475df7e0d575a53d04c83d5e090"
 
-SRC_URI[sha256sum] = "b2093086f0e809a3ecc24b64a2145309ee8f56d034936cd59e57c558a357329d"
+SRC_URI[sha256sum] = "58e438ce9169aaa2e6de147e3ceb34ceacfe26556a2306f50e2d46f52779acb1"
 
 inherit pypi python_flit_core
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
index 7c77530..3942122 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
@@ -7,7 +7,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"
+SRC_URI[sha256sum] = "2e0171b991b2c959acc6c49318049236844a5da1d65ba2672c4880c1c894834e"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.3.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.3.bb
index b1d19ce..c16dfd0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.3.bb
@@ -8,7 +8,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4fa41f15bb5f23b6d3560c5845eb8d57"
 
-SRC_URI[sha256sum] = "2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"
+SRC_URI[sha256sum] = "4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"
 
 PYPI_PACKAGE = "async-timeout"
 inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
index bcd959c..6fd1364 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
 
-SRC_URI[sha256sum] = "a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491"
+SRC_URI[sha256sum] = "d788b2917a716adb912ba1c31b831aedd4c37858fcfe080105dc8da30c2e21c3"
 
 RDEPENDS:${PN} += "python3-profile python3-logging"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
index 19d9f9e..cb94df5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "PSF-2.0"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
 
-SRC_URI[sha256sum] = "cd69a926a3363e25e94a64408303283c59085be96d71524bdbe6bfc8da2e34e0"
+SRC_URI[sha256sum] = "e68ceef35a88625d16169550768fcc8d3894913e363c24ecbf6b8c07eb02c8f3"
 
 inherit setuptools3 pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.1.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.1.bb
index b2ad991..f45bfc0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=661f450e2c0aef39b4b15597333444a7"
 
-SRC_URI[sha256sum] = "a391db8828ac4485dd5ce72c80b27ebac3e7b989631359959e310cd9729723b2"
+SRC_URI[sha256sum] = "a9c97fdf9fe38f27ea0ac2b4cf2a3f5bce5ccc23b863082582b9f48b22274528"
 
 PYPI_PACKAGE = "bitstring"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
index 7ecbf12..f3cfd17 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
@@ -20,7 +20,9 @@
     python3-logging \
     python3-misc \
     python3-netserver \
+    python3-packaging \
     python3-pkg-resources \
+    python3-setuptools \
     python3-sqlite3 \
     python3-typing-extensions \
     python3-wrapt \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.7.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.7.bb
index 4858c9e..a4ec6cd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.7.bb
@@ -8,7 +8,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8"
 
-SRC_URI[sha256sum] = "48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"
+SRC_URI[sha256sum] = "ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.4.1.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.4.1.bb
index 8111675..6d3e81f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.4.1.bb
@@ -11,7 +11,7 @@
 PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
 
 inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "d03f0a76a2b96805044ad1178b92aeeb5f695caa6776a32522bb5c430a55b4e8"
+SRC_URI[sha256sum] = "70526bbff5eeb7d4d6b921af1b80d2d29828302882f94a2cba93ad7d469b90f6"
 
 SRC_URI += " \
 	file://CMakeLists.txt \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.0.bb
index a69c05d..0a32a6a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"
+SRC_URI[sha256sum] = "49dbb19cdcafc130f597d9e04a29d0a032ceedf729e41b181f51cd170e6ee865"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.3.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.3.bb
index 447bfc4..8bc498d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c60ef82f0f40155453f6d5f2c94b6e8e"
 
-SRC_URI[sha256sum] = "e4c978532feff5814c4cc00fe1e11e40501985946643d73220d41ee7737c72c3"
+SRC_URI[sha256sum] = "2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc"
 
 PYPI_PACKAGE = "diskcache"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
index 6233527..1ebd2aa 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5af50906b5929837f667dfe31052bd34"
 
-SRC_URI[sha256sum] = "c33971c79af5be968bb897e95c2448e11a645ee84d93b265ce0b7aabe5dfdca8"
+SRC_URI[sha256sum] = "8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"
 
 inherit pypi python_poetry_core ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch
new file mode 100644
index 0000000..81211d4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch
@@ -0,0 +1,20 @@
+Fixes test failures on musl
+
+Fixes errors
+ptestresult.python3-dominate.tests/test_dom_tag.py::test___get_thread_context
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff --git a/tests/test_dom_tag.py b/tests/test_dom_tag.py
+index 43ffecb..1126e54 100644
+--- a/tests/test_dom_tag.py
++++ b/tests/test_dom_tag.py
+@@ -18,6 +18,7 @@ def test___get_thread_context(monkeypatch):
+     monkeypatch.setattr(sut, 'threading', threading)
+ 
+     assert sut._get_thread_context() in [
++        1692341442, # Python >= 3.9, 32-bit
+         -6805948436281256182, # Python >= 3.9
+         3713141171098444831, # Python < 3.9
+     ]
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb
index 73701ec..6b0489e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb
@@ -8,6 +8,7 @@
 
 SRC_URI += " \
 	file://run-ptest \
+	file://fix-ptests.patch \
 "
 
 RDEPENDS:${PN}-ptest += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.0.bb
index d972488..85f5371 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.0.bb
@@ -17,4 +17,4 @@
 	python3-asyncio \
 "
 
-SRC_URI[sha256sum] = "b167a1b208fcdce5dbe96a61a6ca22391cfa6715d796c22de93e3adf9c07ae0c"
+SRC_URI[sha256sum] = "8b4f30ba58a5bff001801127227f44a1da0c0a22045f798c1a13ebb0d618e2a3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.97.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.97.0.bb
index c862583..1ee9f5b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.97.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "d2731ede12f79e53fbe11fdb913dfe986440b44c0a28431c78a8ec275f4c1541"
+SRC_URI[sha256sum] = "48277291894876a1ca7ed4127e055e81f81e6343ced1b544a7200ae2c119dcd7"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
index a6b3d4e..5c9ba5f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b35d530fe825fb4227857bc47ad84c33c809ac96f312e13182bdeaa2abe1178a"
+SRC_URI[sha256sum] = "e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-grpcio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
index 81654af..aa56a90 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
 
-SRC_URI[sha256sum] = "7ca0e43e870981fa684acb5b062deb307218193bca1a01f2b2676479df849b3a"
+SRC_URI[sha256sum] = "9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"
 
 inherit pypi python_hatchling
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
index 904ddde..709822d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
 
-SRC_URI[sha256sum] = "f8436a02af02fd63f272dab50f7d623547a38f0e04a4a73e2b02ae1b8b180f27"
+SRC_URI[sha256sum] = "74c6a832d81b7ad5a8a80976dea58ee033d3e2b99a54990cbd789b4cb0b31461"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/new-test-inotify.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/new-test-inotify.patch
new file mode 100644
index 0000000..e462615
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/new-test-inotify.patch
@@ -0,0 +1,620 @@
+From 80010e27d774e8b722d569384492eaab2bc4ac61 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 27 Jul 2023 15:01:04 +0000
+Subject: [PATCH] working commit
+
+It is not safe to assume the values returned by add_watch(),
+so we add a local helper get_wd() to retrieve them.  This fixes
+a problem in TestInotifyTree.test__cycle() where the
+wd's for the 'aa' and 'bb' paths are not '2' and '3',
+respectively.
+
+A second issue is that Inotify._get_event_names() should
+return a set or sorted list to avoid comparison problems,
+but that is not addressed here since it could be viewed as
+changing the API.
+
+This test_inotify.py is based on the version in the fix_tests branch of
+pyinotify as of commit d7d3c58...
+
+Upstream-Status: Submitted [github.com/dsoprea/PyInotify/pull/104]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ tests/test_inotify.py | 346 ++++++++++++++++++++++++++++++++----------
+ 1 file changed, 262 insertions(+), 84 deletions(-)
+
+diff --git a/tests/test_inotify.py b/tests/test_inotify.py
+index d9f1f84..d89a49e 100644
+--- a/tests/test_inotify.py
++++ b/tests/test_inotify.py
+@@ -2,6 +2,7 @@
+ 
+ import os
+ import unittest
++import time
+ 
+ import inotify.constants
+ import inotify.calls
+@@ -15,6 +16,11 @@ except NameError:
+ else:
+     _HAS_PYTHON2_UNICODE_SUPPORT = True
+ 
++# Inotify does not have a get for watch descriptors
++# 
++def get_wd(i, path):
++    return i._Inotify__watches[path]
++
+ 
+ class TestInotify(unittest.TestCase):
+     def __init__(self, *args, **kwargs):
+@@ -29,11 +35,11 @@ class TestInotify(unittest.TestCase):
+     @unittest.skipIf(_HAS_PYTHON2_UNICODE_SUPPORT is True, "Not in Python 3")
+     def test__international_naming_python3(self):
+         with inotify.test_support.temp_path() as path:
+-            inner_path = os.path.join(path, '新增資料夾')
++            inner_path = os.path.join(path, u'新增資料夾')
+             os.mkdir(inner_path)
+ 
+             i = inotify.adapters.Inotify()
+-            i.add_watch(inner_path)
++            wd = i.add_watch(inner_path)
+ 
+             with open(os.path.join(inner_path, 'filename'), 'w'):
+                 pass
+@@ -41,12 +47,27 @@ class TestInotify(unittest.TestCase):
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, 'filename'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     @unittest.skipIf(_HAS_PYTHON2_UNICODE_SUPPORT is False, "Not in Python 2")
+     def test__international_naming_python2(self):
+@@ -55,7 +76,7 @@ class TestInotify(unittest.TestCase):
+             os.mkdir(inner_path)
+ 
+             i = inotify.adapters.Inotify()
+-            i.add_watch(inner_path)
++            wd = i.add_watch(inner_path)
+ 
+             with open(os.path.join(inner_path, u'filename料夾'), 'w'):
+                 pass
+@@ -63,12 +84,28 @@ class TestInotify(unittest.TestCase):
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, u'filename料夾'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, u'filename料夾'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=16, cookie=0, len=16), ['IN_CLOSE_NOWRITE'], inner_path, u'filename料夾'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__cycle(self):
+         with inotify.test_support.temp_path() as path:
+@@ -79,7 +116,7 @@ class TestInotify(unittest.TestCase):
+             os.mkdir(path2)
+ 
+             i = inotify.adapters.Inotify()
+-            i.add_watch(path1)
++            wd = i.add_watch(path1)
+ 
+             with open('ignored_new_file', 'w'):
+                 pass
+@@ -96,32 +133,47 @@ class TestInotify(unittest.TestCase):
+ 
+             expected = [
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16),
+                     ['IN_CREATE'],
+                     path1,
+                     'seen_new_file'
+                 ),
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16),
+                     ['IN_OPEN'],
+                     path1,
+                     'seen_new_file'
+                 ),
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16),
+                     ['IN_CLOSE_WRITE'],
+                     path1,
+                     'seen_new_file'
+                 ),
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=512, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=512, cookie=0, len=16),
+                     ['IN_DELETE'],
+                     path1,
+                     'seen_new_file'
+                 )
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+             # This can't be removed until *after* we've read the events because
+             # they'll be flushed the moment we remove the watch.
+@@ -131,7 +183,7 @@ class TestInotify(unittest.TestCase):
+                 pass
+ 
+             events = self.__read_all_events(i)
+-            self.assertEquals(events, [])
++            self.assertEqual(events, [])
+ 
+     @staticmethod
+     def _open_write_close(*args):
+@@ -167,23 +219,47 @@ class TestInotify(unittest.TestCase):
+         with inotify.test_support.temp_path() as path:
+             path1 = TestInotify._make_temp_path(path, 'aa')
+             path2 = TestInotify._make_temp_path(path, 'bb')
++
+             i = inotify.adapters.Inotify([path1, path2])
++
+             TestInotify._open_write_close('ignored_new_file')
+             TestInotify._open_write_close(path1, 'seen_new_file')
+             TestInotify._open_write_close(path2, 'seen_new_file2')
++            
++            wd_path1 = get_wd(i, path1)
++            wd_path2 = get_wd(i, path2)
++
++
+             os.remove(os.path.join(path1, 'seen_new_file'))
++
+             events = self.__read_all_events(i)
++
+             expected = [
+-                TestInotify._event_create(wd=1, path=path1, filename='seen_new_file'),
+-                TestInotify._event_open(wd=1, path=path1, filename='seen_new_file'),
+-                TestInotify._event_close_write(wd=1, path=path1, filename='seen_new_file'),
+-                TestInotify._event_create(wd=2, path=path2, filename='seen_new_file2'),
+-                TestInotify._event_open(wd=2, path=path2, filename='seen_new_file2'),
+-                TestInotify._event_close_write(wd=2, path=path2, filename='seen_new_file2'),
+-                TestInotify._event_general(wd=1, mask=512, type_name='IN_DELETE',
+-                                           path=path1, filename='seen_new_file')
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, u'seen_new_file'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, u'seen_new_file'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, u'seen_new_file'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, u'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, u'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, u'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=512, cookie=0, len=16), ['IN_DELETE'], path1, u'seen_new_file'),
+             ]
+-            self.assertEquals(events, expected)
++
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__error_on_watch_nonexistent_folder(self):
+         i = inotify.adapters.Inotify()
+@@ -201,7 +277,7 @@ class TestInotify(unittest.TestCase):
+         i = inotify.adapters.Inotify()
+         names = i._get_event_names(all_mask)
+ 
+-        self.assertEquals(names, all_names)
++        self.assertEqual(names, all_names)
+ 
+ 
+ class TestInotifyTree(unittest.TestCase):
+@@ -219,56 +295,101 @@ class TestInotifyTree(unittest.TestCase):
+             path1 = os.path.join(path, 'aa')
+             os.mkdir(path1)
+ 
++            time.sleep(.10)
++
+             path2 = os.path.join(path, 'bb')
+             os.mkdir(path2)
+ 
++            time.sleep(.10)
++
+             i = inotify.adapters.InotifyTree(path)
+ 
+             with open('seen_new_file1', 'w'):
+                 pass
+ 
++            time.sleep(.10)
++
+             with open(os.path.join(path1, 'seen_new_file2'), 'w'):
+                 pass
+ 
++            time.sleep(.10)
++
+             with open(os.path.join(path2, 'seen_new_file3'), 'w'):
+                 pass
+ 
++            time.sleep(.10)
++            
++            wd_path  = get_wd(i.inotify, path)
++            wd_path1 = get_wd(i.inotify, path1)
++            wd_path2 = get_wd(i.inotify, path2)
++
+             os.remove(os.path.join(path, 'seen_new_file1'))
++
++            time.sleep(.10)
++
+             os.remove(os.path.join(path1, 'seen_new_file2'))
++
++            time.sleep(.10)
++
+             os.remove(os.path.join(path2, 'seen_new_file3'))
+ 
++            time.sleep(.10)
++
+             os.rmdir(path1)
++
++            time.sleep(.10)
++
+             os.rmdir(path2)
+ 
+-            events = self.__read_all_events(i)
++            time.sleep(.10)
+ 
++            events = self.__read_all_events(i)
++            events = sorted(events)
++            
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], path, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], path, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=256, cookie=0, len=16), ['IN_CREATE'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=32, cookie=0, len=16), ['IN_OPEN'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path, 'seen_new_file1'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file2'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file3'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file3'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file3'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=512, cookie=0, len=16), ['IN_DELETE'], path, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=512, cookie=0, len=16), ['IN_DELETE'], path1, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=512, cookie=0, len=16), ['IN_DELETE'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=512, cookie=0, len=16), ['IN_DELETE'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=512, cookie=0, len=16), ['IN_DELETE'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=512, cookie=0, len=16), ['IN_DELETE'], path2, 'seen_new_file3'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path1, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path1, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742336, cookie=0, len=16), ['IN_ISDIR', 'IN_DELETE'], path, 'aa'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path1, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path1, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742336, cookie=0, len=16), ['IN_DELETE', 'IN_ISDIR'], path, 'aa'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path2, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path2, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742336, cookie=0, len=16), ['IN_ISDIR', 'IN_DELETE'], path, 'bb'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path2, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path2, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742336, cookie=0, len=16), ['IN_DELETE', 'IN_ISDIR'], path, 'bb'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            expected = sorted(expected)
++
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__renames(self):
+ 
+@@ -283,26 +404,30 @@ class TestInotifyTree(unittest.TestCase):
+             new_path = os.path.join(path, 'new_folder')
+ 
+             os.mkdir(old_path)
++            
++            wd_path = get_wd(i.inotify, path)
+ 
+             events1 = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742080, cookie=events1[0][0].cookie, len=16), ['IN_ISDIR', 'IN_CREATE'], path, 'old_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742080, cookie=events1[0][0].cookie, len=16), ['IN_CREATE', 'IN_ISDIR'], path, 'old_folder'),
+             ]
+ 
+-            self.assertEquals(events1, expected)
+-
++            self.assertEqual(events1, expected)
+ 
+             os.rename(old_path, new_path)
+ 
++            wd_old_path = get_wd(i.inotify, old_path)
++
+             events2 = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073741888, cookie=events2[0][0].cookie, len=16), ['IN_MOVED_FROM', 'IN_ISDIR'], path, 'old_folder'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073741952, cookie=events2[1][0].cookie, len=16), ['IN_MOVED_TO', 'IN_ISDIR'], path, 'new_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073741888, cookie=events2[0][0].cookie, len=16), ['IN_MOVED_FROM', 'IN_ISDIR'], path, 'old_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073741952, cookie=events2[1][0].cookie, len=16), ['IN_MOVED_TO', 'IN_ISDIR'], path, 'new_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=2048, cookie=0, len=0), ['IN_MOVE_SELF'], new_path, '')
+             ]
+ 
+-            self.assertEquals(events2, expected)
++            self.assertEqual(events2, expected)
+ 
+ 
+             with open(os.path.join(new_path, 'old_filename'), 'w'):
+@@ -318,21 +443,33 @@ class TestInotifyTree(unittest.TestCase):
+             events3 = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], new_path, 'old_filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], new_path, 'old_filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=256, cookie=0, len=16), ['IN_CREATE'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=32, cookie=0, len=16), ['IN_OPEN'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=64, cookie=events3[3][0].cookie, len=16), ['IN_MOVED_FROM'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=128, cookie=events3[4][0].cookie, len=16), ['IN_MOVED_TO'], new_path, 'new_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=512, cookie=0, len=16), ['IN_DELETE'], new_path, 'new_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], new_path, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=32768, cookie=0, len=0), ['IN_IGNORED'], new_path, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742336, cookie=0, len=16), ['IN_DELETE', 'IN_ISDIR'], path, 'new_folder'),
++            ]
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=64, cookie=events3[3][0].cookie, len=16), ['IN_MOVED_FROM'], new_path, 'old_filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=128, cookie=events3[4][0].cookie, len=16), ['IN_MOVED_TO'], new_path, 'new_filename'),
++            if events3 != expected:
++                print("ACTUAL:")
++                print("")
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=512, cookie=0, len=16), ['IN_DELETE'], new_path, 'new_filename'),
++                for i, event in enumerate(events3):
++                    print(event)
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], new_path, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32768, cookie=0, len=0), ['IN_IGNORED'], new_path, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742336, cookie=0, len=16), ['IN_ISDIR', 'IN_DELETE'], path, 'new_folder'),
+-            ]
++                print("")
++
++                print("EXPECTED:")
++                print("")
+ 
+-            self.assertEquals(events3, expected)
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__automatic_new_watches_on_new_paths(self):
+ 
+@@ -346,39 +483,60 @@ class TestInotifyTree(unittest.TestCase):
+             path2 = os.path.join(path1, 'folder2')
+ 
+             os.mkdir(path1)
++ 
++            wd_path = get_wd(i.inotify, path)
+ 
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742080, cookie=0, len=16), ['IN_ISDIR', 'IN_CREATE'], path, 'folder1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742080, cookie=0, len=16), ['IN_CREATE', 'IN_ISDIR'], path, 'folder1'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            self.assertEqual(events, expected)
+ 
+ 
+             os.mkdir(path2)
+ 
++            wd_path1 = get_wd(i.inotify, path1)
++
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=1073742080, cookie=0, len=16), ['IN_ISDIR', 'IN_CREATE'], path1, 'folder2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=1073742080, cookie=0, len=16), ['IN_CREATE', 'IN_ISDIR'], path1, 'folder2'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            self.assertEqual(events, expected)
+ 
+ 
+             with open(os.path.join(path2,'filename'), 'w'):
+                 pass
+ 
++            wd_path2 = get_wd(i.inotify, path2)
++
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__automatic_new_watches_on_existing_paths(self):
+ 
+@@ -396,16 +554,33 @@ class TestInotifyTree(unittest.TestCase):
+ 
+             with open(os.path.join(path2,'filename'), 'w'):
+                 pass
++                
++            wd = get_wd(i.inotify, path2)
+ 
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+ 
+ class TestInotifyTrees(unittest.TestCase):
+@@ -428,6 +603,9 @@ class TestInotifyTrees(unittest.TestCase):
+ 
+             i = inotify.adapters.InotifyTrees([path1, path2])
+ 
++            wd_path1 = get_wd(i.inotify, path1)
++            wd_path2 = get_wd(i.inotify, path2)
++
+             with open(os.path.join(path1, 'seen_new_file1'), 'w'):
+                 pass
+ 
+@@ -437,13 +615,13 @@ class TestInotifyTrees(unittest.TestCase):
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file1'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file2'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            self.assertEqual(events, expected)
+-- 
+2.35.5
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
index 9e35c7b..2e189dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
@@ -7,6 +7,7 @@
 
 SRC_URI = " \
     git://github.com/dsoprea/pyinotify.git;branch=master;protocol=https \
+    file://new-test-inotify.patch \
     file://run-ptest \
 "
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
index dece1d7..f06e501 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
@@ -5,7 +5,7 @@
 
 PYPI_PACKAGE = "ipython"
 
-SRC_URI[sha256sum] = "1d197b907b6ba441b692c48cf2a3a2de280dc0ac91a3405b39349a50272ca0a1"
+SRC_URI[sha256sum] = "2baeb5be6949eeebf532150f81746f8333e2ccce02de1c7eedde3f23ed5e9f1e"
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb
index 9186cbb..fe1e68c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb
@@ -4,7 +4,7 @@
 
 inherit setuptools3 pypi
 
-SRC_URI[sha256sum] = "1f937906df65329ba98013dc9692fe22a4c5e4a648112de500508b18a21b41e3"
+SRC_URI[sha256sum] = "92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"
 
 RDEPENDS:${PN} += " \
     python3-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
similarity index 94%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
index ca1fc5f..b02c55a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
@@ -43,7 +43,9 @@
 KIVY_CROSS_SYSROOT="${RECIPE_SYSROOT}"
 export KIVY_CROSS_SYSROOT
 
-REQUIRED_DISTRO_FEATURES += "x11 opengl gobject-introspection-data"
+REQUIRED_DISTRO_FEATURES += "opengl gobject-introspection-data"
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
 
 DEPENDS += " \
     gstreamer1.0 \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.5.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.5.bb
index acc8bd5..a1949b1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.5.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f137eeae9cf8004d06830f6ab25b2d52"
 
-SRC_URI[sha256sum] = "d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"
+SRC_URI[sha256sum] = "e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.63.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.63.bb
index df6d14e..ca68a6c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.63.bb
@@ -6,7 +6,7 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-SRC_URI[sha256sum] = "df8d5daedaa5c0d4e72dace925733376ba705d9330f63934f122eacf4746f360"
+SRC_URI[sha256sum] = "ff2b5a1db27900cb83e06bcbd14cb0bbd5caaf304c913308246608d8e93d684f"
 
 inherit pypi setuptools3 python3native
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
similarity index 68%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
index 8a7be0a..a50c965 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
@@ -2,11 +2,11 @@
 DESCRIPTION = "A component library to support SBC display drivers"
 HOMEPAGE = "https://github.com/rm-hull/luma.core"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=71cded473ab60fdbe20edc519217f521"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b56ff1acb787606580264498947079fc"
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "cf5fdf3563d5ec56e2f792f3a2f432abaeac517a0b05a10a757a4c5a26bb2e5d"
+SRC_URI[sha256sum] = "175663a4b0afde86ed5359f265fbb2ed978132cac4d9b42a30a3e0f0faf3f0d7"
 
 PYPI_PACKAGE = "luma.core"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.13.0.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.12.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.13.0.bb
index 87f7ad6..13ced6b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.12.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.13.0.bb
@@ -8,7 +8,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "af97d79fa3481d2c48b7bccfb6de349219f6d814fdc9a3dd075c7b2c71206450"
+SRC_URI[sha256sum] = "7e2a0d6a4c968c64980255d681ec27914d9abd5a66a9019b289bf3ad050c2125"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
index 7117151..9d31ab6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
@@ -5,8 +5,8 @@
 
 DEPENDS += " \
     lz4 \
-    ${PYTHON_PN}-setuptools-scm-native \
-    ${PYTHON_PN}-pkgconfig-native \
+    python3-setuptools-scm-native \
+    python3-pkgconfig-native \
 "
 
 SRC_URI += "file://run-ptest"
@@ -15,7 +15,14 @@
 
 inherit pkgconfig pypi python_setuptools_build_meta ptest
 
-RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest ${PYTHON_PN}-multiprocessing ${PYTHON_PN}-psutil"
+RDEPENDS:${PN}-ptest += "\
+    python3-coverage \
+    python3-pytest \
+    python3-pytest-cov \
+    python3-pytest-runner \
+    python3-multiprocessing \
+    python3-psutil \
+"
 
 do_install_ptest() {
     cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
index ac62773..d47ec2b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
@@ -31,15 +31,15 @@
 DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
 DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
 
-SWIG_FEATURES:x86 = "-D__i386__"
-SWIG_FEATURES:x32 = "-D__ILP32__"
-
-SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_FILE='openssl/macros.h'"
+SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_NO_FILENAMES"
 
 SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
 SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
 SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}"
 SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__"
+SWIG_FEATURES:append:x86 = " -D__i386__"
+SWIG_FEATURES:append:x32 = " -D__ILP32__"
+
 export SWIG_FEATURES
 
 export STAGING_DIR
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_0.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_1.0.0.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_0.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_1.0.0.bb
index 83ac536..4c43143 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_0.4.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_1.0.0.bb
@@ -7,6 +7,6 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
+SRC_URI[sha256sum] = "75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.971.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.971.bb
deleted file mode 100644
index 31fcb06..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.971.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Optional static typing for Python 3 and 2 (PEP 484)"
-HOMEPAGE = "https://github.com/python/mypy"
-LICENSE = "MIT & Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6ba8ec528da02073b7e1f4124c0f836f"
-
-PYPI_PACKAGE = "mypy"
-
-inherit pypi python_setuptools_build_meta
-
-SRC_URI[sha256sum] = "40b0f21484238269ae6a57200c807d80debc6459d444c0489a102d7c6a75fa56"
-
-BBCLASSEXTEND = "native"
-
-RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-mypy-extensions \
-    ${PYTHON_PN}-typed-ast \
-    ${PYTHON_PN}-typing-extensions \
-    ${PYTHON_PN}-json \
-    ${PYTHON_PN}-compression \
-    ${PYTHON_PN}-pprint \
-    ${PYTHON_PN}-difflib \
-    ${PYTHON_PN}-toml \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb
new file mode 100644
index 0000000..50ad9ef
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Optional static typing for Python 3 and 2 (PEP 484)"
+HOMEPAGE = "https://github.com/python/mypy"
+LICENSE = "MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6ba8ec528da02073b7e1f4124c0f836f"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += " \
+    python3-mypy-extensions-native \
+    python3-types-psutil-native \
+    python3-types-setuptools-native \
+    python3-typing-extensions-native \
+"
+
+RDEPENDS:${PN} += " \
+    python3-modules \
+    python3-mypy-extensions \
+    python3-typing-extensions \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
index c52d9d2..264b06d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
@@ -7,7 +7,7 @@
     file://run-ptest \
 "
 
-SRC_URI[sha256sum] = "1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421"
+SRC_URI[sha256sum] = "b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"
 
 inherit pypi python_hatchling ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch
new file mode 100644
index 0000000..89315e3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch
@@ -0,0 +1,57 @@
+From 8ce4b50b210d3c0f8de40156d4ba7827bfe16b21 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Aug 2023 17:36:19 -0700
+Subject: [PATCH] message.c: Cast uintptr_t types to upb_MessageDef
+
+This fixes build with clang
+
+python/message.c:1238:49: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
+ 1238 |                        upb_MessageDef_MiniTable(other->def),
+      |                                                 ^~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here
+  138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m);
+      |                                                                     ^
+python/message.c:1609:69: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
+ 1609 |       upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
+      |                                                                     ^~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here
+  138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m);
+      |                                                                     ^
+python/message.c:1611:44: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
+ 1611 |   PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
+      |                                            ^~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/protocolbuffers/upb/pull/1492]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ python/message.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/python/message.c b/python/message.c
+index a01ce16..c418b84 100644
+--- a/python/message.c
++++ b/python/message.c
+@@ -1235,7 +1235,7 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) {
+   Py_DECREF(tmp);
+ 
+   upb_Message_DeepCopy(self->ptr.msg, other->ptr.msg,
+-                       upb_MessageDef_MiniTable(other->def),
++                       upb_MessageDef_MiniTable((const upb_MessageDef*)other->def),
+                        PyUpb_Arena_Get(self->arena));
+   PyUpb_Message_SyncSubobjs(self);
+ 
+@@ -1606,9 +1606,9 @@ PyObject* DeepCopy(PyObject* _self, PyObject* arg) {
+ 
+   PyObject* arena = PyUpb_Arena_New();
+   upb_Message* clone =
+-      upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
++      upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable((const upb_MessageDef*)self->def),
+                             PyUpb_Arena_Get(arena));
+-  PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
++  PyObject* ret = PyUpb_Message_Get(clone, (const upb_MessageDef*)self->def, arena);
+   Py_DECREF(arena);
+ 
+   return ret;
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.2.bb
index 8474a43..3014884 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.2.bb
@@ -6,8 +6,8 @@
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d"
 
 inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9"
+SRC_URI += "file://0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch"
+SRC_URI[sha256sum] = "7fda70797ddec31ddfa3576cbdcc3ddbb6b3078b737a1a87ab9136af0570cd6e"
 
 # http://errors.yoctoproject.org/Errors/Details/184715/
 # Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
index 16d7721..bebfb12 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
@@ -5,7 +5,7 @@
 
 inherit setuptools3 pypi
 
-SRC_URI[sha256sum] = "7fe089b05cc18e806dcf3bd764708d86dab922a100f3734eb77fb77a70a1d18c"
+SRC_URI[sha256sum] = "da8b7815196eebf0adabf67fcc459126cbc6498bbc6ab1fd144c371465d86879"
 
 DEPENDS = "python3-cython-native python3-numpy-native virtual/crypt"
 RDEPENDS:${PN} = "python3-matplotlib python3-pillow python3-profile"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
similarity index 76%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
index b29fd48..9a8d107 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
@@ -4,7 +4,7 @@
 SECTION = "devel/python"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd"
 
-SRC_URI[sha256sum] = "347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"
+SRC_URI[sha256sum] = "259bcc17857d8a8b3b4a2327324b79e5f020a13c16074670f9c8c8f872ea76d0"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
similarity index 73%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
index 2e3a347..11f11b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=690c2d09203dc9e07c4083fc45ea981f"
 
-SRC_URI[sha256sum] = "ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"
+SRC_URI[sha256sum] = "a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
index c5ab635..d66c4c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5d503272f52c35147ec960cb56a03bf4"
 
 SRC_URI = "git://github.com/Danielhiversen/pyMetno.git;protocol=https;branch=master"
-SRCREV = "5fc18d7c5d627a9d9b2529db98d4e7e01a37dbf9"
+SRCREV = "d7a6161c7765bff19a276b29a6a689a59b03a63c"
 S = "${WORKDIR}/git"
 
 inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.175.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.175.bb
index 10cc52a..969e4b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.175.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
 SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "ccae32ae716c143bea09954e860238e193bc78c6"
+SRCREV = "69e660ef03108cc16a52b170e7ab4440bd202520"
 S = "${WORKDIR}/git"
 
 inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.0.bb
index ecc5678..1eb25af 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.0.bb
@@ -1,10 +1,10 @@
 SUMMARY = "A fully featured modbus protocol stack in python"
 HOMEPAGE = "https://github.com/riptideio/pymodbus/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=430604f78bee72425da231d42eac9cee"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6a146397c35e3d0953758ce8803de347"
 DEPENDS += "python3-six-native"
 
-SRC_URI[sha256sum] = "2a95a311669f6734f94535332984474e4b4815de1500c74e6b94432a8bd9820a"
+SRC_URI[sha256sum] = "4c6fb9af3a6c5a5cba59e4c62812d911f1d5c02dc3aedaaec858990574bc6b4c"
 S = "${WORKDIR}/pymodbus-${PV}"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
index b89706a..9ae3eef 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
@@ -8,7 +8,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "a4df87dbbd03ac6372d24f2a8054b4dc33de497d5227b50ec649f436ad574284"
+SRC_URI[sha256sum] = "681f252e43b3ef054ca9161635f81b730f4d8cadd28b3f2b2004f5a72f853982"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
index 263acd0..39fbd1a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
@@ -35,4 +35,6 @@
 do_install_ptest() {
     install -d ${D}${PTEST_PATH}/tests
     cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    sed -e  "s|'test_unit|'tests/test_unit|g" -i  ${D}${PTEST_PATH}/tests/test_unit/test_nlmsg/test_marshal.py \
+    ${D}${PTEST_PATH}/tests/test_unit/test_iproute_match/test_match.py
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_7.0.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_7.0.0.bb
index 1b4bb5a..952c210 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_7.0.0.bb
@@ -2,7 +2,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=37d489c0cefe52a17e1d5007e196464a"
 
-SRC_URI[sha256sum] = "72af591ff704f4caacea7ecc0c5a9056b8553e0489dd4f35a9bc52dbd41522e0"
+SRC_URI[sha256sum] = "9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae"
 
 inherit pypi python_poetry_core
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_5.0.0.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-redis_5.0.0.bb
index 47eb7c2..f04e04b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_5.0.0.bb
@@ -2,9 +2,9 @@
 DESCRIPTION = "The Python interface to the Redis key-value store."
 HOMEPAGE = "http://github.com/andymccurdy/redis-py"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1db1f331d351900707368237cc4880cf"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=609ded3add9111c4c6e102f1d421d3f8"
 
-SRC_URI[sha256sum] = "585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"
+SRC_URI[sha256sum] = "5cea6c0d335c9a7332a460ed8729ceabb4d0c489c7285b0a86dbbf8a017bd120"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.6.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
index f653f32..1676bab 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0"
+SRC_URI[sha256sum] = "fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"
 
 RDEPENDS:${PN} += " \
 	python3-stringold \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb
new file mode 100644
index 0000000..98b7690
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Job scheduling for humans"
+HOMEPAGE = "https://github.com/dbader/schedule"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6400f153491d45ea3459761627ca24b2"
+
+SRC_URI[sha256sum] = "b4ad697aafba7184c9eb6a1e2ebc41f781547242acde8ceae9a0a25b04c0922d"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-logging ${PYTHON_PN}-math"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb
new file mode 100644
index 0000000..6abdad0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Modern Python library for the systemd D-Bus"
+HOMEPAGE = "https://python-sdbus.readthedocs.io/en/latest/"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e77986dc8e2ee22d44a7c863e96852ae"
+
+SRC_URI[sha256sum] = "f86fbadae54fea6441ec2f27dc29daf085269d66c5d9df1a4fbc9474a24b91d0"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+DEPENDS += "systemd"
+
+inherit pypi setuptools3 features_check pkgconfig
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.6.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.6.bb
index fa9f97a..3a652a5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.6.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6"
 
-SRC_URI[sha256sum] = "a18920f0839991bc9dfddb6dcc006c360b1064ba96257359f0ea356e9fa75a60"
+SRC_URI[sha256sum] = "9b2998f313f201c777e2c0061f0b1367497097ef13388595be147e2a00bf7ba1"
 
 PYPI_PACKAGE = "sh"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.3.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.3.bb
index f22a402..cc4802e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.3.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "634541ed794068a822fe7499f1577468b9d4641b68dd9bfb6d0eb7270f4d2a32"
+SRC_URI[sha256sum] = "36f2288a8e1a363cb7a7b2244ec98d880eb5a728a2494ac9c71e9de7bf6a803a"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.2.bb
index e6f3148..57a3280 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI[sha256sum] = "40b045e6225f3544080558e4bd604d116d4cffceea80cb84307579d914e4e498"
+SRC_URI[sha256sum] = "3d5cdd5ffe7355deba27657e6f45d45538a398f92215d219a8cfd6e716f67c34"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
index 5de7490..9064ee4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
@@ -9,7 +9,7 @@
 
 PYPI_PACKAGE = "python-socketio"
 
-SRC_URI[sha256sum] = "e714f4dddfaaa0cb0e37a1e2deef2bb60590a5b9fea9c343dd8ca5e688416fd9"
+SRC_URI[sha256sum] = "dc42735f65534187f381fde291ebf620216a4960001370f32de940229b2e7f8f"
 
 PACKAGECONFIG ?= "asyncio_client client"
 PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
index 70c3584..585613d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=520586fa71ed2cbda50b4a8c89621e09"
 
-SRC_URI[sha256sum] = "89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"
+SRC_URI[sha256sum] = "5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"
 
 inherit pypi python_hatchling python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.20.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.19.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.20.bb
index a2cf00d..414b2f6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.19.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.20.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d"
 
-SRC_URI[sha256sum] = "77a14fa20264af73ddcdb1e2b9c5a829b8cc6b8304d0f093271980e36c200a3f"
+SRC_URI[sha256sum] = "ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.1.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.1.bb
index a8215a9..bbb77e7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.1.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7"
 
-SRC_URI[sha256sum] = "5e2ad8845764706170d3dcaac171704513cc8a725655219acb62fe4380bdadda"
+SRC_URI[sha256sum] = "8a8cc94b7269f8e43dfc636eff2da4b33a199a4e575b5b086cc51aae24ac4262"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.65.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.66.1.bb
similarity index 66%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.65.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.66.1.bb
index f54b5c4..2a92e61 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.65.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.66.1.bb
@@ -3,9 +3,9 @@
 SECTION = "devel/python"
 
 LICENSE = "MIT & MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=cfdbc9dcca7dc9fb600347958b7d5c4f"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=bb3c087935ebba37cad180364cb0850c"
 
-SRC_URI[sha256sum] = "1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"
+SRC_URI[sha256sum] = "d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb
deleted file mode 100644
index e6c1746..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Modified fork of CPython's ast module that parses `# type:` comments"
-HOMEPAGE = "https://github.com/python/typed_ast"
-LICENSE = "Apache-2.0 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=97f1494e93daf66a5df47118407a4c4f"
-
-PYPI_PACKAGE = "typed_ast"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.3.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.3.bb
index f64c70a..73935d0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53"
 
-SRC_URI[sha256sum] = "b05a54bb0276eefd28880df42e004a71e699c8081fcb9d0536b2ceb01019f60c"
+SRC_URI[sha256sum] = "7d4264cd631ac1157c5bb5ec992281b4f1e2ba7a35db91bc15f442235e244803"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb
new file mode 100644
index 0000000..02245be
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Typing stubs for psutil"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "4e9b219efb625d3d04f6bf106934f87cab49aa41a94b0a3b3089403f47a79228"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.1.0.1.bb
new file mode 100644
index 0000000..9d8022b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.1.0.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Typing stubs for setuptools"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "271ed8da44885cd9a701c86e48cc6d3cc988052260e72b3ce26c26b3028f86ed"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.11.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.11.bb
index 539366c..67e668a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.11.bb
@@ -5,11 +5,11 @@
 modules for BIOS, OptionROM, Intel ME and other formats too."
 HOMEPAGE = "https://github.com/theopolis/uefi-firmware-parser"
 LICENSE = "BSD-2-Clause & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://setup.py;md5=90fa5bae1547550f1c1993f651eda955"
+LIC_FILES_CHKSUM = "file://setup.py;md5=5a59066a8676f17262ef7e691f8ef253"
 
 SRC_URI = "git://github.com/theopolis/uefi-firmware-parser;protocol=https;branch=master"
 
-SRCREV = "dfb15b068960b771e2e1536d34790dac9b5bfe32"
+SRCREV = "f289219b99eb525cbc58e4dc2b07df3811f92ef7"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.4.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.4.bb
index 52a99cc..889c73b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.4.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538"
 
-SRC_URI[sha256sum] = "fd8a78f46f6b99a67b7ec5cf73f92357891a7b3a40fd97637c27f854aae3b9e0"
+SRC_URI[sha256sum] = "772b05bfda7ed3b8ecd16021ca9716273ad9f4467c801f27e83ac73430246dca"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.9.0.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.9.0.bb
index c842639..9214669 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.9.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
 
-SRC_URI[sha256sum] = "dc05e4130ed2e1e67a18a6f012cd3095440f37c0b8334038071d5510176debb5"
+SRC_URI[sha256sum] = "cb454d0180e63ba1d83143dccf7c623581ba58e222edb006f48252d8a7b948e0"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.3.2.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.3.2.bb
index 9fdba49..030ad88 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.3.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6831ef36faa29329bce2420c5356f97e"
 
-SRC_URI[sha256sum] = "35669fd7b9f8c6b38db861a51701542c42672b46e8ab63253486a8cb8377b687"
+SRC_URI[sha256sum] = "7dbd98421d8090c521655f1b06ca030067f29df5253a8878126bce3a90f56817"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.97.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.97.0.bb
index ce92c64..9662c3f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.97.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3"
 
-SRC_URI[sha256sum] = "b988425f6bd0d4f11f05fa258a6c49d9f9956777e9af00ca98c4ed3f743bd677"
+SRC_URI[sha256sum] = "9a06cd21182250100df6c4f4e9de2a47a0ea927c7d5a0446035bb3dfcc17a647"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb
new file mode 100644
index 0000000..3918ed3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Google Spreadsheets Python API"
+HOMEPAGE = "https://github.com/burnash/gspread"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f"
+
+SRC_URI = "https://files.pythonhosted.org/packages/b4/4f/033ebf34778745061b67b104ef212ed5b05fa65a530f345f88c4355fdcc3/gspread-5.10.0.tar.gz"
+SRC_URI[sha256sum] = "2b6bba6dc111580170346a9bcd1893e0e8c52f67a9e537caec7b7a1e27c14435"
+
+S = "${WORKDIR}/gspread-${PV}"
+
+RDEPENDS:${PN} = "python3-requests"
+
+inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
new file mode 100644
index 0000000..b725893
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python CoAP Toolkit"
+HOMEPAGE = "https://github.com/NordicSemiconductor/piccata"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e664eb75e2791c2e505e6e1c274e6d4f"
+
+SRCREV = "218d310e3d840715b1c8e67cefd5b6d71a2d7a1a"
+SRC_URI = "git://github.com/NordicSemiconductor/piccata.git;protocol=http;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS:${PN} += "python3-core python3-datetime python3-io python3-logging python3-math"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3_oauth2client/python3-oauth2client_4.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3_oauth2client/python3-oauth2client_4.1.3.bb
new file mode 100644
index 0000000..c0b1118
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3_oauth2client/python3-oauth2client_4.1.3.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "OAuth 2.0 client library"
+
+HOMEPAGE = "http://github.com/google/oauth2client/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=038e1390e94fe637991fa5569daa62bc"
+
+inherit pypi
+
+SRC_URI[sha256sum] = "d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6"
+
+RDEPENDS:${PN} += " \
+        ${PYTHON_PN}-httplib2 \
+        ${PYTHON_PN}-pyasn1 \
+        ${PYTHON_PN}-pyasn1-modules \
+        ${PYTHON_PN}-rsa \
+        ${PYTHON_PN}-six \
+        "
+
+inherit setuptools3