From 665915d44f835c775ea9d2db56209d49cd9dc089 Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Jul 28 2018 17:25:15 +0000 Subject: Update to .NET Core SDK 2.1.202 and Runtime 2.0.9 Also make it possible to install it side-by-side with SDK 2.1.3xx and Runtime 2.1.xx. --- diff --git a/README.md b/README.md index 81020a5..4314d08 100644 --- a/README.md +++ b/README.md @@ -47,10 +47,9 @@ Please report any issues here, via *New Issue*. 5. Do local builds - - `fedpkg --dist $YOUR_FEDORA_VERSION local` + - `fedpkg local` - Where the version can be, for example, f27. Fix any errors that - come up and rebuild until it works locally. + Fix any errors that come up and rebuild until it works locally. 6. Upload the new tarball to a public URL, if there is a new tarball. I use: @@ -66,7 +65,7 @@ Please report any issues here, via *New Issue*. - `git remove # old files, such as old patches` - `git commit -a` - `git push` - - `fedpkg dotnet srpm` + - `fedpkg srpm` - `copr-cli build @dotnet-sig/dotnet ` 8. If it fails, update spec file/patches and rebuild with the same set @@ -77,7 +76,7 @@ Please report any issues here, via *New Issue*. 1. Pull down the packages from copr, and install them: - `dnf copr enable @dotnet-sig/dotnet` - - `dnf install dotnet-sdk-2.0` + - `dnf install dotnet-sdk-2.1.2xx` OR, if you already have the packages installed: diff --git a/dotnet.spec b/dotnet.spec index 348cab2..1595f40 100644 --- a/dotnet.spec +++ b/dotnet.spec @@ -13,8 +13,8 @@ %global __provides_exclude ^(%{privlibs})\\.so %global __requires_exclude ^(%{privlibs})\\.so -%global sdk_version 2.1.105 -%global runtime_version 2.0.7 +%global sdk_version 2.1.202 +%global runtime_version 2.0.9 %global template_package microsoft.dotnet.web.projecttemplates.2.0.1.0.0-beta2-20170810-304 @@ -47,6 +47,7 @@ ExclusiveArch: x86_64 BuildRequires: clang BuildRequires: cmake +BuildRequires: dos2unix BuildRequires: hostname BuildRequires: krb5-devel BuildRequires: libcurl-devel @@ -112,16 +113,16 @@ cross platform applications that work on Linux, Mac and Windows. It particularly focuses on creating console applications, web applications and micro-services. -%package sdk-2.1 +%package sdk-2.1.2xx -Requires: %{name}-runtime-2.0%{?_isa} = %{version}-%{release} +Requires: %{name}-runtime-2.0%{?_isa} Provides: %{name}-sdk-2.0 = %{version}-%{release} Obsoletes: %{name}-sdk-2.0 <= 2.0.0-5 Summary: .NET Core 2.1 Software Development Kit -%description sdk-2.1 +%description sdk-2.1.2xx The .NET Core SDK is a collection of command line applications to create, build, publish and run .NET Core applications. @@ -150,6 +151,8 @@ mkdir templates pushd templates unzip ../prebuilt/nuget-packages/%{template_package}.nupkg rm ../prebuilt/nuget-packages/%{template_package}.nupkg +find -iname '*.csproj' -exec dos2unix {} \; +find -iname '*.fsproj' -exec dos2unix {} \; %patch100 -p1 zip -r ../prebuilt/nuget-packages/%{template_package}.nupkg . popd @@ -195,6 +198,13 @@ find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.targets' -exec chmod -x {} find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.dll' -exec chmod -x {} \; find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.pubxml' -exec chmod -x {} \; +# Remove files provided by the latest version of the .NET Core package +rm -rf %{buildroot}%{_libdir}/%{name}/dotnet +rm -rf %{buildroot}%{_libdir}/%{name}/hostfxr +rm -rf %{buildroot}%{_libdir}/%{name}/host +rm -rf %{buildroot}%{_libdir}/%{name}/LICENSE.txt +rm -rf %{buildroot}%{_libdir}/%{name}/ThirdPartyNotices.txt + # Hack. We dont build net46 at the moment as part of source-build, so make it a # symlink for it. This lets OmniSharp start, at least. See # https://github.com/dotnet/source-build/issues/125 for more details. @@ -202,53 +212,27 @@ pushd %{buildroot}%{_libdir}/%{name}/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/t ln -s netcoreapp1.0 net46 popd -install -dm 755 %{buildroot}/%{_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 %{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 -d -m 0755 %{buildroot}%{_bindir} -ln -s %{_libdir}/%{name}/dotnet %{buildroot}%{_bindir}/ - -install -d -m 0755 %{buildroot}%{_mandir}/man1/ -find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \; - # Check debug symbols in all elf objects. This is not in %%check # because native binaries are stripped by rpm-build after %%install. # So we need to do this check earlier. echo "Testing build results for debug symbols..." %{SOURCE2} -v %{buildroot}%{_libdir}/%{name}/ -%check -%{buildroot}%{_libdir}/%{name}/dotnet --info - -%files -# empty package +# Do not produce the main package +#%%files -%files host -%dir %{_libdir}/%{name} -%{_libdir}/%{name}/dotnet -%{_libdir}/%{name}/host -%{_bindir}/dotnet -%license %{_libdir}/%{name}/LICENSE.txt -%license %{_libdir}/%{name}/ThirdPartyNotices.txt -%doc %{_mandir}/man1/dotnet.1.gz +# Do not produce the host package +#%%files host %files runtime-2.0 +%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/shared %dir %{_libdir}/%{name}/shared/Microsoft.NETCore.App %{_libdir}/%{name}/shared/Microsoft.NETCore.App/%{runtime_version} -%files sdk-2.1 +%files sdk-2.1.2xx %dir %{_libdir}/%{name}/sdk %{_libdir}/%{name}/sdk/%{sdk_version} -%doc %{_mandir}/man1/dotnet-*.1.gz -%dir %{_datadir}/bash-completion -%dir %{_datadir}/bash-completion/completions -%{_datadir}/bash-completion/completions/dotnet %changelog * Thu May 03 2018 Omair Majid - 2.0.7-1