mirror of https://github.com/golang/go.git
all: use Go 1.17.13 for bootstrap
Previously we used Go 1.17, but we realized thanks to tickling a pre-Go1.17.3 bug that if we are going to change the bootstrap toolchain that we should default to the latest available point release at the time we make the switch, not the initial major release, so as to avoid bugs that were fixed in the point releases. This CL updates the default search locations and the release notes. Users who run make.bash and depend on finding $HOME/sdk/go1.17 may need to run go install golang.org/dl/go1.17.13@latest go1.17.13 download to provide a Go 1.17.13 toolchain to their builds. Change-Id: I3a2511f088cf852470a7216a5a41ae775fb561b6 Reviewed-on: https://go-review.googlesource.com/c/go/+/439419 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
b65e259e56
commit
07c57aff5d
|
|
@ -85,7 +85,7 @@ Do not send CLs removing the interior tags from such phrases.
|
|||
<h2 id="bootstrap">Bootstrap</h2>
|
||||
|
||||
<p><!-- https://go.dev/issue/44505 -->
|
||||
TODO: <a href="https://go.dev/issue/44505">https://go.dev/issue/44505</a>: adopt Go 1.17 as bootstrap toolchain for Go 1.20
|
||||
TODO: <a href="https://go.dev/issue/44505">https://go.dev/issue/44505</a>: adopt Go 1.17.13 as bootstrap toolchain for Go 1.20
|
||||
</p>
|
||||
|
||||
<h2 id="library">Core library</h2>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
//
|
||||
// % GOROOT_BOOTSTRAP=$HOME/sdk/go1.16 ./make.bash
|
||||
// Building Go cmd/dist using /Users/rsc/sdk/go1.16. (go1.16 darwin/amd64)
|
||||
// found packages main (build.go) and building_Go_requires_Go_1_17_or_later (notgo117.go) in /Users/rsc/go/src/cmd/dist
|
||||
// found packages main (build.go) and building_Go_requires_Go_1_17_13_or_later (notgo117.go) in /Users/rsc/go/src/cmd/dist
|
||||
// %
|
||||
//
|
||||
// which is the best we can do under the circumstances.
|
||||
|
|
@ -19,4 +19,4 @@
|
|||
//go:build !go1.17
|
||||
// +build !go1.17
|
||||
|
||||
package building_Go_requires_Go_1_17_or_later
|
||||
package building_Go_requires_Go_1_17_13_or_later
|
||||
|
|
|
|||
|
|
@ -67,13 +67,15 @@
|
|||
# timing information to this file. Useful for profiling where the
|
||||
# time goes when these scripts run.
|
||||
#
|
||||
# GOROOT_BOOTSTRAP: A working Go tree >= Go 1.17 for bootstrap.
|
||||
# GOROOT_BOOTSTRAP: A working Go tree >= Go 1.17.13 for bootstrap.
|
||||
# If $GOROOT_BOOTSTRAP/bin/go is missing, $(go env GOROOT) is
|
||||
# tried for all "go" in $PATH. By default, one of $HOME/go1.17,
|
||||
# $HOME/sdk/go1.17, or $HOME/go1.4, whichever exists, in that order.
|
||||
# tried for all "go" in $PATH. By default, one of $HOME/go1.17.13,
|
||||
# $HOME/sdk/go1.17.13, or $HOME/go1.4, whichever exists, in that order.
|
||||
# We still check $HOME/go1.4 to allow for build scripts that still hard-code
|
||||
# that name even though they put newer Go toolchains there.
|
||||
|
||||
bootgo=1.17.13
|
||||
|
||||
set -e
|
||||
|
||||
if [ ! -f run.bash ]; then
|
||||
|
|
@ -152,7 +154,7 @@ fi
|
|||
goroot_bootstrap_set=${GOROOT_BOOTSTRAP+"true"}
|
||||
if [ -z "$GOROOT_BOOTSTRAP" ]; then
|
||||
GOROOT_BOOTSTRAP="$HOME/go1.4"
|
||||
for d in sdk/go1.17 go1.17; do
|
||||
for d in sdk/go$bootgo go$bootgo; do
|
||||
if [ -d "$HOME/$d" ]; then
|
||||
GOROOT_BOOTSTRAP="$HOME/$d"
|
||||
fi
|
||||
|
|
@ -175,7 +177,7 @@ IFS=$'\n'; for go_exe in $(type -ap go); do
|
|||
done; unset IFS
|
||||
if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
|
||||
echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go." >&2
|
||||
echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17." >&2
|
||||
echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go $bootgo." >&2
|
||||
exit 1
|
||||
fi
|
||||
# Get the exact bootstrap toolchain version to help with debugging.
|
||||
|
|
@ -188,7 +190,7 @@ if $verbose; then
|
|||
fi
|
||||
if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
|
||||
echo "ERROR: \$GOROOT_BOOTSTRAP must not be set to \$GOROOT" >&2
|
||||
echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17." >&2
|
||||
echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go $bootgo." >&2
|
||||
exit 1
|
||||
fi
|
||||
rm -f cmd/dist/dist
|
||||
|
|
|
|||
|
|
@ -80,8 +80,10 @@ for /f "tokens=*" %%g in ('where go 2^>nul') do (
|
|||
)
|
||||
)
|
||||
)
|
||||
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\go1.17" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\go1.17
|
||||
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\sdk\go1.17" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\sdk\go1.17
|
||||
|
||||
set bootgo=1.17.13
|
||||
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\go%bootgo%
|
||||
if "x%GOROOT_BOOTSTRAP%"=="x" if exist "%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\sdk\go%bootgo%
|
||||
if "x%GOROOT_BOOTSTRAP%"=="x" set GOROOT_BOOTSTRAP=%HOMEDRIVE%%HOMEPATH%\Go1.4
|
||||
|
||||
:bootstrapset
|
||||
|
|
@ -147,7 +149,7 @@ goto end
|
|||
|
||||
:bootstrapfail
|
||||
echo ERROR: Cannot find %GOROOT_BOOTSTRAP%\bin\go.exe
|
||||
echo Set GOROOT_BOOTSTRAP to a working Go tree ^>= Go 1.17.
|
||||
echo Set GOROOT_BOOTSTRAP to a working Go tree ^>= Go %bootgo%.
|
||||
|
||||
:fail
|
||||
set GOBUILDFAIL=1
|
||||
|
|
|
|||
|
|
@ -47,12 +47,13 @@ if(~ $1 -v) {
|
|||
shift
|
||||
}
|
||||
|
||||
bootgo = 1.17.13
|
||||
GOROOT = `{cd .. && pwd}
|
||||
goroot_bootstrap_set = 'true'
|
||||
if(! ~ $#GOROOT_BOOTSTRAP 1){
|
||||
goroot_bootstrap_set = 'false'
|
||||
GOROOT_BOOTSTRAP = $home/go1.4
|
||||
for(d in sdk/go1.17 go1.17)
|
||||
for(d in sdk/go$bootgo go$bootgo)
|
||||
if(test -d $home/$d)
|
||||
GOROOT_BOOTSTRAP = $home/$d
|
||||
}
|
||||
|
|
@ -72,12 +73,12 @@ for(p in $path){
|
|||
}
|
||||
if(! test -x $GOROOT_BOOTSTRAP/bin/go){
|
||||
echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go.' >[1=2]
|
||||
echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17.' >[1=2]
|
||||
echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go '$bootgo'.' >[1=2]
|
||||
exit bootstrap
|
||||
}
|
||||
if(~ $GOROOT_BOOTSTRAP $GOROOT){
|
||||
echo 'ERROR: $GOROOT_BOOTSTRAP must not be set to $GOROOT' >[1=2]
|
||||
echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.17.' >[1=2]
|
||||
echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go '$bootgo'.' >[1=2]
|
||||
exit bootstrap
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue