Cache sudo user to avoid repeated env lookups

This commit is contained in:
AI Bot
2026-05-03 17:49:53 +02:00
committed by Riyyi
parent b13c9da7a1
commit 317d5f4be9
+11 -5
View File
@@ -5,6 +5,7 @@ import (
"io" "io"
"os" "os"
"strings" "strings"
"sync"
"time" "time"
"github.com/Riyyi/declpac/pkg/fetch" "github.com/Riyyi/declpac/pkg/fetch"
@@ -12,6 +13,9 @@ import (
"github.com/Riyyi/declpac/pkg/log" "github.com/Riyyi/declpac/pkg/log"
) )
var sudoUser string
var sudoUserOnce sync.Once
type Result struct { type Result struct {
Installed int Installed int
Removed int Removed int
@@ -238,13 +242,15 @@ func resolveAndInstallDeps(f *fetch.Fetcher, aurInfo *aur.Package, logWriter io.
} }
func getSudoUser() string { func getSudoUser() string {
sudoUser := os.Getenv("SUDO_USER") sudoUserOnce.Do(func() {
if sudoUser == "" { sudoUser = os.Getenv("SUDO_USER")
sudoUser = os.Getenv("USER")
if sudoUser == "" { if sudoUser == "" {
sudoUser = "root" sudoUser = os.Getenv("USER")
if sudoUser == "" {
sudoUser = "root"
}
} }
} })
return sudoUser return sudoUser
} }