Jelajahi Sumber

pkg/homedir: clarify Get() docs wrt static linking

This clarifies comments about static linking made in commit a8608b5b67c.

1. There are two ways to create a static binary, one is to disable
cgo, the other is to set linker flags. When cgo is disabled,
there is no need to use osusergo build tag.

2. osusergo only needs to be set when linking against glibc.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Kir Kolyshkin 5 tahun lalu
induk
melakukan
7ef475fc16
1 mengubah file dengan 5 tambahan dan 2 penghapusan
  1. 5 2
      pkg/homedir/homedir_unix.go

+ 5 - 2
pkg/homedir/homedir_unix.go

@@ -16,8 +16,11 @@ func Key() string {
 // 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.
-// If compiling statically, ensure the osusergo build tag is used.
-// If needing to do nss lookups, do not compile statically.
+//
+// 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.Getenv(Key())
 	if home == "" {