mirror of
https://github.com/QuilibriumNetwork/ceremonyclient.git
synced 2026-02-21 18:37:26 +08:00
* initial auto-update * working link, update, and testing docker container and scripts * refactor packages/folders * move files to proper folders * fix typos Closes #421 * optimize rpm imports * optimize channel imports * Refactor split command to allow testing of split operations Closes #338 * modify split and test for folder changes * remove alias * fix docker warning about FROM and AS being in different letter case Closes #422 * QClient Account Command * Display transaction details and confirmation prompts for transfer and merge commands * build qclient docker improvements * update build args for mpfr.so.6 * update install and node commands * remove NodeConfig check for qclient node commands * udpate * working node commands * update commands * move utils and rename package --------- Co-authored-by: Vasyl Tretiakov <vasyl.tretiakov@gmail.com> Co-authored-by: littleblackcloud <163544315+littleblackcloud@users.noreply.github.com> Co-authored-by: 0xOzgur <29779769+0xOzgur@users.noreply.github.com> Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com>
38 lines
876 B
Go
38 lines
876 B
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
"strings"
|
|
)
|
|
|
|
// ConfirmSymlinkOverwrite asks the user to confirm overwriting an existing symlink
|
|
func ConfirmSymlinkOverwrite(path string) bool {
|
|
fmt.Printf("Symlink already exists at %s. Overwrite? [y/N]: ", path)
|
|
var response string
|
|
fmt.Scanln(&response)
|
|
return strings.ToLower(response) == "y"
|
|
}
|
|
|
|
// CheckAndRequestSudo checks if we have sudo privileges and requests them if needed
|
|
func CheckAndRequestSudo(reason string) error {
|
|
// Check if we're already root
|
|
if os.Geteuid() == 0 {
|
|
return nil
|
|
}
|
|
|
|
// Check if sudo is available
|
|
if _, err := exec.LookPath("sudo"); err != nil {
|
|
return fmt.Errorf("sudo is not available: %w", err)
|
|
}
|
|
|
|
// Request sudo privileges
|
|
cmd := exec.Command("sudo", "-v")
|
|
if err := cmd.Run(); err != nil {
|
|
return fmt.Errorf("failed to get sudo privileges: %w", err)
|
|
}
|
|
|
|
return nil
|
|
}
|