]> Cypherpunks repositories - gostls13.git/commitdiff
misc/ios: don't override GOCACHE on the device
authorElias Naur <mail@eliasnaur.com>
Thu, 21 Mar 2019 14:15:40 +0000 (15:15 +0100)
committerElias Naur <mail@eliasnaur.com>
Thu, 21 Mar 2019 16:24:05 +0000 (16:24 +0000)
The iOS exec wrapper copies the environment variables to the binary
running on the device. However, some variables such as HOME, TMPDIR and
GOCACHE refer to directories that might not be valid on the device.

The wrapper already ignores HOME and TMPDIR, but after GO111MODULE
was flipped to on for the standard library, cmd/go tests started
failing without a valid and writable GOCACHE.

It took a while to reproduce because go test does not set an explicit
GOCACHE but cmd/dist test does.

Fixes #30914

Change-Id: If186cddc5cfd7ad39a0b3eb95f9c64a7d53a27e3
Reviewed-on: https://go-review.googlesource.com/c/go/+/168557
Run-TryBot: Elias Naur <mail@eliasnaur.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
misc/ios/go_darwin_arm_exec.go

index 8912d1e8fc6e2262129ab5aa7a33e65dd4d749ef..cdf4b07d0aa0e7c0bec2e94c88c5bc107b663dff 100644 (file)
@@ -467,8 +467,8 @@ func idevCmd(cmd *exec.Cmd) *exec.Cmd {
 func run(appdir, bundleID string, args []string) error {
        var env []string
        for _, e := range os.Environ() {
-               // Don't override TMPDIR, HOME on the device.
-               if strings.HasPrefix(e, "TMPDIR=") || strings.HasPrefix(e, "HOME=") {
+               // Don't override TMPDIR, HOME, GOCACHE on the device.
+               if strings.HasPrefix(e, "TMPDIR=") || strings.HasPrefix(e, "HOME=") || strings.HasPrefix(e, "GOCACHE=") {
                        continue
                }
                env = append(env, e)