From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,a19f7b11143e52d2 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!o15g2000vbb.googlegroups.com!not-for-mail From: Ludovic Brenta Newsgroups: comp.lang.ada Subject: Re: One united Ada policy for all Linux distributions? Date: Tue, 18 May 2010 06:09:25 -0700 (PDT) Organization: http://groups.google.com Message-ID: <1b6eaaf6-5f27-446d-8bfc-3327823b1085@o15g2000vbb.googlegroups.com> References: <8b775424-6d49-4fc1-8f9d-f1837d75371e@e21g2000vbl.googlegroups.com> <15rwx3bkqj8p9$.18lm12fadj9m7$.dlg@40tude.net> <5txqlpw1cur0$.11swneejphjyt.dlg@40tude.net> NNTP-Posting-Host: 153.98.68.197 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1274188165 10589 127.0.0.1 (18 May 2010 13:09:25 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 18 May 2010 13:09:25 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: o15g2000vbb.googlegroups.com; posting-host=153.98.68.197; posting-account=pcLQNgkAAAD9TrXkhkIgiY6-MDtJjIlC User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3,gzip(gfe) Xref: g2news2.google.com comp.lang.ada:11726 Date: 2010-05-18T06:09:25-07:00 List-Id: Dmitry A. Kazakov wrote on comp.lang.ada: > On Tue, 18 May 2010 03:19:36 -0700 (PDT), Ludovic Brenta wrote: >> Dmitry A. Kazakov wrote on comp.lang.ada: >>> If we wanted to introduce versioning (coexistence in Debian policy term= s?), >>> we could hang version suffixes on the gpr's directory, rather than on g= pr >>> files. The suffix will follow GNAT releases. > >> That would be too restrictive; it would not allow you to have e.g. two >> versions of a library with the same compiler. > > Why? Each GNAT (gnatmake, gprbuild) would search its project directory > first. It should be no different from the way the standard library ads > files are handled - transparently to the user. In both Debian and GNAT GPL Edition, you can actually choose between two versions of the standard library: zero-cost and setjump/longjump. But that aside, the standard library is tightly coupled to the compiler, so it makes sense to install it in a compiler-dependent location. On the contrary, third-party libraries are *not* tightly coupled to the compiler, have different release cycles, and should therefore *not* be in a compiler-dependent location. It is a bad idea to artificially tie some version of a third-party library with some version of the compiler. >> This is no better than >> the GNAT GPL distribution as you noted. =A0So the versioning would have >> to use the aliversion in the names of the .gpr files, possibly with a >> versionless symlink to the default versioned project file, e.g.: > >> /usr/share/ada/adainclude/gtkada2.14.2.gpr >> /usr/share/ada/adainclude/gtkada2.18.gpr >> /usr/share/ada/adainclude/gtkada.gpr -> gtkada2.14.2.gpr > > That would mean version-dependent gpr files. This is what we have now. BT= W, > it probably won't work, because the project name is checked against the > file name. > > The idea is that the name of a gpr file never changes, so you do not need > to modify your gpr file each time a new gtkada version comes. You don't > need to modify it for another Linux. Ah but sometimes a new version of a library breaks source compatibility with existing programs. Suppose that Debian and Fedora both provide /usr/share/ada/adainclude/x.gpr; this file comes from the package libx1-dev in Debian and from libx2-devel in Fedora. Suppose that X version 1 and X version 2 are incompatible at the source level. Your user program that compiles cleanly on Debian will not compile on Fedora and vice versa. How would you propose to address this in a "unified" policy? How do you propose to address this in your user- written program? -- Ludovic Brenta.