Thanks for your detailed reply, Nicolas.

I must admit that my knowledge of ADA is almost inexistant. I even do not knew what ALI means, until I looked at the documentation.

I do not have time to plunge deeper into this issue now. I have already committed all the patches that you submitted in the presetn bug report [1–8]. I will make a new release to unstable containing this changes, because I think that they improve the Debian packaging.

I will then apply the patch that changes libplplotada1 ⇒ 2 and upload the new version to experimental, as you suggested.

Best,

Rafael

[1] https://salsa.debian.org/science-team/plplot/commit/8e1f9be7 Improve 
transmission of configuration variables
[2] https://salsa.debian.org/science-team/plplot/commit/b23103c8 Compile Ada 
with hardening flags
[3] https://salsa.debian.org/science-team/plplot/commit/1cec9ebc Enable all 
linker checks
[4] https://salsa.debian.org/science-team/plplot/commit/bd0d7e5c Import 
specific dpkg makefile snippets instead of default.mk
[5] https://salsa.debian.org/science-team/plplot/commit/27a1a2b0 Drop HOME 
unused variable from debian/rules
[6] https://salsa.debian.org/science-team/plplot/commit/f93b7cb6 Remove the 
workaround preventing compression of examples
[7] https://salsa.debian.org/science-team/plplot/commit/410c23ab Delegate 
temporary directory to autopkgtests
[8] https://salsa.debian.org/science-team/plplot/commit/365cd6cc Drop an 
explicit dependency in tests/control

* Nicolas Boulenguez <nico...@debian.org> [2019-12-09 21:49]:

I ignore if this compiler change breaks the plplot-ada ABI. If so, libplplotada4.deb should be renamed to libplplotada5.deb, and CMake should be told that plplotada_SOVERSION=5.
Could you please suggest a way to test for the ABI breakage ?

The new compiler may implement the same high-level structure with a new bit construct, or change the calling convention, or… I am not sure how to check this.

However, the Ada libraries almost always require an ALI bump (see below) when the libgnat sources are modfied, so I tend to stay on the safe side and increment the SO too, unless GCC guarantees that the ABI of the previous major release is preserved (I've only seen this once).

At any rate, I think that bumping the SOVERSION like this must be done upstream, don't you think? I am not sure it is a good idea to have the Debian packaging messing with this.

It is always possible that a security update requires a change in the profile of an existing function (or the implementation), so there is no way to avoid divergence of the SOversion (or the ALIversion) in general. I try to keep the ordering compatible with upstream SOversions, at least when upstream manages the SOversions.

I have also another question regarding the package naming. I see that you introduced, in commit 95d5fc9 [1], the change in naming of libplplot-ada-dev to libplplotada1-dev. Is there any specific reason you have chosen the number "1"? Would it not be better to have both packages in sync, like libplplotadaN and libplplotadaN-dev?

This is explained in the Debian policy for Ada [1]. The SO version (in the library package name) and the ALI version (in the -dev package name, specific to the Debian packaging) have no reason to be in sync, allthough practically we try to update both at the same time when possible to spare a passage through the NEW queue.

[1] 
https://people.debian.org/~lbrenta/debian-ada-policy.html#No-coexistence-allowed


--
debian-science-maintainers mailing list
debian-science-maintainers@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to