multi-stage build for toolchain installation

This commit is contained in:
Robin Müller 2021-05-21 19:25:40 +02:00
parent 4a7ea4b727
commit 985151c3ed
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
1 changed files with 25 additions and 8 deletions

View File

@ -1,21 +1,38 @@
# Specify the cross compiler version
# See: https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack
ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT="10.2.1-1.1.2"
# Stage 0
FROM ubuntu:latest
# Issues with XPM cross-compiler on alpine..
# FROM alpine:latest
ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT
ENV XPM_ARM_XCOMPILER_VERSION=$XPM_ARM_XCOMPILER_VERSION_DEFAULT
# Specify the cross compiler version
# See: https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack
ENV XPM_ARM_XCOMPILER_VERSION="10.2.1-1.1.2"
RUN apt-get update -y && apt-get upgrade -y
RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
RUN apt-get install -y cmake g++ npm; \
RUN apt-get update ; \
DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata; \
apt-get install -y npm; \
npm install --global xpm@latest; \
xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@${XPM_ARM_XCOMPILER_VERSION}
# RUN apk add cmake make bash npm; \
# npm install --global xpm@latest; \
# xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest
ENV PATH="/root/.local/xPacks/@xpack-dev-tools/arm-none-eabi-gcc/${XPM_ARM_XCOMPILER_VERSION}/.content/bin:${PATH}"
# Stage 1
FROM ubuntu:latest
# FROM alpine:latest
COPY --from=0 /root/.local/xPacks/@xpack-dev-tools /usr/tools/
ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT
ENV XPM_ARM_XCOMPILER_VERSION=$XPM_ARM_XCOMPILER_VERSION_DEFAULT
RUN echo ${XPM_ARM_XCOMPILER_VERSION}
RUN apt-get update && apt-get install -y cmake g++
# RUN apk add cmake make g++
ENV PATH="/usr/tools/arm-none-eabi-gcc/${XPM_ARM_XCOMPILER_VERSION}/.content/bin:${PATH}"
WORKDIR /usr/src/app
COPY . .