Blob Blame History Raw
#!/bin/bash

set -euo pipefail

set -x

bootstrap_dir=$(readlink -f "$1")

version=$(jq -r  '.tools.dotnet' "$bootstrap_dir"/global.json)

date=$(date +%F)

mkdir -p "dotnet-arm64-prebuilts-$date"

pushd "dotnet-arm64-prebuilts-$date"

# Getting the exact matching rc2 version gets us an arm64 build without this
# fix https://github.com/dotnet/runtime/pull/58959. That causes a segfault on
# startup.
# wget "https://dotnetcli.azureedge.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-arm64.tar.gz"

wget https://aka.ms/dotnet/6.0.1XX-rc2/daily/dotnet-sdk-linux-arm64.tar.gz

mapfile -t linux_x64_packages < <(tar tf "$bootstrap_dir"/packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz | grep linux-x64)

for package in "${linux_x64_packages[@]}"; do
    if [[ "$package" = *'.Intermediate.'* ]]; then
        continue;
    fi

    filename=${package##*/}
    name=${filename%.6.0*}
    arm_name=${name/linux-x64/linux-arm64}
    version="6.0${filename##*6.0}"
    version=${version%.*}

    nappo download --verbose "$arm_name" "$version"

done

popd

tar czf "dotnet-arm64-prebuilts-$date.tar.gz" "dotnet-arm64-prebuilts-$date"