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

Reply via email to