From e832043e7293cf3237e35ffc3b645c8d04d11f77 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 16 Jan 2015 22:15:01 -0500 Subject: [PATCH] cmd/go: set $GOROOT during 'go tool' invocations cmd/dist now requires $GOROOT to be set explicitly. Set it when invoking via 'go tool dist' so that users are unaffected. Also, change go tool -n to drop trailing space in output for 'go tool -n '. Change-Id: I9b2c020e0a2f3fa7c9c339fadcc22cc5b6cb7cac Reviewed-on: https://go-review.googlesource.com/3011 Reviewed-by: Brad Fitzpatrick --- src/cmd/go/tool.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/tool.go b/src/cmd/go/tool.go index 3f11c3e3d4..dc8d34ba08 100644 --- a/src/cmd/go/tool.go +++ b/src/cmd/go/tool.go @@ -92,7 +92,11 @@ func runTool(cmd *Command, args []string) { return } if toolN { - fmt.Printf("%s %s\n", toolPath, strings.Join(args[1:], " ")) + cmd := toolPath + if len(args) > 1 { + cmd += " " + strings.Join(args[1:], " ") + } + fmt.Printf("%s\n", cmd) return } toolCmd := &exec.Cmd{ @@ -101,6 +105,8 @@ func runTool(cmd *Command, args []string) { Stdin: os.Stdin, Stdout: os.Stdout, Stderr: os.Stderr, + // Set $GOROOT, mainly for go tool dist. + Env: mergeEnvLists([]string{"GOROOT=" + goroot}, os.Environ()), } err := toolCmd.Run() if err != nil { -- 2.48.1