feat(cli): implement search argument

This commit is contained in:
Patryk Hegenberg 2025-01-17 10:50:48 +01:00
parent 4c1e85018f
commit 8a14b72c5b
3 changed files with 97 additions and 2 deletions

View file

@ -54,6 +54,7 @@ type OS struct {
Version string
PackageManager string
InstallCommand string
SearchCommand string // TODO: has to be implemented
}
func parseOsRelease(osRelease string) *OS {
@ -88,6 +89,10 @@ func parseOsRelease(osRelease string) *OS {
if err != nil {
log.Fatal(err)
}
err = result.getSearchCommand()
if err != nil {
log.Fatal(err)
}
return &result
}
@ -145,6 +150,22 @@ func (os *OS) getInstallCommand() error {
}
}
func (os *OS) getSearchCommand() error {
switch os.PackageManager {
case "apt":
os.SearchCommand = "apt search"
return nil
case "pacman":
os.SearchCommand = "pacman -Ss"
return nil
case "dnf":
os.SearchCommand = "dnf search"
return nil
default:
return fmt.Errorf("no install command found for package manager: %s", os.ID)
}
}
func installBuildEssentials(os *OS, sudoPassword string) error {
var command string
switch os.PackageManager {