I just realized that we have an open bug that we can use to track this, so let me post a status with some context.
On Sun, Jun 23, 2024 at 1:38 PM Reinhard Tartler <siret...@gmail.com> wrote: > > On Sat, Jun 22, 2024 at 7:01 PM Reinhard Tartler <siret...@gmail.com> > wrote: > >> >> 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.... > > Status update: *golang-google-cloud:* I've uploaded a new version of the package to experimental that disables a few packages and thus closes #1074133. I think this should unblock this transition. I'd like to note that the package is badly outdated, but updating it is quite tricky, see #991942 for details. *golang-github-grpc-ecosystem-grpc-gateway*, -- updating this package away from the protobuf APIv1 is not going to work. It seems that moving the codebase to APIv2 (which is implemented by golang-github-golang-protobuf-1-5-dev and golang-google-protobuf-dev), is what upstream implemented in their [grpc-gateway@v2.0.0] release. Thankfully, we have that already packaged in debian as golang-github-grpc-ecosystem-grpc-gateway.v2-dev, currently in experimental only, because it depends on the newer grpc. So in order to make progress, I propose that we retire the golang-github-grpc-ecosystem-grpc-gateway-dev package in favor of golang-github-grpc-ecosystem-grpc-gateway.v2-dev. For this, the following packages need to be updated: siretart@x1:~ $ build-rdeps --distribution testing --old golang-github-grpc-ecosystem-grpc-gateway-dev Reverse Build-depends in testing/main: -------------------------------------- golang-github-kurin-blazer golang-github-census-instrumentation-opencensus-proto prometheus etcd golang-github-backblaze-blazer Found a total of 5 reverse build-depend(s) for golang-github-grpc-ecosystem-grpc-gateway-dev. I'll file bugs against those five packages and will try to get them updated to build against grpc-gateway.v2 that we have in experimental. [grpc-gateway@v2.0.0] https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.0.0 -- regards, Reinhard