From: Russ Cox Date: Tue, 27 Mar 2012 15:16:10 +0000 (-0400) Subject: go/build: fix import check X-Git-Tag: weekly~9 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=671862747ef238f1713170f712e85d1cd6d46685;p=gostls13.git go/build: fix import check When we find a package in DIR/src/foo, we only let it be known as foo if there is no other foo in an earlier GOPATH directory or the GOROOT directory. The GOROOT check was looking in GOROOT/src/foo instead of GOROOT/src/pkg/foo, which meant that the import paths "lib9", "libbio", "libmach", and so on were unavailable, and the import paths "math", "errors", and so on were available. Correct this. Fixes #3390. R=golang-dev, minux.ma CC=golang-dev https://golang.org/cl/5927050 --- diff --git a/src/pkg/go/build/build.go b/src/pkg/go/build/build.go index 1c7c47231f..d749aef151 100644 --- a/src/pkg/go/build/build.go +++ b/src/pkg/go/build/build.go @@ -387,7 +387,7 @@ func (ctxt *Context) Import(path string, srcDir string, mode ImportMode) (*Packa // but check that using it wouldn't find something // else first. if ctxt.GOROOT != "" { - if dir := ctxt.joinPath(ctxt.GOROOT, "src", sub); ctxt.isDir(dir) { + if dir := ctxt.joinPath(ctxt.GOROOT, "src", "pkg", sub); ctxt.isDir(dir) { goto Found } }