[GRASS-dev] CLI!=GUI

Glynn Clements glynn at gclements.plus.com
Mon Nov 29 22:12:38 EST 2010


Francesco P. Lovergine wrote:

> Something like:
> 
> make build-core | build-xdriver | build-wxgui | build-tkgui
> 
> make install-core | install-xdriver | install-wxgui | install-tkgui
> 
> would be more modular and clean. Of course, one can always now
> install the whole beast, use only what is of interest and avoid
> installing all dependencies. As said, it works too. 
> But I - as packager - would prefer avoiding tons of silly reports 
> about 'command X is not working because Y is missing' and installing 
> most required dependencies for all commands provided. 

You can package it how you want, but I don't think that it's realistic
to structure GRASS around individual packagers' policies (e.g. who
says what is "core" and what isn't).

Every optional dependency can be disabled at configure time. At build
time, you can build individual directories. In 7.0, you can control
the target directory (ARCH_DISTDIR) separately from the directory
where previously built components are found (GISBASE).

Packaging involves work, and GRASS is no different to any other
package. E.g. most modern Linux distributions split libraries between
a run-time package containing the shared libraries and a -devel
package containing the headers, static libraries etc. The source tree
from which the package is built doesn't provide explicit support for
this; it's just something the packager has to do.

Moreover, integrating (and subsequently maintaining) the support for
various packaging systems would be significantly more work for the
GRASS developers than it would take for the package maintainers to
maintain their own packaging systems privately. A privately-maintained
system only needs to work to the level of "works for me". Something
intended for inclusion into the source tree has to be more "finished",
which can take more work than creating the original version.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list