| |
@@ -0,0 +1,299 @@
|
| |
+ # Avoid provides/requires from private libraries
|
| |
+ %global privlibs libhostfxr
|
| |
+ %global privlibs %{privlibs}|libclrjit
|
| |
+ %global privlibs %{privlibs}|libcoreclr
|
| |
+ %global privlibs %{privlibs}|libcoreclrtraceptprovider
|
| |
+ %global privlibs %{privlibs}|libdbgshim
|
| |
+ %global privlibs %{privlibs}|libhostpolicy
|
| |
+ %global privlibs %{privlibs}|libmscordaccore
|
| |
+ %global privlibs %{privlibs}|libmscordbi
|
| |
+ %global privlibs %{privlibs}|libsos
|
| |
+ %global privlibs %{privlibs}|libsosplugin
|
| |
+ %global __provides_exclude ^(%{privlibs})\\.so
|
| |
+ %global __requires_exclude ^(%{privlibs})\\.so
|
| |
+
|
| |
+ %global sdk_version 2.1.301
|
| |
+ %global runtime_version 2.1.1
|
| |
+
|
| |
+ Name: dotnet
|
| |
+ Version: %{sdk_version}
|
| |
+ Release: 2%{?dist}
|
| |
+ Summary: .NET Core CLI tools and runtime
|
| |
+ License: MIT and ASL 2.0 and BSD
|
| |
+ URL: https://github.com/dotnet/
|
| |
+
|
| |
+ # The source is generated on a Fedora box via:
|
| |
+ # - git clone https://github.com/dotnet/source-build
|
| |
+ # - git checkout v%%{sdk_version}
|
| |
+ # - set environment variables + tweak sources to build
|
| |
+ # - ./build-source-tarball.sh dotnet-%%{sdk_version}
|
| |
+ # - tar cvzf dotnet-%%{sdk_version}.tar.gz dotnet-%%{sdk_version}
|
| |
+
|
| |
+ Source0: https://omajid.fedorapeople.org/dotnet/dotnet-%{sdk_version}.tar.gz
|
| |
+ Source1: check-debug-symbols.py
|
| |
+
|
| |
+ ExclusiveArch: x86_64
|
| |
+
|
| |
+ BuildRequires: clang
|
| |
+ BuildRequires: cmake
|
| |
+ BuildRequires: git
|
| |
+ BuildRequires: hostname
|
| |
+ BuildRequires: krb5-devel
|
| |
+ BuildRequires: libcurl-devel
|
| |
+ BuildRequires: libicu-devel
|
| |
+ BuildRequires: libunwind-devel
|
| |
+ BuildRequires: libuuid-devel
|
| |
+ BuildRequires: lldb-devel
|
| |
+ BuildRequires: llvm
|
| |
+ BuildRequires: lttng-ust-devel
|
| |
+ BuildRequires: python
|
| |
+ BuildRequires: strace
|
| |
+ BuildRequires: zlib-devel
|
| |
+ %if 0%{fedora} >= 26
|
| |
+ BuildRequires: compat-openssl10-devel
|
| |
+ %else
|
| |
+ BuildRequires: openssl-devel
|
| |
+ %endif
|
| |
+
|
| |
+ Requires: %{name}-sdk-2.1%{?_isa}
|
| |
+
|
| |
+ %description
|
| |
+ .NET Core 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 Core contains a runtime conforming to .NET Standards a set of
|
| |
+ framework libraries, an SDK containing compilers and a 'dotnet'
|
| |
+ application to drive everything.
|
| |
+
|
| |
+ %package host
|
| |
+
|
| |
+ Version: %{runtime_version}
|
| |
+ Summary: .NET command line launcher
|
| |
+
|
| |
+ %description host
|
| |
+ The .NET Core host is a command line program that runs a standalone
|
| |
+ .NET core application or launches the SDK.
|
| |
+
|
| |
+ .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 runtime-2.1
|
| |
+
|
| |
+ Version: %{runtime_version}
|
| |
+ Summary: NET Core 2.1 runtime
|
| |
+
|
| |
+ # Theoretically any version of the host should work
|
| |
+ Requires: %{name}-host%{?_isa}
|
| |
+
|
| |
+ # libicu is dlopen()ed
|
| |
+ Requires: libicu
|
| |
+
|
| |
+
|
| |
+ %description runtime-2.1
|
| |
+ The .NET Core runtime contains everything needed to run .NET Core applications.
|
| |
+ It includes a high performance Virtual Machine as well as the framework
|
| |
+ 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.
|
| |
+
|
| |
+ It particularly focuses on creating console applications, web
|
| |
+ applications and micro-services.
|
| |
+
|
| |
+ %package sdk-2.1
|
| |
+
|
| |
+ Version: %{sdk_version}
|
| |
+ Summary: .NET Core 2.1 Software Development Kit
|
| |
+
|
| |
+ Requires: %{name}-sdk-2.1.3xx%{?_isa}
|
| |
+
|
| |
+ %description sdk-2.1
|
| |
+ The .NET Core SDK is a collection of command line applications to
|
| |
+ create, build, publish and run .NET Core applications.
|
| |
+
|
| |
+ .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 sdk-2.1.3xx
|
| |
+
|
| |
+ Version: %{sdk_version}
|
| |
+ Summary: .NET Core 2.1.3xx Software Development Kit
|
| |
+
|
| |
+ Requires: %{name}-runtime-2.1%{?_isa}
|
| |
+
|
| |
+ %description sdk-2.1.3xx
|
| |
+ The .NET Core SDK is a collection of command line applications to
|
| |
+ create, build, publish and run .NET Core applications.
|
| |
+
|
| |
+ .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 %{name}-%{sdk_version}
|
| |
+
|
| |
+ # Fix bad hardcoded path in build
|
| |
+ sed -i 's|/usr/share/dotnet|%{_libdir}/%{name}|' src/core-setup/src/corehost/common/pal.unix.cpp
|
| |
+
|
| |
+ # Fix
|
| |
+ sed -i -E 's|fedora.[0-9]+(</RuntimeOS>)|fedora.%{fedora}\1|' Tools/configuration/configuration.props
|
| |
+
|
| |
+ %build
|
| |
+
|
| |
+ # strace -fo strace.log \
|
| |
+
|
| |
+ ./build.sh /v:diag /p:MinimalConsoleLogOutput=false
|
| |
+
|
| |
+ %install
|
| |
+ install -d -m 0755 %{buildroot}%{_libdir}/%{name}/
|
| |
+ ls bin/x64/Release
|
| |
+ tar xf bin/x64/Release/dotnet-sdk-%{sdk_version}-*.tar.gz -C %{buildroot}%{_libdir}/%{name}/
|
| |
+
|
| |
+ # Fix permissions on files
|
| |
+ find %{buildroot}%{_libdir}/%{name}/ -type f -name '*.props' -exec chmod -x {} \;
|
| |
+ 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 {} \;
|
| |
+
|
| |
+ 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..."
|
| |
+ %{SOURCE1} -v %{buildroot}%{_libdir}/%{name}/
|
| |
+
|
| |
+ %check
|
| |
+ %{buildroot}%{_libdir}/%{name}/dotnet --info
|
| |
+
|
| |
+ %files
|
| |
+ # empty package useful for dependencies
|
| |
+
|
| |
+ %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
|
| |
+ %dir %{_datadir}/bash-completion
|
| |
+ %dir %{_datadir}/bash-completion/completions
|
| |
+ %{_datadir}/bash-completion/completions/dotnet
|
| |
+
|
| |
+ %files runtime-2.1
|
| |
+ %dir %{_libdir}/%{name}/shared
|
| |
+ %dir %{_libdir}/%{name}/shared/Microsoft.NETCore.App
|
| |
+ %{_libdir}/%{name}/shared/Microsoft.NETCore.App/%{runtime_version}
|
| |
+
|
| |
+ %files sdk-2.1
|
| |
+ # empty package useful for dependencies
|
| |
+
|
| |
+ %files sdk-2.1.3xx
|
| |
+ %dir %{_libdir}/%{name}/sdk
|
| |
+ %{_libdir}/%{name}/sdk/%{sdk_version}
|
| |
+
|
| |
+ %changelog
|
| |
+ * Fri Jul 20 2018 Omair Majid <omajid@redhat.com> - 2.1.301-1
|
| |
+ - Update to .NET Core 2.1
|
| |
+
|
| |
+ * Thu May 03 2018 Omair Majid <omajid@redhat.com> - 2.0.7-1
|
| |
+ - Update to .NET Core 2.0.7
|
| |
+
|
| |
+ * Wed Mar 28 2018 Omair Majid <omajid@redhat.com> - 2.0.6-2
|
| |
+ - Enable bash completion for dotnet
|
| |
+ - Remove redundant buildrequires and requires
|
| |
+
|
| |
+ * Wed Mar 14 2018 Omair Majid <omajid@redhat.com> - 2.0.6-1
|
| |
+ - Update to .NET Core 2.0.6
|
| |
+
|
| |
+ * Fri Feb 23 2018 Omair Majid <omajid@redhat.com> - 2.0.5-1
|
| |
+ - Update to .NET Core 2.0.5
|
| |
+
|
| |
+ * Wed Jan 24 2018 Omair Majid <omajid@redhat.com> - 2.0.3-5
|
| |
+ - Don't apply corefx clang warnings fix on clang < 5
|
| |
+
|
| |
+ * Fri Jan 19 2018 Omair Majid <omajid@redhat.com> - 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 <omajid@redhat.com> - 2.0.3-3
|
| |
+ - Add a Provides for 'dotnet'
|
| |
+ - Fix conditional macro
|
| |
+
|
| |
+ * Tue Nov 28 2017 Omair Majid <omajid@redhat.com> - 2.0.3-2
|
| |
+ - Fix build on Fedora 27
|
| |
+
|
| |
+ * Fri Nov 17 2017 Omair Majid <omajid@redhat.com> - 2.0.3-1
|
| |
+ - Update to .NET Core 2.0.3
|
| |
+
|
| |
+ * Thu Oct 19 2017 Omair Majid <omajid@redhat.com> - 2.0.0-4
|
| |
+ - Add a hack to let omnisharp work
|
| |
+
|
| |
+ * Wed Aug 30 2017 Omair Majid <omajid@redhat.com> - 2.0.0-3
|
| |
+ - Add a patch for building coreclr and core-setup correctly on Fedora >= 27
|
| |
+
|
| |
+ * Fri Aug 25 2017 Omair Majid <omajid@redhat.com> - 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 <omajid@redhat.com> - 2.0.0-1
|
| |
+ - Update to 2.0.0 final release
|
| |
+
|
| |
+ * Wed Jul 26 2017 Omair Majid <omajid@redhat.com> - 2.0.0-0.3.preview2
|
| |
+ - Add man pages
|
| |
+
|
| |
+ * Tue Jul 25 2017 Omair Majid <omajid@redhat.com> - 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 <omajid@redhat.com> - 2.0.0-0.1.preview2
|
| |
+ - Update to .NET Core 2.0 Preview 2
|
| |
+
|
| |
+ * Thu Mar 16 2017 Nemanja Milošević <nmilosevnm@gmail.com> - 1.1.0-7
|
| |
+ - rebuilt with latest libldb
|
| |
+ * Wed Feb 22 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-6
|
| |
+ - compat-openssl 1.0 for F26 for now
|
| |
+ * Sun Feb 19 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-5
|
| |
+ - Fix wrong commit id's
|
| |
+ * Sat Feb 18 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-4
|
| |
+ - Use commit id's instead of branch names
|
| |
+ * Sat Feb 18 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-3
|
| |
+ - Improper patch5 fix
|
| |
+ * Sat Feb 18 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-2
|
| |
+ - SPEC cleanup
|
| |
+ - git removal (using all tarballs for reproducible builds)
|
| |
+ - more reasonable versioning
|
| |
+ * Thu Feb 09 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 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 <nmilosev@fedoraproject.org> - 1.1.0-0
|
| |
+ - Initial RPM for Fedora 25/26.
|
| |
+
|
| |
Build here: https://copr.fedorainfracloud.org/coprs/g/dotnet-sig/dotnet/build/779637/