Bug#963247: ignition-fuel-tools FTBFS with Protobuf 3.12.3

Sebastian Ramacher sramacher at debian.org
Sun Jul 12 09:28:05 BST 2020


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 <jspricke at debian.org> wrote:
> > * Sebastian Ramacher <sramacher at 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) <gcs at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20200712/7971f194/attachment.sig>


More information about the debian-science-maintainers mailing list