actions.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. aur "github.com/jguer/yay/aur"
  6. "github.com/jguer/yay/config"
  7. pac "github.com/jguer/yay/pacman"
  8. "github.com/jguer/yay/upgrade"
  9. )
  10. // Install handles package installs
  11. func install(pkgs []string, flags []string) error {
  12. aurs, repos, _ := pac.PackageSlices(pkgs)
  13. if len(repos) != 0 {
  14. err := config.PassToPacman("-S", repos, flags)
  15. if err != nil {
  16. fmt.Println("Error installing repo packages.")
  17. }
  18. }
  19. if len(aurs) != 0 {
  20. err := aur.Install(aurs, flags)
  21. if err != nil {
  22. fmt.Println("Error installing aur packages.")
  23. }
  24. }
  25. return nil
  26. }
  27. // Upgrade handles updating the cache and installing updates.
  28. func upgradePkgs(flags []string) error {
  29. aurUp, repoUp, err := upgrade.List()
  30. if err != nil {
  31. return err
  32. }
  33. fmt.Printf("%+v\n", aurUp)
  34. fmt.Printf("%+v\n", repoUp)
  35. upgrade.Print(len(aurUp), repoUp)
  36. upgrade.Print(0, aurUp)
  37. // erra := aur.Upgrade(flags)
  38. // if errp != nil {
  39. // return errp
  40. // }
  41. // var buffer bytes.Buffer
  42. // buffer.WriteString("\n")
  43. // fmt.Println("\x1b[1;36;1m::\x1b[0m\x1b[1m Starting AUR upgrade...\x1b[0m")
  44. // return erra
  45. return nil
  46. }
  47. // CleanDependencies removels all dangling dependencies in system
  48. func cleanDependencies(pkgs []string) error {
  49. hanging, err := pac.HangingPackages()
  50. if err != nil {
  51. return err
  52. }
  53. if len(hanging) != 0 {
  54. if !config.ContinueTask("Confirm Removal?", "nN") {
  55. return nil
  56. }
  57. err = pac.CleanRemove(hanging)
  58. }
  59. return err
  60. }
  61. // GetPkgbuild gets the pkgbuild of the package 'pkg' trying the ABS first and then the AUR trying the ABS first and then the AUR.
  62. func getPkgbuild(pkg string) (err error) {
  63. wd, err := os.Getwd()
  64. if err != nil {
  65. return
  66. }
  67. wd = wd + "/"
  68. err = pac.GetPkgbuild(pkg, wd)
  69. if err == nil {
  70. return
  71. }
  72. err = aur.GetPkgbuild(pkg, wd)
  73. return
  74. }