Skip to content

Commit d0d0c2e

Browse files
Mbed TLS 4.x upgrade.
1 parent 346a4cb commit d0d0c2e

4 files changed

Lines changed: 55 additions & 27 deletions

File tree

‎.github/workflows/docker-publish.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ jobs:
8686
run: |
8787
SISDK_Tag=$(grep '^SISDK_Tag=' docker/matter_extension_dependencies/version | cut -d'=' -f2)
8888
WiFI_SDK_Tag=$(grep '^WiFI_SDK_Tag=' docker/matter_extension_dependencies/version | cut -d'=' -f2)
89-
VERSION="SiSDK${SISDK_Tag}_WiFi_SDK${WiFI_SDK_Tag}"
89+
VERSION="SiSDKv${SISDK_Tag}_WiFi_SDKv${WiFI_SDK_Tag}"
9090
echo "VERSION=$VERSION" >> $GITHUB_ENV
9191
echo "Parsed VERSION: $VERSION"
9292

‎docker/matter_extension_dependencies/Dockerfile‎

Lines changed: 49 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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
2828
ENV 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}
102130
COPY --from=build /tmp/wifi_sdk ${WISECONNECT3_DIR}
103131
COPY --from=build /tmp/slc_cli /opt/silabs/slc_cli
104132
COPY --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}
106134
COPY --from=build /tmp/amazon-corretto-21.0.7.6.1-linux-x64 ${JAVA21_HOME}

‎docker/matter_extension_dependencies/build.sh‎

100644100755
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ if [[ -z "$TAG" ]]; then
2727
fi
2828

2929
# Example TAG: SiSDKv2024.12.1-0.de_WiFi_SDKv3.4.1
30-
# Extract SISDK_Tag and WiFI_SDK_Tag from TAG
31-
SISDK_Tag=$(echo "$TAG" | sed -n 's/^SiSDK\([^_]*\)_WiFi_SDK.*$/\1/p')
32-
WiFI_SDK_Tag=$(echo "$TAG" | sed -n 's/^SiSDK[^_]*_WiFi_SDK\(.*\)$/\1/p')
30+
# Extract SISDK_Tag and WiFI_SDK_Tag from TAG without the v prefix
31+
SISDK_Tag=$(echo "$TAG" | sed -n 's/^SiSDKv\([^_]*\)_WiFi_SDK.*$/\1/p')
32+
WiFI_SDK_Tag=$(echo "$TAG" | sed -n 's/^SiSDK[^_]*_WiFi_SDKv\(.*\)$/\1/p')
3333

3434
if [[ -z "$SISDK_Tag" || -z "$WiFI_SDK_Tag" ]]; then
3535
echo "ERROR: Could not parse SISDK_Tag or WiFI_SDK_Tag from version tag: $TAG"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
SISDK_Tag=v2025.6.2
2-
WiFI_SDK_Tag=v3.5.2
1+
SISDK_Tag=2026.12-1130
2+
WiFI_SDK_Tag=4.2.0

0 commit comments

Comments
 (0)