[Pkg-protobuf-devel] protobuf 3.0.0-3: libprotobuf10 Conflicts libprotobuf9

Robert Edmonds edmonds at debian.org
Thu Aug 25 13:27:20 UTC 2016


Dmitry Smirnov wrote:
> On Wednesday, 24 August 2016 8:57:01 PM AEST Florian Lohoff wrote:
> > is there a reason why protobuf 3.0.0-3 aka libprotobuf10 conflicts
> > on libprotobuf9? (As do the lite variants etc)
> 
> Appears to be a historical issue...

No, the problem was introduced in 3.0.0. libprotobuf10 must not
Conflicts/Replaces on libprotobuf9.

libprotobuf10 and libprotobuf9 (and the pairs of other library packages)
need to be co-installable, otherwise systems can break on upgrade until
all protobuf reverse build-dependencies are rebuilt on all
architectures.

Please read the Debian Library Packaging Guide.

> > [...]
> > The changelog does not contain a reason, it does not even
> > mention the addition of the conflict.
> 
> I've found a relevant commit:
> 
> https://anonscm.debian.org/cgit/pkg-protobuf/pkg-protobuf.git/commit/?id=e5f250f37ef9884b1833fceba3742eda2eae17a8

This is the 9 -> 9v5 rename triggered by the libstdc++6 ABI change. It
is an ABI change in protobuf without a SONAME change. The
Conflicts/Replaces are in place because 9v5 did not bump the SONAME in
the src:protobuf library packages.

3.0.0 introduces a new ABI number (10) which doesn't conflict with the
old number (9). There should not be a Conflicts/Replaces on the ABI 9
packages.

Read the rest of git history, e.g. the commits:

    9757a143c0ed29818421a94e4db70e8a36c49c61
    0e2cfc009c496bafb4bd858566eae874689c7892
    a4a8b57a2989e1cef0d4fbe1dbebfaa01669d053

For examples of ABI transitions.

-- 
Robert Edmonds
edmonds at debian.org



More information about the Pkg-protobuf-devel mailing list