[GRASS-dev] Re: [GRASS-user] Using g.extension on Ubuntu 11.04

Michael Barton Michael.Barton at asu.edu
Tue Jul 26 12:15:01 EDT 2011


Unfortunately, Hamish is correct about the issues. 

We need a standard, probably platform specific, place to put extensions where they can be automatically executed on the GRASS command line or in the extension starting wrapper. 

This involves both identifying a place to put extensions and making sure that GRASS recognizes that place as a valid path for running extensions. William is right that these are different functions. However, they should probably be related in that GRASS should by default put extensions in a place where they can be run by default. 

There should be a GEXTPATH variable, as William and Markus suggested that can specify a user-specific or system-wide location for extension installation. This should probably be set at runtime for each system. Then $GEXTPATH/bin and $GEXTPATH/scripts should be added by default to GRASS_ADDON_PATH. The user can add additional paths to the latter if desired. In g.extension, the user could set an alternative location for extension installation, but it would be up to her/him to make sure that GRASS can path to that location.

Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity 
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University

voice: 	480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax:          480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu




On Jul 25, 2011, at 7:17 PM, <grass-user-request at lists.osgeo.org> <grass-user-request at lists.osgeo.org> wrote:

> Date: Mon, 25 Jul 2011 16:25:55 -0700 (PDT)
> From: Hamish <hamish_b at yahoo.com>
> Subject: Re: [GRASS-user] Using g.extension on Ubuntu 11.04
> To: Markus Neteler <neteler at osgeo.org>
> Cc: grass-user at lists.osgeo.org, Glynn Clements
>        <glynn at gclements.plus.com>
> Message-ID:
>        <1311636355.23061.YahooMailClassic at web110012.mail.gq1.yahoo.com>
> Content-Type: text/plain; charset=us-ascii
> 
>>> Glynn wrote:
>>>> Modify the g.extension script to use sudo rather than "su -c ...".
> Hamish:
>>> I've already done that. Try the -u flag.
> Markus:
>> I have drastically simplified g.extension to two lines, being
>> a wrapper for the way better g.extension.py which is included
>> in the wxGUI of 6.4 and 6.5.
> 
> is it way better? How? Why?
> 
> I really doubt it because the main problems with g.extension have
> nothing to do with the programming language or programmer's ability,
> and are common to both.
> 
> 
> the main structural problems with it are:
> 
> - ill/dual-defined use of GRASS_ADDON_PATH as both a /usr/local/bin
> substitute and a /usr/local prefix. William has also implemented a
> partial solution to that on OSX some time ago.
> 
> - different systems will have different ways of authorizing administration
> permissions. on linux there is su and sudo in the wild, on OSX there is
> sudo and a $USER's personal Library, on MS Windows there are other
> layers... getting this right on all permutations and combinations will
> take time.
> 
> - to install system wide or per-user?
> 
> - gcc/Makefile linking issues for C programs
> 
> - ... probably more but I'm in a rush right now (back in the office
> next week)
> 
> 
>> Find it attached. In my opinion there is not much point to
>> continue to hack the shell version if the Python script
>> does it much better. Of course you need Python being installed.
> 
> I need to research the python version more, but I don't understand how
> it could magically solve the above problems, or what is fundamentally
> broken the the existing shell version. I never really understood the
> rationale for backporting the python version of it in the first place,
> but I trust Martin to sculpt the wxGUI as he sees fit so don't mind it
> there, even if keeping two live copies of the same thing in the same
> release is inefficient to support.
> 
> most of g.ext is moving files around and running shell programs, which
> is a natural thing to keep in a shell script.
> 
> 
>> I didn't submit it yet to SVN.
> 
> Before we blast away any existing code, I'd like to know if there are
> programming or structural problems in the shell version, if the python
> version really solves these problems in a fundamentally better way, and
> why the shell version can't use the same method. I am willing to put up
> my time to fix the shell scripts if need be, but right now I'm not aware
> of any problems which are not structural in nature, ie independent of
> implementation language.
> 
> 
> I would like to post a more constructive email, but I'm being pulled out
> the door right now, and don't know of specific code problems that need
> work so can't give a patch to fix it.
> 
> 
> thanks for your patience,
> Hamish
> 



More information about the grass-dev mailing list