On Fri, Jun 7, 2024 at 3:22 AM Shengjing Zhu <z...@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?


[1]
https://salsa.debian.org/go-team/packages/golang-google-grpc/-/merge_requests/2
[2]
https://github.com/golang/protobuf/releases/tag/v1.4.0#v1.4-generated-code

-- 
regards,
    Reinhard

Reply via email to