@@ -27,12 +27,18 @@ RUN set -x \
2727# util/third_party/ot-br-posix/third_party/cpp-httplib/repo/test/www/#U65e5#U672c#U8a9eDir/#U65e5#U672c#U8a9eFile.txt
2828ENV LANG=C.UTF-8
2929
30- # Download and extract Simplicity SDK using SISDK_Tag, remove unused protocols
31- RUN wget https://github.com/SiliconLabs/simplicity_sdk/releases/download/${SISDK_Tag}/simplicity-sdk.zip -O /tmp/simplicity_sdk.zip \
30+ # Download and extract the Simplicity SDK prerelease, remove unused protocols
31+ RUN set -eu \
32+ && SISDK_VERSION="${SISDK_Tag%-*}" \
33+ && SISDK_BUILD="${SISDK_Tag##*-}" \
34+ && SISDK_URL="https://github.com/SiliconLabsSoftware/sisdk-prerelease/archive/refs/tags/v${SISDK_VERSION}-build.sisdk-${SISDK_VERSION}-${SISDK_BUILD}.zip" \
35+ && echo "Downloading Simplicity SDK from ${SISDK_URL}" \
36+ && mkdir -p /tmp/simplicity_sdk \
37+ && wget --retry-connrefused --tries=3 --waitretry=5 --server-response "${SISDK_URL}" -O /tmp/simplicity_sdk.zip \
3238 && unzip /tmp/simplicity_sdk.zip -d /tmp/simplicity_sdk \
3339 && rm -rf /tmp/simplicity_sdk.zip \
3440 && rm -rf /tmp/simplicity_sdk/protocol/flex /tmp/simplicity_sdk/protocol/z-wave /tmp/simplicity_sdk/protocol/wisun \
35- && find /tmp/simplicity_sdk/protocol/openthread - name "*efr32mg21*" -delete \
41+ && find /tmp/simplicity_sdk -path "* /protocol/openthread" -type d -exec find {} - name "*efr32mg21*" -delete \; \
3642 && : # last line
3743
3844# Clone WiSeConnect Wi-Fi and Bluetooth Software 2.12.0 (7dc7686)
@@ -41,28 +47,50 @@ RUN git clone --depth=1 --single-branch --branch=2.12.0 https://github.com/Silic
4147 && rm -rf .git \
4248 && : # last line
4349
44- # Clone WiSeConnect SDK using WiFI_SDK_Tag
45- RUN git clone --depth=1 --single-branch --branch=${WiFI_SDK_Tag} https://github.com/SiliconLabs/wiseconnect.git /tmp/wifi_sdk \
46- && cd /tmp/wifi_sdk \
47- && rm -rf .git \
50+ # Download and extract the WiSeConnect SDK prerelease
51+ RUN set -eu \
52+ && SISDK_VERSION="${SISDK_Tag%-*}" \
53+ && SISDK_BUILD="${SISDK_Tag##*-}" \
54+ && WIFI_SDK_URL="https://github.com/SiliconLabsSoftware/wiseconnect-prerelease/archive/refs/tags/v${SISDK_VERSION}-build.sisdk-${SISDK_VERSION}-${SISDK_BUILD}.zip" \
55+ && echo "Downloading WiSeConnect SDK from ${WIFI_SDK_URL}" \
56+ && wget --retry-connrefused --tries=3 --waitretry=5 --server-response "${WIFI_SDK_URL}" -O /tmp/wifi_sdk.zip \
57+ && mkdir -p /tmp/wifi_sdk \
58+ && unzip /tmp/wifi_sdk.zip -d /tmp/wifi_sdk \
59+ && rm -rf /tmp/wifi_sdk.zip \
4860 && : # last line
4961
50- # Download and extract SLC CLI
51- RUN wget https://www.silabs.com/documents/public/software/slc_cli_linux.zip \
52- && unzip ./slc_cli_linux.zip -d /tmp \
53- && rm ./slc_cli_linux.zip \
62+ # Setup SLT CLI (kept in the final image on PATH as /opt/silabs/slt/slt)
63+ RUN set -x \
64+ && mkdir -p /tmp/slt_install /tmp/slt_cli_bin \
65+ && curl -fsSL https://www.silabs.com/documents/public/software/slt-cli-1.2.2-linux-x64.zip -o /tmp/slt.zip \
66+ && unzip -q /tmp/slt.zip -d /tmp/slt_install \
67+ && rm /tmp/slt.zip \
68+ && chmod +x /tmp/slt_install/slt \
69+ && cp -a /tmp/slt_install/slt /tmp/slt_cli_bin/slt \
70+ && : # last line
71+
72+ # Install packages via SLT (simplicity-sdk, wiseconnect, slc-cli, python) and copy to /tmp for final image.
73+ #
74+ # agents_md Jinja generation loads the SLT python apack via Jep. SLC discovers that
75+ # apack through ~/.silabs/slt/apack_registry.json (+ local.json), not by scanning
76+ # installs/archive alone. Copying only python-v* leaves generation broken with:
77+ # "python script did not properly register a template generator"
78+ # which is the same failure Silabs documents as needing `slt install python`
79+ # (that command regenerates the registry — bake the registry instead).
80+ RUN set -x \
81+ && /tmp/slt_install/slt install slc-cli \
82+ && cp -a $(/tmp/slt_install/slt where slc-cli) /tmp/slc_cli \
5483 && : # last line
5584
5685# Download and extract Simplicity Commander
57- RUN wget https://www.silabs.com/documents/public/software/SimplicityCommander-Linux.zip \
58- && unzip ./SimplicityCommander-Linux.zip -d /tmp/simplicity-commander \
59- && rm ./SimplicityCommander-Linux.zip \
60- && FILE=$(find /tmp/simplicity-commander -name "*Commander_linux_x86_64*" ) \
61- && if [ -n "$FILE" ]; then \
62- tar -xjvf "$FILE" -C /tmp/simplicity-commander; \
63- else \
64- echo "File not found" ; \
65- fi \
86+ RUN curl -fL -A "Mozilla/5.0" \
87+ https://www.silabs.com/documents/public/software/SimplicityCommander-Linux.zip \
88+ -o /tmp/SimplicityCommander-Linux.zip \
89+ && unzip /tmp/SimplicityCommander-Linux.zip -d /tmp/simplicity-commander \
90+ && rm /tmp/SimplicityCommander-Linux.zip \
91+ && FILE=$(find /tmp/simplicity-commander -type f -name "*Commander_linux_x86_64*" ) \
92+ && test -n "$FILE" \
93+ && tar -xjvf "$FILE" -C /tmp/simplicity-commander \
6694 && : # last line
6795
6896# Download and extract ARM GCC toolchain v12.2.rel1
@@ -102,5 +130,5 @@ COPY --from=build /tmp/wiseconnect-wifi-bt-sdk/ ${WISECONNECT_SDK_ROOT}
102130COPY --from=build /tmp/wifi_sdk ${WISECONNECT3_DIR}
103131COPY --from=build /tmp/slc_cli /opt/silabs/slc_cli
104132COPY --from=build /tmp/simplicity-commander /opt/silabs/simplicity-commander
105- COPY --from=build /tmp/arm-gnu-toolchain-* ${ARM_GCC_DIR}
133+ COPY --from=build /tmp/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi ${ARM_GCC_DIR}
106134COPY --from=build /tmp/amazon-corretto-21.0.7.6.1-linux-x64 ${JAVA21_HOME}
0 commit comments