dockerfile.gnu 1.9 KB

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