Re: Proposition to package gnatgpr and adadesigner for Debian
David SAUVAGE - AdaLabs Ltd writes:
> I have just finished the migration of the aunit version used by
> gnatgpr [1] and adadesigner [2] to use the Debian Squeeze aunit
> version.
>
> I am proposing my service to package them for Debian, if ever you are
> interested to add those packages in Debian.
>
> I am ok to remove the corresponding upstream debian directories to
> make the monotone ones become the reference.
It is a good idea to separate the debian subdirectory from the upstream
sources, but you don't have to put the debian subdirectory in monotone;
it's your decision.
> Cheers,
>
> [1] https://gna.org/projects/gnatgpr
> [2] https://gna.org/projects/adadesigner
For now I'll comment only on gnatgpr, since adadesigner depends on it.
The most recent revision in your Subversion repository (r83) is 7 months
old but here are my comments anyway; some of them might no longer be
relevant.
- do not include a copy of the GNAT sources in your repository; this is
a recipe for endless trouble copying & merging from upstream sources.
Instead, use libgnatvsn and libgnatprj.
- do not include a copy of the AdaControl sources (options_analyzer) in
your repository. Instead, modify the packaging of adacontrol in
Debian to produce a pair of "liboptions_analyzer" packages (-dev and
runtime), so you can build-depend on them.
- in your debian/control, rename libgnatgpr0-bin to just gnatgpr.
- in your debian/control, rename the libgnatgpr0 *source* package to
just gnatgpr (the *binary* runtime library package should remain
libgnatgpr0).
- in debian/rules, you extract the VERSION and REVISION from the latest
changelog entry (good) but then you hardcode the package names to
libgnatgpr0 and libgnatgpr0-dev (bad). Also you seem to assume that
soversion is always equal to aliversion; this is not generally true
but you may decide to make them equal, in which case you should say so
explicitly in a comment.
- in gnatgpr_lib.gpr, you set the Library_Version to
"libgnatgpr.so.0.34"; this is the soname of the library and it *must*
match the binary package name, so your binary package name should be
libgnatgpr0.34, not libgnatgpr0. You may want to do it the other way
around: change the soname to just libgnatgpr.so.0 and keep the binary
package name unchanged.
- also in gnatgpr_lib.gpr, you use the Library_Interface attribute which
makes the library "stand-alone" and "automatically initialized". I'd
likt to know how that affects other Ada programs that link against
both libgnatgpr and another, non-automatically initialized, library.
Could you research this issue?
--
Ludovic Brenta.
Reply to: