Compare commits

..

No commits in common. "c09574e65914f0bc37e9a1ac02c71e1cabb0e0bb" and "8661721cccd62a670e1befbc8ba8081d3a8e9728" have entirely different histories.

10 changed files with 97 additions and 297 deletions

View File

@ -245,6 +245,7 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st
Arch: runtime.GOARCH,
Version: vars.Version,
Release: strconv.Itoa(vars.Release),
Epoch: strconv.FormatUint(uint64(vars.Epoch), 10),
Homepage: vars.Homepage,
License: strings.Join(vars.Licenses, ", "),
Maintainer: vars.Maintainer,
@ -256,10 +257,6 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st
},
}
if vars.Epoch != 0 {
pkgInfo.Epoch = strconv.FormatUint(uint64(vars.Epoch), 10)
}
setScripts(&vars, pkgInfo, filepath.Dir(script))
if slices.Contains(vars.Architectures, "all") {
@ -374,13 +371,7 @@ func buildPackage(ctx context.Context, script string, mgr manager.Manager) ([]st
}
if removeBuildDeps {
err = mgr.Remove(
&manager.Opts{
AsRoot: true,
NoConfirm: true,
},
vars.BuildDepends...,
)
err = mgr.Remove(vars.BuildDepends...)
if err != nil {
return nil, nil, err
}

View File

@ -50,7 +50,7 @@ func installPkgs(ctx context.Context, pkgs []string, mgr manager.Manager) {
scripts, notFound := findPkgs(pkgs)
if len(notFound) > 0 {
err = mgr.Install(nil, notFound...)
err = mgr.Install(notFound...)
if err != nil {
log.Fatal("Error installing native packages").Err(err).Send()
}
@ -66,7 +66,7 @@ func installScripts(ctx context.Context, mgr manager.Manager, scripts []string)
log.Fatal("Error building package").Err(err).Send()
}
err = mgr.InstallLocal(nil, builtPkgs...)
err = mgr.InstallLocal(builtPkgs...)
if err != nil {
log.Fatal("Error installing package").Err(err).Send()
}
@ -84,7 +84,7 @@ func removeCmd(c *cli.Context) error {
log.Fatal("Unable to detect supported package manager on system").Send()
}
err := mgr.Remove(nil, c.Args().Slice()...)
err := mgr.Remove(c.Args().Slice()...)
if err != nil {
log.Fatal("Error removing packages").Err(err).Send()
}

View File

@ -47,9 +47,8 @@ func (a *APK) SetRootCmd(s string) {
a.rootCmd = s
}
func (a *APK) Sync(opts *Opts) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apk", "update")
func (a *APK) Sync() error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apk", "update")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -58,9 +57,8 @@ func (a *APK) Sync(opts *Opts) error {
return nil
}
func (a *APK) Install(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apk", "add")
func (a *APK) Install(pkgs ...string) error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apk", "add")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -70,9 +68,8 @@ func (a *APK) Install(opts *Opts, pkgs ...string) error {
return nil
}
func (a *APK) InstallLocal(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apk", "add", "--allow-untrusted")
func (a *APK) InstallLocal(pkgs ...string) error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apk", "add", "--allow-untrusted")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -82,9 +79,8 @@ func (a *APK) InstallLocal(opts *Opts, pkgs ...string) error {
return nil
}
func (a *APK) Remove(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apt", "del")
func (a *APK) Remove(pkgs ...string) error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apt", "del")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -94,9 +90,8 @@ func (a *APK) Remove(opts *Opts, pkgs ...string) error {
return nil
}
func (a *APK) Upgrade(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apk", "upgrade")
func (a *APK) Upgrade(pkgs ...string) error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apk", "upgrade")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -106,21 +101,13 @@ func (a *APK) Upgrade(opts *Opts, pkgs ...string) error {
return nil
}
func (a *APK) UpgradeAll(opts *Opts) error {
opts = ensureOpts(opts)
return a.Upgrade(opts)
func (a *APK) UpgradeAll() error {
return a.Upgrade()
}
func (a *APK) ListInstalled(opts *Opts) (map[string]string, error) {
opts = ensureOpts(opts)
func (a *APK) ListInstalled() (map[string]string, error) {
out := map[string]string{}
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(a.rootCmd), "apk", "list", "-I")
} else {
cmd = exec.Command("apk", "list", "-I")
}
cmd := exec.Command(getRootCmd(a.rootCmd), "apk", "list", "-I")
stdout, err := cmd.StdoutPipe()
if err != nil {
@ -154,19 +141,3 @@ func (a *APK) ListInstalled(opts *Opts) (map[string]string, error) {
return out, nil
}
func (a *APK) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(a.rootCmd), mgrCmd)
cmd.Args = append(cmd.Args, args...)
} else {
cmd = exec.Command(mgrCmd, args...)
}
if !opts.NoConfirm {
cmd.Args = append(cmd.Args, "-i")
}
return cmd
}

View File

@ -47,9 +47,8 @@ func (a *APT) SetRootCmd(s string) {
a.rootCmd = s
}
func (a *APT) Sync(opts *Opts) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apt", "update")
func (a *APT) Sync() error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apt", "update", "-y")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -58,9 +57,8 @@ func (a *APT) Sync(opts *Opts) error {
return nil
}
func (a *APT) Install(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apt", "install")
func (a *APT) Install(pkgs ...string) error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apt", "install", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -70,14 +68,12 @@ func (a *APT) Install(opts *Opts, pkgs ...string) error {
return nil
}
func (a *APT) InstallLocal(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
return a.Install(opts, pkgs...)
func (a *APT) InstallLocal(pkgs ...string) error {
return a.Install(pkgs...)
}
func (a *APT) Remove(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apt", "remove")
func (a *APT) Remove(pkgs ...string) error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apt", "remove", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -87,14 +83,12 @@ func (a *APT) Remove(opts *Opts, pkgs ...string) error {
return nil
}
func (a *APT) Upgrade(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
return a.Install(opts, pkgs...)
func (a *APT) Upgrade(pkgs ...string) error {
return a.Install(pkgs...)
}
func (a *APT) UpgradeAll(opts *Opts) error {
opts = ensureOpts(opts)
cmd := a.getCmd(opts, "apt", "upgrade")
func (a *APT) UpgradeAll() error {
cmd := exec.Command(getRootCmd(a.rootCmd), "apt", "upgrade", "-y")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -103,16 +97,9 @@ func (a *APT) UpgradeAll(opts *Opts) error {
return nil
}
func (a *APT) ListInstalled(opts *Opts) (map[string]string, error) {
opts = ensureOpts(opts)
func (a *APT) ListInstalled() (map[string]string, error) {
out := map[string]string{}
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(a.rootCmd), "dpkg-query", "-f", "${Package}\u200b${Version}\\n", "-W")
} else {
cmd = exec.Command("dpkg-query", "-f", "${Package}\u200b${Version}\\n", "-W")
}
cmd := exec.Command(getRootCmd(a.rootCmd), "dpkg-query", "-f", "${Package}\u200b${Version}\\n", "-W")
stdout, err := cmd.StdoutPipe()
if err != nil {
@ -140,19 +127,3 @@ func (a *APT) ListInstalled(opts *Opts) (map[string]string, error) {
return out, nil
}
func (a *APT) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(a.rootCmd), mgrCmd)
cmd.Args = append(cmd.Args, args...)
} else {
cmd = exec.Command(mgrCmd, args...)
}
if opts.NoConfirm {
cmd.Args = append(cmd.Args, "-y")
}
return cmd
}

View File

@ -47,9 +47,8 @@ func (d *DNF) SetRootCmd(s string) {
d.rootCmd = s
}
func (d *DNF) Sync(opts *Opts) error {
opts = ensureOpts(opts)
cmd := d.getCmd(opts, "dnf", "upgrade")
func (d *DNF) Sync() error {
cmd := exec.Command(getRootCmd(d.rootCmd), "dnf", "upgrade", "--assumeno")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -58,9 +57,8 @@ func (d *DNF) Sync(opts *Opts) error {
return nil
}
func (d *DNF) Install(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := d.getCmd(opts, "dnf", "install")
func (d *DNF) Install(pkgs ...string) error {
cmd := exec.Command(getRootCmd(d.rootCmd), "dnf", "install", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -70,14 +68,12 @@ func (d *DNF) Install(opts *Opts, pkgs ...string) error {
return nil
}
func (d *DNF) InstallLocal(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
return d.Install(opts, pkgs...)
func (d *DNF) InstallLocal(pkgs ...string) error {
return d.Install(pkgs...)
}
func (d *DNF) Remove(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := d.getCmd(opts, "dnf", "remove")
func (d *DNF) Remove(pkgs ...string) error {
cmd := exec.Command(getRootCmd(d.rootCmd), "dnf", "remove", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -87,9 +83,8 @@ func (d *DNF) Remove(opts *Opts, pkgs ...string) error {
return nil
}
func (d *DNF) Upgrade(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := d.getCmd(opts, "dnf", "upgrade")
func (d *DNF) Upgrade(pkgs ...string) error {
cmd := exec.Command(getRootCmd(d.rootCmd), "dnf", "upgrade", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -99,9 +94,8 @@ func (d *DNF) Upgrade(opts *Opts, pkgs ...string) error {
return nil
}
func (d *DNF) UpgradeAll(opts *Opts) error {
opts = ensureOpts(opts)
cmd := d.getCmd(opts, "dnf", "upgrade")
func (d *DNF) UpgradeAll() error {
cmd := exec.Command(getRootCmd(d.rootCmd), "dnf", "upgrade", "-y")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -110,16 +104,9 @@ func (d *DNF) UpgradeAll(opts *Opts) error {
return nil
}
func (d *DNF) ListInstalled(opts *Opts) (map[string]string, error) {
opts = ensureOpts(opts)
func (d *DNF) ListInstalled() (map[string]string, error) {
out := map[string]string{}
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(d.rootCmd), "rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
} else {
cmd = exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
}
cmd := exec.Command(getRootCmd(d.rootCmd), "rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
stdout, err := cmd.StdoutPipe()
if err != nil {
@ -147,19 +134,3 @@ func (d *DNF) ListInstalled(opts *Opts) (map[string]string, error) {
return out, nil
}
func (d *DNF) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(d.rootCmd), mgrCmd)
cmd.Args = append(cmd.Args, args...)
} else {
cmd = exec.Command(mgrCmd, args...)
}
if opts.NoConfirm {
cmd.Args = append(cmd.Args, "-y")
}
return cmd
}

View File

@ -23,16 +23,6 @@ import (
"os/exec"
)
type Opts struct {
AsRoot bool
NoConfirm bool
}
var DefaultOpts = &Opts{
AsRoot: true,
NoConfirm: false,
}
// DefaultRootCmd is the command used for privilege elevation by default
var DefaultRootCmd = "sudo"
@ -62,19 +52,19 @@ type Manager interface {
// Sets the command used to elevate privileges. Defaults to DefaultRootCmd.
SetRootCmd(string)
// Sync fetches repositories without installing anything
Sync(*Opts) error
Sync() error
// Install installs packages
Install(*Opts, ...string) error
Install(...string) error
// Remove uninstalls packages
Remove(*Opts, ...string) error
Remove(...string) error
// Upgrade upgrades packages
Upgrade(*Opts, ...string) error
Upgrade(...string) error
// InstallLocal installs packages from local files rather than repos
InstallLocal(*Opts, ...string) error
InstallLocal(...string) error
// UpgradeAll upgrades all packages
UpgradeAll(*Opts) error
UpgradeAll() error
// ListInstalled returns all installed packages mapped to their versions
ListInstalled(*Opts) (map[string]string, error)
ListInstalled() (map[string]string, error)
}
// Detect returns the package manager detected on the system
@ -111,10 +101,3 @@ func setCmdEnv(cmd *exec.Cmd) {
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
}
func ensureOpts(opts *Opts) *Opts {
if opts == nil {
return DefaultOpts
}
return opts
}

View File

@ -47,9 +47,8 @@ func (p *Pacman) SetRootCmd(s string) {
p.rootCmd = s
}
func (p *Pacman) Sync(opts *Opts) error {
opts = ensureOpts(opts)
cmd := p.getCmd(opts, "pacman", "-Sy")
func (p *Pacman) Sync() error {
cmd := exec.Command(getRootCmd(p.rootCmd), "pacman", "--noconfirm", "-Sy")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -58,9 +57,8 @@ func (p *Pacman) Sync(opts *Opts) error {
return nil
}
func (p *Pacman) Install(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := p.getCmd(opts, "pacman", "-S")
func (p *Pacman) Install(pkgs ...string) error {
cmd := exec.Command(getRootCmd(p.rootCmd), "pacman", "--noconfirm", "-S")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -70,9 +68,8 @@ func (p *Pacman) Install(opts *Opts, pkgs ...string) error {
return nil
}
func (p *Pacman) InstallLocal(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := p.getCmd(opts, "pacman", "-U")
func (p *Pacman) InstallLocal(pkgs ...string) error {
cmd := exec.Command(getRootCmd(p.rootCmd), "pacman", "--noconfirm", "-U")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -82,9 +79,8 @@ func (p *Pacman) InstallLocal(opts *Opts, pkgs ...string) error {
return nil
}
func (p *Pacman) Remove(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := p.getCmd(opts, "pacman", "-R")
func (p *Pacman) Remove(pkgs ...string) error {
cmd := exec.Command(getRootCmd(p.rootCmd), "pacman", "--noconfirm", "-R")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -94,14 +90,12 @@ func (p *Pacman) Remove(opts *Opts, pkgs ...string) error {
return nil
}
func (p *Pacman) Upgrade(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
return p.Install(opts, pkgs...)
func (p *Pacman) Upgrade(pkgs ...string) error {
return p.Install(pkgs...)
}
func (p *Pacman) UpgradeAll(opts *Opts) error {
opts = ensureOpts(opts)
cmd := p.getCmd(opts, "pacman", "-Su")
func (p *Pacman) UpgradeAll() error {
cmd := exec.Command(getRootCmd(p.rootCmd), "pacman", "--noconfirm", "-Su")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -110,16 +104,9 @@ func (p *Pacman) UpgradeAll(opts *Opts) error {
return nil
}
func (p *Pacman) ListInstalled(opts *Opts) (map[string]string, error) {
opts = ensureOpts(opts)
func (p *Pacman) ListInstalled() (map[string]string, error) {
out := map[string]string{}
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(p.rootCmd), "pacman", "-Q")
} else {
cmd = exec.Command("pacman", "-Q")
}
cmd := exec.Command(getRootCmd(p.rootCmd), "pacman", "-Q")
stdout, err := cmd.StdoutPipe()
if err != nil {
@ -147,19 +134,3 @@ func (p *Pacman) ListInstalled(opts *Opts) (map[string]string, error) {
return out, nil
}
func (p *Pacman) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(p.rootCmd), mgrCmd)
cmd.Args = append(cmd.Args, args...)
} else {
cmd = exec.Command(mgrCmd, args...)
}
if opts.NoConfirm {
cmd.Args = append(cmd.Args, "--noconfirm")
}
return cmd
}

View File

@ -47,9 +47,8 @@ func (y *YUM) SetRootCmd(s string) {
y.rootCmd = s
}
func (y *YUM) Sync(opts *Opts) error {
opts = ensureOpts(opts)
cmd := y.getCmd(opts, "yum", "upgrade")
func (y *YUM) Sync() error {
cmd := exec.Command(getRootCmd(y.rootCmd), "yum", "upgrade", "--assumeno")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -58,9 +57,8 @@ func (y *YUM) Sync(opts *Opts) error {
return nil
}
func (y *YUM) Install(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := y.getCmd(opts, "yum", "install")
func (y *YUM) Install(pkgs ...string) error {
cmd := exec.Command(getRootCmd(y.rootCmd), "yum", "install", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -70,14 +68,12 @@ func (y *YUM) Install(opts *Opts, pkgs ...string) error {
return nil
}
func (y *YUM) InstallLocal(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
return y.Install(opts, pkgs...)
func (y *YUM) InstallLocal(pkgs ...string) error {
return y.Install(pkgs...)
}
func (y *YUM) Remove(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := y.getCmd(opts, "yum", "remove")
func (y *YUM) Remove(pkgs ...string) error {
cmd := exec.Command(getRootCmd(y.rootCmd), "yum", "remove", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -87,9 +83,8 @@ func (y *YUM) Remove(opts *Opts, pkgs ...string) error {
return nil
}
func (y *YUM) Upgrade(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := y.getCmd(opts, "yum", "upgrade")
func (y *YUM) Upgrade(pkgs ...string) error {
cmd := exec.Command(getRootCmd(y.rootCmd), "yum", "upgrade", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -99,9 +94,8 @@ func (y *YUM) Upgrade(opts *Opts, pkgs ...string) error {
return nil
}
func (y *YUM) UpgradeAll(opts *Opts) error {
opts = ensureOpts(opts)
cmd := y.getCmd(opts, "yum", "upgrade")
func (y *YUM) UpgradeAll() error {
cmd := exec.Command(getRootCmd(y.rootCmd), "yum", "upgrade", "-y")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -110,16 +104,9 @@ func (y *YUM) UpgradeAll(opts *Opts) error {
return nil
}
func (y *YUM) ListInstalled(opts *Opts) (map[string]string, error) {
opts = ensureOpts(opts)
func (y *YUM) ListInstalled() (map[string]string, error) {
out := map[string]string{}
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(y.rootCmd), "rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
} else {
cmd = exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
}
cmd := exec.Command(getRootCmd(y.rootCmd), "rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
stdout, err := cmd.StdoutPipe()
if err != nil {
@ -147,19 +134,3 @@ func (y *YUM) ListInstalled(opts *Opts) (map[string]string, error) {
return out, nil
}
func (y *YUM) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(y.rootCmd), mgrCmd)
cmd.Args = append(cmd.Args, args...)
} else {
cmd = exec.Command(mgrCmd, args...)
}
if opts.NoConfirm {
cmd.Args = append(cmd.Args, "-y")
}
return cmd
}

View File

@ -47,9 +47,8 @@ func (z *Zypper) SetRootCmd(s string) {
z.rootCmd = s
}
func (z *Zypper) Sync(opts *Opts) error {
opts = ensureOpts(opts)
cmd := z.getCmd(opts, "zypper", "refresh")
func (z *Zypper) Sync() error {
cmd := exec.Command(getRootCmd(z.rootCmd), "zypper", "refresh")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -58,9 +57,8 @@ func (z *Zypper) Sync(opts *Opts) error {
return nil
}
func (z *Zypper) Install(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := z.getCmd(opts, "zypper", "install", "-y")
func (z *Zypper) Install(pkgs ...string) error {
cmd := exec.Command(getRootCmd(z.rootCmd), "zypper", "install", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -70,14 +68,12 @@ func (z *Zypper) Install(opts *Opts, pkgs ...string) error {
return nil
}
func (z *Zypper) InstallLocal(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
return z.Install(opts, pkgs...)
func (z *Zypper) InstallLocal(pkgs ...string) error {
return z.Install(pkgs...)
}
func (z *Zypper) Remove(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := z.getCmd(opts, "zypper", "remove", "-y")
func (z *Zypper) Remove(pkgs ...string) error {
cmd := exec.Command(getRootCmd(z.rootCmd), "zypper", "remove", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -87,9 +83,8 @@ func (z *Zypper) Remove(opts *Opts, pkgs ...string) error {
return nil
}
func (z *Zypper) Upgrade(opts *Opts, pkgs ...string) error {
opts = ensureOpts(opts)
cmd := z.getCmd(opts, "zypper", "update", "-y")
func (z *Zypper) Upgrade(pkgs ...string) error {
cmd := exec.Command(getRootCmd(z.rootCmd), "zypper", "update", "-y")
cmd.Args = append(cmd.Args, pkgs...)
setCmdEnv(cmd)
err := cmd.Run()
@ -99,9 +94,8 @@ func (z *Zypper) Upgrade(opts *Opts, pkgs ...string) error {
return nil
}
func (z *Zypper) UpgradeAll(opts *Opts) error {
opts = ensureOpts(opts)
cmd := z.getCmd(opts, "zypper", "update", "-y")
func (z *Zypper) UpgradeAll() error {
cmd := exec.Command(getRootCmd(z.rootCmd), "zypper", "update", "-y")
setCmdEnv(cmd)
err := cmd.Run()
if err != nil {
@ -110,16 +104,9 @@ func (z *Zypper) UpgradeAll(opts *Opts) error {
return nil
}
func (z *Zypper) ListInstalled(opts *Opts) (map[string]string, error) {
opts = ensureOpts(opts)
func (z *Zypper) ListInstalled() (map[string]string, error) {
out := map[string]string{}
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(z.rootCmd), "rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
} else {
cmd = exec.Command("rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
}
cmd := exec.Command(getRootCmd(z.rootCmd), "rpm", "-qa", "--queryformat", "%{NAME}\u200b%|EPOCH?{%{EPOCH}:}:{}|%{VERSION}-%{RELEASE}\\n")
stdout, err := cmd.StdoutPipe()
if err != nil {
@ -147,19 +134,3 @@ func (z *Zypper) ListInstalled(opts *Opts) (map[string]string, error) {
return out, nil
}
func (z *Zypper) getCmd(opts *Opts, mgrCmd string, args ...string) *exec.Cmd {
var cmd *exec.Cmd
if opts.AsRoot {
cmd = exec.Command(getRootCmd(z.rootCmd), mgrCmd)
cmd.Args = append(cmd.Args, args...)
} else {
cmd = exec.Command(mgrCmd, args...)
}
if opts.NoConfirm {
cmd.Args = append(cmd.Args, "-y")
}
return cmd
}

View File

@ -53,7 +53,7 @@ func upgradeCmd(c *cli.Context) error {
}
func checkForUpdates(ctx context.Context, mgr manager.Manager, info *distro.OSRelease) ([]string, error) {
installed, err := mgr.ListInstalled(nil)
installed, err := mgr.ListInstalled()
if err != nil {
return nil, err
}