]> Cypherpunks repositories - gostls13.git/commitdiff
misc/android: evaluate symlinks before comparing GOROOT and GOPATH
authorElias Naur <mail@eliasnaur.com>
Fri, 1 Mar 2019 00:03:20 +0000 (01:03 +0100)
committerElias Naur <mail@eliasnaur.com>
Fri, 1 Mar 2019 06:03:52 +0000 (06:03 +0000)
Should fix Android builders on Darwin hosts.

Change-Id: I1554849bdf2ad2440529af7f93566fa6f11d5407
Reviewed-on: https://go-review.googlesource.com/c/164697
Run-TryBot: Elias Naur <mail@eliasnaur.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
misc/android/go_android_exec.go

index fa84f00f67b821a47d7ca1ce3bba6bc318bffc2d..845ed6e99cbfe2535f28f2ccf9fb46a6a376da59 100644 (file)
@@ -156,8 +156,12 @@ func subdir() (pkgpath string, underGoRoot bool) {
        if err != nil {
                log.Fatal(err)
        }
-       if root := runtime.GOROOT(); strings.HasPrefix(cwd, root) {
-               subdir, err := filepath.Rel(root, cwd)
+       goroot, err := filepath.EvalSymlinks(runtime.GOROOT())
+       if err != nil {
+               log.Fatal(err)
+       }
+       if strings.HasPrefix(cwd, goroot) {
+               subdir, err := filepath.Rel(goroot, cwd)
                if err != nil {
                        log.Fatal(err)
                }
@@ -165,10 +169,14 @@ func subdir() (pkgpath string, underGoRoot bool) {
        }
 
        for _, p := range filepath.SplitList(build.Default.GOPATH) {
-               if !strings.HasPrefix(cwd, p) {
+               pabs, err := filepath.EvalSymlinks(p)
+               if err != nil {
+                       log.Fatal(err)
+               }
+               if !strings.HasPrefix(cwd, pabs) {
                        continue
                }
-               subdir, err := filepath.Rel(p, cwd)
+               subdir, err := filepath.Rel(pabs, cwd)
                if err == nil {
                        return subdir, false
                }