srcinfo.go 863 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package main
  2. import (
  3. "context"
  4. "github.com/Jguer/yay/v11/pkg/db"
  5. "github.com/Jguer/yay/v11/pkg/pgp"
  6. "github.com/Jguer/yay/v11/pkg/settings"
  7. "github.com/Jguer/yay/v11/pkg/settings/exe"
  8. gosrc "github.com/Morganamilo/go-srcinfo"
  9. )
  10. type srcinfoOperator struct {
  11. dbExecutor db.Executor
  12. cfg *settings.Configuration
  13. cmdBuilder exe.ICmdBuilder
  14. }
  15. func (s *srcinfoOperator) Run(ctx context.Context, pkgbuildDirs map[string]string) (map[string]*gosrc.Srcinfo, error) {
  16. srcinfos, err := parseSrcinfoFiles(pkgbuildDirs, true)
  17. if err != nil {
  18. return nil, err
  19. }
  20. if err := confirmIncompatibleInstall(srcinfos, s.dbExecutor); err != nil {
  21. return nil, err
  22. }
  23. if s.cfg.PGPFetch {
  24. if _, errCPK := pgp.CheckPgpKeys(ctx, pkgbuildDirs, srcinfos, s.cmdBuilder, settings.NoConfirm); errCPK != nil {
  25. return nil, errCPK
  26. }
  27. }
  28. return srcinfos, nil
  29. }