mirror of
https://github.com/golang/go
synced 2024-11-12 10:00:25 -07:00
cmd/api: make it work even when cgo is disabled
make use of $USER or %USERNAME% to determine the current user. Fixes #6578. R=golang-dev, bradfitz, alex.brainman CC=golang-dev https://golang.org/cl/14649043
This commit is contained in:
parent
26f43a089e
commit
89ebc28b58
@ -93,13 +93,21 @@ func file(s ...string) string {
|
||||
func prepGoPath() string {
|
||||
const tempBase = "go.tools.TMP"
|
||||
|
||||
username := ""
|
||||
u, err := user.Current()
|
||||
if err != nil {
|
||||
log.Fatalf("Error getting current user: %v", err)
|
||||
if err == nil {
|
||||
username = u.Username
|
||||
} else {
|
||||
// Only need to handle Unix here, as Windows's os/user uses
|
||||
// native syscall and should work fine without cgo.
|
||||
username = os.Getenv("USER")
|
||||
if username == "" {
|
||||
log.Fatalf("Error getting current user: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// The GOPATH we'll return
|
||||
gopath := filepath.Join(os.TempDir(), "gopath-api-"+cleanUsername(u.Username), goToolsVersion)
|
||||
gopath := filepath.Join(os.TempDir(), "gopath-api-"+cleanUsername(username), goToolsVersion)
|
||||
|
||||
// cloneDir is where we run "hg clone".
|
||||
cloneDir := filepath.Join(gopath, "src", "code.google.com", "p")
|
||||
|
Loading…
Reference in New Issue
Block a user