executor.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. Repos() []string
  41. }