Provide flag for passing package manager arguments
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
This commit is contained in:
parent
be79eba4c2
commit
770881bf67
15
main.go
15
main.go
|
@ -23,6 +23,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -31,6 +32,7 @@ import (
|
||||||
"go.arsenm.dev/logger/log"
|
"go.arsenm.dev/logger/log"
|
||||||
"go.arsenm.dev/lure/internal/config"
|
"go.arsenm.dev/lure/internal/config"
|
||||||
"go.arsenm.dev/lure/internal/db"
|
"go.arsenm.dev/lure/internal/db"
|
||||||
|
"go.arsenm.dev/lure/manager"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate scripts/gen-version.sh
|
//go:generate scripts/gen-version.sh
|
||||||
|
@ -54,6 +56,13 @@ func main() {
|
||||||
app := &cli.App{
|
app := &cli.App{
|
||||||
Name: "lure",
|
Name: "lure",
|
||||||
Usage: "Linux User REpository",
|
Usage: "Linux User REpository",
|
||||||
|
Flags: []cli.Flag{
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "pm-args",
|
||||||
|
Aliases: []string{"P"},
|
||||||
|
Usage: "Arguments to be passed on to the package manager",
|
||||||
|
},
|
||||||
|
},
|
||||||
Commands: []*cli.Command{
|
Commands: []*cli.Command{
|
||||||
{
|
{
|
||||||
Name: "install",
|
Name: "install",
|
||||||
|
@ -155,6 +164,12 @@ func main() {
|
||||||
Action: displayVersion,
|
Action: displayVersion,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
Before: func(c *cli.Context) error {
|
||||||
|
fmt.Println("pm-args:", c.String("pm-args"))
|
||||||
|
args := strings.Split(c.String("pm-args"), " ")
|
||||||
|
manager.Args = append(manager.Args, args...)
|
||||||
|
return nil
|
||||||
|
},
|
||||||
After: func(ctx *cli.Context) error {
|
After: func(ctx *cli.Context) error {
|
||||||
return gdb.Close()
|
return gdb.Close()
|
||||||
},
|
},
|
||||||
|
|
|
@ -23,6 +23,8 @@ import (
|
||||||
"os/exec"
|
"os/exec"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var Args []string
|
||||||
|
|
||||||
type Opts struct {
|
type Opts struct {
|
||||||
AsRoot bool
|
AsRoot bool
|
||||||
NoConfirm bool
|
NoConfirm bool
|
||||||
|
@ -115,7 +117,8 @@ func setCmdEnv(cmd *exec.Cmd) {
|
||||||
|
|
||||||
func ensureOpts(opts *Opts) *Opts {
|
func ensureOpts(opts *Opts) *Opts {
|
||||||
if opts == nil {
|
if opts == nil {
|
||||||
return DefaultOpts
|
opts = DefaultOpts
|
||||||
}
|
}
|
||||||
|
opts.Args = append(opts.Args, Args...)
|
||||||
return opts
|
return opts
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue