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 <nic.c3.14@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80311 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
37 lines
1.0 KiB
Docker
37 lines
1.0 KiB
Docker
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 \
|
|
&& 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
|
|
|
|
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
|
|
|
|
ADD ditaa.sh /usr/bin/ditaa
|
|
|
|
VOLUME /data-in /data-out
|
|
|
|
# For Sphinx-autobuild
|
|
# Port 8000 - HTTP server
|
|
# Port 35729 - websockets connection to allow automatic browser reloads after each build
|
|
EXPOSE 8000 35729
|
|
|
|
ENTRYPOINT ["/bin/bash", "/makeSphinx.sh"]
|
|
CMD []
|