30 lines
996 B
Docker
30 lines
996 B
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
|
|
|
|
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/*
|
|
|
|
# TODO verify license was applied successfully
|
|
|
|
# Set entrypoint
|
|
ENTRYPOINT ["/ros_entrypoint.sh"]
|