|
1 | 1 | # syntax=docker/dockerfile:1 |
2 | 2 |
|
3 | | -FROM ghcr.io/linuxserver/baseimage-alpine:3.18 as buildstage |
| 3 | +FROM ghcr.io/linuxserver/baseimage-alpine:3.19 as buildstage |
4 | 4 |
|
5 | 5 | ARG MOD_VERSION |
6 | 6 |
|
7 | 7 | RUN \ |
8 | | - DOTNET_JSON=$(curl -sX GET "https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json") && \ |
9 | | - if [ -z ${MOD_VERSION+x} ]; then \ |
| 8 | + DOTNET_JSON=$(curl -sX GET "https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json") && \ |
| 9 | + if [ -z ${MOD_VERSION+x} ]; then \ |
10 | 10 | MOD_VERSION=$(echo "$DOTNET_JSON" | jq -r '."releases-index"[] | select(."support-phase"=="active" or ."support-phase"=="maintenance") | ."latest-sdk"' | tr '\n' '_' | head -c -1); \ |
11 | | - fi && \ |
12 | | - DOTNET_VERSIONS="${MOD_VERSION//_/ }" && \ |
13 | | - mkdir -p /root-layer/dotnet && \ |
14 | | - echo "$DOTNET_VERSIONS" > /root-layer/dotnet/versions.txt && \ |
15 | | - echo "versions are ${DOTNET_VERSIONS}" && \ |
16 | | - for i in $DOTNET_VERSIONS; do \ |
17 | | - echo "processing version ${i}" && \ |
| 11 | + fi && \ |
| 12 | + DOTNET_VERSIONS="${MOD_VERSION//_/ }" && \ |
| 13 | + mkdir -p /root-layer/dotnet && \ |
| 14 | + echo "$DOTNET_VERSIONS" > /root-layer/dotnet/versions.txt && \ |
| 15 | + echo "versions are ${DOTNET_VERSIONS}" && \ |
| 16 | + for i in $DOTNET_VERSIONS; do \ |
18 | 17 | DOTNET_RELEASE_URL=$(echo "${DOTNET_JSON}" | jq -r ".\"releases-index\"[] | select(.\"latest-sdk\"==\"${i}\") | .\"releases.json\"") && \ |
19 | 18 | DOTNET_RELEASE_JSON=$(curl -fSsLX GET "${DOTNET_RELEASE_URL}") && \ |
20 | | - AMD64_URL=$(echo "${DOTNET_RELEASE_JSON}" | jq -r ".releases[] | select(.sdk.version==\"${i}\") | .sdk.files[] | select(.name | contains(\"linux-x64.tar.gz\")) | .url") && \ |
21 | | - ARM64_URL=$(echo "${DOTNET_RELEASE_JSON}" | jq -r ".releases[] | select(.sdk.version==\"${i}\") | .sdk.files[] | select(.name | contains(\"linux-arm64.tar.gz\")) | .url") && \ |
| 19 | + if [ $(uname -m) = "x86_64" ]; then \ |
| 20 | + echo "**** Downloading x86_64 tarball for version ${i} ****" && \ |
| 21 | + TARBALL_URL=$(echo "${DOTNET_RELEASE_JSON}" | jq -r ".releases[] | select(.sdk.version==\"${i}\") | .sdk.files[] | select(.name | contains(\"linux-x64.tar.gz\")) | .url"); \ |
| 22 | + elif [ $(uname -m) = "aarch64" ]; then \ |
| 23 | + echo "**** Downloading aarch64 tarball for version ${i} ****" && \ |
| 24 | + TARBALL_URL=$(echo "${DOTNET_RELEASE_JSON}" | jq -r ".releases[] | select(.sdk.version==\"${i}\") | .sdk.files[] | select(.name | contains(\"linux-arm64.tar.gz\")) | .url"); \ |
| 25 | + fi && \ |
22 | 26 | curl -fSL --retry 3 --retry-connrefused -o \ |
23 | | - /root-layer/dotnet/dotnetsdk_"${i}"_x86_64.tar.gz -L \ |
24 | | - "${AMD64_URL}" && \ |
25 | | - curl -fSL --retry 3 --retry-connrefused -o \ |
26 | | - /root-layer/dotnet/dotnetsdk_"${i}"_aarch64.tar.gz -L \ |
27 | | - "${ARM64_URL}" || exit 1; \ |
28 | | - done |
| 27 | + /root-layer/dotnet/dotnetsdk_"${i}".tar.gz -L \ |
| 28 | + "${TARBALL_URL}" || exit 1; \ |
| 29 | + done |
29 | 30 |
|
30 | 31 | COPY root/ /root-layer/ |
31 | 32 |
|
|
0 commit comments