Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build/cmd/release: go1.13beta1 contains read-only files #33537

Closed
dsnet opened this issue Aug 8, 2019 · 3 comments

Comments

@dsnet
Copy link
Member

commented Aug 8, 2019

Compare the following:

$ tar -ztvf go1.12.7.linux-amd64.tar.gz | head -n 2
drwxr-xr-x root/root         0 2019-07-08 14:29 go/
-rw-r--r-- root/root     55358 2019-07-08 14:29 go/AUTHORS
$ tar -ztvf go1.13beta1.linux-amd64.tar.gz | head -n 2
dr-xr-xr-x root/root         0 2019-06-26 09:39 go/
-r--r--r-- root/root     55389 2019-06-26 09:39 go/AUTHORS

Notice how the u+w bit is missing from the later archive? This makes extracting in a way that preserves the modes as specified in the archive more challenging since writing the AUTHORS file will fail since the parent directory is marked as read-only.

\cc @dmitshur

@gopherbot gopherbot added this to the Unreleased milestone Aug 8, 2019

@gopherbot gopherbot added the Builders label Aug 8, 2019

@dsnet dsnet modified the milestones: Unreleased, Go1.13 Aug 8, 2019

@dsnet

This comment has been minimized.

Copy link
Member Author

commented Aug 8, 2019

Interesting. This issue only seems to affect linux, since darwin is packed properly (i.e., the u+w bit is present):

$ tar -ztvf go1.13beta1.darwin-amd64.tar.gz | head -n 2
drwxr-xr-x gopher/staff      0 2019-06-26 09:38 go/
-rw-r--r-- gopher/staff  55389 2019-06-26 09:38 go/AUTHORS

@dsnet dsnet added the OS-Linux label Aug 8, 2019

@FiloSottile

This comment has been minimized.

Copy link
Member

commented Aug 8, 2019

This is due to 02d24fc, which made GOROOT unwritable during tests on linux-* builders. On the builders where we run all.bash (that is, not MakeOnly), we package the result after the tests have run, so they affect the release.

This is bad in a number of ways. @dmitshur will work on the fix.

@gopherbot

This comment has been minimized.

Copy link

commented Aug 8, 2019

Change https://golang.org/cl/189537 mentions this issue: cmd/release: create release after make.bash and before all.bash

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.