espressif-adf (master)
Published 2025-08-22 21:56:31 +02:00 by cs
Installation
docker pull git.stop.pe/images/espressif-adf:mastersha256:6dbd6c5e0ac77c3dcca5c15b2e651a5bc493998f5df6d96997238820c4dd82b5Image layers
| # debian.sh --arch 'amd64' out/ 'bookworm' '@1754870400' |
| ARG DEBIAN_FRONTEND=noninteractive |
| RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c : && apt update && apt upgrade -y && apt install -y apt-utils bison bzip2 ca-certificates ccache check curl flex git git-lfs gperf lcov libbsd-dev libffi-dev libglib2.0-0 libncurses-dev libpixman-1-0 libsdl2-2.0-0 libslirp0 libusb-1.0-0-dev make ninja-build python3 python3-venv ruby unzip wget xz-utils zip && apt autoremove -y && rm -rf /var/lib/apt/lists/* && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && : # buildkit |
| ARG ADF_CLONE_URL=https://github.com/espressif/esp-adf.git |
| ARG ADF_CHECKOUT_REF= |
| ARG ADF_CLONE_SHALLOW= |
| ARG ADF_CLONE_SHALLOW_DEPTH=1 |
| ARG ADF_INSTALL_TARGETS=all |
| ARG ADF_VERSION=master |
| ARG IDF_VERSION=release/v5.3 |
| ENV ADF_PATCH=esp-adf-fix-struct.patch |
| ENV ADF_PATH=/opt/esp/adf |
| ENV IDF_PATH=/opt/esp/adf/esp-idf |
| ENV IDF_TOOLS_PATH=/opt/esp |
| ENV ESP_USER=esp |
| ENV ADF_CLONE_BRANCH_OR_TAG=master |
| ENV IDF_CLONE_BRANCH_OR_TAG=release/v5.3 |
| RUN |8 DEBIAN_FRONTEND=noninteractive ADF_CLONE_URL=https://github.com/espressif/esp-adf.git ADF_CHECKOUT_REF= ADF_CLONE_SHALLOW= ADF_CLONE_SHALLOW_DEPTH=1 ADF_INSTALL_TARGETS=all ADF_VERSION=master IDF_VERSION=release/v5.3 /bin/sh -c if [ "$ADF_INSTALL_TARGETS" = "all" ]; then apt update >/dev/null 2>&1 && apt install -y build-essential patch >/dev/null 2>&1 && apt autoremove -y >/dev/null 2>&1 && rm -rf /var/lib/apt/lists/* ; fi # buildkit |
| COPY esp-adf-fix-struct.patch /tmp/ # buildkit |
| RUN |8 DEBIAN_FRONTEND=noninteractive ADF_CLONE_URL=https://github.com/espressif/esp-adf.git ADF_CHECKOUT_REF= ADF_CLONE_SHALLOW= ADF_CLONE_SHALLOW_DEPTH=1 ADF_INSTALL_TARGETS=all ADF_VERSION=master IDF_VERSION=release/v5.3 /bin/sh -c echo ADF_CHECKOUT_REF=$ADF_CHECKOUT_REF ADF_CLONE_BRANCH_OR_TAG=$ADF_CLONE_BRANCH_OR_TAG && git clone --recursive ${ADF_CLONE_SHALLOW:+--depth=${ADF_CLONE_SHALLOW_DEPTH} --shallow-submodules} ${ADF_CLONE_BRANCH_OR_TAG:+-b $ADF_CLONE_BRANCH_OR_TAG} $ADF_CLONE_URL $ADF_PATH && git config --system --add safe.directory $ADF_PATH && if [ -n "$ADF_CHECKOUT_REF" ]; then cd $ADF_PATH && if [ -n "$ADF_CLONE_SHALLOW" ]; then git fetch origin --depth=${ADF_CLONE_SHALLOW_DEPTH} --recurse-submodules ${ADF_CHECKOUT_REF}; fi && git checkout $ADF_CHECKOUT_REF && git submodule update --init --recursive; fi && if [ -n "$IDF_CLONE_BRANCH_OR_TAG" ]; then cd $ADF_PATH/esp-idf && git checkout "${IDF_CLONE_BRANCH_OR_TAG}" && git submodule update; fi # buildkit |
| RUN |8 DEBIAN_FRONTEND=noninteractive ADF_CLONE_URL=https://github.com/espressif/esp-adf.git ADF_CHECKOUT_REF= ADF_CLONE_SHALLOW= ADF_CLONE_SHALLOW_DEPTH=1 ADF_INSTALL_TARGETS=all ADF_VERSION=master IDF_VERSION=release/v5.3 /bin/sh -c : && update-ca-certificates --fresh && $ADF_PATH/esp-idf/tools/idf_tools.py --non-interactive install required --targets=${ADF_INSTALL_TARGETS} && $ADF_PATH/esp-idf/tools/idf_tools.py --non-interactive install qemu* --targets=${ADF_INSTALL_TARGETS} && $ADF_PATH/esp-idf/tools/idf_tools.py --non-interactive install cmake && $ADF_PATH/esp-idf/tools/idf_tools.py --non-interactive install-python-env && rm -rf $IDF_TOOLS_PATH/dist && : # buildkit |
| RUN |8 DEBIAN_FRONTEND=noninteractive ADF_CLONE_URL=https://github.com/espressif/esp-adf.git ADF_CHECKOUT_REF= ADF_CLONE_SHALLOW= ADF_CLONE_SHALLOW_DEPTH=1 ADF_INSTALL_TARGETS=all ADF_VERSION=master IDF_VERSION=release/v5.3 /bin/sh -c : && useradd -m -s /usr/bin/bash ${ESP_USER} && echo ". /usr/local/nvm/nvm.sh" >> /etc/profile.d/02-activate-nvm.sh && echo "PATH=/usr/local/nvm/versions/node/v18.20.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" >> /etc/profile.d/02-activate-nvm.sh && echo "export PATH" >> /etc/profile.d/02-activate-nvm.sh && echo "export NVM_DIR" >> /etc/profile.d/02-activate-nvm.sh && echo "PATH=/usr/local/nvm/versions/node/v18.20.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" >> /etc/environment && ln -s /usr/local/nvm/versions/node/v18.20.8/bin/node /usr/local/bin/node && mkdir /project && chown ${ESP_USER}:${ESP_USER} /project # buildkit |
| RUN |8 DEBIAN_FRONTEND=noninteractive ADF_CLONE_URL=https://github.com/espressif/esp-adf.git ADF_CHECKOUT_REF= ADF_CLONE_SHALLOW= ADF_CLONE_SHALLOW_DEPTH=1 ADF_INSTALL_TARGETS=all ADF_VERSION=master IDF_VERSION=release/v5.3 /bin/sh -c echo 'alias get_adf=". /opt/esp/adf/export.sh"' >> /home/${ESP_USER}/.bashrc # buildkit |
| ENV IDF_PYTHON_CHECK_CONSTRAINTS=no |
| ENV IDF_CCACHE_ENABLE=1 |
| COPY entrypoint.sh /opt/esp/entrypoint.sh # buildkit |
| USER esp |
| WORKDIR /home/esp |
| ENTRYPOINT ["/opt/esp/entrypoint.sh"] |
| CMD ["/bin/bash"] |