i.go 879 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package install
  2. import "fmt"
  3. // Install sends system commands to make and install a package from pkgName
  4. func Install(pkgName []string, flags []string) (err error) {
  5. q, err := rpc.Info(pkgName)
  6. if err != nil {
  7. return
  8. }
  9. if len(q) != len(pkgName) {
  10. fmt.Printf("Some package from list\n%+v\ndoes not exist", pkgName)
  11. }
  12. var finalrm []string
  13. for _, i := range q {
  14. mrm, err := PkgInstall(&i, flags)
  15. if err != nil {
  16. fmt.Println("Error installing", i.Name, ":", err)
  17. }
  18. finalrm = append(finalrm, mrm...)
  19. }
  20. if len(finalrm) != 0 {
  21. err = RemoveMakeDeps(finalrm)
  22. }
  23. return err
  24. }
  25. // PkgInstall handles install from Info Result.
  26. func PkgInstall(a []*rpc.Pkg, flags []string) (finalmdeps []string, err error) {
  27. for _, pkg := range a {
  28. if pkg.Maintainer == "" {
  29. fmt.Println("\x1b[1;31;40m==> Warning:\x1b[0;;40m This package is orphaned.\x1b[0m")
  30. }
  31. }
  32. }