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

Reply via email to