diff options
| author | Jeff Carr <[email protected]> | 2025-10-08 10:47:54 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-08 10:47:54 -0500 |
| commit | 856825033081b57cb6beb1944c83ce675a792f93 (patch) | |
| tree | b0ae3c35966b5803276b2c5056b9e15e6cf10325 | |
| parent | 9bae8cd3a70f1049385e3c25696a6f578db5bb97 (diff) | |
try to fill Package.pbv0.0.4
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | go.mod | 25 | ||||
| -rw-r--r-- | go.sum | 36 | ||||
| -rw-r--r-- | populatePackagePB.go | 10 | ||||
| -rw-r--r-- | wit.go | 17 |
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 @@ -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 -) @@ -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 } @@ -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 = "" } |
