comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Library file locations
Date: Tue, 21 Mar 2006 23:30:13 +0100
Date: 2006-03-21T23:30:13+01:00	[thread overview]
Message-ID: <878xr377nu.fsf@ludovic-brenta.org> (raw)
In-Reply-To: 36ZTf.1851$ay4.142@reader1.news.jippii.net

Tapio Kelloniemi <spam18@thack.org> writes:
> I don't think that /usr/local is very non-standard location for installing
> software. Actually if I daily used a system where there is a package manager 
> provided by the distro, I would not install programs compiled by myself in the 
> /usr hierarchy. You know better than I what happens if a sysadmin installs a 
> package in /usr which overwrites a file already installed by the distro. 
> Therefore it is good practice to install under /usr/local to prevent messing 
> up the system's package management, and for other reasons as well.
> This is why /usr/local should be supported automatically or at least easily.
> What comes to setting ADA_PROJECT_PATH in a Makefile:
> Imagine that I have installed some Ada library under /usr/local (the distro 
> provides a precompiled binary, but I want to enable a feature X required by 
> package A). Then I compile A. If the library and the package A were written in 
> C, I would do the following to compile A:
> ./configure && make && make install
>
> As they are written in Ada, I do:
> ./configure --with-additional-ada-project-path=/usr/local/share/ada/adainclude
>
> And what if the configure script does not support the above
> mentioned option?  I would have to edit Makefiles, possibly run
> automake, etc. If the compilation process happens to be automated, I
> must write some nasty sed scripts to do the job.

Ada programs do not normally require configure scripts.  I tend to
think of configure scripts as symptoms of bad engineering.  Automake?
Why use automake?  KISS!

ADA_PROJECT_PATH=/usr/local/share/ada/adainclude make

is sufficient and addresses your concern that "/usr/local should be
supported automatically or at least easily" - for easy it is, indeed.
And yes, if it's under /usr/local, then it's outside of the distro's
responsibility - "someone else's problem" is indeed "the
administrator's problem".

A second easy way to support /usr/local is:

echo "ADA_PROJECT_PATH=/usr/local/share/ada/adainclude" >> /etc/environment

which is, of course, an implementation of a local (system-wide) policy
decided by the administrator and not the distro.

-- 
Ludovic Brenta.



  reply	other threads:[~2006-03-21 22:30 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-18  1:15 Debian Policy for Ada, Second Edition Ludovic Brenta
2006-03-18 13:36 ` Pascal Obry
2006-03-18 14:39   ` Ludovic Brenta
2006-03-18 16:32     ` Pascal Obry
2006-03-18 17:13       ` Ludovic Brenta
2006-03-18 19:10         ` Pascal Obry
2006-03-18 19:49           ` Georg Bauhaus
2006-03-18 21:16       ` Tapio Kelloniemi
2006-03-19  2:04         ` Library file locations (was: Debian Policy for Ada, Second Edition) Björn Persson
2006-03-19  7:48           ` Tapio Kelloniemi
2006-03-19 13:00             ` Björn Persson
2006-03-19 15:31             ` Pascal Obry
2006-03-19 16:48               ` Björn Persson
2006-03-19 20:21               ` Tapio Kelloniemi
2006-03-19 22:24                 ` Ludovic Brenta
2006-03-20  9:07                   ` Tapio Kelloniemi
2006-03-20 11:51                     ` Ludovic Brenta
2006-03-21 20:11                       ` Tapio Kelloniemi
2006-03-21 22:30                         ` Ludovic Brenta [this message]
2006-03-22 11:57                         ` Georg Bauhaus
2006-03-20  6:52                 ` Pascal Obry
2006-03-20  9:10                   ` Tapio Kelloniemi
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox