Hi John,
Thanks for your contribution.

Let me know if any changes are needed in the test repository as well.

Slava

On 17.07.2026 23:32, John Ripple via lists.openembedded.org wrote:
Two bugs in do_go_vendor:

1. The shutil.ignore_patterns glob was "*._test.go" (with an extra dot),
    which never matches standard Go test files (*_test.go). Remove the
    extra dot.

2. The license-propagation block used os.path.join(src, "LICENSE") as the
    copy destination, writing into the already-processed vendor.fetch source
    tree rather than into the vendor destination directory.  Switch to
    os.path.join(dst, "LICENSE") so the LICENSE lands in vendor/ where go
    tools and licence scanners expect it.  Also fix the guard condition from
    not os.path.exists(subdir) (checking an unrelated relative name) to
    not os.path.exists(subdirLicense) (checking the actual target).

Signed-off-by: John Ripple <[email protected]>
---
  meta/classes/go-vendor.bbclass | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/classes/go-vendor.bbclass b/meta/classes/go-vendor.bbclass
index e879d629a8..85a3c1b586 100644
--- a/meta/classes/go-vendor.bbclass
+++ b/meta/classes/go-vendor.bbclass
@@ -141,7 +141,7 @@ python do_go_vendor() {
          shutil.copytree(src, dst, symlinks=True, dirs_exist_ok=True, \
              ignore=shutil.ignore_patterns(".git", \
                                              "vendor", \
-                                            "*._test.go"))
+                                            "*_test.go"))
# If the root directory has a LICENSE file but not the subdir
          # we copy the root license to the sub module since the license
@@ -149,9 +149,9 @@ python do_go_vendor() {
          # see https://go.dev/ref/mod#vcs-license
          if subdir:
              rootdirLicese = os.path.join(rootdir, "LICENSE")
-            subdirLicense = os.path.join(src, "LICENSE")
+            subdirLicense = os.path.join(dst, "LICENSE")
- if not os.path.exists(subdir) and \
+            if not os.path.exists(subdirLicense) and \
                  os.path.exists(rootdirLicese):
                  shutil.copy2(rootdirLicese, subdirLicense)

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#241627): 
https://lists.openembedded.org/g/openembedded-core/message/241627
Mute This Topic: https://lists.openembedded.org/mt/120322996/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to