-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request moby#45814 from thaJeztah/cleanup_homedir
pkg/homedir: use os.UserHomeDir(), deprecate GetShortcutString(), Key()
- Loading branch information
Showing
4 changed files
with
51 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
package homedir | ||
|
||
import ( | ||
"os" | ||
"os/user" | ||
"runtime" | ||
) | ||
|
||
// Key returns the env var name for the user's home dir based on | ||
// the platform being run on. | ||
// | ||
// Deprecated: this function is no longer used, and will be removed in the next release. | ||
func Key() string { | ||
return envKeyName | ||
} | ||
|
||
// Get returns the home directory of the current user with the help of | ||
// environment variables depending on the target operating system. | ||
// Returned path should be used with "path/filepath" to form new paths. | ||
// | ||
// On non-Windows platforms, it falls back to nss lookups, if the home | ||
// directory cannot be obtained from environment-variables. | ||
// | ||
// If linking statically with cgo enabled against glibc, ensure the | ||
// osusergo build tag is used. | ||
// | ||
// If needing to do nss lookups, do not disable cgo or set osusergo. | ||
func Get() string { | ||
home, _ := os.UserHomeDir() | ||
if home == "" && runtime.GOOS != "windows" { | ||
if u, err := user.Current(); err == nil { | ||
return u.HomeDir | ||
} | ||
} | ||
return home | ||
} | ||
|
||
// GetShortcutString returns the string that is shortcut to user's home directory | ||
// in the native shell of the platform running on. | ||
// | ||
// Deprecated: this function is no longer used, and will be removed in the next release. | ||
func GetShortcutString() string { | ||
return homeShortCut | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,6 @@ | ||
package homedir // import "github.com/docker/docker/pkg/homedir" | ||
|
||
import ( | ||
"os" | ||
const ( | ||
envKeyName = "USERPROFILE" | ||
homeShortCut = "%USERPROFILE%" // be careful while using in format functions | ||
) | ||
|
||
// Key returns the env var name for the user's home dir based on | ||
// the platform being run on | ||
func Key() string { | ||
return "USERPROFILE" | ||
} | ||
|
||
// Get returns the home directory of the current user with the help of | ||
// environment variables depending on the target operating system. | ||
// Returned path should be used with "path/filepath" to form new paths. | ||
func Get() string { | ||
return os.Getenv(Key()) | ||
} | ||
|
||
// GetShortcutString returns the string that is shortcut to user's home directory | ||
// in the native shell of the platform running on. | ||
func GetShortcutString() string { | ||
return "%USERPROFILE%" // be careful while using in format functions | ||
} |