[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: golang-goprotobuf 1.4+ (Was Re: disruptive uploads)



On Sun, Aug 29, 2021 at 2:23 AM Shengjing Zhu <zhsj@debian.org> wrote:
>
> golang-goprotobuf is special so let's start a new thread.
>
> On Sun, Aug 29, 2021 at 2:00 AM Thorsten Alteholz <debian@alteholz.de> wrote:
> > I have a similar problem with golang-goprotobuf, where I would like to see version 1.4.3 from experimental uploaded to unstable.  In my case there are 240 reverse dependencies and ratt needed almost two days to rebuild everything.
> >
>
> Currently we have
> + golang-goprotobuf 1.3.x in unstable
>   the upstream is https://github.com/golang/protobuf, go mod name is
> github.com/golang/protobuf
> + golang-google-protobuf in unstable
>   the upstream is https://github.com/protocolbuffers/protobuf-go, go
> mod name is google.golang.org/protobuf
>
> Background:
>
> The Go upstream has decided to do breaking change for Go protobuf,
> which they call it v2.
> The v2 is implemented in google.golang.org/protobuf package.
> However in the transition period, the github.com/golang/protobuf
> package is also including the v2, from v1.4+.
>
> For go protobuf v2, there is one known breakage, which is the
> golang-gogoprotobuf package,
> However this package:
> 1. is dead, and looking for new maintainer
> https://github.com/gogo/protobuf/issues/691
> 2. too many packages are still using it
> 3. golang-gogoprotobuf only has relationship with golang-goprotobuf,
> not golang-google-protobuf.
>
> The Go upstream seems having finished the transition period, now the
> github.com/golang/protobuf is deprecated.
> The official doc has recommended users to install protoc-gen-go from
> google.golang.org/protobuf.
>
> Why some packages need golang-goprotobuf v1.4+
> Becauses they migrated to protobuf v2 in the upstream transitional
> period. Which makes them depend both new golang-google-protobuf and
> golang-goprotobuf v1.4+
>
> Now the question for Debian to move forward.
> 1. Should we bump golang-goprotobuf to v1.4+, this will break packages
> that still uses golang-gogoprotobuf, and unlikely will be fixed.
> 2. Should we stick golang-goprotobuf at v1.3, and only go with
> golang-google-protobuf package?
>   This means we need to help upstream to finish the transition to
> protobuf v2 with golang-google-protobuf only.

I forget to mention one thing, if the package is following debian
policy strictly, which regenerates pb.go files at building time, after
regenerating pb.go files with new bin:protoc-gen-go package, it will
only import google.golang.org/protobuf.

The migration may not be easy if it has grpc, which looks more
difficult to deal when I look last night.

-- 
Shengjing Zhu


Reply to: