Blame SPECS/dotnet5.0.spec

5255f8
%bcond_without bootstrap
5255f8
5255f8
# Avoid provides/requires from private libraries
5255f8
%global privlibs             libhostfxr
5255f8
%global privlibs %{privlibs}|libclrjit
5255f8
%global privlibs %{privlibs}|libcoreclr
5255f8
%global privlibs %{privlibs}|libcoreclrtraceptprovider
5255f8
%global privlibs %{privlibs}|libdbgshim
5255f8
%global privlibs %{privlibs}|libhostpolicy
5255f8
%global privlibs %{privlibs}|libmscordaccore
5255f8
%global privlibs %{privlibs}|libmscordbi
5255f8
%global privlibs %{privlibs}|libsos
5255f8
%global privlibs %{privlibs}|libsosplugin
5255f8
%global __provides_exclude ^(%{privlibs})\\.so
5255f8
%global __requires_exclude ^(%{privlibs})\\.so
5255f8
5255f8
# LTO triggers a compilation error for a source level issue.  Given that LTO should not
5255f8
# change the validity of any given source and the nature of the error (undefined enum), I
5255f8
# suspect a generator program is mis-behaving in some way.  This needs further debugging,
5255f8
# until that's done, disable LTO.  This has to happen before setting the flags below.
5255f8
%define _lto_cflags %{nil}
5255f8
5255f8
%global host_version 5.0.3
5255f8
%global runtime_version 5.0.3
5255f8
%global aspnetcore_runtime_version %{runtime_version}
5255f8
%global sdk_version 5.0.103
5255f8
%global templates_version %{runtime_version}
5255f8
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
5255f8
5255f8
%global host_rpm_version %{host_version}
5255f8
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
5255f8
%global runtime_rpm_version %{runtime_version}
5255f8
%global sdk_rpm_version %{sdk_version}
5255f8
5255f8
# upstream can update releases without revving the SDK version so these don't always match
5255f8
%global src_version %{sdk_version}
5255f8
5255f8
%if 0%{?fedora} || 0%{?rhel} < 8
5255f8
%global use_bundled_libunwind 0
5255f8
%else
5255f8
%global use_bundled_libunwind 1
5255f8
%endif
5255f8
5255f8
%ifarch aarch64
5255f8
%global use_bundled_libunwind 1
5255f8
%endif
5255f8
5255f8
%ifarch x86_64
5255f8
%global runtime_arch x64
5255f8
%endif
5255f8
%ifarch aarch64
5255f8
%global runtime_arch arm64
5255f8
%endif
5255f8
5255f8
%{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}}
5255f8
5255f8
Name:           dotnet5.0
5255f8
Version:        %{sdk_rpm_version}
5255f8
Release:        2%{?dist}
5255f8
Summary:        .NET Runtime and SDK
5255f8
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
5255f8
URL:            https://github.com/dotnet/
5255f8
5255f8
# The source is generated on a Fedora box via:
5255f8
# ./build-dotnet-tarball v%%{src_version}-SDK
5255f8
Source0:        dotnet-v%{src_version}-SDK.tar.gz
5255f8
Source1:        check-debug-symbols.py
5255f8
Source2:        dotnet.sh.in
5255f8
5255f8
Patch1:         source-build-runtime-fixup-linker-order.patch
5255f8
5255f8
# https://github.com/dotnet/runtime/pull/42094
5255f8
# Fix linker order when linking with --as-needed
5255f8
Patch100:       runtime-linker-order.patch
5255f8
5255f8
# Disable telemetry by default; make it opt-in
5255f8
Patch500:       sdk-telemetry-optout.patch
5255f8
5255f8
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
5255f8
ExclusiveArch:  aarch64 x86_64
5255f8
%else
5255f8
ExclusiveArch:  x86_64
5255f8
%endif
5255f8
5255f8
5255f8
BuildRequires:  clang
5255f8
BuildRequires:  cmake
5255f8
BuildRequires:  coreutils
5255f8
%if %{without bootstrap}
5255f8
BuildRequires:  dotnet-build-reference-packages
5255f8
BuildRequires:  dotnet-sdk-5.0
5255f8
BuildRequires:  dotnet-sdk-5.0-source-built-artifacts
5255f8
%endif
5255f8
BuildRequires:  findutils
5255f8
BuildRequires:  git
5255f8
%if 0%{?fedora} || 0%{?rhel} > 7
5255f8
BuildRequires:  glibc-langpack-en
5255f8
%endif
5255f8
BuildRequires:  hostname
5255f8
BuildRequires:  krb5-devel
5255f8
BuildRequires:  libcurl-devel
5255f8
BuildRequires:  libicu-devel
5255f8
%if ! %{use_bundled_libunwind}
5255f8
BuildRequires:  libunwind-devel
5255f8
%endif
5255f8
BuildRequires:  lldb-devel
5255f8
BuildRequires:  llvm
5255f8
BuildRequires:  lttng-ust-devel
5255f8
BuildRequires:  make
5255f8
BuildRequires:  openssl-devel
5255f8
BuildRequires:  python3
5255f8
BuildRequires:  systemtap-sdt-devel
5255f8
BuildRequires:  tar
5255f8
BuildRequires:  zlib-devel
5255f8
5255f8
%description
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, macOS and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
.NET contains a runtime conforming to .NET Standards a set of
5255f8
framework libraries, an SDK containing compilers and a 'dotnet'
5255f8
application to drive everything.
5255f8
5255f8
5255f8
%package -n dotnet
5255f8
5255f8
Version:        %{sdk_rpm_version}
5255f8
Summary:        .NET CLI tools and runtime
5255f8
5255f8
Requires:       dotnet-sdk-5.0%{?_isa} >= %{sdk_rpm_version}-%{release}
5255f8
5255f8
%description -n dotnet
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, macOS and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
.NET contains a runtime conforming to .NET Standards a set of
5255f8
framework libraries, an SDK containing compilers and a 'dotnet'
5255f8
application to drive everything.
5255f8
5255f8
5255f8
%package -n dotnet-host
5255f8
5255f8
Version:        %{host_rpm_version}
5255f8
Summary:        .NET command line launcher
5255f8
5255f8
%description -n dotnet-host
5255f8
The .NET host is a command line program that runs a standalone
5255f8
.NET application or launches the SDK.
5255f8
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, Mac and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
5255f8
%package -n dotnet-hostfxr-5.0
5255f8
5255f8
Version:        %{host_rpm_version}
5255f8
Summary:        .NET command line host resolver
5255f8
5255f8
# Theoretically any version of the host should work. But lets aim for the one
5255f8
# provided by this package, or from a newer version of .NET
5255f8
Requires:       dotnet-host%{?_isa} >= %{host_rpm_version}-%{release}
5255f8
5255f8
%description -n dotnet-hostfxr-5.0
5255f8
The .NET host resolver contains the logic to resolve and select
5255f8
the right version of the .NET SDK or runtime to use.
5255f8
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, Mac and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
5255f8
%package -n dotnet-runtime-5.0
5255f8
5255f8
Version:        %{runtime_rpm_version}
5255f8
Summary:        NET 5.0 runtime
5255f8
5255f8
Requires:       dotnet-hostfxr-5.0%{?_isa} >= %{host_rpm_version}-%{release}
5255f8
5255f8
# libicu is dlopen()ed
5255f8
Requires:       libicu%{?_isa}
5255f8
5255f8
%if %{use_bundled_libunwind}
5255f8
Provides: bundled(libunwind) = 1.3
5255f8
%endif
5255f8
5255f8
%description -n dotnet-runtime-5.0
5255f8
The .NET runtime contains everything needed to run .NET applications.
5255f8
It includes a high performance Virtual Machine as well as the framework
5255f8
libraries used by .NET applications.
5255f8
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, Mac and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
5255f8
%package -n aspnetcore-runtime-5.0
5255f8
5255f8
Version:        %{aspnetcore_runtime_rpm_version}
5255f8
Summary:        ASP.NET Core 5.0 runtime
5255f8
5255f8
Requires:       dotnet-runtime-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
5255f8
5255f8
%description -n aspnetcore-runtime-5.0
5255f8
The ASP.NET Core runtime contains everything needed to run .NET
5255f8
web applications. It includes a high performance Virtual Machine as
5255f8
well as the framework libraries used by .NET applications.
5255f8
5255f8
ASP.NET Core is a fast, lightweight and modular platform for creating
5255f8
cross platform web applications that work on Linux, Mac and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
5255f8
%package -n dotnet-templates-5.0
5255f8
5255f8
Version:        %{sdk_rpm_version}
5255f8
Summary:        .NET 5.0 templates
5255f8
5255f8
# Theoretically any version of the host should work. But lets aim for the one
5255f8
# provided by this package, or from a newer version of .NET
5255f8
Requires:       dotnet-host%{?_isa} >= %{host_rpm_version}-%{release}
5255f8
5255f8
%description -n dotnet-templates-5.0
5255f8
This package contains templates used by the .NET SDK.
5255f8
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, Mac and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
5255f8
%package -n dotnet-sdk-5.0
5255f8
5255f8
Version:        %{sdk_rpm_version}
5255f8
Summary:        .NET 5.0 Software Development Kit
5255f8
5255f8
Provides:       bundled(js-jquery)
5255f8
Provides:       bundled(npm)
5255f8
5255f8
Requires:       dotnet-runtime-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
5255f8
Requires:       aspnetcore-runtime-5.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
5255f8
5255f8
Requires:       dotnet-apphost-pack-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
5255f8
Requires:       dotnet-targeting-pack-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
5255f8
Requires:       aspnetcore-targeting-pack-5.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
5255f8
Requires:       netstandard-targeting-pack-2.1%{?_isa} >= %{sdk_rpm_version}-%{release}
5255f8
5255f8
Requires:       dotnet-templates-5.0%{?_isa} >= %{sdk_rpm_version}-%{release}
5255f8
5255f8
%description -n dotnet-sdk-5.0
5255f8
The .NET SDK is a collection of command line applications to
5255f8
create, build, publish and run .NET applications.
5255f8
5255f8
.NET is a fast, lightweight and modular platform for creating
5255f8
cross platform applications that work on Linux, Mac and Windows.
5255f8
5255f8
It particularly focuses on creating console applications, web
5255f8
applications and micro-services.
5255f8
5255f8
5255f8
%global dotnet_targeting_pack() %{expand:
5255f8
%package -n %{1}
5255f8
5255f8
Version:        %{2}
5255f8
Summary:        Targeting Pack for %{3} %{4}
5255f8
5255f8
Requires:       dotnet-host%{?_isa}
5255f8
5255f8
%description -n %{1}
5255f8
This package provides a targeting pack for %{3} %{4}
5255f8
that allows developers to compile against and target %{3} %{4}
5255f8
applications using the .NET SDK.
5255f8
5255f8
%files -n %{1}
5255f8
%dir %{_libdir}/dotnet/packs
5255f8
%{_libdir}/dotnet/packs/%{5}
5255f8
}
5255f8
5255f8
%dotnet_targeting_pack dotnet-apphost-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Host.%{runtime_id}
5255f8
%dotnet_targeting_pack dotnet-targeting-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Ref
5255f8
%dotnet_targeting_pack aspnetcore-targeting-pack-5.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 5.0 Microsoft.AspNetCore.App.Ref
5255f8
%dotnet_targeting_pack netstandard-targeting-pack-2.1 %{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref
5255f8
5255f8
5255f8
%package -n dotnet-sdk-5.0-source-built-artifacts
5255f8
5255f8
Version:        %{sdk_rpm_version}
5255f8
Summary:        Internal package for building .NET 5.0 Software Development Kit
5255f8
5255f8
%description -n dotnet-sdk-5.0-source-built-artifacts
5255f8
The .NET source-built archive is a collection of packages needed
5255f8
to build the .NET SDK itself.
5255f8
5255f8
These are not meant for general use.
5255f8
5255f8
5255f8
%prep
5255f8
%setup -q -n dotnet-v%{src_version}-SDK
5255f8
5255f8
%if %{without bootstrap}
5255f8
# Remove all prebuilts
5255f8
find -iname '*.dll' -type f -delete
5255f8
find -iname '*.so' -type f -delete
5255f8
find -iname '*.tar.gz' -type f -delete
5255f8
find -iname '*.nupkg' -type f -delete
5255f8
find -iname '*.zip' -type f -delete
5255f8
rm -rf .dotnet/
5255f8
rm -rf packages/source-built
5255f8
%endif
5255f8
5255f8
%if %{without bootstrap}
5255f8
sed -i -e 's|5.0.100-preview1-014459|5.0.103|' global.json
5255f8
mkdir -p packages/archive
5255f8
ln -s %{_libdir}/dotnet/source-built-artifacts/*.tar.gz packages/archive/
5255f8
ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages*.tar.gz packages/archive
5255f8
%endif
5255f8
5255f8
# Fix bad hardcoded path in build
5255f8
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/dotnet-runtime.*/src/installer/corehost/cli/hostmisc/pal.unix.cpp
5255f8
5255f8
# Disable warnings
5255f8
sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props
5255f8
5255f8
%patch1 -p1
5255f8
5255f8
pushd src/dotnet-runtime.*
5255f8
%patch100 -p1
5255f8
popd
5255f8
5255f8
pushd src/dotnet-sdk.*
5255f8
%patch500 -p1
5255f8
popd
5255f8
5255f8
%ifnarch x86_64
5255f8
mkdir -p artifacts/obj/%{runtime_arch}/Release
5255f8
cp artifacts/obj/x64/Release/PackageVersions.props artifacts/obj/%{runtime_arch}/Release/PackageVersions.props
5255f8
%endif
5255f8
5255f8
cat source-build-info.txt
5255f8
5255f8
find -iname 'nuget.config' -exec echo {}: \; -exec cat {} \; -exec echo \;
5255f8
5255f8
5255f8
%build
5255f8
cat /etc/os-release
5255f8
5255f8
%if %{without bootstrap}
5255f8
# We need to create a copy because we will mutate this
5255f8
cp -a %{_libdir}/dotnet previously-built-dotnet
5255f8
%endif
5255f8
5255f8
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
5255f8
# Setting this macro ensures that only clang supported options will be
5255f8
# added to ldflags and cflags.
5255f8
%global toolchain clang
5255f8
%set_build_flags
5255f8
%else
5255f8
# Filter flags not supported by clang
5255f8
%global dotnet_cflags %(echo %optflags | sed -re 's/-specs=[^ ]*//g')
5255f8
%global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g')
5255f8
export CFLAGS="%{dotnet_cflags}"
5255f8
export CXXFLAGS="%{dotnet_cflags}"
5255f8
export LDFLAGS="%{dotnet_ldflags}"
5255f8
%endif
5255f8
 
5255f8
%ifarch aarch64
5255f8
# -mbranch-protection=standard breaks unwinding in CoreCLR through libunwind
5255f8
CFLAGS=$(echo $CFLAGS | sed -e 's/-mbranch-protection=standard //')
5255f8
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-mbranch-protection=standard //')
5255f8
%endif
5255f8
 
5255f8
# -fstack-clash-protection breaks CoreCLR
5255f8
CFLAGS=$(echo $CFLAGS  | sed -e 's/-fstack-clash-protection//' )
5255f8
CXXFLAGS=$(echo $CXXFLAGS  | sed -e 's/-fstack-clash-protection//' )
5255f8
5255f8
export EXTRA_CFLAGS="$CFLAGS"
5255f8
export EXTRA_CXXFLAGS="$CXXFLAGS"
5255f8
export EXTRA_LDFLAGS="$LDFLAGS"
5255f8
5255f8
unset CFLAGS
5255f8
unset CXXFLAGS
5255f8
unset LDFLAGS
5255f8
5255f8
#%%if %%{without bootstrap}
5255f8
#  --with-ref-packages %%{_libdir}/dotnet/reference-packages/ \
5255f8
#  --with-packages %%{_libdir}/dotnet/source-built-artifacts/*.tar.gz \
5255f8
#  --with-sdk %%{_libdir}/dotnet \
5255f8
#%%endif
5255f8
5255f8
VERBOSE=1 ./build.sh \
5255f8
%if %{without bootstrap}
5255f8
    --with-sdk previously-built-dotnet \
5255f8
%endif
5255f8
    -- \
5255f8
    /v:n \
5255f8
    /p:SkipPortableRuntimeBuild=true \
5255f8
    /p:LogVerbosity=n \
5255f8
    /p:MinimalConsoleLogOutput=false \
5255f8
    /p:ContinueOnPrebuiltBaselineError=true \
5255f8
%if %{use_bundled_libunwind}
5255f8
    /p:UseSystemLibunwind=false \
5255f8
%else
5255f8
    /p:UseSystemLibunwind=true \
5255f8
%endif
5255f8
5255f8
5255f8
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE2} > dotnet.sh
5255f8
5255f8
5255f8
%install
5255f8
install -dm 0755 %{buildroot}%{_libdir}/dotnet
5255f8
ls artifacts/%{runtime_arch}/Release
5255f8
tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/
5255f8
5255f8
# Install managed symbols
5255f8
tar xf artifacts/%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%{runtime_version}-%{runtime_id}.tar.gz \
5255f8
    -C %{buildroot}/%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}/
5255f8
5255f8
# Fix executable permissions on files
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.a' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.dll' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.h' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.pdb' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.props' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.pubxml' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.targets' -exec chmod -x {} \;
5255f8
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.xml' -exec chmod -x {} \;
5255f8
chmod 0755 %{buildroot}/%{_libdir}/dotnet/sdk/%{sdk_version}/AppHostTemplate/apphost
5255f8
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/apphost
5255f8
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/libnethost.so
5255f8
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h
5255f8
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/singlefilehost
5255f8
5255f8
install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
5255f8
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
5255f8
5255f8
install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions
5255f8
# dynamic completion needs the file to be named the same as the base command
5255f8
install src/dotnet-sdk.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet
5255f8
5255f8
# TODO: the zsh completion script needs to be ported to use #compdef
5255f8
#install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions
5255f8
#install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet
5255f8
5255f8
install -dm 0755 %{buildroot}%{_bindir}
5255f8
ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/
5255f8
5255f8
install -dm 0755 %{buildroot}%{_mandir}/man1/
5255f8
find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \;
5255f8
5255f8
echo "%{_libdir}/dotnet" >> install_location
5255f8
install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet
5255f8
install install_location %{buildroot}%{_sysconfdir}/dotnet/
5255f8
5255f8
#install -dm 0755 %%{buildroot}%%{_libdir}/dotnet/source-built-artifacts
5255f8
#install artifacts/%%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %%{buildroot}/%%{_libdir}/dotnet/source-built-artifacts/
5255f8
5255f8
# Check debug symbols in all elf objects. This is not in %%check
5255f8
# because native binaries are stripped by rpm-build after %%install.
5255f8
# So we need to do this check earlier.
5255f8
echo "Testing build results for debug symbols..."
5255f8
%{SOURCE1} -v %{buildroot}%{_libdir}/dotnet/
5255f8
5255f8
5255f8
%check
5255f8
%{buildroot}%{_libdir}/dotnet/dotnet --info
5255f8
5255f8
5255f8
%files -n dotnet
5255f8
# empty package useful for dependencies
5255f8
5255f8
%files -n dotnet-host
5255f8
%dir %{_libdir}/dotnet
5255f8
%{_libdir}/dotnet/dotnet
5255f8
%dir %{_libdir}/dotnet/host
5255f8
%dir %{_libdir}/dotnet/host/fxr
5255f8
%{_bindir}/dotnet
5255f8
%license %{_libdir}/dotnet/LICENSE.txt
5255f8
%license %{_libdir}/dotnet/ThirdPartyNotices.txt
5255f8
%doc %{_mandir}/man1/dotnet*.1.gz
5255f8
%{_sysconfdir}/profile.d/dotnet.sh
5255f8
%{_sysconfdir}/dotnet
5255f8
%dir %{_datadir}/bash-completion
5255f8
%dir %{_datadir}/bash-completion/completions
5255f8
%{_datadir}/bash-completion/completions/dotnet
5255f8
5255f8
%files -n dotnet-hostfxr-5.0
5255f8
%dir %{_libdir}/dotnet/host/fxr
5255f8
%{_libdir}/dotnet/host/fxr/%{host_version}
5255f8
5255f8
%files -n dotnet-runtime-5.0
5255f8
%dir %{_libdir}/dotnet/shared
5255f8
%dir %{_libdir}/dotnet/shared/Microsoft.NETCore.App
5255f8
%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}
5255f8
5255f8
%files -n aspnetcore-runtime-5.0
5255f8
%dir %{_libdir}/dotnet/shared
5255f8
%dir %{_libdir}/dotnet/shared/Microsoft.AspNetCore.App
5255f8
%{_libdir}/dotnet/shared/Microsoft.AspNetCore.App/%{aspnetcore_runtime_version}
5255f8
5255f8
%files -n dotnet-templates-5.0
5255f8
%dir %{_libdir}/dotnet/templates
5255f8
%{_libdir}/dotnet/templates/%{templates_version}
5255f8
5255f8
%files -n dotnet-sdk-5.0
5255f8
%dir %{_libdir}/dotnet/sdk
5255f8
%{_libdir}/dotnet/sdk/%{sdk_version}
5255f8
%dir %{_libdir}/dotnet/packs
5255f8
5255f8
#%%files -n dotnet-sdk-5.0-source-built-artifacts
5255f8
#%%dir %%{_libdir}/dotnet
5255f8
#%%{_libdir}/dotnet/source-built-artifacts
5255f8
5255f8
5255f8
%changelog
5255f8
* Wed Feb 10 2021 Omair Majid <omajid@redhat.com> - 5.0.103-2
5255f8
- Update to .NET SDK 5.0.103 and Runtime 5.0.3
5255f8
- Resolves: RHBZ#1924762
5255f8
5255f8
* Wed Jan 13 2021 Omair Majid <omajid@redhat.com> - 5.0.102-2
5255f8
- Update to .NET SDK 5.0.102 and Runtime 5.0.2
5255f8
- Resolves: RHBZ#1912569
5255f8
5255f8
* Thu Dec 03 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.10.20201203git337413b
5255f8
- Update to latest commit of .NET Core SDK 5.0.100 and Runtime 5.0.0
5255f8
- Resolves: RHBZ#1897362
5255f8
5255f8
* Thu Nov 12 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.9
5255f8
- Update to a work-in-progres .NET 5 GA build
5255f8
- Resolves: RHBZ#1897362
5255f8
5255f8
* Mon Oct 26 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.8.rc1
5255f8
- Bump version
5255f8
- Resolves: RHBZ#1891094
5255f8
5255f8
* Fri Oct 23 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.7.rc1
5255f8
- Update to .NET Core SDK 5.0.100 RC1 and Runtime 5.0.0 RC1
5255f8
- Resolves: RHBZ#1891094
5255f8
5255f8
* Tue Sep 15 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.6.preview8
5255f8
- Switch to a smaller tarball
5255f8
- Fix restore-with-rid
5255f8
- Resolves: RHBZ#1835019
5255f8
5255f8
* Mon Sep 14 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.5.preview8
5255f8
- Fix package descriptions
5255f8
- Fix permissions in installed files
5255f8
- Resolves: RHBZ#1835019
5255f8
5255f8
* Fri Sep 11 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.4.preview8
5255f8
- Update to .NET SDK 5.0 Preview 8
5255f8
- Remove "Core" from descriptions
5255f8
- Resolves: RHBZ#1835019
5255f8
5255f8
* Fri Aug 21 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.3.preview4
5255f8
- Generate new source tarball with test files removed.
5255f8
- Resolves: RHBZ#1835019
5255f8
5255f8
* Thu Aug 06 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.2.preview4
5255f8
- Backport cmake compatiblity fix
5255f8
5255f8
* Fri Jul 10 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.2.preview4
5255f8
- Fix building with custom CFLAGS/CXXFLAGS/LDFLAGS
5255f8
- Clean up patches
5255f8
5255f8
* Mon Jul 06 2020 Omair Majid <omajid@redhat.com> - 5.0.100-0.1.preview4
5255f8
- Initial build
5255f8
5255f8
* Sat Jun 27 2020 Omair Majid <omajid@redhat.com> - 3.1.105-4
5255f8
- Disable bootstrap
5255f8
5255f8
* Fri Jun 26 2020 Omair Majid <omajid@redhat.com> - 3.1.105-3
5255f8
- Re-bootstrap aarch64
5255f8
5255f8
* Fri Jun 19 2020 Omair Majid <omajid@redhat.com> - 3.1.105-3
5255f8
- Disable bootstrap
5255f8
5255f8
* Thu Jun 18 2020 Omair Majid <omajid@redhat.com> - 3.1.105-1
5255f8
- Bootstrap aarch64
5255f8
5255f8
* Tue Jun 16 2020 Chris Rummel <crummel@microsoft.com> - 3.1.105-1
5255f8
- Update to .NET Core Runtime 3.1.5 and SDK 3.1.105
5255f8
5255f8
* Fri Jun 05 2020 Chris Rummel <crummel@microsoft.com> - 3.1.104-1
5255f8
- Update to .NET Core Runtime 3.1.4 and SDK 3.1.104
5255f8
5255f8
* Thu Apr 09 2020 Chris Rummel <crummel@microsoft.com> - 3.1.103-1
5255f8
- Update to .NET Core Runtime 3.1.3 and SDK 3.1.103
5255f8
5255f8
* Mon Mar 16 2020 Omair Majid <omajid@redhat.com> - 3.1.102-1
5255f8
- Update to .NET Core Runtime 3.1.2 and SDK 3.1.102
5255f8
5255f8
* Fri Feb 28 2020 Omair Majid <omajid@redhat.com> - 3.1.101-4
5255f8
- Disable bootstrap
5255f8
5255f8
* Fri Feb 28 2020 Omair Majid <omajid@redhat.com> - 3.1.101-3
5255f8
- Enable bootstrap
5255f8
- Add Fedora 33 runtime ids
5255f8
5255f8
* Thu Feb 27 2020 Omair Majid <omajid@redhat.com> - 3.1.101-2
5255f8
- Disable bootstrap
5255f8
5255f8
* Tue Jan 21 2020 Omair Majid <omajid@redhat.com> - 3.1.101-1
5255f8
- Update to .NET Core Runtime 3.1.1 and SDK 3.1.101
5255f8
5255f8
* Thu Dec 05 2019 Omair Majid <omajid@redhat.com> - 3.1.100-1
5255f8
- Update to .NET Core Runtime 3.1.0 and SDK 3.1.100
5255f8
5255f8
* Mon Nov 18 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.4.preview3
5255f8
- Fix apphost permissions
5255f8
5255f8
* Fri Nov 15 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.3.preview3
5255f8
- Update to .NET Core Runtime 3.1.0-preview3.19553.2 and SDK
5255f8
  3.1.100-preview3-014645
5255f8
5255f8
* Wed Nov 06 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.2
5255f8
- Update to .NET Core 3.1 Preview 2
5255f8
5255f8
* Wed Oct 30 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.1
5255f8
- Update to .NET Core 3.1 Preview 1
5255f8
5255f8
* Thu Oct 24 2019 Omair Majid <omajid@redhat.com> - 3.0.100-5
5255f8
- Add cgroupv2 support to .NET Core
5255f8
5255f8
* Wed Oct 16 2019 Omair Majid <omajid@redhat.com> - 3.0.100-4
5255f8
- Include fix from coreclr for building on Fedora 32
5255f8
5255f8
* Wed Oct 16 2019 Omair Majid <omajid@redhat.com> - 3.0.100-3
5255f8
- Harden built binaries to pass annocheck
5255f8
5255f8
* Fri Oct 11 2019 Omair Majid <omajid@redhat.com> - 3.0.100-2
5255f8
- Export DOTNET_ROOT in profile to make apphost lookup work
5255f8
5255f8
* Fri Sep 27 2019 Omair Majid <omajid@redhat.com> - 3.0.100-1
5255f8
- Update to .NET Core Runtime 3.0.0 and SDK 3.0.100
5255f8
5255f8
* Wed Sep 25 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.18.rc1
5255f8
- Update to .NET Core Runtime 3.0.0-rc1-19456-20 and SDK 3.0.100-rc1-014190
5255f8
5255f8
* Tue Sep 17 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.16.preview9
5255f8
- Fix files duplicated between dotnet-apphost-pack-3.0 and dotnet-targeting-pack-3.0
5255f8
- Fix dependencies between .NET SDK and the targeting packs
5255f8
5255f8
* Mon Sep 16 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.15.preview9
5255f8
- Update to .NET Core Runtime 3.0.0-preview 9 and SDK 3.0.100-preview9
5255f8
5255f8
* Mon Aug 19 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.11.preview8
5255f8
- Update to .NET Core Runtime 3.0.0-preview8-28405-07 and SDK
5255f8
  3.0.100-preview8-013656
5255f8
5255f8
* Tue Jul 30 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.9.preview7
5255f8
- Update to .NET Core Runtime 3.0.0-preview7-27912-14 and SDK
5255f8
  3.0.100-preview7-012821
5255f8
5255f8
* Fri Jul 26 2019 Omair Majid <omajid@redhat.com> - 3.0.100-0.8.preview7
5255f8
- Update to .NET Core Runtime 3.0.0-preview7-27902-19 and SDK
5255f8
  3.0.100-preview7-012802
5255f8
5255f8
* Wed Jun 26 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.7.preview6
5255f8
- Obsolete dotnet-sdk-3.0.1xx
5255f8
- Add supackages for targeting packs
5255f8
- Add -fcf-protection to CFLAGS
5255f8
5255f8
* Wed Jun 26 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.6.preview6
5255f8
- Update to .NET Core Runtime 3.0.0-preview6-27804-01 and SDK 3.0.100-preview6-012264
5255f8
- Set dotnet installation location in /etc/dotnet/install_location
5255f8
- Update targeting packs
5255f8
- Install managed symbols
5255f8
- Completely conditionalize libunwind bundling
5255f8
5255f8
* Tue May 07 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.3.preview4
5255f8
- Update to .NET Core 3.0 preview 4
5255f8
5255f8
* Tue Dec 18 2018 Omair Majid <omajid@redhat.com> - 3.0.0-0.1.preview1
5255f8
- Update to .NET Core 3.0 preview 1
5255f8
5255f8
* Fri Dec 07 2018 Omair Majid <omajid@redhat.com> - 2.2.100
5255f8
- Update to .NET Core 2.2.0
5255f8
5255f8
* Wed Nov 07 2018 Omair Majid <omajid@redhat.com> - 2.2.100-0.2.preview3
5255f8
- Update to .NET Core 2.2.0-preview3
5255f8
5255f8
* Fri Nov 02 2018 Omair Majid <omajid@redhat.com> - 2.1.403-3
5255f8
- Add host-fxr-2.1 subpackage
5255f8
5255f8
* Mon Oct 15 2018 Omair Majid <omajid@redhat.com> - 2.1.403-2
5255f8
- Disable telemetry by default
5255f8
- Users have to manually export DOTNET_CLI_TELEMETRY_OPTOUT=0 to enable
5255f8
5255f8
* Tue Oct 02 2018 Omair Majid <omajid@redhat.com> - 2.1.403-1
5255f8
- Update to .NET Core Runtime 2.1.5 and SDK 2.1.403
5255f8
5255f8
* Wed Sep 26 2018 Omair Majid <omajid@redhat.com> - 2.1.402-2
5255f8
- Add ~/.dotnet/tools to $PATH to make it easier to use dotnet tools
5255f8
5255f8
* Thu Sep 13 2018 Omair Majid <omajid@redhat.com> - 2.1.402-1
5255f8
- Update to .NET Core Runtime 2.1.4 and SDK 2.1.402
5255f8
5255f8
* Wed Sep 05 2018 Omair Majid <omajid@redhat.com> - 2.1.401-2
5255f8
- Use distro-standard flags when building .NET Core
5255f8
5255f8
* Tue Aug 21 2018 Omair Majid <omajid@redhat.com> - 2.1.401-1
5255f8
- Update to .NET Core Runtime 2.1.3 and SDK 2.1.401
5255f8
5255f8
* Mon Aug 20 2018 Omair Majid <omajid@redhat.com> - 2.1.302-1
5255f8
- Update to .NET Core Runtime 2.1.2 and SDK 2.1.302
5255f8
5255f8
* Fri Jul 20 2018 Omair Majid <omajid@redhat.com> - 2.1.301-1
5255f8
- Update to .NET Core 2.1
5255f8
5255f8
* Thu May 03 2018 Omair Majid <omajid@redhat.com> - 2.0.7-1
5255f8
- Update to .NET Core 2.0.7
5255f8
5255f8
* Wed Mar 28 2018 Omair Majid <omajid@redhat.com> - 2.0.6-2
5255f8
- Enable bash completion for dotnet
5255f8
- Remove redundant buildrequires and requires
5255f8
5255f8
* Wed Mar 14 2018 Omair Majid <omajid@redhat.com> - 2.0.6-1
5255f8
- Update to .NET Core 2.0.6
5255f8
5255f8
* Fri Feb 23 2018 Omair Majid <omajid@redhat.com> - 2.0.5-1
5255f8
- Update to .NET Core 2.0.5
5255f8
5255f8
* Wed Jan 24 2018 Omair Majid <omajid@redhat.com> - 2.0.3-5
5255f8
- Don't apply corefx clang warnings fix on clang < 5
5255f8
5255f8
* Fri Jan 19 2018 Omair Majid <omajid@redhat.com> - 2.0.3-4
5255f8
- Add a test script to sanity check debug and symbol info.
5255f8
- Build with clang 5.0
5255f8
- Make main package real instead of using a virtual provides (see RHBZ 1519325)
5255f8
5255f8
* Wed Nov 29 2017 Omair Majid <omajid@redhat.com> - 2.0.3-3
5255f8
- Add a Provides for 'dotnet'
5255f8
- Fix conditional macro
5255f8
5255f8
* Tue Nov 28 2017 Omair Majid <omajid@redhat.com> - 2.0.3-2
5255f8
- Fix build on Fedora 27
5255f8
5255f8
* Fri Nov 17 2017 Omair Majid <omajid@redhat.com> - 2.0.3-1
5255f8
- Update to .NET Core 2.0.3
5255f8
5255f8
* Thu Oct 19 2017 Omair Majid <omajid@redhat.com> - 2.0.0-4
5255f8
- Add a hack to let omnisharp work
5255f8
5255f8
* Wed Aug 30 2017 Omair Majid <omajid@redhat.com> - 2.0.0-3
5255f8
- Add a patch for building coreclr and core-setup correctly on Fedora >= 27
5255f8
5255f8
* Fri Aug 25 2017 Omair Majid <omajid@redhat.com> - 2.0.0-2
5255f8
- Move libicu/libcurl/libunwind requires to runtime package
5255f8
- Make sdk depend on the exact version of the runtime package
5255f8
5255f8
* Thu Aug 24 2017 Omair Majid <omajid@redhat.com> - 2.0.0-1
5255f8
- Update to 2.0.0 final release
5255f8
5255f8
* Wed Jul 26 2017 Omair Majid <omajid@redhat.com> - 2.0.0-0.3.preview2
5255f8
- Add man pages
5255f8
5255f8
* Tue Jul 25 2017 Omair Majid <omajid@redhat.com> - 2.0.0-0.2.preview2
5255f8
- Add Requires on libicu
5255f8
- Split into multiple packages
5255f8
- Do not repeat first-run message
5255f8
5255f8
* Fri Jul 21 2017 Omair Majid <omajid@redhat.com> - 2.0.0-0.1.preview2
5255f8
- Update to .NET Core 2.0 Preview 2
5255f8
5255f8
* Thu Mar 16 2017 Nemanja Milošević <nmilosevnm@gmail.com> - 1.1.0-7
5255f8
- rebuilt with latest libldb
5255f8
* Wed Feb 22 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-6
5255f8
- compat-openssl 1.0 for F26 for now
5255f8
* Sun Feb 19 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-5
5255f8
- Fix wrong commit id's
5255f8
* Sat Feb 18 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-4
5255f8
- Use commit id's instead of branch names
5255f8
* Sat Feb 18 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-3
5255f8
- Improper patch5 fix
5255f8
* Sat Feb 18 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-2
5255f8
- SPEC cleanup
5255f8
- git removal (using all tarballs for reproducible builds)
5255f8
- more reasonable versioning
5255f8
* Thu Feb 09 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-1
5255f8
- Fixed debuginfo going to separate package (Patch1)
5255f8
- Added F25/F26 RIL and fixed the version info (Patch2)
5255f8
- Added F25/F26 RIL in Microsoft.NETCore.App suported runtime graph (Patch3)
5255f8
- SPEC file cleanup
5255f8
* Wed Jan 11 2017 Nemanja Milosevic <nmilosev@fedoraproject.org> - 1.1.0-0
5255f8
- Initial RPM for Fedora 25/26.