How are release tarballs built?

95 views
Skip to first unread message

Benny Siegert

unread,
Dec 12, 2022, 5:31:39 AM12/12/22
to golang-dev
Hi!

The Go project does not provide release tarballs for NetBSD (which is
fine FWIW) so I would like to create my own equivalent ones to use as
binary bootstrap kits. For instance, when compiling Go on
netbsd-arm64, you cannot start from Go 1.4, as that has no
netbsd-arm64 support.

How are these release binaries actually built? I assume that they are
the result of running all.bash and archiving sources and binaries. But
from spelunking in the golang.org/x/build sources, there seems to be
some cleanup step involved that removes unneeded files before creating
the tarball. Is this correct?

--
Benny

Heschi Kreinick

unread,
Dec 12, 2022, 1:35:42 PM12/12/22
to Benny Siegert, golang-dev
That's right. It sounds like you already found it, but the relevant code is WriteSourceArchive and BuildBinary in https://cs.opensource.google/go/x/build/+/master:internal/task/buildrelease.go.

FWIW, we have agreement that we'll cross-compile releases for secondary ports in https://go.dev/issue/53862. There's a decent chance we'll get to implementing it in the 1.21 cycle, so if you're not in too much of a hurry you might just wait for that. 

--
You received this message because you are subscribed to the Google Groups "golang-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-dev/CAN%2BFjHMvfumuU9LEsKy6eX21hN4i4dDGSXNGCQ66o8n-whfdRg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages