Compare commits

...

No commits in common. "c8-beta" and "imports/c9/dotnet7.0-7.0.100-0.2.rc1.el9%7ebootstrap" have entirely different histories.

6 changed files with 104 additions and 110 deletions

View File

@ -1 +1,3 @@
c2015d0972371ab8995d18246d1f5b76299f3be3 SOURCES/dotnet-v7.0.103.tar.gz 321f8a318f904150c1ccba86ce31318ce0fe956e SOURCES/dotnet-arm64-prebuilts-2022-09-17.tar.gz
8fdf5b99a5fff92d942b03776dbd097932a474bb SOURCES/dotnet-s390x-prebuilts-2022-08-24.tar.gz
3fbdc2b9f9c1129b756ab29659ce52313250654d SOURCES/dotnet-v7.0.100-rc.1.22431.12-x64-bootstrap.tar.xz

4
.gitignore vendored
View File

@ -1 +1,3 @@
SOURCES/dotnet-v7.0.103.tar.gz SOURCES/dotnet-arm64-prebuilts-2022-09-17.tar.gz
SOURCES/dotnet-s390x-prebuilts-2022-08-24.tar.gz
SOURCES/dotnet-v7.0.100-rc.1.22431.12-x64-bootstrap.tar.xz

View File

@ -0,0 +1,26 @@
Don't use an apphost for RazorSyntaxGenerator
The RazorSyntaxGenerator tool is excluded from source-build, but the build
system tries to find the apphost matching the TFM anyway. This project targets
netcoreapp3.1, so the build fails on s390x because the no apphost exists for
that on s390x.
--- a/src/razor-compiler/src/tools/RazorSyntaxGenerator/RazorSyntaxGenerator.csproj
+++ a/src/razor-compiler/src/tools/RazorSyntaxGenerator/RazorSyntaxGenerator.csproj
@@ -10,6 +10,7 @@
<!-- No need to track public APIs of this tool. -->
<AddPublicApiAnalyzers>false</AddPublicApiAnalyzers>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
+ <UseAppHost>false</UseAppHost>
</PropertyGroup>
</Project>
--- a/src/razor-compiler/src/perf/Microbenchmarks/Microsoft.AspNetCore.Razor.Microbenchmarks.csproj
+++ a/src/razor-compiler/src/perf/Microbenchmarks/Microsoft.AspNetCore.Razor.Microbenchmarks.csproj
@@ -7,6 +7,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<IsPackable>false</IsPackable>
+ <UseAppHost>false</UseAppHost>
</PropertyGroup>
<ItemGroup>

View File

@ -1,12 +0,0 @@
diff --git a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
index 044a2aba4..b3f8f2611 100644
--- a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
+++ b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
@@ -4,6 +4,7 @@
<LangVersion>preview</LangVersion>
<Nullable>disable</Nullable>
<OutputType>Exe</OutputType>
+ <UseAppHost>false</UseAppHost>
</PropertyGroup>
<PropertyGroup>
<NonShipping>true</NonShipping>

View File

@ -0,0 +1,27 @@
From 98c1b3a803cb01232ee40bb4192679fcab3232e7 Mon Sep 17 00:00:00 2001
From: Jo Shields <directhex@apebox.org>
Date: Thu, 18 Aug 2022 09:08:36 -0400
Subject: [PATCH] Don't try to build PGO tools on platforms with no CoreCLR
port.
Closes: #74102
---
eng/Subsets.props | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/runtime/eng/Subsets.props b/src/runtime/eng/Subsets.props
index 911c24dbde6..1e8e5801e57 100644
--- a/src/runtime/eng/Subsets.props
+++ b/src/runtime/eng/Subsets.props
@@ -62,7 +62,8 @@
<DefaultMonoSubsets Condition="'$(MonoAOTEnableLLVM)' == 'true' and '$(MonoAOTLLVMDir)' == ''">mono.llvm+</DefaultMonoSubsets>
<DefaultMonoSubsets Condition="'$(TargetOS)' == 'Browser'">$(DefaultMonoSubsets)mono.wasmruntime+</DefaultMonoSubsets>
<DefaultMonoSubsets Condition="'$(MonoCrossAOTTargetOS)' != ''">$(DefaultMonoSubsets)mono.aotcross+</DefaultMonoSubsets>
- <DefaultMonoSubsets>$(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages+mono.tools+</DefaultMonoSubsets>
+ <DefaultMonoSubsets>$(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages+</DefaultMonoSubsets>
+ <DefaultMonoSubsets Condition="'$(PrimaryRuntimeFlavor)' != 'Mono'">$(DefaultMonoSubsets)mono.tools+</DefaultMonoSubsets>
<DefaultMonoSubsets Condition="'$(TargetsMobile)' != 'true'">$(DefaultMonoSubsets)host.native+</DefaultMonoSubsets>
<DefaultLibrariesSubsets Condition="'$(BuildTargetFramework)' == '$(NetCoreAppCurrent)' or
--
2.37.2

View File

@ -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 # 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 # change the validity of any given source and the nature of the error (undefined enum), I
@ -6,21 +6,22 @@
# until that's done, disable LTO. This has to happen before setting the flags below. # until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
%global host_version 7.0.3 %global host_version 7.0.0-rc.1.22426.10
%global runtime_version 7.0.3 %global runtime_version 7.0.0-rc.1.22426.10
%global aspnetcore_runtime_version %{runtime_version} %global aspnetcore_runtime_version 7.0.0-rc.1.22427.2
%global sdk_version 7.0.103 %global sdk_version 7.0.100-rc.1.22464.1
%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') %global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|')
%global templates_version %{runtime_version} %global templates_version 7.0.0-rc.1.22427.2
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%global host_rpm_version %{host_version} %global host_rpm_version 7.0.0
%global runtime_rpm_version %{runtime_version} %global runtime_rpm_version 7.0.0
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version} %global aspnetcore_runtime_rpm_version 7.0.0
%global sdk_rpm_version %{sdk_version} %global sdk_rpm_version 7.0.100
# upstream can update releases without revving the SDK version so these don't always match # upstream can update releases without revving the SDK version so these don't always match
%global upstream_tag v%{sdk_version} #%%global upstream_tag v%%{sdk_version}
%global upstream_tag v7.0.100-rc.1.22431.12
%if 0%{?fedora} || 0%{?rhel} < 8 %if 0%{?fedora} || 0%{?rhel} < 8
%global use_bundled_libunwind 0 %global use_bundled_libunwind 0
@ -28,46 +29,39 @@
%global use_bundled_libunwind 1 %global use_bundled_libunwind 1
%endif %endif
%ifarch aarch64 ppc64le s390x %ifarch aarch64 s390x
%global use_bundled_libunwind 1 %global use_bundled_libunwind 1
%endif %endif
%ifarch x86_64
%global runtime_arch x64
%endif
%ifarch aarch64 %ifarch aarch64
%global runtime_arch arm64 %global runtime_arch arm64
%endif %endif
%ifarch ppc64le
%global runtime_arch ppc64le
%endif
%ifarch s390x %ifarch s390x
%global runtime_arch s390x %global runtime_arch s390x
%endif %endif
%ifarch x86_64
%global runtime_arch x64
%endif
%global mono_archs s390x ppc64le
%{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}} %{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}}
Name: dotnet7.0 Name: dotnet7.0
Version: %{sdk_rpm_version} Version: %{sdk_rpm_version}
Release: 1%{?dist} Release: 0.2.rc1%{?dist}
Summary: .NET Runtime and SDK 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 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/ URL: https://github.com/dotnet/
%if %{with bootstrap} %if %{with bootstrap}
# The source is generated on a RHEL box via: # The source is generated on a Fedora box via:
# ./build-dotnet-tarball --bootstrap %%{upstream_tag} # ./build-dotnet-tarball --bootstrap %%{upstream_tag}
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz
# Generated via ./build-arm64-bootstrap-tarball # Generated via ./build-arm64-bootstrap-tarball
Source1: dotnet-arm64-prebuilts-2022-10-12.tar.gz Source1: dotnet-arm64-prebuilts-2022-09-17.tar.gz
# Generated manually, same pattern as the arm64 tarball # Generated manually, same pattern as the arm64 tarball
Source2: dotnet-ppc64le-prebuilts-2022-10-21.tar.gz Source2: dotnet-s390x-prebuilts-2022-08-24.tar.gz
# Generated manually, same pattern as the arm64 tarball
Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz
%else %else
# The source is generated on a RHEL box via: # The source is generated on a Fedora box via:
# ./build-dotnet-tarball %%{upstream_tag} # ./build-dotnet-tarball %%{upstream_tag}
Source0: dotnet-%{upstream_tag}.tar.gz Source0: dotnet-%{upstream_tag}.tar.gz
%endif %endif
@ -75,13 +69,13 @@ Source0: dotnet-%{upstream_tag}.tar.gz
Source10: check-debug-symbols.py Source10: check-debug-symbols.py
Source11: dotnet.sh.in Source11: dotnet.sh.in
# Disable apphost; there's no net6.0 apphost for ppc64le Patch1: razor-compiler-apphost.patch
Patch1: roslyn-analyzers-ppc64le-apphost.patch # https://github.com/dotnet/runtime/pull/74147
Patch2: runtime-74147-no-pgo-with-mono.patch
%if 0%{?fedora} || 0%{?rhel} >= 8 %if 0%{?fedora} || 0%{?rhel} >= 8
ExclusiveArch: aarch64 ppc64le s390x x86_64 ExclusiveArch: aarch64 x86_64 s390x
%else %else
ExclusiveArch: x86_64 ExclusiveArch: x86_64
%endif %endif
@ -108,9 +102,6 @@ BuildRequires: libunwind-devel
%ifarch aarch64 %ifarch aarch64
BuildRequires: lld BuildRequires: lld
%endif %endif
# if the build ever crashes, then having lldb installed might help the
# runtime generate a backtrace for the crash
BuildRequires: lldb
BuildRequires: llvm BuildRequires: llvm
BuildRequires: lttng-ust-devel BuildRequires: lttng-ust-devel
BuildRequires: make BuildRequires: make
@ -342,20 +333,6 @@ These are not meant for general use.
%prep %prep
%if %{without bootstrap} %if %{without bootstrap}
%setup -q -n dotnet-%{upstream_tag} %setup -q -n dotnet-%{upstream_tag}
# Remove all prebuilts
find -iname '*.dll' -type f -delete
find -iname '*.so' -type f -delete
find -iname '*.tar.gz' -type f -delete
find -iname '*.nupkg' -type f -delete
find -iname '*.zip' -type f -delete
rm -rf .dotnet/
rm -rf packages/source-built
mkdir -p packages/archive
ln -s %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.tar.gz packages/archive/
%else %else
%setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap %setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap
@ -366,39 +343,31 @@ rm -rf .dotnet
%ifarch aarch64 %ifarch aarch64
tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt
%endif %endif
%ifarch ppc64le %ifarch s390x
tar -x --strip-components=1 -f %{SOURCE2} -C packages/prebuilt tar -x --strip-components=1 -f %{SOURCE2} -C packages/prebuilt
%endif %endif
%ifarch s390x
tar -x --strip-components=1 -f %{SOURCE3} -C packages/prebuilt
%endif
mkdir -p .dotnet mkdir -p .dotnet
tar xf packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/ tar xf packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/
rm packages/prebuilt/dotnet-sdk*.tar.gz rm packages/prebuilt/dotnet-sdk*.tar.gz
boot_sdk_version=$(ls -1 .dotnet/sdk/) boot_sdk_version=$(ls -1 .dotnet/sdk/)
sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json
%ifarch ppc64le s390x
ilasm_version=$(ls packages/prebuilt| grep -i ilasm | tr 'A-Z' 'a-z' | sed -E 's|runtime.linux-'%{runtime_arch}'.microsoft.netcore.ilasm.||' | sed -E 's|.nupkg$||')
echo $ilasm_version
mkdir -p packages-customized-local
pushd packages-customized-local
tar xf ../packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz
sed -i -E 's|<MicrosoftNETCoreILAsmVersion>[^<]+</MicrosoftNETCoreILAsmVersion>|<MicrosoftNETCoreILAsmVersion>'$ilasm_version'</MicrosoftNETCoreILAsmVersion>|' PackageVersions.props
sed -i -E 's|<MicrosoftNETCoreILDAsmVersion>[^<]+</MicrosoftNETCoreILDAsmVersion>|<MicrosoftNETCoreILDAsmVersion>'$ilasm_version'</MicrosoftNETCoreILDAsmVersion>|' PackageVersions.props
tar czf ../packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz *
popd
%endif %endif
%endif %endif
%if %{without bootstrap}
# Remove all prebuilts
find -iname '*.dll' -type f -delete
find -iname '*.so' -type f -delete
find -iname '*.tar.gz' -type f -delete
find -iname '*.nupkg' -type f -delete
find -iname '*.zip' -type f -delete
rm -rf .dotnet/
rm -rf packages/source-built
%endif %endif
%patch1 -p1 %patch1 -p1
%patch2 -p1
# Fix bad hardcoded path in build # Fix bad hardcoded path in build
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp
@ -465,12 +434,15 @@ export COMPlus_LTTng=0
export OPENSSL_ENABLE_SHA1_SIGNATURES=1 export OPENSSL_ENABLE_SHA1_SIGNATURES=1
%endif %endif
%if 0%{?rhel}
# See https://github.com/dotnet/source-build/issues/2991
export DOTNET_NUGET_SIGNATURE_VERIFICATION=false
%endif
VERBOSE=1 ./build.sh \ VERBOSE=1 ./build.sh \
%if %{without bootstrap} %if %{without bootstrap}
--with-sdk previously-built-dotnet \ --with-sdk previously-built-dotnet \
%endif --with-packages %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.tar.gz
%ifarch %{mono_archs}
--use-mono-runtime \
%endif %endif
-- \ -- \
/p:MinimalConsoleLogOutput=false \ /p:MinimalConsoleLogOutput=false \
@ -610,6 +582,7 @@ export COMPlus_LTTng=0
%{_libdir}/dotnet/sdk/%{sdk_version} %{_libdir}/dotnet/sdk/%{sdk_version}
%dir %{_libdir}/dotnet/sdk-manifests %dir %{_libdir}/dotnet/sdk-manifests
%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version} %{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version}
%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version}-rc.1
%{_libdir}/dotnet/metadata %{_libdir}/dotnet/metadata
%dir %{_libdir}/dotnet/packs %dir %{_libdir}/dotnet/packs
@ -619,38 +592,14 @@ export COMPlus_LTTng=0
%changelog %changelog
* Thu Feb 02 2023 Omair Majid <omajid@redhat.com> - 7.0.103-1
- Update to .NET SDK 7.0.103 and Runtime 7.0.3
- Resolves: RHBZ#2166775
* Mon Dec 19 2022 Omair Majid <omajid@redhat.com> - 7.0.102-1
- Update to .NET SDK 7.0.102 and Runtime 7.0.2
- Resolves: RHBZ#2154466
* Tue Dec 06 2022 Omair Majid <omajid@redhat.com> - 7.0.101-1
- Update to .NET SDK 7.0.101 and Runtime 7.0.1
- Resolves: RHBZ#2150151
* Wed Nov 02 2022 Omair Majid <omajid@redhat.com> - 7.0.100-1
- Update to .NET SDK 7.0.100 and Runtime 7.0.0
- Resolves: RHBZ#2137943
* Mon Oct 24 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.4.rc2
- Enable ppc64le builds
- Related: RHBZ#2134642
* Thu Oct 13 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.3.rc2
- Update to .NET 7 RC 2
- Resolves: RHBZ#2134642
* Sat Sep 17 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.2.rc1 * Sat Sep 17 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.2.rc1
- Update to .NET 7 RC 1 - Update to .NET 7 RC 1
- Enable s390x builds - Enable s390x builds
- Resolves: RHBZ#2123886 - Resolves: RHBZ#2123884
* Thu Aug 25 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.1 * Thu Aug 25 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.1
- Initial .NET 7 package - Initial .NET 7 package
- Resolves: RHBZ#2112096 - Resolves: RHBZ#2112027
* Wed May 11 2022 Omair Majid <omajid@redhat.com> - 6.0.105-1 * Wed May 11 2022 Omair Majid <omajid@redhat.com> - 6.0.105-1
- Update to .NET SDK 6.0.105 and Runtime 6.0.5 - Update to .NET SDK 6.0.105 and Runtime 6.0.5