diff options
| author | Jeff Carr <[email protected]> | 2025-10-09 11:07:15 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-09 13:15:49 -0500 |
| commit | f47fbeed4d6b19f3859a3e4d417c4dc2592a5b38 (patch) | |
| tree | d39ce05325b810b90e5d8e041a041fa36b2948c0 /doWalk.go | |
| parent | 31da3672f58df9a80e32a846bc9ff7bed3fdeffd (diff) | |
more on processing incoming/
Diffstat (limited to 'doWalk.go')
| -rw-r--r-- | doWalk.go | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/doWalk.go b/doWalk.go new file mode 100644 index 0000000..bc2d999 --- /dev/null +++ b/doWalk.go @@ -0,0 +1,75 @@ +package main + +import ( + "os" + + "go.wit.com/lib/config" + "go.wit.com/lib/debian" + "go.wit.com/lib/protobuf/zoopb" + "go.wit.com/log" +) + +func doWalk() (string, error) { + os.Chdir(me.mirrorsDir) + + // 2. Scan pool directory for .deb files and gather info + log.Printf("Scanning for .deb files in %s\n", poolDir) + debInfos, err := scanDebs(poolDir, 35) + if err != nil { + log.Printf("Failed to scan .deb files: %v\n", err) + me.sh.BadExit("scan pool scan dir", err) + } + + var counter int + 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("len(CONTROLDATA)", len(deb.ControlData)) + // log.Sprintf("VAR='%s' VAL='%s'\n", varname, varvalue) + // log.Info("%v", deb.ControlData) + for varname, varvalue := range deb.ControlData { + switch varname { + case "Package": + newdeb.Package = varvalue + case "Version": + newdeb.Version = varvalue + case "Git-Tag-Date": + log.Info("CONVERT THIS TO TIME", varvalue) + case "Depends": + newdeb.Depends = varvalue + case "Build-Depends": + newdeb.BuildDepends = varvalue + case "Architecture": + newdeb.Architecture = varvalue + case "Packager": + newdeb.Packager = varvalue + case "Package-Build-Date": + varvalue = "PackageBuildDate" + case "URL": + newdeb.URL = varvalue + default: + if ok, err := debian.SetString(newdeb, varname, varvalue); ok { + continue + } else if err != nil { + log.Printf("%v VAR='%s' VAL='%s'\n", err, varname, varvalue) + } + // todo: add to protomap + } + } + counter += 1 + me.pb.AppendByFilename(newdeb) + config.PrintStrings(newdeb) + // arch := deb.ControlData["Architecture"] + } + + // footer := me.pb.PrintTable() + // log.Info("found so far:", footer) + + config.Save(me.pb) + log.Printf("add %d new packages. Total packages.Len()=%d\n", counter, me.pb.Len()) + return "/home/mirrors/wit/ has been scanned for ne files", nil +} |
