community/dotnet6: upgrade to 6.0.125 #282
8 changed files with 470 additions and 183 deletions
|
@ -34,21 +34,38 @@
|
|||
# - CVE-2023-35390
|
||||
# - CVE-2023-38180
|
||||
# - CVE-2023-35391
|
||||
# 6.0.122-r0:
|
||||
# - CVE-2023-36792
|
||||
# - CVE-2023-36793
|
||||
# - CVE-2023-36794
|
||||
# - CVE-2023-36796
|
||||
# - CVE-2023-36799
|
||||
# 6.0.123-r0:
|
||||
# - CVE-2023-44487
|
||||
# 6.0.124-r0:
|
||||
# - CVE-2023-36792
|
||||
# - CVE-2023-36793
|
||||
# - CVE-2023-36794
|
||||
# - CVE-2023-36796
|
||||
# - CVE-2023-36799
|
||||
# - CVE-2023-44487
|
||||
# 6.0.125-r0:
|
||||
# - CVE-2023-36049
|
||||
# - CVE-2023-36558
|
||||
|
||||
|
||||
pkgname=dotnet6-build
|
||||
pkgver=6.0.121
|
||||
pkgver=6.0.125
|
||||
pkgrel=0
|
||||
_gittag=v$pkgver-source-build
|
||||
_gittag=v$pkgver
|
||||
_giturl="https://github.com/dotnet/installer"
|
||||
_testtag=e1cc0f181ffd4d755756d30d985513897d592ba4
|
||||
_bunnytag=71880bd94711519f7b786248a88a827a401207a2
|
||||
_llvmver=16
|
||||
_patches="
|
||||
build_14816-non-portable-build.patch
|
||||
build_14816-stop-overriding-aspnetcore-version.patch
|
||||
build_14816-update-portable-rid-logic.patch
|
||||
build_disable-apphost.diff
|
||||
installer_14816-crossgen2-rid.patch
|
||||
installer_14816-update-portable-rid-logic.patch
|
||||
msbuild_optional-systemconfiguration.patch
|
||||
msbuild_optional-systemsecurity.patch
|
||||
|
@ -65,8 +82,7 @@ _pkgver_macro=${pkgver%.*}
|
|||
_pkgver_prior=${pkgver%.*.*}
|
||||
_pkgver_name=${_pkgver_macro//[.0]}
|
||||
pkgdesc="The .NET $_pkgver_macro bootstrap"
|
||||
# aarch64: build failure
|
||||
arch="x86_64 armv7 s390x"
|
||||
arch="x86_64 aarch64 armv7"
|
||||
url=https://dotnet.microsoft.com
|
||||
license="MIT"
|
||||
# hack for dotnetx-build to be able to pull itself for bootstrapping
|
||||
|
@ -90,7 +106,7 @@ checkdepends="
|
|||
makedepends="
|
||||
alpine-release
|
||||
bash
|
||||
clang
|
||||
clang$_llvmver
|
||||
cmake
|
||||
dotnet$_pkgver_name-bootstrap
|
||||
dotnet$_pkgver_name-bootstrap-artifacts
|
||||
|
@ -110,7 +126,7 @@ makedepends="
|
|||
libxml2-utils
|
||||
linux-headers
|
||||
lldb-dev
|
||||
llvm-dev
|
||||
llvm$_llvmver-dev
|
||||
lttng-ust-dev
|
||||
nodejs
|
||||
numactl-dev
|
||||
|
@ -275,6 +291,8 @@ build() {
|
|||
msg "Building $pkgname-$pkgver"
|
||||
ulimit -n 4096
|
||||
|
||||
export PATH="$PATH:/usr/lib/llvm$_llvmver/bin"
|
||||
|
||||
# Disable use of LTTng as tracing on lttng <=2,13,0 is broken
|
||||
# See https://github.com/dotnet/runtime/issues/57784.
|
||||
if [ -f "/usr/lib/liblttng-ust.so.1 " ]; then
|
||||
|
@ -551,14 +569,12 @@ doc() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
f038ff9707a102cc07032a32547dd4b0bae9bbe357cfafd769030ad625fbcd86bb9396db543309e625bad2af1f0e183f0288d6bd3ef47f803d203a11e03524e2 dotnet-v6.0.121-source-build.tar.xz
|
||||
5f3626aac49cf29c924d30fa81c508be8a45b38914c08b67c1dbec44f7d2b3ff7b6a8126ff4af88d43b972e5e17a712757b762ecf5c99c5f6acd8284ee9b2a3f dotnet-v6.0.125.tar.xz
|
||||
e9f3df13d093fac214778c1137857e065f58d4e0d2a48d540d8ed7bb41e2fd73b2b3f62a0aa5b0e80fa80a5b58ba77ff19b9d10a492802f8539e3a6ed79d299d dotnet-testsuite-e1cc0f181ffd4d755756d30d985513897d592ba4.tar.gz
|
||||
fc281df5fcf0d31dc9ff7f5b0e870960cfbe3c4fa0f6a6bb50b22c4ee18d2c608c827205bc79bd7f686d77ac917582fc26f68432cdd86c4a33b910c0c7416d09 dotnet-bunny-71880bd94711519f7b786248a88a827a401207a2.tar.gz
|
||||
bdbe798add3ded0c2cf361c9f5aa18fb3540e348e68a5695cbdb797be917f06d1bda69855cae2f36950e9506119e81165927787e13b80a17a1b647ef2c221916 build_14816-non-portable-build.patch
|
||||
3e04fff2d9d9b39ac4dce0b80f4b566fff8819313a5bf1df791e8f1a63a26ef882bd8aa1524344f63fbb4a3728077179b7f1d7ebefc003c236d39a48beaa0073 build_14816-stop-overriding-aspnetcore-version.patch
|
||||
bdc2617791fda07bcc87cf5f8727ac721756810880b14c5472998d6a3e238d85d5a12db7823d1237b17f40945e697a6c9104d1c43816c775cc03920e88572a37 build_14816-non-portable-build.patch
|
||||
70d402d0bcaa98c8b09652365404238b67ed26eb9c3d510c7d6309fb61937d98c9144f1096e521c11b00e946d29585a9d474498ccc5223de32bd6471ab5a431f build_14816-update-portable-rid-logic.patch
|
||||
a5a359af816595fbf19482e5dccf874c78d2fc4b59f38223118aac603b33e00c9fed22580eee3112519477205c2c8ed16177d100f09f45275e3da3c20b0ed7f7 build_disable-apphost.diff
|
||||
7ffda90d766217e7c3756ebd423b557218c24f5337668b319421514945d3f961d82037c997b7254de088b1853102d7de15e0d824cf2cc02a6c455efc2b0107a2 installer_14816-crossgen2-rid.patch
|
||||
e71f91d14873755bc2f227807d909e5260bd1f166a262eda0bf05d4a3975a7bce7fde457c1eba476a83b317aebdaaba25f1893d3385182428c08bba6243f21c8 installer_14816-update-portable-rid-logic.patch
|
||||
86e14ecc0269c8b2c2a2a679790de4fa4e15ac06b2a831e1129c4a7de1499d60583fcdc79b3705652c3c4ced73afac2e0ee3edce2cfa3b00fddf94180fb26e10 msbuild_optional-systemconfiguration.patch
|
||||
f4d27624f735ce77e0030fa791594fc12fb325a3ce8620791a7856bd5c0067a042df2196ec97ed4d0309db64bd51e6a48cafaad316d9ea45e34134214a7f3ca4 msbuild_optional-systemsecurity.patch
|
||||
|
|
|
@ -52,15 +52,15 @@ index 480f3c713..52243024a 100644
|
|||
<!-- Update to 1.0.0 version of reference assemblies which are built in SBRP instead of the preview.2 version
|
||||
included by Arcade -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:MicrosoftNetFrameworkReferenceAssembliesVersion=1.0.0</BuildCommandArgs>
|
||||
diff --git a/repos/installer.proj b/repos/installer.proj
|
||||
index e34337b85..6c08a1f67 100644
|
||||
--- a/repos/installer.proj
|
||||
diff --git a/repos/installer.proj.orig b/repos/installer.proj
|
||||
index 0df0c8f7c03..95d47c94152 100644
|
||||
--- a/repos/installer.proj.orig
|
||||
+++ b/repos/installer.proj
|
||||
@@ -25,7 +25,7 @@
|
||||
@@ -30,7 +30,7 @@
|
||||
<BuildCommandArgs Condition="'$(TargetOS)' == 'Linux'">$(BuildCommandArgs) /p:Rid=$(TargetRid)</BuildCommandArgs>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:DOTNET_INSTALL_DIR=$(DotNetCliToolDir)</BuildCommandArgs>
|
||||
|
||||
- <BuildCommandArgs Condition="'$(TargetOS)' == 'Linux'">$(BuildCommandArgs) /p:AspNetCoreInstallerRid=linux-$(Platform)</BuildCommandArgs>
|
||||
- <BuildCommandArgs Condition="'$(TargetOS)' == 'Linux'">$(BuildCommandArgs) /p:AspNetCoreInstallerRid=$(PortableRid)</BuildCommandArgs>
|
||||
+ <BuildCommandArgs Condition="'$(TargetOS)' == 'Linux'">$(BuildCommandArgs) /p:AspNetCoreInstallerRid=$(TargetRid)</BuildCommandArgs>
|
||||
<!-- core-sdk always wants to build portable on OSX and FreeBSD -->
|
||||
<BuildCommandArgs Condition="'$(TargetOS)' == 'FreeBSD'">$(BuildCommandArgs) /p:CoreSetupRid=freebsd-x64 /p:PortableBuild=true</BuildCommandArgs>
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
From 94463478bd6aaec208bc5e3dd1d120e0a49aeaaa Mon Sep 17 00:00:00 2001
|
||||
Patch-Source: https://github.com/dotnet/installer/pull/14816
|
||||
From: Antoine Martin <dev@ayakael.net>
|
||||
Date: Tue, 15 Nov 2022 01:08:29 -0500
|
||||
Subject: [PATCH 3/3] source-build: stop overriding aspnetcore version
|
||||
(backport of #14938)
|
||||
|
||||
---
|
||||
.../tarball/content/Directory.Build.props | 4 ----
|
||||
.../tarball/content/tools-local/init-build.proj | 12 ++++++++++++
|
||||
2 files changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Directory.Build.props b/Directory.Build.props
|
||||
index 2e2d7e8bc..6b08fa71b 100644
|
||||
--- a/Directory.Build.props
|
||||
+++ b/Directory.Build.props
|
||||
@@ -222,12 +222,8 @@
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimePackageVersion" Version="$(runtimeOutputPackageVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppRuntimeVersion" Version="$(runtimeOutputPackageVersion)" />
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftNETCoreAppHostPackageVersion" Version="$(runtimeOutputPackageVersion)" />
|
||||
- <ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimePackageVersion" Version="%24(MicrosoftAspNetCoreAppRuntimeLinux$(Platform)PackageVersion)" />
|
||||
<!-- core-sdk uses this property for ASP.NET blob directory -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="VSRedistCommonAspNetCoreTargetingPackx6430PackageVersion" Version="$(aspnetcoreOutputPackageVersion)" />
|
||||
- <!-- OSX needs the OSX version instead of Linux. We don't have a lot of flexibility in how we output these properties so we're relying on the previous one being blank if the Linux version of the package is missing. -->
|
||||
- <ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimePackageVersion" Version="%24(MicrosoftAspNetCoreAppRuntimeOsxX64PackageVersion)" DoNotOverwrite="true" />
|
||||
- <ExtraPackageVersionPropsPackageInfo Include="MicrosoftAspNetCoreAppRuntimePackageVersion" Version="%24(MicrosoftAspNetCoreAppRuntimewinx64PackageVersion)" DoNotOverwrite="true" />
|
||||
|
||||
<!-- Used by installer to determine sdk version -->
|
||||
<ExtraPackageVersionPropsPackageInfo Include="MicrosoftDotnetToolsetInternalPackageVersion" Version="%24(MicrosoftNETSdkPackageVersion)" />
|
||||
diff --git a/tools-local/init-build.proj b/tools-local/init-build.proj
|
||||
index 701f76c0c..ac4508947 100644
|
||||
--- a/tools-local/init-build.proj
|
||||
+++ b/tools-local/init-build.proj
|
||||
@@ -9,6 +9,7 @@
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="NuGetPack" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ZipFileExtractToDirectory" />
|
||||
<UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceTextInFile" />
|
||||
+ <UsingTask AssemblyFile="$(XPlatSourceBuildTasksAssembly)" TaskName="ReplaceRegexInFiles" />
|
||||
|
||||
<ItemGroup>
|
||||
<BuildTasksTarget Include="Restore;Build;InstallResolver" />
|
||||
@@ -22,6 +23,7 @@
|
||||
<CallTarget Targets="
|
||||
UnpackTarballs;
|
||||
BuildXPlatTasks;
|
||||
+ PatchPackageVersions;
|
||||
BuildLeakDetection;
|
||||
ExtractToolPackage;
|
||||
GenerateRootFs;
|
||||
@@ -38,6 +40,16 @@
|
||||
<Delete Files="$(CompletedSemaphorePath)*.*" />
|
||||
</Target>
|
||||
|
||||
+ <!-- TODO: Remove this when the .NET 8 artifacts tarball no longer includes MicrosoftAspNetCoreAppRuntimePackageVersion -->
|
||||
+ <Target Name="PatchPackageVersions">
|
||||
+ <!-- Rename MicrosoftAspNetCoreAppRuntimePackageVersion so it isn't used
|
||||
+ Fixes https://github.com/dotnet/installer/issues/14492 -->
|
||||
+ <ReplaceRegexInFiles
|
||||
+ InputFiles="$(IntermediatePath)PreviouslySourceBuiltPackageVersions.props"
|
||||
+ OldTextRegex="\bMicrosoftAspNetCoreAppRuntimePackageVersion\b"
|
||||
+ NewText="__unused" />
|
||||
+ </Target>
|
||||
+
|
||||
<Target Name="UnpackTarballs"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(CompletedSemaphorePath)UnpackTarballs.complete" >
|
||||
--
|
||||
2.38.2
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From 3008f7ef29e0a5593f6f0afbdc9343f573f1a375 Mon Sep 17 00:00:00 2001
|
||||
Patch-Source: https://github.com/dotnet/installer/pull/14816
|
||||
From: Antoine Martin <dev@ayakael.net>
|
||||
Date: Tue, 15 Nov 2022 01:04:07 -0500
|
||||
Subject: [PATCH 1/3] Eliminate runtime portable build (backport dotnet#14549)
|
||||
|
||||
---
|
||||
.../tarball/content/Directory.Build.props | 8 --
|
||||
.../tarball/content/repos/aspnetcore.proj | 1 +
|
||||
.../tarball/content/repos/installer.proj | 2 +-
|
||||
.../tarball/content/repos/known-good.proj | 1 -
|
||||
.../content/repos/runtime-portable.proj | 47 -----------
|
||||
.../content/repos/runtime.common.props | 43 ----------
|
||||
.../content/repos/runtime.common.targets | 46 -----------
|
||||
.../tarball/content/repos/runtime.proj | 82 ++++++++++++++++++-
|
||||
.../source-build-reference-packages.proj | 4 +-
|
||||
src/redist/targets/Crossgen.targets | 2 +-
|
||||
src/redist/targets/GenerateLayout.targets | 3 +
|
||||
11 files changed, 88 insertions(+), 151 deletions(-)
|
||||
delete mode 100644 src/SourceBuild/tarball/content/repos/runtime-portable.proj
|
||||
delete mode 100644 src/SourceBuild/tarball/content/repos/runtime.common.props
|
||||
delete mode 100644 src/SourceBuild/tarball/content/repos/runtime.common.targets
|
||||
|
||||
diff --git a/src/installer/src/redist/targets/Crossgen.targets b/src/installer/src/redist/targets/Crossgen.targets
|
||||
index 8949af132..a59ed388f 100644
|
||||
--- a/src/installer/src/redist/targets/Crossgen.targets
|
||||
+++ b/src/installer/src/redist/targets/Crossgen.targets
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<RuntimeNETCoreAppPackageName>microsoft.netcore.app.runtime.$(SharedFrameworkRid)</RuntimeNETCoreAppPackageName>
|
||||
- <RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(HostOSName)-$(BuildArchitecture)</RuntimeNETCrossgenPackageName>
|
||||
+ <RuntimeNETCrossgenPackageName>microsoft.netcore.app.crossgen2.$(Crossgen2Rid)</RuntimeNETCrossgenPackageName>
|
||||
<CrossgenPath>$(NuGetPackageRoot)/$(RuntimeNETCrossgenPackageName)/$(MicrosoftNETCoreAppRuntimePackageVersion)/tools/crossgen2$(ExeExtension)</CrossgenPath>
|
||||
<!-- When ingesting stable pgo instrumented binaries, the shared framework will be a non-stable version,
|
||||
as will the archive file names themselves. -->
|
||||
diff --git a/src/installer/src/redist/targets/GenerateLayout.targets b/src/installer/src/redist/targets/GenerateLayout.targets
|
||||
index 88a053b61..ce5e09b69 100644
|
||||
--- a/src/installer/src/redist/targets/GenerateLayout.targets
|
||||
+++ b/src/installer/src/redist/targets/GenerateLayout.targets
|
||||
@@ -84,6 +84,9 @@
|
||||
<CombinedFrameworkHostArchiveFileName Condition=" '$(PgoInstrument)' == 'true' ">dotnet-runtime$(PgoTerm)-$(VSRedistCommonNetCoreSharedFrameworkx6460PackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</CombinedFrameworkHostArchiveFileName>
|
||||
<WinFormsAndWpfSharedFxArchiveFileName>windowsdesktop-runtime-$(MicrosoftWindowsDesktopAppRuntimePackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension)</WinFormsAndWpfSharedFxArchiveFileName>
|
||||
|
||||
+ <Crossgen2Rid>$(HostOSName)-$(BuildArchitecture)</Crossgen2Rid>
|
||||
+ <Crossgen2Rid Condition="'$(DotNetBuildFromSource)' == 'true'">$(SharedFrameworkRid)</Crossgen2Rid>
|
||||
+
|
||||
<AspNetCoreInstallerRid Condition="'$(AspNetCoreInstallerRid)' == ''">$(SharedFrameworkRid)</AspNetCoreInstallerRid>
|
||||
<AspNetCoreInstallerRid Condition="'$(SharedFrameworkRid)' == 'rhel.6-x64'">linux-x64</AspNetCoreInstallerRid>
|
||||
<AspNetCoreArchiveRid>$(AspNetCoreInstallerRid)</AspNetCoreArchiveRid>
|
||||
--
|
||||
2.38.2
|
||||
|
|
@ -34,18 +34,36 @@
|
|||
# - CVE-2023-35390
|
||||
# - CVE-2023-38180
|
||||
# - CVE-2023-35391
|
||||
# 6.0.22-r0:
|
||||
# - CVE-2023-36792
|
||||
# - CVE-2023-36793
|
||||
# - CVE-2023-36794
|
||||
# - CVE-2023-36796
|
||||
# - CVE-2023-36799
|
||||
# 6.0.23-r0:
|
||||
# - CVE-2023-44487
|
||||
# 6.0.24-r0:
|
||||
# - CVE-2023-36792
|
||||
# - CVE-2023-36793
|
||||
# - CVE-2023-36794
|
||||
# - CVE-2023-36796
|
||||
# - CVE-2023-36799
|
||||
# - CVE-2023-44487
|
||||
# 6.0.25-r0:
|
||||
# - CVE-2023-36049
|
||||
# - CVE-2023-36558
|
||||
|
||||
|
||||
pkgname=dotnet6-runtime
|
||||
pkgver=6.0.21
|
||||
_bldver=6.0.121-r0
|
||||
pkgver=6.0.25
|
||||
_bldver=6.0.125-r0
|
||||
pkgrel=0
|
||||
|
||||
_pkgver_macro=${pkgver%.*}
|
||||
_pkgver_name=${_pkgver_macro//[.0]}
|
||||
_bldver_ver=${_bldver%%-*}
|
||||
pkgdesc="The .NET $_pkgver_macro Core runtime"
|
||||
# aarch64 failure
|
||||
arch="x86_64 armv7 s390x"
|
||||
arch="x86_64 aarch64 armv7"
|
||||
url="https://dotnet.microsoft.com/"
|
||||
license="MIT"
|
||||
depends="
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=dotnet6-stage0
|
||||
pkgver=6.0.121
|
||||
pkgrel=0
|
||||
pkgver=6.0.116
|
||||
pkgrel=4
|
||||
|
||||
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
|
||||
|
||||
# Tag of tarball generator.
|
||||
_gittag=v$pkgver-source-build
|
||||
_gittag=v$pkgver
|
||||
|
||||
# Versions of prebuilt artifacts and bootstrap tar
|
||||
_artifactsver=6.0.112
|
||||
|
@ -16,6 +16,9 @@ _bootstrapver="6.0.116"
|
|||
_bootstraprel=0
|
||||
_installerver=${_gittag/v}
|
||||
|
||||
# Version of packages that aren't defined in git-info
|
||||
_iltoolsver=6.0.12-servicing.22579.1
|
||||
|
||||
# Patches to be used. String before '_' refers to repo to patch
|
||||
# Look for patch notes within each patch for what they fix / where they come from
|
||||
# build_* patches applies directly to $builddir
|
||||
|
@ -25,6 +28,8 @@ _patches="
|
|||
runtime_76500-mono-musl-support.patch
|
||||
runtime_76500-properly-set-toolchain-for-crossbuilding-on-alpine.patch
|
||||
runtime_82269-mono-thread-coop-undefine-fortify-source.patch
|
||||
runtime_84442-support-adding-rids-with-dash-in-base-part.patch
|
||||
runtime_84443-suppress-clang-16-warnings.patch
|
||||
runtime_remove-usage-of-off64-t.patch
|
||||
"
|
||||
_extra_nupkgs="
|
||||
|
@ -35,7 +40,7 @@ _pkgver_macro=${pkgver%.*}
|
|||
_pkgver_prior=1
|
||||
_pkgver_name="${_pkgver_macro//[.0]}"
|
||||
pkgdesc="The .NET Core stage0 bits for dotnet build"
|
||||
arch="x86_64 aarch64 armv7 s390x"
|
||||
arch="x86_64 aarch64 armv7"
|
||||
url=https://www.microsoft.com/net/core
|
||||
_giturl="https://github.com/dotnet/installer"
|
||||
license="MIT"
|
||||
|
@ -45,16 +50,14 @@ subpackages="
|
|||
dotnet$_pkgver_name-stage0-bootstrap
|
||||
"
|
||||
source="
|
||||
https://lab.ilot.io/mirrors/installer/-/releases/$_gittag/downloads/tarball/dotnet-$_gittag.tar.xz
|
||||
https://lab.ilot.io/dotnet/installer/-/releases/$_gittag/downloads/tarball/dotnet-$_gittag.tar.xz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-x64.noextract::https://dotnetcli.azureedge.net/dotnet/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-x64.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-arm64.noextract::https://dotnetcli.azureedge.net/dotnet/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-arm64.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-arm.noextract::https://dotnetcli.azureedge.net/dotnet/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-arm.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-s390x.noextract::https://lab.ilot.io/ayakael/dotnet-stage0/-/releases/$_bootstrapver-r$_bootstraprel/downloads/sdk/dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-s390x.tar.xz
|
||||
Private.SourceBuilt.Artifacts.$_artifactsver.noextract::https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_artifactsver.tar.gz
|
||||
https://globalcdn.nuget.org/packages/runtime.linux-musl-x64.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
https://globalcdn.nuget.org/packages/runtime.linux-musl-arm64.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
https://globalcdn.nuget.org/packages/runtime.linux-musl-arm.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
runtime.linux-musl-s390x.microsoft.netcore.ilasm.6.0.0.nupkg::https://lab.ilot.io/ayakael/dotnet-stage0/-/package_files/1513/download
|
||||
$_extra_nupkgs
|
||||
$_patches
|
||||
"
|
||||
|
@ -204,33 +207,10 @@ prepare() {
|
|||
tmp=$(mktemp)
|
||||
jq ".sdk.version = \"$_bootstrapver\"" "$builddir"/src/$i/global.json > $tmp && mv $tmp "$builddir"/src/$i/global.json
|
||||
done
|
||||
|
||||
# extracting PackageVersions.props as some version information is there
|
||||
tar -xzf "$srcdir"/Private.SourceBuilt.Artifacts.*.noextract PackageVersions.props
|
||||
}
|
||||
|
||||
_init() {
|
||||
export _InitializeDotNetCli=$_cli_root
|
||||
export DOTNET_INSTALL_DIR=$_cli_root
|
||||
export PATH="$_cli_root:$PATH"
|
||||
export NUGET_PACKAGES=$_nugetdir
|
||||
export DotNetBuildFromSource=true
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||
export SHELL=/bin/bash
|
||||
export EXTRA_CPPFLAGS="${CPPFLAGS/--sysroot=$CBUILDROOT}"
|
||||
export EXTRA_CXXFLAGS="${CXXFLAGS/--sysroot=$CBUILDROOT}"
|
||||
export EXTRA_CFLAGS="${CFLAGS/--sysroot=$CBUILDROOT}"
|
||||
export EXTRA_LDFLAGS="$LDFLAGS"
|
||||
unset CXXFLAGS CFLAGS LDFLAGS CPPFLAGS
|
||||
|
||||
ulimit -n 4096
|
||||
|
||||
"$_cli_root"/dotnet build-server shutdown
|
||||
}
|
||||
|
||||
_runtime() {
|
||||
_init
|
||||
"$_cli_root"/dotnet build-server shutdown
|
||||
if [ -z "${_runtimever+x}" ]; then
|
||||
local _runtimever=$(grep OutputPackageVersion "$builddir"/git-info/runtime.props | sed -E 's|</?OutputPackageVersion>||g' | tr -d ' ')
|
||||
fi
|
||||
|
@ -272,7 +252,7 @@ _runtime() {
|
|||
}
|
||||
|
||||
_roslyn() {
|
||||
_init
|
||||
"$_cli_root"/dotnet build-server shutdown
|
||||
if [ -z "${_roslynver+x}" ]; then
|
||||
local _roslynver=$(grep OutputPackageVersion "$builddir"/git-info/roslyn.props | sed -E 's|</?OutputPackageVersion>||g' | tr -d ' ')
|
||||
fi
|
||||
|
@ -297,7 +277,7 @@ _roslyn() {
|
|||
}
|
||||
|
||||
_sdk() {
|
||||
_init
|
||||
"$_cli_root"/dotnet build-server shutdown
|
||||
if [ -z "${_sdkver+x}" ]; then
|
||||
local _sdkver=$(grep OutputPackageVersion "$builddir"/git-info/sdk.props | sed -E 's|</?OutputPackageVersion>||g' | tr -d ' ')
|
||||
fi
|
||||
|
@ -326,7 +306,7 @@ _sdk() {
|
|||
}
|
||||
|
||||
_aspnetcore() {
|
||||
_init
|
||||
"$_cli_root"/dotnet build-server shutdown
|
||||
if [ -z "${_aspnetver+x}" ]; then
|
||||
local _aspnetver=$(grep OutputPackageVersion "$builddir"/git-info/aspnetcore.props | sed -E 's|</?OutputPackageVersion>||g' | tr -d ' ')
|
||||
fi
|
||||
|
@ -364,7 +344,7 @@ _aspnetcore() {
|
|||
}
|
||||
|
||||
_installer() {
|
||||
_init
|
||||
"$_cli_root"/dotnet build-server shutdown
|
||||
msg "[$(date)] Building installer version $_installerver"
|
||||
cd "$builddir"/src/installer
|
||||
|
||||
|
@ -397,6 +377,22 @@ _installer() {
|
|||
}
|
||||
|
||||
build() {
|
||||
export _InitializeDotNetCli=$_cli_root
|
||||
export DOTNET_INSTALL_DIR=$_cli_root
|
||||
export PATH="$_cli_root:$PATH"
|
||||
export NUGET_PACKAGES=$_nugetdir
|
||||
export DotNetBuildFromSource=true
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||
export SHELL=/bin/bash
|
||||
export EXTRA_CPPFLAGS="${CPPFLAGS/--sysroot=$CBUILDROOT}"
|
||||
export EXTRA_CXXFLAGS="${CXXFLAGS/--sysroot=$CBUILDROOT}"
|
||||
export EXTRA_CFLAGS="${CFLAGS/--sysroot=$CBUILDROOT}"
|
||||
export EXTRA_LDFLAGS="$LDFLAGS"
|
||||
unset CXXFLAGS CFLAGS LDFLAGS CPPFLAGS
|
||||
|
||||
ulimit -n 4096
|
||||
|
||||
_runtime
|
||||
_roslyn
|
||||
_sdk
|
||||
|
@ -416,8 +412,6 @@ bootstrap() {
|
|||
provides="dotnet$_pkgver_name-bootstrap"
|
||||
provider_priority=$_pkgver_prior
|
||||
|
||||
local _iltoolsver=$(grep \<MicrosoftNETCoreILAsmVersion "$builddir"/PackageVersions.props | sed -E 's|</?MicrosoftNETCoreILAsmVersion>||g' | tr -d ' ')
|
||||
|
||||
install -dm 755 \
|
||||
"$subpkgdir"/$_libdir/dotnet/bootstrap/$pkgver/docs \
|
||||
"$subpkgdir"/$_libdir/dotnet/bootstrap/$pkgver/comp \
|
||||
|
@ -500,21 +494,21 @@ artifacts() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
f038ff9707a102cc07032a32547dd4b0bae9bbe357cfafd769030ad625fbcd86bb9396db543309e625bad2af1f0e183f0288d6bd3ef47f803d203a11e03524e2 dotnet-v6.0.121-source-build.tar.xz
|
||||
8c03186212149ba38df996068d511c29bd9be31e40fd1d7d21fc15fd2c0f6272479e8145ccb9544bb48c2c90bc8001ba05af1a7d92a60018ba7a983bc6187731 dotnet-v6.0.116.tar.xz
|
||||
3b6f37aee5698d7ef794c74a6d914b914f0220346a2f37e66e4a29db63e284747d02856ea6cd461c76f2a9e18ab047f40cc739e7f8227d69ea7316bce2020201 dotnet-sdk-6.0.116-linux-musl-x64.noextract
|
||||
dd3ec888e0d6644f2d6ef17ca7ce540d62226bb459cc0bbfe938229e757a8f4a10fc314a078f9898143c2271b8a70de77ffbdaecfa8c4c87921421e729f53a64 dotnet-sdk-6.0.116-linux-musl-arm64.noextract
|
||||
a35480c68e9f156a33225e80dc166db3a2fbe860f0f35497357fa6b5594df16dad9cbc8b5a7569ee4b6262070e100bf3c9d57721c68bac5bfc83abf61e4ace5d dotnet-sdk-6.0.116-linux-musl-arm.noextract
|
||||
086e269b3784d28c928f8eb82978d40b49eaac966b47e6f33b08424364204b6938ac2c69c8cbfd536c3da195f7d948bf6718fa6f078d23a2a5a2216805248a5d dotnet-sdk-6.0.116-r0-linux-musl-s390x.noextract
|
||||
64fffa28143c28ceefbae08e8086746e177a11242f6a5b778bc5597190748c9d3e869020d7d3f4b74efaad7fbb73258765e227c9bdd098501fdbbc7e7e6ec05b Private.SourceBuilt.Artifacts.6.0.112.noextract
|
||||
0eb771d7e23607a256f209c958a8025af6a7c1e20948b244f2903941aad5e1c0f130a9285ee29086d6188090e8692f5f129329a88da54d3f0a7e7e5b7e4257ef runtime.linux-musl-x64.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
5ad26a79b5ba3ebdc6932dde50218d2c0669377dcb628debbb448e0dfc5d001d7e07b121f18ecd50b667ab372e10ec0bfe166a6e2103faf2f824995fdad0c355 runtime.linux-musl-arm64.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
2a24e56ddf0f3e3ef7cb64523b7c6ebf02b91a73287c342783eb66e43a9bbe0cd23eb4b26f435e6b194bf1a40017e6aae60333ff087b18657672b243e8c8ce76 runtime.linux-musl-arm.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
efdc9097028d11ddc2e9e052c57d62af333705b5108093077238d8b98fb5e250d75ac62cec5842bd9989bf6d737736a70ed4f512c69b356314805c24f3f1d698 runtime.linux-musl-s390x.microsoft.netcore.ilasm.6.0.0.nupkg
|
||||
a24efb7578e2020e17c877ffe00b49f8f476b0845fdc55c16404008a9566d8628a72c2208bd23df745c88592ebe9c922b0cf1bc1f95f834b539bbcc2cbf516c5 system.reactive.core.4.1.1.nupkg
|
||||
42779a7bf1004fe0f7054cfa4f09f49d7f2a57c0543ec994ffbd54fb349abb508295476098ed35d60e9676be8bcc15aa8a9ec5c814cd1e058357530b5cdfb2b6 roslyn_57003-mono-namedmutex.patch
|
||||
cf40e37b4adfc61e24e3b48a397b4d813726d190f271869d946035279bf662a694a0fca448f5ae06ad2bb2300595223109ad64f60f65dac5cddf9308e12147a3 roslyn_revert-lift-version-codeanalysis.patch
|
||||
e67e0114bd324dae65eb19f6fa8c74414bee77cd30e299931b0d82b4ca1b6b6f88358a0c47ffb180f46c5cb28f61f79bb4a59d43c1ae3011bfe491e757de293a runtime_76500-mono-musl-support.patch
|
||||
6c614a48565c0e10f8714244e538bb453f7914ff58d01e9fd1255ad24698be916fd9e0a438c732737576fde6c0d68bec8f8958ce1b1b11b70c4a3b8663bdb8e2 runtime_76500-properly-set-toolchain-for-crossbuilding-on-alpine.patch
|
||||
827e899a83103f666dc3d57c1ec695bebc659a574f4a1d754da0cafe8c18d7db79c3950267e905fa078f94612ee1101fbddd0ea62b3c08947d8bcd7d9c8de41c runtime_82269-mono-thread-coop-undefine-fortify-source.patch
|
||||
bfa4fca9987b4a1369e59abb3f872841ae994d47e5f873db43d9a0563f5e720cd85714e73aada912997da55077262e01f1ae120f8d32043d661ba89d12384caa runtime_84442-support-adding-rids-with-dash-in-base-part.patch
|
||||
153255e80c2d2a131c2985041132417573ee98fa4b90153a1417080dbfb4d9bd03db9d5e241e54f5e664c4136eaf7facca9d4dad7ededf99a8f9068f26283fdb runtime_84443-suppress-clang-16-warnings.patch
|
||||
d972e77df27748a80c9b23eca12f9fbd78be97f9034b79cc5703ba58eb6750171d9a115314300f883620ccbca89c65a99ca7a45d54a421b028b590190b4bed80 runtime_remove-usage-of-off64-t.patch
|
||||
"
|
||||
|
|
|
@ -0,0 +1,164 @@
|
|||
From abc761c2c5694e4029fea1a60dc1934951c66e26 Mon Sep 17 00:00:00 2001
|
||||
Patch-Source: https://github.com/dotnet/runtime/pull/84442
|
||||
From: Tom Deseyn <tom.deseyn@gmail.com>
|
||||
Date: Thu, 6 Apr 2023 13:18:11 +0200
|
||||
Subject: [PATCH 1/2] Microsoft.NETCore.Platforms: support adding rids with '-'
|
||||
in the base part.
|
||||
|
||||
Currently when trying to add a rid like 'linux-musl-x64'
|
||||
the rid is not understood to be base = 'linux-musl', arch = 'x64'.
|
||||
|
||||
Instead the parser considers a potential optional qualifier.
|
||||
This causes the rid to be parsed as base = 'linux', arch = 'musl',
|
||||
and qualifier = 'x64'.
|
||||
|
||||
We know the rids being added won't have a qualifier. If we take
|
||||
this into account while parsing, we can parse the rid correctly.
|
||||
---
|
||||
.../Microsoft.NETCore.Platforms/src/RID.cs | 11 +++-
|
||||
.../src/RuntimeGroupCollection.cs | 2 +-
|
||||
.../tests/RidTests.cs | 50 +++++++++++++------
|
||||
3 files changed, 47 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs
|
||||
index 6457fd29cadf0..b464d5f0f54e3 100644
|
||||
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs
|
||||
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RID.cs
|
||||
@@ -56,7 +56,7 @@ private enum RIDPart : int
|
||||
Max = Qualifier
|
||||
}
|
||||
|
||||
- public static RID Parse(string runtimeIdentifier)
|
||||
+ public static RID Parse(string runtimeIdentifier, bool noQualifier)
|
||||
{
|
||||
string[] parts = new string[(int)RIDPart.Max + 1];
|
||||
bool omitVersionDelimiter = true;
|
||||
@@ -90,6 +90,15 @@ public static RID Parse(string runtimeIdentifier)
|
||||
// version might be omitted
|
||||
else if (current == ArchitectureDelimiter)
|
||||
{
|
||||
+ // The qualifier delimiter and architecture delimiter are the same.
|
||||
+ // When there is no qualifier, there will be one delimiter past the base part
|
||||
+ // for the architecture.
|
||||
+ // So if we see another delimiter later in the string (for the architecture),
|
||||
+ // extend the base part instead of starting the architecture part.
|
||||
+ if (noQualifier && runtimeIdentifier.IndexOf(ArchitectureDelimiter, i + 1) != -1)
|
||||
+ {
|
||||
+ break;
|
||||
+ }
|
||||
// ensure there's no version later in the string
|
||||
if (runtimeIdentifier.IndexOf(VersionDelimiter, i) != -1)
|
||||
{
|
||||
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
index e069508053105..31009a8d28e5e 100644
|
||||
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
@@ -34,7 +34,7 @@ public RuntimeGroupCollection(ICollection<RuntimeGroup> runtimeGroups)
|
||||
/// <param name="parent"></param>
|
||||
public void AddRuntimeIdentifier(string runtimeIdentifier, string parent)
|
||||
{
|
||||
- RID rid = RID.Parse(runtimeIdentifier);
|
||||
+ RID rid = RID.Parse(runtimeIdentifier, noQualifier: true);
|
||||
|
||||
AddRuntimeIdentifier(rid, parent);
|
||||
}
|
||||
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs
|
||||
index 227bcbdd10d4d..8dee0ebeda17a 100644
|
||||
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs
|
||||
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/tests/RidTests.cs
|
||||
@@ -10,35 +10,57 @@ public class RidTests
|
||||
{
|
||||
public static IEnumerable<object[]> ValidRIDData()
|
||||
{
|
||||
- yield return new object[] { "win10-x64", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10"), Architecture = "x64" } };
|
||||
- yield return new object[] { "win10", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10")} };
|
||||
- yield return new object[] { "linux", new RID() { BaseRID = "linux" } };
|
||||
- yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" } };
|
||||
- yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" } };
|
||||
- yield return new object[] { "debian.10-x64", new RID() { BaseRID = "debian", Version = new RuntimeVersion("10"), Architecture = "x64" } };
|
||||
- yield return new object[] { "linuxmint.19.2-x64", new RID() { BaseRID = "linuxmint", Version = new RuntimeVersion("19.2"), Architecture = "x64" } };
|
||||
- yield return new object[] { "ubuntu.14.04-x64", new RID() { BaseRID = "ubuntu", Version = new RuntimeVersion("14.04"), Architecture = "x64" } };
|
||||
- yield return new object[] { "foo-bar.42-arm", new RID() { BaseRID = "foo-bar", Version = new RuntimeVersion("42"), Architecture = "arm" } };
|
||||
- yield return new object[] { "foo-bar-arm", new RID() { BaseRID = "foo", Architecture = "bar", Qualifier = "arm" } }; // demonstrates ambiguity, avoid using `-` in base
|
||||
- yield return new object[] { "linux-musl-x64", new RID() { BaseRID = "linux", Architecture = "musl", Qualifier = "x64" } }; // yes, we already have ambiguous RIDs
|
||||
+ yield return new object[] { "win10-x64", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10"), Architecture = "x64" }, null };
|
||||
+ yield return new object[] { "win10", new RID() { BaseRID = "win", OmitVersionDelimiter = true, Version = new RuntimeVersion("10")}, null };
|
||||
+ yield return new object[] { "linux", new RID() { BaseRID = "linux" }, null };
|
||||
+ yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" }, null };
|
||||
+ yield return new object[] { "linux-x64", new RID() { BaseRID = "linux", Architecture = "x64" }, null };
|
||||
+ yield return new object[] { "debian.10-x64", new RID() { BaseRID = "debian", Version = new RuntimeVersion("10"), Architecture = "x64" }, null };
|
||||
+ yield return new object[] { "linuxmint.19.2-x64", new RID() { BaseRID = "linuxmint", Version = new RuntimeVersion("19.2"), Architecture = "x64" }, null };
|
||||
+ yield return new object[] { "ubuntu.14.04-x64", new RID() { BaseRID = "ubuntu", Version = new RuntimeVersion("14.04"), Architecture = "x64" }, null };
|
||||
+ yield return new object[] { "foo-bar.42-arm", new RID() { BaseRID = "foo-bar", Version = new RuntimeVersion("42"), Architecture = "arm" }, null };
|
||||
+ yield return new object[] { "foo-bar-arm", new RID() { BaseRID = "foo", Architecture = "bar", Qualifier = "arm" }, // demonstrates ambiguity, avoid using `-` in base
|
||||
+ new RID() { BaseRID = "foo-bar", Architecture = "arm" } };
|
||||
+ yield return new object[] { "linux-musl-x64", new RID() { BaseRID = "linux", Architecture = "musl", Qualifier = "x64" }, // yes, we already have ambiguous RIDs
|
||||
+ new RID() { BaseRID = "linux-musl", Architecture = "x64" } };
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(ValidRIDData))]
|
||||
- internal void ParseCorrectly(string input, RID expected)
|
||||
+ internal void ParseCorrectly(string input, RID expected, RID? expectedNoQualifier)
|
||||
{
|
||||
- RID actual = RID.Parse(input);
|
||||
+ _ = expectedNoQualifier; // unused
|
||||
+
|
||||
+ RID actual = RID.Parse(input, noQualifier: false);
|
||||
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(ValidRIDData))]
|
||||
- internal void ToStringAsExpected(string expected, RID rid)
|
||||
+ internal void ParseCorrectlyNoQualifier(string input, RID expected, RID? expectedNoQualifier)
|
||||
+ {
|
||||
+ expectedNoQualifier ??= expected;
|
||||
+
|
||||
+ RID actual = RID.Parse(input, noQualifier: true);
|
||||
+
|
||||
+ Assert.Equal(expectedNoQualifier, actual);
|
||||
+ }
|
||||
+
|
||||
+ [Theory]
|
||||
+ [MemberData(nameof(ValidRIDData))]
|
||||
+ internal void ToStringAsExpected(string expected, RID rid, RID? expectedNoQualifierRid)
|
||||
{
|
||||
string actual = rid.ToString();
|
||||
|
||||
Assert.Equal(expected, actual);
|
||||
+
|
||||
+ if (expectedNoQualifierRid is not null)
|
||||
+ {
|
||||
+ actual = expectedNoQualifierRid.ToString();
|
||||
+
|
||||
+ Assert.Equal(expected, actual);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
From f70da467ca94291039e0ea5b0723cb9db5e090e7 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Deseyn <tom.deseyn@gmail.com>
|
||||
Date: Thu, 6 Apr 2023 18:14:31 +0200
|
||||
Subject: [PATCH 2/2] Update
|
||||
src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
|
||||
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
|
||||
---
|
||||
.../Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
index 31009a8d28e5e..ec4762d71424c 100644
|
||||
--- a/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
+++ b/src/runtime/src/libraries/Microsoft.NETCore.Platforms/src/RuntimeGroupCollection.cs
|
||||
@@ -34,6 +34,7 @@ public RuntimeGroupCollection(ICollection<RuntimeGroup> runtimeGroups)
|
||||
/// <param name="parent"></param>
|
||||
public void AddRuntimeIdentifier(string runtimeIdentifier, string parent)
|
||||
{
|
||||
+ // don't parse qualifier since we don't use them and they are ambiguous with `-` in base RID
|
||||
RID rid = RID.Parse(runtimeIdentifier, noQualifier: true);
|
||||
|
||||
AddRuntimeIdentifier(rid, parent);
|
|
@ -0,0 +1,217 @@
|
|||
From da120986f17d4016b44fdc91741ae1d999083eeb Mon Sep 17 00:00:00 2001
|
||||
Patch-Source: https://github.com/dotnet/runtime/pull/84443
|
||||
From: Antoine Martin <dev@ayakael.net>
|
||||
Date: Thu, 6 Apr 2023 15:46:31 -0400
|
||||
Subject: [PATCH 1/2] Suppress clang-16 warnings (#81573)
|
||||
|
||||
---
|
||||
eng/native/configurecompiler.cmake | 9 +++++++++
|
||||
eng/native/init-compiler.sh | 4 ++--
|
||||
src/coreclr/dlls/mscordbi/CMakeLists.txt | 5 +----
|
||||
src/coreclr/dlls/mscordbi/mscordbi.cpp | 15 +++++++++++++++
|
||||
src/libraries/Native/Unix/CMakeLists.txt | 9 +++++++++
|
||||
src/native/corehost/apphost/static/CMakeLists.txt | 4 ++--
|
||||
.../apphost/static/singlefilehost_OSXexports.src | 11 -----------
|
||||
.../apphost/static/singlefilehost_unixexports.src | 4 ----
|
||||
8 files changed, 38 insertions(+), 23 deletions(-)
|
||||
delete mode 100644 src/native/corehost/apphost/static/singlefilehost_OSXexports.src
|
||||
|
||||
diff --git a/src/runtime/eng/native/configurecompiler.cmake b/src/runtime/eng/native/configurecompiler.cmake
|
||||
index f3526deb19fa0..1a43b710c618b 100644
|
||||
--- a/src/runtime/eng/native/configurecompiler.cmake
|
||||
+++ b/src/runtime/eng/native/configurecompiler.cmake
|
||||
@@ -367,6 +367,15 @@ if (CLR_CMAKE_HOST_UNIX)
|
||||
add_compile_options(-Wno-incompatible-ms-struct)
|
||||
|
||||
add_compile_options(-Wno-reserved-identifier)
|
||||
+
|
||||
+ # clang 16.0 introduced buffer hardening https://discourse.llvm.org/t/rfc-c-buffer-hardening/65734
|
||||
+ # which we are not conforming to yet.
|
||||
+ add_compile_options(-Wno-unsafe-buffer-usage)
|
||||
+
|
||||
+ # other clang 16.0 suppressions
|
||||
+ add_compile_options(-Wno-single-bit-bitfield-constant-conversion)
|
||||
+ add_compile_options(-Wno-cast-function-type-strict)
|
||||
+ add_compile_options(-Wno-incompatible-function-pointer-types-strict)
|
||||
else()
|
||||
add_compile_options(-Wno-unknown-pragmas)
|
||||
add_compile_options(-Wno-uninitialized)
|
||||
diff --git a/src/runtime/eng/native/init-compiler.sh b/src/runtime/eng/native/init-compiler.sh
|
||||
index 567d18da4747a..e215bd75ff158 100755
|
||||
--- a/src/runtime/eng/native/init-compiler.sh
|
||||
+++ b/src/runtime/eng/native/init-compiler.sh
|
||||
@@ -46,8 +46,8 @@ if [[ -z "$CLR_CC" ]]; then
|
||||
# Set default versions
|
||||
if [[ -z "$majorVersion" ]]; then
|
||||
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
|
||||
- if [[ "$compiler" == "clang" ]]; then versions=( 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 )
|
||||
- elif [[ "$compiler" == "gcc" ]]; then versions=( 11 10 9 8 7 6 5 4.9 ); fi
|
||||
+ if [[ "$compiler" == "clang" ]]; then versions=( 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 )
|
||||
+ elif [[ "$compiler" == "gcc" ]]; then versions=( 12 11 10 9 8 7 6 5 4.9 ); fi
|
||||
|
||||
for version in "${versions[@]}"; do
|
||||
parts=(${version//./ })
|
||||
diff --git a/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt b/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt
|
||||
index c7a23c9923fe1..4a03a788a71a5 100644
|
||||
--- a/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt
|
||||
+++ b/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt
|
||||
@@ -99,10 +99,7 @@ elseif(CLR_CMAKE_HOST_UNIX)
|
||||
mscordaccore
|
||||
)
|
||||
|
||||
- # COREDBI_LIBRARIES is mentioned twice because ld is one pass linker and will not find symbols
|
||||
- # if they are defined after they are used. Having all libs twice makes sure that ld will actually
|
||||
- # find all symbols.
|
||||
- target_link_libraries(mscordbi ${COREDBI_LIBRARIES} ${COREDBI_LIBRARIES})
|
||||
+ target_link_libraries(mscordbi ${COREDBI_LIBRARIES})
|
||||
|
||||
add_dependencies(mscordbi mscordaccore)
|
||||
|
||||
diff --git a/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp b/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp
|
||||
index afd2cfe800225..489c552a0bd3e 100644
|
||||
--- a/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp
|
||||
+++ b/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp
|
||||
@@ -26,3 +26,18 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
|
||||
// Defer to the main debugging code.
|
||||
return DbgDllMain(hInstance, dwReason, lpReserved);
|
||||
}
|
||||
+
|
||||
+#if defined(HOST_LINUX) && defined(TARGET_LINUX)
|
||||
+PALIMPORT HINSTANCE PALAPI DAC_PAL_RegisterModule(IN LPCSTR lpLibFileName);
|
||||
+PALIMPORT VOID PALAPI DAC_PAL_UnregisterModule(IN HINSTANCE hInstance);
|
||||
+
|
||||
+HINSTANCE PALAPI PAL_RegisterModule(IN LPCSTR lpLibFileName)
|
||||
+{
|
||||
+ return DAC_PAL_RegisterModule(lpLibFileName);
|
||||
+}
|
||||
+
|
||||
+VOID PALAPI PAL_UnregisterModule(IN HINSTANCE hInstance)
|
||||
+{
|
||||
+ DAC_PAL_UnregisterModule(hInstance);
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/src/runtime/src/libraries/Native/Unix/CMakeLists.txt b/src/runtime/src/libraries/Native/Unix/CMakeLists.txt
|
||||
index 6931f62d24c87..e9ebefcf8243a 100644
|
||||
--- a/src/runtime/src/libraries/Native/Unix/CMakeLists.txt
|
||||
+++ b/src/runtime/src/libraries/Native/Unix/CMakeLists.txt
|
||||
@@ -51,6 +51,15 @@ if(CMAKE_C_COMPILER_ID STREQUAL Clang)
|
||||
add_compile_options(-Wthread-safety)
|
||||
add_compile_options(-Wno-thread-safety-analysis)
|
||||
add_compile_options(-Wno-reserved-identifier)
|
||||
+
|
||||
+ # clang 16.0 introduced buffer hardening https://discourse.llvm.org/t/rfc-c-buffer-hardening/65734
|
||||
+ # which we are not conforming to yet.
|
||||
+ add_compile_options(-Wno-unsafe-buffer-usage)
|
||||
+
|
||||
+ # other clang 16.0 suppressions
|
||||
+ add_compile_options(-Wno-single-bit-bitfield-constant-conversion)
|
||||
+ add_compile_options(-Wno-cast-function-type-strict)
|
||||
+ add_compile_options(-Wno-incompatible-function-pointer-types-strict)
|
||||
elseif(CMAKE_C_COMPILER_ID STREQUAL GNU)
|
||||
add_compile_options(-Wno-stringop-truncation)
|
||||
endif()
|
||||
diff --git a/src/runtime/src/native/corehost/apphost/static/CMakeLists.txt b/src/runtime/src/native/corehost/apphost/static/CMakeLists.txt
|
||||
index a00c79139863f..6d491c086da98 100644
|
||||
--- a/src/runtime/src/native/corehost/apphost/static/CMakeLists.txt
|
||||
+++ b/src/runtime/src/native/corehost/apphost/static/CMakeLists.txt
|
||||
@@ -73,8 +73,8 @@ if(CLR_CMAKE_TARGET_WIN32)
|
||||
add_linker_flag("/DEF:${CMAKE_CURRENT_SOURCE_DIR}/singlefilehost.def")
|
||||
|
||||
else()
|
||||
- if(CLR_CMAKE_TARGET_OSX)
|
||||
- set(DEF_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/singlefilehost_OSXexports.src)
|
||||
+ if(CLR_CMAKE_TARGET_FREEBSD)
|
||||
+ set(DEF_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/singlefilehost_freebsdexports.src)
|
||||
else()
|
||||
set(DEF_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/singlefilehost_unixexports.src)
|
||||
endif()
|
||||
diff --git a/src/runtime/src/native/corehost/apphost/static/singlefilehost_OSXexports.src b/src/runtime/src/native/corehost/apphost/static/singlefilehost_OSXexports.src
|
||||
deleted file mode 100644
|
||||
index 18d5697e84580..0000000000000
|
||||
--- a/src/runtime/src/native/corehost/apphost/static/singlefilehost_OSXexports.src
|
||||
+++ /dev/null
|
||||
@@ -1,11 +0,0 @@
|
||||
-; Licensed to the .NET Foundation under one or more agreements.
|
||||
-; The .NET Foundation licenses this file to you under the MIT license.
|
||||
-
|
||||
-; needed by SOS
|
||||
-DotNetRuntimeInfo
|
||||
-
|
||||
-; DAC table export
|
||||
-g_dacTable
|
||||
-
|
||||
-; Used by profilers
|
||||
-MetaDataGetDispenser
|
||||
diff --git a/src/runtime/src/native/corehost/apphost/static/singlefilehost_unixexports.src b/src/runtime/src/native/corehost/apphost/static/singlefilehost_unixexports.src
|
||||
index 1f9c517821855..18d5697e84580 100644
|
||||
--- a/src/runtime/src/native/corehost/apphost/static/singlefilehost_unixexports.src
|
||||
+++ b/src/runtime/src/native/corehost/apphost/static/singlefilehost_unixexports.src
|
||||
@@ -9,7 +9,3 @@ g_dacTable
|
||||
|
||||
; Used by profilers
|
||||
MetaDataGetDispenser
|
||||
-
|
||||
-; FreeBSD needs to reexport these
|
||||
-__progname
|
||||
-environ
|
||||
|
||||
From a6d9fbff551de1164ec9cc14bdd48f2ffad77d81 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Martin <dev@ayakael.net>
|
||||
Date: Thu, 6 Apr 2023 16:39:27 -0400
|
||||
Subject: [PATCH 2/2] Fix DBI loading problem on Linux (#82461)
|
||||
|
||||
---
|
||||
src/coreclr/dlls/mscordbi/CMakeLists.txt | 16 +++++++++++++++-
|
||||
src/coreclr/dlls/mscordbi/mscordbi.cpp | 15 ---------------
|
||||
2 files changed, 15 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt b/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt
|
||||
index 4a03a788a71a5..b7618b324c260 100644
|
||||
--- a/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt
|
||||
+++ b/src/runtime/src/coreclr/dlls/mscordbi/CMakeLists.txt
|
||||
@@ -99,7 +99,21 @@ elseif(CLR_CMAKE_HOST_UNIX)
|
||||
mscordaccore
|
||||
)
|
||||
|
||||
- target_link_libraries(mscordbi ${COREDBI_LIBRARIES})
|
||||
+ # Before llvm 16, lld was setting `--undefined-version` by default. The default was
|
||||
+ # flipped to `--no-undefined-version` in lld 16, so we will explicitly set it to
|
||||
+ # `--undefined-version` for our use-case.
|
||||
+ include(CheckLinkerFlag OPTIONAL)
|
||||
+ if(COMMAND check_linker_flag)
|
||||
+ check_linker_flag(CXX -Wl,--undefined-version LINKER_SUPPORTS_UNDEFINED_VERSION)
|
||||
+ if (LINKER_SUPPORTS_UNDEFINED_VERSION)
|
||||
+ add_linker_flag(-Wl,--undefined-version)
|
||||
+ endif(LINKER_SUPPORTS_UNDEFINED_VERSION)
|
||||
+ endif(COMMAND check_linker_flag)
|
||||
+
|
||||
+ # COREDBI_LIBRARIES is mentioned twice because ld is one pass linker and will not find symbols
|
||||
+ # if they are defined after they are used. Having all libs twice makes sure that ld will actually
|
||||
+ # find all symbols.
|
||||
+ target_link_libraries(mscordbi ${COREDBI_LIBRARIES} ${COREDBI_LIBRARIES})
|
||||
|
||||
add_dependencies(mscordbi mscordaccore)
|
||||
|
||||
diff --git a/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp b/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp
|
||||
index 489c552a0bd3e..afd2cfe800225 100644
|
||||
--- a/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp
|
||||
+++ b/src/runtime/src/coreclr/dlls/mscordbi/mscordbi.cpp
|
||||
@@ -26,18 +26,3 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
|
||||
// Defer to the main debugging code.
|
||||
return DbgDllMain(hInstance, dwReason, lpReserved);
|
||||
}
|
||||
-
|
||||
-#if defined(HOST_LINUX) && defined(TARGET_LINUX)
|
||||
-PALIMPORT HINSTANCE PALAPI DAC_PAL_RegisterModule(IN LPCSTR lpLibFileName);
|
||||
-PALIMPORT VOID PALAPI DAC_PAL_UnregisterModule(IN HINSTANCE hInstance);
|
||||
-
|
||||
-HINSTANCE PALAPI PAL_RegisterModule(IN LPCSTR lpLibFileName)
|
||||
-{
|
||||
- return DAC_PAL_RegisterModule(lpLibFileName);
|
||||
-}
|
||||
-
|
||||
-VOID PALAPI PAL_UnregisterModule(IN HINSTANCE hInstance)
|
||||
-{
|
||||
- DAC_PAL_UnregisterModule(hInstance);
|
||||
-}
|
||||
-#endif
|
Loading…
Reference in a new issue