On Tue, Feb 21, 2023 at 08:15:12PM +0100, László Böszörményi (GCS) wrote: > On Tue, Feb 21, 2023 at 1:27 PM Adrian Bunk <b...@debian.org> wrote: > > Looking at #1028371, should generated dependencies on python3-protobuf be > > python3-protobuf (>= 3.21), python3-protobuf (<< 3.22) > You mean on python3-bernhard, right?
Yes, sorry. > > to ensure that the binary package is used with the same version > > as the protobuf-compiler used during the build? > Then what? It would become uninstallable when a new protobuf version > (3.22 next time) is uploaded and built. That's the point - an uninstallable package is better than a broken package, especially when being uninstallability blocks upgrading python3-protobuf for users where it is known to cause breakage. And it ensures that the package will be rebuilt (or removed) during protobuf transitions. > > If yes, are other language bindings also affected by this problem? > I still don't get your point. How does a language binding package > version relate to the protobuf-compiler version? I don't follow the > internals of Protobuf, but I would say it's more related to the > library soname and its provided API version. The problem in python3-bernhard is in a Python file generated by protoc: $ python3 -c "import bernhard" Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3/dist-packages/bernhard/__init__.py", line 20, in <module> from . import pb File "/usr/lib/python3/dist-packages/bernhard/pb.py", line 36, in <module> _descriptor.FieldDescriptor( File "/usr/lib/python3/dist-packages/google/protobuf/descriptor.py", line 560, in __new__ _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors should not be created directly, but only retrieved from their parent. $ head -2 /usr/lib/python3/dist-packages/bernhard/pb.py # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! $ > Regards, > Laszlo/GCS cu Adrian