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
+7 -1
View File
@@ -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
}