Blame SPECS/dotnet.spec

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