Skip to content

Instantly share code, notes, and snippets.

@omajid
Last active December 3, 2021 02:08
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
--- /home/omajid/fedora-git/dotnet5.0/dotnet5.0.spec 2021-12-02 16:17:04.424211396 -0500
+++ dotnet6.0.spec 2021-12-02 14:53:53.856906795 -0500
@@ -1,4 +1,4 @@
-%bcond_with bootstrap
+%bcond_without bootstrap
# Avoid provides/requires from private libraries
%global privlibs libhostfxr
@@ -20,20 +20,21 @@
# until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil}
-%global host_version 5.0.9
-%global runtime_version 5.0.9
-%global aspnetcore_runtime_version %{runtime_version}
-%global sdk_version 5.0.206
-%global templates_version %{runtime_version}
+%global host_version 6.0.0
+%global runtime_version 6.0.0
+%global aspnetcore_runtime_version 6.0.0
+%global sdk_version 6.0.100
+%global templates_version 6.0.0
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%global host_rpm_version %{host_version}
-%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global runtime_rpm_version %{runtime_version}
+%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global sdk_rpm_version %{sdk_version}
# upstream can update releases without revving the SDK version so these don't always match
-%global src_version %{sdk_version}
+#%%global upstream_tag v%%{sdk_version}-SDK
+%global upstream_tag 9e8b04bbff820c93c142f99a507a46b976f5c14c
%if 0%{?fedora} || 0%{?rhel} < 8
%global use_bundled_libunwind 0
@@ -41,7 +42,7 @@
%global use_bundled_libunwind 1
%endif
-%ifarch aarch64
+%ifarch aarch64 s390x
%global use_bundled_libunwind 1
%endif
@@ -51,43 +52,100 @@
%ifarch aarch64
%global runtime_arch arm64
%endif
+%ifarch s390x
+%global runtime_arch s390x
+%endif
%{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}}
-Name: dotnet5.0
+Name: dotnet6.0
Version: %{sdk_rpm_version}
-Release: 2%{?dist}
+Release: 1%{?dist}
Summary: .NET Runtime and SDK
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/
+%if %{with bootstrap}
# The source is generated on a Fedora box via:
-# ./build-dotnet-tarball v%%{src_version}-SDK
-Source0: dotnet-v%{src_version}-SDK.tar.gz
+# ./build-dotnet-tarball --bootstrap %%{upstream_tag}
+Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz
+# Generated via ./build-arm64-bootstrap-tarball
+Source1: dotnet-arm64-prebuilts-2021-10-29.tar.gz
+# Generated manually, same pattern as the arm64 tarball
+Source2: dotnet-s390x-prebuilts-2021-10-29.tar.gz
+%else
+# The source is generated on a Fedora box via:
+# ./build-dotnet-tarball %%{upstream_tag}
+Source0: dotnet-%{upstream_tag}.tar.gz
+%endif
Source10: check-debug-symbols.py
Source11: dotnet.sh.in
+# Fix using lld on Fedora
+Patch100: runtime-arm64-lld-fix.patch
+# Mono still has a dependency on (now unbuildable) ILStrip which was removed from CoreCLR: https://github.com/dotnet/runtime/pull/60315
+Patch101: runtime-mono-remove-ilstrip.patch
+# https://github.com/dotnet/runtime/pull/61442
+Patch102: runtime-61442-disable-werror.patch
# https://github.com/dotnet/runtime/pull/62170
-Patch100: runtime-62170-clang13.patch
+Patch103: runtime-62170-clang13.patch
+
+# https://github.com/dotnet/command-line-api/pull/1401
+Patch300: command-line-api-use-work-tree-with-git-apply.patch
+
+# https://github.com/microsoft/vstest/pull/3046
+Patch400: vstest-use-work-tree-with-git-apply.patch
+
+# This is the suggestion from https://github.com/dotnet/source-build/pull/2450, applied
+Patch500: fsharp-use-work-tree-with-git-apply.patch
+# Disable apphost, needed for s390x
+Patch501: fsharp-no-apphost.patch
+
+# This is the suggestion from https://github.com/dotnet/source-build/pull/2450, applied
+Patch600: xliff-tasks-use-work-tree-with-git-apply.patch
+
+# Disable apphost, needed for s390x
+Patch700: arcade-no-apphost.patch
+
+# Named mutex fix for mono, needed for s390x. https://github.com/dotnet/roslyn/pull/57003
+Patch800: roslyn-57003-mono-named-mutex.patch
+# Disable apphost, needed for s390x
+Patch801: roslyn-no-apphost.patch
+
+# Disable apphost, needed for s390x
+Patch900: roslyn-analyzers-no-apphost.patch
+
+# Fix mono-specific runtime crashes running msbuild. CoreCLR does not
+# load types that are not actually used/invoked at runtime, while mono
+# does. System.Configuration and System.Security are missing in
+# source-build builds, which breaks msbuild.
+Patch1000: msbuild-no-systemsecurity.patch
+Patch1001: msbuild-no-systemconfiguration.patch
# Disable telemetry by default; make it opt-in
-Patch500: sdk-telemetry-optout.patch
+Patch1500: sdk-telemetry-optout.patch
+# https://github.com/dotnet/sdk/pull/22373
+Patch1501: sdk-22373-portablerid.patch
+
+# https://github.com/dotnet/installer/pull/12516
+Patch1600: installer-12516-portablerid.patch
+# https://github.com/dotnet/installer/pull/12622
+Patch1601: installer-12622-fix-runtime-symbols.patch
-%if 0%{?fedora} > 32 || 0%{?rhel} > 8
-ExclusiveArch: aarch64 x86_64
+
+%if 0%{?fedora} || 0%{?rhel} >= 8
+ExclusiveArch: aarch64 x86_64 s390x
%else
ExclusiveArch: x86_64
%endif
-
BuildRequires: clang
BuildRequires: cmake
BuildRequires: coreutils
%if %{without bootstrap}
-BuildRequires: dotnet5.0-build-reference-packages
-BuildRequires: dotnet-sdk-5.0
-BuildRequires: dotnet-sdk-5.0-source-built-artifacts
+BuildRequires: dotnet-sdk-6.0
+BuildRequires: dotnet-sdk-6.0-source-built-artifacts
%endif
BuildRequires: findutils
BuildRequires: git
@@ -96,19 +154,20 @@
%endif
BuildRequires: hostname
BuildRequires: krb5-devel
-BuildRequires: libcurl-devel
BuildRequires: libicu-devel
%if ! %{use_bundled_libunwind}
BuildRequires: libunwind-devel
%endif
-BuildRequires: lldb-devel
+%ifarch aarch64
+BuildRequires: lld
+%endif
BuildRequires: llvm
BuildRequires: lttng-ust-devel
BuildRequires: make
BuildRequires: openssl-devel
BuildRequires: python3
-BuildRequires: systemtap-sdt-devel
BuildRequires: tar
+BuildRequires: util-linux
BuildRequires: zlib-devel
%description
@@ -128,7 +187,7 @@
Version: %{sdk_rpm_version}
Summary: .NET CLI tools and runtime
-Requires: dotnet-sdk-5.0%{?_isa} >= %{sdk_rpm_version}-%{release}
+Requires: dotnet-sdk-6.0%{?_isa} >= %{sdk_rpm_version}-%{release}
%description -n dotnet
.NET is a fast, lightweight and modular platform for creating
@@ -158,7 +217,7 @@
applications and micro-services.
-%package -n dotnet-hostfxr-5.0
+%package -n dotnet-hostfxr-6.0
Version: %{host_rpm_version}
Summary: .NET command line host resolver
@@ -167,7 +226,7 @@
# provided by this package, or from a newer version of .NET
Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release}
-%description -n dotnet-hostfxr-5.0
+%description -n dotnet-hostfxr-6.0
The .NET host resolver contains the logic to resolve and select
the right version of the .NET SDK or runtime to use.
@@ -178,21 +237,22 @@
applications and micro-services.
-%package -n dotnet-runtime-5.0
+%package -n dotnet-runtime-6.0
Version: %{runtime_rpm_version}
-Summary: NET 5.0 runtime
+Summary: NET 6.0 runtime
-Requires: dotnet-hostfxr-5.0%{?_isa} >= %{host_rpm_version}-%{release}
+Requires: dotnet-hostfxr-6.0%{?_isa} >= %{host_rpm_version}-%{release}
# libicu is dlopen()ed
Requires: libicu%{?_isa}
%if %{use_bundled_libunwind}
-Provides: bundled(libunwind) = 1.3
+# See runtime.*/src/coreclr/pal/src/libunwind/libunwind-version.txt
+Provides: bundled(libunwind) = 1.5.rc1.28.g9165d2a1
%endif
-%description -n dotnet-runtime-5.0
+%description -n dotnet-runtime-6.0
The .NET runtime contains everything needed to run .NET applications.
It includes a high performance Virtual Machine as well as the framework
libraries used by .NET applications.
@@ -204,14 +264,14 @@
applications and micro-services.
-%package -n aspnetcore-runtime-5.0
+%package -n aspnetcore-runtime-6.0
Version: %{aspnetcore_runtime_rpm_version}
-Summary: ASP.NET Core 5.0 runtime
+Summary: ASP.NET Core 6.0 runtime
-Requires: dotnet-runtime-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
+Requires: dotnet-runtime-6.0%{?_isa} >= %{runtime_rpm_version}-%{release}
-%description -n aspnetcore-runtime-5.0
+%description -n aspnetcore-runtime-6.0
The ASP.NET Core runtime contains everything needed to run .NET
web applications. It includes a high performance Virtual Machine as
well as the framework libraries used by .NET applications.
@@ -223,16 +283,16 @@
applications and micro-services.
-%package -n dotnet-templates-5.0
+%package -n dotnet-templates-6.0
Version: %{sdk_rpm_version}
-Summary: .NET 5.0 templates
+Summary: .NET 6.0 templates
# Theoretically any version of the host should work. But lets aim for the one
# provided by this package, or from a newer version of .NET
Requires: dotnet-host%{?_isa} >= %{host_rpm_version}-%{release}
-%description -n dotnet-templates-5.0
+%description -n dotnet-templates-6.0
This package contains templates used by the .NET SDK.
.NET is a fast, lightweight and modular platform for creating
@@ -242,25 +302,24 @@
applications and micro-services.
-%package -n dotnet-sdk-5.0
+%package -n dotnet-sdk-6.0
Version: %{sdk_rpm_version}
-Summary: .NET 5.0 Software Development Kit
+Summary: .NET 6.0 Software Development Kit
Provides: bundled(js-jquery)
-Provides: bundled(npm)
-Requires: dotnet-runtime-5.0%{?_isa} >= %{runtime_rpm_version}-%{release}
-Requires: aspnetcore-runtime-5.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
+Requires: dotnet-runtime-6.0%{?_isa} >= %{runtime_rpm_version}-%{release}
+Requires: aspnetcore-runtime-6.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
-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}
+Requires: dotnet-apphost-pack-6.0%{?_isa} >= %{runtime_rpm_version}-%{release}
+Requires: dotnet-targeting-pack-6.0%{?_isa} >= %{runtime_rpm_version}-%{release}
+Requires: aspnetcore-targeting-pack-6.0%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
Requires: netstandard-targeting-pack-2.1%{?_isa} >= %{sdk_rpm_version}-%{release}
-Requires: dotnet-templates-5.0%{?_isa} >= %{sdk_rpm_version}-%{release}
+Requires: dotnet-templates-6.0%{?_isa} >= %{sdk_rpm_version}-%{release}
-%description -n dotnet-sdk-5.0
+%description -n dotnet-sdk-6.0
The .NET SDK is a collection of command line applications to
create, build, publish and run .NET applications.
@@ -289,18 +348,18 @@
%{_libdir}/dotnet/packs/%{5}
}
-%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
+%dotnet_targeting_pack dotnet-apphost-pack-6.0 %{runtime_rpm_version} Microsoft.NETCore.App 6.0 Microsoft.NETCore.App.Host.%{runtime_id}
+%dotnet_targeting_pack dotnet-targeting-pack-6.0 %{runtime_rpm_version} Microsoft.NETCore.App 6.0 Microsoft.NETCore.App.Ref
+%dotnet_targeting_pack aspnetcore-targeting-pack-6.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 6.0 Microsoft.AspNetCore.App.Ref
%dotnet_targeting_pack netstandard-targeting-pack-2.1 %{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref
-%package -n dotnet-sdk-5.0-source-built-artifacts
+%package -n dotnet-sdk-6.0-source-built-artifacts
Version: %{sdk_rpm_version}
-Summary: Internal package for building .NET 5.0 Software Development Kit
+Summary: Internal package for building .NET 6.0 Software Development Kit
-%description -n dotnet-sdk-5.0-source-built-artifacts
+%description -n dotnet-sdk-6.0-source-built-artifacts
The .NET source-built archive is a collection of packages needed
to build the .NET SDK itself.
@@ -309,14 +368,27 @@
%prep
%if %{without bootstrap}
-%setup -q -n dotnet-v%{src_version}-SDK
+%setup -q -n dotnet-%{upstream_tag}
%else
-%ifarch x86_64
-%setup -q -T -b 0 -n dotnet-v%{src_version}-SDK-%{runtime_arch}-bootstrap
-%endif
+
+%setup -q -T -b 0 -n dotnet-%{upstream_tag}-x64-bootstrap
+
+%ifnarch x86_64
+
+rm -rf .dotnet
%ifarch aarch64
-%setup -q -T -b 1 -n dotnet-v%{src_version}-SDK-%{runtime_arch}-bootstrap
+tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt
+%endif
+%ifarch s390x
+tar -x --strip-components=1 -f %{SOURCE2} -C packages/prebuilt
%endif
+mkdir -p .dotnet
+tar xf packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/
+rm packages/prebuilt/dotnet-sdk*.tar.gz
+boot_sdk_version=$(ls -1 .dotnet/sdk/)
+sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json
+%endif
+
%endif
%if %{without bootstrap}
@@ -328,39 +400,84 @@
find -iname '*.zip' -type f -delete
rm -rf .dotnet/
rm -rf packages/source-built
-%endif
-%if %{without bootstrap}
mkdir -p packages/archive
ln -s %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.tar.gz packages/archive/
ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages*.tar.gz packages/archive/
%endif
# Fix bad hardcoded path in build
-sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/installer/corehost/cli/hostmisc/pal.unix.cpp
-
-# Disable warnings
-sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props
+sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/native/corehost/hostmisc/pal.unix.cpp
pushd src/runtime.*
%patch100 -p1
+%patch101 -p1
+%patch102 -p1
+%patch103 -p1
popd
-pushd src/sdk.*
+pushd src/command-line-api.*
+%patch300 -p1
+popd
+
+pushd src/vstest.*
+%patch400 -p1
+popd
+
+pushd src/fsharp.*
%patch500 -p1
+%patch501 -p1
popd
-%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
+pushd src/xliff-tasks.*
+%patch600 -p1
+popd
+
+pushd src/arcade.*
+%patch700 -p1
+popd
+
+pushd src/roslyn.*
+%patch800 -p3
+%patch801 -p1
+popd
+
+pushd src/roslyn-analyzers.*
+%patch900 -p1
+popd
+
+pushd src/msbuild.*
+
+# These are mono-specific fixes. Mono is only used on s390x. Restrict
+# patch to s390x to avoid potential risk in other architectures.
+%ifarch s390x
+%patch1000 -p1
+%patch1001 -p1
%endif
-cat source-build-info.txt
+popd
+
+pushd src/sdk.*
+%patch1500 -p1
+%patch1501 -p1
+popd
-find -iname 'nuget.config' -exec echo {}: \; -exec cat {} \; -exec echo \;
+pushd src/installer.*
+%patch1600 -p1
+popd
+# We need to apply the patch to the already-built tarball's
+# repos/runtime.common.targets, not to the installer's "source" copy.
+%patch1601 -p5
+
+# Disable package validation which breaks our build.
+# There's no need to run validation in RPM packages anyway.
+# See https://github.com/dotnet/runtime/pull/60881
+sed -i -E 's|( /p:BuildDebPackage=false)|\1 /p:EnablePackageValidation=false|' src/runtime.*/eng/SourceBuild.props
+
+%if ! %{use_bundled_libunwind}
+sed -i -E 's|( /p:BuildDebPackage=false)|\1 --cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|' src/runtime.*/eng/SourceBuild.props
+%endif
%build
cat /etc/os-release
@@ -402,27 +519,23 @@
unset CXXFLAGS
unset LDFLAGS
-#%%if %%{without bootstrap}
-# --with-ref-packages %%{_libdir}/dotnet/reference-packages/ \
-# --with-packages %%{_libdir}/dotnet/source-built-artifacts/*.tar.gz \
-# --with-sdk %%{_libdir}/dotnet \
-#%%endif
+# Disable tracing, which is incompatible with certain versions of
+# lttng See https://github.com/dotnet/runtime/issues/57784. The
+# suggested compile-time change doesn't work, unfrotunately.
+export COMPlus_LTTng=0
VERBOSE=1 ./build.sh \
%if %{without bootstrap}
--with-sdk previously-built-dotnet \
%endif
-- \
+
+echo \
/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
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE11} > dotnet.sh
@@ -433,24 +546,28 @@
ls artifacts/%{runtime_arch}/Release
tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/
+# See https://github.com/dotnet/source-build/issues/2579
+find %{buildroot}%{_libdir}/dotnet/ -type f -name 'testhost.x86' -delete
+find %{buildroot}%{_libdir}/dotnet/ -type f -name 'vstest.console' -delete
+
# Install managed symbols
-tar xf artifacts/%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%{runtime_version}-%{runtime_id}.tar.gz \
+tar xf artifacts/%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%{runtime_id}-%{runtime_version}.tar.gz \
-C %{buildroot}/%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}/
# Fix executable permissions on files
+find %{buildroot}%{_libdir}/dotnet/ -type f -name 'apphost' -exec chmod +x {} \;
+find %{buildroot}%{_libdir}/dotnet/ -type f -name 'singlefilehost' -exec chmod +x {} \;
+find %{buildroot}%{_libdir}/dotnet/ -type f -name 'lib*so' -exec chmod +x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.a' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.dll' -exec chmod -x {} \;
-find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.h' -exec chmod -x {} \;
+find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.h' -exec chmod 0644 {} \;
+find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.json' -exec chmod -x {} \;
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 '*.txt' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.xml' -exec chmod -x {} \;
-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
-chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/libnethost.so
-chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h
-chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/singlefilehost
install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
@@ -469,13 +586,16 @@
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
+echo "%{_libdir}/dotnet" >> install_location
install install_location %{buildroot}%{_sysconfdir}/dotnet/
+echo "%{_libdir}/dotnet" >> install_location_%{runtime_arch}
+install install_location_%{runtime_arch} %{buildroot}%{_sysconfdir}/dotnet/
install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
install -m 0644 artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
+
# 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.
@@ -483,7 +603,13 @@
%{SOURCE10} -v %{buildroot}%{_libdir}/dotnet/
+
%check
+%if 0%{?fedora} > 35
+# lttng in Fedora > 35 is incompatible with .NET
+export COMPlus_LTTng=0
+%endif
+
%{buildroot}%{_libdir}/dotnet/dotnet --info
@@ -505,46 +631,65 @@
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/dotnet
-%files -n dotnet-hostfxr-5.0
+%files -n dotnet-hostfxr-6.0
%dir %{_libdir}/dotnet/host/fxr
%{_libdir}/dotnet/host/fxr/%{host_version}
-%files -n dotnet-runtime-5.0
+%files -n dotnet-runtime-6.0
%dir %{_libdir}/dotnet/shared
%dir %{_libdir}/dotnet/shared/Microsoft.NETCore.App
%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}
-%files -n aspnetcore-runtime-5.0
+%files -n aspnetcore-runtime-6.0
%dir %{_libdir}/dotnet/shared
%dir %{_libdir}/dotnet/shared/Microsoft.AspNetCore.App
%{_libdir}/dotnet/shared/Microsoft.AspNetCore.App/%{aspnetcore_runtime_version}
-%files -n dotnet-templates-5.0
+%files -n dotnet-templates-6.0
%dir %{_libdir}/dotnet/templates
%{_libdir}/dotnet/templates/%{templates_version}
-%files -n dotnet-sdk-5.0
+%files -n dotnet-sdk-6.0
%dir %{_libdir}/dotnet/sdk
%{_libdir}/dotnet/sdk/%{sdk_version}
+%dir %{_libdir}/dotnet/sdk-manifests
+# FIXME hardcoded version?
+%{_libdir}/dotnet/sdk-manifests/6.0.100
+%{_libdir}/dotnet/metadata
%dir %{_libdir}/dotnet/packs
-%files -n dotnet-sdk-5.0-source-built-artifacts
+%files -n dotnet-sdk-6.0-source-built-artifacts
%dir %{_libdir}/dotnet
%{_libdir}/dotnet/source-built-artifacts
%changelog
-* Thu Dec 02 2021 Omair Majid <omajid@redhat.com> - 5.0.206-2
-- Fix build using clang 13
+* Wed Nov 10 2021 Omair Majid <omajid@redhat.com> - 6.0.100-1
+- Update to .NET 6
+
+* Fri Oct 22 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.7.rc2
+- Update to .NET 6 RC2
+
+* Fri Oct 08 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718
+- Enable building on arm64
+- Related: RHBZ#1986017
+
+* Sun Oct 03 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.5.28be3e9a006d90d8c6e87d4353b77882829df718
+- Enable building on s390x
+- Related: RHBZ#1986017
+
+* Sun Oct 03 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.4.28be3e9a006d90d8c6e87d4353b77882829df718
+- Clean up tarball and add initial support for s390x
+- Related: RHBZ#1986017
-* Thu Aug 12 2021 Omair Majid <omajid@redhat.com> - 5.0.206-1
-- Update to .NET SDK 5.0.206 and Runtime 5.0.9
+* Sun Sep 26 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.3.28be3e9a006d90d8c6e87d4353b77882829df718
+- Update to work-in-progress RC2 release
-* Tue Jul 27 2021 Omair Majid <omajid@redhat.com> - 5.0.205-1
-- Update to .NET SDK 5.0.205 and Runtime 5.0.8
+* Wed Aug 25 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.2.preview6
+- Updated to build the latest source-build preview
-* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.204-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+* Fri Jul 23 2021 Omair Majid <omajid@redhat.com> - 6.0.0-0.1.preview6
+- Initial package for .NET 6
* Thu Jun 10 2021 Omair Majid <omajid@redhat.com> - 5.0.204-1
- Update to .NET SDK 5.0.204 and Runtime 5.0.7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment