diff --git a/cmd/printdep/printdep.go b/cmd/printdep/printdep.go index 3692f8798..05395ee01 100644 --- a/cmd/printdep/printdep.go +++ b/cmd/printdep/printdep.go @@ -9,13 +9,16 @@ package main import ( "flag" "fmt" + "log" + "runtime" "strings" ts "tailscale.com" ) var ( - goToolchain = flag.Bool("go", false, "print the supported Go toolchain git hash (a github.com/tailscale/go commit)") + goToolchain = flag.Bool("go", false, "print the supported Go toolchain git hash (a github.com/tailscale/go commit)") + goToolchainURL = flag.Bool("go-url", false, "print the URL to the tarball of the Tailscale Go toolchain") ) func main() { @@ -23,4 +26,21 @@ func main() { if *goToolchain { fmt.Println(strings.TrimSpace(ts.GoToolchainRev)) } + if *goToolchainURL { + var suffix string + switch runtime.GOARCH { + case "amd64": + // None + case "arm64": + suffix = "-" + runtime.GOARCH + default: + log.Fatalf("unsupported GOARCH %q", runtime.GOARCH) + } + switch runtime.GOOS { + case "linux", "darwin": + default: + log.Fatalf("unsupported GOOS %q", runtime.GOOS) + } + fmt.Printf("https://github.com/tailscale/go/releases/download/build-%s/%s%s.tar.gz\n", strings.TrimSpace(ts.GoToolchainRev), runtime.GOOS, suffix) + } }