On Thu, Jan 7, 2021 at 2:51 PM Anthony Fok <f...@debian.org> wrote: > > Hi Shengjing, > > On Tue, Jan 5, 2021 at 8:42 AM Shengjing Zhu <z...@debian.org> wrote: > > > > Hi Anthony, > > Thanks for writing to me! Sorry for the late reply. > I was going to re-open this with the pseudo header "Control: reopen > -1" to keep this new version out of testing (buster), but then I > decided to study the issue further, I think we are safe to move > forward, allowing golang-google-protobuf to enter testing, while > keeping the old golang-goprotobuf 1.3.x if necessary. > > > The reason that I haven't uploaded new version of this package, is > > that using golang-google-protobuf usually means using > > golang-goprotobuf 1.4+ as well. > > Looks like that is not the case any more. > While golang-google-protobuf and protoc-gen-go v1.25.0 would still > pull in the old golang-goprotobuf 1.4+ package in the generated file, > apparently for backward compatibility during the 6-month transition > period that Joe Tsai @dsnet set: > > import ( > proto "github.com/golang/protobuf/proto" > ... > ) > > Well, I think we have good news! > > 1.25.0+git20201208.160c747 doesn't do that any more. > The import proto "github.com/golang/protobuf/proto" line is gone; > the "const _ = proto.ProtoPackageIsVersion4" is also gone. > > The latest golang-google-protobuf makes a clean break from the past. > It is now self-contained, and no longer pulls in the legacy golang-goprotobuf. > It is just like what you predicted: once GitHub issue #1077 is fixed, > we can move forward. > > Thank you for your packaging of golang-google-protobuf which also > allows the clean separation with the old golang-goprotobuf ecosystem. >
The problem is currently all upstream still use golang-goprotobuf to generate pb.go, not the plugin from https://github.com/protocolbuffers/protobuf-go/tree/master/cmd/protoc-gen-go If we choose to use this plugin ahead of upstream, and leave golang-goprotobuf not updated(and not used in B-D), then things will be fine. But upstream says there are still missing features like grpc support, which are moved to grpc package itself. I haven't looked at this part. However it will become a difficult transition, which involves golang-google-grpc-dev, golang-google-genproto-dev, etc... > > However golang-goprotobuf 1.4+ breaks important packages like > > golang-gogottrpc and golang-gogoprotobuf. > > See that bugs on > > https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=golang-goprotobuf > > Since golang-google-protobuf 1.25.0+git20201208.160c747 does not > require golang-goprotobuf 1.4+ any more, we can keep golang-goprotobuf > at 1.3.4-2 for buster to be safe. > > I did try running ratt with a local test build of golang-goprotobuf > 1.4.2, and was surprised that golang-gogottrpc built fine with it: > > 2021/01/05 18:14:30 PASSED: golang-gogottrpc > > while golang-gogoprotobuf is not touched at all. Am I missing something? If I read this comment correctly https://github.com/containerd/ttrpc/issues/62#issuecomment-686768932 When golang-goprotobuf is updated to 1.4.x, then golang-google-genproto-dev is rebuilt with golang-goprotobuf/1.14, golang-gogoprotobuf will panic, and then golang-gogottrpc panics too. -- Shengjing Zhu