Thanks Hamish. These comments are indeed useful. I noticed that Huidae Cho
also put in a set of Cygwin-specific changes to init.sh. Using Florian's
suggestions, I think this retains all of it's generic character for a
standard x11 Mac installation, while having some features that make an aqua
installation easier. Nevertheless, I agree that init.sh should remain as
generic as possible and non-standard features should be dealt with by
package maintainers as best as possible. I have no personal inclination
either way, but want to see this all work well in one way or another--AND
don't really want to have to maintain 2 versions of the GUI.
This raises a couple of questions:
1) As a pragmatic issue, Lorenzo, how much of this can go into your startup
script (e.g., setting the GRASS_ADDON_PATH, GRASS_TCLSH, and other GRASS
environment variables)?
2) To what extent is /usr/local/grasslib a non-standard location. That is,
are only a handful of Mac folks are using Lorenzo's setup (which makes sense
so as not to conflict with the OSX native versions of some of these
libraries that don't work with GRASS), or is this nearly all Mac folks? And
how many Mac folks are we talking about. I've had over 1400 hits on my site
that I've recorded. However, not all these are for downloading binaries and
I don't think the counter records hits from folks who directly download from
Versiontracker or Macupdate.
If we are talking about thousands of people, representing the greatest
majority of Mac users, then maybe /usr/local/grasslib is becoming a defacto
'standard' location for GRASS on a Mac. I don't know what this means, but
just want to raise the question.
Michael
____________________
C. Michael Barton, Professor of Anthropology
School of Human Evolution and Social Change
PO Box 872402
Arizona State University
Tempe, AZ 85287-2402
USA
Phone: 480-965-6262
Fax: 480-965-7671
www: <www.public.asu.edu/~cmbarton>
From: Hamish <hamish_nospam@yahoo.com>
Date: Sat, 02 Apr 2005 19:09:59 +1200
To: Michael Barton <michael.barton@asu.edu>
Cc: <grass5@grass.itc.it>, <lorenzo.moretti@bologna.enea.it>
Subject: Re: updates to GIS manager for Aqua TclTk
I received no negative comments about the proposed changes for making
it easier to use Aqua TclTk for GRASS in Mac OSX. In fact, I received
no comments at all. So I¹ve gone ahead and committed the changes. I
merged these with Huidae Cho¹s recent changes to init.sh for Cygwin.
Michael,
re.
http://grass.itc.it/pipermail/grass-commit/2005-April/017146.html
Index: init.sh
RCS file: /grassrepository/grass6/lib/init/init.sh,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- init.sh 11 Mar 2005 23:48:05 -0000 1.63
+++ init.sh 1 Apr 2005 23:42:43 -0000 1.64
@@ -156,7 +156,7 @@
LCL=`echo "$LANG" | sed 's/\(..\)\(.*\)/\1/'`
fi
-PATH=$GISBASE/bin:$GISBASE/scripts:$PATH:$GRASS_ADDON_PATH
+PATH=$GISBASE/bin:$GISBASE/scripts:/usr/X11R6/bin:/usr/local/bin:/usr/
local/grasslib/bin:$PATH:$GRASS_ADDON_PATH
export PATH
Non-generic additional search paths should be added by the packager with
the $GRASS_ADDON_PATH enviro variable or as part of a custom startup
script (e.g. in grass60); not included in the generic init.sh script.
Additionally, "if $platform == macintosh" and "if $aquaosx" type stuff
should only be in the generic init.sh if it applies to all Mac or
Mac+Aqua (e.g. maybe the code below qualifies if it fixes a bug in Apple
supplied tcltkAqua); but init.sh should not be changed to fit the whim
of a packager WRT path names.
# Check for tcltk interface
tcltk)
- "$GISBASE/scripts/d.m" &
+ if [ "$osxaqua" ] ; then
+ "$GISBASE/scripts/d.m" | sh &
+ else
+ "$GISBASE/scripts/d.m" &
+ fi
;;
So $GRASS_TCLSH should really be used instead of hardcoding to
/usr/local/grasslib. As seen over the last week, there are other folks
using GRASS on Mac without Lorenz's wonderful binaries (for whatever
reason) for which these changes could create problems.
The package maintainer should really contain any modifications which
are specific to their package within their package to keep the base code
clean.
cheers,
Hamish