On Sat, Jun 22, 2024 at 7:01 PM Reinhard Tartler <siret...@gmail.com> wrote:

>
>
> On Thu, Jun 13, 2024 at 4:57 PM Shengjing Zhu <z...@debian.org> wrote:
>
>> BTW despite the thread title is about grpc transition, we end up in
>> the trap of protobuf transition.
>> Since grpc-go has (finally!) switched golang-google-protobuf-dev in
>> recent version, I think we could decouple these two transition. I may
>> look at grpc-go this weekend.
>>
>
> I took the liberty of packaging and uploading golang-google-grpc_1.64.0
> to experimental. Please have a look and let's see what's
> left to do before we can upload this to unstable.
>

Okay, I've now looked at the packages that directly depend on
google-genproto/grpc 1.64 in testing, and rebuilt them using the packages
in experimental. All used build scripts and intermediary results can be
inspected at https://people.debian.org/~siretart/grpc.
Briefly, I think the situation is manageable. There are a few packages
that I think we should remove from testing, see below. The main source
of concern is clearly src:google-cloud-api and containerd.

I'd appreciate help, comments and other thoughts on how to proceed.

What follows is a summary with details.

I don't think https://tracker.debian.org/pkg/golang-gogottrpc is a concern
any more, I've updated that package to an upstream version that no longer
uses gogoproto.

The following packages rebuild just fine:

*golang-github-sigstore-sigstore*, OK
*prometheus*, OK
*golang-github-openshift-imagebuilder*, OK
*gh*, OK
*golang-gocloud*, OK
*golang-google-api*, OK
*golang-github-mendersoftware-mender-artifact*, OK
*golang-github-googlecloudplatform-guest-logging-go*, OK

*golang-github-kurin-blazer*, depends on golang-goprotobuf-dev, Updated in
experimental,
now builds fine

*golang-github-lightstep-lightstep-tracer-common*, depends on
golang-goprotobuf-dev,
updated in experimental, but depends on gogoproto.
However, as Upstream appears dead, cf.
https://github.com/lightstep/lightstep-tracer-common/issues/52
I've filed #1074143 and think we should remove this from testing and/or
unstable.

*golang-github-gogo-status*, requires the use of gogoprotobuf, won't
possibly work as such with newer grpc
Since there don't appear to be any reverse dependencies, I think we should
remove it from testing.

*golang-github-grpc-ecosystem-grpc-gateway*, -- needed some dependency
updates to compile
with newer protobuf.  However when compiling against protobuf@1.5, the
package builds fine,
but its unit tests end up in a segfault, cf. #1074144.
This issue is likely fixed in a newer upstream version.

*golang-google-cloud*, depends on golang-github-golang-protobuf-1-3-dev,
which is easy to update.
However,even with those updates, it turns out that changes in genproto
broke compilation of #1074133
This probably requires a major upstream upgrade and more work.
Also, *containerd* 1.6.24 appears to break to build with the newer grpc,
probably because of protobuf
changes. I haven't looked into whether this is easy to patch and fix yet.
However, I'm also working on packaging containerd 1.7 that completely
avoids any gogoproto dependency, so that should avoid that problem as well.
Still stuck on
a few dependencies in NEW....

-- 
regards,
    Reinhard

Reply via email to