Bug#946400: plplot: please build the Ada binding with gnat-9

Rafael Laboissière rafael at debian.org
Tue Dec 10 05:51:42 GMT 2019


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 <nicolas at 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
>



More information about the debian-science-maintainers mailing list