|
@@ -175,9 +175,9 @@ func handleCmd() (err error) {
|
|
|
case "V", "version":
|
|
|
handleVersion()
|
|
|
case "D", "database":
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
case "F", "files":
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
case "Q", "query":
|
|
|
err = handleQuery()
|
|
|
case "R", "remove":
|
|
@@ -185,9 +185,9 @@ func handleCmd() (err error) {
|
|
|
case "S", "sync":
|
|
|
err = handleSync()
|
|
|
case "T", "deptest":
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
case "U", "upgrade":
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
case "G", "getpkgbuild":
|
|
|
err = handleGetpkgbuild()
|
|
|
case "P", "print":
|
|
@@ -209,7 +209,7 @@ func handleQuery() error {
|
|
|
if cmdArgs.existsArg("u", "upgrades") {
|
|
|
err = printUpdateList(cmdArgs)
|
|
|
} else {
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
}
|
|
|
|
|
|
return err
|
|
@@ -221,7 +221,7 @@ func handleHelp() error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
- return passToPacman(cmdArgs)
|
|
|
+ return show(passToPacman(cmdArgs))
|
|
|
}
|
|
|
|
|
|
//this function should only set config options
|
|
@@ -436,7 +436,7 @@ func handleSync() (err error) {
|
|
|
arguments.delArg("i", "info")
|
|
|
arguments.delArg("l", "list")
|
|
|
arguments.clearTargets()
|
|
|
- err = passToPacman(arguments)
|
|
|
+ err = show(passToPacman(arguments))
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
@@ -453,9 +453,9 @@ func handleSync() (err error) {
|
|
|
} else if cmdArgs.existsArg("c", "clean") {
|
|
|
err = syncClean(cmdArgs)
|
|
|
} else if cmdArgs.existsArg("l", "list") {
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
} else if cmdArgs.existsArg("c", "clean") {
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
} else if cmdArgs.existsArg("i", "info") {
|
|
|
err = syncInfo(targets)
|
|
|
} else if cmdArgs.existsArg("u", "sysupgrade") {
|
|
@@ -469,7 +469,7 @@ func handleSync() (err error) {
|
|
|
|
|
|
func handleRemove() (err error) {
|
|
|
removeVCSPackage(cmdArgs.targets)
|
|
|
- err = passToPacman(cmdArgs)
|
|
|
+ err = show(passToPacman(cmdArgs))
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -579,41 +579,29 @@ func numberMenu(pkgS []string, flags []string) (err error) {
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
-// passToPacman outsources execution to pacman binary without modifications.
|
|
|
-func passToPacman(args *arguments) error {
|
|
|
- var cmd *exec.Cmd
|
|
|
- argArr := make([]string, 0)
|
|
|
-
|
|
|
- if args.needRoot() {
|
|
|
- argArr = append(argArr, "sudo")
|
|
|
- }
|
|
|
-
|
|
|
- argArr = append(argArr, config.PacmanBin)
|
|
|
- argArr = append(argArr, cmdArgs.formatGlobals()...)
|
|
|
- argArr = append(argArr, args.formatArgs()...)
|
|
|
- if config.NoConfirm {
|
|
|
- argArr = append(argArr, "--noconfirm")
|
|
|
- }
|
|
|
-
|
|
|
- argArr = append(argArr, "--")
|
|
|
-
|
|
|
- argArr = append(argArr, args.targets...)
|
|
|
-
|
|
|
- cmd = exec.Command(argArr[0], argArr[1:]...)
|
|
|
-
|
|
|
+func show(cmd *exec.Cmd) error {
|
|
|
cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr
|
|
|
err := cmd.Run()
|
|
|
-
|
|
|
if err != nil {
|
|
|
return fmt.Errorf("")
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-//passToPacman but return the output instead of showing the user
|
|
|
-func passToPacmanCapture(args *arguments) (string, string, error) {
|
|
|
+func capture(cmd *exec.Cmd) (string, string, error) {
|
|
|
var outbuf, errbuf bytes.Buffer
|
|
|
- var cmd *exec.Cmd
|
|
|
+
|
|
|
+ cmd.Stdout = &outbuf
|
|
|
+ cmd.Stderr = &errbuf
|
|
|
+ err := cmd.Run()
|
|
|
+ stdout := outbuf.String()
|
|
|
+ stderr := errbuf.String()
|
|
|
+
|
|
|
+ return stdout, stderr, err
|
|
|
+}
|
|
|
+
|
|
|
+// passToPacman outsources execution to pacman binary without modifications.
|
|
|
+func passToPacman(args *arguments) *exec.Cmd {
|
|
|
argArr := make([]string, 0)
|
|
|
|
|
|
if args.needRoot() {
|
|
@@ -631,20 +619,11 @@ func passToPacmanCapture(args *arguments) (string, string, error) {
|
|
|
|
|
|
argArr = append(argArr, args.targets...)
|
|
|
|
|
|
- cmd = exec.Command(argArr[0], argArr[1:]...)
|
|
|
- cmd.Stdout = &outbuf
|
|
|
- cmd.Stderr = &errbuf
|
|
|
-
|
|
|
- err := cmd.Run()
|
|
|
- stdout := outbuf.String()
|
|
|
- stderr := errbuf.String()
|
|
|
-
|
|
|
- return stdout, stderr, err
|
|
|
+ return exec.Command(argArr[0], argArr[1:]...)
|
|
|
}
|
|
|
|
|
|
// passToMakepkg outsources execution to makepkg binary without modifications.
|
|
|
-func passToMakepkg(dir string, args ...string) (err error) {
|
|
|
-
|
|
|
+func passToMakepkg(dir string, args ...string) *exec.Cmd {
|
|
|
if config.NoConfirm {
|
|
|
args = append(args)
|
|
|
}
|
|
@@ -653,42 +632,11 @@ func passToMakepkg(dir string, args ...string) (err error) {
|
|
|
args = append(args, mflags...)
|
|
|
|
|
|
cmd := exec.Command(config.MakepkgBin, args...)
|
|
|
- cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr
|
|
|
cmd.Dir = dir
|
|
|
- err = cmd.Run()
|
|
|
- if err == nil {
|
|
|
- _ = saveVCSInfo()
|
|
|
- }
|
|
|
- return
|
|
|
+ return cmd
|
|
|
}
|
|
|
|
|
|
-func passToMakepkgCapture(dir string, args ...string) (string, string, error) {
|
|
|
- var outbuf, errbuf bytes.Buffer
|
|
|
-
|
|
|
- if config.NoConfirm {
|
|
|
- args = append(args)
|
|
|
- }
|
|
|
-
|
|
|
- mflags := strings.Fields(config.MFlags)
|
|
|
- args = append(args, mflags...)
|
|
|
-
|
|
|
- cmd := exec.Command(config.MakepkgBin, args...)
|
|
|
- cmd.Dir = dir
|
|
|
- cmd.Stdout = &outbuf
|
|
|
- cmd.Stderr = &errbuf
|
|
|
-
|
|
|
- err := cmd.Run()
|
|
|
- stdout := outbuf.String()
|
|
|
- stderr := errbuf.String()
|
|
|
-
|
|
|
- if err == nil {
|
|
|
- _ = saveVCSInfo()
|
|
|
- }
|
|
|
-
|
|
|
- return stdout, stderr, err
|
|
|
-}
|
|
|
-
|
|
|
-func passToGit(dir string, _args ...string) (err error) {
|
|
|
+func passToGit(dir string, _args ...string) *exec.Cmd {
|
|
|
gitflags := strings.Fields(config.GitFlags)
|
|
|
args := []string{"-C", dir}
|
|
|
args = append(args, gitflags...)
|
|
@@ -696,25 +644,5 @@ func passToGit(dir string, _args ...string) (err error) {
|
|
|
|
|
|
cmd := exec.Command(config.GitBin, args...)
|
|
|
cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr
|
|
|
- err = cmd.Run()
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-func passToGitCapture(dir string, _args ...string) (string, string, error) {
|
|
|
- var outbuf, errbuf bytes.Buffer
|
|
|
- gitflags := strings.Fields(config.GitFlags)
|
|
|
- args := []string{"-C", dir}
|
|
|
- args = append(args, gitflags...)
|
|
|
- args = append(args, _args...)
|
|
|
-
|
|
|
- cmd := exec.Command(config.GitBin, args...)
|
|
|
- cmd.Dir = dir
|
|
|
- cmd.Stdout = &outbuf
|
|
|
- cmd.Stderr = &errbuf
|
|
|
-
|
|
|
- err := cmd.Run()
|
|
|
- stdout := outbuf.String()
|
|
|
- stderr := errbuf.String()
|
|
|
-
|
|
|
- return stdout, stderr, err
|
|
|
+ return cmd
|
|
|
}
|