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/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index df15c80..0c29687 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -744,27 +744,14 @@
     def test_recipetool_create_git_srcbranch(self):
         self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;protocol=https', 'matchbox-keyboard-0-1')
 
-
-class RecipetoolTests(RecipetoolBase):
-
-    @classmethod
-    def setUpClass(cls):
-        import sys
-
-        super(RecipetoolTests, cls).setUpClass()
-        bb_vars = get_bb_vars(['BBPATH'])
-        cls.bbpath = bb_vars['BBPATH']
-        libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'recipetool')
-        sys.path.insert(0, libpath)
+    def _go_urifiy(self, url, version, modulepath = None, pathmajor = None, subdir = None):
+        modulepath = ",path='%s'" % modulepath if len(modulepath) else ''
+        pathmajor = ",pathmajor='%s'" % pathmajor if len(pathmajor) else ''
+        subdir = ",subdir='%s'" % subdir if len(subdir) else ''
+        return "${@go_src_uri('%s','%s'%s%s%s)}" % (url, version, modulepath, pathmajor, subdir)
 
     def test_recipetool_create_go(self):
         # Basic test to check go recipe generation
-        def urifiy(url, version, modulepath = None, pathmajor = None, subdir = None):
-            modulepath = ",path='%s'" % modulepath if len(modulepath) else ''
-            pathmajor = ",pathmajor='%s'" % pathmajor if len(pathmajor) else ''
-            subdir = ",subdir='%s'" % subdir if len(subdir) else ''
-            return "${@go_src_uri('%s','%s'%s%s%s)}" % (url, version, modulepath, pathmajor, subdir)
-
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
 
@@ -932,7 +919,7 @@
 
         src_uri = set()
         for d in dependencies:
-            src_uri.add(urifiy(*d))
+            src_uri.add(self._go_urifiy(*d))
 
         checkvars = {}
         checkvars['GO_DEPENDENCIES_SRC_URI'] = src_uri
@@ -940,7 +927,73 @@
         self.assertTrue(os.path.isfile(deps_require_file))
         self._test_recipe_contents(deps_require_file, checkvars, [])
 
+    def test_recipetool_create_go_replace_modules(self):
+        # Check handling of replaced modules
+        temprecipe = os.path.join(self.tempdir, 'recipe')
+        os.makedirs(temprecipe)
 
+        recipefile = os.path.join(temprecipe, 'openapi-generator_git.bb')
+        deps_require_file = os.path.join(temprecipe, 'openapi-generator', 'go-modules.inc')
+        lics_require_file = os.path.join(temprecipe, 'openapi-generator', 'go-licenses.inc')
+        modules_txt_file = os.path.join(temprecipe, 'openapi-generator', 'modules.txt')
+
+        srcuri = 'https://github.com/OpenAPITools/openapi-generator.git'
+        srcrev = "v7.2.0"
+        srcbranch = "master"
+        srcsubdir = "samples/openapi3/client/petstore/go"
+
+        result = runCmd('recipetool create -o %s %s -S %s -B %s --src-subdir %s' % (temprecipe, srcuri, srcrev, srcbranch, srcsubdir))
+
+        self.maxDiff = None
+        inherits = ['go-vendor']
+
+        checkvars = {}
+        checkvars['GO_IMPORT'] = "github.com/OpenAPITools/openapi-generator/samples/openapi3/client/petstore/go"
+        checkvars['SRC_URI'] = {'git://${GO_IMPORT};destsuffix=git/src/${GO_IMPORT};nobranch=1;name=${BPN};protocol=https',
+                                'file://modules.txt'}
+
+        self.assertNotIn('Traceback', result.output)
+        self.assertIn('No license file was detected for the main module', result.output)
+        self.assertTrue(os.path.isfile(recipefile))
+        self._test_recipe_contents(recipefile, checkvars, inherits)
+
+        # make sure that dependencies don't mention local directory ./go-petstore
+        dependencies = \
+            [   ('github.com/stretchr/testify','v1.8.4', '', '', ''),
+                ('go.googlesource.com/oauth2','v0.10.0','golang.org/x/oauth2', '', ''),
+                ('github.com/davecgh/go-spew','v1.1.1', '', '', ''),
+                ('github.com/golang/protobuf','v1.5.3', '', '', ''),
+                ('github.com/kr/pretty','v0.3.0', '', '', ''),
+                ('github.com/pmezard/go-difflib','v1.0.0', '', '', ''),
+                ('github.com/rogpeppe/go-internal','v1.9.0', '', '', ''),
+                ('go.googlesource.com/net','v0.12.0','golang.org/x/net', '', ''),
+                ('github.com/golang/appengine','v1.6.7','google.golang.org/appengine', '', ''),
+                ('go.googlesource.com/protobuf','v1.31.0','google.golang.org/protobuf', '', ''),
+                ('gopkg.in/check.v1','v1.0.0-20201130134442-10cb98267c6c', '', '', ''),
+                ('gopkg.in/yaml.v3','v3.0.1', '', '', ''),
+            ]
+
+        src_uri = set()
+        for d in dependencies:
+            src_uri.add(self._go_urifiy(*d))
+
+        checkvars = {}
+        checkvars['GO_DEPENDENCIES_SRC_URI'] = src_uri
+
+        self.assertTrue(os.path.isfile(deps_require_file))
+        self._test_recipe_contents(deps_require_file, checkvars, [])
+
+class RecipetoolTests(RecipetoolBase):
+
+    @classmethod
+    def setUpClass(cls):
+        import sys
+
+        super(RecipetoolTests, cls).setUpClass()
+        bb_vars = get_bb_vars(['BBPATH'])
+        cls.bbpath = bb_vars['BBPATH']
+        libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'recipetool')
+        sys.path.insert(0, libpath)
 
     def _copy_file_with_cleanup(self, srcfile, basedstdir, *paths):
         dstdir = basedstdir