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

package main
import (
"flag"
"fmt"
"PackageManager/Client/Database"
"PackageManager/Client/Filesystem"
"PackageManager/Client/Package"
"PackageManager/Color"
"PackageManager/Helper"
)
func main() {
var (
updateFilesytemFlag bool
updateFilesytemFlagLong bool
createPackageFlag bool
createPackageFlagLong bool
installLocalPackageFlag bool
installLocalPackageFlagLong bool
e error
)
e = Helper.CheckRoot()
if e != nil {
fmt.Println(Color.Fatal(e))
return
}
e = Database.InitDB()
if e != nil {
panic(e)
}
// Initialise flags
flag.BoolVar(&updateFilesytemFlag, "Uf", false, "Update filesystem database")
flag.BoolVar(&updateFilesytemFlagLong, "-update-filesystem", false, "Update filesystem database")
flag.BoolVar(&createPackageFlag, "Cp", false, "Create package")
flag.BoolVar(&createPackageFlagLong, "-create-package", false, "Create Package")
flag.BoolVar(&installLocalPackageFlag, "Il", false, "Install local package")
flag.BoolVar(&installLocalPackageFlagLong, "-install-local-package", false, "Install local Package")
flag.Parse()
if updateFilesytemFlag || updateFilesytemFlagLong {
e = Filesystem.UpdateFilesystemHash()
if e != nil {
panic(e)
}
return
}
if createPackageFlag || createPackageFlagLong {
e = Package.CreatePackage()
if e != nil {
panic(e)
}
return
}
if installLocalPackageFlag || installLocalPackageFlagLong {
e = Package.InstallPackage(flag.Args())
if e != nil {
panic(e)
}
return
}
flag.Usage()
fmt.Println(Color.Fatal("Nothing to do"))
//e := Archive.TarGzip("/tmp/test", "/tmp/test.tar.gz")
//e := Archive.UntarGzip("/tmp/test.tar.gz", "/tmp/test")
//fmt.Println(e)
}