Files
WAR_exwayz3dm/exwayz_test.dockerfile

45 lines
1.6 KiB
Docker

# syntax=docker/dockerfile:1.3
FROM ros:jazzy-ros-core
# Build argument provided by buildx/BuildKit: `TARGETARCH` (amd64, arm64, etc.).
# Default to amd64 when not provided.
ARG TARGETARCH=amd64
# Copy both architecture-specific packages into the image and choose the right one at build time
COPY pkgs/exwayz_3d_mapping-1.2.2-linux-u24.04-amd64.deb /tmp/exwayz_amd64.deb
COPY pkgs/exwayz_3d_mapping-1.2.2-linux-u24.04-aarch64.deb /tmp/exwayz_aarch64.deb
#If debug, install the following:
RUN apt update && apt install -y libgl1-mesa-dev libosmesa6-dev libglew-dev libgles2-mesa-dev libglfw3-dev libstdc++6 mesa-utils
#TODO we're installing unneccessary things like the humanity-icons package, clean this up later.
# RUN --mount=type=secret,id=exwayz_license set -eux; \
# if [ "${TARGETARCH}" = "aarch64" ]; then \
# pkg=/tmp/exwayz_aarch64.deb; \
# else \
# pkg=/tmp/exwayz_amd64.deb; \
# fi; \
# apt-get update; \
# apt-get install -fy "$pkg"; \
# if [ -s /run/secrets/exwayz_license ]; then \
# exwayz_license --query "$(cat /run/secrets/exwayz_license)" || true; \
# fi; \
# rm -f /tmp/exwayz_amd64.deb /tmp/exwayz_aarch64.deb; \
# rm -rf /var/lib/apt/lists/*
RUN --mount=type=secret,id=exwayz_license set -eux; \
apt-get update; \
apt-get install -fy /tmp/exwayz_amd64.deb; \
if [ -s /run/secrets/exwayz_license ]; then \
exwayz_license --query "$(cat /run/secrets/exwayz_license)" || true; \
else \
echo "No license file provided"; \
exit 1; \
fi; \
rm -f /tmp/exwayz_amd64.deb /tmp/exwayz_aarch64.deb; \
rm -rf /var/lib/apt/lists/*
# TODO verify license was applied successfully
# Set entrypoint
ENTRYPOINT ["/ros_entrypoint.sh"]