Cache sudo user to avoid repeated env lookups
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/Riyyi/declpac/pkg/fetch"
|
||||
@@ -12,6 +13,9 @@ import (
|
||||
"github.com/Riyyi/declpac/pkg/log"
|
||||
)
|
||||
|
||||
var sudoUser string
|
||||
var sudoUserOnce sync.Once
|
||||
|
||||
type Result struct {
|
||||
Installed int
|
||||
Removed int
|
||||
@@ -238,13 +242,15 @@ func resolveAndInstallDeps(f *fetch.Fetcher, aurInfo *aur.Package, logWriter io.
|
||||
}
|
||||
|
||||
func getSudoUser() string {
|
||||
sudoUser := os.Getenv("SUDO_USER")
|
||||
sudoUserOnce.Do(func() {
|
||||
sudoUser = os.Getenv("SUDO_USER")
|
||||
if sudoUser == "" {
|
||||
sudoUser = os.Getenv("USER")
|
||||
if sudoUser == "" {
|
||||
sudoUser = "root"
|
||||
}
|
||||
}
|
||||
})
|
||||
return sudoUser
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user