executor.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package db
  2. import (
  3. "time"
  4. alpm "github.com/Jguer/go-alpm/v2"
  5. )
  6. type IPackage = alpm.IPackage
  7. type Depend = alpm.Depend
  8. func VerCmp(a, b string) int {
  9. return alpm.VerCmp(a, b)
  10. }
  11. type Upgrade struct {
  12. Name string
  13. Repository string
  14. LocalVersion string
  15. RemoteVersion string
  16. Reason alpm.PkgReason
  17. }
  18. type Executor interface {
  19. AlpmArch() (string, error)
  20. BiggestPackages() []IPackage
  21. Cleanup()
  22. IsCorrectVersionInstalled(string, string) bool
  23. LastBuildTime() time.Time
  24. LocalPackage(string) IPackage
  25. LocalPackages() []IPackage
  26. LocalSatisfierExists(string) bool
  27. PackageConflicts(IPackage) []Depend
  28. PackageDepends(IPackage) []Depend
  29. SatisfierFromDB(string, string) IPackage
  30. PackageGroups(IPackage) []string
  31. PackageOptionalDepends(IPackage) []Depend
  32. PackageProvides(IPackage) []Depend
  33. PackagesFromGroup(string) []IPackage
  34. RefreshHandle() error
  35. RepoUpgrades(bool) ([]Upgrade, error)
  36. SyncPackage(string) IPackage
  37. SyncPackages(...string) []IPackage
  38. SyncSatisfier(string) IPackage
  39. SyncSatisfierExists(string) bool
  40. }