[gps-users] GNAT Programming System 1.4.0 for Debian GNU/Linux

Ludovic Brenta ludovic.brenta@insalien.org
02 Dec 2003 19:56:15 +0100


Arnaud Charlet <charlet@ACT-Europe.FR> writes:

> Good to hear that GPS is a candidate for inclusion in the Debian
> distribution, good work !

Yes, but Debian should be as integrated as possible, not just a
collection of unrelated programs.  This involves a lot of
configuration management.  I've had several CM problems with ACT
programs.  Below I give more details on one of them.

> > - sourcenav (>= 5.0) is in Debian testing and unstable.  GPS uses it
> >   to browse Ada and C++ source code and maintain a cross-reference
> >   database.
> 
> I doubt this will produce good results if it works at all.
> The version included with GPS is tailored, and includes significant
> additions such as support for local references and columns, as well as
> support for multiple sub-databases.
> 
> Just curious, what kind of testing did you perform on your package ?

I didn't bother testing a C++ project since I didn't have one at hand
and didn't want to hold off the package.  However, I did perform
several basic tests for Ada.  These tests were not really designed to
test GPS (I believe you folk already do a good job of that) but rather
the integration into Debian, which is my own doing.

- I did a "man gnat-gps" to check that the man page was OK

- I checked tht the menu entry for GPS was in its proper place (in the
  Debian menu, Apps, Programming)

- I launched GPS from the Debian menu and the command line to check
  that it found all the proper libraries (which are also Debian
  packages).  This raised my earlier questions about sonames in
  GtkAda, but worked.

- I created a sample project with an Ada file in it, compiled it, got
  compile errors, fixed the errors, recompiled, and ran my program.
  Thus I tested the integration between GPS and GNAT, which appeared
  to work for my purposes.

Today, I did some additional tests on a C++ project which I
downloaded.  I wanted to see the differences between the ACT binary of
GPS 1.4.0 and my Debian package, but ACT's binary won't run on Debian
(I'll mail a separate message on this issue).  So I tried GPS 1.2.2
binary from ACT and my own binary for 1.4.0.  There are indeed
differences that prevent browsing cross-references in a C++ project.
There are however no crashes.

To move forward, I can very well re-integrate Source Navigator into my
package, just like I did for 1.2.2.  I would do this in such a way as
to avoid conflicts with other Debian packages, i.e. place "dbimp" and
"cbrowser" outside of /usr/bin.  However, this may not be the best
choice.  I would like to ask a few questions before I do that.

- what version of Source Navigator did you use (I assume 5.0 because
  the diff between SN 5.0 and GPS is of manageable size)

- did you contribute your changes to the original authors of Source
  Navigator?

- does a new version of SN include these changes?  The latest version
  of SN is 5.1.4, but it's not in Debian yet.

- your changes modify the on-disk database format for the xref
  information.  Apart from that, would they break Source Navigator,
  e.g. by making it impossible to browse programs in other languages
  currently supported by SN?

-- 
Ludovic Brenta.