diff options
| author | Jeff Carr <[email protected]> | 2025-10-12 17:50:00 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-13 03:28:10 -0500 |
| commit | 4cefe0bf52f9d60d25858ebb51b870433004a4a6 (patch) | |
| tree | f859c5b64c25abe0e4413aeb44e120a7c9ae1901 /makePackagesFile.go | |
| parent | 29bb90b293a8bda889ff30bb56d05ce47af4a9bf (diff) | |
cleaning up stuff. finally making progress
Diffstat (limited to 'makePackagesFile.go')
| -rw-r--r-- | makePackagesFile.go | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/makePackagesFile.go b/makePackagesFile.go new file mode 100644 index 0000000..9f28e46 --- /dev/null +++ b/makePackagesFile.go @@ -0,0 +1,77 @@ +package main + +import ( + "strings" + + "go.wit.com/lib/cobol" + "go.wit.com/lib/protobuf/zoopb" + "go.wit.com/log" +) + +func getDebianControlFile(p *zoopb.Package, varname string) (string, string) { + switch varname { + case "Package": + return "Package", p.Package + case "Filename": + return "Filename", p.Filename + case "Version": + return "Version", p.Version + case "Architecture": + return "Architecture", p.Architecture + case "Maintainer": + return "Maintainer", p.DebInfo.Maintainer + // return "Maintainer", p.Author + case "Source": + return "Source", p.DebInfo.Source + case "Conflicts": + return "Conflicts", p.DebInfo.Conflicts + case "Packager": + return "Packager", p.DebInfo.Packager + // return "Packager", p.Packager + case "Depends": + return "Depends", p.DebInfo.Depends + case "BuildDepends": + return "Build-Depends", p.DebInfo.BuildDepends + case "InstalledSize": + return "Installed-Size", "222222222" + case "URL": + return "Homepage", p.DebInfo.URL + case "Size": + return "Size", "22222222" + case "BuildDate": + return "Build-Date", cobol.Time(p.BuildDate) + // case "SHA1": + // return "SHA1", p.DebInfo.SHA1 + case "MD5SUM": + return "MD5Sum", p.DebInfo.MD5SUM + case "SHA256": + return "SHA256", p.DebInfo.SHA256 + case "SHA512": + return "SHA512", "" // todo: implement or totally rediculously overkill ? + } + log.Info("DebInfo sent a field we didn't have. fix the code above", varname) + return "", "" +} + +// make a list of the newest .deb files +func doMakePackagesFile(all *zoopb.Packages) string { + var pfile string + for p := range all.IterAll() { + var controlfile string + parts, err := zoopb.GetDebInfoFields(p) + if err != nil { + log.Info(err) + } + for _, varname := range parts { + varname, varval := getDebianControlFile(p, varname) + varval = strings.TrimSpace(varval) + if varval == "" { + continue + } + controlfile += log.Sprintf("%s: %s\n", varname, varval) + } + controlfile += log.Sprintf("\n") + pfile += controlfile + } + return pfile +} |
