PackageManager just because
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
1.7 KiB

  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "PackageManager/Client/Database"
  6. "PackageManager/Client/Filesystem"
  7. "PackageManager/Client/Package"
  8. "PackageManager/Color"
  9. "PackageManager/Helper"
  10. )
  11. func main() {
  12. var (
  13. updateFilesytemFlag bool
  14. updateFilesytemFlagLong bool
  15. createPackageFlag bool
  16. createPackageFlagLong bool
  17. installLocalPackageFlag bool
  18. installLocalPackageFlagLong bool
  19. e error
  20. )
  21. e = Helper.CheckRoot()
  22. if e != nil {
  23. fmt.Println(Color.Fatal(e))
  24. return
  25. }
  26. e = Database.InitDB()
  27. if e != nil {
  28. panic(e)
  29. }
  30. // Initialise flags
  31. flag.BoolVar(&updateFilesytemFlag, "Uf", false, "Update filesystem database")
  32. flag.BoolVar(&updateFilesytemFlagLong, "-update-filesystem", false, "Update filesystem database")
  33. flag.BoolVar(&createPackageFlag, "Cp", false, "Create package")
  34. flag.BoolVar(&createPackageFlagLong, "-create-package", false, "Create Package")
  35. flag.BoolVar(&installLocalPackageFlag, "Il", false, "Install local package")
  36. flag.BoolVar(&installLocalPackageFlagLong, "-install-local-package", false, "Install local Package")
  37. flag.Parse()
  38. if updateFilesytemFlag || updateFilesytemFlagLong {
  39. e = Filesystem.UpdateFilesystemHash()
  40. if e != nil {
  41. panic(e)
  42. }
  43. return
  44. }
  45. if createPackageFlag || createPackageFlagLong {
  46. e = Package.CreatePackage()
  47. if e != nil {
  48. panic(e)
  49. }
  50. return
  51. }
  52. if installLocalPackageFlag || installLocalPackageFlagLong {
  53. e = Package.InstallPackage(flag.Args())
  54. if e != nil {
  55. panic(e)
  56. }
  57. return
  58. }
  59. flag.Usage()
  60. fmt.Println(Color.Fatal("Nothing to do"))
  61. //e := Archive.TarGzip("/tmp/test", "/tmp/test.tar.gz")
  62. //e := Archive.UntarGzip("/tmp/test.tar.gz", "/tmp/test")
  63. //fmt.Println(e)
  64. }