summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-08 10:47:54 -0500
committerJeff Carr <[email protected]>2025-10-08 10:47:54 -0500
commit856825033081b57cb6beb1944c83ce675a792f93 (patch)
treeb0ae3c35966b5803276b2c5056b9e15e6cf10325
parent9bae8cd3a70f1049385e3c25696a6f578db5bb97 (diff)
try to fill Package.pbv0.0.4
-rw-r--r--.gitignore5
-rw-r--r--go.mod25
-rw-r--r--go.sum36
-rw-r--r--populatePackagePB.go10
-rw-r--r--wit.go17
5 files changed, 28 insertions, 65 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3429a71
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+go.*
+*.swp
+*.patch
+*.mbox
+*.pb.go
diff --git a/go.mod b/go.mod
deleted file mode 100644
index 59a8ef7..0000000
--- a/go.mod
+++ /dev/null
@@ -1,25 +0,0 @@
-module go.wit.com/lib/debian
-
-go 1.24.1
-
-require (
- github.com/go-cmd/cmd v1.4.3
- go.wit.com/lib/config v0.0.12
- go.wit.com/lib/fhelp v0.0.31
- go.wit.com/lib/protobuf/zoopb v0.0.77
- go.wit.com/log v0.25.1
- golang.org/x/sys v0.36.0
-)
-
-require (
- github.com/google/uuid v1.6.0 // indirect
- go.wit.com/gui v0.25.5 // indirect
- go.wit.com/lib/cobol v0.0.14 // indirect
- go.wit.com/lib/gui/shell v0.22.34 // indirect
- go.wit.com/lib/protobuf/guipb v0.0.18 // indirect
- go.wit.com/lib/protobuf/httppb v0.0.11 // indirect
- go.wit.com/widget v1.1.30 // indirect
- golang.org/x/term v0.35.0 // indirect
- golang.org/x/text v0.29.0 // indirect
- google.golang.org/protobuf v1.36.10 // indirect
-)
diff --git a/go.sum b/go.sum
deleted file mode 100644
index 43cacbb..0000000
--- a/go.sum
+++ /dev/null
@@ -1,36 +0,0 @@
-github.com/go-cmd/cmd v1.4.3 h1:6y3G+3UqPerXvPcXvj+5QNPHT02BUw7p6PsqRxLNA7Y=
-github.com/go-cmd/cmd v1.4.3/go.mod h1:u3hxg/ry+D5kwh8WvUkHLAMe2zQCaXd00t35WfQaOFk=
-github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
-github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
-github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
-github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
-github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
-github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-go.wit.com/gui v0.25.5 h1:aFxRWXOr6gKJP0ubIOqrjvnsRYvvMEnHk29vad8jYqQ=
-go.wit.com/gui v0.25.5/go.mod h1:fpjTlkB6wVak26bDg/HUFp1lcqQbrwbJQ/LDc8iEDYU=
-go.wit.com/lib/cobol v0.0.14 h1:JfpME5DtTjIC/kU9a68tInCYb7Hv2k5SSmx09GfBcys=
-go.wit.com/lib/cobol v0.0.14/go.mod h1:BCpLE7IBG8BjwUUwF/Vxd92xDO3uYhtmdt8LtDRy0oM=
-go.wit.com/lib/config v0.0.12 h1:WW59b+33WFixH0R2xYrsJ7QvMjAhkPtOJsP6uqphBlU=
-go.wit.com/lib/config v0.0.12/go.mod h1:vJNVUhopWbreQdYIEBkoYB5TVwwrJKOcdXdCwEaM0XY=
-go.wit.com/lib/fhelp v0.0.31 h1:JYMkVWM6j4lTcN5pp4JUfd+e026YuPZkg8GncrMSHFA=
-go.wit.com/lib/fhelp v0.0.31/go.mod h1:mMGTl1/JAOzDXWrsgVISO/eSGpjNd4Oq4+40RZn3UjU=
-go.wit.com/lib/gui/shell v0.22.34 h1:pjtSdJFovA13bot4/xg5b4XjVmPd+r+q1n7ElOFAnLU=
-go.wit.com/lib/gui/shell v0.22.34/go.mod h1:aRDwKXKXkZaO4y/0KPe1lhKQCXpyi8hXgUEOrHhzpAI=
-go.wit.com/lib/protobuf/guipb v0.0.18 h1:t6eHo581/lZW2drRinfIPd3ik2RYJPvIR7qnC5Pre1c=
-go.wit.com/lib/protobuf/guipb v0.0.18/go.mod h1:sJot6ptBr+W1wVCZ9L4VYkgJMLl5E7aEaMPfSBUBB80=
-go.wit.com/lib/protobuf/httppb v0.0.11 h1:RQ7D3GAhnPDNNl9Er0s6gUZ9VhHkxBl0cRS69WivSvw=
-go.wit.com/lib/protobuf/httppb v0.0.11/go.mod h1:lQxDKrqQzaZTEQMte4Iv/DU9lrz4FvIhyKyO0Cv7JIQ=
-go.wit.com/lib/protobuf/zoopb v0.0.77 h1:nr3K3VEyHzP7iauGGg3XnGDwvuGwgzxzPcDf2ukIIbE=
-go.wit.com/lib/protobuf/zoopb v0.0.77/go.mod h1:8Lf2hU3jKyUYqIT8nUBhbYe4+IVBZ/8rfdW1kfohu24=
-go.wit.com/log v0.25.1 h1:74WVf9NSN6z5jc2oSbA1ehxdZ7V/NBXTk5t0jIoaTMg=
-go.wit.com/log v0.25.1/go.mod h1:XE4lTfAibWgwBJksIk7u3IEJ8xcBvNhnlewYAQGj2Ew=
-go.wit.com/widget v1.1.30 h1:O/dIG7QtDrZkR5P6f8JAMyevBiMXSun9vL6F0KFAWV8=
-go.wit.com/widget v1.1.30/go.mod h1:wj7TpAr2gk7Poa+v8XQkH1aidnTdgAa/a8GxrMtcztw=
-golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
-golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
-golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ=
-golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA=
-golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
-golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
-google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
-google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
diff --git a/populatePackagePB.go b/populatePackagePB.go
index 10fb4f2..6bd3c48 100644
--- a/populatePackagePB.go
+++ b/populatePackagePB.go
@@ -3,9 +3,11 @@ package debian
import (
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/reflect/protoreflect"
+
+ "go.wit.com/lib/config"
)
-func setString(pb proto.Message, varname string, val string) bool {
+func setString(pb proto.Message, varname string, val string) (bool, error) {
msg := pb.ProtoReflect() // This is the entry point to the reflection API.
descriptor := msg.Descriptor() // Get the message's descriptor, which contains metadata about its fields.
@@ -14,12 +16,12 @@ func setString(pb proto.Message, varname string, val string) bool {
fieldDescriptor := descriptor.Fields().ByName(fieldName)
if fieldDescriptor == nil {
- return false
+ return false, config.ErrProtoNoVarName
}
if fieldDescriptor.Kind() != protoreflect.StringKind {
// The field exists but is not a string, so we can't return it as one.
- return false
+ return false, config.ErrProtoVarNotString
}
valueToSet := protoreflect.ValueOfString(varname)
@@ -29,5 +31,5 @@ func setString(pb proto.Message, varname string, val string) bool {
msg.Set(fieldDescriptor, valueToSet)
// 7. Convert the protoreflect.Value to a native Go string.
- return true
+ return true, nil
}
diff --git a/wit.go b/wit.go
index 0dfbb11..4ce73db 100644
--- a/wit.go
+++ b/wit.go
@@ -7,6 +7,7 @@ import (
"go.wit.com/lib/fhelp"
"go.wit.com/lib/protobuf/zoopb"
+ "go.wit.com/log"
)
// obviously a hack at this point
@@ -40,6 +41,21 @@ 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)
+ varname = strings.TrimSpace(varname)
+ varname := strings.TrimSuffix(varname, ":")
+ if ok, err := setString(p, varname, s); ok {
+ continue
+ } else {
+ log.Printf("var=%s val=%s err=%v\n", varname, s, err)
+ }
+ }
+ log.Info("")
+ return nil
+}
+
// breaks up the apt list file into sections
// then sends each section to be processed
// and added to zoopb.Machine.Wit
@@ -56,6 +72,7 @@ func scanPackageListFile(m *zoopb.Machine, filename string) error {
if line == "" {
p, namemap := parsePackageInfo(debInfo)
_ = namemap
+ fillPB(p, namemap)
AddIfNewer(m.Wit, p)
debInfo = ""
}