diff options
| author | Shenghou Ma <minux@golang.org> | 2015-01-16 21:07:23 -0500 |
|---|---|---|
| committer | Minux Ma <minux@golang.org> | 2015-01-18 23:20:25 +0000 |
| commit | 30e910197a87773cec9ca53b4e0e5f6114bbd9bf (patch) | |
| tree | 097e179182268063eccdb4fd57ea20bdd68fdd23 /misc/makerelease | |
| parent | 778b649e386788ec834336f0a222e3f515dadd3a (diff) | |
| download | go-30e910197a87773cec9ca53b4e0e5f6114bbd9bf.tar.xz | |
misc/makerelease: workaround the go install -a restriction on release branches
Fixes #9619.
Change-Id: I71931b0d546163e5451d7d72e552b08540e3c2a7
Reviewed-on: https://go-review.googlesource.com/2995
Reviewed-by: Andrew Gerrand <adg@golang.org>
Diffstat (limited to 'misc/makerelease')
| -rw-r--r-- | misc/makerelease/makerelease.go | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/misc/makerelease/makerelease.go b/misc/makerelease/makerelease.go index 0af0ebf2c9..4b6e866b44 100644 --- a/misc/makerelease/makerelease.go +++ b/misc/makerelease/makerelease.go @@ -277,13 +277,27 @@ func (b *Build) Do() error { if b.OS == "windows" { goCmd += ".exe" } + // Because on release branches, go install -a std is a NOP, + // we have to resort to delete pkg/$GOOS_$GOARCH, install -race, + // and then reinstall std so that we're not left with a slower, + // race-enabled cmd/go, etc. + goPkg := filepath.Join(b.root, "pkg", b.OS+"_"+b.Arch) + err = os.RemoveAll(goPkg) + if err != nil { + return err + } + _, err = b.run(src, goCmd, "tool", "dist", "install", "runtime") + if err != nil { + return err + } _, err = b.run(src, goCmd, "install", "-race", "std") if err != nil { return err } - // Re-install std without -race, so that we're not left - // with a slower, race-enabled cmd/go, etc. - _, err = b.run(src, goCmd, "install", "-a", "std") + _, err = b.run(src, goCmd, "install", "std") + if err != nil { + return err + } // Re-building go command leaves old versions of go.exe as go.exe~ on windows. // See (*builder).copyFile in $GOROOT/src/cmd/go/build.go for details. // Remove it manually. |
