dotnet8.0/dotnet5.0.spec

787 lines
27 KiB
RPMSpec
Raw Normal View History

2020-08-10 15:10:29 +00:00
%bcond_without bootstrap
2020-02-21 01:23:21 +00:00
# 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
# LTO triggers a compilation error for a source level issue. Given that LTO should not
# change the validity of any given source and the nature of the error (undefined enum), I
# suspect a generator program is mis-behaving in some way. This needs further debugging,
# until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil}
2021-01-20 22:24:05 +00:00
%global host_version 5.0.2
%global runtime_version 5.0.2
%global aspnetcore_runtime_version 5.0.2
%global sdk_version 5.0.102
%global templates_version %{runtime_version}
2020-08-10 15:10:29 +00:00
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
2020-02-21 01:23:21 +00:00
%global host_rpm_version %{host_version}
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global runtime_rpm_version %{runtime_version}
%global sdk_rpm_version %{sdk_version}
2020-08-10 15:10:29 +00:00
# upstream can update releases without revving the SDK version so these don't always match
2020-09-14 15:29:00 +00:00
%global src_version %{sdk_version}
2020-02-21 01:23:21 +00:00
%if 0%{?fedora} || 0%{?rhel} < 8
%global use_bundled_libunwind 0
%else
%global use_bundled_libunwind 1
%endif
2020-08-10 15:10:29 +00:00
%ifarch aarch64
%global use_bundled_libunwind 1
%endif
2020-02-21 01:23:21 +00:00
%ifarch x86_64
%global runtime_arch x64
%endif
%ifarch aarch64
%global runtime_arch arm64
%endif
%{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}}
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
Name: dotnet5.0
2020-02-21 01:23:21 +00:00
Version: %{sdk_rpm_version}
Release: 1%{?dist}
2020-09-14 15:29:00 +00:00
Summary: .NET Runtime and SDK
2020-02-21 01:23:21 +00:00
License: MIT and ASL 2.0 and BSD and LGPLv2+ and CC-BY and CC0 and MS-PL and EPL-1.0 and GPL+ and GPLv2 and ISC and OFL and zlib
URL: https://github.com/dotnet/
# The source is generated on a Fedora box via:
# ./build-dotnet-tarball v%%{src_version}-SDK
2021-01-20 22:24:05 +00:00
Source0: dotnet-v%{src_version}-SDK-x64-bootstrap.tar.gz
Source1: dotnet-v%{src_version}-SDK-arm64-bootstrap.tar.gz
Source10: check-debug-symbols.py
Source11: dotnet.sh.in
2020-02-21 01:23:21 +00:00
Patch1: source-build-runtime-fixup-linker-order.patch
2020-09-14 15:29:00 +00:00
# https://github.com/dotnet/runtime/pull/42094
# Fix linker order when linking with --as-needed
Patch100: runtime-linker-order.patch
2021-01-20 22:24:05 +00:00
# https://github.com/dotnet/runtime/pull/47020
# Fix build with gcc 11
Patch101: runtime-47020-gcc11.patch
2020-02-21 01:23:21 +00:00
# Disable telemetry by default; make it opt-in
2020-08-10 15:10:29 +00:00
Patch500: sdk-telemetry-optout.patch
2020-02-21 01:23:21 +00:00
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
ExclusiveArch: aarch64 x86_64
%else
2020-02-21 01:23:21 +00:00
ExclusiveArch: x86_64
%endif
2020-02-21 01:23:21 +00:00
BuildRequires: clang
BuildRequires: cmake
BuildRequires: coreutils
%if %{without bootstrap}
BuildRequires: dotnet5.0-build-reference-packages
2020-08-10 15:10:29 +00:00
BuildRequires: dotnet-sdk-5.0
BuildRequires: dotnet-sdk-5.0-source-built-artifacts
2020-02-21 01:23:21 +00:00
%endif
BuildRequires: findutils
2020-02-21 01:23:21 +00:00
BuildRequires: git
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: glibc-langpack-en
%endif
BuildRequires: hostname
BuildRequires: krb5-devel
BuildRequires: libcurl-devel
BuildRequires: libicu-devel
%if ! %{use_bundled_libunwind}
BuildRequires: libunwind-devel
%endif
BuildRequires: lldb-devel
BuildRequires: llvm
BuildRequires: lttng-ust-devel
BuildRequires: make
BuildRequires: openssl-devel
BuildRequires: python3
2020-02-27 02:56:12 +00:00
BuildRequires: systemtap-sdt-devel
2020-02-21 01:23:21 +00:00
BuildRequires: tar
BuildRequires: zlib-devel
%description
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
2020-02-21 01:23:21 +00:00
cross platform applications that work on Linux, macOS and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
2020-09-14 15:29:00 +00:00
.NET contains a runtime conforming to .NET Standards a set of
2020-02-21 01:23:21 +00:00
framework libraries, an SDK containing compilers and a 'dotnet'
application to drive everything.
%package -n dotnet
Version: %{sdk_rpm_version}
2020-09-14 15:29:00 +00:00
Summary: .NET CLI tools and runtime
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
Requires: dotnet-sdk-5.0%{?_isa} >= %{sdk_rpm_version}-%{release}
2020-02-21 01:23:21 +00:00
%description -n dotnet
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
2020-02-21 01:23:21 +00:00
cross platform applications that work on Linux, macOS and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
2020-09-14 15:29:00 +00:00
.NET contains a runtime conforming to .NET Standards a set of
2020-02-21 01:23:21 +00:00
framework libraries, an SDK containing compilers and a 'dotnet'
application to drive everything.
%package -n dotnet-host
Version: %{host_rpm_version}
Summary: .NET command line launcher
%description -n dotnet-host
2020-09-14 15:29:00 +00:00
The .NET host is a command line program that runs a standalone
.NET application or launches the SDK.
2020-02-21 01:23:21 +00:00
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
2020-02-21 01:23:21 +00:00
cross platform applications that work on Linux, Mac and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
2020-08-10 15:10:29 +00:00
%package -n dotnet-hostfxr-5.0
2020-02-21 01:23:21 +00:00
Version: %{host_rpm_version}
2020-09-14 15:29:00 +00:00
Summary: .NET command line host resolver
2020-02-21 01:23:21 +00:00
# Theoretically any version of the host should work. But lets aim for the one
2020-09-14 15:29:00 +00:00
# provided by this package, or from a newer version of .NET
2020-02-21 01:23:21 +00:00
Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release}
2020-08-10 15:10:29 +00:00
%description -n dotnet-hostfxr-5.0
2020-09-14 15:29:00 +00:00
The .NET host resolver contains the logic to resolve and select
the right version of the .NET SDK or runtime to use.
2020-02-21 01:23:21 +00:00
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
2020-02-21 01:23:21 +00:00
cross platform applications that work on Linux, Mac and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
2020-08-10 15:10:29 +00:00
%package -n dotnet-runtime-5.0
2020-02-21 01:23:21 +00:00
Version: %{runtime_rpm_version}
2020-09-14 15:29:00 +00:00
Summary: NET 5.0 runtime
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
Requires: dotnet-hostfxr-5.0%{?_isa} >= %{host_rpm_version}-%{release}
2020-02-21 01:23:21 +00:00
# libicu is dlopen()ed
Requires: libicu%{?_isa}
%if %{use_bundled_libunwind}
Provides: bundled(libunwind) = 1.3
%endif
2020-08-10 15:10:29 +00:00
%description -n dotnet-runtime-5.0
2020-09-14 15:29:00 +00:00
The .NET runtime contains everything needed to run .NET applications.
2020-02-21 01:23:21 +00:00
It includes a high performance Virtual Machine as well as the framework
2020-09-14 15:29:00 +00:00
libraries used by .NET applications.
2020-02-21 01:23:21 +00:00
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
2020-02-21 01:23:21 +00:00
cross platform applications that work on Linux, Mac and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
2020-08-10 15:10:29 +00:00
%package -n aspnetcore-runtime-5.0
2020-02-21 01:23:21 +00:00
Version: %{aspnetcore_runtime_rpm_version}
2020-08-10 15:10:29 +00:00
Summary: ASP.NET Core 5.0 runtime
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
Requires: dotnet-runtime-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
%description -n aspnetcore-runtime-5.0
2020-09-14 15:29:00 +00:00
The ASP.NET Core runtime contains everything needed to run .NET
2020-02-21 01:23:21 +00:00
web applications. It includes a high performance Virtual Machine as
2020-09-14 15:29:00 +00:00
well as the framework libraries used by .NET applications.
2020-02-21 01:23:21 +00:00
ASP.NET Core is a fast, lightweight and modular platform for creating
cross platform web applications that work on Linux, Mac and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
2020-08-10 15:10:29 +00:00
%package -n dotnet-templates-5.0
2020-02-21 01:23:21 +00:00
Version: %{sdk_rpm_version}
2020-09-14 15:29:00 +00:00
Summary: .NET 5.0 templates
2020-02-21 01:23:21 +00:00
# Theoretically any version of the host should work. But lets aim for the one
2020-09-14 15:29:00 +00:00
# provided by this package, or from a newer version of .NET
2020-02-21 01:23:21 +00:00
Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release}
2020-08-10 15:10:29 +00:00
%description -n dotnet-templates-5.0
2020-09-14 15:29:00 +00:00
This package contains templates used by the .NET SDK.
2020-02-21 01:23:21 +00:00
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
cross platform applications that work on Linux, Mac and Windows.
2020-02-21 01:23:21 +00:00
It particularly focuses on creating console applications, web
applications and micro-services.
2020-08-10 15:10:29 +00:00
%package -n dotnet-sdk-5.0
2020-02-21 01:23:21 +00:00
Version: %{sdk_rpm_version}
2020-09-14 15:29:00 +00:00
Summary: .NET 5.0 Software Development Kit
2020-02-21 01:23:21 +00:00
Provides: bundled(js-jquery)
Provides: bundled(npm)
2020-08-10 15:10:29 +00:00
Requires: dotnet-runtime-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
Requires: aspnetcore-runtime-5.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
Requires: dotnet-apphost-pack-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
Requires: dotnet-targeting-pack-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
Requires: aspnetcore-targeting-pack-5.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
2020-02-21 01:23:21 +00:00
Requires: netstandard-targeting-pack-2.1%{?_isa} >= %{sdk_rpm_version}-%{release}
2020-08-10 15:10:29 +00:00
Requires: dotnet-templates-5.0%{?_isa} >= %{sdk_rpm_version}-%{release}
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
%description -n dotnet-sdk-5.0
2020-09-14 15:29:00 +00:00
The .NET SDK is a collection of command line applications to
create, build, publish and run .NET applications.
2020-02-21 01:23:21 +00:00
2020-09-14 15:29:00 +00:00
.NET is a fast, lightweight and modular platform for creating
2020-02-21 01:23:21 +00:00
cross platform applications that work on Linux, Mac and Windows.
It particularly focuses on creating console applications, web
applications and micro-services.
%global dotnet_targeting_pack() %{expand:
%package -n %{1}
Version: %{2}
Summary: Targeting Pack for %{3} %{4}
Requires: dotnet-host%{?_isa}
%description -n %{1}
This package provides a targeting pack for %{3} %{4}
that allows developers to compile against and target %{3} %{4}
2020-09-14 15:29:00 +00:00
applications using the .NET SDK.
2020-02-21 01:23:21 +00:00
%files -n %{1}
%dir %{_libdir}/dotnet/packs
%{_libdir}/dotnet/packs/%{5}
}
2020-08-10 15:10:29 +00:00
%dotnet_targeting_pack dotnet-apphost-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Host.%{runtime_id}
%dotnet_targeting_pack dotnet-targeting-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Ref
%dotnet_targeting_pack aspnetcore-targeting-pack-5.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 5.0 Microsoft.AspNetCore.App.Ref
2020-02-21 01:23:21 +00:00
%dotnet_targeting_pack netstandard-targeting-pack-2.1 %{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref
2020-08-10 15:10:29 +00:00
%package -n dotnet-sdk-5.0-source-built-artifacts
2020-02-21 01:23:21 +00:00
Version: %{sdk_rpm_version}
2020-09-14 15:29:00 +00:00
Summary: Internal package for building .NET 5.0 Software Development Kit
2020-02-21 01:23:21 +00:00
2020-08-10 15:10:29 +00:00
%description -n dotnet-sdk-5.0-source-built-artifacts
2020-09-14 15:29:00 +00:00
The .NET source-built archive is a collection of packages needed
to build the .NET SDK itself.
2020-02-21 01:23:21 +00:00
These are not meant for general use.
%prep
2021-01-20 22:24:05 +00:00
%if %{without bootstrap}
%setup -q -n dotnet-v%{src_version}-SDK
%else
%ifarch x86_64
%setup -q -T -b 0 -n dotnet-v%{src_version}-SDK-%{runtime_arch}-bootstrap
%endif
%ifarch aarch64
%setup -q -T -b 1 -n dotnet-v%{src_version}-SDK-%{runtime_arch}-bootstrap
%endif
%endif
2020-02-21 01:23:21 +00:00
%if %{without bootstrap}
# Remove all prebuilts
find -iname '*.dll' -type f -delete
find -iname '*.so' -type f -delete
find -iname '*.tar.gz' -type f -delete
find -iname '*.nupkg' -type f -delete
find -iname '*.zip' -type f -delete
rm -rf .dotnet/
2020-08-10 15:10:29 +00:00
rm -rf packages/source-built
2020-02-21 01:23:21 +00:00
%endif
%if %{without bootstrap}
mkdir -p packages/archive
ln -s %{_libdir}/dotnet/source-built-artifacts/*.tar.gz packages/archive/
2021-01-18 15:26:45 +00:00
ln -s %{_libdir}/dotnet/reference-packages/*.tar.gz packages/archive
2020-02-21 01:23:21 +00:00
%endif
# Fix bad hardcoded path in build
2020-08-10 15:10:29 +00:00
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/installer/corehost/cli/hostmisc/pal.unix.cpp
2020-02-21 01:23:21 +00:00
# Disable warnings
2020-08-10 15:10:29 +00:00
sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props
2020-02-21 01:23:21 +00:00
%patch1 -p1
2020-08-10 15:10:29 +00:00
pushd src/runtime.*
2020-02-21 01:23:21 +00:00
%patch100 -p1
2021-01-20 22:24:05 +00:00
%patch101 -p1
2020-02-21 01:23:21 +00:00
popd
2020-08-10 15:10:29 +00:00
pushd src/sdk.*
2020-02-21 01:23:21 +00:00
%patch500 -p1
popd
2021-01-21 23:53:18 +00:00
%if %{without bootstrap}
%ifnarch x86_64
mkdir -p artifacts/obj/%{runtime_arch}/Release
cp artifacts/obj/x64/Release/PackageVersions.props artifacts/obj/%{runtime_arch}/Release/PackageVersions.props
%endif
%endif
2020-02-21 01:23:21 +00:00
cat source-build-info.txt
find -iname 'nuget.config' -exec echo {}: \; -exec cat {} \; -exec echo \;
%build
cat /etc/os-release
%if %{without bootstrap}
# We need to create a copy because we will mutate this
cp -a %{_libdir}/dotnet previously-built-dotnet
2020-02-21 01:23:21 +00:00
%endif
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
# Setting this macro ensures that only clang supported options will be
# added to ldflags and cflags.
%global toolchain clang
%set_build_flags
%else
# Filter flags not supported by clang
%global dotnet_cflags %(echo %optflags | sed -re 's/-specs=[^ ]*//g')
%global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g')
export CFLAGS="%{dotnet_cflags}"
export CXXFLAGS="%{dotnet_cflags}"
export LDFLAGS="%{dotnet_ldflags}"
%endif
%ifarch aarch64
# -mbranch-protection=standard breaks unwinding in CoreCLR through libunwind
CFLAGS=$(echo $CFLAGS | sed -e 's/-mbranch-protection=standard //')
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-mbranch-protection=standard //')
%endif
# -fstack-clash-protection breaks CoreCLR
CFLAGS=$(echo $CFLAGS | sed -e 's/-fstack-clash-protection//' )
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-fstack-clash-protection//' )
export EXTRA_CFLAGS="$CFLAGS"
export EXTRA_CXXFLAGS="$CXXFLAGS"
export EXTRA_LDFLAGS="$LDFLAGS"
unset CFLAGS
unset CXXFLAGS
unset LDFLAGS
2020-02-21 01:23:21 +00:00
#%%if %%{without bootstrap}
# --with-ref-packages %%{_libdir}/dotnet/reference-packages/ \
# --with-packages %%{_libdir}/dotnet/source-built-artifacts/*.tar.gz \
# --with-sdk %%{_libdir}/dotnet \
#%%endif
2020-02-21 01:23:21 +00:00
VERBOSE=1 ./build.sh \
%if %{without bootstrap}
--with-sdk previously-built-dotnet \
%endif
-- \
/v:n \
/p:SkipPortableRuntimeBuild=true \
/p:LogVerbosity=n \
/p:MinimalConsoleLogOutput=false \
/p:ContinueOnPrebuiltBaselineError=true \
%if %{use_bundled_libunwind}
/p:UseSystemLibunwind=false \
%else
/p:UseSystemLibunwind=true \
%endif
2020-02-21 01:23:21 +00:00
2021-01-20 22:24:05 +00:00
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE11} > dotnet.sh
2020-02-21 01:23:21 +00:00
%install
install -dm 0755 %{buildroot}%{_libdir}/dotnet
2020-08-10 15:10:29 +00:00
ls artifacts/%{runtime_arch}/Release
2020-09-14 15:29:00 +00:00
tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/
2020-02-21 01:23:21 +00:00
# Install managed symbols
2020-08-10 15:10:29 +00:00
tar xf artifacts/%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%{runtime_version}-%{runtime_id}.tar.gz \
2020-02-21 01:23:21 +00:00
-C %{buildroot}/%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}/
# Fix executable permissions on files
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.a' -exec chmod -x {} \;
2020-02-21 01:23:21 +00:00
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.dll' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.h' -exec chmod -x {} \;
2020-02-21 01:23:21 +00:00
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.pdb' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.props' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.pubxml' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.targets' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.xml' -exec chmod -x {} \;
2020-02-21 01:23:21 +00:00
chmod 0755 %{buildroot}/%{_libdir}/dotnet/sdk/%{sdk_version}/AppHostTemplate/apphost
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/apphost
2020-09-14 15:29:00 +00:00
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/libnethost.so
2020-02-21 01:23:21 +00:00
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h
2020-09-14 15:29:00 +00:00
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/singlefilehost
2020-02-21 01:23:21 +00:00
install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions
# dynamic completion needs the file to be named the same as the base command
2020-08-10 15:10:29 +00:00
install src/sdk.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet
2020-02-21 01:23:21 +00:00
# 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 -dm 0755 %{buildroot}%{_bindir}
ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/
install -dm 0755 %{buildroot}%{_mandir}/man1/
find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \;
echo "%{_libdir}/dotnet" >> install_location
install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet
install install_location %{buildroot}%{_sysconfdir}/dotnet/
2021-01-18 15:26:45 +00:00
install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
2020-02-21 01:23:21 +00:00
# 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..."
2021-01-20 22:24:05 +00:00
%{SOURCE10} -v %{buildroot}%{_libdir}/dotnet/
2020-02-21 01:23:21 +00:00
%check
%{buildroot}%{_libdir}/dotnet/dotnet --info
%files -n dotnet
# empty package useful for dependencies
%files -n dotnet-host
%dir %{_libdir}/dotnet
%{_libdir}/dotnet/dotnet
%dir %{_libdir}/dotnet/host
%dir %{_libdir}/dotnet/host/fxr
%{_bindir}/dotnet
%license %{_libdir}/dotnet/LICENSE.txt
%license %{_libdir}/dotnet/ThirdPartyNotices.txt
%doc %{_mandir}/man1/dotnet*.1.gz
%{_sysconfdir}/profile.d/dotnet.sh
%{_sysconfdir}/dotnet
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/dotnet
2020-08-10 15:10:29 +00:00
%files -n dotnet-hostfxr-5.0
2020-02-21 01:23:21 +00:00
%dir %{_libdir}/dotnet/host/fxr
%{_libdir}/dotnet/host/fxr/%{host_version}
2020-08-10 15:10:29 +00:00
%files -n dotnet-runtime-5.0
2020-02-21 01:23:21 +00:00
%dir %{_libdir}/dotnet/shared
%dir %{_libdir}/dotnet/shared/Microsoft.NETCore.App
%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}
2020-08-10 15:10:29 +00:00
%files -n aspnetcore-runtime-5.0
2020-02-21 01:23:21 +00:00
%dir %{_libdir}/dotnet/shared
%dir %{_libdir}/dotnet/shared/Microsoft.AspNetCore.App
%{_libdir}/dotnet/shared/Microsoft.AspNetCore.App/%{aspnetcore_runtime_version}
2020-08-10 15:10:29 +00:00
%files -n dotnet-templates-5.0
2020-02-21 01:23:21 +00:00
%dir %{_libdir}/dotnet/templates
%{_libdir}/dotnet/templates/%{templates_version}
2020-08-10 15:10:29 +00:00
%files -n dotnet-sdk-5.0
2020-02-21 01:23:21 +00:00
%dir %{_libdir}/dotnet/sdk
%{_libdir}/dotnet/sdk/%{sdk_version}
%dir %{_libdir}/dotnet/packs
2021-01-18 15:26:45 +00:00
%files -n dotnet-sdk-5.0-source-built-artifacts
%dir %{_libdir}/dotnet
%{_libdir}/dotnet/source-built-artifacts
2020-02-21 01:23:21 +00:00
%changelog
2021-01-18 15:26:45 +00:00
* Fri Dec 18 2020 Omair Majid <omajid@redhat.com> - 5.0.100-2
- Update to .NET Core Runtime 5.0.0 and SDK 5.0.100 commit 9c4e5de
* Fri Dec 04 2020 Omair Majid <omajid@redhat.com> - 5.0.100-1
- Update to .NET Core Runtime 5.0.0 and SDK 5.0.100
* Thu Dec 03 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.4.20201202git337413b
- Update to latest 5.0 pre-GA commit
* Tue Nov 24 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.4.20201123gitdee899c
- Update to 5.0 pre-GA commit
2020-09-14 15:29:00 +00:00
* Mon Sep 14 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.3.preview8
- Update to Preview 8
2020-08-10 15:10:29 +00:00
* Fri Jul 10 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.2.preview4
- Fix building with custom CFLAGS/CXXFLAGS/LDFLAGS
- Clean up patches
* Mon Jul 06 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.1.preview4
- Initial build
* Sat Jun 27 2020 Omair Majid <omajid@redhat.com> - 3.1.105-4
- Disable bootstrap
* Fri Jun 26 2020 Omair Majid <omajid@redhat.com> - 3.1.105-3
- Re-bootstrap aarch64
* Fri Jun 19 2020 Omair Majid <omajid@redhat.com> - 3.1.105-3
- Disable bootstrap
* Thu Jun 18 2020 Omair Majid <omajid@redhat.com> - 3.1.105-1
- Bootstrap aarch64
* Tue Jun 16 2020 Chris Rummel <crummel@microsoft.com> - 3.1.105-1
- Update to .NET Core Runtime 3.1.5 and SDK 3.1.105
* Fri Jun 05 2020 Chris Rummel <crummel@microsoft.com> - 3.1.104-1
- Update to .NET Core Runtime 3.1.4 and SDK 3.1.104
* Thu Apr 09 2020 Chris Rummel <crummel@microsoft.com> - 3.1.103-1
- Update to .NET Core Runtime 3.1.3 and SDK 3.1.103
* Mon Mar 16 2020 Omair Majid <omajid@redhat.com> - 3.1.102-1
- Update to .NET Core Runtime 3.1.2 and SDK 3.1.102
2020-02-28 19:26:16 +00:00
* Fri Feb 28 2020 Omair Majid <omajid@redhat.com> - 3.1.101-4
- Disable bootstrap
* Fri Feb 28 2020 Omair Majid <omajid@redhat.com> - 3.1.101-3
- Enable bootstrap
- Add Fedora 33 runtime ids
2020-02-27 22:57:48 +00:00
* Thu Feb 27 2020 Omair Majid <omajid@redhat.com> - 3.1.101-2
- Disable bootstrap
2020-02-21 01:23:21 +00:00
* Tue Jan 21 2020 Omair Majid <omajid@redhat.com> - 3.1.101-1
- Update to .NET Core Runtime 3.1.1 and SDK 3.1.101
* Thu Dec 05 2019 Omair Majid <omajid@redhat.com> - 3.1.100-1
- Update to .NET Core Runtime 3.1.0 and SDK 3.1.100
* Mon Nov 18 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.4.preview3
- Fix apphost permissions
* Fri Nov 15 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.3.preview3
- Update to .NET Core Runtime 3.1.0-preview3.19553.2 and SDK
3.1.100-preview3-014645
* Wed Nov 06 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.2
- Update to .NET Core 3.1 Preview 2
* Wed Oct 30 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.1
- Update to .NET Core 3.1 Preview 1
* Thu Oct 24 2019 Omair Majid <omajid@redhat.com> - 3.0.100-5
- Add cgroupv2 support to .NET Core
* Wed Oct 16 2019 Omair Majid <omajid@redhat.com> - 3.0.100-4
- Include fix from coreclr for building on Fedora 32
* Wed Oct 16 2019 Omair Majid <omajid@redhat.com> - 3.0.100-3
- Harden built binaries to pass annocheck
* Fri Oct 11 2019 Omair Majid <omajid@redhat.com> - 3.0.100-2
- Export DOTNET_ROOT in profile to make apphost lookup work
* Fri Sep 27 2019 Omair Majid <omajid@redhat.com> - 3.0.100-1
- Update to .NET Core Runtime 3.0.0 and SDK 3.0.100
* Wed Sep 25 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.18.rc1
- Update to .NET Core Runtime 3.0.0-rc1-19456-20 and SDK 3.0.100-rc1-014190
* Tue Sep 17 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.16.preview9
- Fix files duplicated between dotnet-apphost-pack-3.0 and dotnet-targeting-pack-3.0
- Fix dependencies between .NET SDK and the targeting packs
* Mon Sep 16 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.15.preview9
- Update to .NET Core Runtime 3.0.0-preview 9 and SDK 3.0.100-preview9
* Mon Aug 19 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.11.preview8
- Update to .NET Core Runtime 3.0.0-preview8-28405-07 and SDK
3.0.100-preview8-013656
* Tue Jul 30 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.9.preview7
- Update to .NET Core Runtime 3.0.0-preview7-27912-14 and SDK
3.0.100-preview7-012821
* Fri Jul 26 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.8.preview7
- Update to .NET Core Runtime 3.0.0-preview7-27902-19 and SDK
3.0.100-preview7-012802
* Wed Jun 26 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.7.preview6
- Obsolete dotnet-sdk-3.0.1xx
- Add supackages for targeting packs
- Add -fcf-protection to CFLAGS
* Wed Jun 26 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.6.preview6
- Update to .NET Core Runtime 3.0.0-preview6-27804-01 and SDK 3.0.100-preview6-012264
- Set dotnet installation location in /etc/dotnet/install_location
- Update targeting packs
- Install managed symbols
- Completely conditionalize libunwind bundling
* Tue May 07 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.3.preview4
- Update to .NET Core 3.0 preview 4
* Tue Dec 18 2018 Omair Majid <omajid@redhat.com> - 3.0.0-0.1.preview1
- Update to .NET Core 3.0 preview 1
* Fri Dec 07 2018 Omair Majid <omajid@redhat.com> - 2.2.100
- Update to .NET Core 2.2.0
* Wed Nov 07 2018 Omair Majid <omajid@redhat.com> - 2.2.100-0.2.preview3
- Update to .NET Core 2.2.0-preview3
* Fri Nov 02 2018 Omair Majid <omajid@redhat.com> - 2.1.403-3
- Add host-fxr-2.1 subpackage
* Mon Oct 15 2018 Omair Majid <omajid@redhat.com> - 2.1.403-2
- Disable telemetry by default
- Users have to manually export DOTNET_CLI_TELEMETRY_OPTOUT=0 to enable
* Tue Oct 02 2018 Omair Majid <omajid@redhat.com> - 2.1.403-1
- Update to .NET Core Runtime 2.1.5 and SDK 2.1.403
* Wed Sep 26 2018 Omair Majid <omajid@redhat.com> - 2.1.402-2
- Add ~/.dotnet/tools to $PATH to make it easier to use dotnet tools
* Thu Sep 13 2018 Omair Majid <omajid@redhat.com> - 2.1.402-1
- Update to .NET Core Runtime 2.1.4 and SDK 2.1.402
* Wed Sep 05 2018 Omair Majid <omajid@redhat.com> - 2.1.401-2
- Use distro-standard flags when building .NET Core
* Tue Aug 21 2018 Omair Majid <omajid@redhat.com> - 2.1.401-1
- Update to .NET Core Runtime 2.1.3 and SDK 2.1.401
* Mon Aug 20 2018 Omair Majid <omajid@redhat.com> - 2.1.302-1
- Update to .NET Core Runtime 2.1.2 and SDK 2.1.302
* 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.