Created
November 11, 2022 22:11
-
-
Save omajid/2912c6ceebd7445bc1d4419668cd15e1 to your computer and use it in GitHub Desktop.
dotnet6.0-to-dotnet7.0.diff
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- /home/omajid/fedora-git/dotnet6.0/dotnet6.0.spec 2022-11-10 17:36:53.768827846 -0500 | |
+++ dotnet7.0.spec 2022-11-11 08:52:14.076931655 -0500 | |
@@ -1,18 +1,4 @@ | |
-%bcond_with bootstrap | |
- | |
-# Avoid provides/requires from private libraries | |
-%global privlibs libhostfxr | |
-%global privlibs %{privlibs}|libclrjit | |
-%global privlibs %{privlibs}|libcoreclr | |
-%global privlibs %{privlibs}|libcoreclrtraceptprovider | |
-%global privlibs %{privlibs}|libdbgshim | |
-%global privlibs %{privlibs}|libhostpolicy | |
-%global privlibs %{privlibs}|libmscordaccore | |
-%global privlibs %{privlibs}|libmscordbi | |
-%global privlibs %{privlibs}|libsos | |
-%global privlibs %{privlibs}|libsosplugin | |
-%global __provides_exclude ^(%{privlibs})\\.so | |
-%global __requires_exclude ^(%{privlibs})\\.so | |
+%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 | |
@@ -20,21 +6,22 @@ | |
# until that's done, disable LTO. This has to happen before setting the flags below. | |
%define _lto_cflags %{nil} | |
-%global host_version 6.0.11 | |
-%global runtime_version 6.0.11 | |
-%global aspnetcore_runtime_version %{runtime_version} | |
-%global sdk_version 6.0.111 | |
-%global sdk_feature_band_version %(echo %{sdk_version} | sed -e 's|[[:digit:]][[:digit:]]$|00|') | |
-%global templates_version %{runtime_version} | |
+%global host_version 7.0.0-rc.2.22472.3 | |
+%global runtime_version 7.0.0-rc.2.22472.3 | |
+%global aspnetcore_runtime_version 7.0.0-rc.2.22476.2 | |
+%global sdk_version 7.0.100-rc.2.22511.1 | |
+%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') | |
+%global templates_version 7.0.0-rc.2.22476.2 | |
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') | |
-%global host_rpm_version %{host_version} | |
-%global runtime_rpm_version %{runtime_version} | |
-%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version} | |
-%global sdk_rpm_version %{sdk_version} | |
+%global host_rpm_version 7.0.0 | |
+%global runtime_rpm_version 7.0.0 | |
+%global aspnetcore_runtime_rpm_version 7.0.0 | |
+%global sdk_rpm_version 7.0.0 | |
# 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.2.22477.23 | |
%if 0%{?fedora} || 0%{?rhel} < 8 | |
%global use_bundled_libunwind 0 | |
@@ -42,25 +29,30 @@ | |
%global use_bundled_libunwind 1 | |
%endif | |
-%ifarch aarch64 s390x | |
+%ifarch aarch64 ppc64le s390x | |
%global use_bundled_libunwind 1 | |
%endif | |
-%ifarch x86_64 | |
-%global runtime_arch x64 | |
-%endif | |
%ifarch aarch64 | |
%global runtime_arch arm64 | |
%endif | |
+%ifarch ppc64le | |
+%global runtime_arch ppc64le | |
+%endif | |
%ifarch s390x | |
%global runtime_arch s390x | |
%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}} | |
-Name: dotnet6.0 | |
+Name: dotnet7.0 | |
Version: %{sdk_rpm_version} | |
-Release: 1%{?dist} | |
+Release: 0.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/ | |
@@ -70,9 +62,11 @@ | |
# ./build-dotnet-tarball --bootstrap %%{upstream_tag} | |
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz | |
# Generated via ./build-arm64-bootstrap-tarball | |
-Source1: dotnet-arm64-prebuilts-2021-10-29.tar.gz | |
+Source1: dotnet-arm64-prebuilts-2022-10-12.tar.gz | |
# Generated manually, same pattern as the arm64 tarball | |
-Source2: dotnet-s390x-prebuilts-2021-10-29.tar.gz | |
+Source2: dotnet-ppc64le-prebuilts-2022-10-21.tar.gz | |
+# Generated manually, same pattern as the arm64 tarball | |
+Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz | |
%else | |
# The source is generated on a Fedora box via: | |
# ./build-dotnet-tarball %%{upstream_tag} | |
@@ -82,46 +76,33 @@ | |
Source10: check-debug-symbols.py | |
Source11: dotnet.sh.in | |
-# Fix using lld on Fedora | |
-Patch100: runtime-arm64-lld-fix.patch | |
-# Mono still has a dependency on (now unbuildable) ILStrip which was removed from CoreCLR: https://github.com/dotnet/runtime/pull/60315 | |
-Patch101: runtime-mono-remove-ilstrip.patch | |
-# https://github.com/dotnet/runtime/pull/66594 | |
-Patch102: runtime-66594-s390x-debuginfo.patch | |
-# https://github.com/dotnet/runtime/pull/73065 | |
-Patch103: runtime-clang15-support.patch | |
-# https://github.com/dotnet/runtime/pull/60675 | |
-Patch104: runtime-strerror.patch | |
- | |
-# Disable apphost, needed for s390x | |
-Patch500: fsharp-no-apphost.patch | |
-# Disable apphost, needed for s390x | |
-Patch700: arcade-no-apphost.patch | |
- | |
-# Named mutex fix for mono, needed for s390x. https://github.com/dotnet/roslyn/pull/57003 | |
-Patch800: roslyn-57003-mono-named-mutex.patch | |
-# Disable apphost, needed for s390x | |
-Patch801: roslyn-no-apphost.patch | |
- | |
-# Disable apphost, needed for s390x | |
-Patch900: roslyn-analyzers-no-apphost.patch | |
- | |
-# Fix mono-specific runtime crashes running msbuild. CoreCLR does not | |
-# load types that are not actually used/invoked at runtime, while mono | |
-# does. System.Configuration and System.Security are missing in | |
-# source-build builds, which breaks msbuild. | |
-Patch1000: msbuild-no-systemsecurity.patch | |
-Patch1001: msbuild-no-systemconfiguration.patch | |
- | |
-# Disable telemetry by default; make it opt-in | |
-Patch1500: sdk-telemetry-optout.patch | |
-# https://github.com/dotnet/sdk/pull/22373 | |
-Patch1501: sdk-22373-portablerid.patch | |
- | |
+# https://github.com/dotnet/runtime/pull/76916 | |
+Patch1: runtime-76916-mono-s390x-opcheckthis.patch | |
+# https://github.com/microsoft/vstest/pull/4028 | |
+Patch2: vstest-4028-ppc64le.patch | |
+# https://github.com/microsoft/vstest/pull/4066 | |
+Patch3: vstest-4066-s390x-ppc64le.patch | |
+# https://github.com/dotnet/installer/pull/14631 | |
+Patch4: installer-14631-ppc64le.patch | |
+# https://github.com/dotnet/installer/pull/14792 | |
+Patch5: installer-14792-mono.patch | |
+# https://github.com/dotnet/aspnetcore/pull/44583 | |
+Patch6: aspnetcore-44583-ppc64le-crossgen.patch | |
+# https://github.com/dotnet/runtime/pull/77269 | |
+Patch7: runtime-77269-mono-ppc64le-opcheckthis.patch | |
+# https://github.com/dotnet/runtime/pull/77270 | |
+Patch8: runtime-77270-ppc64le-fsharp-crash.patch | |
+# https://github.com/dotnet/runtime/pull/77308 | |
+Patch9: runtime-77308-ppc64le-delegate.patch | |
+# Disable apphost; there's no net6.0 apphost for ppc64le | |
+Patch10: roslyn-analyzers-ppc64le-apphost.patch | |
+# Fix ppc64le build with clang 15 | |
+# TODO upstream this | |
+Patch11: runtime-mono-ppc64le-clang15.patch | |
%if 0%{?fedora} || 0%{?rhel} >= 8 | |
-ExclusiveArch: aarch64 x86_64 s390x | |
+ExclusiveArch: aarch64 ppc64le s390x x86_64 | |
%else | |
ExclusiveArch: x86_64 | |
%endif | |
@@ -131,8 +112,8 @@ | |
BuildRequires: cmake | |
BuildRequires: coreutils | |
%if %{without bootstrap} | |
-BuildRequires: dotnet-sdk-6.0 | |
-BuildRequires: dotnet-sdk-6.0-source-built-artifacts | |
+BuildRequires: dotnet-sdk-7.0 | |
+BuildRequires: dotnet-sdk-7.0-source-built-artifacts | |
%endif | |
BuildRequires: findutils | |
BuildRequires: git | |
@@ -148,6 +129,9 @@ | |
%ifarch aarch64 | |
BuildRequires: lld | |
%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: lttng-ust-devel | |
BuildRequires: make | |
@@ -157,6 +141,25 @@ | |
BuildRequires: util-linux | |
BuildRequires: zlib-devel | |
+# Avoid generating provides and requires for private libraries | |
+%global privlibs libhostfxr | |
+%global privlibs %{privlibs}|libclrgc | |
+%global privlibs %{privlibs}|libclrjit | |
+%global privlibs %{privlibs}|libcoreclr | |
+%global privlibs %{privlibs}|libcoreclrtraceptprovider | |
+%global privlibs %{privlibs}|libhostpolicy | |
+%global privlibs %{privlibs}|libmscordaccore | |
+%global privlibs %{privlibs}|libmscordbi | |
+%global privlibs %{privlibs}|libnethost | |
+%global privlibs %{privlibs}|libSystem.Globalization.Native | |
+%global privlibs %{privlibs}|libSystem.IO.Compression.Native | |
+%global privlibs %{privlibs}|libSystem.Native | |
+%global privlibs %{privlibs}|libSystem.Net.Security.Native | |
+%global privlibs %{privlibs}|libSystem.Security.Cryptography.Native.OpenSsl | |
+%global __provides_exclude ^(%{privlibs})\\.so | |
+%global __requires_exclude ^(%{privlibs})\\.so | |
+ | |
+ | |
%description | |
.NET is a fast, lightweight and modular platform for creating | |
cross platform applications that work on Linux, macOS and Windows. | |
@@ -168,13 +171,14 @@ | |
framework libraries, an SDK containing compilers and a 'dotnet' | |
application to drive everything. | |
+%if 0%{?rhel} <= 8 | |
%package -n dotnet | |
Version: %{sdk_rpm_version} | |
Summary: .NET CLI tools and runtime | |
-Requires: dotnet-sdk-6.0%{?_isa} >= %{sdk_rpm_version}-%{release} | |
+Requires: dotnet-sdk-7.0%{?_isa} >= %{sdk_rpm_version}-%{release} | |
%description -n dotnet | |
.NET is a fast, lightweight and modular platform for creating | |
@@ -187,6 +191,7 @@ | |
framework libraries, an SDK containing compilers and a 'dotnet' | |
application to drive everything. | |
+%endif | |
%package -n dotnet-host | |
@@ -204,7 +209,7 @@ | |
applications and micro-services. | |
-%package -n dotnet-hostfxr-6.0 | |
+%package -n dotnet-hostfxr-7.0 | |
Version: %{host_rpm_version} | |
Summary: .NET command line host resolver | |
@@ -213,7 +218,7 @@ | |
# provided by this package, or from a newer version of .NET | |
Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release} | |
-%description -n dotnet-hostfxr-6.0 | |
+%description -n dotnet-hostfxr-7.0 | |
The .NET host resolver contains the logic to resolve and select | |
the right version of the .NET SDK or runtime to use. | |
@@ -224,12 +229,12 @@ | |
applications and micro-services. | |
-%package -n dotnet-runtime-6.0 | |
+%package -n dotnet-runtime-7.0 | |
Version: %{runtime_rpm_version} | |
-Summary: NET 6.0 runtime | |
+Summary: NET 7.0 runtime | |
-Requires: dotnet-hostfxr-6.0%{?_isa} >= %{host_rpm_version}-%{release} | |
+Requires: dotnet-hostfxr-7.0%{?_isa} >= %{host_rpm_version}-%{release} | |
# libicu is dlopen()ed | |
Requires: libicu%{?_isa} | |
@@ -241,7 +246,7 @@ | |
Provides: bundled(libunwind) = 1.5.rc1.28.g9165d2a1 | |
%endif | |
-%description -n dotnet-runtime-6.0 | |
+%description -n dotnet-runtime-7.0 | |
The .NET runtime contains everything needed to run .NET applications. | |
It includes a high performance Virtual Machine as well as the framework | |
libraries used by .NET applications. | |
@@ -253,14 +258,14 @@ | |
applications and micro-services. | |
-%package -n aspnetcore-runtime-6.0 | |
+%package -n aspnetcore-runtime-7.0 | |
Version: %{aspnetcore_runtime_rpm_version} | |
-Summary: ASP.NET Core 6.0 runtime | |
+Summary: ASP.NET Core 7.0 runtime | |
-Requires: dotnet-runtime-6.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
+Requires: dotnet-runtime-7.0%{?_isa} = %{runtime_rpm_version}-%{release} | |
-%description -n aspnetcore-runtime-6.0 | |
+%description -n aspnetcore-runtime-7.0 | |
The ASP.NET Core runtime contains everything needed to run .NET | |
web applications. It includes a high performance Virtual Machine as | |
well as the framework libraries used by .NET applications. | |
@@ -272,16 +277,16 @@ | |
applications and micro-services. | |
-%package -n dotnet-templates-6.0 | |
+%package -n dotnet-templates-7.0 | |
Version: %{sdk_rpm_version} | |
-Summary: .NET 6.0 templates | |
+Summary: .NET 7.0 templates | |
# Theoretically any version of the host should work. But lets aim for the one | |
# provided by this package, or from a newer version of .NET | |
Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release} | |
-%description -n dotnet-templates-6.0 | |
+%description -n dotnet-templates-7.0 | |
This package contains templates used by the .NET SDK. | |
.NET is a fast, lightweight and modular platform for creating | |
@@ -291,24 +296,24 @@ | |
applications and micro-services. | |
-%package -n dotnet-sdk-6.0 | |
+%package -n dotnet-sdk-7.0 | |
Version: %{sdk_rpm_version} | |
-Summary: .NET 6.0 Software Development Kit | |
+Summary: .NET 7.0 Software Development Kit | |
Provides: bundled(js-jquery) | |
-Requires: dotnet-runtime-6.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
-Requires: aspnetcore-runtime-6.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release} | |
+Requires: dotnet-runtime-7.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
+Requires: aspnetcore-runtime-7.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release} | |
-Requires: dotnet-apphost-pack-6.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
-Requires: dotnet-targeting-pack-6.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
-Requires: aspnetcore-targeting-pack-6.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release} | |
+Requires: dotnet-apphost-pack-7.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
+Requires: dotnet-targeting-pack-7.0%{?_isa} >= %{runtime_rpm_version}-%{release} | |
+Requires: aspnetcore-targeting-pack-7.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release} | |
Requires: netstandard-targeting-pack-2.1%{?_isa} >= %{sdk_rpm_version}-%{release} | |
-Requires: dotnet-templates-6.0%{?_isa} >= %{sdk_rpm_version}-%{release} | |
+Requires: dotnet-templates-7.0%{?_isa} >= %{sdk_rpm_version}-%{release} | |
-%description -n dotnet-sdk-6.0 | |
+%description -n dotnet-sdk-7.0 | |
The .NET SDK is a collection of command line applications to | |
create, build, publish and run .NET applications. | |
@@ -337,18 +342,18 @@ | |
%{_libdir}/dotnet/packs/%{5} | |
} | |
-%dotnet_targeting_pack dotnet-apphost-pack-6.0 %{runtime_rpm_version} Microsoft.NETCore.App 6.0 Microsoft.NETCore.App.Host.%{runtime_id} | |
-%dotnet_targeting_pack dotnet-targeting-pack-6.0 %{runtime_rpm_version} Microsoft.NETCore.App 6.0 Microsoft.NETCore.App.Ref | |
-%dotnet_targeting_pack aspnetcore-targeting-pack-6.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 6.0 Microsoft.AspNetCore.App.Ref | |
+%dotnet_targeting_pack dotnet-apphost-pack-7.0 %{runtime_rpm_version} Microsoft.NETCore.App 7.0 Microsoft.NETCore.App.Host.%{runtime_id} | |
+%dotnet_targeting_pack dotnet-targeting-pack-7.0 %{runtime_rpm_version} Microsoft.NETCore.App 7.0 Microsoft.NETCore.App.Ref | |
+%dotnet_targeting_pack aspnetcore-targeting-pack-7.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 7.0 Microsoft.AspNetCore.App.Ref | |
%dotnet_targeting_pack netstandard-targeting-pack-2.1 %{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref | |
-%package -n dotnet-sdk-6.0-source-built-artifacts | |
+%package -n dotnet-sdk-7.0-source-built-artifacts | |
Version: %{sdk_rpm_version} | |
-Summary: Internal package for building .NET 6.0 Software Development Kit | |
+Summary: Internal package for building .NET 7.0 Software Development Kit | |
-%description -n dotnet-sdk-6.0-source-built-artifacts | |
+%description -n dotnet-sdk-7.0-source-built-artifacts | |
The .NET source-built archive is a collection of packages needed | |
to build the .NET SDK itself. | |
@@ -358,94 +363,82 @@ | |
%prep | |
%if %{without bootstrap} | |
%setup -q -n dotnet-%{upstream_tag} | |
-%else | |
- | |
-%setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap | |
-%ifnarch x86_64 | |
- | |
-rm -rf .dotnet | |
-%ifarch aarch64 | |
-tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt | |
-%endif | |
-%ifarch s390x | |
-tar -x --strip-components=1 -f %{SOURCE2} -C packages/prebuilt | |
-%endif | |
-mkdir -p .dotnet | |
-tar xf packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/ | |
-rm packages/prebuilt/dotnet-sdk*.tar.gz | |
-boot_sdk_version=$(ls -1 .dotnet/sdk/) | |
-sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json | |
-%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 | |
mkdir -p packages/archive | |
ln -s %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.tar.gz packages/archive/ | |
-%endif | |
-# Fix bad hardcoded path in build | |
-sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp | |
+%else | |
-pushd src/runtime | |
-%patch100 -p1 | |
-%patch101 -p1 | |
-%patch102 -p1 | |
-%patch103 -p1 | |
-%patch104 -p1 | |
-popd | |
+%setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap | |
-pushd src/fsharp | |
-%patch500 -p1 | |
-popd | |
+%ifnarch x86_64 | |
-pushd src/arcade | |
-%patch700 -p1 | |
-popd | |
+rm -rf .dotnet | |
+%ifarch aarch64 | |
+tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt | |
+%endif | |
+%ifarch ppc64le | |
+tar -x --strip-components=1 -f %{SOURCE2} -C packages/prebuilt | |
+%endif | |
+%ifarch s390x | |
+tar -x --strip-components=1 -f %{SOURCE3} -C packages/prebuilt | |
+%endif | |
-pushd src/roslyn | |
-%patch800 -p3 | |
-%patch801 -p1 | |
-popd | |
+mkdir -p .dotnet | |
+tar xf packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/ | |
+rm packages/prebuilt/dotnet-sdk*.tar.gz | |
-pushd src/roslyn-analyzers | |
-%patch900 -p1 | |
-popd | |
+boot_sdk_version=$(ls -1 .dotnet/sdk/) | |
+sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json | |
-pushd src/msbuild | |
+%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 | |
-# These are mono-specific fixes. Mono is only used on s390x. Restrict | |
-# patch to s390x to avoid potential risk in other architectures. | |
-%ifarch s390x | |
-%patch1000 -p1 | |
-%patch1001 -p1 | |
%endif | |
-popd | |
+%endif | |
-pushd src/sdk | |
-%patch1500 -p1 | |
-%patch1501 -p1 | |
-popd | |
+%endif | |
-pushd src/installer | |
-popd | |
+%patch1 -p1 | |
+%patch2 -p1 | |
+%patch3 -p1 | |
+%patch4 -p1 | |
+%patch5 -p1 | |
+%patch6 -p1 | |
+%patch7 -p1 | |
+%patch8 -p1 | |
+%patch9 -p1 | |
+%patch10 -p1 | |
+%patch11 -p1 | |
+# Fix bad hardcoded path in build | |
+sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp | |
%if ! %{use_bundled_libunwind} | |
sed -i -E 's|( /p:BuildDebPackage=false)|\1 --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|' src/runtime/eng/SourceBuild.props | |
%endif | |
+ | |
%build | |
cat /etc/os-release | |
@@ -455,7 +448,7 @@ | |
find previously-built-dotnet | |
%endif | |
-%if 0%{?fedora} > 32 || 0%{?rhel} > 8 | |
+%if 0%{?fedora} || 0%{?rhel} >= 9 | |
# Setting this macro ensures that only clang supported options will be | |
# added to ldflags and cflags. | |
%global toolchain clang | |
@@ -496,7 +489,7 @@ | |
# suggested compile-time change doesn't work, unfortunately. | |
export COMPlus_LTTng=0 | |
-%if 0%{?fedora} > 37 || 0%{?rhel} > 8 | |
+%if 0%{?rhel} >= 9 | |
# OpenSSL 3.0 in RHEL 9 has disabled SHA1, used by .NET for strong | |
# name signing. See https://github.com/dotnet/runtime/issues/67304 | |
# https://gitlab.com/redhat/centos-stream/rpms/openssl/-/commit/78fb78d30755ae18fdaef28ef392f4e67c662ff6 | |
@@ -507,14 +500,18 @@ | |
%if %{without bootstrap} | |
--with-sdk previously-built-dotnet \ | |
%endif | |
+%ifarch %{mono_archs} | |
+ --use-mono-runtime \ | |
+%endif | |
-- \ | |
+ /p:MinimalConsoleLogOutput=false \ | |
+ /p:ContinueOnPrebuiltBaselineError=true \ | |
+ /v:n \ | |
+ /p:LogVerbosity=n \ | |
+ | |
echo \ | |
- /v:n \ | |
/p:SkipPortableRuntimeBuild=true \ | |
- /p:LogVerbosity=n \ | |
- /p:MinimalConsoleLogOutput=false \ | |
- /p:ContinueOnPrebuiltBaselineError=true \ | |
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE11} > dotnet.sh | |
@@ -564,8 +561,10 @@ | |
install -dm 0755 %{buildroot}%{_bindir} | |
ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/ | |
-install -dm 0755 %{buildroot}%{_mandir}/man1/ | |
-find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \; | |
+for section in 1 7; do | |
+ install -dm 0755 %{buildroot}%{_mandir}/man${section}/ | |
+ find -iname 'dotnet*'.${section} -type f -exec cp {} %{buildroot}%{_mandir}/man${section}/ \; | |
+done | |
install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet | |
echo "%{_libdir}/dotnet" >> install_location | |
@@ -598,8 +597,10 @@ | |
%{buildroot}%{_libdir}/dotnet/dotnet --version | |
+%if 0%{?rhel} <= 8 | |
%files -n dotnet | |
# empty package useful for dependencies | |
+%endif | |
%files -n dotnet-host | |
%dir %{_libdir}/dotnet | |
@@ -610,73 +611,48 @@ | |
%license %{_libdir}/dotnet/LICENSE.txt | |
%license %{_libdir}/dotnet/ThirdPartyNotices.txt | |
%doc %{_mandir}/man1/dotnet*.1.gz | |
+%doc %{_mandir}/man7/dotnet*.7.gz | |
%config(noreplace) %{_sysconfdir}/profile.d/dotnet.sh | |
%config(noreplace) %{_sysconfdir}/dotnet | |
%dir %{_datadir}/bash-completion | |
%dir %{_datadir}/bash-completion/completions | |
%{_datadir}/bash-completion/completions/dotnet | |
-%files -n dotnet-hostfxr-6.0 | |
+%files -n dotnet-hostfxr-7.0 | |
%dir %{_libdir}/dotnet/host/fxr | |
%{_libdir}/dotnet/host/fxr/%{host_version} | |
-%files -n dotnet-runtime-6.0 | |
+%files -n dotnet-runtime-7.0 | |
%dir %{_libdir}/dotnet/shared | |
%dir %{_libdir}/dotnet/shared/Microsoft.NETCore.App | |
%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version} | |
-%files -n aspnetcore-runtime-6.0 | |
+%files -n aspnetcore-runtime-7.0 | |
%dir %{_libdir}/dotnet/shared | |
%dir %{_libdir}/dotnet/shared/Microsoft.AspNetCore.App | |
%{_libdir}/dotnet/shared/Microsoft.AspNetCore.App/%{aspnetcore_runtime_version} | |
-%files -n dotnet-templates-6.0 | |
+%files -n dotnet-templates-7.0 | |
%dir %{_libdir}/dotnet/templates | |
%{_libdir}/dotnet/templates/%{templates_version} | |
-%files -n dotnet-sdk-6.0 | |
+%files -n dotnet-sdk-7.0 | |
%dir %{_libdir}/dotnet/sdk | |
%{_libdir}/dotnet/sdk/%{sdk_version} | |
%dir %{_libdir}/dotnet/sdk-manifests | |
%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version} | |
+%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version}-rc.1 | |
%{_libdir}/dotnet/metadata | |
%dir %{_libdir}/dotnet/packs | |
-%files -n dotnet-sdk-6.0-source-built-artifacts | |
+%files -n dotnet-sdk-7.0-source-built-artifacts | |
%dir %{_libdir}/dotnet | |
%{_libdir}/dotnet/source-built-artifacts | |
%changelog | |
-* Thu Nov 10 2022 Omair Majid <omajid@redhat.com> - 6.0.111-1 | |
-- Update to .NET SDK 6.0.111 and Runtime 6.0.11 | |
- | |
-* Mon Oct 31 2022 Omair Majid <omajid@redhat.com> - 6.0.110-2 | |
-- Set OPENSSL_ENABLE_SHA1_SIGNATURES=1 when building | |
- | |
-* Fri Oct 28 2022 Omair Majid <omajid@redhat.com> - 6.0.110-1 | |
-- Update to .NET SDK 6.0.110 and Runtime 6.0.10 | |
- | |
-* Wed Oct 12 2022 Omair Majid <omajid@redhat.com> - 6.0.109-1 | |
-- Update to .NET SDK 6.0.109 and Runtime 6.0.9 | |
- | |
-* Thu Sep 29 2022 Michael Cronenworth <mike@cchtml.com> - 6.0.108-3 | |
-- Clang 15 and s390x fixes with upstream patches | |
- | |
-* Mon Aug 22 2022 Omair Majid <omajid@redhat.com> - 6.0.108-2 | |
-- Add an RID for Fedora 38 | |
- | |
-* Tue Aug 09 2022 Omair Majid <omajid@redhat.com> - 6.0.108-1 | |
-- Update to .NET SDK 6.0.108 and Runtime 6.0.8 | |
- | |
-* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.107-2 | |
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild | |
- | |
-* Mon Jul 18 2022 Omair Majid <omajid@redhat.com> - 6.0.107-1 | |
-- Update to .NET SDK 6.0.107 and Runtime 6.0.7 | |
- | |
-* Wed Jun 15 2022 Omair Majid <omajid@redhat.com> - 6.0.106-1 | |
-- Update to .NET SDK 6.0.106 and Runtime 6.0.6 | |
+* Thu Nov 10 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.1 | |
+- Update to .NET 7 RC 2 | |
* 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment