From 9f7ecdc31044b64794f35491093ffb8e336c22b4 Mon Sep 17 00:00:00 2001 From: Markus Neteler Date: Sat, 15 Jun 2024 14:01:55 +0200 Subject: [PATCH] docker: Use only native Python API, set only necessary variables (#3819) - Rewrite `testdata/test_grass_session.py`, replacing the `pip install grass-session` approach by native solution (now fully functional). - Fix Ubuntu ARG handling. - Remove unneeded environmental variables from images (setting GISBASE without the rest of variables may be harmful because internal mechanisms use it to determine if there is an existing session or not). - Update tests for all Dockerfiles. Co-authored-by: Vaclav Petras --- Dockerfile | 59 ++++++++++++++++------- docker/alpine/Dockerfile | 20 ++++---- docker/alpine/README.md | 3 +- docker/alpine/grass_tests.sh | 2 +- docker/debian/Dockerfile | 25 +++++----- docker/debian/README.md | 3 +- docker/testdata/test_grass_session.py | 20 ++++---- docker/ubuntu/Dockerfile | 59 ++++++++++++++++------- docker/ubuntu/README.md | 3 +- docker/ubuntu_wxgui/Dockerfile | 25 +++++----- docker/ubuntu_wxgui/README.md | 3 +- singularity/debian/README_debian.md | 3 +- singularity/debian/singularityfile_debian | 3 -- 13 files changed, 130 insertions(+), 98 deletions(-) diff --git a/Dockerfile b/Dockerfile index b92109ff806..52144a57f67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -72,6 +72,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ ncurses-bin \ pdal \ proj-data \ + python-is-python3 \ python3 \ python3-dev \ python3-venv \ @@ -82,6 +83,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ zip \ zlib1g \ " +ENV GRASS_RUN_PACKAGES=${GRASS_RUN_PACKAGES} # Define build packages ARG GRASS_BUILD_PACKAGES="cmake \ @@ -101,6 +103,7 @@ ARG GRASS_BUILD_PACKAGES="cmake \ mesa-common-dev \ zlib1g-dev \ " +ENV GRASS_BUILD_PACKAGES=${GRASS_BUILD_PACKAGES} ARG GRASS_CONFIG="--with-cxx \ --enable-largefile \ @@ -126,7 +129,6 @@ ARG GRASS_CONFIG="--with-cxx \ ARG GRASS_PYTHON_PACKAGES="pip \ setuptools \ - grass-session \ python-dateutil \ python-magic \ numpy \ @@ -135,12 +137,13 @@ ARG GRASS_PYTHON_PACKAGES="pip \ matplotlib \ psycopg2 \ " +ENV GRASS_PYTHON_PACKAGES=${GRASS_PYTHON_PACKAGES} FROM common_start as grass_without_gui ARG GRASS_CONFIG="${GRASS_CONFIG} --without-opengl" - +ENV GRASS_CONFIG=${GRASS_CONFIG} FROM common_start as grass_with_gui @@ -244,12 +247,12 @@ RUN apt-get update \ RUN (echo "Install Python" \ && wget https://bootstrap.pypa.io/pip/get-pip.py \ # && apt-get install -y python3-ensurepip \ - && python3 get-pip.py \ + && python get-pip.py \ # && python3 -m ensurepip --upgrade \ && rm -r get-pip.py \ && mkdir -p /src/site-packages \ && cd /src \ - && python3 -m pip install --no-cache-dir -t /src/site-packages --upgrade \ + && python -m pip install --no-cache-dir -t /src/site-packages --upgrade \ $GRASS_PYTHON_PACKAGES \ && rm -r /root/.cache \ && rm -rf /tmp/pip-* \ @@ -265,13 +268,12 @@ WORKDIR /src/grass_build ENV MYCFLAGS "-O2 -std=gnu99 -m64" ENV MYLDFLAGS "-s" # CXX stuff: -#ENV LD_LIBRARY_PATH "/usr/local/lib" +ENV LD_LIBRARY_PATH "/usr/local/lib" ENV LDFLAGS "$MYLDFLAGS" ENV CFLAGS "$MYCFLAGS" ENV CXXFLAGS "$MYCXXFLAGS" # Configure compile and install GRASS GIS -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN ./configure $GRASS_CONFIG \ @@ -301,18 +303,13 @@ FROM grass_gis as grass_gis_final # GRASS GIS specific # allow work with MAPSETs that are not owned by current user -# add GRASS GIS envs for python usage -ENV GRASSBIN="/usr/local/bin/grass" \ - GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ +ENV GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ SHELL="/bin/bash" \ # https://proj.org/usage/environmentvars.html#envvar-PROJ_NETWORK PROJ_NETWORK=ON \ - # GRASSBIN=grass \ LC_ALL="en_US.UTF-8" \ - GISBASE="/usr/local/grass/" \ - GRASSBIN="/usr/local/bin/grass" \ - PYTHONPATH="${PYTHONPATH}:/usr/local/grass/etc/python/" \ - LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/grass/lib" \ + PYTHONPATH="/usr/local/grass/etc/python/:${PYTHONPATH}" \ + LD_LIBRARY_PATH="/usr/local/grass/lib:$LD_LIBRARY_PATH" \ GDAL_DRIVER_PATH="/usr/lib/gdalplugins" # Copy GRASS GIS from build image @@ -323,11 +320,37 @@ COPY --link --from=build /usr/lib/gdalplugins /usr/lib/gdalplugins # COPY --link --from=datum_grids /tmp/cdn.proj.org/*.tif /usr/share/proj/ # Create generic GRASS GIS lib name regardless of version number -RUN ln -sf /usr/local/grass85 /usr/local/grass \ - && ldconfig /etc/ld.so.conf.d +RUN ln -sf /usr/local/grass85 /usr/local/grass + +# show GRASS GIS, PROJ, GDAL etc versions +RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ + pdal --version && \ + python --version + +# Reduce the image size +RUN apt-get autoremove -y +RUN apt-get clean -y +RUN rm -r /src/grass_build/.git -# Data workdir +WORKDIR /scripts + +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" + +WORKDIR /tmp +COPY docker/testdata/simple.laz . +WORKDIR /scripts +COPY docker/testdata/test_grass_session.py . +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 +# test LAZ file +RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb -CMD ["bash", "-c", "$GRASSBIN", "--version"] +CMD ["$GRASSBIN", "--version"] diff --git a/docker/alpine/Dockerfile b/docker/alpine/Dockerfile index 47cb4b42dc1..ab704a78fb6 100644 --- a/docker/alpine/Dockerfile +++ b/docker/alpine/Dockerfile @@ -191,12 +191,10 @@ FROM common as grass # GRASS GIS specific # allow work with MAPSETs that are not owned by current user -ENV GRASSBIN="/usr/local/bin/grass" \ - GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ +ENV GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ SHELL="/bin/bash" \ # https://proj.org/usage/environmentvars.html#envvar-PROJ_NETWORK PROJ_NETWORK=ON \ - GRASSBIN=grass \ LC_ALL="en_US.UTF-8" \ PYTHONPATH="/usr/local/grass/etc/python:$PYTHONPATH" @@ -206,20 +204,20 @@ COPY --from=build /usr/local/grass* /usr/local/grass/ COPY --from=build /usr/lib/gdalplugins/*_GRASS.so /usr/lib/gdalplugins/ # run simple LAZ test COPY docker/testdata/simple.laz /tmp/ -COPY docker/testdata/test_grass_python.py docker/alpine/grass_tests.sh /scripts/ -COPY docker/testdata/test_grass_python.py /scripts/ +COPY docker/testdata/test_grass_python.py docker/testdata/test_grass_session.py docker/alpine/grass_tests.sh /scripts/ -# install external Python API +# run GRASS GIS python session and scan the test LAZ file; some cleanup +# also show installed version RUN ln -sf /usr/local/grass $(grass --config path); \ - # run some tests and cleanup - $SHELL /scripts/grass_tests.sh \ + rm -rf /tmp/grasstest_epsg_25832; \ + $SHELL /scripts/grass_tests.sh; \ + python /scripts/test_grass_session.py && rm -rf /tmp/grasstest_epsg_25832; \ + grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g \ && rm -f /scripts/grass_tests.sh /tmp/simple.laz /scripts/test_grass_python.py; \ - # delete unused packages apk del --no-cache gettext pdal-dev; \ - # show installed version grass --tmp-project XY --exec g.version -rge \ && pdal --version \ - && python3 --version + && python --version # Data workdir WORKDIR /grassdb diff --git a/docker/alpine/README.md b/docker/alpine/README.md index 00e6a1d1fbc..d306cfe0261 100644 --- a/docker/alpine/README.md +++ b/docker/alpine/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (alpine linux) Dockerfile with an [Alpine Linux](https://www.alpinelinux.org/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is only approximately 80 MB. diff --git a/docker/alpine/grass_tests.sh b/docker/alpine/grass_tests.sh index 9958b49366b..5388046816d 100755 --- a/docker/alpine/grass_tests.sh +++ b/docker/alpine/grass_tests.sh @@ -5,7 +5,7 @@ # add dependency apk add --no-cache py3-scikit-learn -# Test grass-session: +# Test grass-session /usr/bin/python3 /scripts/test_grass_session.py # Test PDAL grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g diff --git a/docker/debian/Dockerfile b/docker/debian/Dockerfile index 44ecab1fac6..48a0f93c541 100644 --- a/docker/debian/Dockerfile +++ b/docker/debian/Dockerfile @@ -59,6 +59,7 @@ RUN apt-get update && apt-get upgrade -y && \ netcdf-bin \ proj-bin \ proj-data \ + python-is-python3 \ python3 \ python3-dateutil \ python3-dev \ @@ -148,7 +149,6 @@ ENV CFLAGS "$MYCFLAGS" ENV CXXFLAGS "$MYCXXFLAGS" # Configure compile and install GRASS GIS -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN /src/grass_build/configure \ @@ -197,7 +197,7 @@ RUN ln -sf /usr/local/grass85 /usr/local/grass # show GRASS GIS, PROJ, GDAL etc versions RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ pdal --version && \ - python3 --version + python --version # Reduce the image size RUN apt-get autoremove -y @@ -206,24 +206,23 @@ RUN rm -r /src/grass_build/.git WORKDIR /scripts -# install external GRASS GIS session Python API -RUN pip3 install grass-session --break-system-packages - -# add GRASS GIS envs for python usage -ENV GISBASE "/usr/local/grass/" -ENV GRASSBIN "/usr/local/bin/grass" -ENV PYTHONPATH "${PYTHONPATH}:$GISBASE/etc/python/" -ENV LD_LIBRARY_PATH "$LD_LIBRARY_PATH:$GISBASE/lib" +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" WORKDIR /tmp COPY docker/testdata/simple.laz . WORKDIR /scripts COPY docker/testdata/test_grass_session.py . -## just scan the LAZ file -# Not yet ready for GRASS GIS 8: -#RUN /usr/bin/python3 /scripts/test_grass_session.py +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 # test LAZ file RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb +CMD ["$GRASSBIN", "--version"] diff --git a/docker/debian/README.md b/docker/debian/README.md index f5ced2cfac6..d8f7188e47e 100644 --- a/docker/debian/README.md +++ b/docker/debian/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (Debian Linux) Dockerfile with an [Debian Linux](https://www.debian.org/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 2.6 GB. diff --git a/docker/testdata/test_grass_session.py b/docker/testdata/test_grass_session.py index 70cce197305..1574ba9121c 100644 --- a/docker/testdata/test_grass_session.py +++ b/docker/testdata/test_grass_session.py @@ -1,18 +1,16 @@ -# Import GRASS Python bindings -# https://github.com/zarch/grass-session -# pip install grass-session +# Import GRASS GIS Python bindings (requires 8.4+) and test r.in.pdal + +# PYTHONPATH=$(grass --config python-path) python -from grass_session import Session import grass.script as gs +# full path to new project +project = "/tmp/grasstest_epsg_25832" +gs.create_project(project, epsg="25832") + # hint: do not use ~ as an alias for HOME -with Session( - # run in PERMANENT mapset after creation of location "test" - gisdb="/grassdata/", - location="test", - create_opts="EPSG:25832", -): - print("grass-session: tests for PROJ, GDAL, PDAL, GRASS GIS") +with gs.setup.init(project): + print("GRASS GIS session: tests for PROJ, GDAL, PDAL, GRASS GIS") print(gs.parse_command("g.gisenv", flags="s")) # simple test: just scan the LAZ file diff --git a/docker/ubuntu/Dockerfile b/docker/ubuntu/Dockerfile index b92109ff806..52144a57f67 100644 --- a/docker/ubuntu/Dockerfile +++ b/docker/ubuntu/Dockerfile @@ -72,6 +72,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ ncurses-bin \ pdal \ proj-data \ + python-is-python3 \ python3 \ python3-dev \ python3-venv \ @@ -82,6 +83,7 @@ ARG GRASS_RUN_PACKAGES="build-essential \ zip \ zlib1g \ " +ENV GRASS_RUN_PACKAGES=${GRASS_RUN_PACKAGES} # Define build packages ARG GRASS_BUILD_PACKAGES="cmake \ @@ -101,6 +103,7 @@ ARG GRASS_BUILD_PACKAGES="cmake \ mesa-common-dev \ zlib1g-dev \ " +ENV GRASS_BUILD_PACKAGES=${GRASS_BUILD_PACKAGES} ARG GRASS_CONFIG="--with-cxx \ --enable-largefile \ @@ -126,7 +129,6 @@ ARG GRASS_CONFIG="--with-cxx \ ARG GRASS_PYTHON_PACKAGES="pip \ setuptools \ - grass-session \ python-dateutil \ python-magic \ numpy \ @@ -135,12 +137,13 @@ ARG GRASS_PYTHON_PACKAGES="pip \ matplotlib \ psycopg2 \ " +ENV GRASS_PYTHON_PACKAGES=${GRASS_PYTHON_PACKAGES} FROM common_start as grass_without_gui ARG GRASS_CONFIG="${GRASS_CONFIG} --without-opengl" - +ENV GRASS_CONFIG=${GRASS_CONFIG} FROM common_start as grass_with_gui @@ -244,12 +247,12 @@ RUN apt-get update \ RUN (echo "Install Python" \ && wget https://bootstrap.pypa.io/pip/get-pip.py \ # && apt-get install -y python3-ensurepip \ - && python3 get-pip.py \ + && python get-pip.py \ # && python3 -m ensurepip --upgrade \ && rm -r get-pip.py \ && mkdir -p /src/site-packages \ && cd /src \ - && python3 -m pip install --no-cache-dir -t /src/site-packages --upgrade \ + && python -m pip install --no-cache-dir -t /src/site-packages --upgrade \ $GRASS_PYTHON_PACKAGES \ && rm -r /root/.cache \ && rm -rf /tmp/pip-* \ @@ -265,13 +268,12 @@ WORKDIR /src/grass_build ENV MYCFLAGS "-O2 -std=gnu99 -m64" ENV MYLDFLAGS "-s" # CXX stuff: -#ENV LD_LIBRARY_PATH "/usr/local/lib" +ENV LD_LIBRARY_PATH "/usr/local/lib" ENV LDFLAGS "$MYLDFLAGS" ENV CFLAGS "$MYCFLAGS" ENV CXXFLAGS "$MYCXXFLAGS" # Configure compile and install GRASS GIS -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN ./configure $GRASS_CONFIG \ @@ -301,18 +303,13 @@ FROM grass_gis as grass_gis_final # GRASS GIS specific # allow work with MAPSETs that are not owned by current user -# add GRASS GIS envs for python usage -ENV GRASSBIN="/usr/local/bin/grass" \ - GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ +ENV GRASS_SKIP_MAPSET_OWNER_CHECK=1 \ SHELL="/bin/bash" \ # https://proj.org/usage/environmentvars.html#envvar-PROJ_NETWORK PROJ_NETWORK=ON \ - # GRASSBIN=grass \ LC_ALL="en_US.UTF-8" \ - GISBASE="/usr/local/grass/" \ - GRASSBIN="/usr/local/bin/grass" \ - PYTHONPATH="${PYTHONPATH}:/usr/local/grass/etc/python/" \ - LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/grass/lib" \ + PYTHONPATH="/usr/local/grass/etc/python/:${PYTHONPATH}" \ + LD_LIBRARY_PATH="/usr/local/grass/lib:$LD_LIBRARY_PATH" \ GDAL_DRIVER_PATH="/usr/lib/gdalplugins" # Copy GRASS GIS from build image @@ -323,11 +320,37 @@ COPY --link --from=build /usr/lib/gdalplugins /usr/lib/gdalplugins # COPY --link --from=datum_grids /tmp/cdn.proj.org/*.tif /usr/share/proj/ # Create generic GRASS GIS lib name regardless of version number -RUN ln -sf /usr/local/grass85 /usr/local/grass \ - && ldconfig /etc/ld.so.conf.d +RUN ln -sf /usr/local/grass85 /usr/local/grass + +# show GRASS GIS, PROJ, GDAL etc versions +RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ + pdal --version && \ + python --version + +# Reduce the image size +RUN apt-get autoremove -y +RUN apt-get clean -y +RUN rm -r /src/grass_build/.git -# Data workdir +WORKDIR /scripts + +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" + +WORKDIR /tmp +COPY docker/testdata/simple.laz . +WORKDIR /scripts +COPY docker/testdata/test_grass_session.py . +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 +# test LAZ file +RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb -CMD ["bash", "-c", "$GRASSBIN", "--version"] +CMD ["$GRASSBIN", "--version"] diff --git a/docker/ubuntu/README.md b/docker/ubuntu/README.md index 1acb8e1098e..9a45651504c 100644 --- a/docker/ubuntu/README.md +++ b/docker/ubuntu/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (Ubuntu Linux) Dockerfile with an [Ubuntu Linux](https://ubuntu.com/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 2.6 GB. diff --git a/docker/ubuntu_wxgui/Dockerfile b/docker/ubuntu_wxgui/Dockerfile index 8f8c3b7b8d9..e6f6a1ecc9b 100644 --- a/docker/ubuntu_wxgui/Dockerfile +++ b/docker/ubuntu_wxgui/Dockerfile @@ -81,6 +81,7 @@ RUN apt-get update && apt-get upgrade -y && \ netcdf-bin \ proj-bin \ proj-data \ + python-is-python3 \ python3 \ python3-dateutil \ python3-dev \ @@ -184,7 +185,6 @@ ENV CXXFLAGS "$MYCXXFLAGS" # wxGUI require # --with-x # --with-nls -ENV GRASS_PYTHON=/usr/bin/python3 ENV NUMTHREADS=4 RUN make distclean || echo "nothing to clean" RUN /src/grass_build/configure \ @@ -235,7 +235,7 @@ RUN ln -sf /usr/local/grass85 /usr/local/grass # show GRASS GIS, PROJ, GDAL etc versions RUN grass --tmp-project EPSG:4326 --exec g.version -rge && \ pdal --version && \ - python3 --version + python --version # Reduce the image size RUN apt-get autoremove -y @@ -244,24 +244,23 @@ RUN rm -r /src/grass_build/.git WORKDIR /scripts -# install external GRASS GIS session Python API -RUN pip3 install grass-session - -# add GRASS GIS envs for python usage -ENV GISBASE "/usr/local/grass/" -ENV GRASSBIN "/usr/local/bin/grass" -ENV PYTHONPATH "${PYTHONPATH}:$GISBASE/etc/python/" -ENV LD_LIBRARY_PATH "$LD_LIBRARY_PATH:$GISBASE/lib" +# enable GRASS GIS Python session support +## grass --config python-path +ENV PYTHONPATH "/usr/local/grass/etc/python:${PYTHONPATH}" +# enable GRASS GIS ctypes imports +## grass --config path +ENV LD_LIBRARY_PATH "/usr/local/grass/lib:$LD_LIBRARY_PATH" WORKDIR /tmp COPY docker/testdata/simple.laz . WORKDIR /scripts COPY docker/testdata/test_grass_session.py . -## just scan the LAZ file -# Not yet ready for GRASS GIS 8: -#RUN /usr/bin/python3 /scripts/test_grass_session.py +## run GRASS GIS python session and scan the test LAZ file +RUN python /scripts/test_grass_session.py +RUN rm -rf /tmp/grasstest_epsg_25832 # test LAZ file RUN grass --tmp-project EPSG:25832 --exec r.in.pdal input="/tmp/simple.laz" output="count_1" method="n" resolution=1 -g WORKDIR /grassdb VOLUME /grassdb +CMD ["$GRASSBIN", "--version"] diff --git a/docker/ubuntu_wxgui/README.md b/docker/ubuntu_wxgui/README.md index 73f9d2f8bed..8840afd81d3 100644 --- a/docker/ubuntu_wxgui/README.md +++ b/docker/ubuntu_wxgui/README.md @@ -1,8 +1,7 @@ # Docker GRASS GIS (Ubuntu Linux) Dockerfile with an [Ubuntu Linux](https://ubuntu.com/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 2.6 GB. diff --git a/singularity/debian/README_debian.md b/singularity/debian/README_debian.md index 2f1e287873d..e8293e6816d 100644 --- a/singularity/debian/README_debian.md +++ b/singularity/debian/README_debian.md @@ -1,8 +1,7 @@ # Singularity GRASS GIS (Debian Linux) Singularityfile with an [Debian Linux](https://www.debian.org/) image with -[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support and -[grass-session](https://github.com/zarch/grass-session/). +[GRASS GIS](https://grass.osgeo.org/), [PDAL](https://pdal.io) support. Download size of this image is of approximately 560 MB. diff --git a/singularity/debian/singularityfile_debian b/singularity/debian/singularityfile_debian index 9cd74e4e44b..267d7a74ad5 100644 --- a/singularity/debian/singularityfile_debian +++ b/singularity/debian/singularityfile_debian @@ -137,9 +137,6 @@ Singularity container for GRASS GIS to be run into GRASS main directory #grass -c EPSG:4326 --tmp-project --exec g.extension -s ext=v.clip #grass -c EPSG:4326 --tmp-project --exec g.extension -s ext=v.strds.stats - # Add Python GRASS session - pip3 install grass-session - %environment export LANG=C.UTF-8 export LC_ALL=C.UTF-8