From d27a6e1c53787621fee4002b9a84606df98a44fd Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 9 May 2023 15:56:41 -0700 Subject: [PATCH] tool/gocross: fix incorrect relpath usage in bootstrap script The subshell in which gocross gets built cd's to the corp checkout dir near the top, so all future references to corp repository files should be simple relative paths, and not reference $repo_root. When $repo_root is an absolute path, it doesn't matter and everything works out, but on some OSes and shells and invocations, $repo_root is a completely relative path that is invalidated by the "cd". Fixes tailscale/corp#11183 Signed-off-by: David Anderson --- tool/gocross/gocross-wrapper.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tool/gocross/gocross-wrapper.sh b/tool/gocross/gocross-wrapper.sh index 623b7cc79..c14217e9f 100755 --- a/tool/gocross/gocross-wrapper.sh +++ b/tool/gocross/gocross-wrapper.sh @@ -31,7 +31,7 @@ toolchain="$HOME/.cache/tailscale-go" if [ -d "$toolchain" ]; then # A toolchain exists, but is it recent enough to compile gocross? If not, # wipe it out so that the next if block fetches a usable one. - want_go_minor=$(grep -E '^go ' "$repo_root/go.mod" | cut -f2 -d'.') + want_go_minor=$(grep -E '^go ' "go.mod" | cut -f2 -d'.') have_go_minor=$(cut -f2 -d'.' <$toolchain/VERSION) if [ -z "$have_go_minor" -o "$have_go_minor" -lt "$want_go_minor" ]; then rm -rf "$toolchain" "$toolchain.extracted" @@ -45,7 +45,7 @@ if [ ! -d "$toolchain" ]; then # build with Go N-1. So, if we have no cached tailscale toolchain at all, # fetch the initial one in shell. Once gocross is built, it'll manage # updates. - read -r REV <$repo_root/go.toolchain.rev + read -r REV