diff --git a/.dotnet6.0.metadata b/.dotnet6.0.metadata index d99fd4f..0cf0661 100644 --- a/.dotnet6.0.metadata +++ b/.dotnet6.0.metadata @@ -1 +1 @@ -c2ead3ca8f29db72f65c6c6a4f607eb51a38212e SOURCES/dotnet-v6.0.102.tar.gz +52d536d6917a2362ae6c655898556e906399975d SOURCES/dotnet-v6.0.108.tar.gz diff --git a/.gitignore b/.gitignore index 39d69d8..314ab37 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/dotnet-v6.0.102.tar.gz +SOURCES/dotnet-v6.0.108.tar.gz diff --git a/SOURCES/command-line-api-use-work-tree-with-git-apply.patch b/SOURCES/command-line-api-use-work-tree-with-git-apply.patch deleted file mode 100644 index 552d59d..0000000 --- a/SOURCES/command-line-api-use-work-tree-with-git-apply.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7a752928ed3588246c4b296feb6cf4946f1b29b7 Mon Sep 17 00:00:00 2001 -From: Omair Majid -Date: Thu, 9 Sep 2021 12:11:39 -0400 -Subject: [PATCH] [ArPow] Use --work-tree with git apply - -This makes things work better in a source-tarball build, where there may -be a .git directory but it's for a different repo than command-line-api. ---- - eng/SourceBuild.props | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props -index 6cc85018..5e223747 100644 ---- a/eng/SourceBuild.props -+++ b/eng/SourceBuild.props -@@ -15,7 +15,7 @@ - - - - --- -2.31.1 - diff --git a/SOURCES/fsharp-use-work-tree-with-git-apply.patch b/SOURCES/fsharp-use-work-tree-with-git-apply.patch deleted file mode 100644 index 810cf67..0000000 --- a/SOURCES/fsharp-use-work-tree-with-git-apply.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/eng/SourceBuild.props -+++ b/eng/SourceBuild.props -@@ -15,7 +15,7 @@ - - - - diff --git a/SOURCES/runtime-66594-s390x-debuginfo.patch b/SOURCES/runtime-66594-s390x-debuginfo.patch new file mode 100644 index 0000000..5637645 --- /dev/null +++ b/SOURCES/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/vstest-use-work-tree-with-git-apply.patch b/SOURCES/vstest-use-work-tree-with-git-apply.patch deleted file mode 100644 index 58c139f..0000000 --- a/SOURCES/vstest-use-work-tree-with-git-apply.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b2c4b2427d8c1a2410c4210789caccf1ec87e64a Mon Sep 17 00:00:00 2001 -From: Omair Majid -Date: Thu, 9 Sep 2021 13:21:51 -0400 -Subject: [PATCH] [ArPow] Use --work-tree with git apply - -This makes things work better in a source-tarball build, where there may -be a .git directory somewhere in our parent directories but it's for a -different repo than vstest. In a situation like that a plain `git apply` -will (silently!) ignore patches because they wont apply to the unrelated -repository. That will (eventually) make the source-build fail. -`--work-tree` makes git directly use the directory that we care about. - -See https://github.com/dotnet/source-build/issues/2445 for more details. ---- - eng/SourceBuild.props | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props -index b365645c..68f82592 100644 ---- a/eng/SourceBuild.props -+++ b/eng/SourceBuild.props -@@ -24,7 +24,7 @@ - - - - --- -2.31.1 - diff --git a/SOURCES/xliff-tasks-use-work-tree-with-git-apply.patch b/SOURCES/xliff-tasks-use-work-tree-with-git-apply.patch deleted file mode 100644 index 810cf67..0000000 --- a/SOURCES/xliff-tasks-use-work-tree-with-git-apply.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/eng/SourceBuild.props -+++ b/eng/SourceBuild.props -@@ -15,7 +15,7 @@ - - - - diff --git a/SPECS/dotnet6.0.spec b/SPECS/dotnet6.0.spec index 3801455..6785258 100644 --- a/SPECS/dotnet6.0.spec +++ b/SPECS/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.8 +%global runtime_version 6.0.8 %global aspnetcore_runtime_version %{runtime_version} -%global sdk_version 6.0.102 +%global sdk_version 6.0.108 +%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: 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/ @@ -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 @@ -381,44 +376,32 @@ ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages %endif # 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 -pushd src/runtime.* +pushd src/runtime %patch100 -p1 %patch101 -p1 +%patch102 -p1 popd -pushd src/command-line-api.* -%patch300 -p1 -popd - -pushd src/vstest.* -%patch400 -p1 -popd - -pushd src/fsharp.* +pushd src/fsharp %patch500 -p1 -%patch501 -p1 -popd - -pushd src/xliff-tasks.* -%patch600 -p1 popd -pushd src/arcade.* +pushd src/arcade %patch700 -p1 popd -pushd src/roslyn.* +pushd src/roslyn %patch800 -p3 %patch801 -p1 popd -pushd src/roslyn-analyzers.* +pushd src/roslyn-analyzers %patch900 -p1 popd -pushd src/msbuild.* +pushd src/msbuild # These are mono-specific fixes. Mono is only used on s390x. Restrict # patch to s390x to avoid potential risk in other architectures. @@ -429,22 +412,17 @@ pushd src/msbuild.* popd -pushd src/sdk.* +pushd src/sdk %patch1500 -p1 %patch1501 -p1 popd -pushd src/installer.* +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 +sed -i -E 's|( /p:BuildDebPackage=false)|\1 --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|' src/runtime/eng/SourceBuild.props %endif %build @@ -469,29 +447,40 @@ 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 - # Disable tracing, which is incompatible with certain versions of # lttng See https://github.com/dotnet/runtime/issues/57784. The # suggested compile-time change doesn't work, unfrotunately. export COMPlus_LTTng=0 +%if 0%{?rhel} > 8 +# 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 +export OPENSSL_ENABLE_SHA1_SIGNATURES=1 +%endif + VERBOSE=1 ./build.sh \ %if %{without bootstrap} --with-sdk previously-built-dotnet \ @@ -544,7 +533,7 @@ install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/ install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions # dynamic completion needs the file to be named the same as the base command -install src/sdk.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet +install src/sdk/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet # TODO: the zsh completion script needs to be ported to use #compdef #install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions @@ -565,10 +554,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. @@ -576,7 +565,6 @@ echo "Testing build results for debug symbols..." %{SOURCE10} -v %{buildroot}%{_libdir}/dotnet/ - %check %if 0%{?fedora} > 35 # lttng in Fedora > 35 is incompatible with .NET @@ -586,9 +574,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 +612,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 +622,30 @@ test -f %{buildroot}%{_libdir}/dotnet/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/ %changelog +* Tue Aug 09 2022 Omair Majid - 6.0.108-1 +- Update to .NET SDK 6.0.108 and Runtime 6.0.8 +- Resolves: RHBZ#2112409 + +* Thu Jul 21 2022 Omair Majid - 6.0.107-2 +- Update to .NET SDK 6.0.107 and Runtime 6.0.7 +- Resolves: RHBZ#2103269 + +* Thu Jun 23 2022 Omair Majid - 6.0.106-1 +- Update to .NET SDK 6.0.106 and Runtime 6.0.6 +- Resolves: RHBZ#2093431 + +* Wed May 25 2022 Omair Majid - 6.0.105-1 +- Update to .NET SDK 6.0.105 and Runtime 6.0.5 +- Resolves: RHBZ#2082266 + +* Sat Apr 30 2022 Omair Majid - 6.0.104-1 +- Update to .NET SDK 6.0.104 and Runtime 6.0.4 +- Resolves: RHBZ#2078604 + +* 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