actions.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. aur "github.com/jguer/yay/aur"
  6. pac "github.com/jguer/yay/pacman"
  7. "github.com/jguer/yay/util"
  8. )
  9. // Install handles package installs
  10. func install(pkgs []string, flags []string) error {
  11. aurs, repos, _ := pac.PackageSlices(pkgs)
  12. err := pac.Install(repos, flags)
  13. if err != nil {
  14. fmt.Println("Error installing repo packages.")
  15. }
  16. err = aur.Install(aurs, flags)
  17. return err
  18. }
  19. // Upgrade handles updating the cache and installing updates.
  20. func upgrade(flags []string) error {
  21. errp := pac.UpdatePackages(flags)
  22. erra := aur.Upgrade(flags)
  23. if errp != nil {
  24. return errp
  25. }
  26. return erra
  27. }
  28. // CleanDependencies removels all dangling dependencies in system
  29. func cleanDependencies(pkgs []string) error {
  30. hanging, err := pac.HangingPackages()
  31. if err != nil {
  32. return err
  33. }
  34. if len(hanging) != 0 {
  35. if !util.ContinueTask("Confirm Removal?", "nN") {
  36. return nil
  37. }
  38. err = pac.CleanRemove(hanging)
  39. }
  40. return err
  41. }
  42. // GetPkgbuild gets the pkgbuild of the package 'pkg' trying the ABS first and then the AUR trying the ABS first and then the AUR.
  43. func getPkgbuild(pkg string) (err error) {
  44. wd, err := os.Getwd()
  45. if err != nil {
  46. return
  47. }
  48. wd = wd + "/"
  49. err = pac.GetPkgbuild(pkg, wd)
  50. if err == nil {
  51. return
  52. }
  53. err = aur.GetPkgbuild(pkg, wd)
  54. return
  55. }