executor.go 1.1 KB

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