diff --git a/.dotnet7.0.metadata b/.dotnet7.0.metadata index 045cd90..8af8c94 100644 --- a/.dotnet7.0.metadata +++ b/.dotnet7.0.metadata @@ -1,3 +1,4 @@ -321f8a318f904150c1ccba86ce31318ce0fe956e SOURCES/dotnet-arm64-prebuilts-2022-09-17.tar.gz -8fdf5b99a5fff92d942b03776dbd097932a474bb SOURCES/dotnet-s390x-prebuilts-2022-08-24.tar.gz -3fbdc2b9f9c1129b756ab29659ce52313250654d SOURCES/dotnet-v7.0.100-rc.1.22431.12-x64-bootstrap.tar.xz +5fadf6f43d7e1cab2801628036608fc0aab65f2a SOURCES/dotnet-arm64-prebuilts-2022-10-12.tar.gz +2419090f8d8103f3a5aeed4449b5a7b2d969b708 SOURCES/dotnet-ppc64le-prebuilts-2022-10-21.tar.gz +fa579f7921f42757f18a632f36f276d3f14f6f7e SOURCES/dotnet-s390x-prebuilts-2022-10-12.tar.gz +0e563769b6005c5e9567a97c39dc6c025eac2dc7 SOURCES/dotnet-v7.0.100-rc.2.22477.23-x64-bootstrap.tar.xz diff --git a/.gitignore b/.gitignore index 7abacd8..302c30f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -SOURCES/dotnet-arm64-prebuilts-2022-09-17.tar.gz -SOURCES/dotnet-s390x-prebuilts-2022-08-24.tar.gz -SOURCES/dotnet-v7.0.100-rc.1.22431.12-x64-bootstrap.tar.xz +SOURCES/dotnet-arm64-prebuilts-2022-10-12.tar.gz +SOURCES/dotnet-ppc64le-prebuilts-2022-10-21.tar.gz +SOURCES/dotnet-s390x-prebuilts-2022-10-12.tar.gz +SOURCES/dotnet-v7.0.100-rc.2.22477.23-x64-bootstrap.tar.xz diff --git a/SOURCES/aspnetcore-44583-ppc64le-crossgen.patch b/SOURCES/aspnetcore-44583-ppc64le-crossgen.patch new file mode 100644 index 0000000..d21fc15 --- /dev/null +++ b/SOURCES/aspnetcore-44583-ppc64le-crossgen.patch @@ -0,0 +1,24 @@ +From d77f55bc7c5f6dd087113b6e93b7778d3ebcdbb4 Mon Sep 17 00:00:00 2001 +From: Sapana Khemkar +Date: Fri, 14 Oct 2022 05:44:54 +0000 +Subject: [PATCH] add ppc64le arch to crossgen2 not available list + +--- + .../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj +index c062788037..4dfa88f7d6 100644 +--- a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj ++++ b//src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj +@@ -42,8 +42,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant + + $(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder);.r2rmap + +- +- false ++ ++ false + true + + diff --git a/SOURCES/installer-14631-ppc64le.patch b/SOURCES/installer-14631-ppc64le.patch new file mode 100644 index 0000000..5691df5 --- /dev/null +++ b/SOURCES/installer-14631-ppc64le.patch @@ -0,0 +1,98 @@ +From 564e481e39511d214d0d26dd902022decd0d93ea Mon Sep 17 00:00:00 2001 +From: Swapnali911 +Date: Fri, 30 Sep 2022 05:07:55 -0400 +Subject: [PATCH] Adding ppc64le arch for source build + +--- + Directory.Build.props | 1 + + src/SourceBuild/tarball/content/Directory.Build.props | 1 + + src/redist/targets/Crossgen.targets | 4 ++-- + src/redist/targets/GenerateBundledVersions.targets | 9 ++++++--- + 4 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/Directory.Build.props b/Directory.Build.props +index 61cc6ff6746..860785575f7 100644 +--- a/Directory.Build.props ++++ b/Directory.Build.props +@@ -19,6 +19,7 @@ + $([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()) + $(BuildArchitecture) + $(BuildArchitecture) ++ $(BuildArchitecture) + x64 + + false +diff --git a/src/installer/Directory.Build.props b/src/installer/Directory.Build.props +index 15c9d27b734..b87eeccca0d 100644 +--- a/src/installer/Directory.Build.props ++++ b/src/installer/Directory.Build.props +@@ -11,6 +11,7 @@ + $([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant()) + $(BuildArchitecture) + $(BuildArchitecture) ++ $(BuildArchitecture) + x64 + + +diff --git a/src/installer/src/redist/targets/Crossgen.targets b/src/installer/src/redist/targets/Crossgen.targets +index c7a7642e4eb..da7d186a152 100644 +--- a/src/installer/src/redist/targets/Crossgen.targets ++++ b/src/installer/src/redist/targets/Crossgen.targets +@@ -1,7 +1,7 @@ + +- ++ + + + +diff --git a/src/installer/src/redist/targets/GenerateBundledVersions.targets b/src/installer/src/redist/targets/GenerateBundledVersions.targets +index d1bee676355..58d1abfa720 100644 +--- a/src/installer/src/redist/targets/GenerateBundledVersions.targets ++++ b/src/installer/src/redist/targets/GenerateBundledVersions.targets +@@ -168,6 +168,7 @@ + linux-bionic-arm64; + linux-bionic-x64; + linux-bionic-x86; ++ linux-ppc64le; + "/> + + + + + +- ++ ++ + + + +@@ -444,7 +447,7 @@ Copyright (c) .NET Foundation. All rights reserved. + TargetingPackName="Microsoft.AspNetCore.App.Ref" + TargetingPackVersion="$(MicrosoftAspNetCoreAppRefPackageVersion)" + RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" +- RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')" ++ RuntimePackRuntimeIdentifiers="@(AspNetCore70RuntimePackRids, '%3B')" + RuntimePackExcludedRuntimeIdentifiers="android" + /> + +@@ -569,7 +572,7 @@ Copyright (c) .NET Foundation. All rights reserved. + TargetingPackName="Microsoft.AspNetCore.App.Ref" + TargetingPackVersion="$(_AspNet60TargetingPackVersion)" + RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**" +- RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')" ++ RuntimePackRuntimeIdentifiers="@(AspNetCore60RuntimePackRids, '%3B')" + /> + + +Date: Wed, 19 Oct 2022 15:21:40 +0200 +Subject: [PATCH] Enabled source-building with mono runtime on any + architecture. + +Adds an argument to the top-level build script to use the mono +runtime, and sets the flags needed for the different repos +to work with mono. +--- + eng/SourceBuild.props | 1 + + .../tarball/content/Directory.Build.props | 5 ++ + src/SourceBuild/tarball/content/build.sh | 4 ++ + .../content/repos/Directory.Build.props | 1 + + ...d-support-building-with-mono-runtime.patch | 24 +++++++++ + ...d-support-building-with-mono-runtime.patch | 24 +++++++++ + ...d-support-building-with-mono-runtime.patch | 51 +++++++++++++++++++ + 7 files changed, 110 insertions(+) + create mode 100644 src/SourceBuild/tarball/patches/aspnetcore/0002-source-build-support-building-with-mono-runtime.patch + create mode 100644 src/SourceBuild/tarball/patches/runtime/0001-source-build-support-building-with-mono-runtime.patch + create mode 100644 src/SourceBuild/tarball/patches/sdk/0001-source-build-support-building-with-mono-runtime.patch + +diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props +index a2831d57455..9ebca97ff90 100644 +--- a/src/installer/eng/SourceBuild.props ++++ b/src/installer/eng/SourceBuild.props +@@ -11,6 +11,7 @@ + $(InnerBuildArgs) /p:IncludeNuGetPackageArchive=false + $(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false + $(InnerBuildArgs) /p:IncludeSharedFrameworksForBackwardsCompatibilityTests=false ++ $(InnerBuildArgs) /p:DISABLE_CROSSGEN=true + + + +diff --git a/Directory.Build.props b/Directory.Build.props +index 860785575f7..982fb7f0725 100644 +--- a/Directory.Build.props ++++ b/Directory.Build.props +@@ -24,6 +24,11 @@ + + false + ++ false ++ ++ true ++ true ++ + +diff --git a/build.sh b/build.sh +index e899d2f808c..17699c78cb7 100755 +--- a/build.sh ++++ b/build.sh +@@ -11,6 +11,7 @@ usage() { + echo " --run-smoke-test don't build; run smoke tests" + echo " --with-packages use the specified directory of previously-built packages" + echo " --with-sdk use the SDK in the specified directory for bootstrapping" ++ echo " --use-mono-runtime output uses the mono runtime" + echo "use -- to send the remaining arguments to MSBuild" + echo "" + } +@@ -65,6 +66,9 @@ while :; do + fi + shift + ;; ++ --use-mono-runtime) ++ MSBUILD_ARGUMENTS+=( "/p:SourceBuildUseMonoRuntime=true" ) ++ ;; + --) + shift + echo "Detected '--': passing remaining parameters '$@' as build.sh arguments." +diff --git a/repos/Directory.Build.props b/repos/Directory.Build.props +index e4e3060af7f..04ab89d11dc 100644 +--- a/repos/Directory.Build.props ++++ b/repos/Directory.Build.props +@@ -143,6 +143,7 @@ + $(StandardSourceBuildArgs) /p:AdditionalSourceBuiltNupkgCacheDir="$(SourceBuiltPackagesPath)" + $(StandardSourceBuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)" + $(StandardSourceBuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)" ++ $(StandardSourceBuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime) + + $(ProjectDirectory)\build$(ShellExtension) + +diff --git a/src/aspnetcore/eng/SourceBuild.props b/src/aspnetcore/eng/SourceBuild.props +index 32108e1f..3dfbd5ef 100644 +--- a/src/aspnetcore/eng/SourceBuild.props ++++ b/src/aspnetcore/eng/SourceBuild.props +@@ -55,6 +55,7 @@ + + + $(InnerBuildArgs) /p:SourceBuildRuntimeIdentifier=$(TargetRuntimeIdentifier) ++ $(InnerBuildArgs) /p:CrossgenOutput=false + + + +diff --git a/src/runtime/eng/SourceBuild.props b/src/runtime/eng/SourceBuild.props +index c197d8afd..55c1c1d22 100644 +--- a/src/runtime/eng/SourceBuild.props ++++ b/src/runtime/eng/SourceBuild.props +@@ -41,6 +41,7 @@ + $(InnerBuildArgs) /p:BuildDebPackage=false + $(InnerBuildArgs) /p:EnableNgenOptimization=false + $(InnerBuildArgs) /p:EnablePackageValidation=false ++ $(InnerBuildArgs) /p:PrimaryRuntimeFlavor=Mono /p:RuntimeFlavor=Mono + + + +diff --git a/src/sdk/eng/SourceBuild.props b/src/sdk/eng/SourceBuild.props +index 61b9a913708..2107a718419 100644 +--- a/src/sdk/eng/SourceBuild.props ++++ b/src/sdk/eng/SourceBuild.props +@@ -8,6 +8,7 @@ + + $(InnerBuildArgs) /p:Projects="$(InnerSourceBuildRepoRoot)\source-build.slnf" + $(InnerBuildArgs) /p:UseSharedCompilation=false ++ $(InnerBuildArgs) /p:NativeAotSupported=false + + + +diff --git a/src/sdk/src/Layout/redist/targets/BundledSdks.targets b/src/sdk/src/Layout/redist/targets/BundledSdks.targets +index 6f8b0fc3b33..64638ef1cff 100644 +--- a/src/sdk/src/Layout/redist/targets/BundledSdks.targets ++++ b/src/sdk/src/Layout/redist/targets/BundledSdks.targets +@@ -5,6 +5,6 @@ + + + +- ++ + + +diff --git a/src/sdk/src/Tasks/Common/Resources/Strings.resx b/src/sdk/src/Tasks/Common/Resources/Strings.resx +index a347c736df5..426cb6aa96d 100644 +--- a/src/sdk/src/Tasks/Common/Resources/Strings.resx ++++ b/src/sdk/src/Tasks/Common/Resources/Strings.resx +@@ -875,4 +875,8 @@ You may need to build the project on another operating system or architecture, o + NETSDK1191: A runtime identifier for the property '{0}' couldn't be inferred. Specify a rid explicitly. + {StrBegin="NETSDK1191: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf +index e477f7a489b..c75990f94e2 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Sestavení nelze optimalizovat pro kompilaci s předstihem: nebyl nalezen platný balíček modulu runtime. Buď nastavte vlastnost PublishAot na hodnotu false, nebo při publikování použijte podporovaný identifikátor modulu runtime. Při cílení na .NET 7 nebo vyšší nezapomeňte obnovit balíčky s vlastností PublishAot nastavenou na hodnotu true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: Konfigurační soubor aplikace musí obsahovat kořenový element konfigurace. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf +index d8cd9725269..2e427931dd1 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Assemblys können nicht für Ahead-of-time-Kompilierung optimiert werden: Es wurde kein gültiges Runtimepaket gefunden. Legen Sie entweder die PublishAot-Eigenschaft auf FALSE fest, oder verwenden Sie beim Veröffentlichen einen unterstützten Runtimebezeichner. Wenn Sie .NET 7 oder höher verwenden, stellen Sie sicher, dass Sie Pakete wiederherstellen, bei denen die PublishAot-Eigenschaft auf TRUE festgelegt ist. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: Die Anwendungskonfigurationsdatei muss das Stammkonfigurationselement enthalten. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf +index 4c61e20b937..cb654c521fb 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: No se pueden optimizar los ensamblados para la compilación Ahead of time: no se ha encontrado un paquete en tiempo de ejecución válido. Establezca la propiedad PublishAot en false o use un identificador de tiempo de ejecución compatible al publicar. Cuando el destino sea .NET 7 o una versión posterior, asegúrese de restaurar los paquetes con la propiedad PublishAot establecida en true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: El archivo de configuración de la aplicación debe tener el elemento de configuración raíz. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf +index dfbb0391549..a97af754880 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Impossible d'optimiser les assemblys pour la compilation Ahead of time : un package d'exécution valide n'a pas été trouvé. Définissez la propriété PublishAot sur false ou utilisez un identificateur d'exécution pris en charge lors de la publication. Lorsque vous ciblez .NET 7 ou supérieur, assurez-vous de restaurer les packages avec la propriété PublishAot définie sur true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: Le fichier de configuration de l'application doit avoir un élément de configuration racine. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf +index a768517271c..70fe2939526 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: non è possibile ottimizzare gli assembly per la compilazione Ahead Of Time perché non è stato trovato alcun pacchetto di runtime valido. Impostare la proprietà PublishAot su false oppure usare un identificatore di runtime supportato durante la pubblicazione. Quando si usa .NET 7 o versioni successive, assicurarsi di ripristinare i pacchetti con la proprietà PublishAot impostata su true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: il file di configurazione dell'applicazione deve avere un elemento di configurazione radice. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf +index c3713a3bb6f..42ba79f1034 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Ahead Of Time コンパイル用にアセンブリを最適化できません: 有効なランタイム パッケージが見つかりませんでした。PublishAot プロパティを false に設定するか、公開時に、サポートされているランタイム識別子を使用してください。.NET 7 以降を対象とする場合は、必ず PublishAot プロパティを true に設定してパッケージを復元してください。 + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: アプリケーション構成ファイルには、ルート構成要素が必要です。 +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf +index 86d77d024ad..f9695e37529 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Ahead of Time 컴파일을 위해 어셈블리를 최적화할 수 없습니다. 유효한 런타임 패키지를 찾을 수 없습니다. PublishAot 속성을 false로 설정하거나 게시할 때 지원되는 런타임 식별자를 사용하세요. .NET 7 이상을 대상으로 하는 경우 PublishAot 속성이 true로 설정된 패키지를 복원해야 합니다. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: 애플리케이션 구성 파일에는 루트 구성 요소가 있어야 합니다. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf +index b954c4f64f5..0594cfc5bad 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Nie można zoptymalizować zestawów pod kątem kompilacji z wyprzedzeniem: nie znaleziono prawidłowego pakietu środowiska uruchomieniowego. Ustaw właściwość PublishAot na wartość false lub użyj obsługiwanego identyfikatora środowiska uruchomieniowego podczas publikowania. W przypadku określania wartości docelowej platformy .NET 7 lub nowszej należy przywrócić pakiety z właściwością PublishAot ustawioną na wartość true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: Plik konfiguracji aplikacji musi mieć główny element konfiguracji. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf +index 4153425cfce..ae701f4dc3b 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Não é possível otimizar assemblies para compilação antecipada: um pacote de tempo de execução válido não foi encontrado. Defina a propriedade PublishAot como false ou use um identificador de tempo de execução com suporte ao publicar. Ao direcionar o .NET 7 ou superior, certifique-se de restaurar os pacotes com a propriedade PublishAot definida como true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: o arquivo de configuração do aplicativo deve ter um elemento de configuração raiz. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf +index e66e13cd417..1780c0eb89b 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: не удалось оптимизировать сборки для компиляции Ahead Of Time: не найден допустимый пакет среды выполнения. Задайте для свойства PublishAot значение false либо используйте поддерживаемый идентификатор среды выполнения при публикации. При выборе .NET 7 или более поздней версии в качестве цели восстановите пакеты со свойством PublishAot со значением true. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: В файле конфигурации приложения должен присутствовать корневой элемент конфигурации. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf +index 4121fe024d6..d4ec2bbfea3 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: Derlemeler, AOT derlemesi için iyileştirilemedi: geçerli bir çalışma zamanı paketi bulunamadı. PublishAot özelliğini false olarak ayarlayın veya yayımlarken desteklenen bir çalışma zamanı tanımlayıcısı kullanın. .NET 7 veya üzerini hedeflerken PublishAot özelliği true olarak ayarlanmış paketleri geri yüklediğinizden emin olun. + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: Uygulama yapılandırma dosyasının kök yapılandırma öğesi olmalıdır. +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf +index 5bd5617ccba..77323667f98 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: 无法优化程序集以实现提前编译: 找不到有效的运行时包。将 PublishAot 属性设置为 false,或在发布时使用支持的运行时标识符。面向 .NET 7 或更高版本时,请确保还原将 PublishAot 属性设置为 true 的包。 + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: 应用程序配置文件必须具有根配置元素。 +diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf +index c2e6be8b9be..ae573c7ed8b 100644 +--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf ++++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf +@@ -12,6 +12,11 @@ + NETSDK1183: 無法為提前編譯最佳化組件: 找不到有效的執行階段套件。請將 PublishAot 屬性設為 false,或在發佈時使用支援的執行階段識別碼。以 .NET 7 或更高版本為目標時,請務必還原套件,將 PublishAot 屬性設為 true。 + {StrBegin="NETSDK1183: "} + ++ ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false. ++ {StrBegin="NETSDK1193: "} ++ + + NETSDK1070: The application configuration file must have root configuration element. + NETSDK1070: 應用程式組態檔必須有根組態元素。 +diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets +index 84b21ee0dd8..72d10f518af 100644 +--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets ++++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets +@@ -178,6 +178,9 @@ Copyright (c) .NET Foundation. All rights reserved. + ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed" + FormatArguments="PublishAot"/> + ++ ++ + + +diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props +index 73a182102d1..b7eee4dfe3d 100644 +--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props ++++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props +@@ -116,6 +116,8 @@ Copyright (c) .NET Foundation. All rights reserved. + true + true + ++ false ++ true + + + +@@ -151,7 +153,7 @@ Copyright (c) .NET Foundation. All rights reserved. + + + +- ++ + + + +diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets +index 4311ec0ecea..1f80ab9ded0 100644 +--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets ++++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets +@@ -1175,7 +1175,7 @@ Copyright (c) .NET Foundation. All rights reserved. + + + +- ++ + + + +diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets +index a943e6615bf..8593957f3d6 100644 +--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets ++++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets +@@ -111,6 +111,8 @@ Copyright (c) .NET Foundation. All rights reserved. + '$(EnableCompressionInSingleFile)' == 'true' And + '$(SelfContained)' != 'true'" + ResourceName="CompressionInSingleFileRequiresSelfContained" /> ++ + + + + +- +- + + diff --git a/SOURCES/razor-compiler-apphost.patch b/SOURCES/razor-compiler-apphost.patch deleted file mode 100644 index 83f6c7f..0000000 --- a/SOURCES/razor-compiler-apphost.patch +++ /dev/null @@ -1,26 +0,0 @@ -Don't use an apphost for RazorSyntaxGenerator - -The RazorSyntaxGenerator tool is excluded from source-build, but the build -system tries to find the apphost matching the TFM anyway. This project targets -netcoreapp3.1, so the build fails on s390x because the no apphost exists for -that on s390x. ---- a/src/razor-compiler/src/tools/RazorSyntaxGenerator/RazorSyntaxGenerator.csproj -+++ a/src/razor-compiler/src/tools/RazorSyntaxGenerator/RazorSyntaxGenerator.csproj -@@ -10,6 +10,7 @@ - - false - true -+ false - - - ---- a/src/razor-compiler/src/perf/Microbenchmarks/Microsoft.AspNetCore.Razor.Microbenchmarks.csproj -+++ a/src/razor-compiler/src/perf/Microbenchmarks/Microsoft.AspNetCore.Razor.Microbenchmarks.csproj -@@ -7,6 +7,7 @@ - true - true - false -+ false - - - diff --git a/SOURCES/roslyn-analyzers-ppc64le-apphost.patch b/SOURCES/roslyn-analyzers-ppc64le-apphost.patch new file mode 100644 index 0000000..4dd465c --- /dev/null +++ b/SOURCES/roslyn-analyzers-ppc64le-apphost.patch @@ -0,0 +1,12 @@ +diff --git a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj +index 044a2aba4..b3f8f2611 100644 +--- a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj ++++ b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj +@@ -4,6 +4,7 @@ + preview + disable + Exe ++ false + + + true diff --git a/SOURCES/runtime-74147-no-pgo-with-mono.patch b/SOURCES/runtime-74147-no-pgo-with-mono.patch deleted file mode 100644 index bca892b..0000000 --- a/SOURCES/runtime-74147-no-pgo-with-mono.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 98c1b3a803cb01232ee40bb4192679fcab3232e7 Mon Sep 17 00:00:00 2001 -From: Jo Shields -Date: Thu, 18 Aug 2022 09:08:36 -0400 -Subject: [PATCH] Don't try to build PGO tools on platforms with no CoreCLR - port. - -Closes: #74102 ---- - eng/Subsets.props | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/runtime/eng/Subsets.props b/src/runtime/eng/Subsets.props -index 911c24dbde6..1e8e5801e57 100644 ---- a/src/runtime/eng/Subsets.props -+++ b/src/runtime/eng/Subsets.props -@@ -62,7 +62,8 @@ - mono.llvm+ - $(DefaultMonoSubsets)mono.wasmruntime+ - $(DefaultMonoSubsets)mono.aotcross+ -- $(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages+mono.tools+ -+ $(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages+ -+ $(DefaultMonoSubsets)mono.tools+ - $(DefaultMonoSubsets)host.native+ - - +Date: Tue, 27 Sep 2022 13:08:43 +0530 +Subject: [PATCH 1/4] add support for ppc64le processor architecture + +--- + src/Microsoft.TestPlatform.ObjectModel/Architecture.cs | 3 ++- + .../Interfaces/System/PlatformArchitecture.cs | 1 + + .../netcore/System/PlatformEnvironment.cs | 1 + + .../netcore/System/ProcessHelper.cs | 1 + + .../Hosting/DefaultTestHostManager.cs | 1 + + src/vstest.console/TestPlatformHelpers/TestRequestManager.cs | 2 ++ + .../Processors/PlatformArgumentProcessorTests.cs | 4 ++-- + 7 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs +index 6c9b9bcde5..7879358840 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs +@@ -11,5 +11,6 @@ public enum Architecture + ARM, + AnyCPU, + ARM64, +- S390x ++ S390x, ++ PPC64le + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs +index b1d477c7d3..aa81ca0ffc 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs +@@ -13,4 +13,5 @@ public enum PlatformArchitecture + ARM, + ARM64, + S390x, ++ PPC64le, + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs +index 10d4a61570..14d1234ef6 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs +@@ -28,6 +28,7 @@ public PlatformArchitecture Architecture + // preview 6 or later, so use the numerical value for now. + // case System.Runtime.InteropServices.Architecture.S390x: + (Architecture)5 => PlatformArchitecture.S390x, ++ (Architecture)6 => PlatformArchitecture.PPC64le, + _ => throw new NotSupportedException(), + }; + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs +index 6cf4b0f91b..d1e31bb0f6 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs +@@ -41,6 +41,7 @@ public PlatformArchitecture GetCurrentProcessArchitecture() + // preview 6 or later, so use the numerical value for now. + // case System.Runtime.InteropServices.Architecture.S390x: + (Architecture)5 => PlatformArchitecture.S390x, ++ (Architecture)6 => PlatformArchitecture.PPC64le, + _ => throw new NotSupportedException(), + }; + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs +index 2eca302b43..54fa36e344 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs +@@ -274,6 +274,7 @@ private static string GetTestHostName(Architecture architecture, Framework targe + PlatformArchitecture.ARM => Architecture.ARM, + PlatformArchitecture.ARM64 => Architecture.ARM64, + PlatformArchitecture.S390x => Architecture.S390x, ++ PlatformArchitecture.PPC64le => Architecture.PPC64le, + _ => throw new NotSupportedException(), + }; + +diff --git a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs +index 642e36bb9e..c7a0f93927 100644 +--- a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs ++++ b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs +@@ -841,6 +841,8 @@ static Architecture TranslateToArchitecture(PlatformArchitecture targetArchitect + return Architecture.ARM64; + case PlatformArchitecture.S390x: + return Architecture.S390x; ++ case PlatformArchitecture.PPC64le: ++ return Architecture.PPC64le; + default: + EqtTrace.Error($"TestRequestManager.TranslateToArchitecture: Unhandled architecture '{targetArchitecture}'."); + break; +diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs +index 207e4590fd..472688248d 100644 +--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs ++++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs +@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture() + { + ExceptionUtilities.ThrowsException( + () => _executor.Initialize("foo"), +- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x.", ++ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.", + "foo"); + } + +@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture() + { + ExceptionUtilities.ThrowsException( + () => _executor.Initialize("AnyCPU"), +- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x.", ++ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.", + "AnyCPU"); + } + + +From 750b193e964a446dad5fc5927b745861eb19a9a9 Mon Sep 17 00:00:00 2001 +From: Sapana Khemkar +Date: Wed, 28 Sep 2022 11:06:08 +0530 +Subject: [PATCH 2/4] change enum name from PPC64le to Ppc64le to match with + System.Runtime.InteropServices.Architecture enum name + +--- + src/Microsoft.TestPlatform.ObjectModel/Architecture.cs | 2 +- + .../Interfaces/System/PlatformArchitecture.cs | 2 +- + .../netcore/System/PlatformEnvironment.cs | 2 +- + .../netcore/System/ProcessHelper.cs | 2 +- + .../Hosting/DefaultTestHostManager.cs | 2 +- + src/vstest.console/TestPlatformHelpers/TestRequestManager.cs | 4 ++-- + .../Processors/PlatformArgumentProcessorTests.cs | 4 ++-- + 7 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs +index 7879358840..f3d59e7ae4 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs +@@ -12,5 +12,5 @@ public enum Architecture + AnyCPU, + ARM64, + S390x, +- PPC64le ++ Ppc64le + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs +index aa81ca0ffc..907ec721dd 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs +@@ -13,5 +13,5 @@ public enum PlatformArchitecture + ARM, + ARM64, + S390x, +- PPC64le, ++ Ppc64le, + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs +index 14d1234ef6..f2163db898 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs +@@ -28,7 +28,7 @@ public PlatformArchitecture Architecture + // preview 6 or later, so use the numerical value for now. + // case System.Runtime.InteropServices.Architecture.S390x: + (Architecture)5 => PlatformArchitecture.S390x, +- (Architecture)6 => PlatformArchitecture.PPC64le, ++ (Architecture)8 => PlatformArchitecture.Ppc64le, + _ => throw new NotSupportedException(), + }; + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs +index d1e31bb0f6..d2d048e355 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs +@@ -41,7 +41,7 @@ public PlatformArchitecture GetCurrentProcessArchitecture() + // preview 6 or later, so use the numerical value for now. + // case System.Runtime.InteropServices.Architecture.S390x: + (Architecture)5 => PlatformArchitecture.S390x, +- (Architecture)6 => PlatformArchitecture.PPC64le, ++ (Architecture)8 => PlatformArchitecture.Ppc64le, + _ => throw new NotSupportedException(), + }; + } +diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs +index 54fa36e344..02001d23ab 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs +@@ -274,7 +274,7 @@ private static string GetTestHostName(Architecture architecture, Framework targe + PlatformArchitecture.ARM => Architecture.ARM, + PlatformArchitecture.ARM64 => Architecture.ARM64, + PlatformArchitecture.S390x => Architecture.S390x, +- PlatformArchitecture.PPC64le => Architecture.PPC64le, ++ PlatformArchitecture.Ppc64le => Architecture.Ppc64le, + _ => throw new NotSupportedException(), + }; + +diff --git a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs +index c7a0f93927..25cca0ca07 100644 +--- a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs ++++ b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs +@@ -841,8 +841,8 @@ static Architecture TranslateToArchitecture(PlatformArchitecture targetArchitect + return Architecture.ARM64; + case PlatformArchitecture.S390x: + return Architecture.S390x; +- case PlatformArchitecture.PPC64le: +- return Architecture.PPC64le; ++ case PlatformArchitecture.Ppc64le: ++ return Architecture.Ppc64le; + default: + EqtTrace.Error($"TestRequestManager.TranslateToArchitecture: Unhandled architecture '{targetArchitecture}'."); + break; +diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs +index 472688248d..f33166ae6c 100644 +--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs ++++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs +@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture() + { + ExceptionUtilities.ThrowsException( + () => _executor.Initialize("foo"), +- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.", ++ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.", + "foo"); + } + +@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture() + { + ExceptionUtilities.ThrowsException( + () => _executor.Initialize("AnyCPU"), +- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.", ++ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.", + "AnyCPU"); + } + + +From 4d97db82c39caf0aa6ca7bd3f47f1c3714aa6f2c Mon Sep 17 00:00:00 2001 +From: Sapana Khemkar +Date: Wed, 28 Sep 2022 17:58:27 +0530 +Subject: [PATCH 3/4] add defination of enum + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.Ppc64le + and Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Ppc64le in + Microsoft.TestPlatform.ObjectModel and + /Microsoft.TestPlatform.PlatformAbstractions PublicAPI.Shipped.txt file. + +--- + .../PublicAPI/PublicAPI.Shipped.txt | 1 + + .../PublicAPI/PublicAPI.Shipped.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt +index 9df7e09b00..5d69e70774 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt ++++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt +@@ -113,6 +113,7 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.ARM = 3 -> Microsof + Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.ARM64 = 5 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture + Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Default = 0 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture + Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.S390x = 6 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture ++Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Ppc64le = 7 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture + Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.X64 = 2 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture + Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.X86 = 1 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture + Microsoft.VisualStudio.TestPlatform.ObjectModel.AttachmentSet +diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt +index 696ed76517..8f0f763f94 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt ++++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt +@@ -67,6 +67,7 @@ Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.ARM = 2 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.ARM64 = 3 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.S390x = 4 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture ++Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.Ppc64le = 5 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.X64 = 1 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.X86 = 0 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture + Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyExtensions + +From 389b923569be952cfa6875af209e70d9490bfd73 Mon Sep 17 00:00:00 2001 +From: Sapana Khemkar +Date: Wed, 28 Sep 2022 19:45:55 +0530 +Subject: [PATCH 4/4] corrected typo in ppc64le arch name + +--- + .../Processors/PlatformArgumentProcessorTests.cs | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs +index f33166ae6c..b452b48408 100644 +--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs ++++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs +@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture() + { + ExceptionUtilities.ThrowsException( + () => _executor.Initialize("foo"), +- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.", ++ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, Ppc64le.", + "foo"); + } + +@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture() + { + ExceptionUtilities.ThrowsException( + () => _executor.Initialize("AnyCPU"), +- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.", ++ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, Ppc64le.", + "AnyCPU"); + } + diff --git a/SOURCES/vstest-4066-s390x-ppc64le.patch b/SOURCES/vstest-4066-s390x-ppc64le.patch new file mode 100644 index 0000000..642beb6 --- /dev/null +++ b/SOURCES/vstest-4066-s390x-ppc64le.patch @@ -0,0 +1,37 @@ +From 7ea33be2e1949d9c63ff58b59deb5b1a84105aae Mon Sep 17 00:00:00 2001 +From: Giridhar Trivedi +Date: Wed, 12 Oct 2022 14:14:40 +0200 +Subject: [PATCH] Fix Invalid target architecture 'S390x' error + +In commit 3ae5c4aef823 ("Add support for s390x processor architecture") +support for S390x architecture was provided for .NET6. This is broken +in .NET7. Add missing case statements to fix this for S390x and also +Power architectures. +--- + .../Hosting/DotnetTestHostManager.cs | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs +index b4fa53776f..deadfcb684 100644 +--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs ++++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs +@@ -536,6 +536,10 @@ PlatformArchitecture TranslateToPlatformArchitecture(Architecture targetArchitec + return PlatformArchitecture.ARM; + case Architecture.ARM64: + return PlatformArchitecture.ARM64; ++ case Architecture.S390x: ++ return PlatformArchitecture.S390x; ++ case Architecture.Ppc64le: ++ return PlatformArchitecture.Ppc64le; + case Architecture.AnyCPU: + case Architecture.Default: + default: +@@ -552,6 +556,8 @@ static bool IsSameArchitecture(Architecture targetArchitecture, PlatformArchitec + Architecture.X64 => platformAchitecture == PlatformArchitecture.X64, + Architecture.ARM => platformAchitecture == PlatformArchitecture.ARM, + Architecture.ARM64 => platformAchitecture == PlatformArchitecture.ARM64, ++ Architecture.S390x => platformAchitecture == PlatformArchitecture.S390x, ++ Architecture.Ppc64le => platformAchitecture == PlatformArchitecture.Ppc64le, + _ => throw new TestPlatformException($"Invalid target architecture '{targetArchitecture}'"), + }; + diff --git a/SPECS/dotnet7.0.spec b/SPECS/dotnet7.0.spec index b2d5cd6..a8b3d11 100644 --- a/SPECS/dotnet7.0.spec +++ b/SPECS/dotnet7.0.spec @@ -6,12 +6,13 @@ # until that's done, disable LTO. This has to happen before setting the flags below. %define _lto_cflags %{nil} -%global host_version 7.0.0-rc.1.22426.10 -%global runtime_version 7.0.0-rc.1.22426.10 -%global aspnetcore_runtime_version 7.0.0-rc.1.22427.2 -%global sdk_version 7.0.100-rc.1.22464.1 +%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_version 7.0.100-rc.2.22517.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.1.22427.2 +%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 7.0.0 @@ -21,7 +22,7 @@ # upstream can update releases without revving the SDK version so these don't always match #%%global upstream_tag v%%{sdk_version} -%global upstream_tag v7.0.100-rc.1.22431.12 +%global upstream_tag v7.0.100-rc.2.22477.23 %if 0%{?fedora} || 0%{?rhel} < 8 %global use_bundled_libunwind 0 @@ -29,7 +30,7 @@ %global use_bundled_libunwind 1 %endif -%ifarch aarch64 s390x +%ifarch aarch64 ppc64le s390x %global use_bundled_libunwind 1 %endif @@ -42,12 +43,17 @@ %ifarch s390x %global runtime_arch s390x %endif +%ifarch ppc64le +%global runtime_arch ppc64le +%endif + +%global mono_archs s390x ppc64le %{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}} Name: dotnet7.0 Version: %{sdk_rpm_version} -Release: 0.2.rc1%{?dist} +Release: 0.4.rc2%{?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/ @@ -57,9 +63,11 @@ URL: https://github.com/dotnet/ # ./build-dotnet-tarball --bootstrap %%{upstream_tag} Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz # Generated via ./build-arm64-bootstrap-tarball -Source1: dotnet-arm64-prebuilts-2022-09-17.tar.gz +Source1: dotnet-arm64-prebuilts-2022-10-12.tar.gz +# Generated manually, same pattern as the arm64 tarball +Source2: dotnet-ppc64le-prebuilts-2022-10-21.tar.gz # Generated manually, same pattern as the arm64 tarball -Source2: dotnet-s390x-prebuilts-2022-08-24.tar.gz +Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz %else # The source is generated on a Fedora box via: # ./build-dotnet-tarball %%{upstream_tag} @@ -69,13 +77,31 @@ Source0: dotnet-%{upstream_tag}.tar.gz Source10: check-debug-symbols.py Source11: dotnet.sh.in -Patch1: razor-compiler-apphost.patch -# https://github.com/dotnet/runtime/pull/74147 -Patch2: runtime-74147-no-pgo-with-mono.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 + %if 0%{?fedora} || 0%{?rhel} >= 8 -ExclusiveArch: aarch64 x86_64 s390x +ExclusiveArch: aarch64 ppc64le s390x x86_64 %else ExclusiveArch: x86_64 %endif @@ -333,6 +359,20 @@ These are not meant for general use. %prep %if %{without bootstrap} %setup -q -n dotnet-%{upstream_tag} + +# 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/ + %else %setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap @@ -343,31 +383,48 @@ rm -rf .dotnet %ifarch aarch64 tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt %endif -%ifarch s390x +%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 + 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 + +%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|[^<]+|'$ilasm_version'|' PackageVersions.props +sed -i -E 's|[^<]+|'$ilasm_version'|' PackageVersions.props +tar czf ../packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz * +popd + %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 %endif %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 # Fix bad hardcoded path in build sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp @@ -442,7 +499,9 @@ export DOTNET_NUGET_SIGNATURE_VERIFICATION=false VERBOSE=1 ./build.sh \ %if %{without bootstrap} --with-sdk previously-built-dotnet \ - --with-packages %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.tar.gz +%endif +%ifarch %{mono_archs} + --use-mono-runtime \ %endif -- \ /p:MinimalConsoleLogOutput=false \ @@ -592,6 +651,14 @@ export COMPlus_LTTng=0 %changelog +* Mon Oct 24 2022 Omair Majid - 7.0.100-0.4.rc2 +- Enable ppc64le builds +- Related: RHBZ#2134642 + +* Thu Oct 13 2022 Omair Majid - 7.0.100-0.3.rc2 +- Update to .NET 7 RC 2 +- Resolves: RHBZ#2134642 + * Sat Sep 17 2022 Omair Majid - 7.0.100-0.2.rc1 - Update to .NET 7 RC 1 - Enable s390x builds