summaryrefslogtreecommitdiff
path: root/docker/compile-and-check/base/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/compile-and-check/base/Dockerfile')
-rw-r--r--docker/compile-and-check/base/Dockerfile46
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