#2681: Remove legacy meaning of LOCATION variable
-------------------------------------------------+-------------------------
Reporter: wenzeslaus | Owner: grass-dev@…
Type: task | Status: new
Priority: blocker | Milestone: 8.0.0
Component: Startup | Version: svn-trunk
Keywords: init, grass.py, interface, CLI, | CPU: Unspecified
environment variables |
Platform: All |
-------------------------------------------------+-------------------------
Especially in older and stable code like `grass.py` we still keep the
legacy `LOCATION` variable with meaning "full path to a Mapset".
The bug #2679 suggests that nobody is actually using it. So, there is no
need for keeping this for backward compatibility anymore.
I suggest to gradually change the meaning to "Location name" and use
different variable name for "full path to a Mapset". This can be a gradual
change with keeping some compatibility or providing warnings. For example,
the "gisrc" file can support both `LOCATION` and `LOCATION_NAME` as
"Location name".
Dropping of LOCATION as "full path to a Mapset" can be without
consequences but replacing `LOCATION_NAME` by `LOCATION` might be possible
only for GRASS GIS 8 because of usages outside GRASS by users or in other
projects (this might be valid only for the "gisrc" file):
*
https://github.com/qgis/QGIS/blob/0a1382a0be36d408aebd227fb0066f68c513e41e/python/plugins/processing/algs/grass7/Grass7Utils.py
*
https://github.com/moovida/jgrasstools/blob/530c87f26d220f3eeff9d2fb9d21abd8821c00c3/grass/src/main/java/org/jgrasstools/grass/utils/GrassUtils.java
*
http://sextante.googlecode.com/svn/trunk/soft/sextante_lib/sextante_gui/src/es/unex/sextante/gui/grass/GrassUtils.java
*
https://github.com/geopython/PyWPS/blob/425f0eb160f60714a6705a24ba926e03690ab371/pywps/Grass.py
*
http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly#Bash_examples_.28GNU.2FLinux.29
In source code, `LOCATION` and `location` variables with meaning "full
Mapset path" can be replaced by `mapset_path`. (I've also tried
`full_mapset` but it doesn't seem nice.)
In the "gisrc" file `LOCATION_NAME` would be replaced by `LOCATION`.
In environment variables interface, `LOCATION_NAME` would be replaced by
`LOCATION` and original `LOCATION` by `MAPSET_PATH`.
It is questionable if we want to support input environment variable with
meaning "full Mapset path" when we already support setting Location and
Mapset separately. The "gisrc" file does not support it anyway.
See also #2679 for possible removal or restoration of environment
variables for setting Location and Mapset.
Setting as blocker for 8.0.0 because this can be fully resolved only with
new version but there are changes which could be done now such as (only)
dropping the `LOCATION` environmental variable as input.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2681>
GRASS GIS <http://grass.osgeo.org>