Minor update to patch new issue with AUR logic
This commit is contained in:
parent
779ce34013
commit
a3cc14f9df
|
@ -173,7 +173,8 @@ func CloneAndInstallFromAUR(repoURL string, skipConfirmation bool) (string, erro
|
|||
}
|
||||
|
||||
// Build the package using makepkg as the non-root user
|
||||
cmdMakePkg := exec.Command("sudo", "-u", sudoUser, "makepkg", "-si", "--noconfirm")
|
||||
cmdMakePkg := exec.Command("makepkg", "-si", "--noconfirm")
|
||||
cmdMakePkg.Env = []string{"HOME=" + usr.HomeDir, "USER=" + usr.Username, "LOGNAME=" + usr.Username}
|
||||
if output, err := cmdMakePkg.CombinedOutput(); err != nil {
|
||||
logger.Errorf("error building package with makepkg: %s, %v", output, err)
|
||||
return "", fmt.Errorf("error building package with makepkg: %s, %v", output, err)
|
||||
|
|
|
@ -7,6 +7,10 @@ import (
|
|||
"strings"
|
||||
"fmt"
|
||||
"pixelridgesoftworks.com/AllPac/pkg/logger"
|
||||
"os/exec"
|
||||
"os/user"
|
||||
"strconv"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// reads the PKGBUILD file and extracts the package version
|
||||
|
@ -56,3 +60,32 @@ func confirmAction(question string) bool {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// this is unused, just incase I need to do it this way since makepkg is being a pain in the neck
|
||||
func RunMakepkgAsUser(username string) error {
|
||||
// Lookup the non-root user
|
||||
usr, err := user.Lookup(username)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Convert UID and GID to integers
|
||||
uid, _ := strconv.Atoi(usr.Uid)
|
||||
gid, _ := strconv.Atoi(usr.Gid)
|
||||
|
||||
// Set UID and GID of the process
|
||||
err = syscall.Setgid(gid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = syscall.Setuid(uid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Now run makepkg as the non-root user
|
||||
cmd := exec.Command("makepkg", "-si", "--noconfirm")
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user