From 8e071ad43fd70fcdac409f7d544f6749e9ad32a8 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 16 May 2024 17:32:14 +0100 Subject: go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX The go class has its own fork of the base unpack code. At the time I was told this was fine, it now isn't as that code is changing. Rather than have a fork, put the path magic into a variable and then go recipes can just set SRC_URI appropriately, e.g.: git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX} This avoids having special case hacks in the class and makes everything a little more obvious. (From OE-Core rev: cc4ec43a2b657fb4c58429ab14f1edc2473c1327) Signed-off-by: Richard Purdie --- meta/classes-recipe/go.bbclass | 16 ++-------------- meta/recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/meta/classes-recipe/go.bbclass b/meta/classes-recipe/go.bbclass index d32509aa6d..9146dd611e 100644 --- a/meta/classes-recipe/go.bbclass +++ b/meta/classes-recipe/go.bbclass @@ -80,19 +80,7 @@ export GOPROXY ??= "https://proxy.golang.org,direct" export GOTMPDIR ?= "${WORKDIR}/build-tmp" GOTMPDIR[vardepvalue] = "" -python go_do_unpack() { - src_uri = (d.getVar('SRC_URI') or "").split() - if len(src_uri) == 0: - return - - fetcher = bb.fetch2.Fetch(src_uri, d) - for url in fetcher.urls: - if fetcher.ud[url].type == 'git': - if fetcher.ud[url].parm.get('destsuffix') is None: - s_dirname = os.path.basename(d.getVar('S')) - fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', d.getVar('GO_IMPORT')) + '/' - fetcher.unpack(d.getVar('WORKDIR')) -} +GO_SRCURI_DESTSUFFIX = "${@os.path.join(os.path.basename(d.getVar('S')), 'src', d.getVar('GO_IMPORT')) + '/'}" go_list_packages() { ${GO} list -f '{{.ImportPath}}' ${GOBUILDFLAGS} ${GO_INSTALL} | \ @@ -151,7 +139,7 @@ go_stage_testdata() { cd "$oldwd" } -EXPORT_FUNCTIONS do_unpack do_configure do_compile do_install +EXPORT_FUNCTIONS do_configure do_compile do_install FILES:${PN}-dev = "${libdir}/go/src" FILES:${PN}-staticdev = "${libdir}/go/pkg" diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb index 74f3520eae..575ee81b50 100644 --- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb +++ b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb @@ -5,7 +5,7 @@ HOMEPAGE = "https://golang.org/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" -SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https" +SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}" SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935" UPSTREAM_CHECK_COMMITS = "1" -- cgit v1.2.3-54-g00ecf