From cee0d746430d69687fa8baa7ba8f35be1cd06c16 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Wed, 7 Mar 2018 17:12:30 +0000 Subject: [PATCH] Add --mflags option to pass args to makepkg --- cmd.go | 15 ++++++++++----- config.go | 2 ++ parser.go | 4 ++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/cmd.go b/cmd.go index 05cbb1ed..b1ad7cef 100644 --- a/cmd.go +++ b/cmd.go @@ -288,14 +288,14 @@ func updateSudo() { } func handleCmd() (err error) { - for option := range cmdArgs.options { - if handleConfig(option) { + for option, value := range cmdArgs.options { + if handleConfig(option, value) { cmdArgs.delArg(option) } } - for option := range cmdArgs.globals { - if handleConfig(option) { + for option, value := range cmdArgs.globals { + if handleConfig(option, value) { cmdArgs.delArg(option) } } @@ -346,7 +346,7 @@ func handleCmd() (err error) { //my current plan is to have yay specific operations in its own operator //e.g. yay -Y --gendb //e.g yay -Yg -func handleConfig(option string) bool { +func handleConfig(option, value string) bool { switch option { case "save": shouldSaveConfig = true @@ -374,6 +374,8 @@ func handleConfig(option string) bool { config.ReDownload = "all" case "noredownload": config.ReDownload = "no" + case "mflags": + config.MFlags = value default: return false } @@ -727,6 +729,9 @@ func passToMakepkg(dir string, args ...string) (err error) { args = append(args) } + mflags := strings.Fields(config.MFlags) + 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 diff --git a/config.go b/config.go index cf3bca0a..52e961b4 100644 --- a/config.go +++ b/config.go @@ -33,6 +33,7 @@ type Configuration struct { TarBin string `json:"tarbin"` ReDownload string `json:"redownload"` GitBin string `json:"gitbin"` + MFlags string `json:"mflags"` RequestSplitN int `json:"requestsplitn"` SearchMode int `json:"-"` SortMode int `json:"sortmode"` @@ -124,6 +125,7 @@ func defaultSettings(config *Configuration) { config.NoConfirm = false config.PacmanBin = "pacman" config.PacmanConf = "/etc/pacman.conf" + config.MFlags = "" config.SortMode = BottomUp config.SudoLoop = false config.TarBin = "bsdtar" diff --git a/parser.go b/parser.go index fba8c583..264614b1 100644 --- a/parser.go +++ b/parser.go @@ -408,6 +408,10 @@ func hasParam(arg string) bool { return true case "color": return true + + //yay params + case "mflags": + return true default: return false }