[gtkada] Re: Compiling for GtkAda-1.x and GtkAda-2.x

Ludovic Brenta ludovic.brenta at insalien.org
Sat Aug 2 00:17:01 CEST 2003


krause at sdbk.de (Sebastian D.B. Krause) writes:

> Ludovic Brenta <ludovic.brenta at insalien.org> wrote:
> > Martin Klaiber <martinkl at zedat.fu-berlin.de> writes:
> >> Perhaps it works, if I install the versions in different directories,
> >> put both dirs in the PATH and the LD_LIBRARY_PATH.  I'll try that out.
> >
> > In packaging GtkAda 2.2.0 for Debian, I'm making sure both versions
> > can coexist,; and I'm renaming "gtkada-config" to "gtkada2-config".
> > So, at least when building, you'd just change your Makefile to use one
> > version or the other.
> 
> No, please don't do it, because then many programs which use
> ./configure for GtkAda 2.2 won't find it directly and in all other
> cases changing the Makefiles for a non-standard way for using
> gtkada-config just sucks.

I am not aware of any configure scripts that look for GtkAda just yet;
this in fact is an argument you used yourself when you say that only
one package (gvd) depends on libgtkada1.  But, theoretically speaking,
you are right.
 
> All you have to do is to let libgtkada1-dev and libgtkada2-dev
> conflict with each other (so "gate" and "gtkada-config" must be in
> libgtkada2-dev like they are in libgtkada1-dev). This is the normal
> Debian way and many packages in Debian do it this way. This makes it
> possible to have the libraries itself installed parallel in
> different versions on the system, only the headers can't be
> installed in version 1.2 and 2.2 the same time.

Well, look at packages "glade" and "glade-2" for a glowing
counter-example of this.  Or at gcc-3.2 and gcc-3.3, which also can be
both installed.

To answer your concerns about (hypothetical) configure scripts while
still retaining the capability to have both -dev packages installed,
each user can symlink "gtkada-config" to whichever version they prefer
as the default, e.g. in the user's .profile:

ln -s /usr/bin/gtkada2-config ~/bin/gtkada-config
export PATH=$HOME/bin:$PATH

> There aren't many cases in which someone *needs* to have installed
> both version *for* *development* (not for use, there a parallel
> installation is no problem) at the same time. At the moment the
> *only* package that depends on libgtkada1 is gvd which is supposed
> to be replaced by GPS, so there won't be any need for libgtkada1
> anymore soon (in the rare case where you need to compile gvd or some
> GtkAda 1.2 program you can of course still install libgtkada1-dev).

That there aren't many cases does not mean that there are *no* cases.
In particular, I think that people porting their GtkAda 1.2
application to 2.2 will appreciate being able to use both versions in
development during the transition.
 
> So please don't try some dirty workarounds, the faster GtkAda 2.2
> replaces version 1.2 the better. And both version are rather
> compatible, so this shouldn't be that hard. The fact that libgtkada1
> is almost not used in Debian at all makes the replacement a lot
> easier.

You have several good points there, but I'd like to know what other
people on this list think.  The Debian project is "guided by the needs
of [its] users and the Free Software community" (Debian Social
Contract (4)), so I'll stick to whatever users say.

I initially chose not to preclude concurrent developnment of GtkAda
1.2 and 2.2 applications because I cannot by myself impose such
restrictions on users without hearing from them first.

So, what are your votes?

-- 
Ludovic Brenta.




More information about the gtkada mailing list