Explorar el Código

Print error if PATH is empty.

This fixes #881.

Before:
```bash
$ PATH= /usr/bin/yay -Qu
$ echo $?
1
```

After:
```bash
$ PATH= ./yay -Qu
exec: "pacman-conf": executable file not found in $PATH
$ echo $?
1
```
xhqr hace 4 años
padre
commit
24edabe5df
Se han modificado 3 ficheros con 7 adiciones y 6 borrados
  1. 5 1
      main.go
  2. 1 5
      pkg/settings/exe/exec.go
  3. 1 0
      print.go

+ 5 - 1
main.go

@@ -30,7 +30,11 @@ func initAlpm(cmdArgs *settings.Arguments, pacmanConfigPath string) (*pacmanconf
 
 	pacmanConf, stderr, err := pacmanconf.PacmanConf("--config", pacmanConfigPath, "--root", root)
 	if err != nil {
-		return nil, false, fmt.Errorf("%s", stderr)
+		cmdErr := err
+		if stderr != "" {
+			cmdErr = fmt.Errorf("%s\n%s", err, stderr)
+		}
+		return nil, false, cmdErr
 	}
 
 	if dbPath, _, exists := cmdArgs.GetArg("dbpath", "b"); exists {

+ 1 - 5
pkg/settings/exe/exec.go

@@ -22,11 +22,7 @@ type OSRunner struct {
 
 func (r *OSRunner) 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
+	return cmd.Run()
 }
 
 func (r *OSRunner) Capture(cmd *exec.Cmd, timeout int64) (stdout, stderr string, err error) {

+ 1 - 0
print.go

@@ -202,6 +202,7 @@ func printUpdateList(cmdArgs *settings.Arguments, dbExecutor db.Executor, enable
 	os.Stdout = nil
 	localNames, remoteNames, err := query.GetPackageNamesBySource(dbExecutor)
 	if err != nil {
+		os.Stdout = old
 		return err
 	}