subtree updates

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

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

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

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

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

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

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

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

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

  Peter Marko (1):
        grpc: correct dependencies

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  Petr Vorel (1):
        iputils: update to 20240117

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

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

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

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

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

  Trevor Woerner (1):
        bmaptool: add 3 fixes

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

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

Change-Id: I9581526d3addb54889dd73268e672c2d84345f3e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch b/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch
new file mode 100644
index 0000000..ddac322
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/files/0001-BmapCopy.py-fix-error-message.patch
@@ -0,0 +1,36 @@
+From ad0b0513a46c7d238d0fdabee0267c7084b75e84 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 11 Jan 2024 22:04:23 -0500
+Subject: [PATCH 1/3] BmapCopy.py: fix error message
+
+The wrong variable was being used when attempting to print out an informative
+message to the user. Leading to nonsense messages such as:
+
+	bmaptool: info: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 1 I/O scheduler: 1 in use. None)
+
+Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/129]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ bmaptools/BmapCopy.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/bmaptools/BmapCopy.py b/bmaptools/BmapCopy.py
+index 9de7ef434233..b1e8e0fcbdb7 100644
+--- a/bmaptools/BmapCopy.py
++++ b/bmaptools/BmapCopy.py
+@@ -892,9 +892,9 @@ class BmapBdevCopy(BmapCopy):
+                 _log.info(
+                     "failed to enable I/O optimization, expect "
+                     "suboptimal speed (reason: cannot switch to the "
+-                    f"{max_ratio_chg.temp_value} I/O scheduler: "
+-                    f"{max_ratio_chg.old_value or 'unknown scheduler'} in use. "
+-                    f"{max_ratio_chg.error})"
++                    f"'{scheduler_chg.temp_value}' I/O scheduler: "
++                    f"'{scheduler_chg.old_value or 'unknown scheduler'}' in use. "
++                    f"{scheduler_chg.error})"
+                 )
+             if max_ratio_chg.error or scheduler_chg.error:
+                 _log.info(
+-- 
+2.43.0.76.g1a87c842ece3
+
diff --git a/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch b/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
new file mode 100644
index 0000000..ea2749a
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/files/0002-CLI.py-fix-block-device-udev-race-condition.patch
@@ -0,0 +1,83 @@
+From 34f4321dfce28697f830639260076e60d765698b Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Fri, 12 Jan 2024 01:16:19 -0500
+Subject: [PATCH 2/3] CLI.py: fix block device udev race condition
+
+We are encouraged to add a udev rule to change a block device's
+bdi/max_ratio to '1' and queue/scheduler to 'none', which I did.
+So I was surprised when, about 50% of the time, I kept seeing:
+
+	...
+	bmaptool: info: failed to enable I/O optimization, expect suboptimal speed (reason: cannot switch to the 'none' I/O scheduler: 'bfq' in use. [Errno 13] Permission denied: '/sys/dev/block/8:160/queue/scheduler')
+	bmaptool: info: You may want to set these I/O optimizations through a udev rule like this:
+	...
+
+The strange part is that sometimes it doesn't report a problem and
+sometimes it does, even if the block device is left plugged in continuously
+between multiple bmaptool invocations.
+
+In all of my tests the bdi/max_ratio is always okay, but the
+queue/scheduler would sometimes be reported as being the default scheduler,
+not the one the udev rule was setting (none). Yet no matter how many times
+I would read the file outside of bmaptool it always would be set to the
+correct scheduler.
+
+It turns out that opening a block device in "wb+" mode, which is what
+bmaptool is doing at one point, causes the block device to act as though
+it was just inserted, giving it the default settings, then causing udev to
+trigger to switch it to the requested settings. However, if udev doesn't
+finish before bmaptool reads the scheduler value there's a chance it will
+read the pre-udev value, not the post-udev value, even though the block
+device was never physically removed and re-inserted.
+
+bmaptool was opening every file, then checking for block devices and
+if found, closing then re-opening the block devices via a special
+block-opening helper function. This patch re-organizes the code to only
+open block devices once using the special block-opening helper function
+that does not open block devices in "wb+" mode.
+
+Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/130]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ bmaptools/CLI.py | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/bmaptools/CLI.py b/bmaptools/CLI.py
+index 82303b7bc398..0a263f05cf43 100644
+--- a/bmaptools/CLI.py
++++ b/bmaptools/CLI.py
+@@ -38,6 +38,7 @@ import tempfile
+ import traceback
+ import shutil
+ import io
++import pathlib
+ from bmaptools import BmapCreate, BmapCopy, BmapHelpers, TransRead
+ 
+ VERSION = "3.7"
+@@ -440,17 +441,16 @@ def open_files(args):
+     # Try to open the destination file. If it does not exist, a new regular
+     # file will be created. If it exists and it is a regular file - it'll be
+     # truncated. If this is a block device, it'll just be opened.
++    dest_is_blkdev = False
+     try:
+-        dest_obj = open(args.dest, "wb+")
++        if pathlib.Path(args.dest).is_block_device():
++            dest_is_blkdev = True
++            dest_obj = open_block_device(args.dest)
++        else:
++            dest_obj = open(args.dest, "wb+")
+     except IOError as err:
+         error_out("cannot open destination file '%s':\n%s", args.dest, err)
+ 
+-    # Check whether the destination file is a block device
+-    dest_is_blkdev = stat.S_ISBLK(os.fstat(dest_obj.fileno()).st_mode)
+-    if dest_is_blkdev:
+-        dest_obj.close()
+-        dest_obj = open_block_device(args.dest)
+-
+     return (image_obj, dest_obj, bmap_obj, bmap_path, image_obj.size, dest_is_blkdev)
+ 
+ 
+-- 
+2.43.0.76.g1a87c842ece3
+
diff --git a/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch b/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
new file mode 100644
index 0000000..2794eea
--- /dev/null
+++ b/poky/meta/recipes-support/bmap-tools/files/0003-BmapCopy.py-tweak-suggested-udev-rule.patch
@@ -0,0 +1,43 @@
+From 2a71e0c1a675e4f30f02c03dd0325944b393c434 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Fri, 12 Jan 2024 01:54:26 -0500
+Subject: [PATCH 3/3] BmapCopy.py: tweak suggested udev rule
+
+Both bdi/max_ratio and queue/scheduler are only valid for whole block devices,
+not individual partitions. Therefore, add a
+
+	ENV{DEVTYPE}!="partition",
+
+to the suggested udev rule so that bmaptool doesn't try to check every
+partition of the block device, just the whole device.
+
+Otherwise the following will appear in the logs:
+
+	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/bdi/min_ratio}, ignoring: No such file or directory
+	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/bdi/max_ratio}, ignoring: No such file or directory
+	Jan 10 01:30:31 localhost (udev-worker)[10399]: sdk1: /etc/udev/rules.d/60-bmaptool-optimizations.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1.2/2-3.1.2:1.0/host14/target14:0:0/14:0:0:0/block/sdk/sdk1/queue/scheduler}, ignoring: No such file or directory
+	[... and so on for every partition on your block device ...]
+
+Upstream-Status: Submitted [https://github.com/intel/bmap-tools/pull/131]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ bmaptools/BmapCopy.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bmaptools/BmapCopy.py b/bmaptools/BmapCopy.py
+index b1e8e0fcbdb7..a4c1177246a9 100644
+--- a/bmaptools/BmapCopy.py
++++ b/bmaptools/BmapCopy.py
+@@ -906,7 +906,8 @@ class BmapBdevCopy(BmapCopy):
+                     "\n"
+                     'ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="xxxx", '
+                     'ATTRS{idProduct}=="xxxx", TAG+="uaccess"\n'
+-                    'SUBSYSTEMS=="usb", ATTRS{idVendor}=="xxxx", '
++                    'SUBSYSTEMS=="usb", ENV{DEVTYPE}!="partition", '
++                    'ATTRS{idVendor}=="xxxx", '
+                     'ATTRS{idProduct}=="xxxx", ATTR{bdi/min_ratio}="0", '
+                     'ATTR{bdi/max_ratio}="1", ATTR{queue/scheduler}="none"\n'
+                     "\n"
+-- 
+2.43.0.76.g1a87c842ece3
+