diff --git a/.gitignore b/.gitignore index 4760fae..325ad7a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /dotnet-s390x-prebuilts-2021-10-29.tar.gz /dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c.tar.gz /dotnet-v6.0.102.tar.gz +/dotnet-v6.0.103.tar.gz diff --git a/dotnet6.0.spec b/dotnet6.0.spec index 3801455..3a98f69 100644 --- a/dotnet6.0.spec +++ b/dotnet6.0.spec @@ -20,10 +20,11 @@ # until that's done, disable LTO. This has to happen before setting the flags below. %define _lto_cflags %{nil} -%global host_version 6.0.2 -%global runtime_version 6.0.2 +%global host_version 6.0.3 +%global runtime_version 6.0.3 %global aspnetcore_runtime_version %{runtime_version} -%global sdk_version 6.0.102 +%global sdk_version 6.0.103 +%global sdk_feature_band_version %(echo %{sdk_version} | sed -e 's|[[:digit:]][[:digit:]]$|00|') %global templates_version %{runtime_version} #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') @@ -59,7 +60,7 @@ Name: dotnet6.0 Version: %{sdk_rpm_version} -Release: 3%{?dist} +Release: 2%{?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/ @@ -85,20 +86,11 @@ Source11: dotnet.sh.in 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/command-line-api/pull/1401 -Patch300: command-line-api-use-work-tree-with-git-apply.patch - -# https://github.com/microsoft/vstest/pull/3046 -Patch400: vstest-use-work-tree-with-git-apply.patch - -# This is the suggestion from https://github.com/dotnet/source-build/pull/2450, applied -Patch500: fsharp-use-work-tree-with-git-apply.patch # Disable apphost, needed for s390x -Patch501: fsharp-no-apphost.patch - -# This is the suggestion from https://github.com/dotnet/source-build/pull/2450, applied -Patch600: xliff-tasks-use-work-tree-with-git-apply.patch +Patch500: fsharp-no-apphost.patch # Disable apphost, needed for s390x Patch700: arcade-no-apphost.patch @@ -133,6 +125,7 @@ ExclusiveArch: aarch64 x86_64 s390x ExclusiveArch: x86_64 %endif + BuildRequires: clang BuildRequires: cmake BuildRequires: coreutils @@ -221,8 +214,10 @@ Requires: dotnet-hostfxr-6.0%{?_isa} >= %{host_rpm_version}-%{release} # libicu is dlopen()ed Requires: libicu%{?_isa} +# See src/runtime.*/src/libraries/Native/AnyOS/brotli-version.txt +Provides: bundled(libbrotli) = 1.0.9 %if %{use_bundled_libunwind} -# See runtime.*/src/coreclr/pal/src/libunwind/libunwind-version.txt +# See src/runtime.*/src/coreclr/pal/src/libunwind/libunwind-version.txt Provides: bundled(libunwind) = 1.5.rc1.28.g9165d2a1 %endif @@ -386,23 +381,11 @@ sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/native/corehos pushd src/runtime.* %patch100 -p1 %patch101 -p1 -popd - -pushd src/command-line-api.* -%patch300 -p1 -popd - -pushd src/vstest.* -%patch400 -p1 +%patch102 -p1 popd pushd src/fsharp.* %patch500 -p1 -%patch501 -p1 -popd - -pushd src/xliff-tasks.* -%patch600 -p1 popd pushd src/arcade.* @@ -438,11 +421,6 @@ pushd src/installer.* %patch1600 -p1 popd -# Disable package validation which breaks our build. -# There's no need to run validation in RPM packages anyway. -# See https://github.com/dotnet/runtime/pull/60881 -sed -i -E 's|( /p:BuildDebPackage=false)|\1 /p:EnablePackageValidation=false|' src/runtime.*/eng/SourceBuild.props - %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 @@ -469,23 +447,30 @@ export CXXFLAGS="%{dotnet_cflags}" export LDFLAGS="%{dotnet_ldflags}" %endif +# -fstack-clash-protection breaks CoreCLR +CFLAGS=$(echo $CFLAGS | sed -e 's/-fstack-clash-protection//' ) +CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-fstack-clash-protection//' ) + %ifarch aarch64 # -mbranch-protection=standard breaks unwinding in CoreCLR through libunwind CFLAGS=$(echo $CFLAGS | sed -e 's/-mbranch-protection=standard //') CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-mbranch-protection=standard //') %endif -# -fstack-clash-protection breaks CoreCLR -CFLAGS=$(echo $CFLAGS | sed -e 's/-fstack-clash-protection//' ) -CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-fstack-clash-protection//' ) +%ifarch s390x +# -march=z13 -mtune=z14 makes clang crash while compiling .NET +CFLAGS=$(echo $CFLAGS | sed -e 's/ -march=z13//') +CFLAGS=$(echo $CFLAGS | sed -e 's/ -mtune=z14//') +CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -march=z13//') +CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//') +%endif export EXTRA_CFLAGS="$CFLAGS" export EXTRA_CXXFLAGS="$CXXFLAGS" export EXTRA_LDFLAGS="$LDFLAGS" -unset CFLAGS -unset CXXFLAGS -unset LDFLAGS +# https://gitlab.com/redhat/centos-stream/rpms/openssl/-/commit/78fb78d30755ae18fdaef28ef392f4e67c662ff6 +export OPENSSL_ENABLE_SHA1_SIGNATURES=1 # Disable tracing, which is incompatible with certain versions of # lttng See https://github.com/dotnet/runtime/issues/57784. The @@ -565,10 +550,10 @@ install install_location_%{runtime_arch} %{buildroot}%{_sysconfdir}/dotnet/ install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ + # Quick and dirty check for https://github.com/dotnet/source-build/issues/2731 test -f %{buildroot}%{_libdir}/dotnet/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props - # Check debug symbols in all elf objects. This is not in %%check # because native binaries are stripped by rpm-build after %%install. # So we need to do this check earlier. @@ -586,9 +571,6 @@ export COMPlus_LTTng=0 %{buildroot}%{_libdir}/dotnet/dotnet --info %{buildroot}%{_libdir}/dotnet/dotnet --version -# Quick and dirty check for https://github.com/dotnet/source-build/issues/2731 -test -f %{buildroot}%{_libdir}/dotnet/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/Sdk/Sdk.props - %files -n dotnet-host %dir %{_libdir}/dotnet @@ -627,8 +609,7 @@ test -f %{buildroot}%{_libdir}/dotnet/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/ %dir %{_libdir}/dotnet/sdk %{_libdir}/dotnet/sdk/%{sdk_version} %dir %{_libdir}/dotnet/sdk-manifests -# FIXME hardcoded version? -%{_libdir}/dotnet/sdk-manifests/6.0.100 +%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version} %{_libdir}/dotnet/metadata %dir %{_libdir}/dotnet/packs @@ -638,6 +619,10 @@ test -f %{buildroot}%{_libdir}/dotnet/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/ %changelog +* Mon Apr 25 2022 Omair Majid - 6.0.103-2 +- Update to .NET SDK 6.0.103 and Runtime 6.0.3 +- Resolves: RHBZ#2072015 + * Tue Feb 15 2022 Omair Majid - 6.0.102-3 - Disable bootstrap - Related: RHBZ#1986211 diff --git a/runtime-66594-s390x-debuginfo.patch b/runtime-66594-s390x-debuginfo.patch new file mode 100644 index 0000000..5637645 --- /dev/null +++ b/runtime-66594-s390x-debuginfo.patch @@ -0,0 +1,29 @@ +diff --git a/src/mono/mono.proj b/src/mono/mono.proj +index fb98ffc1896..d6a0c9a8ec2 100644 +--- a/src/mono/mono.proj ++++ b/src/mono/mono.proj +@@ -519,17 +519,17 @@ + + <_Objcopy Condition="'$(_ObjcopyFound)' != '0'">objcopy + +- ++ + + + + +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + + + diff --git a/sources b/sources index c956c74..8daada4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dotnet-v6.0.102.tar.gz) = dcb4102b1a6c9e1889d80f8cecf30da00ad16320cbbf14de891db632ebaa0b872501865957429107ade0caef569a2f2ed5ccb70111de7772838b820997f0c36e +SHA512 (dotnet-v6.0.103.tar.gz) = 7fc7f9f8aa9b7491a72884ec08ea3269a35ee5d6295e19b8c9b4d5b61262bebcfeae8f945bf2bdb0f1cb4ebdfd57f9a06490e8062e0319494ddecc4606e8d052 diff --git a/update-release b/update-release index 70b3c87..d722cb6 100755 --- a/update-release +++ b/update-release @@ -56,7 +56,7 @@ fi host_version="$runtime_version" -tag=v${sdk_version}-SDK +tag=v${sdk_version} if [[ -f "dotnet-${tag}-original.tar.gz" ]]; then echo "dotnet-${tag}-original.tar.gz alredy exists, not rebuilding tarball"