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 |
| 9 | RUN apt-get update && \ |
| 10 | apt-get install --no-install-recommends -y \ |
| 11 | bc \ |
| 12 | build-essential \ |
| 13 | curl \ |
| 14 | dos2unix \ |
| 15 | git \ |
| 16 | lib32stdc++6 \ |
| 17 | mscgen \ |
| 18 | p7zip-full \ |
| 19 | python3 \ |
| 20 | python3-pip \ |
| 21 | tar \ |
| 22 | unzip \ |
| 23 | wget \ |
| 24 | libxml2-utils \ |
| 25 | zip && \ |
| 26 | apt-get autoremove -y && \ |
| 27 | apt-get autoclean -y && \ |
| 28 | rm -rf /var/lib/apt/lists/* |
| 29 | |
| 30 | # Create build ARGs for installer files & versions |
| 31 | ARG GCC=gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 |
| 32 | |
| 33 | # Including dependency folder |
| 34 | ARG DEPENDENCIESFOLDER=dependenciesFiles |
| 35 | ARG TOOLS_PATH=/opt |
| 36 | ARG INSTALLER_PATH=/tmp/dependenciesFiles |
| 37 | RUN mkdir -p ${INSTALLER_PATH} |
| 38 | COPY dependenciesFiles/${GCC} ${INSTALLER_PATH}/${GCC} |
| 39 | COPY dependenciesFiles/buildtools ${TOOLS_PATH}/buildtools |
Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 40 | |
| 41 | # install & setup gcc |
| 42 | RUN mkdir -p ${TOOLS_PATH} |
| 43 | WORKDIR ${TOOLS_PATH} |
| 44 | RUN tar -xvf ${INSTALLER_PATH}/${GCC} |
| 45 | ENV PATH=${PATH}:${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin |
| 46 | ENV CI_GCC_TOOLCHAIN_ROOT=${TOOLS_PATH}/gcc-arm-none-eabi-10-2020-q4-major/bin |
| 47 | WORKDIR / |
| 48 | |
| 49 | # install Python requirements |
| 50 | COPY requirements.txt ${INSTALLER_PATH}/ |
Jonatan Antoni | e54ebc4 | 2021-07-14 12:27:42 +0200 | [diff] [blame^] | 51 | RUN python3 -m pip install -U --no-cache-dir pip && \ |
| 52 | 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] | 53 | |
| 54 | # install buildtools |
| 55 | RUN python3 -m pip install --no-cache-dir -r ${TOOLS_PATH}/buildtools/requirements.txt |
| 56 | COPY rtebuild /root/.rtebuild |
| 57 | ENV PATH=${PATH}:${TOOLS_PATH}/buildtools |
| 58 | |
Jonatan Antoni | 5a9fb84 | 2021-06-22 18:20:29 +0200 | [diff] [blame] | 59 | # remove dependency folder |
| 60 | RUN rm -rf ${INSTALLER_PATH} |
| 61 | |
| 62 | CMD ["bash"] |