Przeglądaj źródła

Merge branch 'backport/v4.3/dockerfile_multiarch' into 'release/v4.3'

Dockerfile working on x64/ARM (v4.3)

See merge request espressif/esp-idf!15521
Roland Dobai 4 lat temu
rodzic
commit
d5699b08cc
2 zmienionych plików z 24 dodań i 11 usunięć
  1. 19 11
      tools/docker/Dockerfile
  2. 5 0
      tools/tools.json

+ 19 - 11
tools/docker/Dockerfile

@@ -3,7 +3,9 @@ FROM ubuntu:18.04
 ARG DEBIAN_FRONTEND=noninteractive
 
 # We need libpython2.7 due to GDB tools
-RUN apt-get update && apt-get install -y \
+RUN : \
+  && apt-get update \
+  && apt-get install -y \
     apt-utils \
     bison \
     ca-certificates \
@@ -14,22 +16,25 @@ RUN apt-get update && apt-get install -y \
     git \
     gperf \
     lcov \
+    libffi-dev \
     libncurses-dev \
+    libpython2.7 \
     libusb-1.0-0-dev \
     make \
     ninja-build \
-    libpython2.7 \
     python3 \
     python3-pip \
     unzip \
     wget \
     xz-utils \
     zip \
-   && apt-get autoremove -y \
-   && rm -rf /var/lib/apt/lists/* \
-   && update-alternatives --install /usr/bin/python python /usr/bin/python3 10
-
-RUN python -m pip install --upgrade pip virtualenv
+  && apt-get autoremove -y \
+  && rm -rf /var/lib/apt/lists/* \
+  && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \
+  && python -m pip install --upgrade \
+    pip \
+    virtualenv \
+  && :
 
 # To build the image for a branch or a tag of IDF, pass --build-arg IDF_CLONE_BRANCH_OR_TAG=name.
 # To build the image with a specific commit ID of IDF, pass --build-arg IDF_CHECKOUT_REF=commit-id.
@@ -54,15 +59,18 @@ RUN echo IDF_CHECKOUT_REF=$IDF_CHECKOUT_REF IDF_CLONE_BRANCH_OR_TAG=$IDF_CLONE_B
       git submodule update --init --recursive; \
     fi
 
-# Install all the required tools, plus CMake
-RUN $IDF_PATH/tools/idf_tools.py --non-interactive install required \
+# Install all the required tools
+ARG CRYPTOGRAPHY_DONT_BUILD_RUST=1
+RUN : \
+  && update-ca-certificates --fresh \
+  && $IDF_PATH/tools/idf_tools.py --non-interactive install required \
   && $IDF_PATH/tools/idf_tools.py --non-interactive install cmake \
   && $IDF_PATH/tools/idf_tools.py --non-interactive install-python-env \
-  && rm -rf $IDF_TOOLS_PATH/dist
+  && rm -rf $IDF_TOOLS_PATH/dist \
+  && :
 
 # Ccache is installed, enable it by default
 ENV IDF_CCACHE_ENABLE=1
-
 COPY entrypoint.sh /opt/esp/entrypoint.sh
 
 ENTRYPOINT [ "/opt/esp/entrypoint.sh" ]

+ 5 - 0
tools/tools.json

@@ -407,6 +407,11 @@
             "size": 39517697,
             "url": "https://github.com/Kitware/CMake/releases/download/v3.16.4/cmake-3.16.4-Linux-x86_64.tar.gz"
           },
+          "linux-armel": {
+            "sha256": "f8bd050c2745f0dcc4b7cef9738bbfef775950a10f5bd377abb0062835e669dc",
+            "size": 13759084,
+            "url": "https://dl.espressif.com/dl/cmake/cmake-3.20.3-Linux-armv7l.tar.gz"
+          },
           "macos": {
             "sha256": "f60e0ef96da48725cd8da7d6abe83cd9501167aa51625c90dd4d31081a631279",
             "size": 35802699,