[GRASS-dev] [release planning] GRASS GIS 8.3.0

Markus Neteler neteler at osgeo.org
Fri Jun 23 01:31:17 PDT 2023


On Fri, Jun 23, 2023 at 6:26 AM Sebastiaan Couwenberg
<sebastic at xs4all.nl> wrote:
>
> On 6/23/23 00:00, Markus Neteler wrote:
> > E: Unable to locate package libopenblas-base
>
> That package doesn't exist any more, it was transitional dummy package
> provided by openblas which has been removed in openblas (0.3.21+ds-1).
>
> > https://github.com/OSGeo/grass/actions/runs/5350453362/jobs/9703565807
> >
> > Confused,
> > Markus
> >
> > PS: Shall we ignore that?
>
> The Dockefiles need to be updated to no longer install this package in
> distribution release where it's not available.
>
> The package in Debian just installs libblas-dev.

I am trying to update the Debian Dockerfile:

diff --git a/docker/debian/Dockerfile b/docker/debian/Dockerfile
index 66134a2f67..d697738633 100644
--- a/docker/debian/Dockerfile
+++ b/docker/debian/Dockerfile
@@ -1,5 +1,5 @@
 FROM debian:stable
-# currently Debian 11
+# currently Debian 12

 # docker run -it --rm debian:stable bash
 # apt-get update && apt-get install lsb-release -y && lsb_release -a
@@ -11,7 +11,7 @@ ENV DEBIAN_FRONTEND noninteractive

 # define versions to be used (PDAL is not available on Debian, so we
compile it here)
 # https://github.com/PDAL/PDAL/releases
-ARG PDAL_VERSION=2.4.3
+ARG PDAL_VERSION=2.5.5

 SHELL ["/bin/bash", "-c"]

@@ -43,7 +43,6 @@ RUN apt-get update && apt-get upgrade -y && \
     libjsoncpp-dev \
     libnetcdf-dev \
     libncurses5-dev \
-    libopenblas-base \
     libopenblas-dev \
     libopenjp2-7 \
     libopenjp2-7-dev \

So far it seems to be ok but then I get

...
STEP 45/59: RUN apt-get clean -y
--> 60d9dd420330
STEP 46/59: RUN rm -r /src/grass_build/.git
--> c9ea0db622e8
STEP 47/59: WORKDIR /scripts
--> 14099929847b
STEP 48/59: RUN pip3 install grass-session
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python
installation or OS distribution provider. You can override this, at
the risk of breaking your Python installation or OS, by passing
--break-system-packages.
hint: See PEP 668 for the detailed specification.
Error: building at STEP "RUN pip3 install grass-session": while
running runtime: exit status 1

What is the best practice for Debian Dockerfiles here? A venv doesn't
make sense in this context.

Best,
Markus


More information about the grass-dev mailing list