diff --git a/.gitignore b/.gitignore index b5eba40..0d2a078 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/dotnet-2.0.0-12.tar.gz +SOURCES/dotnet-2.0.3.tar.gz diff --git a/.rh-dotnet20-dotnet.metadata b/.rh-dotnet20-dotnet.metadata index a10ae5f..3da39c8 100644 --- a/.rh-dotnet20-dotnet.metadata +++ b/.rh-dotnet20-dotnet.metadata @@ -1 +1 @@ -c2f619760c049a76fae8509a6cd379bc1f94eacc SOURCES/dotnet-2.0.0-12.tar.gz +efe252f9861da1a2b5d18310631b54d46931f90e SOURCES/dotnet-2.0.3.tar.gz diff --git a/SOURCES/corefx-not-portable.patch b/SOURCES/corefx-not-portable.patch new file mode 100644 index 0000000..87b47de --- /dev/null +++ b/SOURCES/corefx-not-portable.patch @@ -0,0 +1,14 @@ +See https://github.com/dotnet/source-build/issues/286 + +diff -ruN dotnet/targets/corefx.targets dotnet/targets/corefx.targets +--- dotnet/targets/corefx.targets 2017-10-25 20:40:18.000000000 -0400 ++++ dotnet/targets/corefx.targets 2017-11-10 12:39:18.045215772 -0500 +@@ -16,7 +16,7 @@ + + +- + diff --git a/SOURCES/do-not-strip-debuginfo.patch b/SOURCES/do-not-strip-debuginfo.patch new file mode 100644 index 0000000..350ad5a --- /dev/null +++ b/SOURCES/do-not-strip-debuginfo.patch @@ -0,0 +1,51 @@ +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/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 +- $(BuildArguments) skipnuget cross -skiprestore stripSymbols ++ $(BuildArguments) skipnuget cross -skiprestore + $(BuildArguments) ignorewarnings + $(ProjectDirectory)/build$(ShellExtension) $(BuildArguments) + $(ArmEnvironmentVariables) $(BuildCommand) +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/SPECS/dotnet.spec b/SPECS/dotnet.spec index 00ad748..ab8608d 100644 --- a/SPECS/dotnet.spec +++ b/SPECS/dotnet.spec @@ -5,8 +5,8 @@ %undefine _include_minidebuginfo %global _find_debuginfo_dwz_opts %{nil} -%global sdk_version 2.0.0 -%global runtime_version 2.0.0 +%global sdk_version 2.0.3 +%global runtime_version 2.0.3 # Do not provide internal .so as standard libraries %global __provides_exclude_from ^(%{_libdir}/dotnet/.*\\.so|%{_libdir}/dotnetcore/sdk/%{sdk_version}/.*\\.so|%{_libdir}/dotnetcore/shared/Microsoft.NETCore.App/%{runtime_version}/.*)$ @@ -15,19 +15,21 @@ %global __requires_exclude ^(libmscordaccore.so\\(\\)\\(64bit\\)|libmscordaccore.so\\(V1.0\\)\\(64bit\\))$ Name: %{?scl_prefix}dotnet -Version: 2.0.0 +Version: %{sdk_version} Release: 4%{?dist} Summary: .NET Core is a general-purpose cross platform development platform Group: Development/Languages License: ASL 2.0 and MIT URL: https://www.microsoft.com/net/core -Source0: dotnet-%{sdk_version}-12.tar.gz +Source0: dotnet-%{sdk_version}.tar.gz Patch0: coreclr-werror.patch Patch1: coreclr-sequential-build.patch Patch2: roslyn-verbose.patch Patch3: templates-publish-without-manifest.patch +Patch4: do-not-strip-debuginfo.patch +Patch5: corefx-not-portable.patch ExclusiveArch: x86_64 @@ -77,7 +79,9 @@ Summary: Runtime for .NET Core applications Requires: %{?scl_prefix}dotnet-host Requires: %{?scl_prefix}libcurl%{?_isa} +# These libraries are dlopen'ed and not picked up automatically Requires: libicu +Requires: openssl-libs %{?scl:Requires: %scl_runtime} @@ -115,6 +119,8 @@ applications and micro-services. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 # Increase build verbosity sed -ie "s|flp:Verbosity=normal|flp:Verbosity=diag|" src/coreclr/build.sh @@ -135,7 +141,7 @@ VERBOSE=1 ./build.sh /clp:v=detailed install -dm 755 $RPM_BUILD_ROOT/%{_libdir}/%{pkg_name}/ # for debugging find bin/x64/Release/ -tar xf bin/x64/Release/dotnet-sdk-%{sdk_version}-linux-x64.tar.gz -C $RPM_BUILD_ROOT/%{_libdir}/%{pkg_name}/ +tar xf bin/x64/Release/dotnet-sdk-%{sdk_version}-rhel.7.4-x64.tar.gz -C $RPM_BUILD_ROOT/%{_libdir}/%{pkg_name}/ install -dm 755 $RPM_BUILD_ROOT/%{_root_datadir}/bash-completion/completions # dynamic completion needs the file to be named the same as the base command @@ -193,6 +199,21 @@ find -type f -iname 'dotnet*\.1' -exec cp {} $RPM_BUILD_ROOT/%{_mandir}/man1/ \; %{_root_datadir}/zsh/site-functions/%{name} %changelog +* Fri Nov 10 2017 Omair Majid - 2.0.3-4 +- Make corefx build non-portable, which was how it was in 2.0.0 + +* Thu Nov 9 2017 Omair Majid - 2.0.3-3 +- Do not strip debuginfo + +* Thu Nov 9 2017 Omair Majid - 2.0.3-2 +- Add explicit requires for libssl + +* Tue Oct 31 2017 Omair Majid - 2.0.3-1 +- Update to .NET Core 2.0.3 + +* Sat Oct 28 2017 Omair Majid - 2.0.3-0.1 +- Update to new drop for .NET Core 2.0.3 + * Sat Aug 12 2017 Omair Majid - 2.0.0-4 - Update to new .NET Core drop