From 3c81b852c40544f7aa4048ad73919ac0667c08a4 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 22 2017 11:19:45 +0000 Subject: import rh-dotnet20-dotnet-2.0.0-4.el7 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b5eba40 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/dotnet-2.0.0-12.tar.gz diff --git a/.rh-dotnet20-dotnet.metadata b/.rh-dotnet20-dotnet.metadata new file mode 100644 index 0000000..a10ae5f --- /dev/null +++ b/.rh-dotnet20-dotnet.metadata @@ -0,0 +1 @@ +c2f619760c049a76fae8509a6cd379bc1f94eacc SOURCES/dotnet-2.0.0-12.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/coreclr-sequential-build.patch b/SOURCES/coreclr-sequential-build.patch new file mode 100644 index 0000000..fadfc66 --- /dev/null +++ b/SOURCES/coreclr-sequential-build.patch @@ -0,0 +1,16 @@ +diff --git a/build.sh b/build.sh +index 39e96dd..b8a1a44 100755 +--- dotnet/src/coreclr/build.sh ++++ dotnet/src/coreclr/build.sh +@@ -307,9 +307,9 @@ build_native() + # Check that the makefiles were created. + pushd "$intermediatesForBuild" + +- echo "Executing $buildTool install -j $NumProc" ++ echo "Executing $buildTool install" + +- $buildTool install -j $NumProc ++ $buildTool install + if [ $? != 0 ]; then + echo "Failed to build $message." + exit 1 diff --git a/SOURCES/coreclr-werror.patch b/SOURCES/coreclr-werror.patch new file mode 100644 index 0000000..2e0f38b --- /dev/null +++ b/SOURCES/coreclr-werror.patch @@ -0,0 +1,10 @@ +--- dotnet/targets/coreclr.props 2017-08-02 12:44:09.405096589 -0400 ++++ dotnet/targets/coreclr.props 2017-08-02 12:44:44.361013247 -0400 +@@ -4,6 +4,7 @@ + $(PathToRepo) + $(Platform) $(Configuration) skiptests -PortableBuild=false + $(BuildArguments) skipnuget cross -skiprestore stripSymbols ++ $(BuildArguments) ignorewarnings + $(ProjectDirectory)/build$(ShellExtension) $(BuildArguments) + $(ArmEnvironmentVariables) $(BuildCommand) + $(ProjectDirectory)/bin/Product/$(TargetOS).$(Platform).$(Configuration)/.nuget/pkg/ diff --git a/SOURCES/roslyn-verbose.patch b/SOURCES/roslyn-verbose.patch new file mode 100644 index 0000000..7689328 --- /dev/null +++ b/SOURCES/roslyn-verbose.patch @@ -0,0 +1,11 @@ +--- dotnet/src/roslyn/Makefile ++++ dotnet/src/roslyn/Makefile +@@ -10,7 +10,7 @@ DOTNET_VERSION = 1.0.1 + DOTNET = $(BINARIES_PATH)/dotnet-cli/dotnet + TARGET_FX = netcoreapp1.1 + +-MSBUILD_ADDITIONALARGS := /v:m /fl /fileloggerparameters:Verbosity=normal /p:Configuration=$(BUILD_CONFIGURATION) ++MSBUILD_ADDITIONALARGS := /v:diag /fl /fileloggerparameters:Verbosity=normal /p:Configuration=$(BUILD_CONFIGURATION) + + ifeq ($(OS_NAME),Linux) + RUNTIME_ID := $(shell . /etc/os-release && echo $$ID.$$VERSION_ID)-x64 diff --git a/SOURCES/templates-publish-without-manifest.patch b/SOURCES/templates-publish-without-manifest.patch new file mode 100644 index 0000000..57d38da --- /dev/null +++ b/SOURCES/templates-publish-without-manifest.patch @@ -0,0 +1,59 @@ +Templates should publish without the ASP.NET Core manifest by default + +Patch the default ASP.NET Core templates (used by dotnet new) to publish +without expecting the runtime package store on the target. The package store is +not part of these public built-from-source builds. + +If published applications use the manifest - and expect the runtime store to be +available - they will publish correctly but fail to run at runtime. + +--- dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/EmptyWeb-CSharp/Company.WebApplication1.csproj 2017-06-09 15:35:23.000000000 -0400 ++++ dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/EmptyWeb-CSharp/Company.WebApplication1.csproj 2017-07-19 15:59:25.900632277 -0400 +@@ -3,6 +3,7 @@ + + netcoreapp2.0 + TargetFrameworkOverride ++ false + + + +--- dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/RazorPagesWeb-CSharp/Company.WebApplication1.csproj 2017-06-09 15:35:23.000000000 -0400 ++++ dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/RazorPagesWeb-CSharp/Company.WebApplication1.csproj 2017-07-19 16:07:23.248684922 -0400 +@@ -5,6 +5,7 @@ + aspnet-Company.WebApplication1-0ce56475-d1db-490f-8af1-a881ea4fcd2d + 0 + 1 ++ false + + + +--- dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/StarterWeb-CSharp/Company.WebApplication1.csproj 2017-06-09 15:35:23.000000000 -0400 ++++ dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/StarterWeb-CSharp/Company.WebApplication1.csproj 2017-07-19 16:00:58.613168965 -0400 +@@ -8,6 +8,7 @@ + aspnet-Company.WebApplication1-53bc9b9d-9d6a-45d4-8429-2a2761773502 + 0 + 1 ++ false + + + +--- dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/StarterWeb-FSharp/Company.WebApplication1.fsproj 2017-06-09 15:35:23.000000000 -0400 ++++ dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/StarterWeb-FSharp/Company.WebApplication1.fsproj 2017-07-19 16:01:12.964097252 -0400 +@@ -4,6 +4,7 @@ + netcoreapp2.0 + TargetFrameworkOverride + true ++ false + + + +--- dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/WebApi-CSharp/Company.WebApplication1.csproj 2017-06-09 15:35:23.000000000 -0400 ++++ dotnet/src/templating/template_feed/Microsoft.DotNet.Web.ProjectTemplates.2.0/content/WebApi-CSharp/Company.WebApplication1.csproj 2017-07-19 16:04:59.211162884 -0400 +@@ -6,6 +6,7 @@ + aspnet-Company.WebApplication1-53bc9b9d-9d6a-45d4-8429-2a2761773502 + 0 + 1 ++ false + + + diff --git a/SPECS/dotnet.spec b/SPECS/dotnet.spec new file mode 100644 index 0000000..00ad748 --- /dev/null +++ b/SPECS/dotnet.spec @@ -0,0 +1,243 @@ +%{?scl:%scl_package dotnet} +%{!?scl:%global pkg_name %{name}} + +# lldb doesn't like our nice debug information +%undefine _include_minidebuginfo +%global _find_debuginfo_dwz_opts %{nil} + +%global sdk_version 2.0.0 +%global runtime_version 2.0.0 + +# 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}/.*)$ + +# Do not generate requires for libraries provided by this own package +%global __requires_exclude ^(libmscordaccore.so\\(\\)\\(64bit\\)|libmscordaccore.so\\(V1.0\\)\\(64bit\\))$ + +Name: %{?scl_prefix}dotnet +Version: 2.0.0 +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 + +Patch0: coreclr-werror.patch +Patch1: coreclr-sequential-build.patch +Patch2: roslyn-verbose.patch +Patch3: templates-publish-without-manifest.patch + +ExclusiveArch: x86_64 + +BuildRequires: %{?scl_prefix}clang +BuildRequires: cmake +BuildRequires: hostname +BuildRequires: krb5-devel +BuildRequires: %{?scl_prefix}libcurl-devel +BuildRequires: libicu-devel +BuildRequires: libuuid-devel +BuildRequires: libunwind-devel +BuildRequires: %{?scl_prefix}lldb-devel +BuildRequires: %{?scl_prefix}llvm +BuildRequires: %{?scl_prefix}lttng-ust-devel +BuildRequires: openssl-devel +BuildRequires: python2 +BuildRequires: %{?scl_prefix}userspace-rcu-devel +BuildRequires: zlib-devel + +Requires: %{?scl_prefix}dotnet-sdk-2.0 + +%description +.NET Core is a fast, lightweight and modular platform for creating +cross platform applications that work on Linux, Mac and Windows. + +It particularly focuses on creating console applications, web +applications and micro-services. + +%package -n %{?scl_prefix}dotnet-host + +Summary: Component that runs .NET Core applications or starts the SDK +%{?scl:Requires: %scl_runtime} + +%description -n %{?scl_prefix}dotnet-host +The .NET Core host is a small application that finds the right SDK to invoke +or the right framework to run a .NET Core application. + +.NET Core is a fast, lightweight and modular platform for creating +cross platform applications that work on Linux, Mac and Windows. + +It particularly focuses on creating console applications, web +applications and micro-services. + +%package -n %{?scl_prefix}dotnet-runtime-2.0 + +Summary: Runtime for .NET Core applications + +Requires: %{?scl_prefix}dotnet-host +Requires: %{?scl_prefix}libcurl%{?_isa} +Requires: libicu + +%{?scl:Requires: %scl_runtime} + +%description -n %{?scl_prefix}dotnet-runtime-2.0 +The .NET Core 2.0 runtime package contains a runtime conforming to +.NET Standard 2.0, including a set of framework libraries and a +Just-In-Time compiling Virtual Machine for high performance. + +.NET Core is a fast, lightweight and modular platform for creating +cross platform applications that work on Linux, Mac and Windows. + +It particularly focuses on creating console applications, web +applications and micro-services. + +%package -n %{?scl_prefix}dotnet-sdk-2.0 + +Summary: A software development kit for developing .NET Core applications +Requires: %{?scl_prefix}dotnet-runtime-2.0 + +%description -n %{?scl_prefix}dotnet-sdk-2.0 +The .NET Core 2.0 SDK provides a number of command line tools to build +.NET Core applications. It includes compilers for C\#, VB.NET and F\#. + +.NET Core is a fast, lightweight and modular platform for creating +cross platform applications that work on Linux, Mac and Windows. + +It particularly focuses on creating console applications, web +applications and micro-services. + + +%prep +%setup -q -n dotnet + +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 + +# Increase build verbosity +sed -ie "s|flp:Verbosity=normal|flp:Verbosity=diag|" src/coreclr/build.sh + +# Change text printed when SDK is not installed +sed -ie "s|http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409|yum install %{?scl_prefix}dotnet-sdk-2.0|" src/core-setup/src/corehost/common/utils.h + +%build +%{?scl:scl enable %scl - << \EOF} +set -xe + +export CMAKE_PREFIX_PATH="%{_prefix}" +VERBOSE=1 ./build.sh /clp:v=detailed + +%{?scl:EOF} + +%install +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}/ + +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 +install src/cli/scripts/register-completions.bash $RPM_BUILD_ROOT/%{_root_datadir}/bash-completion/completions/dotnet + +# TODO: this doesn't get picked up/used by zsh +install -dm 755 $RPM_BUILD_ROOT/%{_root_datadir}/zsh/site-functions +install src/cli/scripts/register-completions.zsh $RPM_BUILD_ROOT/%{_root_datadir}/zsh/site-functions/%{name} + +# for debugging +find $RPM_BUILD_ROOT/%{_libdir}/%{pkg_name}/ + +# Upstream license files produced from build are bogus +# See: https://github.com/dotnet/core-setup/issues/676 +rm $RPM_BUILD_ROOT/%{_libdir}/dotnet/LICENSE.txt +rm $RPM_BUILD_ROOT/%{_libdir}/dotnet/ThirdPartyNotices.txt + +mkdir -p $RPM_BUILD_ROOT/%{_bindir} +ln -s %{_libdir}/%{pkg_name}/dotnet $RPM_BUILD_ROOT/%{_bindir}/ + +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1/ +find -type f -iname 'dotnet*\.1' -exec cp {} $RPM_BUILD_ROOT/%{_mandir}/man1/ \; + +%files +# empty package useful for dependencies + +%files -n %{?scl_prefix}dotnet-host +#%doc LICENSE.txt +#%doc THIRD-PARTY-NOTICES.txt +%dir %{_libdir}/%{pkg_name} +%{_libdir}/%{pkg_name}/dotnet +%{_libdir}/%{pkg_name}/host +%{_bindir}/dotnet +%{_mandir}/man1/dotnet.1* + +%files -n %{?scl_prefix}dotnet-runtime-2.0 +#%doc LICENSE.TXT +#%doc THIRD-PARTY-NOTICES.TXT +%dir %{_libdir}/%{pkg_name}/shared +%dir %{_libdir}/%{pkg_name}/shared/Microsoft.NETCore.App +%{_libdir}/%{pkg_name}/shared/Microsoft.NETCore.App/%{runtime_version} + +%files -n %{?scl_prefix}dotnet-sdk-2.0 +#%doc LICENSE.TXT +#%doc THIRD-PARTY-NOTICES.TXT +%dir %{_libdir}/%{pkg_name}/sdk +%{_libdir}/%{pkg_name}/sdk/%{sdk_version} +%{_mandir}/man1/dotnet-*.1.* +# shell completions are currently only picked up from %{_root_datadir} +%dir %{_root_datadir}/bash-completion +%dir %{_root_datadir}/bash-completion/completions +%{_root_datadir}/bash-completion/completions/dotnet +%dir %{_root_datadir}/zsh +%dir %{_root_datadir}/zsh/site-functions +%{_root_datadir}/zsh/site-functions/%{name} + +%changelog +* Sat Aug 12 2017 Omair Majid - 2.0.0-4 +- Update to new .NET Core drop + +* Thu Aug 10 2017 Omair Majid - 2.0.0-4 +- Update to new .NET Core drop + +* Thu Aug 10 2017 Omair Majid - 2.0.0-3 +- Update to new .NET Core drop + +* Fri Aug 04 2017 Omair Majid - 2.0.0-2 +- Update to new .NET Core drop + +* Wed Aug 02 2017 Omair Majid - 2.0.0-1 +- Update to final .NET Core 2.0 release + +* Wed Jul 19 2017 Omair Majid - 2.0.0-0.10 +- Modify templates to not use the ASP.NET runtime store + +* Wed Jul 19 2017 Omair Majid - 2.0.0-0.9 +- Use non-scl cmake to build + +* Fri Jun 23 2017 Omair Majid - 2.0.0-0.8 +- Update to newer SDK drop +- Add requires on libicu + +* Tue Jun 20 2017 Omair Majid - 2.0.0-0.7 +- Move more stuff to prep section +- Install shell completion + +* Wed Jun 14 2017 Omair Majid - 2.0.0-0.6 +- Do not print first-run message on every dotnet invocation + +* Fri Jun 9 2017 Omair Majid - 2.0-0.5 +- Update to latest source drop + +* Thu Jun 8 2017 Omair Majid - 2.0-0.4 +- Minor spec file fixes +- Do not depend on git + +* Wed Jun 7 2017 Omair Majid - 2.0.0-0.3 +- Update to latest source drop. + +* Fri Jun 2 2017 Omair Majid - 2.0.0-0.2 +- Add a meta-package for simply installing all of .NET Core + +* Thu May 25 2017 Omair Majid - 2.0.0-0.1 +- Initial package for .NET Core 2.0 +