package main import ( "embed" "os" "go.wit.com/lib/gui/prep" "go.wit.com/lib/protobuf/zoopb" "go.wit.com/log" ) // sent via -ldflags var VERSION string var BUILDTIME string // used for shell auto completion var ARGNAME string = "mirrors" // todo: get this from $0 ? //go:embed resources/* var resources embed.FS func main() { me = new(mainType) me.sh = prep.Bash3(&argv) // add support for bash autocomplete with go-arg if argv.Update != nil { if err := doDistro(); err != nil { me.sh.BadExit("boo", err) } me.sh.GoodExit("") } os.Chdir("/home/mirrors/wit") // 2. Scan pool directory for .deb files and gather info log.Printf("Scanning for .deb files in %s\n", poolDir) debInfos, err := scanDebs(poolDir, 2) if err != nil { log.Printf("Failed to scan .deb files: %v\n", err) me.sh.BadExit("scan pool scan dir", err) } pb := zoopb.NewPackages() for _, deb := range debInfos { newdeb := new(zoopb.Package) newdeb.Filename = deb.Filename newdeb.MD5SUM = deb.MD5Sum newdeb.SHA1 = deb.SHA1Sum newdeb.SHA256 = deb.SHA256Sum log.Info("%v", deb) for varname, varvalue := range deb.ControlData { if varname == "Package" { newdeb.Package = varvalue } } pb.Append(newdeb) // arch := deb.ControlData["Architecture"] } log.Info("len", pb.Len()) me.sh.GoodExit("nothing to do") }