// +build linux package homedir import ( "os" "github.com/docker/docker/pkg/idtools" ) // GetStatic returns the home directory for the current user without calling // os/user.Current(). This is useful for static-linked binary on glibc-based // system, because a call to os/user.Current() in a static binary leads to // segfault due to a glibc issue that won't be fixed in a short term. // (#29344, golang/go#13470, https://sourceware.org/bugzilla/show_bug.cgi?id=19341) func GetStatic() (string, error) { uid := os.Getuid() usr, err := idtools.LookupUID(uid) if err != nil { return "", err } return usr.Home, nil }