From af68bf25aa5c9305c8ba62c272fb4f6471e3fab6 Mon Sep 17 00:00:00 2001 From: Nicholas Chin Date: Mon, 5 Feb 2024 12:59:16 -0700 Subject: docker/doc.coreboot.org: Install pip modules into virtual env Currently, pip modules are installed system-wide, which may cause conflicts with modules installed using the package manager. Newer versions of the Alpine base image also mark its system wide Python installation as an externally managed environment, which will cause pip to return an error as per recent Python recommendations [1]. TEST: - `make -C util/docker doc.coreboot.org` builds the container successfully - `make -C util/docker docker-build-docs` builds the documentation successfully [1] https://peps.python.org/pep-0668/ Change-Id: Idd9cc5e6fb28b42ef8e4fa5db01eb9ef192ba0ec Signed-off-by: Nicholas Chin Reviewed-on: https://review.coreboot.org/c/coreboot/+/80311 Tested-by: build bot (Jenkins) Reviewed-by: Matt DeVillier --- util/docker/doc.coreboot.org/Dockerfile | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'util') diff --git a/util/docker/doc.coreboot.org/Dockerfile b/util/docker/doc.coreboot.org/Dockerfile index df741d81df..b45660de1c 100644 --- a/util/docker/doc.coreboot.org/Dockerfile +++ b/util/docker/doc.coreboot.org/Dockerfile @@ -3,15 +3,22 @@ FROM alpine:3.18.3 COPY makeSphinx.sh /makeSphinx.sh RUN apk add --no-cache python3 py3-pip make bash git openjdk8-jre ttf-dejavu fontconfig \ - && pip3 install --upgrade --no-cache-dir pip \ - && pip3 install --no-cache-dir \ + && chmod 755 /makeSphinx.sh +RUN adduser -D coreboot + +USER coreboot +ENV VIRTUAL_ENV="/home/coreboot/python3" +ENV PATH=$VIRTUAL_ENV/bin:$PATH:/home/coreboot/.local/bin +RUN python3 -m venv $VIRTUAL_ENV && \ + echo "source ${VIRTUAL_ENV}/bin/activate" >> /home/coreboot/.bashrc && \ + pip3 install --upgrade --no-cache-dir pip && \ + pip3 install --no-cache-dir \ jinja2==3.1.2 \ recommonmark===0.7.1\ sphinx===6.2.1 \ sphinxcontrib-ditaa===1.0.2 \ sphinx_autobuild===2021.3.14 \ - sphinx_rtd_theme===1.2.2 \ - && chmod 755 /makeSphinx.sh + sphinx_rtd_theme===1.2.2 ADD https://github.com/stathissideris/ditaa/releases/download/v0.11.0/ditaa-0.11.0-standalone.jar \ /usr/lib/ditaa-0.11.0-standalone.jar -- cgit v1.2.3