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

Re: grpc transition



On Mon, Jun 10, 2024 at 12:39 AM Reinhard Tartler <siretart@gmail.com> wrote:
>
>
>
> On Fri, Jun 7, 2024 at 3:22 AM Shengjing Zhu <zhsj@debian.org> wrote:
>>
>> These apiv1 packages are going to cause a mess as well. Because the
>> old and new versions are the same module, they will conflict with each
>> other, just like the golang-github-golang-protobuf-1-{3,5}-dev
>> packages. An application can only use one at a time.
>>
>> Moreover, if a package is compatible with
>> golang-github-golang-protobuf-1-3-dev as runtime, it should (in
>> theory) be compatible with golang-github-golang-protobuf-1-5-dev.
>> However if a package can use apiv1 pb.go files, it can't use apiv2
>> pb.go files, which looks worse then the runtime dependencies.
>
>
> Okay, so how about we try to clean-out the golang-github-golang-protobuf-1-3-dev packages from sid by updating existing packages to build against golang-github-golang-protobuf-1-5-dev instead?
>
> I've managed to get golang-google-grpc in sid to build against golang/protobuf@v1.5 [1]. Moreover, I've managed to get notary, gnostic and docker.io (all in sid) rebuilt on v1.5. I've verified that in all cases, we end up with a dependency on golang-google-protobuf-dev. This is expected, as golang/protobuf@v1.5 exposes the APIv1, but essentially produces forwarding code that uses the code from APIv2 in the golang-google-protobuf. Maybe we should update the package description of the to golang-github-golang-protobuf-1-5 package capture this point (better), right now I find it a bit misleading.
>
> I expect this to cause some packages to break, because protoc-gen-go-1-5 is implemented as a "thin wrapper" around protoc-gen-go from the golang-google-protobuf package. This change was introduced in golang/protbuf@v1.4.0 [2] and causes some subtle behavioral changes. For instance, in the GRPC package I noticed that the new code generator is sensitive to non-existing include paths. in v1.3, you got away with a warning, I had to update the patch to avoid a compilation failure. There may be additional subtleties. However, this fallout should be somewhat manageable -- I was able to get to docker.io fairly quickly.
>
> Any concerns or thoughts with my going ahead and updating dependencies to avoid golang-github-golang-protobuf-1-3-dev so that we can hopefully remove src:golang-github-golang-protobuf-1-3 from sid?
>

I think replacing golang-github-golang-protobuf-1-3-dev with
golang-github-golang-protobuf-1-5-dev should be fine, as long as the
generated pb.go files are still produced by protoc-gen-go-1-3.
Though removing src:golang-github-golang-protobuf-1-3 probably will not be easy.


--
Shengjing Zhu


Reply to: