Go: x/build/cmd/release: Go 1.11.5 amd64 tarball includes /gocache and /tmp

Created on 23 Jan 2019  路  10Comments  路  Source: golang/go

What version of Go are you using (go version)?

$ go version
go version go1.11.5 linux/amd64

Does this issue reproduce with the latest release?

Install the LInux amd64 tarball.

What operating system and processor architecture are you using (go env)?

go env Output

$ go env

What did you do?

$ mkdir x
$ tar -C x -zxf ~/Downloads/go1.11.5.linux-amd64.tar.gz
$ cd x
$ ls
go  gocache  tmp
$ cd gocache
$ du -skh
63M .

What did you expect to see?

A single go directory.

What did you see instead?

An empty tmp and 63M of gocache.

Builders FrozenDueToAge NeedsFix release-blocker

Most helpful comment

Yes, the gocache and tmp directories are in go1.11.5.src.tar.gz, but unlike the ones in go1.11.5.linux-amd64.tar.gz and go1.10.8.linux-amd64.tar.gz they are empty.

We will fix this for the next release.

All 10 comments

/cc @dmitshur @julieqiu @katiehockman

Thanks for letting us know. We're currently looking into this.

I'm sending a fix.

Change https://golang.org/cl/159257 mentions this issue: cmd/release: remove the tmp and gocache dirs, validate it doesn't happen again

We have confirmed that the extraneous directories gocache and tmp are harmless and safe to remove.

Only go1.11.5.linux-amd64.tar.gz and go1.10.8.linux-amd64.tar.gz are affected.

We will not be updating the tarballs for this release. The reason is because these directories do not affect functionality, and we do not want to risk the availability of the security release, nor we want to change the contents of already published archives.

If you have already extracted the archives, you can optionally remove the unnecessary directories.

The following commands can be used to extract only the necessary go directory from the archives:

tar -C /usr/local -xzf go1.11.5.linux-amd64.tar.gz go
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz go

These commands will create a Go tree in /usr/local/go.

While investigating we also noticed these directories missing from the tarball due to a change in how tests are run during the release process:

  • go/pkg/linux_amd64_dynlink
  • go/pkg/linux_amd64_shared
  • go/pkg/linux_amd64_testcshared_shared

This should not cause any disruption, but it is something we will look into for future releases.

That CL was submitted too early.

Change https://golang.org/cl/159320 mentions this issue: cmd/buildlet: recreate accidentally deleted dirs lazily

Only go1.11.5.linux-amd64.tar.gz and go1.10.8.linux-amd64.tar.gz are affected.

I do not believe that to be true. go1.11.5.src.tar.gz from https://dl.google.com/go/go1.11.5.src.tar.gz also has gocache and tmp directories.

Yes, the gocache and tmp directories are in go1.11.5.src.tar.gz, but unlike the ones in go1.11.5.linux-amd64.tar.gz and go1.10.8.linux-amd64.tar.gz they are empty.

We will fix this for the next release.

Change https://golang.org/cl/161967 mentions this issue: cmd/release: clean gocache and tmp in source mode too

Was this page helpful?
0 / 5 - 0 ratings