Update to .NET SDK 9.0.102 and Runtime 9.0.1

Resolves: RHEL-71549
This commit is contained in:
Omair Majid 2025-01-17 14:57:58 -05:00
parent 04dc461cfd
commit 31e18046cc
5 changed files with 87 additions and 46 deletions

2
.gitignore vendored
View File

@ -12,3 +12,5 @@
/dotnet-sdk-9.0.100-rc.1.24452.12-linux-arm64.tar.gz
/dotnet-prebuilts-9.0.100-rc.1.24452.1-ppc64le.tar.gz
/dotnet-prebuilts-9.0.100-rc.1.24452.1-s390x.tar.gz
/dotnet-9.0.1.tar.gz
/dotnet-9.0.1.tar.gz.sig

View File

@ -10,20 +10,20 @@
# upstream can produce releases with a different tag than the SDK version
#%%global upstream_tag v%%{runtime_version}
%global upstream_tag v9.0.0-rc.2.24473.5
%global upstream_tag v9.0.1
%global upstream_tag_without_v %(echo %{upstream_tag} | sed -e 's|^v||')
%global hostfxr_version 9.0.0-rc.2.24473.5
%global runtime_version 9.0.0-rc.2.24473.5
%global aspnetcore_runtime_version 9.0.0-rc.2.24474.3
%global sdk_version 9.0.100-rc.2.24474.1
%global hostfxr_version %{runtime_version}
%global runtime_version 9.0.1
%global aspnetcore_runtime_version 9.0.1
%global sdk_version 9.0.102
%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|')
%global templates_version %{aspnetcore_runtime_version}
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%global runtime_rpm_version 9.0.0~rc.2.24473.5
%global aspnetcore_runtime_rpm_version 9.0.0~rc.2.24474.3
%global sdk_rpm_version 9.0.100~rc.2.24474.1
%global runtime_rpm_version %{runtime_version}
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global sdk_rpm_version %{sdk_version}
%global use_bundled_brotli 0
%global use_bundled_libunwind 1
@ -70,7 +70,7 @@
Name: dotnet%{dotnetver}
Version: %{sdk_rpm_version}
Release: 0.8%{?dist}
Release: 0.9%{?dist}
Summary: .NET Runtime and SDK
License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
@ -609,6 +609,14 @@ CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -march=z13//')
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//')
%endif
%if 0%{?rhel} >= 10
# Workaround for https://github.com/dotnet/runtime/issues/109611
# FIXME: Remove this, and replace with upstream fix
CFLAGS=$(echo $CFLAGS | sed -e 's/-march=x86-64-v3 //')
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-march=x86-64-v3 //')
LDFLAGS=$(echo $LDFLAGS | sed -e 's/-march=x86-64-v3 //')
%endif
# Enabling fortify-source and "-Wall -Weverything" produces new warnings from libc. Turn them off.
CFLAGS="$CFLAGS -Wno-used-but-marked-unused"
CXXFLAGS="$CXXFLAGS -Wno-used-but-marked-unused"
@ -642,7 +650,28 @@ system_libs=
system_libs=$system_libs+zlib+
%endif
VERBOSE=1 timeout 5h \
%ifarch ppc63le s390x
max_attempts=3
%else
max_attempts=1
%endif
function retry_until_success {
local exit_code=1
local tries=$1
shift
set +e
while [[ $exit_code != 0 ]] && [[ $tries != 0 ]]; do
(( tries = tries - 1 ))
"$@"
exit_code=$?
done
set -e
return $exit_code
}
VERBOSE=1 retry_until_success $max_attempts \
timeout 5h \
./build.sh \
--source-only \
--release-manifest %{SOURCE5} \
@ -842,6 +871,10 @@ export COMPlus_LTTng=0
%changelog
* Thu Jan 16 2025 Omair Majid <omajid@redhat.com> - 9.0.102-0.9
- Update to .NET SDK 9.0.102 and Runtime 9.0.1
- Resolves: RHEL-71549
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 9.0.100~rc.2.24474.1-0.8
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018

View File

@ -1,10 +1,10 @@
{
"release": "9.0.0-rc.2",
"release": "9.0.1",
"channel": "9.0",
"tag": "v9.0.0-rc.2.24473.5",
"sdkVersion": "9.0.100-rc.2.24474.11",
"runtimeVersion": "9.0.0-rc.2.24473.5",
"aspNetCoreVersion": "9.0.0-rc.2.24474.3",
"tag": "v9.0.1",
"sdkVersion": "9.0.102",
"runtimeVersion": "9.0.1",
"aspNetCoreVersion": "9.0.1",
"sourceRepository": "https://github.com/dotnet/dotnet",
"sourceVersion": "b4c156e3f670d86ad737595a912c5c85c481b9ac"
"sourceVersion": "1cf154a56d078c531cc830e95a7cfdbc4fe1113c"
}

View File

@ -1,2 +1,2 @@
SHA512 (dotnet-9.0.0-rc.2.24473.5.tar.gz) = 517334ed2bea3cff925ce6e8a04658d792b2f72cea1e9a405686d9d3f786d9b01ce35e8f7edd927bcdc6dbda8fae20267314da771df2d9cafbb4f867182f45ac
SHA512 (dotnet-9.0.0-rc.2.24473.5.tar.gz.sig) = f46d27b0018b028f3612ec32030839305006adb3e7d818e73bd19ade6427a2fd9bf28c78df75f8b4c1eaf9e6454189d6261a5fd28b9f56ef8a04df68c4cc3810
SHA512 (dotnet-9.0.1.tar.gz) = 90a613b8efc85b8c5d852c239e507acb3cf00ed50303db98e7567924ba21271a4d6aa0bb63e6da3703beb97f8f64d6ca36fda000bc9ff537b034ea43455f19be
SHA512 (dotnet-9.0.1.tar.gz.sig) = 3b26d79ad2f899c8952695e60ce0d9da7f6b9c0bf274caa4bc668fe24195349fe6faa5a06cd2fd260bf68511d6aa90383454e910a635d034473c2fd216cb2158

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Usage:
# ./update-release [runtime-version [--bug bug-id] [--tarball tarball-name] [--larger-rpm-release]
# ./update-release [--bug bug-id] [--tarball tarball-name] [--release-json release-json] [--larger-rpm-release]
set -euo pipefail
IFS=$'\n\t'
@ -62,27 +62,29 @@ runtime_version=${positional_args[1]:-}
sdk_version=""
tag=v${runtime_version}
if [[ -z ${runtime_version} ]]; then
cat > query <<EOF
[ .[] | select(.name | contains("NET 9.0 ")) ]
| first
| { tag_name: .tag_name,
tarball: .tarball_url,
signature: .assets[].browser_download_url | select(. | endswith("tar.gz.sig")),
release_manifest: .assets[] | select(.name == "release.json") | .browser_download_url }
if [[ -n "${release_json:-}" ]]; then
cp -a "${release_json}" release.json
else
cat > query <<EOF
[ .[] | select(.name | contains(".NET 9.0")) ]
| first
| { tag_name: .tag_name,
tarball: .tarball_url,
signature: .assets[].browser_download_url | select(. | endswith("tar.gz.sig")),
release_manifest: .assets[] | select(.name == "release.json") | .browser_download_url }
EOF
curl https://api.github.com/repos/dotnet/dotnet/releases \
| jq --from-file query > release.metadata.github
tag=$(jq -r .tag_name release.metadata.github)
curl -L "$(jq -r .release_manifest release.metadata.github)" -o release.json
aspnetcore_runtime_version=$(jq -r .aspNetCoreVersion release.json)
runtime_version=$(jq -r .runtimeVersion release.json)
sdk_version=$(jq -r .sdkVersion release.json)
curl https://api.github.com/repos/dotnet/dotnet/releases \
| jq --from-file query > release.metadata.github
tag=$(jq -r .tag_name release.metadata.github)
curl -L "$(jq -r .release_manifest release.metadata.github)" -o release.json
fi
fi
if [[ ${sdk_version:-} = "" ]]; then
# FIXME: add preview/rc parts
sdk_version=$(echo "${runtime_version}" | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+100 }')
fi
aspnetcore_runtime_version=$(jq -r .aspNetCoreVersion release.json)
runtime_version=$(jq -r .runtimeVersion release.json)
sdk_version=$(jq -r .sdkVersion release.json)
tag=$(jq -r .tag release.json)
tag_without_v=$(echo ${tag} | sed -e 's|^v||')
echo "Updating .NET $dotnet_major_minor_version to SDK ${sdk_version} and Runtime ${runtime_version}"
@ -108,20 +110,24 @@ else
sed -i -E "s|^(%global sdk_rpm_version) .*$|\1 %{sdk_version}|" "$spec_file"
fi
if [[ -f "dotnet-${tag}.tar.gz" ]]; then
echo "dotnet-${tag}.tar.gz already exists, not rebuilding tarball"
if [[ -f "dotnet-${tag_without_v}.tar.gz" ]]; then
echo "dotnet-${tag_without_v}.tar.gz already exists, not rebuilding tarball"
elif [[ -n ${user_provided_tarball_name} ]]; then
cp -a "${user_provided_tarball_name}" "dotnet-${tag}.tar.gz"
cp -a "${release_json}" release.json
cp -a "${user_provided_tarball_name}" "dotnet-${tag_without_v}.tar.gz"
cp -a "${user_provided_tarball_name}.sig" "dotnet-${tag_without_v}.tar.gz.sig"
else
rm -f release.json
spectool -g "$spec_file"
if spectool -l "$spec_file" | grep 'bootstrap.tar.gz' ; then
build-dotnet-bootstrap-tarball "$tag"
tar xf dotnet-"$tag"-x64-bootstrap.tar.gz "dotnet-$tag-x64-bootstrap/global.json"
bootstrap_sdk_version=$(jq -r .tools.dotnet "dotnet-$tag-x64-bootstrap/global.json")
sed -i -E "s|^(%global bootstrap_sdk_version) .*$|\1 ${bootstrap_sdk_version}|" "$spec_file"
spectool -g "$spec_file"
./build-dotnet-bootstrap-tarball "$tag"
tar xf dotnet-"$tag"-x64-bootstrap.tar.gz "dotnet-$tag-x64-bootstrap/global.json"
bootstrap_sdk_version=$(jq -r .tools.dotnet "dotnet-$tag-x64-bootstrap/global.json")
sed -i -E "s|^(%global bootstrap_sdk_version) .*$|\1 ${bootstrap_sdk_version}|" "$spec_file"
spectool -g "$spec_file"
if [ -f re-build-all-bootstrap ]; then
./re-build-all-bootstrap "${tag}"
fi
fi
fi