diff --git a/dotnet-8.0.4.tar.gz b/dotnet-8.0.4.tar.gz deleted file mode 100644 index b499cc3afafc1c7716051b94a2efc56178f7ef95..0000000000000000000000000000000000000000 Binary files a/dotnet-8.0.4.tar.gz and /dev/null differ diff --git a/dotnet-8.0.4.tar.gz.sig b/dotnet-8.0.4.tar.gz.sig deleted file mode 100644 index 5b6f6533f448eca7f04b55c41b7da12b0b7ce4de..0000000000000000000000000000000000000000 --- a/dotnet-8.0.4.tar.gz.sig +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: BSN Pgp v1.0.0.0 - -iQIcBAABCAAGBQJmBFuCAAoJEP2/U8JNtIcu+McP/RkPiiLwEr0k4xGd6mIsgvco -hHL6I3f/1f4/dSYkyr1edqeCynrwU6hYfMyLm71XrwkYHxQCbDvXpo4FekW/kfTR -LrAhJuhDRMzGfjZU81h4PCHAcktJWPuY2IC5EPw9R4h/UToobYBPqsxayyXpu1hK -iCm+g+iKxXKPO2ujG4Kj9NSiWg8NMZeDVgAvh4q5Xi+GMiiwQ67VwO/WzZss0HNt -pAMePhuKp5V5zJXMIf0FwIa3TJZuC4xnCSz2EfKz8Y1tS+ez0p8gAiWzwmR7W705 -p7UouNEEzBiVoTq17DrCOx7+51hyP2gygDy0DbD/2kMJVICCPnECIyU8V42a0KPJ -w2cPxh/2w1KgUp3gvdVaKAJunHsqvXlNU+8/PvWeVN3yzd40VCiqmuS2HVqpkAZ8 -Lq5hPdxAJmHDdnL4ptLmI3R2PMba/5GYWP0Cr/kQut96drfaDFhHZD8M2wFjsRG2 -Pwkfds+8xcdkYYJpfECz15BZAo7lCF2TjjMkREREfmdBn46UgS9MmAQJWm1D5PBV -IhXSfX4p6KuxmiMBjovuagoebSiePEh5EnvYLv3Czx073WcZI7Hk4BnqdSc0DjqF -A2TVS8noAaVlHVIqncLyDS61oVCBoMNyxSPDqcDQNI+6NNeZpbwdj9RJ9d83AepZ -5VajM4GlJzjwooXCsSNc -=dp1h ------END PGP SIGNATURE----- diff --git a/dotnet-missing-pdbs-okay.patch b/dotnet-missing-pdbs-okay.patch deleted file mode 100644 index f239d1783db48541ce12eab4a9a80a36ac7b452a..0000000000000000000000000000000000000000 --- a/dotnet-missing-pdbs-okay.patch +++ /dev/null @@ -1,20 +0,0 @@ -Allow builders to override failing on pdb mismatch ---- a/build.proj -+++ b/build.proj -@@ -114,6 +114,7 @@ - $(OutputPath)dotnet-symbols-sdk-$(MicrosoftSourceBuildIntermediateInstallerVersion)-$(TargetRid).tar.gz - $(ArtifactsTmpDir)Sdk - %(SdkTarballItem.Identity) -+ true - - - -@@ -123,7 +124,7 @@ - -+ FailOnMissingPDBs="$(FailOnMissingPDBs)" /> - - diff --git a/dotnet.spec b/dotnet.spec index bc68641d097bb5f6a2b64cb13bded0edd2e5631c..1e2bb68216af27d4d37157fc0381ffd7ed17ed52 100644 --- a/dotnet.spec +++ b/dotnet.spec @@ -6,26 +6,43 @@ # until that's done, disable LTO. This has to happen before setting the flags below. %define _lto_cflags %{nil} -%global dotnetver 8.0 - -%global host_version 8.0.4 -%global runtime_version 8.0.4 -%global aspnetcore_runtime_version %{runtime_version} -%global sdk_version 8.0.104 -%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') -%global templates_version %{runtime_version} -#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') +%global dotnetver 9.0 # upstream can produce releases with a different tag than the SDK version -%global upstream_tag v%{runtime_version} +#%%global upstream_tag v%%{runtime_version} +%global upstream_tag v9.0.109 %global upstream_tag_without_v %(echo %{upstream_tag} | sed -e 's|^v||') -%global host_rpm_version %{host_version} +%global hostfxr_version %{runtime_version} +%global runtime_version 9.0.8 +%global aspnetcore_runtime_version 9.0.8 +%global sdk_version 9.0.109 +%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') +%global templates_version %{aspnetcore_runtime_version} +#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') + %global runtime_rpm_version %{runtime_version} %global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version} %global sdk_rpm_version %{sdk_version} +%global use_bundled_brotli 0 +%global use_bundled_libunwind 1 +%global use_bundled_llvm_libunwind 1 +%global use_bundled_rapidjson 0 +%global use_bundled_zlib 0 + + +%if 0%{?rhel} > 0 +%global use_bundled_rapidjson 1 +%endif + +%if 0%{?fedora} || 0%{?rhel} < 8 +%global use_bundled_libunwind 0 +%endif + +%ifarch aarch64 ppc64le s390x %global use_bundled_libunwind 1 +%endif %ifarch aarch64 %global runtime_arch arm64 @@ -40,72 +57,92 @@ %global runtime_arch x64 %endif -%global mono_archs s390x ppc64le +%global mono_archs ppc64le s390x -%{!?runtime_id:%global runtime_id %(. /etc/os-release ; ID="$(echo $ID | tr "[:upper:]" "[:lower:]")" ; echo "${ID}.${VERSION_ID}")-%{runtime_arch}} +%{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}} + +# Define macros for OS backwards compat +%if %{undefined bash_completions_dir} +%global bash_completions_dir %{_datadir}/bash-completion/completions +%endif +%if %{undefined zsh_completions_dir} +%global zsh_completions_dir %{_datadir}/zsh/site-functions +%endif Name: dotnet%{dotnetver} Version: %{sdk_rpm_version} -Release: 1.0.2 +Release: 1.0.1%{?dist} Summary: .NET Runtime and SDK -License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND MIT AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib +License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib URL: https://github.com/dotnet/ %if %{with bootstrap_dotnet} -%global bootstrap_sdk_version 8.0.100-rc.1.23410.12 -%global tarball_name dotnet-%{upstream_tag}-x64-bootstrap # The source is generated on a Fedora box via: -# ./build-dotnet-tarball --bootstrap %%{upstream_tag} -Source0: %{tarball_name}.tar.xz -# Generated via ./build-arm64-bootstrap-tarball -Source1: dotnet-prebuilts-%{bootstrap_sdk_version}-arm64.tar.gz -# Generated manually, same pattern as the arm64 tarball -Source2: dotnet-prebuilts-%{bootstrap_sdk_version}-ppc64le.tar.gz -# Generated manually, same pattern as the arm64 tarball -Source3: dotnet-prebuilts-%{bootstrap_sdk_version}-s390x.tar.gz +# ./build-dotnet-bootstrap-tarball %%{upstream_tag} +Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.gz +# The bootstrap SDK version is one listed in the global.json file of the main source archive +%global bootstrap_sdk_version 9.0.100-rc.1.24452.12 +# Binaries can be at one of several different URLs: +# GA releases: +# Source1: https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz +# Preview releases: +Source1: https://dotnetbuilds.azureedge.net/public/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz +# To generate ppc64le and s390x archives: +# 1. Find the source commits and versions of repos, use one of: +# - https://dotnetbuilds.azureedge.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt +# - https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt +# 2. Find the VMR sync commit using `git log --grep $commit` +# 3. Build the VMR commit in cross-build mode for the architecture +# 4. Use `build-prebuilt-archive` to create the archive from the VMR +# 5. Update the version below to match the SDK that was built from the VMR +# The ppc64le/s390x SDK version is one produced +%global bootstrap_sdk_version_ppc64le_s390x 9.0.100-rc.1.24452.1 +Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz +Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz %else -# For non-releases, the source is generated on a Fedora box via: -# ./build-dotnet-tarball %%{upstream_tag} or commit -%global tarball_name dotnet-sdk-source-%{upstream_tag} Source0: https://github.com/dotnet/dotnet/archive/refs/tags/%{upstream_tag}.tar.gz#/dotnet-%{upstream_tag_without_v}.tar.gz -Source1: https://github.com/dotnet/dotnet/archive/refs/tags/%{upstream_tag}.tar.gz.sig#/dotnet-%{upstream_tag_without_v}.tar.gz.sig +Source1: https://github.com/dotnet/dotnet/releases/download/%{upstream_tag}/dotnet-%{upstream_tag_without_v}.tar.gz.sig Source2: https://dotnet.microsoft.com/download/dotnet/release-key-2023.asc %endif -Source5: https://github.com/dotnet/dotnet/releases/download/%{upstream_tag}/release.json -#Source10: %%{tarball_name}-nm-dev.tgz -#Source11: %%{tarball_name}-nm-prod.tgz +Source5: https://github.com/dotnet/dotnet/releases/download/%{upstream_tag}/release.json Source20: check-debug-symbols.py Source21: dotnet.sh.in -# Disable apphost; there's no net6.0 apphost for ppc64le -Patch1: roslyn-analyzers-ppc64le-apphost.patch -# https://github.com/dotnet/source-build/discussions/3481 -Patch2: vstest-intent-net8.0.patch -# We are failing to build 8.0.101 on s390x due to pdb errors that are under investigation -Patch3: dotnet-missing-pdbs-okay.patch # https://github.com/dotnet/runtime/pull/95216#issuecomment-1842799314 -Patch4: runtime-re-enable-implicit-rejection.patch -# https://github.com/dotnet/msbuild/pull/9449 -Patch5: msbuild-9449-exec-stop-setting-a-locale.patch - +Patch0: runtime-re-enable-implicit-rejection.patch +# We disable checking the signature of the last certificate in a chain if the certificate is supposedly self-signed. +# A side effect of not checking the self-signature of such a certificate is that disabled or unsupported message +# digests used for the signature are not treated as fatal errors. +# https://issues.redhat.com/browse/RHEL-25254 +Patch1: runtime-openssl-sha1.patch +# fix an error caused by combining Fedora's CFLAGS with how .NET builds some assembly files +Patch2: runtime-disable-fortify-on-ilasm-parser.patch +# Fix parsing a test project on ppc64le +Patch3: roslyn-analyzers-ppc64le-apphost.patch # openEuler patches -Patch1001: openEuler-sdk-8.patch -Patch1002: openEuler-runtime-8.patch -Patch1003: openEuler-source-build-reference-packages-8.patch -Patch1004: openEuler-dotnet-8.patch +Patch1001: 0001-Add-openEuler-Linux-support.patch +Patch1002: 0002-Update-openEuler-Linux-RIDs.patch ExclusiveArch: aarch64 ppc64le s390x x86_64 + +%if ! %{use_bundled_brotli} +BuildRequires: brotli-devel +%endif BuildRequires: clang -BuildRequires: cmake >= 3.20 +BuildRequires: cmake BuildRequires: coreutils +%if %{without bootstrap_dotnet} +BuildRequires: dotnet-sdk-%{dotnetver} +BuildRequires: dotnet-sdk-%{dotnetver}-source-built-artifacts +%endif BuildRequires: findutils BuildRequires: git -BuildRequires: glibc-all-langpacks +BuildRequires: glibc-langpack-en BuildRequires: gnupg2 BuildRequires: hostname BuildRequires: krb5-devel @@ -113,17 +150,31 @@ BuildRequires: libicu-devel %if ! %{use_bundled_libunwind} BuildRequires: libunwind-devel %endif +%ifnarch s390x +BuildRequires: lld +%else +# lld is not supported/available/usable on s390x +BuildRequires: binutils +%endif # If the build ever crashes, then having lldb installed might help the # runtime generate a backtrace for the crash BuildRequires: lldb BuildRequires: llvm +%if ! %{use_bundled_llvm_libunwind} +BuildRequires: llvm-libunwind-devel +%endif BuildRequires: lttng-ust-devel BuildRequires: make -BuildRequires: openssl-devel +BuildRequires: compat-openssl11-devel BuildRequires: python3 +%if ! %{use_bundled_rapidjson} +BuildRequires: rapidjson-devel +%endif BuildRequires: tar BuildRequires: util-linux +%if ! %{use_bundled_zlib} BuildRequires: zlib-devel +%endif # The tracing support in CoreCLR is optional. It has a run-time @@ -161,10 +212,36 @@ applications and micro-services. framework libraries, an SDK containing compilers and a 'dotnet' application to drive everything. +# The `dotnet` package was a bit of historical mistake. Users +# shouldn't be asked to install .NET without a version because .NET +# code (source or build) is generally version specific. We have kept +# it around in older versions of RHEL and Fedora. But no reason to +# continue this mistake. +%if ( 0%{?fedora} && 0%{?fedora} < 38 ) || ( 0%{?rhel} && 0%{?rhel} < 9 ) + +%package -n dotnet + +Version: %{sdk_rpm_version} +Summary: .NET CLI tools and runtime + +Requires: dotnet-sdk-%{dotnetver}%{?_isa} >= %{sdk_rpm_version}-%{release} + +%description -n dotnet +.NET is a fast, lightweight and modular platform for creating +cross platform applications that work on Linux, macOS and Windows. + +It particularly focuses on creating console applications, web +applications and micro-services. + +.NET contains a runtime conforming to .NET Standards a set of +framework libraries, an SDK containing compilers and a 'dotnet' +application to drive everything. + +%endif %package -n dotnet-host -Version: %{host_rpm_version} +Version: %{runtime_rpm_version} Summary: .NET command line launcher %description -n dotnet-host @@ -180,12 +257,12 @@ applications and micro-services. %package -n dotnet-hostfxr-%{dotnetver} -Version: %{host_rpm_version} +Version: %{runtime_rpm_version} Summary: .NET command line host resolver # Theoretically any version of the host should work. But lets aim for the one # provided by this package, or from a newer version of .NET -Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release} +Requires: dotnet-host%{?_isa} >= %{runtime_rpm_version}-%{release} %description -n dotnet-hostfxr-%{dotnetver} The .NET host resolver contains the logic to resolve and select @@ -203,7 +280,7 @@ applications and micro-services. Version: %{runtime_rpm_version} Summary: NET %{dotnetver} runtime -Requires: dotnet-hostfxr-%{dotnetver}%{?_isa} >= %{host_rpm_version}-%{release} +Requires: dotnet-hostfxr-%{dotnetver}%{?_isa} >= %{runtime_rpm_version}-%{release} # libicu is dlopen()ed Requires: libicu%{?_isa} @@ -277,7 +354,7 @@ Summary: .NET %{dotnetver} templates # Theoretically any version of the host should work. But lets aim for the one # provided by this package, or from a newer version of .NET -Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release} +Requires: dotnet-host%{?_isa} >= %{runtime_rpm_version}-%{release} %description -n dotnet-templates-%{dotnetver} This package contains templates used by the .NET SDK. @@ -329,6 +406,25 @@ This package contains the managed symbol (pdb) files useful to debug the .NET Software Development Kit (SDK) itself. +%package -n dotnet-sdk-aot-%{dotnetver} + +Version: %{sdk_rpm_version} +Summary: Ahead-of-Time (AOT) support for the .NET %{dotnetver} Software Development Kit + +Requires: dotnet-sdk-%{dotnetver}%{?_isa} >= %{sdk_rpm_version}-%{release} + +# When installing AOT support, also install all dependencies needed to build +# NativeAOT applications. AOT invokes `clang ... -lssl -lcrypto -lbrotlienc +# -lbrotlidec -lz ...`. +Requires: brotli-devel%{?_isa} +Requires: clang%{?_isa} +Requires: openssl-devel%{?_isa} +Requires: zlib-devel%{?_isa} + +%description -n dotnet-sdk-aot-%{dotnetver} +This package provides Ahead-of-time (AOT) compilation support for the .NET SDK. + + %global dotnet_targeting_pack() %{expand: %package -n %{1} @@ -365,7 +461,12 @@ to build the .NET SDK itself. These are not meant for general use. + %prep +%if %{without bootstrap_dotnet} +# check gpg signatures only for non-bootstrap builds; bootstrap "sources" are hand-crafted +# %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%endif release_json_tag=$(grep tag %{SOURCE5} | cut -d: -f2 | sed -E 's/[," ]*//g') if [[ ${release_json_tag} != %{upstream_tag} ]]; then @@ -376,27 +477,59 @@ fi %if %{without bootstrap_dotnet} %setup -q -n dotnet-%{upstream_tag_without_v} -# 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 - +# Remove all prebuilts and binaries rm -rf .dotnet/ rm -rf packages/source-built +rm -rf src/aspnetcore/src/submodules/Node-Externals/ +find -type f \( \ + -iname '*.bin' -or \ + -iname '*.binlog' -or \ + -iname '*.dat' -or \ + -iname '*.db' -or \ + -iname '*.dll' -or \ + -iname '*.doc' -or \ + -iname '*.docx' -or \ + -iname '*.exe' -or \ + -iname '*.mdb' -or \ + -iname '*.mod' -or \ + -iname '*.msi' -or \ + -iname '*.netmodule' -or \ + -iname '*.nupkg' -or \ + -iname '*.o' -or \ + -iname '*.obj' -or \ + -iname '*.out' -or \ + -iname '*.p7b' -or \ + -iname '*.p7s' -or \ + -iname '*.pdb' -or \ + -iname '*.pfx' -or \ + -iname '*.so' -or \ + -iname '*.tar.gz' -or \ + -iname '*.tgz' -or \ + -iname '*.tlb' -or \ + -iname '*.winmd' -or \ + -iname '*.vsix' -or \ + -iname '*.zip' \ + \) \ + -delete + +# \( -iname '*.snk' -not \ +# \( -ipath './prereqs/*' -or -ipath './src/arcade/*' -or -ipath './src/source-build-externals/*' -or -ipath './src/deployment-tools/*' \) \ +# \) -or \ mkdir -p prereqs/packages/archive +ln -s %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.tar.gz prereqs/packages/archive/ %else %setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap -%ifnarch x86_64 - +%ifarch aarch64 ppc64le s390x rm -rf .dotnet +mkdir -p .dotnet/ +%endif + %ifarch aarch64 -tar -x --strip-components=1 -f %{SOURCE1} -C prereqs/packages/prebuilt/ +tar -x -f %{SOURCE1} -C .dotnet/ %endif %ifarch ppc64le tar -x --strip-components=1 -f %{SOURCE2} -C prereqs/packages/prebuilt/ @@ -405,66 +538,64 @@ tar -x --strip-components=1 -f %{SOURCE2} -C prereqs/packages/prebuilt/ tar -x --strip-components=1 -f %{SOURCE3} -C prereqs/packages/prebuilt/ %endif -mkdir -p .dotnet +%ifarch ppc64le s390x tar xf prereqs/packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/ rm prereqs/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 prereqs/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 ../prereqs/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 ../prereqs/packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz * -popd - %endif %endif -%endif - -# tar -x --strip-components=1 -f %%{SOURCE10} -# tar -x --strip-components=1 -f %%{SOURCE11} - %autopatch -p1 -M 999 -# Apply Oracle patches -pushd src/sdk -%patch1001 -p1 -popd +%if ! %{use_bundled_brotli} +rm -rf src/runtime/src/native/external/brotli/ +%endif -pushd src/runtime -%patch1002 -p1 -popd +%if ! %{use_bundled_libunwind} +rm -rf src/runtime/src/native/external/libunwind/ +%endif -pushd src/source-build-reference-packages -%patch1003 -p1 -popd +%if ! %{use_bundled_llvm_libunwind} +rm -rf src/runtime/src/native/external/llvm-libunwind +%endif -%patch1004 -p1 +%if ! %{use_bundled_rapidjson} +rm -rf src/runtime/src/native/external/rapidjson +%endif -%if ! %{use_bundled_libunwind} -sed -i -E 's|( /p:BuildDebPackage=false)|\1 --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|' src/runtime/eng/SourceBuild.props +%if ! %{use_bundled_zlib} +rm -rf src/runtime/src/native/external/zlib +rm -rf src/runtime/src/native/external/zlib-intel +rm -rf src/runtime/src/native/external/zlib-ng %endif + %build cat /etc/os-release +%if %{without bootstrap_dotnet} +# We need to create a copy because build scripts will mutate this +cp -a %{_libdir}/dotnet previously-built-dotnet +find previously-built-dotnet +%endif + +%if 0%{?fedora} || 0%{?rhel} >= 9 +# Setting this macro ensures that only clang supported options will be +# added to ldflags and cflags. +%global toolchain clang +%set_build_flags +%else # Filter flags not supported by clang %global dotnet_cflags %(echo %optflags | sed -re 's/-specs=[^ ]*//g') %global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g') export CFLAGS="%{dotnet_cflags}" export CXXFLAGS="%{dotnet_cflags}" export LDFLAGS="%{dotnet_ldflags}" +%endif # -fstack-clash-protection breaks CoreCLR CFLAGS=$(echo $CFLAGS | sed -e 's/-fstack-clash-protection//' ) @@ -484,6 +615,10 @@ CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -march=z13//') CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//') %endif +# Enabling fortify-source and "-Wall -Weverything" produces new warnings from libc. Turn them off. +CFLAGS="$CFLAGS -Wno-used-but-marked-unused" +CXXFLAGS="$CXXFLAGS -Wno-used-but-marked-unused" + export EXTRA_CFLAGS="$CFLAGS" export EXTRA_CXXFLAGS="$CXXFLAGS" export EXTRA_LDFLAGS="$LDFLAGS" @@ -493,39 +628,90 @@ export EXTRA_LDFLAGS="$LDFLAGS" # suggested compile-time change doesn't work, unfortunately. export COMPlus_LTTng=0 -./prep.sh --no-bootstrap -VERBOSE=1 ./build.sh \ +# Escape commas in the vendor name +vendor=$(echo "%{?dist_vendor}%{!?dist_vendor:%_host_vendor}" | sed -E 's/,/%2c/') + +system_libs= +%if ! %{use_bundled_brotli} + system_libs=$system_libs+brotli+ +%endif +%if ! %{use_bundled_libunwind} + system_libs=$system_libs+libunwind+ +%endif +%if ! %{use_bundled_llvm_libunwind} + system_libs=$system_libs+llvmlibunwind+ +%endif +%if ! %{use_bundled_rapidjson} + system_libs=$system_libs+rapidjson+ +%endif +%if ! %{use_bundled_zlib} + system_libs=$system_libs+zlib+ +%endif + +%ifarch ppc64le s390x +max_attempts=3 +%else +max_attempts=1 +%endif + +function retry_until_success { + local exit_code=1 + local tries=$1 + shift + set +e + while [[ $exit_code != 0 ]] && [[ $tries != 0 ]]; do + (( tries = tries - 1 )) + "$@" + exit_code=$? + done + set -e + return $exit_code +} + + +cat >dotnet-rpm-build.sh < dotnet.sh + %install install -dm 0755 %{buildroot}%{_libdir}/dotnet -ls artifacts/%{runtime_arch}/Release +ls artifacts/assets/Release/ mkdir -p built-sdk -tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C built-sdk/ - -# Convert hardlinks to actual copies. This takes up quite a bit of -# extra disk space, but works around RHEL issues in post-rpmbuild tools -# when they encounter hardlinks. -cp -r --preserve=mode,ownership,timestamps built-sdk/* %{buildroot}%{_libdir}/dotnet/ -ls %{buildroot}%{_libdir}/dotnet +tar xf artifacts/assets/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/ # Delete bundled certificates: we want to use the system store only, # except for when we have no other choice and ca-certificates doesn't @@ -539,18 +725,21 @@ if [[ $(find %{buildroot}%{_libdir}/dotnet -name '*.pem' -print | wc -l) != 1 ]] fi # Install managed symbols -tar xf artifacts/%{runtime_arch}/Release/dotnet-symbols-sdk-%{sdk_version}*-%{runtime_id}.tar.gz \ +tar xf artifacts/assets/Release/dotnet-symbols-sdk-%{sdk_version}*-%{runtime_id}.tar.gz \ -C %{buildroot}%{_libdir}/dotnet/ find %{buildroot}%{_libdir}/dotnet/packs -iname '*.pdb' -delete # Fix executable permissions on files find %{buildroot}%{_libdir}/dotnet/ -type f -name 'apphost' -exec chmod +x {} \; +find %{buildroot}%{_libdir}/dotnet/ -type f -name 'ilc' -exec chmod +x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name 'singlefilehost' -exec chmod +x {} \; +find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.sh' -exec chmod +x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name 'lib*so' -exec chmod +x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.a' -exec chmod -x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.dll' -exec chmod -x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.h' -exec chmod 0644 {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.json' -exec chmod -x {} \; +find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.o' -exec chmod -x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.pdb' -exec chmod -x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.props' -exec chmod -x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.pubxml' -exec chmod -x {} \; @@ -561,13 +750,12 @@ find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.xml' -exec chmod -x {} \; install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/ install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/ -install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions -# dynamic completion needs the file to be named the same as the base command -install src/sdk/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet -# TODO: the zsh completion script needs to be ported to use #compdef -#install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions -#install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet +# Install dynamic completions +install -dm 0755 %{buildroot}/%{bash_completions_dir} +install src/sdk/scripts/register-completions.bash %{buildroot}/%{bash_completions_dir}/dotnet +install -dm 755 %{buildroot}/%{zsh_completions_dir} +install src/sdk/scripts/register-completions.zsh %{buildroot}/%{zsh_completions_dir}/_dotnet install -dm 0755 %{buildroot}%{_bindir} ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/ @@ -584,7 +772,7 @@ echo "%{_libdir}/dotnet" >> install_location_%{runtime_arch} install install_location_%{runtime_arch} %{buildroot}%{_sysconfdir}/dotnet/ install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts -install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ +install -m 0644 artifacts/assets/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ # Quick and dirty check for https://github.com/dotnet/source-build/issues/2731 @@ -606,11 +794,23 @@ find %{buildroot}%{_libdir}/dotnet/sdk -type f -and -not -name '*.pdb' | sed -E find %{buildroot}%{_libdir}/dotnet/sdk -type f -name '*.pdb' | sed -E 's|%{buildroot}||' > dotnet-sdk-dbg-files + %check +%if 0%{?fedora} > 35 +# lttng in Fedora > 35 is incompatible with .NET +export COMPlus_LTTng=0 +%endif + %{buildroot}%{_libdir}/dotnet/dotnet --info %{buildroot}%{_libdir}/dotnet/dotnet --version + +%if ( 0%{?fedora} && 0%{?fedora} < 38 ) || ( 0%{?rhel} && 0%{?rhel} < 9 ) +%files -n dotnet +# empty package useful for dependencies +%endif + %files -n dotnet-host %dir %{_libdir}/dotnet %{_libdir}/dotnet/dotnet @@ -624,12 +824,15 @@ find %{buildroot}%{_libdir}/dotnet/sdk -type f -name '*.pdb' | sed -E 's|%{buil %config(noreplace) %{_sysconfdir}/profile.d/dotnet.sh %config(noreplace) %{_sysconfdir}/dotnet %dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions +%dir %{bash_completions_dir} %{_datadir}/bash-completion/completions/dotnet +%dir %{_datadir}/zsh +%dir %{zsh_completions_dir} +%{_datadir}/zsh/site-functions/_dotnet %files -n dotnet-hostfxr-%{dotnetver} %dir %{_libdir}/dotnet/host/fxr -%{_libdir}/dotnet/host/fxr/%{host_version} +%{_libdir}/dotnet/host/fxr/%{hostfxr_version} %files -n dotnet-runtime-%{dotnetver} -f dotnet-runtime-non-dbg-files %dir %{_libdir}/dotnet/shared @@ -653,21 +856,503 @@ find %{buildroot}%{_libdir}/dotnet/sdk -type f -name '*.pdb' | sed -E 's|%{buil %dir %{_libdir}/dotnet/sdk %dir %{_libdir}/dotnet/sdk-manifests %{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version}* +# FIXME is using a 8.0.100 version a bug in the SDK? +%{_libdir}/dotnet/sdk-manifests/8.0.100/ %{_libdir}/dotnet/metadata +%ifnarch %{mono_archs} +%{_libdir}/dotnet/library-packs +%endif %dir %{_libdir}/dotnet/packs +%dir %{_libdir}/dotnet/packs/Microsoft.AspNetCore.App.Runtime.%{runtime_id} %{_libdir}/dotnet/packs/Microsoft.AspNetCore.App.Runtime.%{runtime_id}/%{aspnetcore_runtime_version} +%dir %{_libdir}/dotnet/packs/Microsoft.NETCore.App.Runtime.%{runtime_id} %{_libdir}/dotnet/packs/Microsoft.NETCore.App.Runtime.%{runtime_id}/%{runtime_version} %files -n dotnet-sdk-dbg-%{dotnetver} -f dotnet-sdk-dbg-files +%ifnarch %{mono_archs} +%files -n dotnet-sdk-aot-%{dotnetver} +%dir %{_libdir}/dotnet/packs +%dir %{_libdir}/dotnet/packs/runtime.%{runtime_id}.Microsoft.DotNet.ILCompiler/ +%{_libdir}/dotnet/packs/runtime.%{runtime_id}.Microsoft.DotNet.ILCompiler/%{runtime_version} +%endif + %files -n dotnet-sdk-%{dotnetver}-source-built-artifacts %dir %{_libdir}/dotnet %{_libdir}/dotnet/source-built-artifacts %changelog -* Thu Sep 12 2024 WangKui - 8.0.104-1.0.2 -- fix Razor compile failed issue +* Tue Aug 12 2025 Darren Archibald - 9.0.109-1.0.1 +- Add support for Oracle Linux + +* Thu Jul 31 2025 Omair Majid - 9.0.109-1 +- Update to .NET SDK 9.0.109 and Runtime 9.0.8 +- Resolves: RHEL-106726 + +* Tue Jul 08 2025 Omair Majid - 9.0.108-2 +- Update to .NET SDK 9.0.108 and Runtime 9.0.7 +- Resolves: RHEL-100598 + +* Wed Jun 11 2025 Omair Majid - 9.0.107-2 +- Update to .NET SDK 9.0.107 and Runtime 9.0.6 +- Resolves: RHEL-94422 + +* Tue May 13 2025 Omair Majid - 9.0.106-2 +- Update to .NET SDK 9.0.106 and Runtime 9.0.5 +- Resolves: RHEL-89451 + +* Wed Apr 09 2025 Omair Majid - 9.0.105-2 +- Update to .NET SDK 9.0.105 and Runtime 9.0.4 +- Resolves: RHEL-85279 + +* Tue Mar 11 2025 Omair Majid - 9.0.104-2 +- Update to .NET SDK 9.0.104 and Runtime 9.0.3 +- Resolves: RHEL-81645 + +* Mon Feb 17 2025 Omair Majid - 9.0.103-2 +- Update to .NET SDK 9.0.103 and Runtime 9.0.2 +- Resolves: RHEL-76903 + +* Thu Jan 16 2025 Omair Majid - 9.0.102-2 +- Update to .NET SDK 9.0.102 and Runtime 9.0.1 +- Resolves: RHEL-71551 + +* Thu Dec 05 2024 Omair Majid - 9.0.101-3 +- Update to .NET SDK 9.0.101 and Runtime 9.0.0 +- Resolves: RHEL-69750 + +* Wed Nov 20 2024 Omair Majid - 9.0.100-0.9 +- Update to .NET SDK 9.0.100 and Runtime 9.0.0 +- Resolves: RHEL-65536 + +* Mon Oct 28 2024 Omair Majid - 9.0.100~rc.2.24474.1-0.7 +- Disable bootstrap +- Related: RHEL-62768 + +* Thu Oct 24 2024 Omair Majid - 9.0.100~rc.2.24474.1-0.6 +- Rebootstrap +- Related: RHEL-62768 + +* Thu Oct 17 2024 Omair Majid - 9.0.100~rc.2.24474.1-0.5 +- Add missing runtime dependencies to -aot- subpackage +- Related: RHEL-62768 + +* Tue Oct 15 2024 Omair Majid - 9.0.100~rc.2.24474.1-0.4 +- Update to .NET SDK 9.0.100-rc.2.24474.1 and Runtime 9.0.0-rc.2.24473.5 +- Resolves: RHEL-62768 + +* Wed Sep 11 2024 Omair Majid - 9.0.100~rc.1.24452.12-0.3 +- Update to .NET SDK 9.0.100-rc.1.24452.12 and Runtime 9.0.0-rc.1.24431.7 +- Resolves: RHEL-59037 + +* Sun Aug 18 2024 Omair Majid - 9.0.100~preview.7.24407.1-0.2 +- Disable bootstrap +- Related: RHEL-46701 + +* Thu Aug 15 2024 Omair Majid - 9.0.100~preview.7.24407.1-0.1 +- Update to .NET SDK 9 preview 7 and Runtime 9 preview 7 +- Resolves: RHEL-46701 + +* Thu Jun 13 2024 Omair Majid - 9.0.100~preview.5.24307.3-0.9 +- Update to .NET SDK 9.0.100-preview.5.24307.3 and Runtime + 9.0.0-preview.5.24306.7 + +* Tue May 21 2024 Omair Majid - 9.0.100~preview.4.24267.1-0.8 +- Update to .NET SDK 9.0.100-preview.4.24267.1 and Runtime + 9.0.0-preview.4.24266.19 + +* Thu Apr 11 2024 Omair Majid - 9.0.100~preview.3.24204.13-0.6 +- Update to .NET SDK 9.0.100-preview.3.24204.13 and Runtime + 9.0.0-preview.3.24172.9 + +* Thu Mar 14 2024 Omair Majid - 9.0.100~preview.2.24157.14-0.4 +- Update to .NET SDK 9.0.100~preview.2.24158.1 and Runtime + 9.0.0-preview.2.24128.5 + +* Mon Feb 26 2024 Omair Majid - 9.0.100~preview.1.24101.1-0.3 +- Update to .NET SDK 9.0.100-preview.1.24101.1 and Runtime + 9.0.0-preview.1.24080.9 + +* Wed Feb 14 2024 Omair Majid - 8.0.102-1 +- Update to .NET SDK 8.0.102 and Runtime 8.0.2 + +* Fri Jan 26 2024 Omair Majid - 8.0.101-4 +- Rebuild to add new -dbg subpackages + +* Wed Jan 24 2024 Fedora Release Engineering - 8.0.101-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 8.0.101-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 09 2024 Omair Majid - 8.0.101-1 +- Update to .NET SDK 8.0.101 and Runtime 8.0.1 + +* Tue Dec 12 2023 Omair Majid - 8.0.100-2 +- Enable gpg signature verification + +* Sat Dec 09 2023 Omair Majid - 8.0.100-1 +- Update to .NET SDK 8.0.100 and Runtime 8.0.0 + +* Fri Dec 08 2023 Omair Majid - 8.0.100~rc.2-0.1 +- Update to .NET SDK 8.0.100 RC 2 and Runtime 8.0.0 RC 2 + +* Fri Dec 08 2023 Omair Majid - 8.0.100~rc.1-0.2 +- Add various fixes from CentOS Stream 9 + +* Fri Sep 15 2023 Omair Majid - 8.0.100~rc.1-0.1 +- Update to .NET SDK 8.0.100 RC 1 and Runtime 8.0.0 RC 1 + +* Fri Aug 11 2023 Omair Majid - 8.0.100~preview.7-0.1 +- Update to .NET SDK 8.0.100 Preview 7 and Runtime 8.0.0 Preview 7 + +* Tue Jul 18 2023 Omair Majid - 8.0.100~preview.6-0.2 +- Remove lttng and other tracing-specific dependencies from the runtime package + +* Mon Jul 17 2023 Omair Majid - 8.0.100~preview.6-0.1 +- Update to .NET SDK 8.0.100 Preview 6 and Runtime 8.0.0 Preview 6 + +* Fri Jun 23 2023 Omair Majid - 8.0.100~preview.5-0.2 +- Fix release.json and sourcelink references + +* Mon Jun 19 2023 Omair Majid - 8.0.100~preview.5-0.1 +- Update to .NET SDK 8.0.100 Preview 5 and Runtime 8.0.0 Preview 5 + +* Wed Apr 12 2023 Omair Majid - 8.0.100~preview.3-0.1 +- Update to .NET SDK 8.0.100 Preview 3 and Runtime 8.0.0 Preview 3 + +* Wed Mar 15 2023 Omair Majid - 8.0.100~preview.2-0.1 +- Update to .NET SDK 8.0.100 Preview 2 and Runtime 8.0.0 Preview 2 + +* Wed Feb 22 2023 Omair Majid - 8.0.100~preview.1-0.1 +- Update to .NET SDK 8.0.100 Preview 1 and Runtime 8.0.0 Preview 1 + +* Thu Jan 12 2023 Omair Majid - 7.0.102-1 +- Update to .NET SDK 7.0.102 and Runtime 7.0.2 + +* Wed Jan 11 2023 Omair Majid - 7.0.101-1 +- Update to .NET SDK 7.0.101 and Runtime 7.0.1 + +* Tue Jan 10 2023 Omair Majid - 7.0.100-1 +- Update to .NET SDK 7.0.100 and Runtime 7.0.0 + +* Thu Nov 10 2022 Omair Majid - 7.0.100-0.1 +- Update to .NET 7 RC 2 + +* Wed May 11 2022 Omair Majid - 6.0.105-1 +- Update to .NET SDK 6.0.105 and Runtime 6.0.5 + +* Tue Apr 12 2022 Omair Majid - 6.0.104-1 +- Update to .NET SDK 6.0.104 and Runtime 6.0.4 + +* Thu Mar 10 2022 Omair Majid - 6.0.103-1 +- Update to .NET SDK 6.0.103 and Runtime 6.0.3 + +* Mon Feb 14 2022 Omair Majid - 6.0.102-1 +- Update to .NET SDK 6.0.102 and Runtime 6.0.2 + +* Fri Jan 28 2022 Omair Majid - 6.0.101-3 +- Update to .NET SDK 6.0.101 and Runtime 6.0.1 + +* Thu Jan 20 2022 Fedora Release Engineering - 6.0.100-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 20 2021 Omair Majid - 6.0.100-2 +- Disable bootstrap + +* Sun Dec 19 2021 Omair Majid - 6.0.100-1 +- Update to .NET 6 + +* Fri Oct 22 2021 Omair Majid - 6.0.0-0.7.rc2 +- Update to .NET 6 RC2 + +* Fri Oct 08 2021 Omair Majid - 6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718 +- Enable building on arm64 +- Related: RHBZ#1986017 + +* Sun Oct 03 2021 Omair Majid - 6.0.0-0.5.28be3e9a006d90d8c6e87d4353b77882829df718 +- Enable building on s390x +- Related: RHBZ#1986017 + +* Sun Oct 03 2021 Omair Majid - 6.0.0-0.4.28be3e9a006d90d8c6e87d4353b77882829df718 +- Clean up tarball and add initial support for s390x +- Related: RHBZ#1986017 + +* Sun Sep 26 2021 Omair Majid - 6.0.0-0.3.28be3e9a006d90d8c6e87d4353b77882829df718 +- Update to work-in-progress RC2 release + +* Wed Aug 25 2021 Omair Majid - 6.0.0-0.2.preview6 +- Updated to build the latest source-build preview + +* Fri Jul 23 2021 Omair Majid - 6.0.0-0.1.preview6 +- Initial package for .NET 6 + +* Thu Jun 10 2021 Omair Majid - 5.0.204-1 +- Update to .NET SDK 5.0.204 and Runtime 5.0.7 + +* Wed May 12 2021 Omair Majid - 5.0.203-1 +- Update to .NET SDK 5.0.203 and Runtime 5.0.6 + +* Wed Apr 14 2021 Omair Majid - 5.0.202-1 +- Update to .NET SDK 5.0.202 and Runtime 5.0.5 + +* Tue Apr 06 2021 Omair Majid - 5.0.104-2 +- Mark files under /etc/ as config(noreplace) +- Add an rpm-inspect configuration file +- Add an rpmlintrc file +- Enable gating for release branches and ELN too + +* Tue Mar 16 2021 Omair Majid - 5.0.104-1 +- Update to .NET SDK 5.0.104 and Runtime 5.0.4 +- Drop unneeded/upstreamed patches + +* Wed Feb 17 2021 Omair Majid - 5.0.103-2 +- Add Fedora 35 RIDs + +* Thu Feb 11 2021 Omair Majid - 5.0.103-1 +- Update to .NET SDK 5.0.103 and Runtime 5.0.3 + +* Fri Jan 29 2021 Omair Majid - 5.0.102-2 +- Disable bootstrap + +* Fri Dec 18 2020 Omair Majid - 5.0.100-2 +- Update to .NET Core Runtime 5.0.0 and SDK 5.0.100 commit 9c4e5de + +* Fri Dec 04 2020 Omair Majid - 5.0.100-1 +- Update to .NET Core Runtime 5.0.0 and SDK 5.0.100 + +* Thu Dec 03 2020 Omair Majid - 5.0.100-0.4.20201202git337413b +- Update to latest 5.0 pre-GA commit + +* Tue Nov 24 2020 Omair Majid - 5.0.100-0.4.20201123gitdee899c +- Update to 5.0 pre-GA commit + +* Mon Sep 14 2020 Omair Majid - 5.0.100-0.3.preview8 +- Update to Preview 8 + +* Fri Jul 10 2020 Omair Majid - 5.0.100-0.2.preview4 +- Fix building with custom CFLAGS/CXXFLAGS/LDFLAGS +- Clean up patches + +* Mon Jul 06 2020 Omair Majid - 5.0.100-0.1.preview4 +- Initial build + +* Sat Jun 27 2020 Omair Majid - 3.1.105-4 +- Disable bootstrap + +* Fri Jun 26 2020 Omair Majid - 3.1.105-3 +- Re-bootstrap aarch64 + +* Fri Jun 19 2020 Omair Majid - 3.1.105-3 +- Disable bootstrap + +* Thu Jun 18 2020 Omair Majid - 3.1.105-1 +- Bootstrap aarch64 + +* Tue Jun 16 2020 Chris Rummel - 3.1.105-1 +- Update to .NET Core Runtime 3.1.5 and SDK 3.1.105 + +* Fri Jun 05 2020 Chris Rummel - 3.1.104-1 +- Update to .NET Core Runtime 3.1.4 and SDK 3.1.104 + +* Thu Apr 09 2020 Chris Rummel - 3.1.103-1 +- Update to .NET Core Runtime 3.1.3 and SDK 3.1.103 + +* Mon Mar 16 2020 Omair Majid - 3.1.102-1 +- Update to .NET Core Runtime 3.1.2 and SDK 3.1.102 + +* Fri Feb 28 2020 Omair Majid - 3.1.101-4 +- Disable bootstrap + +* Fri Feb 28 2020 Omair Majid - 3.1.101-3 +- Enable bootstrap +- Add Fedora 33 runtime ids + +* Thu Feb 27 2020 Omair Majid - 3.1.101-2 +- Disable bootstrap + +* Tue Jan 21 2020 Omair Majid - 3.1.101-1 +- Update to .NET Core Runtime 3.1.1 and SDK 3.1.101 + +* Thu Dec 05 2019 Omair Majid - 3.1.100-1 +- Update to .NET Core Runtime 3.1.0 and SDK 3.1.100 + +* Mon Nov 18 2019 Omair Majid - 3.1.100-0.4.preview3 +- Fix apphost permissions + +* Fri Nov 15 2019 Omair Majid - 3.1.100-0.3.preview3 +- Update to .NET Core Runtime 3.1.0-preview3.19553.2 and SDK + 3.1.100-preview3-014645 + +* Wed Nov 06 2019 Omair Majid - 3.1.100-0.2 +- Update to .NET Core 3.1 Preview 2 + +* Wed Oct 30 2019 Omair Majid - 3.1.100-0.1 +- Update to .NET Core 3.1 Preview 1 + +* Thu Oct 24 2019 Omair Majid - 3.0.100-5 +- Add cgroupv2 support to .NET Core + +* Wed Oct 16 2019 Omair Majid - 3.0.100-4 +- Include fix from coreclr for building on Fedora 32 + +* Wed Oct 16 2019 Omair Majid - 3.0.100-3 +- Harden built binaries to pass annocheck + +* Fri Oct 11 2019 Omair Majid - 3.0.100-2 +- Export DOTNET_ROOT in profile to make apphost lookup work + +* Fri Sep 27 2019 Omair Majid - 3.0.100-1 +- Update to .NET Core Runtime 3.0.0 and SDK 3.0.100 + +* Wed Sep 25 2019 Omair Majid - 3.0.100-0.18.rc1 +- Update to .NET Core Runtime 3.0.0-rc1-19456-20 and SDK 3.0.100-rc1-014190 + +* Tue Sep 17 2019 Omair Majid - 3.0.100-0.16.preview9 +- Fix files duplicated between dotnet-apphost-pack-3.0 and dotnet-targeting-pack-3.0 +- Fix dependencies between .NET SDK and the targeting packs + +* Mon Sep 16 2019 Omair Majid - 3.0.100-0.15.preview9 +- Update to .NET Core Runtime 3.0.0-preview 9 and SDK 3.0.100-preview9 + +* Mon Aug 19 2019 Omair Majid - 3.0.100-0.11.preview8 +- Update to .NET Core Runtime 3.0.0-preview8-28405-07 and SDK + 3.0.100-preview8-013656 + +* Tue Jul 30 2019 Omair Majid - 3.0.100-0.9.preview7 +- Update to .NET Core Runtime 3.0.0-preview7-27912-14 and SDK + 3.0.100-preview7-012821 + +* Fri Jul 26 2019 Omair Majid - 3.0.100-0.8.preview7 +- Update to .NET Core Runtime 3.0.0-preview7-27902-19 and SDK + 3.0.100-preview7-012802 + +* Wed Jun 26 2019 Omair Majid - 3.0.0-0.7.preview6 +- Obsolete dotnet-sdk-3.0.1xx +- Add supackages for targeting packs +- Add -fcf-protection to CFLAGS + +* Wed Jun 26 2019 Omair Majid - 3.0.0-0.6.preview6 +- Update to .NET Core Runtime 3.0.0-preview6-27804-01 and SDK 3.0.100-preview6-012264 +- Set dotnet installation location in /etc/dotnet/install_location +- Update targeting packs +- Install managed symbols +- Completely conditionalize libunwind bundling + +* Tue May 07 2019 Omair Majid - 3.0.0-0.3.preview4 +- Update to .NET Core 3.0 preview 4 + +* Tue Dec 18 2018 Omair Majid - 3.0.0-0.1.preview1 +- Update to .NET Core 3.0 preview 1 + +* Fri Dec 07 2018 Omair Majid - 2.2.100 +- Update to .NET Core 2.2.0 + +* Wed Nov 07 2018 Omair Majid - 2.2.100-0.2.preview3 +- Update to .NET Core 2.2.0-preview3 + +* Fri Nov 02 2018 Omair Majid - 2.1.403-3 +- Add host-fxr-2.1 subpackage + +* Mon Oct 15 2018 Omair Majid - 2.1.403-2 +- Disable telemetry by default +- Users have to manually export DOTNET_CLI_TELEMETRY_OPTOUT=0 to enable + +* Tue Oct 02 2018 Omair Majid - 2.1.403-1 +- Update to .NET Core Runtime 2.1.5 and SDK 2.1.403 + +* Wed Sep 26 2018 Omair Majid - 2.1.402-2 +- Add ~/.dotnet/tools to $PATH to make it easier to use dotnet tools + +* Thu Sep 13 2018 Omair Majid - 2.1.402-1 +- Update to .NET Core Runtime 2.1.4 and SDK 2.1.402 + +* Wed Sep 05 2018 Omair Majid - 2.1.401-2 +- Use distro-standard flags when building .NET Core + +* Tue Aug 21 2018 Omair Majid - 2.1.401-1 +- Update to .NET Core Runtime 2.1.3 and SDK 2.1.401 + +* Mon Aug 20 2018 Omair Majid - 2.1.302-1 +- Update to .NET Core Runtime 2.1.2 and SDK 2.1.302 + +* Fri Jul 20 2018 Omair Majid - 2.1.301-1 +- Update to .NET Core 2.1 + +* Thu May 03 2018 Omair Majid - 2.0.7-1 +- Update to .NET Core 2.0.7 + +* Wed Mar 28 2018 Omair Majid - 2.0.6-2 +- Enable bash completion for dotnet +- Remove redundant buildrequires and requires + +* Wed Mar 14 2018 Omair Majid - 2.0.6-1 +- Update to .NET Core 2.0.6 + +* Fri Feb 23 2018 Omair Majid - 2.0.5-1 +- Update to .NET Core 2.0.5 + +* Wed Jan 24 2018 Omair Majid - 2.0.3-5 +- Don't apply corefx clang warnings fix on clang < 5 + +* Fri Jan 19 2018 Omair Majid - 2.0.3-4 +- Add a test script to sanity check debug and symbol info. +- Build with clang 5.0 +- Make main package real instead of using a virtual provides (see RHBZ 1519325) + +* Wed Nov 29 2017 Omair Majid - 2.0.3-3 +- Add a Provides for 'dotnet' +- Fix conditional macro + +* Tue Nov 28 2017 Omair Majid - 2.0.3-2 +- Fix build on Fedora 27 + +* Fri Nov 17 2017 Omair Majid - 2.0.3-1 +- Update to .NET Core 2.0.3 + +* Thu Oct 19 2017 Omair Majid - 2.0.0-4 +- Add a hack to let omnisharp work + +* Wed Aug 30 2017 Omair Majid - 2.0.0-3 +- Add a patch for building coreclr and core-setup correctly on Fedora >= 27 + +* Fri Aug 25 2017 Omair Majid - 2.0.0-2 +- Move libicu/libcurl/libunwind requires to runtime package +- Make sdk depend on the exact version of the runtime package + +* Thu Aug 24 2017 Omair Majid - 2.0.0-1 +- Update to 2.0.0 final release + +* Wed Jul 26 2017 Omair Majid - 2.0.0-0.3.preview2 +- Add man pages + +* Tue Jul 25 2017 Omair Majid - 2.0.0-0.2.preview2 +- Add Requires on libicu +- Split into multiple packages +- Do not repeat first-run message + +* Fri Jul 21 2017 Omair Majid - 2.0.0-0.1.preview2 +- Update to .NET Core 2.0 Preview 2 -* Wed Jul 31 2024 WangKui - 8.0.104-1.0.1 -- Support openEuler +* Thu Mar 16 2017 Nemanja Milošević - 1.1.0-7 +- rebuilt with latest libldb +* Wed Feb 22 2017 Nemanja Milosevic - 1.1.0-6 +- compat-openssl 1.0 for F26 for now +* Sun Feb 19 2017 Nemanja Milosevic - 1.1.0-5 +- Fix wrong commit id's +* Sat Feb 18 2017 Nemanja Milosevic - 1.1.0-4 +- Use commit id's instead of branch names +* Sat Feb 18 2017 Nemanja Milosevic - 1.1.0-3 +- Improper patch5 fix +* Sat Feb 18 2017 Nemanja Milosevic - 1.1.0-2 +- SPEC cleanup +- git removal (using all tarballs for reproducible builds) +- more reasonable versioning +* Thu Feb 09 2017 Nemanja Milosevic - 1.1.0-1 +- Fixed debuginfo going to separate package (Patch1) +- Added F25/F26 RIL and fixed the version info (Patch2) +- Added F25/F26 RIL in Microsoft.NETCore.App suported runtime graph (Patch3) +- SPEC file cleanup +* Wed Jan 11 2017 Nemanja Milosevic - 1.1.0-0 +- Initial RPM for Fedora 25/26. diff --git a/msbuild-9449-exec-stop-setting-a-locale.patch b/msbuild-9449-exec-stop-setting-a-locale.patch deleted file mode 100644 index 0cd464218f023df0a9cc32c46994fb3442e6b667..0000000000000000000000000000000000000000 --- a/msbuild-9449-exec-stop-setting-a-locale.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 68fa6537305beda5cb059c898349f37bda285ca7 Mon Sep 17 00:00:00 2001 -From: Tom Deseyn -Date: Thu, 1 Feb 2024 09:23:16 +0100 -Subject: [PATCH 1/1] Exec: stop setting a locale on Unix. - -This backports a fix that is part of Microsoft's upcoming -8.0.2xx SDK to the 8.0.1xx SDK that we package. - -This fix stops MSBuild Exec from printing warnings and/or -failing in bash envionments where the glibc en_US locale -is not available (which is common in container images). - -The backport includes the changewave opt-out that allows -users to revert back to the previous behavior by setting -the MSBUILDDISABLEFEATURESFROMVERSION envvar to the -version where the feature is introduced ("17.10"). ---- - src/msbuild/src/Framework/ChangeWaves.cs | 3 +- - src/msbuild/src/Tasks.UnitTests/Exec_Tests.cs | 36 +++++++++++++++++++ - src/msbuild/src/Tasks/Exec.cs | 7 +++- - 3 files changed, 44 insertions(+), 2 deletions(-) - -diff --git a/src/msbuild/src/Framework/ChangeWaves.cs b/src/msbuild/src/Framework/ChangeWaves.cs -index 0050723798..1f925324ac 100644 ---- a/src/msbuild/src/Framework/ChangeWaves.cs -+++ b/src/msbuild/src/Framework/ChangeWaves.cs -@@ -27,7 +27,8 @@ namespace Microsoft.Build.Framework - internal static readonly Version Wave17_4 = new Version(17, 4); - internal static readonly Version Wave17_6 = new Version(17, 6); - internal static readonly Version Wave17_8 = new Version(17, 8); -- internal static readonly Version[] AllWaves = { Wave17_4, Wave17_6, Wave17_8 }; -+ internal static readonly Version Wave17_10 = new Version(17, 10); -+ internal static readonly Version[] AllWaves = { Wave17_4, Wave17_6, Wave17_8, Wave17_10 }; - - /// - /// Special value indicating that all features behind all Change Waves should be enabled. -diff --git a/src/msbuild/src/Tasks.UnitTests/Exec_Tests.cs b/src/msbuild/src/Tasks.UnitTests/Exec_Tests.cs -index cb468a6cce..c0598e4978 100644 ---- a/src/msbuild/src/Tasks.UnitTests/Exec_Tests.cs -+++ b/src/msbuild/src/Tasks.UnitTests/Exec_Tests.cs -@@ -69,6 +69,42 @@ namespace Microsoft.Build.UnitTests - } - } - -+ [UnixOnlyTheory] -+ [InlineData(true)] -+ [InlineData(false)] -+ public void ExecSetsLocaleOnUnix(bool enableChangeWave) -+ { -+ using (var env = TestEnvironment.Create()) -+ { -+ env.SetEnvironmentVariable("LANG", null); -+ env.SetEnvironmentVariable("LC_ALL", null); -+ -+ if (enableChangeWave) -+ { -+ ChangeWaves.ResetStateForTests(); -+ // Important: use the version here -+ env.SetEnvironmentVariable("MSBUILDDISABLEFEATURESFROMVERSION", ChangeWaves.Wave17_10.ToString()); -+ BuildEnvironmentHelper.ResetInstance_ForUnitTestsOnly(); -+ } -+ -+ Exec exec = PrepareExec("echo LANG=$LANG; echo LC_ALL=$LC_ALL;"); -+ bool result = exec.Execute(); -+ Assert.True(result); -+ -+ MockEngine engine = (MockEngine)exec.BuildEngine; -+ if (enableChangeWave) -+ { -+ engine.AssertLogContains("LANG=en_US.UTF-8"); -+ engine.AssertLogContains("LC_ALL=en_US.UTF-8"); -+ } -+ else -+ { -+ engine.AssertLogDoesntContain("LANG=en_US.UTF-8"); -+ engine.AssertLogDoesntContain("LC_ALL=en_US.UTF-8"); -+ } -+ } -+ } -+ - /// - /// Ensures that calling the Exec task does not leave any extra TEMP files - /// lying around. -diff --git a/src/msbuild/src/Tasks/Exec.cs b/src/msbuild/src/Tasks/Exec.cs -index dbf4be1fc5..9faaa68887 100644 ---- a/src/msbuild/src/Tasks/Exec.cs -+++ b/src/msbuild/src/Tasks/Exec.cs -@@ -591,7 +591,12 @@ namespace Microsoft.Build.Tasks - { - commandLine.AppendSwitch("-c"); - commandLine.AppendTextUnquoted(" \""); -- commandLine.AppendTextUnquoted("export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; . "); -+ bool setLocale = !ChangeWaves.AreFeaturesEnabled(ChangeWaves.Wave17_10); -+ if (setLocale) -+ { -+ commandLine.AppendTextUnquoted("export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; "); -+ } -+ commandLine.AppendTextUnquoted(". "); - commandLine.AppendFileNameIfNotNull(batchFileForCommandLine); - commandLine.AppendTextUnquoted("\""); - } --- -2.43.0 - diff --git a/openEuler-dotnet-8.patch b/openEuler-dotnet-8.patch deleted file mode 100644 index bd074fb58baf37aed85184c93e07a2e0b9478b61..0000000000000000000000000000000000000000 --- a/openEuler-dotnet-8.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/eng/Versions.props b/eng/Versions.props -index dbd2565..b395082 100644 ---- a/eng/Versions.props -+++ b/eng/Versions.props -@@ -30,7 +30,7 @@ - These URLs can't be composed from their base URL and version as we read them from the - prep.sh and pipeline scripts, outside of MSBuild. - --> -- https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.8.0.103-servicing.24117.1.centos.8-x64.tar.gz -+ https://repo.oepkgs.net/openEuler/rpm/extras-tgz/dotnet/Private.SourceBuilt.Artifacts.8.0.103-servicing.24117.1.openeuler.22.tar.gz - https://dotnetcli.azureedge.net/source-built-artifacts/sdks/dotnet-sdk-8.0.103-centos.8-x64.tar.gz - - -diff --git a/eng/common/tools.sh b/eng/common/tools.sh -index 3392e3a..6ee20ab 100755 ---- a/eng/common/tools.sh -+++ b/eng/common/tools.sh -@@ -297,7 +297,7 @@ function with_retries { - function GetDotNetInstallScript { - local root=$1 - local install_script="$root/dotnet-install.sh" -- local install_script_url="https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" -+ local install_script_url="https://repo.oepkgs.net/openEuler/rpm/extras-tgz/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" - - if [[ ! -a "$install_script" ]]; then - mkdir -p "$root" diff --git a/openEuler-runtime-8.patch b/openEuler-runtime-8.patch deleted file mode 100644 index bb2ffd29e1d2adba479aba1b0bc6353e589b70d8..0000000000000000000000000000000000000000 --- a/openEuler-runtime-8.patch +++ /dev/null @@ -1,508 +0,0 @@ -diff --git a/Directory.Build.props b/Directory.Build.props -index 3c8246c8967..b753c25896b 100644 ---- a/Directory.Build.props -+++ b/Directory.Build.props -@@ -3,6 +3,7 @@ - - false -+ true - -diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json -index 085cb7b518f..c61db5ef70d 100644 ---- a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json -+++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json -@@ -1,4 +1,223 @@ - { -+ "openEuler": [ -+ "openEuler", -+ "linux", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler-arm64": [ -+ "openEuler-arm64", -+ "openEuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler-x64": [ -+ "openEuler-x64", -+ "openEuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.22.03-x64": [ -+ "openEuler.22.03-x64", -+ "openEuler.22.03", -+ "openEuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.22.03-arm64": [ -+ "openEuler.22.03-arm64", -+ "openEuler.22.03", -+ "openEuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.22-x64": [ -+ "openEuler.22.03-x64", -+ "openEuler.22.03", -+ "openEuler.22-x64", -+ "openEuler.22", -+ "openEuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.22-arm64": [ -+ "openEuler.22.03-arm64", -+ "openEuler.22.03", -+ "openEuler.22-arm64", -+ "openEuler.22", -+ "openEuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.22.03-x64": [ -+ "openeuler.22.03-x64", -+ "openeuler.22.03", -+ "openeuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.22.03-arm64": [ -+ "openeuler.22.03-arm64", -+ "openeuler.22.03", -+ "openeuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.22-x64": [ -+ "openeuler.22.03-x64", -+ "openeuler.22.03", -+ "openeuler.22-x64", -+ "openeuler.22", -+ "openeuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.22-arm64": [ -+ "openeuler.22.03-arm64", -+ "openeuler.22.03", -+ "openeuler.22-arm64", -+ "openeuler.22", -+ "openeuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.20.03-x64": [ -+ "openEuler.20.03-x64", -+ "openEuler.20.03", -+ "openEuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.20.03-arm64": [ -+ "openEuler.20.03-arm64", -+ "openEuler.20.03", -+ "openEuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.20-x64": [ -+ "openEuler.20.03-x64", -+ "openEuler.20.03", -+ "openEuler.20-x64", -+ "openEuler.20", -+ "openEuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openEuler.20-arm64": [ -+ "openEuler.20.03-arm64", -+ "openEuler.20.03", -+ "openEuler.20-arm64", -+ "openEuler.20", -+ "openEuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.20.03-x64": [ -+ "openeuler.20.03-x64", -+ "openeuler.20.03", -+ "openeuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.20.03-arm64": [ -+ "openeuler.20.03-arm64", -+ "openeuler.20.03", -+ "openeuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.20-x64": [ -+ "openeuler.20.03-x64", -+ "openeuler.20.03", -+ "openeuler.20-x64", -+ "openeuler.20", -+ "openeuler", -+ "linux-x64", -+ "linux", -+ "unix-x64", -+ "unix", -+ "any", -+ "base" -+ ], -+ "openeuler.20-arm64": [ -+ "openeuler.20.03-arm64", -+ "openeuler.20.03", -+ "openeuler.20-arm64", -+ "openeuler.20", -+ "openeuler", -+ "linux-arm64", -+ "linux", -+ "unix-arm64", -+ "unix", -+ "any", -+ "base" -+ ], - "alpine": [ - "alpine", - "linux-musl", -diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json -index 16c038598af..a4eb8d2705c 100644 ---- a/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json -+++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json -@@ -1,5 +1,209 @@ - { - "runtimes": { -+ "openEuler.22.03": { -+ "#import": [ -+ "linux", -+ "openEuler", -+ "openEuler.22.03" -+ ] -+ }, -+ "openEuler.22.03-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openEuler", -+ "openEuler.22.03", -+ "openEuler.22.03-arm64" -+ ] -+ }, -+ "openEuler.22.03-x64": { -+ "#import": [ -+ "linux-x64", -+ "openEuler", -+ "openEuler.22.03", -+ "openEuler.22.03-x64" -+ ] -+ }, -+ "openEuler.22": { -+ "#import": [ -+ "linux", -+ "openEuler", -+ "openEuler.22.03", -+ "openEuler.22" -+ ] -+ }, -+ "openEuler.22-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openEuler", -+ "openEuler.22", -+ "openEuler.22-arm64", -+ "openEuler.22.03", -+ "openEuler.22.03-x64" -+ ] -+ }, -+ "openEuler.22-x64": { -+ "#import": [ -+ "linux-x64", -+ "openEuler", -+ "openEuler.22", -+ "openEuler.22-x64", -+ "openEuler.22.03", -+ "openEuler.22.03-x64" -+ ] -+ }, -+ "openeuler.22.03": { -+ "#import": [ -+ "linux", -+ "openeuler", -+ "openeuler.22.03" -+ ] -+ }, -+ "openeuler.22.03-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openeuler", -+ "openeuler.22.03", -+ "openeuler.22.03-arm64" -+ ] -+ }, -+ "openeuler.22.03-x64": { -+ "#import": [ -+ "linux-x64", -+ "openeuler", -+ "openeuler.22.03", -+ "openeuler.22.03-x64" -+ ] -+ }, -+ "openeuler.22": { -+ "#import": [ -+ "linux", -+ "openeuler", -+ "openeuler.22.03", -+ "openeuler.22" -+ ] -+ }, -+ "openeuler.22-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openeuler", -+ "openeuler.22", -+ "openeuler.22-arm64", -+ "openeuler.22.03", -+ "openeuler.22.03-x64" -+ ] -+ }, -+ "openeuler.22-x64": { -+ "#import": [ -+ "linux-x64", -+ "openeuler", -+ "openeuler.22", -+ "openeuler.22-x64", -+ "openeuler.22.03", -+ "openeuler.22.03-x64" -+ ] -+ }, -+ "openEuler.20.03": { -+ "#import": [ -+ "linux", -+ "openEuler", -+ "openEuler.20.03" -+ ] -+ }, -+ "openEuler.20.03-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openEuler", -+ "openEuler.20.03", -+ "openEuler.20.03-arm64" -+ ] -+ }, -+ "openEuler.20.03-x64": { -+ "#import": [ -+ "linux-x64", -+ "openEuler", -+ "openEuler.20.03", -+ "openEuler.20.03-x64" -+ ] -+ }, -+ "openEuler.20": { -+ "#import": [ -+ "linux", -+ "openEuler", -+ "openEuler.20.03", -+ "openEuler.20" -+ ] -+ }, -+ "openEuler.20-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openEuler", -+ "openEuler.20", -+ "openEuler.20-arm64", -+ "openEuler.20.03", -+ "openEuler.20.03-x64" -+ ] -+ }, -+ "openEuler.20-x64": { -+ "#import": [ -+ "linux-x64", -+ "openEuler", -+ "openEuler.20", -+ "openEuler.20-x64", -+ "openEuler.20.03", -+ "openEuler.20.03-x64" -+ ] -+ }, -+ "openeuler.20.03": { -+ "#import": [ -+ "linux", -+ "openeuler", -+ "openeuler.20.03" -+ ] -+ }, -+ "openeuler.20.03-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openeuler", -+ "openeuler.20.03", -+ "openeuler.20.03-arm64" -+ ] -+ }, -+ "openeuler.20.03-x64": { -+ "#import": [ -+ "linux-x64", -+ "openeuler", -+ "openeuler.20.03", -+ "openeuler.20.03-x64" -+ ] -+ }, -+ "openeuler.20": { -+ "#import": [ -+ "linux", -+ "openeuler", -+ "openeuler.20.03", -+ "openeuler.20" -+ ] -+ }, -+ "openeuler.20-arm64": { -+ "#import": [ -+ "linux-arm64", -+ "openeuler", -+ "openeuler.20", -+ "openeuler.20-arm64", -+ "openeuler.20.03", -+ "openeuler.20.03-x64" -+ ] -+ }, -+ "openeuler.20-x64": { -+ "#import": [ -+ "linux-x64", -+ "openeuler", -+ "openeuler.20", -+ "openeuler.20-x64", -+ "openeuler.20.03", -+ "openeuler.20.03-x64" -+ ] -+ }, - "alpine": { - "#import": [ - "linux-musl" -diff --git a/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props b/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props -index 05bdf782326..d2992625d59 100644 ---- a/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props -+++ b/src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props -@@ -1,6 +1,21 @@ - - - -+ -+ linux -+ x64;arm64 -+ 20;20.03;22;22.03 -+ false -+ false -+ -+ -+ linux -+ x64;arm64 -+ 20;20.03;22;22.03 -+ false -+ false -+ -+ - - any - x64;x86;arm;armv6;armel;arm64;loongarch64;mips64;s390x;ppc64le;riscv64 -diff --git a/src/native/corehost/hostmisc/pal.unix.cpp b/src/native/corehost/hostmisc/pal.unix.cpp -index 34520aefd73..695acb595d9 100644 ---- a/src/native/corehost/hostmisc/pal.unix.cpp -+++ b/src/native/corehost/hostmisc/pal.unix.cpp -@@ -767,6 +767,8 @@ pal::string_t normalize_linux_rid(pal::string_t rid) - pal::string_t rhelPrefix(_X("rhel.")); - pal::string_t alpinePrefix(_X("alpine.")); - pal::string_t rockyPrefix(_X("rocky.")); -+ pal::string_t oEPrefix(_X("openEuler.")); -+ pal::string_t oePrefix(_X("openeuler.")); - size_t lastVersionSeparatorIndex = std::string::npos; - - if (rid.compare(0, rhelPrefix.length(), rhelPrefix) == 0) -@@ -785,6 +787,14 @@ pal::string_t normalize_linux_rid(pal::string_t rid) - { - lastVersionSeparatorIndex = rid.find(_X("."), rockyPrefix.length()); - } -+ else if (rid.compare(0, oePrefix.length(), oePrefix) == 0) -+ { -+ lastVersionSeparatorIndex = rid.find(_X("."), oePrefix.length()); -+ } -+ else if (rid.compare(0, oEPrefix.length(), oEPrefix) == 0) -+ { -+ lastVersionSeparatorIndex = rid.find(_X("."), oEPrefix.length()); -+ } - - if (lastVersionSeparatorIndex != std::string::npos) - { diff --git a/openEuler-sdk-8.patch b/openEuler-sdk-8.patch deleted file mode 100644 index 3191d4996f0714d500357513fc85dd3dd5914e56..0000000000000000000000000000000000000000 --- a/openEuler-sdk-8.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/src/Cli/dotnet/CommonOptions.cs b/src/Cli/dotnet/CommonOptions.cs -index 3547fd5..8613529 100644 ---- a/src/Cli/dotnet/CommonOptions.cs -+++ b/src/Cli/dotnet/CommonOptions.cs -@@ -4,6 +4,7 @@ - using Microsoft.DotNet.Cli.Utils; - using Microsoft.DotNet.Tools; - using Microsoft.DotNet.Tools.Common; -+using System.IO; - using System.CommandLine; - using System.CommandLine.Completions; - -@@ -222,7 +223,7 @@ internal static string ResolveRidShorthandOptionsToRuntimeIdentifier(string os, - { - var currentRid = GetCurrentRuntimeId(); - arch = arch == "amd64" ? "x64" : arch; -- os = string.IsNullOrEmpty(os) ? GetOsFromRid(currentRid) : os; -+ os = string.IsNullOrEmpty(os) ? GetCurrentOs(currentRid) : os; - arch = string.IsNullOrEmpty(arch) ? GetArchFromRid(currentRid) : arch; - return $"{os}-{arch}"; - } -@@ -249,6 +250,30 @@ public static string GetCurrentRuntimeId() - return currentRuntimeIdentifiers[0]; // First rid is the most specific (ex win-x64) - } - -+ private static string GetCurrentOs(string rid) -+ { -+ string osReleasePath = "/etc/os-release"; -+ string id = null, versionId = null; -+ if (File.Exists(osReleasePath)) -+ { -+ var lines = File.ReadLines(osReleasePath); -+ foreach (var line in lines) -+ { -+ if (line.StartsWith("ID=", StringComparison.Ordinal)) -+ id = line.Substring(3).Trim('"', '\''); -+ if (line.StartsWith("VERSION_ID=", StringComparison.Ordinal)) -+ versionId = line.Substring(11).Trim('"', '\''); -+ } -+ } -+ string result = null; -+ if (id == null) -+ return GetOsFromRid(rid); -+ result = id; -+ if (versionId != null) -+ result = $"{id}.{versionId}"; -+ return result.ToLower(); -+ } -+ - private static string GetOsFromRid(string rid) => rid.Substring(0, rid.LastIndexOf("-")); - - private static string GetArchFromRid(string rid) => rid.Substring(rid.LastIndexOf("-") + 1, rid.Length - rid.LastIndexOf("-") - 1); -diff --git a/src/Layout/redist/targets/GenerateLayout.targets b/src/Layout/redist/targets/GenerateLayout.targets -index eab01ef..e582384 100644 ---- a/src/Layout/redist/targets/GenerateLayout.targets -+++ b/src/Layout/redist/targets/GenerateLayout.targets -@@ -135,9 +135,17 @@ - BeforeTargets="Build"> - - -+ -+ -+ -+ - - - -+ -+ -+ -+ - - - $(ArtifactsBinDir)$(Configuration)\Sdks\Microsoft.NET.Sdk diff --git a/openEuler-source-build-reference-packages-8.patch b/openEuler-source-build-reference-packages-8.patch deleted file mode 100644 index c1bd44448c911f19b941f31572bcab0f32535503..0000000000000000000000000000000000000000 --- a/openEuler-source-build-reference-packages-8.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/targetPacks/Directory.Build.targets b/src/targetPacks/Directory.Build.targets -index cf5e75a..6c6f41b 100644 ---- a/src/targetPacks/Directory.Build.targets -+++ b/src/targetPacks/Directory.Build.targets -@@ -103,7 +103,7 @@ - - - -- <_IlToolPackageReference NativePath="$(NuGetPackageRoot)\%(Identity)\%(Version)\runtimes\$(MicrosoftNetCoreIlasmPackageRuntimeId)\native" /> -+ <_IlToolPackageReference NativePath="$(NuGetPackageRoot)\%(Identity)\9.0.0-preview.2.24128.5\runtimes\$(MicrosoftNetCoreIlasmPackageRuntimeId)\native" /> - <_IlasmSourceFiles Include="%(_IlToolPackageReference.NativePath)\**\*" /> - - diff --git a/vstest-intent-net8.0.patch b/vstest-intent-net8.0.patch deleted file mode 100644 index 6a5180749c811af18703138a0a8cc6463525c77d..0000000000000000000000000000000000000000 --- a/vstest-intent-net8.0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/vstest/test/Intent/Intent.csproj b/src/vstest/test/Intent/Intent.csproj -index bb711c9256..6d0b199a9b 100644 ---- a/src/vstest/test/Intent/Intent.csproj -+++ b/src/vstest/test/Intent/Intent.csproj -@@ -2,7 +2,7 @@ - - - Exe -- net6.0 -+ net8.0 - enable - enable -