[GRASS-SVN] r71318 - grass/trunk
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Jul 29 09:04:18 PDT 2017
Author: wenzeslaus
Date: 2017-07-29 09:04:18 -0700 (Sat, 29 Jul 2017)
New Revision: 71318
Added:
grass/trunk/Dockerfile
Modified:
grass/trunk/README
Log:
Dockerfile for the local source code with doc in README
Added: grass/trunk/Dockerfile
===================================================================
--- grass/trunk/Dockerfile (rev 0)
+++ grass/trunk/Dockerfile 2017-07-29 16:04:18 UTC (rev 71318)
@@ -0,0 +1,86 @@
+FROM ubuntu:16.04
+
+MAINTAINER Vaclav Petras <wenzeslaus at gmail.com>
+
+# system environment
+ENV DEBIAN_FRONTEND noninteractive
+
+# GRASS GIS compile dependencies
+RUN apt-get update \
+ && apt-get install -y --install-recommends \
+ autoconf2.13 \
+ autotools-dev \
+ bison \
+ flex \
+ g++ \
+ gettext \
+ libblas-dev \
+ libbz2-dev \
+ libcairo2-dev \
+ libfftw3-dev \
+ libfreetype6-dev \
+ libgdal-dev \
+ libgeos-dev \
+ libglu1-mesa-dev \
+ libjpeg-dev \
+ liblapack-dev \
+ liblas-c-dev \
+ libncurses5-dev \
+ libnetcdf-dev \
+ libpng-dev \
+ libpq-dev \
+ libproj-dev \
+ libreadline-dev \
+ libsqlite3-dev \
+ libtiff-dev \
+ libxmu-dev \
+ make \
+ netcdf-bin \
+ proj-bin \
+ python \
+ python-dev \
+ python-numpy \
+ python-pil \
+ python-ply \
+ unixodbc-dev \
+ zlib1g-dev \
+ && apt-get autoremove \
+ && apt-get clean
+
+RUN mkdir /code
+RUN mkdir /code/grass
+
+# add repository files to the image
+COPY . /code/grass
+
+WORKDIR /code/grass
+
+# install GRASS GIS
+RUN ./configure \
+ --enable-largefile=yes \
+ --with-nls \
+ --with-cxx \
+ --with-readline \
+ --with-bzlib \
+ --with-pthread \
+ --with-proj-share=/usr/share/proj \
+ --with-geos=/usr/bin/geos-config \
+ --with-cairo \
+ --with-opengl-libs=/usr/include/GL \
+ --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
+
+# enable simple grass command regardless of version number
+RUN ln -s /usr/local/bin/grass* /usr/local/bin/grass
+
+# create a user
+RUN useradd -m -U grass
+
+VOLUME ["/data"]
+
+# switch the user
+USER grass
+
+WORKDIR /data
Modified: grass/trunk/README
===================================================================
--- grass/trunk/README 2017-07-28 00:41:34 UTC (rev 71317)
+++ grass/trunk/README 2017-07-29 16:04:18 UTC (rev 71318)
@@ -50,3 +50,24 @@
An online version is available at:
http://grass.osgeo.org/programming7/
+## Docker
+
+Build using the downloaded source code (in the directory with the
+source code):
+
+ docker build -t grass .
+
+A test run (assuming you have existing GRASS GIS location)
+
+ docker run --rm -v /your/local/grassdata/:/data -it grass \
+ grass /data/nc_basic_spm/PERMANENT --exec g.region -p
+
+Note that the first `grass` is a 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 \
+ python -m grass.gunittest.main \
+ --location nc_basic_spm --location-type nc
More information about the grass-commit
mailing list