From 7f6b8ec3f9527a6fbc89018ce31cdcfecc474edd Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Wed, 14 Apr 2021 23:01:46 -0400 Subject: [PATCH] Update to .NET SDK 5.0.202 and Runtime 5.0.5 Also make update-release more flexible with optional bug ids and optional already-built tarballs. --- .gitignore | 1 + build-dotnet-tarball | 2 +- dotnet5.0.spec | 19 ++--- rename-tarball | 10 ++- runtime-48203-fedora-35-rid.patch | 119 ------------------------------ sdk-telemetry-optout.patch | 2 +- sources | 2 +- update-release | 52 +++++++++---- 8 files changed, 54 insertions(+), 153 deletions(-) delete mode 100644 runtime-48203-fedora-35-rid.patch diff --git a/.gitignore b/.gitignore index 016368a..e9aebf0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /dotnet-v5.0.102-SDK.tar.gz /dotnet-v5.0.103-SDK.tar.gz /dotnet-v5.0.104-SDK.tar.gz +/dotnet-v5.0.202-SDK.tar.gz diff --git a/build-dotnet-tarball b/build-dotnet-tarball index 990b208..98494bd 100755 --- a/build-dotnet-tarball +++ b/build-dotnet-tarball @@ -154,7 +154,7 @@ fi # not-very-useful artifacts to reduce tarball size rm -r src/aspnetcore.*/src/SignalR/clients/java/signalr/gradle* find src/aspnetcore.*/src -type d -name samples -print0 | xargs -0 rm -r -rm -r src/NuGet.Client.*/test/EndToEnd +rm -r src/nuget.client.*/test/EndToEnd rm -r src/runtime.*/src/mono/ rm -r src/Humanizer.*/samples/ diff --git a/dotnet5.0.spec b/dotnet5.0.spec index d960cba..28764be 100644 --- a/dotnet5.0.spec +++ b/dotnet5.0.spec @@ -20,10 +20,10 @@ # until that's done, disable LTO. This has to happen before setting the flags below. %define _lto_cflags %{nil} -%global host_version 5.0.4 -%global runtime_version 5.0.4 +%global host_version 5.0.5 +%global runtime_version 5.0.5 %global aspnetcore_runtime_version %{runtime_version} -%global sdk_version 5.0.104 +%global sdk_version 5.0.202 %global templates_version %{runtime_version} #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') @@ -56,7 +56,7 @@ Name: dotnet5.0 Version: %{sdk_rpm_version} -Release: 2%{?dist} +Release: 1%{?dist} Summary: .NET Runtime and SDK License: MIT and ASL 2.0 and BSD and LGPLv2+ and CC-BY and CC0 and MS-PL and EPL-1.0 and GPL+ and GPLv2 and ISC and OFL and zlib URL: https://github.com/dotnet/ @@ -68,10 +68,6 @@ Source0: dotnet-v%{src_version}-SDK.tar.gz Source10: check-debug-symbols.py Source11: dotnet.sh.in -# https://github.com/dotnet/runtime/pull/48203 -# Add Fedora 35 RID -Patch100: runtime-48203-fedora-35-rid.patch - # Disable telemetry by default; make it opt-in Patch500: sdk-telemetry-optout.patch @@ -343,10 +339,6 @@ sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/installer/core # Disable warnings sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props -pushd src/runtime.* -%patch100 -p1 -popd - pushd src/sdk.* %patch500 -p1 popd @@ -535,6 +527,9 @@ echo "Testing build results for debug symbols..." %changelog +* Wed Apr 14 2021 Omair Majid - 5.0.202-1 +- Update to .NET SDK 5.0.202 and Runtime 5.0.5 + * Tue Apr 06 2021 Omair Majid - 5.0.104-2 - Mark files under /etc/ as config(noreplace) - Add an rpm-inspect configuration file diff --git a/rename-tarball b/rename-tarball index b6b6086..ea7e65c 100755 --- a/rename-tarball +++ b/rename-tarball @@ -21,12 +21,14 @@ while [[ "$#" -gt 0 ]]; do esac done -original_name=${positional_args[0]:-} -if [[ -z ${original_name} ]]; then +if [[ -z "${positional_args[0]:-}" ]]; then echo "error: missing original tarball name" exit 1 fi +original_path=$(readlink -f "${positional_args[0]:-}") +original_name=$(basename "$original_path") + new_name=${positional_args[1]:-} if [[ -z ${new_name} ]]; then echo "error: missing new tarball name" @@ -41,8 +43,8 @@ echo "New name: ${new_name}.tar.gz" mkdir "temp-${new_name}" pushd "temp-${new_name}" -tar xf "../${original_name}.tar.gz" -mv "${original_name}" "${new_name}" +tar xf "${original_path}" +mv -- * "${new_name}" tar czf ../"${new_name}.tar.gz" "${new_name}" rm -rf "${new_name}" popd diff --git a/runtime-48203-fedora-35-rid.patch b/runtime-48203-fedora-35-rid.patch deleted file mode 100644 index cb8d6ea..0000000 --- a/runtime-48203-fedora-35-rid.patch +++ /dev/null @@ -1,119 +0,0 @@ -From e806448fdf844ca925c461b356b31363e844e902 Mon Sep 17 00:00:00 2001 -From: Omair Majid -Date: Thu, 11 Feb 2021 20:13:18 -0500 -Subject: [PATCH 1/2] Add Fedora 35 RID - -Fedora rawhide now uses the fedora.35-x64 RID: - - $ podman run -it registry.fedoraproject.org/fedora:rawhide /bin/bash -c 'cat /etc/os-release' - NAME=Fedora - VERSION="35 (Container Image Prerelease)" - ID=fedora - VERSION_ID=35 - VERSION_CODENAME="" - PLATFORM_ID="platform:f35" - PRETTY_NAME="Fedora 35 (Container Image Prerelease)" - ANSI_COLOR="0;38;2;60;110;180" - LOGO=fedora-logo-icon - CPE_NAME="cpe:/o:fedoraproject:fedora:35" - HOME_URL="https://fedoraproject.org/" - DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/" - SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" - BUG_REPORT_URL="https://bugzilla.redhat.com/" - REDHAT_BUGZILLA_PRODUCT="Fedora" - REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide - REDHAT_SUPPORT_PRODUCT="Fedora" - REDHAT_SUPPORT_PRODUCT_VERSION=rawhide - PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" - VARIANT="Container Image" - VARIANT_ID=container ---- - .../runtime.compatibility.json | 32 ++++++++++++++++++ - .../Microsoft.NETCore.Platforms/runtime.json | 17 ++++++++++ - .../runtimeGroups.props | 2 +- - 6 files changed, 69 insertions(+), 18 deletions(-) - -diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json -index 275929bf1fce..f56d7461e90c 100644 ---- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json -+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json -@@ -2376,6 +2376,38 @@ - "any", - "base" - ], -+ "fedora.35": [ -+ "fedora.35", -+ "fedora", -+ "linux", -+ "unix", -+ "any", -+ "base" -+ ], -+ "fedora.35-arm64": [ -+ "fedora.35-arm64", -+ "fedora.35", -+ "fedora-arm64", -+ "fedora", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "fedora.35-x64": [ -+ "fedora.35-x64", -+ "fedora.35", -+ "fedora-x64", -+ "fedora", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], - "freebsd": [ - "freebsd", - "unix", -diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json -index 5a2631cccd9a..3e8b2e74e85f 100644 ---- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json -+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json -@@ -962,6 +962,23 @@ - "fedora-x64" - ] - }, -+ "fedora.35": { -+ "#import": [ -+ "fedora" -+ ] -+ }, -+ "fedora.35-arm64": { -+ "#import": [ -+ "fedora.35", -+ "fedora-arm64" -+ ] -+ }, -+ "fedora.35-x64": { -+ "#import": [ -+ "fedora.35", -+ "fedora-x64" -+ ] -+ }, - "freebsd": { - "#import": [ - "unix" -diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props -index 5bd4306409de..e78268c077fd 100644 ---- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props -+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props -@@ -60,7 +60,7 @@ - - linux - x64;arm64 -- 23;24;25;26;27;28;29;30;31;32;33;34 -+ 23;24;25;26;27;28;29;30;31;32;33;34;35 - false - - diff --git a/sdk-telemetry-optout.patch b/sdk-telemetry-optout.patch index 9b92f33..d6e6464 100644 --- a/sdk-telemetry-optout.patch +++ b/sdk-telemetry-optout.patch @@ -15,4 +15,4 @@ index de1ebb9e6..6bbf479de 100644 + DebugHelper.HandleDebugSwitch(ref args); - new MulticoreJitActivator().TryActivateMulticoreJit(); + // Capture the current timestamp to calculate the host overhead. diff --git a/sources b/sources index ebd7eb5..269959d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dotnet-v5.0.104-SDK.tar.gz) = 3318750fb2437d7849f1dd8a3047fcbddab75420439dc60b6f2e50b71ad0ef8d7bbece54c7162254049eac5ed5e0835966b47adaa0255063160622bc6bdb9d68 +SHA512 (dotnet-v5.0.202-SDK.tar.gz) = ac69830aca58db95f7f48839867ebb2bb97dec2ef50c23ac7879ba217800a76c360d727a7e1db065bc4b0edd77b5fa93151d840e64c8b1564265819f8650c20e diff --git a/update-release b/update-release index 00996ca..70b3c87 100755 --- a/update-release +++ b/update-release @@ -1,24 +1,37 @@ #!/bin/bash # Usage: -# ./update-release sdk-version runtime-version [tarball-name] +# ./update-release sdk-version runtime-version [--bug bug-id] [--tarball tarball-name] set -euo pipefail IFS=$'\n\t' print_usage() { echo " Usage:" - echo " ./update-release sdk-version runtime-version [tarball-name]" + echo " ./update-release sdk-version runtime-version [--bug bug-id] [--tarball tarball-name]" } +user_provided_tarball_name="" + positional_args=() +bug_ids=() while [[ "$#" -gt 0 ]]; do - arg="${1}" + arg="$1" case "${arg}" in + --bug) + bug_ids+=("$2") + shift; + shift; + ;; -h|--help) print_usage exit 0 ;; + --tarball) + user_provided_tarball_name="$2" + shift; + shift; + ;; *) positional_args+=("$1") shift @@ -26,7 +39,8 @@ while [[ "$#" -gt 0 ]]; do esac done -spec_file=dotnet5.0.spec +spec_files=( ./*.spec ) +spec_file="${spec_files[0]}" sdk_version=${positional_args[0]:-} if [[ -z ${sdk_version} ]]; then @@ -40,18 +54,22 @@ if [[ -z ${runtime_version} ]]; then exit 1 fi +host_version="$runtime_version" + tag=v${sdk_version}-SDK -user_provided_tarball_name=${positional_args[2]:-} -if [[ -n "${user_provided_tarball_name}" ]]; then - # we know the format build-dotnet-tarball expects for the original tarball: - # dotnet-${tag}-original.tar.gz - ./rename-tarball "$user_provided_tarball_name" dotnet-${tag}-original.tar.gz +if [[ -f "dotnet-${tag}-original.tar.gz" ]]; then + echo "dotnet-${tag}-original.tar.gz alredy exists, not rebuilding tarball" +else + if [[ -n "${user_provided_tarball_name}" ]]; then + ./rename-tarball "$user_provided_tarball_name" "dotnet-${tag}-original.tar.gz" + elif [[ -f "dotnet-${sdk_version}-SDK.tar.gz" ]]; then + ./rename-tarball "dotnet-${sdk_version}-SDK.tar.gz" "dotnet-${tag}-original.tar.gz" + elif [[ -f "dotnet-${runtime_version}.tar.gz" ]]; then + ./rename-tarball "dotnet-${runtime_version}.tar.gz" "dotnet-${tag}-original.tar.gz" + fi fi - -host_version="$runtime_version" - if [[ ! -f "dotnet-${tag}.tar.gz" ]]; then ./build-dotnet-tarball "${tag}" fi @@ -63,11 +81,15 @@ sed -i -E "s|^%global runtime_version [[:digit:]]\.[[:digit:]]\.[[:digit:]]+|%gl sed -i -E "s|^%global sdk_version [[:digit:]]\.[[:digit:]]\.[[:digit:]][[:digit:]][[:digit:]]|%global sdk_version ${sdk_version}|" "$spec_file" comment="Update to .NET SDK ${sdk_version} and Runtime ${runtime_version}" +for bug_id in "${bug_ids[@]}"; do + comment="$comment +- Resolves: RHBZ#$bug_id" +done -rpmdev-bumpspec --comment="$comment" $spec_file +rpmdev-bumpspec --comment="$comment" "$spec_file" # Reset release to 1 in 'Release' tag -sed -i -E 's|^Release: [[:digit:]]+%|Release: 1%|' $spec_file +sed -i -E 's|^Release: [[:digit:]]+%|Release: 1%|' "$spec_file" # Reset Release in changelog comment # See https://stackoverflow.com/questions/18620153/find-matching-text-and-replace-next-line -sed -i -E '/^%changelog$/!b;n;s/-[[:digit:]]+$/-1/' $spec_file +sed -i -E '/^%changelog$/!b;n;s/-[[:digit:]]+$/-1/' "$spec_file"