Support vendor tarballs for exchange/merchant; pass tarball args

This commit is contained in:
nocci 2025-12-12 11:24:40 +00:00
parent 076d8a76f5
commit 30c6b94d8c
5 changed files with 50 additions and 7 deletions

View file

@ -9,6 +9,8 @@ ARG MERCHANT_REF=master
ARG LIBEUFIN_REF=master
# Optional tarball URLs (when set, git clone is skipped)
ARG GNUNET_TARBALL_URL=
ARG EXCHANGE_TARBALL_URL=
ARG MERCHANT_TARBALL_URL=
RUN apt-get update && apt-get install -y \
build-essential git automake libtool pkg-config \
@ -62,11 +64,48 @@ RUN set -e; \
./configure --prefix=/usr && make -j$(nproc) && make install
# Taler Exchange + Merchant
RUN git clone --depth 1 --branch "${EXCHANGE_REF}" https://git.taler.net/exchange.git /src/exchange && \
cd /src/exchange && ./bootstrap && \
./configure --prefix=/usr && make -j$(nproc) && make install && \
git clone --depth 1 --branch "${MERCHANT_REF}" https://git.taler.net/merchant.git /src/merchant && \
cd /src/merchant && ./bootstrap && \
RUN set -e; \
# Exchange
EXCHANGE_DIR=""; \
if ls /vendor/exchange*.tar.gz >/dev/null 2>&1; then \
LOCAL_TARBALL="$(ls /vendor/exchange*.tar.gz | head -1)"; \
echo "Using local Exchange tarball from ${LOCAL_TARBALL}"; \
mkdir -p /src && cd /src; \
cp "${LOCAL_TARBALL}" exchange.tar.gz; \
tar xzf exchange.tar.gz; \
EXCHANGE_DIR="$(ls -d exchange-* | head -1)"; \
elif [ -n "${EXCHANGE_TARBALL_URL}" ]; then \
echo "Fetching Exchange tarball ${EXCHANGE_TARBALL_URL}"; \
mkdir -p /src && cd /src; \
curl -L "${EXCHANGE_TARBALL_URL}" -o exchange.tar.gz; \
tar xzf exchange.tar.gz; \
EXCHANGE_DIR="$(ls -d exchange-* | head -1)"; \
else \
git clone --depth 1 --branch "${EXCHANGE_REF}" https://git.taler.net/exchange.git /src/exchange; \
EXCHANGE_DIR="/src/exchange"; \
fi; \
cd "${EXCHANGE_DIR}" && ./bootstrap && \
./configure --prefix=/usr && make -j$(nproc) && make install; \
# Merchant
MERCHANT_DIR=""; \
if ls /vendor/merchant*.tar.gz >/dev/null 2>&1; then \
LOCAL_TARBALL="$(ls /vendor/merchant*.tar.gz | head -1)"; \
echo "Using local Merchant tarball from ${LOCAL_TARBALL}"; \
mkdir -p /src && cd /src; \
cp "${LOCAL_TARBALL}" merchant.tar.gz; \
tar xzf merchant.tar.gz; \
MERCHANT_DIR="$(ls -d merchant-* | head -1)"; \
elif [ -n "${MERCHANT_TARBALL_URL}" ]; then \
echo "Fetching Merchant tarball ${MERCHANT_TARBALL_URL}"; \
mkdir -p /src && cd /src; \
curl -L "${MERCHANT_TARBALL_URL}" -o merchant.tar.gz; \
tar xzf merchant.tar.gz; \
MERCHANT_DIR="$(ls -d merchant-* | head -1)"; \
else \
git clone --depth 1 --branch "${MERCHANT_REF}" https://git.taler.net/merchant.git /src/merchant; \
MERCHANT_DIR="/src/merchant"; \
fi; \
cd "${MERCHANT_DIR}" && ./bootstrap && \
./configure --prefix=/usr && make -j$(nproc) && make install
# LibEuFin (Bank)