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. SatisfierFromDB(string, string) IPackage
  32. PackageGroups(IPackage) []string
  33. PackageOptionalDepends(IPackage) []Depend
  34. PackageProvides(IPackage) []Depend
  35. PackagesFromGroup(string) []IPackage
  36. RefreshHandle() error
  37. RepoUpgrades(bool) ([]Upgrade, error)
  38. SyncPackage(string) IPackage
  39. SyncPackages(...string) []IPackage
  40. SyncSatisfier(string) IPackage
  41. SyncSatisfierExists(string) bool
  42. Repos() []string
  43. }