On 02.08.2010 21:12, Ulrich Weigand wrote:
Matthias Klosedoko@ubuntu.com wrote on 08/02/2010 06:25:58 PM:
this is no "cheating". It makes the packages robust. Remember that some frontends are built from different source packages and that a gnat-4.4 (4.4.4) still needs to be buildable with a gnat-4.4 (4.4.3) and an already updated gcc-4.4 (4.4.4).
So the problem that is you want to support a setup where a "gcc" driver installed from a 4.4.4 build can still call and run a "gnat1" binary installed from a 4.4.3 build? That will most likely work.
No, gnat (4.4.3) has still to work, if gcc (4.4.4) is already installed.
But it still seems a bit fragile to me; in general, there's no guarantee that if you intermix 4.4.4 and 4.4.3 components in that way, everything actually works (that's why they use different directories in the first place).
Then I would need to change this internal path with every source change. I don't see this as fragile as long as it is ensured that we ship with the different frontends built from the same patchsets/sources. Note that further restrictions are made by package dependencies.
If you want to have separate packages, a cleaner way would appear to be to make them fully self-contained, e.g. have them each provide their own driver that can be called separately.
I don't understand that. I don't have a problem with the driver, but with the compiler (gnat1). Having the packages self-contained creates another problem in that you get file conflicts for files like collect2, various .o files etc.
Matthias