Re: [GRASS-dev] Re: [DebianGIS] build-indep for grass and other issues.
On Mon, Nov 13, 2006 at 08:41:24AM +0100, Paul Kelly wrote:
> On Sun, 12 Nov 2006, Hamish wrote:
> Aha - so perhaps Markus or whoever added the version numbering into the
> library names did it because of Debian? I still don't think it's necessary
> because if a user has more than one GRASS version installed at once they
> are put in different directories.
>
That's not the point. This issue is due to clear development rules, not
users. If grass provides a library a developer should expect it defines
an API and versioning appropriate to follow changes in API.
Working differently is looking for breakage for third parties.
This is essential to move towards a true 'libgrass' which can be used by
independent developers, else interacting with that would be a giant mess.
Else grass will remain essentially a monolithic and not easily extendable
product as it is currently. If you think differently you are not a programmer.
> IIUC is it true that the reason for making this fuss over version
> numbering and file locations is that Debian wants to install GRASS files
> in various places distributed across the system filesystem, rather than
> all one place? This is not a design assumption that has been made and
> would be a rather huge and pointless job to fix anyway - almost every part
> of GRASS assumes there is a $GISBASE directory under which the whole
> system is contained.
>
No, the reason is keeping arch-dep and arch-indep things easily
identified. And this is a decent requirement for ANY distribution
which use autobuilders and support different archs. I suspect that
could also be useful in Solaris for instance, and surely for any Linux
distribution.
> That's not to say it doesn't comply with a convention: the GRASS
> installation directory is (as I understand it) like a /opt-style
> directory, an add-on software package that includes its whole system under
> there, and the system-specific startup script (which really just contains
> the path to the GRASS installation directory) goes in /usr/local/bin. Neat
> and tidy. And different GRASS versions can be installed in different
> directories and have different startup scritps. I really think that is
> quite a simple and convenient solution the way it is? Well as Hamish says
> some things could be tidied, but not worth changing it just for the sake
> of it I think.
>
This is really not the point. None says differently. Supporting
single-tree old unix style is a good thing. Allowing distributions of
modern *nixes to work better is compatible with that and is another good
thing :)
--
Francesco P. Lovergine
Reply to: