From 304f12d0098f58d6eeed6abf2dbfbf61a311fda5 Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Mar 12 2018 14:26:22 +0000 Subject: Update to .NET Core 2.0.5 --- diff --git a/corefx-not-portable.patch b/corefx-not-portable.patch index 87b47de..532c49e 100644 --- a/corefx-not-portable.patch +++ b/corefx-not-portable.patch @@ -7,8 +7,8 @@ diff -ruN dotnet/targets/corefx.targets dotnet/targets/corefx.targets -- diff --git a/do-not-strip-debuginfo.patch b/do-not-strip-debuginfo.patch index 3d9b0d4..a6d432d 100644 --- a/do-not-strip-debuginfo.patch +++ b/do-not-strip-debuginfo.patch @@ -1,51 +1,36 @@ Do not strip debuginfo from native binaries See https://github.com/dotnet/source-build/pull/272 and https://github.com/dotnet/source-build/pull/272 -diff -ruN dotnet/patches/corefx/debug-info.patch dotnet/patches/corefx/debug-info.patch ---- dotnet/patches/corefx/debug-info.patch 1969-12-31 19:00:00.000000000 -0500 -+++ dotnet/patches/corefx/debug-info.patch 2017-11-09 13:08:52.167739619 -0500 -@@ -0,0 +1,20 @@ -+diff -ruN corefx/src/Native/Unix/CMakeLists.txt corefx/src/Native/Unix/CMakeLists.txt -+--- corefx/src/Native/Unix/CMakeLists.txt 2017-10-25 20:38:56.000000000 -0400 -++++ corefx/src/Native/Unix/CMakeLists.txt 2017-11-09 13:05:54.053454759 -0500 -+@@ -20,6 +20,7 @@ -+ add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common) -+ add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common) -+ add_compile_options(-Wno-c99-extensions) -++add_compile_options(-g) -+ -+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5) -+ add_compile_options(-Wno-unreachable-code) -+@@ -60,7 +61,7 @@ -+ -+ string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_CMAKE_BUILD_TYPE) -+ if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG) -+- add_compile_options(-g -O0) -++ add_compile_options(-O0) -+ add_definitions(-DDEBUG) -+ -+ # obtain settings from running coreclr\enablesanitizers.sh + +diff -ruN dotnet/src/corefx/src/Native/Unix/CMakeLists.txt dotnet/src/corefx/src/Native/Unix/CMakeLists.txt +--- dotnet/src/corefx/src/Native/Unix/CMakeLists.txt 2017-10-25 20:38:56.000000000 -0400 ++++ dotnet/src/corefx/src/Native/Unix/CMakeLists.txt 2017-11-09 13:05:54.053454759 -0500 +@@ -20,6 +20,7 @@ + add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common) + add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common) + add_compile_options(-Wno-c99-extensions) ++add_compile_options(-g) + + if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5) + add_compile_options(-Wno-unreachable-code) +@@ -60,7 +61,7 @@ + + string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_CMAKE_BUILD_TYPE) + if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG) +- add_compile_options(-g -O0) ++ add_compile_options(-O0) + add_definitions(-DDEBUG) + + # obtain settings from running coreclr\enablesanitizers.sh diff -ruN dotnet/targets/coreclr.props dotnet/targets/coreclr.props --- dotnet/targets/coreclr.props 2017-11-09 12:52:08.413769785 -0500 +++ dotnet/targets/coreclr.props 2017-11-09 13:01:20.655552475 -0500 @@ -3,7 +3,7 @@ $(PathToRepo) - $(Platform) $(Configuration) skiptests -PortableBuild=false + $(Platform) $(Configuration) skiptests -PortableBuild=false msbuildonunsupportedplatform - $(BuildArguments) skipnuget cross -skiprestore stripSymbols + $(BuildArguments) skipnuget cross -skiprestore $(ProjectDirectory)/build$(ShellExtension) $(BuildArguments) $(ArmEnvironmentVariables) $(BuildCommand) $(ProjectDirectory)/bin/Product/$(TargetOS).$(Platform).$(Configuration)/.nuget/pkg/ -diff -ruN dotnet/targets/core-setup.props dotnet/targets/core-setup.props ---- dotnet/targets/core-setup.props 2017-10-25 20:40:18.000000000 -0400 -+++ dotnet/targets/core-setup.props 2017-11-09 13:01:10.778592131 -0500 -@@ -3,7 +3,7 @@ - - $(PathToRepo) - rhel.7.4-x64 -- -ConfigurationGroup=$(Configuration) -PortableBuild=false -strip-symbols -SkipTests=true -DistroRid=$(FixRid) -+ -ConfigurationGroup=$(Configuration) -PortableBuild=false -SkipTests=true -DistroRid=$(FixRid) - $(BuildArguments) -TargetArchitecture=arm -DistroRid=linux-arm -DisableCrossgen=true -SkipTests=true -CrossBuild=true - $(ProjectDirectory)/build$(ShellExtension) $(BuildArguments) -- /p:BuildDebPackage=false - $(ArmEnvironmentVariables) $(BuildCommand) diff --git a/dotnet.spec b/dotnet.spec index 350cd03..a870789 100644 --- a/dotnet.spec +++ b/dotnet.spec @@ -1,11 +1,11 @@ -%global sdk_version 2.0.3 -%global runtime_version 2.0.3 +%global sdk_version 2.1.4 +%global runtime_version 2.0.5 Name: dotnet Summary: .NET Core CLI tools and run-time Version: %{runtime_version} -Release: 4%{?dist} +Release: 1%{?dist} URL: https://github.com/dotnet/ License: MIT and ASL 2.0 and BSD @@ -34,7 +34,7 @@ BuildRequires: compat-openssl10-devel BuildRequires: openssl-devel %endif -Requires: %{name}-sdk-2.0%{?_isa} = %{version}-%{release} +Requires: %{name}-sdk-2.1%{?_isa} = %{version}-%{release} Source0: https://omajid.fedorapeople.org/dotnet/dotnet-%{runtime_version}.tar.gz Source1: patch-nuget-packages.sh @@ -88,13 +88,16 @@ libraries used by .NET Core applications. .NET Core is a fast, lightweight and modular platform for creating cross platform applications that work on Linux, Mac and Windows. -%package sdk-2.0 +%package sdk-2.1 Requires: %{name}-runtime-2.0%{?_isa} = %{version}-%{release} -Summary: .NET Core 2.0 Software Development Kit +Provides: %{name}-sdk-2.0 = %{version}-%{release} +Obsoletes: %{name}-sdk-2.0 <= 2.0.0-5 -%description sdk-2.0 +Summary: .NET Core 2.1 Software Development Kit + +%description sdk-2.1 The .NET Core SDK is a collection of command line applications to create, build, publish and run .NET Core applications. @@ -110,18 +113,29 @@ cross platform applications that work on Linux, Mac and Windows. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%if 0%{?fedora} > 26 %patch6 -p1 +%endif %if 0%{?fedora} > 0 # Add current versions of Fedora as a valid OS +sed -i -e 's|fedora.24|fedora.%{fedora}|g' build.proj sed -i -e 's|fedora.24|fedora.%{fedora}|g' src/coreclr/build.sh sed -i -e 's|fedora.23|fedora.%{fedora}|g' src/core-setup/src/pkg/projects/Microsoft.NETCore.App/src/Microsoft.NETCore.App.depproj -sed -i -e 's|fedora.23|fedora.%{fedora}|g' Tools/runtime.json +sed -i -e 's|fedora.23|fedora.%{fedora}|g' Tools/dotnetcli/shared/Microsoft.NETCore.App/2.0.0/Microsoft.NETCore.App.deps.json +sed -i -e 's|fedora.23|fedora.%{fedora}|g' Tools/optional-tool-runtime/optional.json +sed -i -e 's|rhel.7-x64|rhel.7-x64;fedora.%{fedora}|g' Tools/Packaging.targets +find Tools/ -iname 'runtime.json' -exec sed -i -e 's|fedora.23|fedora.%{fedora}|g' {} \; # Replace RHEL rid with Fedora rid sed -i -e 's|rhel.7.4-|fedora.%{fedora}-|g' targets/core-setup.props sed -i -e 's|rhel.7.4-|fedora.%{fedora}-|g' targets/cli.props +sed -i -e 's|rhel.7.4-|fedora.%{fedora}-|g' src/cli/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj + +sed -i -e '/DOTNET_RUNTIME_ID=rhel.7.4-x64/d' targets/roslyn.props + +sed -i -e 's|:v=normal|:v=diag|g' src/corefx/config.json # Fix RIDs in nuget packages cp %{SOURCE1} patch-nuget-packages.sh @@ -129,12 +143,12 @@ chmod +x patch-nuget-packages.sh ./patch-nuget-packages.sh %{fedora} # These patches explicitly force a RHEL runtime id -rm patches/corefx/0008-fix-ilasm.patch rm patches/cli/0013-pass-rid-to-crossgen.csproj.patch %endif %build -./build.sh +# crazy insane hack. the first build fails but a rebuild works... +./build.sh /v:diag || ./build.sh /v:diag %install install -d -m 0755 %{buildroot}%{_libdir}/%{name}/ @@ -179,12 +193,18 @@ echo "Testing build results for debug symbols..." %dir %{_libdir}/%{name}/shared/Microsoft.NETCore.App %{_libdir}/%{name}/shared/Microsoft.NETCore.App/%{runtime_version} -%files sdk-2.0 +%files sdk-2.1 %dir %{_libdir}/%{name}/sdk %{_libdir}/%{name}/sdk/%{sdk_version} %doc %{_mandir}/man1/dotnet-*.1.gz %changelog +* 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 diff --git a/patch-nuget-packages.sh b/patch-nuget-packages.sh index f2f13d8..3c8f7ab 100644 --- a/patch-nuget-packages.sh +++ b/patch-nuget-packages.sh @@ -26,6 +26,7 @@ for file in $(find . -name '*.nupkg'); do # unzip file and remove it unzip -q $file -d $tempdir + chmod -R u+rw $tempdir # patch find $tempdir -name '*.json' -exec sed -i "s/$replace_rid/$replace_rid_by/g" {} +