From 31e18046cc5cd1d36c52d87a52f2cc6af0016c4e Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Fri, 17 Jan 2025 14:57:58 -0500 Subject: [PATCH] Update to .NET SDK 9.0.102 and Runtime 9.0.1 Resolves: RHEL-71549 --- .gitignore | 2 ++ dotnet9.0.spec | 53 ++++++++++++++++++++++++++++++++++-------- release.json | 12 +++++----- sources | 4 ++-- update-release | 62 +++++++++++++++++++++++++++----------------------- 5 files changed, 87 insertions(+), 46 deletions(-) diff --git a/.gitignore b/.gitignore index 11fbf1d..376cf5f 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/dotnet9.0.spec b/dotnet9.0.spec index 3ebdfd7..c485fcd 100644 --- a/dotnet9.0.spec +++ b/dotnet9.0.spec @@ -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 - 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 - 9.0.100~rc.2.24474.1-0.8 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 diff --git a/release.json b/release.json index b18229a..9a11ff0 100644 --- a/release.json +++ b/release.json @@ -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" } diff --git a/sources b/sources index 8b1bddc..97663a6 100644 --- a/sources +++ b/sources @@ -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 diff --git a/update-release b/update-release index 092f7d7..e740ea3 100755 --- a/update-release +++ b/update-release @@ -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 < 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