33 lines
666 B
Go
33 lines
666 B
Go
package pkg
|
|
|
|
import "git.xdrm.io/go/nix-amer/internal/exec"
|
|
|
|
type pacman struct{ exec exec.Executor }
|
|
|
|
func (d *pacman) SetExecutor(_exec exec.Executor) {
|
|
d.exec = _exec
|
|
}
|
|
|
|
func (d pacman) Name() string { return "pacman" }
|
|
|
|
func (d pacman) Fetch() error {
|
|
return nil
|
|
}
|
|
|
|
func (d pacman) Upgrade() error {
|
|
err := d.exec.Command(d.Name(), "-Syu").Run()
|
|
d.exec.Command(d.Name(), "-Ru").Run()
|
|
return err
|
|
}
|
|
|
|
func (d pacman) Install(_pkg string) error {
|
|
err := d.exec.Command(d.Name(), "-S", _pkg).Run()
|
|
return err
|
|
}
|
|
|
|
func (d pacman) Remove(_pkg string) error {
|
|
err := d.exec.Command(d.Name(), "-R", _pkg).Run()
|
|
d.exec.Command(d.Name(), "-Ru").Run()
|
|
return err
|
|
}
|