Skip to content
Commits on Source (40)
......@@ -19,7 +19,7 @@ For other (scientific) references, see
A BibTeX entry for LaTeX users is:
@Manual{GRASS_GIS_software,
title = {Geographic Resources Analysis Support System (GRASS) Software},
title = {Geographic Resources Analysis Support System (GRASS) Software, Version 7.2},
author = {{GRASS Development Team}},
organization = {Open Source Geospatial Foundation},
address = {USA},
......
......@@ -5,6 +5,9 @@ MAINTAINER Vaclav Petras <wenzeslaus@gmail.com>
# system environment
ENV DEBIAN_FRONTEND noninteractive
# data directory - not using the base images volume because then the permissions cannot be adapted
ENV DATA_DIR /data
# GRASS GIS compile dependencies
RUN apt-get update \
&& apt-get install -y --install-recommends \
......@@ -45,7 +48,8 @@ RUN apt-get update \
unixodbc-dev \
zlib1g-dev \
&& apt-get autoremove \
&& apt-get clean
&& apt-get clean && \
mkdir -p $DATA_DIR
RUN mkdir /code
RUN mkdir /code/grass
......@@ -70,17 +74,22 @@ RUN ./configure \
--with-freetype=yes --with-freetype-includes="/usr/include/freetype2/" \
--with-sqlite=yes \
--with-liblas=yes --with-liblas-config=/usr/bin/liblas-config \
&& make && make install && ldconfig
&& make -j2 && make install && ldconfig
# enable simple grass command regardless of version number
RUN ln -s /usr/local/bin/grass* /usr/local/bin/grass
# Fix permissions
RUN chmod -R a+rwx $DATA_DIR
# create a user
RUN useradd -m -U grass
VOLUME ["/data"]
# declare volume late so permissions apply
VOLUME $DATA_DIR
WORKDIR $DATA_DIR
# switch the user
USER grass
WORKDIR /data
CMD ["/usr/local/bin/grass", "--version"]
......@@ -33,7 +33,7 @@ Installation order:
1. PROJ4
2. GDAL-OGR (compiled without GRASS support)
3. optionally: databases such as PostgreSQL, MySQL, sqlite
4. GRASS
4. GRASS GIS
5. optionally: GDAL-OGR-GRASS plugin
(A) SOURCE CODE DISTRIBUTION
......@@ -54,7 +54,7 @@ GRASS source code is currently distributed in 2 forms:
(*.tar.gz package) of that SVN repository. The SVN snapshot name
contains the date when the snapshot was created (checked out from
the SVN repository), e.g. grass-7.2.svn_src_snapshot_2016_06_11.tar.gz
from https://grass.osgeo.org/grass72/source/snapshot/
from https://grass.osgeo.org/grass74/source/snapshot/
Further instructions at https://trac.osgeo.org/grass/wiki/DownloadSource
......@@ -151,16 +151,16 @@ See also CODE OPTIMIZATION below.
After compilation, the resulting code is stored in the directory
./dist.$ARCH
and the scripts (grass72, ...) in
and the scripts (grass74, ...) in
./bin.$ARCH
To run GRASS, simply start
./bin.$ARCH/grass72
./bin.$ARCH/grass74
or run
make install
grass72
grass74
(E) INSTALLATION ON MACOSX
......@@ -314,6 +314,6 @@ https://trac.osgeo.org/grass/wiki/Submitting
https://grass.osgeo.org/documentation/first-time-users/
------------------
(C) 1999-2017 by The GRASS Development Team
(C) 1999-2018 by The GRASS Development Team
Last changed: $Date: 2017-01-01 20:48:33 +0100 (Sun, 01 Jan 2017) $
Last changed: $Date: 2018-01-01 23:36:04 +0100 (Mon, 01 Jan 2018) $
......@@ -55,19 +55,32 @@ http://grass.osgeo.org/programming7/
Build using the downloaded source code (in the directory with the
source code):
docker build -t grass .
docker build -t grassgis74 .
A test run (assuming you have existing GRASS GIS location)
A test run (assuming you have existing GRASS GIS location; it can be downloaded from
https://grass.osgeo.org/sampledata/north_carolina/nc_basic_spm_grass7.zip)
docker run --rm -v /your/local/grassdata/:/data -it grass \
# case 1: launching in the grassdata directory in which the location is stored:
docker run -it --rm --user=$(id -u):$(id -g) --volume $(pwd):/data --env HOME=/data/ grassgis74 \
grass --text nc_basic_spm/PERMANENT --exec g.region -p
# case 2: launching anywhere
docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ grassgis74 \
grass /data/nc_basic_spm/PERMANENT --exec g.region -p
Note that the first `grass` is a name of the image while the second
Note that the first `grassgis74` is the name of the image while the second
`grass` is the name of the executable.
To run the tests (again assuming local location):
docker run --rm -v /your/test/grassdata/:/data -w /code/grass \
-it grass grass /data/nc_basic_spm/PERMANENT --exec \
docker run -it --rm --user=$(id -u):$(id -g) --volume /your/test/grassdata/:/data --env HOME=/data/ -w /code/grass \
grassgis74 grass /data/nc_basic_spm/PERMANENT --exec \
python -m grass.gunittest.main \
--location nc_basic_spm --location-type nc
Note: If you compiled locally before building the Docker image, you may
encounter problems as the local configuration and locally compiled file
are copied to and used in the Docker image. To make sure you don't have
this issue, clean all the compiled files from the source code:
make distclean
# For preparing GRASS Debian package you should download the packaging
# rules from DebianGIS's git repository, then use the Debian build scripts
# to construct the .deb files.
# Make sure git and the debian build scripts are installed:
sudo apt-get install git subversion devscripts
# and download the latest svn copy of GRASS:
cd src/grass/
svn checkout https://svn.osgeo.org/grass/grass/trunk g7_trunk
# From the grass source dir download the packaging rules (the contents
# of debiangis/grass/ can be ignored, only the debian/ dir is needed):
git clone git://git.debian.org/git/pkg-grass/grass.git debiangis
ln -s debiangis/grass/debian debian
# If you haven't built GRASS from source on this machine before, you'll
# have to install a bunch of -dev packages. Look at the debian/control
# file and install the packages on the "Build-depends" lines.
sudo apt-get install flex bison libreadline-dev libncurses5-dev # ... etc.
# You can take care of this pretty much automatically by running
dpkg-checkbuilddeps
# in the main grass source directory, or with:
sudo apt-get build-dep grass
# (for that to work, make sure the 'deb-src' lines are active in
# your /etc/apt/sources.list file)
# Once all of the build dependencies are installed, in your favorite text
# editor open debian/changelog and adjust the version number on the top
# line to reflect the GRASS SVN checkout number.
# e.g. for r50539: grass (7.0+svn50539-0) unstable; urgency=low
nano debian/changelog
# After that, you can build the current version of GRASS with
cd g7_trunk
ln -s ../debian .
svn up
debuild -i -uc -us -b
#TODO: does 'debuild -i -uc -us -b -j4' work for parallel build??
# it works for debuild'ing qgis; need to test with grass
# run from the main GRASS source directory. After the packages are
# generated, you can install them with:
sudo dpkg -i ../grass*.deb
# (make sure to move away older grass*.deb files first)
# to try again, first clean out the old build by running:
# (from the main source dir)
debuild clean
# then repeat the build process
FIXME: how to download just the grass/debian/ directory from git
and not the whole thing?
--
H.Bowman
Last changed: $Date: 2015-07-21 13:13:44 +0200 (Tue, 21 Jul 2015) $
......@@ -212,11 +212,11 @@ MacOSX users may go here to download precompiled libraries etc.:
<p>
<hr width="100%">
<i>&copy; GRASS Development Team 1997-2017</i>
<i>&copy; GRASS Development Team 1997-2018</i>
<p>Please report bugs here:
<br><a href="http://grass.osgeo.org/development/bug-tracking/">http://grass.osgeo.org/development/bug-tracking/</a>
<br><a href="https://grass.osgeo.org/development/bug-tracking/">https://grass.osgeo.org/development/bug-tracking/</a>
<p>
<i>Last changed: $Date: 2017-01-01 20:48:33 +0100 (Sun, 01 Jan 2017) $</i>
<i>Last changed: $Date: 2018-01-01 23:36:04 +0100 (Mon, 01 Jan 2018) $</i>
</body>
</html>
......@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
timestamp='2017-08-08'
timestamp='2017-11-07'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -15,7 +15,7 @@ timestamp='2017-08-08'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -27,7 +27,7 @@ timestamp='2017-08-08'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches@gnu.org>.
......@@ -39,7 +39,7 @@ Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
......@@ -244,6 +244,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
exit ;;
*:MidnightBSD:*:*)
echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
......@@ -318,15 +321,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exitcode=$?
trap '' 0
exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit ;;
......@@ -488,13 +482,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
......@@ -617,7 +611,7 @@ EOF
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
......@@ -858,10 +852,6 @@ EOF
*:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
......@@ -877,27 +867,12 @@ EOF
echo ia64-unknown-interix${UNAME_RELEASE}
exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
8664:Windows_NT:*)
echo x86_64-pc-mks
exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
......@@ -1100,7 +1075,7 @@ EOF
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
i*86:*:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
......@@ -1428,16 +1403,28 @@ EOF
exit ;;
esac
echo "$0: unable to guess system type" >&2
case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
mips:Linux | mips64:Linux)
# If we got here on MIPS GNU/Linux, output extra information.
cat >&2 <<EOF
NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
the system type. Please install a C compiler and try again.
EOF
;;
esac
cat >&2 <<EOF
$0: unable to guess system type
This script (version $timestamp), has failed to recognize the
operating system you are using. If your script is old, overwrite *all*
copies of config.guess and config.sub with the latest versions from:
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
If $0 has already been updated, send the following data and any
information you think might be pertinent to config-patches@gnu.org to
......@@ -1469,7 +1456,7 @@ EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
......
......@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
timestamp='2017-04-02'
timestamp='2017-11-04'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -15,7 +15,7 @@ timestamp='2017-04-02'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
# along with this program; if not, see <https://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -33,7 +33,7 @@ timestamp='2017-04-02'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
......@@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
Operation modes:
Options:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
......@@ -229,9 +229,6 @@ case $os in
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
......@@ -316,7 +313,6 @@ case $basic_machine in
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
| wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
......@@ -643,7 +639,7 @@ case $basic_machine in
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
dpx2*)
basic_machine=m68k-bull
os=-sysv3
;;
......@@ -1259,6 +1255,9 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
x64)
basic_machine=x86_64-pc
;;
xbox)
basic_machine=i686-pc
os=-mingw32
......@@ -1366,8 +1365,8 @@ esac
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# First match some system type aliases that might get confused
# with valid system types.
# -solaris* is a basic system type, with this one exception.
-auroraux)
os=-auroraux
......@@ -1387,9 +1386,9 @@ case $os in
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# Each alternative MUST end in a * to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
......@@ -1829,7 +1828,7 @@ echo $basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
......
This diff is collapsed.
......@@ -850,6 +850,7 @@ else
LIBS="$LIBS $LIBLAS_LIBS"
CFLAGS="$CFLAGS $LIBLAS_CFLAGS"
CPPFLAGS="$CPPFLAGS $LIBLAS_INC"
AC_CHECK_HEADERS(liblas/capi/liblas.h)
AC_TRY_LINK([#include <liblas/capi/liblas.h>],[LASReader_Create("foo");],,[
AC_TRY_LINK([#include <liblas/capi/liblas.h>],[LASReader_Create("foo");],LAS_LIBS="$LAS_LIBS",[
AC_MSG_ERROR([*** Unable to locate libLAS library.])
......@@ -1002,7 +1003,7 @@ else
fi
if test "$GEOS_CONFIG" != "" ; then
GEOS_LIBS=`"$GEOS_CONFIG" --libs`
GEOS_LIBS=`"$GEOS_CONFIG" --clibs`
GEOS_CFLAGS=`"$GEOS_CONFIG" --cflags`
USE_GEOS=1
fi
......
......@@ -38,7 +38,7 @@ job,Job Spijker,<spijker geo.uu.nl>,Netherlands,-,-
john,John Huddleston,<jhudd.lamar colostate.edu>,USA,-,-
justin,Justin Hickey,<jhickey hpcc.nectec.or.th>,Thailand,-,-
malcolm,Malcolm Blue,<mblue nb.sympatico.ca>,Canada,-,-
markus,Markus Neteler,<neteler osgeo.org>,Italy,neteler,yes
markus,Markus Neteler,<neteler osgeo.org>,Germany,neteler,yes
martin,Martin Wegmann,<wegmann biozentrum.uni-wuerzburg.de>,Germany,wegmann,yes
martinl,Martin Landa,<landa.martin gmail.com>,Czech Republic,martinl,yes
massimo,Massimo Cuomo,<m.cuomo acsys.it>,Switzerland,-,-
......
......@@ -131,4 +131,4 @@ Main author: Radim Blazek, ITC-Irst, Trento, Italy<br>
GRASS 7 improvements: Martin Landa, Markus Metz
<p>
<i>Last changed: $Date: 2016-09-11 09:33:35 +0200 (Sun, 11 Sep 2016) $</i>
<i>Last changed: $Date: 2016-09-11 09:28:22 +0200 (Sun, 11 Sep 2016) $</i>
......@@ -103,4 +103,4 @@ Modifications by Radim Blazek, ITC-Irst, Trento, Italy<br>
Support for multiple statements by Martin Landa, Czech Technical University in Prague
<p>
<i>Last changed: $Date: 2017-08-11 12:16:56 +0200 (Fri, 11 Aug 2017) $</i>
<i>Last changed: $Date: 2017-08-11 12:14:08 +0200 (Fri, 11 Aug 2017) $</i>
......@@ -14,7 +14,7 @@ int db__driver_fetch(cn, position, more)
dbColumn *column;
dbValue *value;
int col, ncols;
SQLINTEGER len;
SQLLEN len;
int htype, sqltype, ctype;
SQLRETURN ret;
DATE_STRUCT date;
......
......@@ -12,7 +12,7 @@ int db__driver_list_tables(tlist, tcount, system)
dbString *list;
int count = 0;
SQLCHAR tableName[SQL_MAX_TABLE_NAME_LEN];
SQLINTEGER indi, nrow = 0;
SQLLEN indi, nrow = 0;
SQLRETURN ret;
char ttype[50];
......
......@@ -130,7 +130,7 @@ int db__driver_drop_table(dbString * name)
char msg[OD_MSG];
SQLINTEGER err;
SQLCHAR ttype[50], *tname;
SQLINTEGER nrow = 0;
SQLLEN nrow = 0;
/* allocate cursor */
......
......@@ -14,7 +14,7 @@ manual</a> for details.
<div class="code"><pre>
# example for connecting to a PostgreSQL server:
db.connect driver=pg database=mydb
db.login user=myname pass=secret host=myserver.osgeo.org
db.login user=myname password=secret host=myserver.osgeo.org # port=5432
db.connect -p
db.tables -p
</pre></div>
......@@ -132,4 +132,4 @@ driver documentation</a></li>
</ul>
<p>
<i>Last changed: $Date: 2017-01-17 20:28:47 +0100 (Tue, 17 Jan 2017) $</i>
<i>Last changed: $Date: 2017-11-12 13:26:52 +0100 (Sun, 12 Nov 2017) $</i>
......@@ -78,4 +78,4 @@ echo "
</em>
<p>
<i>Last changed: $Date: 2016-11-14 00:09:36 +0100 (Mon, 14 Nov 2016) $</i>
<i>Last changed: $Date: 2016-11-14 00:05:32 +0100 (Mon, 14 Nov 2016) $</i>