On Mon, Jun 10, 2024 at 12:39 AM Reinhard Tartler <siret...@gmail.com> wrote: > > > > 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? >
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