Hi On 2020-07-11 22:51:13 +0200, László Böszörményi (GCS) wrote: > Hi, > > On Sat, Jul 11, 2020 at 5:53 PM <jspri...@debian.org> wrote: > > * Sebastian Ramacher <sramac...@debian.org> [2020-07-11 16:54]: > > So it should work if all migrate at the same time, right? > It would work if all packages migrate at the same time. It will not > do that automatically however, as auto testing will constantly fail. > It tests with the testing version of ignition-fuel-tools and with the > unstable version of protobuf - being incompatible with each other. > I don't think a break of older protobuf libraries would help either, > but might help against partial upgrades of protobuf related packages. > > > >This could be avoided if > > >libignition-msgs-dev which contains the protobuf-generated header files > > >would have a stricter dependency on libprotobuf-dev. Since these files > > >are only compatible with the same protobuf upstream version, it would > > >need to depend on the protobuf upstream version it was built with. > That would prevent setting up the transition testing chroot, but I > don't know how our tools handle such things. I think preventing the > automatic protobuf transition to testing.
As far as I understand it, a tighter dependency would make britney consider them as having to transition together, avoiding the issue with the autopkgtests. It would recogince that migrating protobuf would make ignition-msgs uninstallable, and so it would try them together. > > There was a similar discussion in #900429 and also #910964 but no real > > solution was proposed. It would be great if the protobuf package would > > provide some tooling to encode the ABI information to the packages at > > compile time. > > What would be the way forward here? Open a bug with protobuf? > Without too much thinking I've prepared an update which embeds an ABI > version to the library package (see attached diff) that you can depend > on, but I don't think that would help. It will be the same as > depending on the named library. Since ignition-msgs is the only package that has this issue, something like the following should be enough: In debian/control: Depends: libprotobuf-dev (>= ${protobuf:Upstream-Version}), libprotobuf-dev (< ${protobuf:Upstream-Version}.1) In debian/rules: override_dh_gencontrol: dh_gencontrol -- -Vprotobuf:Upstream-Version="$(shell dpkg-query -W -f '$${Source:Upstream-Version}' libprotobuf-dev)" (This might be a little to tight and depending on >= X.Y, < X.(Y+1) would be enough). But yes, depending on a protobuf-abi-$VER provided by libprotobuf-dev could also work. It wouldn't work if provided by the shared library, though, as they are co-installable. Cheers > > Regards, > Laszlo/GCS > diff -Nru protobuf-3.12.3/debian/changelog protobuf-3.12.3/debian/changelog > --- protobuf-3.12.3/debian/changelog 2020-07-08 00:47:38.000000000 +0200 > +++ protobuf-3.12.3/debian/changelog 2020-07-11 21:37:49.000000000 +0200 > @@ -1,3 +1,9 @@ > +protobuf (3.12.3-3) unstable; urgency=medium > + > + * Make libprotobuf provide protobuf-abi with soname version. > + > + -- Laszlo Boszormenyi (GCS) <g...@debian.org> Sat, 11 Jul 2020 21:37:49 > +0200 > + > protobuf (3.12.3-2) unstable; urgency=medium > > * Upload to Sid. > diff -Nru protobuf-3.12.3/debian/control protobuf-3.12.3/debian/control > --- protobuf-3.12.3/debian/control 2020-05-09 20:45:17.000000000 +0200 > +++ protobuf-3.12.3/debian/control 2020-07-11 21:37:49.000000000 +0200 > @@ -65,7 +65,7 @@ > Multi-Arch: same > Section: libs > Depends: ${shlibs:Depends}, ${misc:Depends} > -Breaks: libarcus3 (<< 3.3.0-2), cura-engine (<< 1:3.3.0-2.1+b1) > +Provides: protobuf-abi-${pb:ABI} > Description: protocol buffers C++ library > Protocol buffers are a flexible, efficient, automated mechanism for > serializing structured data - similar to XML, but smaller, faster, and > diff -Nru protobuf-3.12.3/debian/rules protobuf-3.12.3/debian/rules > --- protobuf-3.12.3/debian/rules 2020-05-09 20:45:17.000000000 +0200 > +++ protobuf-3.12.3/debian/rules 2020-07-11 21:37:49.000000000 +0200 > @@ -18,6 +18,7 @@ > endif > > SONAME=23 > +ABI_VERSION=$(SONAME)-0 > > %: > dh $@ --with autoreconf,elpa,python3 > @@ -167,3 +168,6 @@ > override_dh_installdocs-indep: > dh_installdocs --indep > dh_installdocs -Xprotobuf-mode.el # in protobuf-mode-el > + > +override_dh_gencontrol: > + dh_gencontrol -- -Vpb:ABI=${ABI_VERSION} -- Sebastian Ramacher
signature.asc
Description: PGP signature