On 1/8/26 17:47, Alexander Kanavin wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know
the content is safe.
There's go-helloworld in oe-core, which is reproducible as it is. How
can the non-reproducibility that this patch is fixing be observed? Can
we improve our tests for it?
This moduleindex info only be used when GO111MODULE=on, and
thego-helloworld is compiled with
GO111MODULE=off, so it is reproducible as it is. To improve test, we
properly need to enable GO111MODULE
This issue can be easily reproduced by "bitbake buildah" with different
path on a host. There are also other
recipes under meta-virtualization have this issue. I have also send a
series of patches to meta-virtualization.
Bruce prefer not set to empty, but to a value like git hash that values
for us.
SRCREV seems like a proper value to use, but maybe not all the recipes
set this value SRCREV, is it possible that
a recipe use a tarball and SRC_URI[sha256sum]?
and some recipes like nerdctl, it set multiple SRCREV, set a value in
go.bbclass will make the logic here complicated.
SRCREV_nerdcli = "497c7cf74d09bf1ddf2678382360ca61e6faebac"
SRCREV_sys = "74cfc93a99be6ca6f193856132e6799065b071af"
...
//Sandy
Alex
On Thu, 8 Jan 2026 at 07:08, Changqing Li via lists.openembedded.org
<[email protected]> wrote:
From: Changqing Li<[email protected]>
Go packages and binaries are stamped with build IDs that record both the
action ID, which is a hash of the inputs to the action that produced the
packages or binary, and the content ID, which is a hash of the action
output, namely the archive or binary itself, Refer [1].
And action ID include hash of modroot, which will include build path,
so this make go package not reproducible.
Refer [2], keying off module path instead of module root directory is a TODO.
[snip of log]
HASH[moduleIndex]: "go1.25.3"
HASH[moduleIndex]: "modroot
/build-a/tmp/work/x86-64-v3-wrs-linux/buildah/1.41.5/recipe-sysroot-native/usr/lib/go/src/cmd\n"
HASH[moduleIndex]: "package go1.25.3 go index v2
/build-a/tmp/work/x86-64-v3-wrs-linux/buildah/1.41.5/recipe-sysroot-native/usr/lib/go/src/cmd/buildid\n"
HASH[moduleIndex]: "file buildid.go 2025-10-13 16:08:43 +0000 UTC 1704\n"
HASH[moduleIndex]: "file doc.go 2025-10-13 16:08:43 +0000 UTC 558\n"
HASH[moduleIndex]:
007b9fe2edd5b3232f5c98ae6c46e80a435141cb627ba5418c5314c0cbf4df7b
Report this issue to upstream, refer [3]
Workaround the reproducible by setting buildid to empty, refer [4]
Refer:
[1]https://github.com/golang/go/blob/master/src/cmd/go/internal/work/buildid.go#L26
[2]https://github.com/golang/go/blob/master/src/cmd/go/internal/modindex/read.go#L70
[1]https://github.com/golang/go/issues/77086
[2]https://github.com/golang/go/issues/34186
Signed-off-by: Changqing Li<[email protected]>
---
meta/classes-recipe/go.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/go.bbclass b/meta/classes-recipe/go.bbclass
index b540471ba2..1c43b36fc0 100644
--- a/meta/classes-recipe/go.bbclass
+++ b/meta/classes-recipe/go.bbclass
@@ -51,11 +51,12 @@ GO_RPATH:class-native = "${@'-r
${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE
GO_RPATH_LINK:class-native ="${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink'
if d.getVar('GO_DYNLINK') else ''}"
GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK}
${LDFLAGS}"
GO_LINKMODE ?= ""
+GO_BUILDID ?= "-buildid="
GO_EXTRA_LDFLAGS ?= ""
GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}"
# Use system loader. If uninative is used, the uninative loader will be
patched automatically
GO_LINUXLOADER:class-native = ""
-GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} ${GO_LINUXLOADER}
${GO_EXTRA_LDFLAGS} -extldflags '${GO_EXTLDFLAGS}'"'
+GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} ${GO_LINUXLOADER}
${GO_EXTRA_LDFLAGS} ${GO_BUILDID} -extldflags '${GO_EXTLDFLAGS}'"'
export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS} -trimpath"
export GOPATH_OMIT_IN_ACTIONID ?= "1"
export GOPTESTBUILDFLAGS ?= "${GOBUILDFLAGS} -c"
--
2.34.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#229187):
https://lists.openembedded.org/g/openembedded-core/message/229187
Mute This Topic: https://lists.openembedded.org/mt/117148599/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-