From 64c2657448c9a5e589a2bd8b8299865366c39ca0 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Thu, 6 Jan 2022 08:38:26 -0800 Subject: [PATCH] cmd/printdep: add flag to print out Go toolchain tarball URL Updates #3669 Signed-off-by: Brad Fitzpatrick --- cmd/printdep/printdep.go | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) 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 @@ 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) + } }