[GRASS-dev] CLI!=GUI

On Nov 29, 2010, at 5:28 PM, <grass-dev-request@lists.osgeo.org> wrote:

Date: Tue, 30 Nov 2010 00:26:20 +0100
From: "Francesco P. Lovergine" <frankie@debian.org>
Subject: Re: [GRASS-dev] CLI!=GUI
To: Glynn Clements <glynn@gclements.plus.com>
Cc: "Francesco P. Lovergine" <frankie@debian.org>,
       grass-dev@lists.osgeo.org
Message-ID: <20101129232620.GA6140@frankie.is-a-geek.org>
Content-Type: text/plain; charset=us-ascii

On Mon, Nov 29, 2010 at 10:20:52PM +0000, Glynn Clements wrote:

Francesco P. Lovergine wrote:

As said in another mail of mine, it is not a problem brute-splitting GUI
dependencies (e.g. current squeeze release for 6.4 only *suggests*
wxpython dependencies). Moving GUI-related binaries in different
packages is a pain to maintain, but theoretically it can also be done.

It remains a brute hack anyway, which is a symptom of
a fundamental design problem: the whole system is theoretically
layered and modular, but in fact it cannot be really componentized
in a *clean* way. Something I find basically disturbing and not
elegant, sorry my purism.

You are really going to have to explain what you are talking about,
otherwise I (and possibly others) are going to conclude that you don't
have a clue and should just be ignored.

GRASS' structure is about as layered and modular as you can get. If
you install it on a system without GUI libraries, the only portions
which won't work are those which inherently cannot function without
those libraries (i.e. the GUI, digitiser, XDRIVER).

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.

This may work for folks on Linux but is incompatible with the way software is installed and used on Mac and Windows. I'm not sure that GRASS will even run on Windows without the GUI. Certainly xdrivers will not.

Michael

--
Francesco P. Lovergine

Michael Barton wrote:

I'm not sure that GRASS will even run on Windows without the GUI.
Certainly xdrivers will not.

None of the standalone display drivers ("d.mon ...") will run on
Windows. d.* commands always behave as if GRASS_RENDER_IMMEDIATE=TRUE,
i.e. they will save an image to $GRASS_PNGFILE. Other commands are
unaffected.

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