From 417dba3dce765fcc9c17ae511ad5082ae2b4222d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jan 09 2022 20:20:11 +0000 Subject: import dotnet6.0-6.0.100-1.el8 --- diff --git a/.dotnet6.0.metadata b/.dotnet6.0.metadata index 69a9be0..c6b8af0 100644 --- a/.dotnet6.0.metadata +++ b/.dotnet6.0.metadata @@ -1 +1 @@ -0d1ecdbbe7ebfd2fc201854d02d98212a3fcaed3 SOURCES/dotnet-v6.0.101-SDK.tar.gz +4521a07f53136d83916b1a044ed6cba3b8a41813 SOURCES/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c.tar.gz diff --git a/.gitignore b/.gitignore index 6578a82..faa0263 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/dotnet-v6.0.101-SDK.tar.gz +SOURCES/dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c.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/installer-12622-fix-runtime-symbols.patch b/SOURCES/installer-12622-fix-runtime-symbols.patch new file mode 100644 index 0000000..fa2d46f --- /dev/null +++ b/SOURCES/installer-12622-fix-runtime-symbols.patch @@ -0,0 +1,48 @@ +From 7365824ddc6ed66152cfc50f4c8508368953099c Mon Sep 17 00:00:00 2001 +From: Omair Majid +Date: Tue, 9 Nov 2021 08:39:27 -0500 +Subject: [PATCH] Also publish non-portable RID runtime symbols tarball + +This fixes a regression in .NET 6 source-build compared to the .NET +5 source-build. + +source-build wants to publish runtime symbols tarball for portable (eg, +linux-x64) and non-portable (eg, fedora.33-x64) RIDs here after a build. +Following .NET 5 conventions, I expected to see: + + ./artifacts/x64/Release/runtime/dotnet-runtime-symbols-fedora.34-x64-6.0.0.tar.gz + ./artifacts/x64/Release/runtime/dotnet-runtime-symbols-linux-x64-6.0.0.tar.gz + +Unfortunately, only the portable RID (linux-x64) tarball is present +after a full source-build in .NET 6. + +It turns out this is a bug in our build scripts. We try and copy +binaries - including the symbol tarballs - after building each of +runtime-portable and runtime. However, the target dependency is wrong: +after `Build`, the intermediate package doesn't exist from the +just-built repo. + +What ends up happening is that nothing is copied after building +runtime-portable. However, after building runtime, the runtime-portable +intermediate artifacts are found and copied over. So the end +build has portable RID symbos, but not the non-portable ones. + +Fix that by changing the dependency of this target so it runs after +intermediate packages are available. +--- + src/SourceBuild/tarball/content/repos/runtime.common.targets | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/SourceBuild/tarball/content/repos/runtime.common.targets b/src/SourceBuild/tarball/content/repos/runtime.common.targets +index ca606b23d21..862b70dc832 100644 +--- a/src/SourceBuild/tarball/content/repos/runtime.common.targets ++++ b/src/SourceBuild/tarball/content/repos/runtime.common.targets +@@ -23,7 +23,7 @@ + + + + diff --git a/SOURCES/installer-12736-no-sudo.patch b/SOURCES/installer-12736-no-sudo.patch deleted file mode 100644 index 34d583a..0000000 --- a/SOURCES/installer-12736-no-sudo.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f8e115fadf6e8b392fa007e78d9b77fc64590cdd Mon Sep 17 00:00:00 2001 -From: Daniel Plaisted -Date: Mon, 29 Nov 2021 20:19:30 -0800 -Subject: [PATCH] Don't set ulimit - -1ES pools should now have ulimit set already now ---- - build.sh | 4 +--- - run-build.sh | 4 ---- - 2 files changed, 1 insertion(+), 7 deletions(-) - -diff --git a/build.sh b/build.sh -index 594a355fafa..7ff647c4060 100755 ---- a/build.sh -+++ b/build.sh -@@ -53,7 +53,5 @@ dockerbuild() - if [ ! -z "$BUILD_IN_DOCKER" ]; then - dockerbuild $args - else -- # Run under sudo so we can set ulimit -- # See https://github.com/dotnet/core-eng/issues/14808 -- sudo -E $DIR/run-build.sh $args -+ $DIR/run-build.sh $args - fi -diff --git a/run-build.sh b/run-build.sh -index fe839eb8009..7b98aedc0be 100755 ---- a/run-build.sh -+++ b/run-build.sh -@@ -25,10 +25,6 @@ CUSTOM_BUILD_ARGS= - # Set nuget package cache under the repo - [ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages" - --# Set max number of files open, helps avoid errors during NuGet restore --# See https://github.com/dotnet/core-eng/issues/14808 --ulimit -n 16384 -- - args=( ) - - while [[ $# > 0 ]]; do diff --git a/SOURCES/runtime-61442-disable-werror.patch b/SOURCES/runtime-61442-disable-werror.patch new file mode 100644 index 0000000..401440c --- /dev/null +++ b/SOURCES/runtime-61442-disable-werror.patch @@ -0,0 +1,41 @@ +From f41c06ba040adf1930156340c5b03d9864d8a1d4 Mon Sep 17 00:00:00 2001 +From: Omair Majid +Date: Wed, 10 Nov 2021 17:54:45 -0500 +Subject: [PATCH] The 6.0 branch is no longer pre-release + +This has limited affects, but it should have been set to false since 6.0 +is now stable/released. + +The one difference it makes is that -Werror is disabled when building +native code. +--- + Directory.Build.props | 2 +- + eng/native/configureplatform.cmake | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Directory.Build.props b/Directory.Build.props +index f19ea9208c2c..5cb87bb7c257 100644 +--- a/Directory.Build.props ++++ b/Directory.Build.props +@@ -255,7 +255,7 @@ + https://go.microsoft.com/fwlink/?LinkID=799421 + + +- true ++ false + $(MSBuildProjectName.Contains('Private')) + + true +diff --git a/eng/native/configureplatform.cmake b/eng/native/configureplatform.cmake +index 519431772004..af1c88bce5b6 100644 +--- a/eng/native/configureplatform.cmake ++++ b/eng/native/configureplatform.cmake +@@ -2,7 +2,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/functions.cmake) + + # If set, indicates that this is not an officially supported release + # Keep in sync with IsPrerelease in Directory.Build.props +-set(PRERELEASE 1) ++set(PRERELEASE 0) + + #---------------------------------------- + # Detect and set platform variable names diff --git a/SOURCES/runtime-62170-clang13.patch b/SOURCES/runtime-62170-clang13.patch new file mode 100644 index 0000000..8c47186 --- /dev/null +++ b/SOURCES/runtime-62170-clang13.patch @@ -0,0 +1,76 @@ +From 9cd95a5608b667e22727d9eb1a5330efd61dfe50 Mon Sep 17 00:00:00 2001 +From: Jan Vorlicek +Date: Mon, 29 Nov 2021 17:32:45 -0800 +Subject: [PATCH] Fix clang 13 induced runtime issues + +The clang 13 optimizer started to assume that "this" pointer is always +properly aligned. That lead to elimination of some code that was actually +needed. +It also takes pointer aliasing rules more strictly in one place in jit. +That caused the optimizer to falsely assume that a callee with an argument +passed by reference is not modifying that argument and used a stale +copy of the original value at the caller site. + +This change fixes both of the issues. With this fix, runtime compiled +using clang 13 seems to be fully functional. +--- + src/coreclr/inc/corhlpr.h | 8 ++++---- + src/coreclr/jit/bitsetasshortlong.h | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/coreclr/inc/corhlpr.h b/src/coreclr/inc/corhlpr.h +index 450514da95c1..427e8cdc0ff5 100644 +--- a/src/coreclr/inc/corhlpr.h ++++ b/src/coreclr/inc/corhlpr.h +@@ -336,7 +336,7 @@ struct COR_ILMETHOD_SECT + const COR_ILMETHOD_SECT* Next() const + { + if (!More()) return(0); +- return ((COR_ILMETHOD_SECT*)(((BYTE *)this) + DataSize()))->Align(); ++ return ((COR_ILMETHOD_SECT*)Align(((BYTE *)this) + DataSize())); + } + + const BYTE* Data() const +@@ -374,9 +374,9 @@ struct COR_ILMETHOD_SECT + return((AsSmall()->Kind & CorILMethod_Sect_FatFormat) != 0); + } + +- const COR_ILMETHOD_SECT* Align() const ++ static const void* Align(const void* p) + { +- return((COR_ILMETHOD_SECT*) ((((UINT_PTR) this) + 3) & ~3)); ++ return((void*) ((((UINT_PTR) p) + 3) & ~3)); + } + + protected: +@@ -579,7 +579,7 @@ typedef struct tagCOR_ILMETHOD_FAT : IMAGE_COR_ILMETHOD_FAT + + const COR_ILMETHOD_SECT* GetSect() const { + if (!More()) return (0); +- return(((COR_ILMETHOD_SECT*) (GetCode() + GetCodeSize()))->Align()); ++ return(((COR_ILMETHOD_SECT*) COR_ILMETHOD_SECT::Align(GetCode() + GetCodeSize()))); + } + } COR_ILMETHOD_FAT; + +diff --git a/src/coreclr/jit/bitsetasshortlong.h b/src/coreclr/jit/bitsetasshortlong.h +index d343edeeda4c..365cf346a10a 100644 +--- a/src/coreclr/jit/bitsetasshortlong.h ++++ b/src/coreclr/jit/bitsetasshortlong.h +@@ -345,7 +345,7 @@ class BitSetOps -Date: Wed, 15 Dec 2021 15:06:51 +0100 -Subject: [PATCH] userlocal detection: also force last digits to zero for - non-preview versions. - ---- - src/Common/WorkloadFileBasedInstall.cs | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Common/WorkloadFileBasedInstall.cs b/src/Common/WorkloadFileBasedInstall.cs -index f0d82c1fa9..0b27b0939c 100644 ---- a/src/Common/WorkloadFileBasedInstall.cs -+++ b/src/Common/WorkloadFileBasedInstall.cs -@@ -21,7 +21,7 @@ internal static void SetUserLocal(string dotnetDir, string sdkFeatureBand) - - private static string GetUserInstallFilePath(string dotnetDir, string sdkFeatureBand) - { -- if (sdkFeatureBand.Contains("-")) -+ if (sdkFeatureBand.Contains("-") || !sdkFeatureBand.EndsWith("00", StringComparison.Ordinal)) - { - // The user passed in the sdk version. Derive the feature band version. - if (!Version.TryParse(sdkFeatureBand.Split('-')[0], out var sdkVersionParsed)) 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 eb26ecc..16ae93b 100644 --- a/SPECS/dotnet6.0.spec +++ b/SPECS/dotnet6.0.spec @@ -20,12 +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.1 -%global runtime_version 6.0.1 -%global aspnetcore_runtime_version %{runtime_version} -%global sdk_version 6.0.101 -%global sdk_feature_band_version %(echo %{sdk_version} | sed -e 's|[[:digit:]][[:digit:]]$|00|') -%global templates_version %{runtime_version} +%global host_version 6.0.0 +%global runtime_version 6.0.0 +%global aspnetcore_runtime_version 6.0.0 +%global sdk_version 6.0.100 +%global templates_version 6.0.0 #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') %global host_rpm_version %{host_version} @@ -34,7 +33,8 @@ %global sdk_rpm_version %{sdk_version} # upstream can update releases without revving the SDK version so these don't always match -%global upstream_tag v%{sdk_version}-SDK +#%%global upstream_tag v%%{sdk_version}-SDK +%global upstream_tag 9e8b04bbff820c93c142f99a507a46b976f5c14c %if 0%{?fedora} || 0%{?rhel} < 8 %global use_bundled_libunwind 0 @@ -60,7 +60,7 @@ Name: dotnet6.0 Version: %{sdk_rpm_version} -Release: 2%{?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/ @@ -87,20 +87,13 @@ 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/61442 +Patch102: runtime-61442-disable-werror.patch +# https://github.com/dotnet/runtime/pull/62170 +Patch103: runtime-62170-clang13.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 @@ -124,14 +117,11 @@ Patch1001: msbuild-no-systemconfiguration.patch Patch1500: sdk-telemetry-optout.patch # https://github.com/dotnet/sdk/pull/22373 Patch1501: sdk-22373-portablerid.patch -# https://github.com/dotnet/sdk/pull/23080 -Patch1502: sdk-23080-userlocal-workload.patch # https://github.com/dotnet/installer/pull/12516 Patch1600: installer-12516-portablerid.patch -# https://github.com/dotnet/installer/pull/12736 -Patch1601: installer-12736-no-sudo.patch - +# https://github.com/dotnet/installer/pull/12622 +Patch1601: installer-12622-fix-runtime-symbols.patch %if 0%{?fedora} || 0%{?rhel} >= 8 ExclusiveArch: aarch64 x86_64 s390x @@ -408,29 +398,15 @@ ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages # Fix bad hardcoded path in build sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/native/corehost/hostmisc/pal.unix.cpp -# Disable warnings -# sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props - pushd src/runtime.* %patch100 -p1 %patch101 -p1 -popd - -pushd src/command-line-api.* -%patch300 -p1 -popd - -pushd src/vstest.* -%patch400 -p1 +%patch102 -p1 +%patch103 -p1 popd pushd src/fsharp.* %patch500 -p1 -%patch501 -p1 -popd - -pushd src/xliff-tasks.* -%patch600 -p1 popd pushd src/arcade.* @@ -460,17 +436,21 @@ popd pushd src/sdk.* %patch1500 -p1 %patch1501 -p1 -%patch1502 -p1 popd pushd src/installer.* %patch1600 -p1 -%patch1601 -p1 popd +# We need to apply the patch to the already-built tarball's +# repos/runtime.common.targets, not to the installer's "source" copy. +%patch1601 -p5 + + # Disable package validation which breaks our build, even though we # are injecting "blessed" nuget packages produced by Microsoft. # 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} @@ -540,14 +520,13 @@ ls artifacts/%{runtime_arch}/Release tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/ # See https://github.com/dotnet/source-build/issues/2579 -find %{buildroot}%{_libdir}/dotnet/ -iname testhost.x86 -delete -find %{buildroot}%{_libdir}/dotnet/ -iname vstest.console -delete +find %{buildroot}%{_libdir}/dotnet/ -type f -iname testhost.x86 -delete +find %{buildroot}%{_libdir}/dotnet/ -type f -iname vstest.console -delete -# Install managed symbols. Disabled until we find a fix for the build -# system embedding hardcoded source code paths. More at -# https://github.com/dotnet/source-build/issues/2623 +# Install managed symbols +# Disabled until https://github.com/dotnet/source-build/issues/2623 is sorted out # tar xf artifacts/%%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-*%%{runtime_version}*.tar.gz \ -# -C %%{buildroot}/%%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%%{runtime_version}/ +# -C %%{buildroot}/%%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%%{runtime_version}/ # Fix executable permissions on files find %{buildroot}%{_libdir}/dotnet/ -type f -name 'apphost' -exec chmod +x {} \; @@ -602,7 +581,6 @@ install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts. %check %{buildroot}%{_libdir}/dotnet/dotnet --info -%{buildroot}%{_libdir}/dotnet/dotnet --version %files -n dotnet @@ -645,7 +623,8 @@ install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts. %dir %{_libdir}/dotnet/sdk %{_libdir}/dotnet/sdk/%{sdk_version} %dir %{_libdir}/dotnet/sdk-manifests -%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version} +# FIXME hardcoded version? +%{_libdir}/dotnet/sdk-manifests/6.0.100 %{_libdir}/dotnet/metadata %dir %{_libdir}/dotnet/packs @@ -655,13 +634,11 @@ install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts. %changelog -* Wed Dec 15 2021 Omair Majid - 6.0.101-1 -- Fix userlocal workload install -- Related: RHBZ#2030391 - -* Wed Dec 08 2021 Omair Majid - 6.0.101-1 -- Update to .NET SDK 6.0.101 and Runtime 6.0.1 -- Resolves: RHBZ#2030391 +* Fri Dec 10 2021 Omair Majid - 6.0.100-1 +- Fix build against clang 13 +- Resolves: RHBZ#2003061 +- Resolves: RHBZ#2015536 +- Resolves: RHBZ#2014666 * Sun Oct 31 2021 Omair Majid - 6.0.100-0.10 - Disable bootstrap