diff options
Diffstat (limited to 'docker/compile-and-check/base/Dockerfile')
-rw-r--r-- | docker/compile-and-check/base/Dockerfile | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/docker/compile-and-check/base/Dockerfile b/docker/compile-and-check/base/Dockerfile index 0d6fc34..2f946f1 100644 --- a/docker/compile-and-check/base/Dockerfile +++ b/docker/compile-and-check/base/Dockerfile @@ -1,26 +1,40 @@ -FROM debian:experimental +FROM debian:bookworm + + +# This image provides base dependencies needed to compile and run +# GNU Taler components + RUN apt-get update +# Explanations for weirder dependencies: +# - texlive-* is required by the exchange test cases RUN apt-get install -y autoconf autopoint libtool texinfo \ libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev \ libjansson-dev python3-pip git recutils libsqlite3-dev \ libpq-dev postgresql libcurl4-openssl-dev libsodium-dev git \ libqrencode-dev zip jq npm openjdk-17-jre nginx procps \ curl python3-jinja2 wget curl python3-sphinx socat apache2-utils \ - python3-sphinx-rtd-theme sqlite3 vim emacs + python3-sphinx-rtd-theme sqlite3 vim emacs faketime \ + texlive-latex-base texlive-latex-extra + +RUN useradd -m talercheck + +USER talercheck +WORKDIR /home/talercheck + +# pnpm likes to have the tmp directory +RUN mkdir -p tmp + +# Make pip3 happy by running as a non-root user +# and setting PATH correctly +ENV PATH="/home/talercheck/.local/bin:$PATH" + RUN pip3 install requests click poetry uwsgi htmlark -ARG tags_file -# The following command provides a conditional copy from -# the host filesystem. It mounts the current directory - -# where the tags file MIGHT be - to /context in the container. -# It appears NOT possible to mount arbitrary paths from the -# host with "RUN --mount". Hence, when a tags file is given, -# the CWD has to be the one containing the tags file. build_base.sh -# sets (1) the CWD this way and (2) $tags_file to be the tags file -# basename, before starting the compilation. -RUN --mount=target=/context if test -n "$tags_file"; then cp \ -/context/${tags_file} /tags.sh; else touch /tags.sh; fi -RUN chmod +x /tags.sh -COPY ./compile_and_check.sh / -ENTRYPOINT /compile_and_check.sh +RUN npm config set prefix $HOME/.npm-global +RUN npm install -g pnpm + +COPY ./base/util.sh ./base/compile_and_check.sh /home/talercheck/ +COPY ./config/tags.sh /home/talercheck/tags.sh + +ENTRYPOINT /home/talercheck/compile_and_check.sh |