executor.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package db
  2. import (
  3. "time"
  4. alpm "github.com/Jguer/go-alpm"
  5. "github.com/Jguer/yay/v10/pkg/upgrade"
  6. )
  7. type RepoPackage interface {
  8. Base() string
  9. BuildDate() time.Time
  10. DB() *alpm.DB
  11. Description() string
  12. ISize() int64
  13. Name() string
  14. ShouldIgnore() bool
  15. Size() int64
  16. Version() string
  17. Reason() alpm.PkgReason
  18. }
  19. type Executor interface {
  20. AlpmArch() (string, error)
  21. BiggestPackages() []RepoPackage
  22. Cleanup()
  23. IsCorrectVersionInstalled(string, string) bool
  24. LastBuildTime() time.Time
  25. LocalPackage(string) RepoPackage
  26. LocalPackages() []RepoPackage
  27. LocalSatisfierExists(string) bool
  28. PackageConflicts(RepoPackage) []alpm.Depend
  29. PackageDepends(RepoPackage) []alpm.Depend
  30. SatisfierFromDB(string, string) RepoPackage
  31. PackageGroups(RepoPackage) []string
  32. PackageOptionalDepends(RepoPackage) []alpm.Depend
  33. PackageProvides(RepoPackage) []alpm.Depend
  34. PackagesFromGroup(string) []RepoPackage
  35. RefreshHandle() error
  36. RepoUpgrades(bool) (upgrade.UpSlice, error)
  37. SyncPackages(...string) []RepoPackage
  38. SyncSatisfier(string) RepoPackage
  39. SyncSatisfierExists(string) bool
  40. }