Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 1 | # Due to bandwidth limitation, we need to keep the base image into our |
| 2 | # Artifactory Docker Registry. Because we have more than one registry, |
| 3 | # we need to set during build time which Artifactory Docker Registry to use. |
| 4 | ARG DOCKER_REGISTRY |
| 5 | FROM ${DOCKER_REGISTRY}/ubuntu:focal |
| 6 | |
| 7 | # install packages from official Ubuntu repo |
| 8 | ENV DEBIAN_FRONTEND=noninteractive |
Jonatan Antoni | b5d07f0 | 2021-07-14 12:50:57 +0200 | [diff] [blame] | 9 | # hadolint ignore=DL3008 |
Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 10 | RUN apt-get update && \ |
| 11 | apt-get install --no-install-recommends -y \ |
| 12 | bc \ |
| 13 | build-essential \ |
| 14 | curl \ |
| 15 | dos2unix \ |
| 16 | git \ |
| 17 | lib32stdc++6 \ |
| 18 | mscgen \ |
| 19 | p7zip-full \ |
| 20 | python3 \ |
| 21 | python3-pip \ |
| 22 | tar \ |
| 23 | unzip \ |
| 24 | wget \ |
| 25 | libxml2-utils \ |
| 26 | zip && \ |
| 27 | apt-get autoremove -y && \ |
| 28 | apt-get autoclean -y && \ |
| 29 | rm -rf /var/lib/apt/lists/* |
| 30 | |
| 31 | # Create build ARGs for installer files & versions |
| 32 | ARG GCC=gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 |
| 33 | |
| 34 | # Including dependency folder |
| 35 | ARG DEPENDENCIESFOLDER=dependenciesFiles |
| 36 | ARG TOOLS_PATH=/opt |
| 37 | ARG INSTALLER_PATH=/tmp/dependenciesFiles |
| 38 | RUN mkdir -p ${INSTALLER_PATH} |
| 39 | COPY dependenciesFiles/${GCC} ${INSTALLER_PATH}/${GCC} |
| 40 | COPY dependenciesFiles/buildtools ${TOOLS_PATH}/buildtools |
Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 41 | |
| 42 | # install & setup gcc |
| 43 | RUN mkdir -p ${TOOLS_PATH} |
| 44 | WORKDIR ${TOOLS_PATH} |
| 45 | RUN tar -xvf ${INSTALLER_PATH}/${GCC} |
| 46 | ENV PATH=${PATH}:${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin |
| 47 | ENV CI_GCC_TOOLCHAIN_ROOT=${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin |
| 48 | WORKDIR / |
| 49 | |
| 50 | # install Python requirements |
| 51 | COPY requirements.txt ${INSTALLER_PATH}/ |
Jonatan Antoni | b5d07f0 | 2021-07-14 12:50:57 +0200 | [diff] [blame] | 52 | # hadolint ignore=DL3013 |
Jonatan Antoni | e54ebc4 | 2021-07-14 12:27:42 +0200 | [diff] [blame] | 53 | RUN python3 -m pip install -U --no-cache-dir pip && \ |
| 54 | python3 -m pip install -U --no-cache-dir -r ${INSTALLER_PATH}/requirements.txt |
Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 55 | |
| 56 | # install buildtools |
| 57 | RUN python3 -m pip install --no-cache-dir -r ${TOOLS_PATH}/buildtools/requirements.txt |
| 58 | COPY rtebuild /root/.rtebuild |
| 59 | ENV PATH=${PATH}:${TOOLS_PATH}/buildtools |
| 60 | |
Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 61 | # remove dependency folder |
| 62 | RUN rm -rf ${INSTALLER_PATH} |
| 63 | |
| 64 | CMD ["bash"] |