[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: