Rebootstrap .NET 9
The build of .NET 9 for s390x that's in the buildroot is broken (https://github.com/dotnet/runtime/issues/107387) and produces broken .NET SDKs when used to build them. We need to re-bootstrap to work around that. Related: RHEL-71549
This commit is contained in:
parent
31e18046cc
commit
148eb8e60c
4
.gitignore
vendored
4
.gitignore
vendored
@ -14,3 +14,7 @@
|
||||
/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
|
||||
/dotnet-v9.0.1-x64-bootstrap.tar.gz
|
||||
/dotnet-sdk-9.0.101-linux-arm64.tar.gz
|
||||
/dotnet-prebuilts-9.0.101-ppc64le.tar.gz
|
||||
/dotnet-prebuilts-9.0.101-s390x.tar.gz
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
%bcond_with bootstrap
|
||||
%bcond_without bootstrap
|
||||
|
||||
# LTO triggers a compilation error for a source level issue. Given that LTO should not
|
||||
# change the validity of any given source and the nature of the error (undefined enum), I
|
||||
@ -70,7 +70,7 @@
|
||||
|
||||
Name: dotnet%{dotnetver}
|
||||
Version: %{sdk_rpm_version}
|
||||
Release: 0.9%{?dist}
|
||||
Release: 1%{?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
|
||||
|
||||
@ -81,22 +81,22 @@ URL: https://github.com/dotnet/
|
||||
# ./build-dotnet-bootstrap-tarball %%{upstream_tag}
|
||||
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.gz
|
||||
# The bootstrap SDK version is one listed in the global.json file of the main source archive
|
||||
%global bootstrap_sdk_version 9.0.100-rc.1.24452.12
|
||||
%global bootstrap_sdk_version 9.0.101
|
||||
# Binaries can be at one of several different URLs:
|
||||
# GA releases:
|
||||
# Source1: https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
||||
Source1: https://builds.dotnet.microsoft.com/dotnet/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
||||
# Preview releases:
|
||||
Source1: https://dotnetbuilds.azureedge.net/public/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
||||
# Source1: https://ci.dot.net/public/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
||||
# To generate ppc64le and s390x archives:
|
||||
# 1. Find the source commits and versions of repos, use one of:
|
||||
# - https://dotnetbuilds.azureedge.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
||||
# - https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
||||
# - https://builds.dotnet.microsoft.com/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
||||
# - https://ci.dot.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
||||
# 2. Find the VMR sync commit using `git log --grep $commit`
|
||||
# 3. Build the VMR commit in cross-build mode for the architecture
|
||||
# 4. Use `build-prebuilt-archive` to create the archive from the VMR
|
||||
# 5. Update the version below to match the SDK that was built from the VMR
|
||||
# The ppc64le/s390x SDK version is one produced
|
||||
%global bootstrap_sdk_version_ppc64le_s390x 9.0.100-rc.1.24452.1
|
||||
%global bootstrap_sdk_version_ppc64le_s390x 9.0.101
|
||||
Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz
|
||||
Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz
|
||||
%else
|
||||
@ -566,6 +566,8 @@ rm -rf src/runtime/src/native/external/zlib-intel
|
||||
rm -rf src/runtime/src/native/external/zlib-ng
|
||||
%endif
|
||||
|
||||
lscpu
|
||||
|
||||
|
||||
|
||||
%build
|
||||
@ -650,7 +652,7 @@ system_libs=
|
||||
system_libs=$system_libs+zlib+
|
||||
%endif
|
||||
|
||||
%ifarch ppc63le s390x
|
||||
%ifarch ppc64le s390x
|
||||
max_attempts=3
|
||||
%else
|
||||
max_attempts=1
|
||||
@ -670,25 +672,38 @@ function retry_until_success {
|
||||
return $exit_code
|
||||
}
|
||||
|
||||
VERBOSE=1 retry_until_success $max_attempts \
|
||||
timeout 5h \
|
||||
./build.sh \
|
||||
--source-only \
|
||||
--release-manifest %{SOURCE5} \
|
||||
cat >dotnet-rpm-build.sh <<EOF
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
set -x
|
||||
|
||||
find -depth -name 'artifacts' -type d -print -exec rm -rf {} \;
|
||||
|
||||
./build.sh \
|
||||
--source-only \
|
||||
--release-manifest %{SOURCE5} \
|
||||
%if %{without bootstrap}
|
||||
--with-sdk previously-built-dotnet \
|
||||
--with-sdk previously-built-dotnet \
|
||||
%endif
|
||||
%ifarch %{mono_archs}
|
||||
--use-mono-runtime \
|
||||
--use-mono-runtime \
|
||||
%endif
|
||||
-- \
|
||||
/p:UseSystemLibs=${system_libs} \
|
||||
/p:TargetRid=%{runtime_id} \
|
||||
/p:OfficialBuilder="$vendor" \
|
||||
/p:MinimalConsoleLogOutput=false \
|
||||
/p:ContinueOnPrebuiltBaselineError=true \
|
||||
/v:n \
|
||||
/p:LogVerbosity=n
|
||||
-- \
|
||||
/p:UseSystemLibs=${system_libs} \
|
||||
/p:TargetRid=%{runtime_id} \
|
||||
/p:OfficialBuilder="$vendor" \
|
||||
/p:MinimalConsoleLogOutput=false \
|
||||
/p:ContinueOnPrebuiltBaselineError=true \
|
||||
/v:n \
|
||||
/p:LogVerbosity=n
|
||||
EOF
|
||||
|
||||
chmod +x dotnet-rpm-build.sh
|
||||
|
||||
VERBOSE=1 retry_until_success $max_attempts \
|
||||
timeout 5h \
|
||||
./dotnet-rpm-build.sh
|
||||
|
||||
|
||||
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh
|
||||
|
||||
6
sources
6
sources
@ -1,2 +1,4 @@
|
||||
SHA512 (dotnet-9.0.1.tar.gz) = 90a613b8efc85b8c5d852c239e507acb3cf00ed50303db98e7567924ba21271a4d6aa0bb63e6da3703beb97f8f64d6ca36fda000bc9ff537b034ea43455f19be
|
||||
SHA512 (dotnet-9.0.1.tar.gz.sig) = 3b26d79ad2f899c8952695e60ce0d9da7f6b9c0bf274caa4bc668fe24195349fe6faa5a06cd2fd260bf68511d6aa90383454e910a635d034473c2fd216cb2158
|
||||
SHA512 (dotnet-v9.0.1-x64-bootstrap.tar.gz) = bdcbd27c74a699c16ee63d4eb54dd14f912c42f1fc8594409cca8c0eec9422961a0195af435c2308368938d685bb3fe75aa4e5cb28b211a2ad6b5c87cf391357
|
||||
SHA512 (dotnet-sdk-9.0.101-linux-arm64.tar.gz) = c5f9c17dded5101cb4b65ad1033ae4d82fc5b04303bdce4eb61a6dc47efa84202bd726d05caf117e536a01bd78ad773b8d23cbf43bc655e5eb9912b12078e0b1
|
||||
SHA512 (dotnet-prebuilts-9.0.101-ppc64le.tar.gz) = 14fe151511eb21feb45cd4818a355ab7df74b29952ee1cdf4f889f16bea5b58871a3ab9f416cb37ad7cd690e7e42adb4523a6457b216ea1f028ac221337ebb3e
|
||||
SHA512 (dotnet-prebuilts-9.0.101-s390x.tar.gz) = b55be36fbbdb272f9d9699b32c501f321ec9dcd52071a6122c08f8bb3be4ef3a5945d0c33d9afce1c6a552f4e3277d77c722f28095550a9a9a0034c3b53f467f
|
||||
|
||||
Loading…
Reference in New Issue
Block a user