From b7f9a5e677b05a487e304b52cecb2aa78bc4df26 Mon Sep 17 00:00:00 2001 From: jguer Date: Sat, 21 Aug 2021 16:17:19 +0200 Subject: [PATCH] fix(install): fix missing error display in install --- cmd.go | 14 ++++++++++++-- install.go | 2 +- main.go | 8 +++----- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/cmd.go b/cmd.go index b5adf5b5..55fc0aa4 100644 --- a/cmd.go +++ b/cmd.go @@ -6,6 +6,7 @@ import ( "fmt" "net/http" "os" + "strings" alpm "github.com/Jguer/go-alpm/v2" "github.com/leonelquinteros/gotext" @@ -222,8 +223,17 @@ func handleQuery(ctx context.Context, cmdArgs *parser.Arguments, dbExecutor db.E return printUpdateList(ctx, cmdArgs, dbExecutor, cmdArgs.ExistsDouble("u", "sysupgrade"), filter) } - return config.Runtime.CmdBuilder.Show(config.Runtime.CmdBuilder.BuildPacmanCmd(ctx, - cmdArgs, config.Runtime.Mode, settings.NoConfirm)) + if err := config.Runtime.CmdBuilder.Show(config.Runtime.CmdBuilder.BuildPacmanCmd(ctx, + cmdArgs, config.Runtime.Mode, settings.NoConfirm)); err != nil { + if str := err.Error(); strings.Contains(str, "exit status") { + // yay -Qdt should not output anything in case of error + return fmt.Errorf("") + } + + return err + } + + return nil } func handleHelp(ctx context.Context, cmdArgs *parser.Arguments) error { diff --git a/install.go b/install.go index 30fcd1a0..462b1223 100644 --- a/install.go +++ b/install.go @@ -262,7 +262,7 @@ func install(ctx context.Context, cmdArgs *parser.Arguments, dbExecutor db.Execu cloned, errA := download.AURPKGBUILDRepos(ctx, config.Runtime.CmdBuilder, toClone, config.AURURL, config.BuildDir, false) if errA != nil { - return err + return errA } var ( diff --git a/main.go b/main.go index ce68a57c..2acddc82 100644 --- a/main.go +++ b/main.go @@ -5,7 +5,6 @@ import ( "fmt" "os" "os/exec" - "strings" pacmanconf "github.com/Morganamilo/go-pacmanconf" "github.com/leonelquinteros/gotext" @@ -161,11 +160,10 @@ func main() { } defer dbExecutor.Cleanup() - err = handleCmd(ctx, cmdArgs, db.Executor(dbExecutor)) - if err != nil { - if str := err.Error(); str != "" && !strings.Contains(str, "exit status") { - fmt.Fprintln(os.Stderr, str) + if err = handleCmd(ctx, cmdArgs, db.Executor(dbExecutor)); err != nil { + if str := err.Error(); str != "" { + text.Errorln(str) } if exitError, ok := err.(*exec.ExitError); ok {