make.bash: preserve GOROOT_BOOTSTRAP

CL 582076 made the GOROOT_BOOTSTRAP set to "", which in turn
causes the next iteration to return true. "$GOROOT_BOOTSTRAP/bin/go"
becomes "/bin/go", which always exists.

Fixes #67654

Change-Id: I290bd4a7defc58e4b34d5bf955ef4f34569ff0ed
GitHub-Last-Rev: 9c7134fa44
GitHub-Pull-Request: golang/go#67655
Reviewed-on: https://go-review.googlesource.com/c/go/+/588436
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
Mateusz Poliwczak 2024-05-26 18:27:53 +00:00 committed by Gopher Robot
parent 13c49096fd
commit 78eadc87df
2 changed files with 5 additions and 1 deletions

View file

@ -166,8 +166,10 @@ bootstrapenv() {
export GOROOT="$(cd .. && pwd)"
IFS=$'\n'; for go_exe in $(type -ap go); do
if [[ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]]; then
goroot_bootstrap=$GOROOT_BOOTSTRAP
GOROOT_BOOTSTRAP=""
goroot=$(bootstrapenv "$go_exe" env GOROOT)
GOROOT_BOOTSTRAP=$goroot_bootstrap
if [[ "$goroot" != "$GOROOT" ]]; then
if [[ "$goroot_bootstrap_set" == "true" ]]; then
printf 'WARNING: %s does not exist, found %s from env\n' "$GOROOT_BOOTSTRAP/bin/go" "$go_exe" >&2

View file

@ -60,9 +60,11 @@ if(! ~ $#GOROOT_BOOTSTRAP 1){
}
for(p in $path){
if(! test -x $GOROOT_BOOTSTRAP/bin/go){
GOROOT_BOOTSTRAP = ()
if(go_exe = `{path=$p whatis go}){
goroot_bootstrap = $GOROOT_BOOTSTRAP
GOROOT_BOOTSTRAP = ()
goroot = `{bootstrapenv $go_exe env GOROOT}
GOROOT_BOOTSTRAP = $goroot_bootstrap
if(! ~ $goroot $GOROOT){
if(~ $goroot_bootstrap_set 'true'){
echo 'WARNING: '$GOROOT_BOOTSTRAP'/bin/go does not exist, found '$go_exe' from env' >[1=2]