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