Hi,

On Sun, 2026-08-02 at 18:12 +0200, László Böszörményi (GCS) wrote:
> On Sun, Aug 2, 2026 at 3:53 PM Ansgar <[email protected]> wrote:
> > The python3-protobuf packages in Debian experimental switched to a
> > different version scheme:
> It follows upstream versioning [1]. Under v36.0-rc1 it lists Python.

Please see https://protobuf.dev/support/version-support/

Different languages have breaking changes at independent versions. So
the major version is language-dependent.

> 
>  Does the package version matter on Python version detection? I think
> dependant packages may check the version number directly:

No, but with SemVer one often wants to have dependencies like
">= 6, < 7" which are not satisfied by a version introducing breaking
changes.

This cannot be expressed on the Debian package level when the major
version is omitted.

It also makes mapping version requirements from other packages harder:
upstreams will use the Protobuf upstream versions that include the
major version. That would not be correct for Debian packaging.

> > (This might require that src:protobuf overrides the "Version" field
> > for some binary packages.)
>  Can you show me examples of such packages? I've never done a package
> binary version override.

Hmm, packages like src:gcc-defaults and src:linux-signed-amd64 should
do that. The relevant part is passing `-- -v{binary-version}` to
`dh_gencontrol`.

I guess something like

```
dh_gencontrol -- -v7.$(DEB_VERSION)
```

might work? (With DEB_VERSION from /usr/share/dpkg/pkg-info.mk.) Though
one might not want to hardcode the "7." part or at least trigger an
error when this changed upstream.

The upstream part seem to be maintained in files like

- https://github.com/protocolbuffers/protobuf/blob/main/protobuf_version.bzl
- https://github.com/protocolbuffers/protobuf/blob/main/version.json

Upstream changes seem to update version numbers in quite a lot of places at 
once:

https://github.com/protocolbuffers/protobuf/commit/4b269eb436f138aac5f2a189f290ad132aebfba5

So I'm not sure which is the best place to check.

Ansgar

Reply via email to