sync_upgrade.go 899 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package dep
  2. import (
  3. "context"
  4. "github.com/leonelquinteros/gotext"
  5. "github.com/Jguer/yay/v12/pkg/db"
  6. "github.com/Jguer/yay/v12/pkg/dep/topo"
  7. )
  8. func (h *AllSyncHandler) GraphUpgrades(ctx context.Context, graph *topo.Graph[string, *InstallInfo],
  9. enableDowngrade bool, filter Filter,
  10. ) error {
  11. h.log.OperationInfoln(gotext.Get("Searching databases for updates..."))
  12. syncUpgrades, err := h.db.SyncUpgrades(enableDowngrade)
  13. if err != nil {
  14. return err
  15. }
  16. for _, up := range syncUpgrades {
  17. if filter != nil && !filter(&db.Upgrade{
  18. Name: up.Package.Name(),
  19. RemoteVersion: up.Package.Version(),
  20. Repository: up.Package.DB().Name(),
  21. Base: up.Package.Base(),
  22. LocalVersion: up.LocalVersion,
  23. Reason: up.Reason,
  24. }) {
  25. continue
  26. }
  27. upgradeInfo := up
  28. graph = graphSyncPkg(ctx, h.db, graph, h.log, up.Package, &upgradeInfo)
  29. }
  30. return nil
  31. }