summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-14 02:47:01 -0500
committerJeff Carr <[email protected]>2025-10-14 02:47:01 -0500
commitd614a16a551d8f918236c9ff2494046a6385c7b8 (patch)
treeb8f57e52f9cda4d4eb47bf841f6ac1e72b3faabb
parentffc907088d357a8e3250ac5f2edb531cd51d9f9d (diff)
add missing fields to parse()
-rw-r--r--parseDpkgOutputIntoPB.go28
-rw-r--r--wit.go10
2 files changed, 32 insertions, 6 deletions
diff --git a/parseDpkgOutputIntoPB.go b/parseDpkgOutputIntoPB.go
index 7c5ef69..cfb8573 100644
--- a/parseDpkgOutputIntoPB.go
+++ b/parseDpkgOutputIntoPB.go
@@ -14,6 +14,9 @@ import (
// PARSES "dpkg -I <p.Filename>"
// panic() on anything missing or unknown
func ParseDpkgOutputIntoPB(pb *zoopb.Package, all string) {
+ if pb.DebInfo == nil {
+ pb.DebInfo = new(zoopb.DebInfo)
+ }
starting := true
scanner := bufio.NewScanner(strings.NewReader(all))
for scanner.Scan() {
@@ -53,14 +56,21 @@ func ParseDpkgOutputIntoPB(pb *zoopb.Package, all string) {
}
if starting {
if config.Verbose() {
- log.Printf("parts: %v\n", parts)
+ log.Printf("probably real data: %v\n", parts)
+ }
+ if strings.HasSuffix(parts[0], ":") {
+ log.Printf("yep, real data: %s\n", parts[0])
+ starting = false
+ } else {
+ continue
}
- continue
}
}
varname := strings.TrimSuffix(parts[0], ":")
varval := strings.Join(parts[1:], " ")
- // log.Printf("varname:%s varval:%s\n", varname, varval)
+ if config.Verbose() {
+ log.Printf("varname:%s varval:%s\n", varname, varval)
+ }
switch varname {
case "Package":
pb.Package = varval
@@ -85,7 +95,14 @@ func ParseDpkgOutputIntoPB(pb *zoopb.Package, all string) {
pb.DebInfo.URL = varval
case "Build-Depends":
pb.DebInfo.BuildDepends = varval
- case "Installed-Size:":
+ case "Namespace":
+ pb.Namespace = varval
+ case "MD5Sum":
+ pb.DebInfo.MD5SUM = varval
+ case "SHA256":
+ pb.DebInfo.SHA256 = varval
+ case "Size":
+ pb.DebInfo.Size = varval
case "Installed-Size":
pb.DebInfo.InstalledSize = varval
case "Homepage":
@@ -101,6 +118,9 @@ func ParseDpkgOutputIntoPB(pb *zoopb.Package, all string) {
log.Info("FIXME: Package-Build-Date", varval, err)
}
}
+ case "Deb-File-Date":
+ t, _ := cobol.GetTime(varval)
+ pb.Ctime = timestamppb.New(t)
case "Build-Date":
case "Package-Build-Date":
t, err := cobol.GetTime(varval)
diff --git a/wit.go b/wit.go
index 808bb5f..68de872 100644
--- a/wit.go
+++ b/wit.go
@@ -32,6 +32,7 @@ func AddIfNewer(all *zoopb.Packages, p *zoopb.Package) {
}
*/
+/*
func fillPB(p *zoopb.Package, namemap map[string]string) error {
for varname, s := range namemap {
s = strings.TrimSpace(s)
@@ -62,6 +63,7 @@ func fillPB(p *zoopb.Package, namemap map[string]string) error {
// log.Info("")
return nil
}
+*/
// breaks up the apt list file into sections
// then sends each section to be processed
@@ -79,6 +81,7 @@ func scanPackageListFile(m *zoopb.Machine, filename string) error {
if line == "" {
p := new(zoopb.Package)
ParseDpkgOutputIntoPB(p, debInfo)
+ log.Info("Package done:", p)
/*
p, namemap := parsePackageInfo(debInfo)
_ = namemap
@@ -89,8 +92,11 @@ func scanPackageListFile(m *zoopb.Machine, filename string) error {
}
debInfo += line + "\n"
}
- p, _ := parsePackageInfo(debInfo)
- m.Wit.Append(p)
+ p := new(zoopb.Package)
+ ParseDpkgOutputIntoPB(p, debInfo)
+ log.Info("Package done:", p)
+ // p, _ := parsePackageInfo(debInfo)
+ m.Wit.Clone(p)
return nil
}