Files
podman/vendor/github.com/containers/storage/pkg/unshare/unshare.go
Daniel J Walsh 6fe64591d6 Update vendor containers/(common,storage,buildah,image)
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-10-28 06:16:22 -04:00

33 lines
607 B
Go

package unshare
import (
"fmt"
"os"
"os/user"
"sync"
)
var (
homeDirOnce sync.Once
homeDirErr error
homeDir string
)
// HomeDir returns the home directory for the current user.
func HomeDir() (string, error) {
homeDirOnce.Do(func() {
home := os.Getenv("HOME")
if home == "" {
usr, err := user.LookupId(fmt.Sprintf("%d", GetRootlessUID()))
if err != nil {
homeDir, homeDirErr = "", fmt.Errorf("unable to resolve HOME directory: %w", err)
return
}
homeDir, homeDirErr = usr.HomeDir, nil
return
}
homeDir, homeDirErr = home, nil
})
return homeDir, homeDirErr
}