Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

22 changed files with 394 additions and 627 deletions

View File

@ -1 +0,0 @@
12090bf3fa9d16f96a49119818246d432ec5e1e1 SOURCES/dotnet-v3.1.426-SDK.tar.gz

1
.gitignore vendored
View File

@ -1 +0,0 @@
SOURCES/dotnet-v3.1.426-SDK.tar.gz

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# Package Not Available
This package is not available on CentOS Stream 10.
It may be available on another branch.

View File

@ -1,136 +0,0 @@
#!/usr/bin/python3
"""
Check debug symbols are present in shared object and can identify
code.
It starts scanning from a directory and recursively scans all ELF
files found in it for various symbols to ensure all debuginfo is
present and nothing has been stripped.
Usage:
./check-debug-symbols /path/of/dir/to/scan/
Example:
./check-debug-symbols /usr/lib64
"""
# This technique was explained to me by Mark Wielaard (mjw).
import collections
import os
import re
import subprocess
import sys
ScanResult = collections.namedtuple('ScanResult',
'file_name debug_info debug_abbrev file_symbols gnu_debuglink')
def scan_file(file):
"Scan the provided file and return a ScanResult containing results of the scan."
# Test for .debug_* sections in the shared object. This is the main test.
# Stripped objects will not contain these.
readelf_S_result = subprocess.run(['eu-readelf', '-S', file],
stdout=subprocess.PIPE, encoding='utf-8', check=True)
has_debug_info = any(line for line in readelf_S_result.stdout.split('\n') if '] .debug_info' in line)
has_debug_abbrev = any(line for line in readelf_S_result.stdout.split('\n') if '] .debug_abbrev' in line)
# Test FILE symbols. These will most likely be removed by anyting that
# manipulates symbol tables because it's generally useless. So a nice test
# that nothing has messed with symbols.
def contains_file_symbols(line):
parts = line.split()
if len(parts) < 8:
return False
return \
parts[2] == '0' and parts[3] == 'FILE' and parts[4] == 'LOCAL' and parts[5] == 'DEFAULT' and \
parts[6] == 'ABS' and re.match(r'((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx))?', parts[7])
readelf_s_result = subprocess.run(["eu-readelf", '-s', file],
stdout=subprocess.PIPE, encoding='utf-8', check=True)
has_file_symbols = any(line for line in readelf_s_result.stdout.split('\n') if contains_file_symbols(line))
# Test that there are no .gnu_debuglink sections pointing to another
# debuginfo file. There shouldn't be any debuginfo files, so the link makes
# no sense either.
has_gnu_debuglink = any(line for line in readelf_s_result.stdout.split('\n') if '] .gnu_debuglink' in line)
return ScanResult(file, has_debug_info, has_debug_abbrev, has_file_symbols, has_gnu_debuglink)
def is_elf(file):
result = subprocess.run(['file', file], stdout=subprocess.PIPE, encoding='utf-8', check=True)
return re.search('ELF 64-bit LSB (?:executable|shared object)', result.stdout)
def scan_file_if_sensible(file):
if is_elf(file):
# print(file)
return scan_file(file)
return None
def scan_dir(dir):
results = []
for root, _, files in os.walk(dir):
for name in files:
result = scan_file_if_sensible(os.path.join(root, name))
if result:
results.append(result)
return results
def scan(file):
file = os.path.abspath(file)
if os.path.isdir(file):
return scan_dir(file)
elif os.path.isfile(file):
return [scan_file_if_sensible(file)]
def is_bad_result(result):
return not result.debug_info or not result.debug_abbrev or not result.file_symbols or result.gnu_debuglink
def print_scan_results(results, verbose):
# print(results)
for result in results:
file_name = result.file_name
found_issue = False
if not result.debug_info:
found_issue = True
print('error: missing .debug_info section in', file_name)
if not result.debug_abbrev:
found_issue = True
print('error: missing .debug_abbrev section in', file_name)
if not result.file_symbols:
found_issue = True
print('error: missing FILE symbols in', file_name)
if result.gnu_debuglink:
found_issue = True
print('error: unexpected .gnu_debuglink section in', file_name)
if verbose and not found_issue:
print('OK: ', file_name)
def main(args):
verbose = False
files = []
for arg in args:
if arg == '--verbose' or arg == '-v':
verbose = True
else:
files.append(arg)
results = []
for file in files:
results.extend(scan(file))
print_scan_results(results, verbose)
if any(is_bad_result(result) for result in results):
return 1
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))

View File

@ -1,18 +0,0 @@
diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs
index de1ebb9e6..6bbf479de 100644
--- a/src/dotnet/Program.cs
+++ b/src/dotnet/Program.cs
@@ -28,6 +28,13 @@ public class Program
public static int Main(string[] args)
{
+ // opt out of telemetry by default if the env var is unset
+ string telemetryValue = Environment.GetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT");
+ if (String.IsNullOrEmpty(telemetryValue))
+ {
+ Environment.SetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1");
+ }
+
DebugHelper.HandleDebugSwitch(ref args);
new MulticoreJitActivator().TryActivateMulticoreJit();

View File

@ -1,58 +0,0 @@
--- a/src/settings.cmake
+++ b/src/settings.cmake
@@ -69,55 +69,10 @@
endif (CMAKE_SYSTEM_NAME STREQUAL Darwin)
endif ()
-function(strip_symbols targetName outputFilename)
- if(CLR_CMAKE_PLATFORM_UNIX)
- if(STRIP_SYMBOLS)
-
- # On the older version of cmake (2.8.12) used on Ubuntu 14.04 the TARGET_FILE
- # generator expression doesn't work correctly returning the wrong path and on
- # the newer cmake versions the LOCATION property isn't supported anymore.
- if(CMAKE_VERSION VERSION_EQUAL 3.0 OR CMAKE_VERSION VERSION_GREATER 3.0)
- set(strip_source_file $<TARGET_FILE:${targetName}>)
- else()
- get_property(strip_source_file TARGET ${targetName} PROPERTY LOCATION)
- endif()
-
- if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
- set(strip_destination_file ${strip_source_file}.dwarf)
-
- add_custom_command(
- TARGET ${targetName}
- POST_BUILD
- VERBATIM
- COMMAND ${DSYMUTIL} --flat --minimize ${strip_source_file}
- COMMAND ${STRIP} -u -r ${strip_source_file}
- COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
- )
- else(CMAKE_SYSTEM_NAME STREQUAL Darwin)
- set(strip_destination_file ${strip_source_file}.dbg)
-
- add_custom_command(
- TARGET ${targetName}
- POST_BUILD
- VERBATIM
- COMMAND ${OBJCOPY} --only-keep-debug ${strip_source_file} ${strip_destination_file}
- COMMAND ${OBJCOPY} --strip-unneeded ${strip_source_file}
- COMMAND ${OBJCOPY} --add-gnu-debuglink=${strip_destination_file} ${strip_source_file}
- COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
- )
- endif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
-
- set(${outputFilename} ${strip_destination_file} PARENT_SCOPE)
- endif(STRIP_SYMBOLS)
- endif(CLR_CMAKE_PLATFORM_UNIX)
-endfunction()
-
function(install_symbols targetName destination_path)
if(WIN32)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${targetName}.pdb DESTINATION ${destination_path})
else()
- strip_symbols(${targetName} strip_destination_file)
- install(FILES ${strip_destination_file} DESTINATION ${destination_path})
endif()
endfunction()

View File

@ -1,27 +0,0 @@
From e900fff68af76d51a59ac085b35ace76939bc007 Mon Sep 17 00:00:00 2001
From: Omair Majid <omajid@redhat.com>
Date: Tue, 18 Jan 2022 21:45:52 -0500
Subject: [PATCH] Disable Werror
This is so late in the release cycle that fixing warnings is just not
really worth it. The general approach is to fix the issues in the
development branches and disable warnings in the older release branches.
---
src/settings.cmake | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/settings.cmake b/src/settings.cmake
index ff1e04f9..5cc9b3ef 100644
--- a/src/settings.cmake
+++ b/src/settings.cmake
@@ -201,7 +201,6 @@ else()
# compiling with -std=c++11.
# add_compile_options(-Weverything)
endif()
- add_compile_options(-Werror)
add_compile_options(-Wno-missing-field-initializers)
add_compile_options(-Wno-unused-function)
add_compile_options(-Wno-unused-local-typedef)
--
2.34.1

View File

@ -1,42 +0,0 @@
From 3dd725eca0079e2b49821dfeb0ec1cb166cc7414 Mon Sep 17 00:00:00 2001
From: Omair Majid <omajid@redhat.com>
Date: Fri, 4 Oct 2019 19:29:53 -0400
Subject: [PATCH] Handle glibc sys/sysctl.h deprecation
glibc has deprecated sys/sysctl.h:
In file included from /coreclr/src/pal/src/misc/sysinfo.cpp:32:
/usr/include/sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings]
#warning "The <sys/sysctl.h> header is deprecated and will be removed."
^
1 error generated.
Fix that by preferring sysconf and only including sys/sysctl.h if
HAVE_SYSCONF is not true. This mirrors the order of the implementation
code in this file (sysinfo.cpp) which checks for HAVE_SYSCONF
before HAVE_SYSCTL.
Fixes #27008
---
src/pal/src/misc/sysinfo.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/pal/src/misc/sysinfo.cpp b/src/pal/src/misc/sysinfo.cpp
index e1c949e38d53..50ccf3a75e16 100644
--- a/src/pal/src/misc/sysinfo.cpp
+++ b/src/pal/src/misc/sysinfo.cpp
@@ -28,9 +28,12 @@ Revision History:
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
#include <sys/types.h>
-#if HAVE_SYSCTL
+
+#if HAVE_SYSCONF
+// <unistd.h> already included above
+#elif HAVE_SYSCTL
#include <sys/sysctl.h>
-#elif !HAVE_SYSCONF
+#else
#error Either sysctl or sysconf is required for GetSystemInfo.
#endif

View File

@ -1,46 +0,0 @@
From 1864630f762160e1cb439362cc0577471624192a Mon Sep 17 00:00:00 2001
From: Omair Majid <omajid@redhat.com>
Date: Fri, 19 Jul 2019 19:18:51 -0400
Subject: [PATCH] Fix up cgroup2fs in Interop.MountPoints.FormatInfo
`stat -fc %T /sys/fs/cgroup` calls this file system `cgroup2fs`
Add the cgroup2fs file system magic number. Available from:
- https://www.kernel.org/doc/Documentation/cgroup-v2.txt
- man 2 statfs
Move cgroup2fs next to cgroupfs in the drive type list, since it is also
DriveType.Ram.
---
.../Unix/System.Native/Interop.MountPoints.FormatInfo.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs b/src/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs
index af38a2285ba2..4240bd4853ab 100644
--- a/src/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs
+++ b/src/Common/src/Interop/Unix/System.Native/Interop.MountPoints.FormatInfo.cs
@@ -47,6 +47,7 @@ internal enum UnixFileSystemTypes : long
btrfs = 0x9123683E,
ceph = 0x00C36400,
cgroupfs = 0x0027E0EB,
+ cgroup2fs = 0x63677270,
cifs = 0xFF534D42,
coda = 0x73757245,
coherent = 0x012FF7B7,
@@ -231,7 +232,6 @@ private static DriveType GetDriveType(string fileSystemName)
case "bpf_fs":
case "btrfs":
case "btrfs_test":
- case "cgroup2fs":
case "coh":
case "daxfs":
case "drvfs":
@@ -384,6 +384,7 @@ private static DriveType GetDriveType(string fileSystemName)
case "binfmt_misc":
case "cgroup":
case "cgroupfs":
+ case "cgroup2fs":
case "configfs":
case "cramfs":
case "cramfs-wend":

View File

@ -1,40 +0,0 @@
diff --git a/src/Native/Unix/CMakeLists.txt b/src/Native/Unix/CMakeLists.txt
index 7d804a1e54..717c2718d7 100644
--- a/src/Native/Unix/CMakeLists.txt
+++ b/src/Native/Unix/CMakeLists.txt
@@ -25,7 +25,7 @@ add_compile_options(-fPIC)
add_compile_options(-Wthread-safety)
add_compile_options(-Wno-thread-safety-analysis)
endif()
-add_compile_options(-Werror)
+add_compile_options(-Wno-unused-result)
if(CMAKE_SYSTEM_NAME STREQUAL Emscripten)
set(CLR_CMAKE_PLATFORM_WASM 1)
diff --git a/src/Native/Unix/configure.cmake b/src/Native/Unix/configure.cmake
index f4a30ad6cb..f2db68402a 100644
--- a/src/Native/Unix/configure.cmake
+++ b/src/Native/Unix/configure.cmake
@@ -27,6 +27,12 @@ else ()
message(FATAL_ERROR "Unknown platform. Cannot define PAL_UNIX_NAME, used by RuntimeInformation.")
endif ()
+
+set (PREVIOUS_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+set (CMAKE_CXX_FLAGS "-D_GNU_SOURCE")
+set (PREVIOUS_CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
+set (CMAKE_C_FLAGS "-D_GNU_SOURCE")
+
# We compile with -Werror, so we need to make sure these code fragments compile without warnings.
# Older CMake versions (3.8) do not assign the result of their tests, causing unused-value errors
# which are not distinguished from the test failing. So no error for that one.
@@ -698,6 +704,9 @@ endif()
set (CMAKE_REQUIRED_LIBRARIES)
+set (CMAKE_CXX_FLAGS "${PREVIOUS_CMAKE_CXX_FLAGS}")
+set (CMAKE_C_FLAGS "${PREVIOUS_CMAKE_C_FLAGS}")
+
check_c_source_compiles(
"
#include <sys/inotify.h>

View File

@ -1,15 +0,0 @@
diff --git a/Directory.Build.props b/Directory.Build.props
index f6a6f54a..8247c3ee 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -133,8 +133,8 @@
<AspNetRazorBuildServerLogDir>$(BaseOutputPath)aspnet-debug</AspNetRazorBuildServerLogDir>
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
<IlasmPath Condition="'$(OfflineBuild)' != 'true'">invalid: ILAsm is not expected to be needed in the online build</IlasmPath>
- <IlasmPath Condition="'$(OfflineBuild)' == 'true'">$(PrebuiltSourceBuiltPackagesPath)coreclr-tools/$(BuildArchitecture)/ilasm</IlasmPath>
- <IldasmPath Condition="'$(OfflineBuild)' != 'true'">$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)/ildasm</IldasmPath>
+ <IlasmPath Condition="'$(OfflineBuild)' == 'true'">$(PrebuiltSourceBuiltPackagesPath)coreclr-tools/ilasm</IlasmPath>
+ <IldasmPath Condition="'$(OfflineBuild)' != 'true'">$(ToolPackageExtractDir)coreclr-tools/ildasm</IldasmPath>
<IldasmPath Condition="'$(OfflineBuild)' == 'true'">invalid: ILDasm is not expected to be needed in the offline build</IldasmPath>
<!-- Dir where git info is generated during online builds. -->
<GitInfoOutputDir>$(BaseOutputPath)git-info/</GitInfoOutputDir>

1
dead.package Normal file
View File

@ -0,0 +1 @@
dotnet3.1 package is retired on branch c10s for CS-2551

View File

@ -14,26 +14,24 @@
%global __provides_exclude ^(%{privlibs})\\.so %global __provides_exclude ^(%{privlibs})\\.so
%global __requires_exclude ^(%{privlibs})\\.so %global __requires_exclude ^(%{privlibs})\\.so
# Filter flags not supported by clang/dotnet: # LTO triggers a compilation error for a source level issue. Given that LTO should not
# -fstack-clash-protection is not supported by clang # change the validity of any given source and the nature of the error (undefined enum), I
# -specs= is not supported by clang # suspect a generator program is mis-behaving in some way. This needs further debugging,
%global dotnet_cflags %(echo %optflags | sed -e 's/-fstack-clash-protection//' | sed -re 's/-specs=[^ ]*//g') # until that's done, disable LTO. This has to happen before setting the flags below.
%if 0%{?fedora} < 30 && ! 0%{?rhel} %define _lto_cflags %{nil}
# on Fedora 29, clang, -fcf-protection and binutils interact in strage ways leading to
# "<corrupt x86 feature size: 0x8>" errors.
%global dotnet_cflags %(echo %dotnet_cflags | sed -e 's/ -fcf-protection//')
%endif
%global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g')
%global host_version 3.1.32
%global runtime_version 3.1.32 %global host_version 3.1.11
%global runtime_version 3.1.11
%global aspnetcore_runtime_version %{runtime_version} %global aspnetcore_runtime_version %{runtime_version}
%global sdk_version 3.1.426 %global sdk_version 3.1.111
# upstream can update releases without revving the SDK version so these don't always match
%global src_version %{sdk_version}
%global templates_version %(echo %{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') %global templates_version %(echo %{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%global host_rpm_version %{host_version} %global host_rpm_version %{host_version}
%global runtime_rpm_version %{runtime_version}
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version} %global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global runtime_rpm_version %{runtime_version}
%global sdk_rpm_version %{sdk_version} %global sdk_rpm_version %{sdk_version}
%if 0%{?fedora} || 0%{?rhel} < 8 %if 0%{?fedora} || 0%{?rhel} < 8
@ -42,6 +40,10 @@
%global use_bundled_libunwind 1 %global use_bundled_libunwind 1
%endif %endif
%ifarch aarch64
%global use_bundled_libunwind 1
%endif
%ifarch x86_64 %ifarch x86_64
%global runtime_arch x64 %global runtime_arch x64
%endif %endif
@ -49,45 +51,54 @@
%global runtime_arch arm64 %global runtime_arch arm64
%endif %endif
%if 0%{?fedora} %{!?runtime_id:%global runtime_id %(. /etc/os-release ; echo "${ID}.${VERSION_ID%%.*}")-%{runtime_arch}}
%global runtime_id fedora.%{fedora}-%{runtime_arch}
%else
%if 0%{?centos}
%global runtime_id centos.%{centos}-%{runtime_arch}
%else
%global runtime_id rhel.%{rhel}-%{runtime_arch}
%endif
%endif
Name: dotnet3.1 Name: dotnet3.1
Version: %{sdk_rpm_version} Version: %{sdk_rpm_version}
Release: 1%{?dist} Release: 1%{?dist}
Summary: .NET Core CLI tools and runtime Summary: .NET Core Runtime and SDK
License: MIT and ASL 2.0 and BSD 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/ URL: https://github.com/dotnet/
# ./build-dotnet-tarball dotnet-v%%{sdk_version}-SDK # The source is generated on a Fedora box via:
Source0: dotnet-v%{sdk_version}-SDK.tar.gz # ./build-dotnet-tarball v%%{src_version}-SDK
#Source0: dotnet-v%%{sdk_version}-SDK-x64-bootstrap.tar.gz Source0: dotnet-v%{src_version}-SDK.tar.gz
Source1: check-debug-symbols.py
Source2: dotnet.sh.in
Source100: check-debug-symbols.py Patch1: source-build-warnings-are-not-errors.patch
Source101: dotnet.sh.in
Patch1: source-build-ilasm-ildasm-path-fix.patch
# Fix building with our additional CFLAGS/CXXFLAGS/LDFLAGS
Patch100: corefx-optflags-support.patch Patch100: corefx-optflags-support.patch
# Add some support for cgroupv2 in corefx
# All these patches are upstreamed for 5.0
Patch101: corefx-39686-cgroupv2-01.patch
Patch102: corefx-39686-cgroupv2-02.patch
Patch103: corefx-39633-cgroupv2-mountpoints.patch Patch103: corefx-39633-cgroupv2-mountpoints.patch
Patch200: coreclr-27048-sysctl-deprecation.patch # Build with with hardening flags, including -pie
# Already applied at tarball build time Patch200: coreclr-hardening-flags.patch
#Patch201: coreclr-libunwind-fno-common.patch # Fix build with clang 10; Already applied at tarball-build time
# Patch201: coreclr-clang10.patch
# Fix build on recent versions of gcc/clang
# https://github.com/libunwind/libunwind/pull/166
# Already applied
#Patch202: coreclr-libunwind-fno-common.patch
Patch300: core-setup-do-not-strip.patch # Build with with hardening flags, including -pie
Patch301: core-setup-no-werror.patch Patch300: core-setup-hardening-flags.patch
Patch301: core-setup-gcc11.patch
# Disable telemetry by default; make it opt-in
Patch500: cli-telemetry-optout.patch Patch500: cli-telemetry-optout.patch
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
ExclusiveArch: aarch64 x86_64
%else
ExclusiveArch: x86_64 ExclusiveArch: x86_64
%endif
BuildRequires: clang BuildRequires: clang
BuildRequires: cmake BuildRequires: cmake
@ -97,6 +108,7 @@ BuildRequires: dotnet-build-reference-packages
BuildRequires: dotnet-sdk-3.1 BuildRequires: dotnet-sdk-3.1
BuildRequires: dotnet-sdk-3.1-source-built-artifacts BuildRequires: dotnet-sdk-3.1-source-built-artifacts
%endif %endif
BuildRequires: findutils
BuildRequires: git BuildRequires: git
%if 0%{?fedora} || 0%{?rhel} > 7 %if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: glibc-langpack-en BuildRequires: glibc-langpack-en
@ -111,8 +123,10 @@ BuildRequires: libunwind-devel
BuildRequires: lldb-devel BuildRequires: lldb-devel
BuildRequires: llvm BuildRequires: llvm
BuildRequires: lttng-ust-devel BuildRequires: lttng-ust-devel
BuildRequires: make
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: python3 BuildRequires: python3
BuildRequires: systemtap-sdt-devel
BuildRequires: tar BuildRequires: tar
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -191,10 +205,8 @@ Summary: NET Core 3.1 runtime
Requires: dotnet-hostfxr-3.1%{?_isa} >= %{host_rpm_version}-%{release} Requires: dotnet-hostfxr-3.1%{?_isa} >= %{host_rpm_version}-%{release}
# libicu is dlopen()ed # libicu is dlopen()ed
Requires: libicu Requires: libicu%{?_isa}
# See src/corefx.*/src/Native/AnyOS/brotli-version.txt
Provides: bundled(libbrotli) = 1.0.9
%if %{use_bundled_libunwind} %if %{use_bundled_libunwind}
Provides: bundled(libunwind) = 1.3 Provides: bundled(libunwind) = 1.3
%endif %endif
@ -254,6 +266,9 @@ applications and micro-services.
Version: %{sdk_rpm_version} Version: %{sdk_rpm_version}
Summary: .NET Core 3.1 Software Development Kit Summary: .NET Core 3.1 Software Development Kit
Provides: bundled(js-jquery)
Provides: bundled(npm)
Requires: dotnet-runtime-3.1%{?_isa} >= %{runtime_rpm_version}-%{release} Requires: dotnet-runtime-3.1%{?_isa} >= %{runtime_rpm_version}-%{release}
Requires: aspnetcore-runtime-3.1%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release} Requires: aspnetcore-runtime-3.1%{?_isa} >= %{aspnetcore_runtime_rpm_version}-%{release}
@ -275,16 +290,16 @@ It particularly focuses on creating console applications, web
applications and micro-services. applications and micro-services.
%define dotnet_targeting_pack() %{expand: %global dotnet_targeting_pack() %{expand:
%package -n %{1} %package -n %{1}
Version: %{2} Version: %{2}
Summary: Targeting Pack for %{3} %{4} Summary: Targeting Pack for %{3} %{4}
Requires: dotnet-host Requires: dotnet-host%{?_isa}
%description -n %{1} %description -n %{1}
This package provides a targetting pack for %{3} %{4} This package provides a targeting pack for %{3} %{4}
that allows developers to compile against and target %{3} %{4} that allows developers to compile against and target %{3} %{4}
applications using the .NET Core SDK. applications using the .NET Core SDK.
@ -296,7 +311,8 @@ applications using the .NET Core SDK.
%dotnet_targeting_pack dotnet-apphost-pack-3.1 %{runtime_rpm_version} Microsoft.NETCore.App 3.1 Microsoft.NETCore.App.Host.%{runtime_id} %dotnet_targeting_pack dotnet-apphost-pack-3.1 %{runtime_rpm_version} Microsoft.NETCore.App 3.1 Microsoft.NETCore.App.Host.%{runtime_id}
%dotnet_targeting_pack dotnet-targeting-pack-3.1 %{runtime_rpm_version} Microsoft.NETCore.App 3.1 Microsoft.NETCore.App.Ref %dotnet_targeting_pack dotnet-targeting-pack-3.1 %{runtime_rpm_version} Microsoft.NETCore.App 3.1 Microsoft.NETCore.App.Ref
%dotnet_targeting_pack aspnetcore-targeting-pack-3.1 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 3.1 Microsoft.AspNetCore.App.Ref %dotnet_targeting_pack aspnetcore-targeting-pack-3.1 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 3.1 Microsoft.AspNetCore.App.Ref
#%%dotnet_targeting_pack netstandard-targeting-pack-2.1 %%{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref %dotnet_targeting_pack netstandard-targeting-pack-2.1 %{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref
%package -n dotnet-sdk-3.1-source-built-artifacts %package -n dotnet-sdk-3.1-source-built-artifacts
@ -311,18 +327,7 @@ These are not meant for general use.
%prep %prep
%if %{with bootstrap} %setup -q -n dotnet-v%{src_version}-SDK
%ifarch x86_64
%setup T -b0 -q -n dotnet-v%{sdk_version}-SDK-%{runtime_arch}-bootstrap
%endif
%ifarch aarch64
%setup T -b1 -q -n dotnet-v%{sdk_version}-SDK-%{runtime_arch}-bootstrap
%endif
%else
%setup -q -n dotnet-v%{sdk_version}-SDK
%endif
%if %{without bootstrap} %if %{without bootstrap}
# Remove all prebuilts # Remove all prebuilts
@ -336,38 +341,43 @@ rm -rf packages/source-built
%endif %endif
%if %{without bootstrap} %if %{without bootstrap}
sed -i -e 's|3.1.100-preview1-014459|3.1.103|' global.json
mkdir -p packages/archive mkdir -p packages/archive
ln -s %{_libdir}/dotnet/source-built-artifacts/*.tar.gz packages/archive/ ln -s %{_libdir}/dotnet/source-built-artifacts/*.tar.gz packages/archive/
ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages*.tar.gz packages/archive ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages*.tar.gz packages/archive
%endif %endif
# Fix bad hardcoded path in build # Fix bad hardcoded path in build
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/dotnet-core-setup.*/src/corehost/common/pal.unix.cpp sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/core-setup.*/src/corehost/common/pal.unix.cpp
# Disable warnings # Disable warnings
sed -i 's|skiptests|skiptests ignorewarnings|' repos/coreclr.common.props sed -i 's|skiptests|skiptests ignorewarnings|' repos/coreclr.proj
%patch1 -p1 %patch1 -p1
pushd src/dotnet-corefx.* pushd src/corefx.*
%patch100 -p1 %patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1 %patch103 -p1
popd popd
pushd src/dotnet-coreclr.* pushd src/coreclr.*
%patch200 -p1 %patch200 -p1
#%%patch201 -p1 #%%patch201 -p1
#%%patch202 -p1
popd popd
pushd src/dotnet-core-setup.* pushd src/core-setup.*
%patch300 -p1 %patch300 -p1
%patch301 -p1 %patch301 -p1
popd popd
pushd src/dotnet-cli.* pushd src/cli.*
%patch500 -p1 %patch500 -p1
popd popd
# If CLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE is misisng, add it back # If CLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE is misisng, add it back
grep CLR_CMAKE_USE_SYSTEM_LIBUNWIND repos/coreclr.common.props || \ grep CLR_CMAKE_USE_SYSTEM_LIBUNWIND repos/coreclr.common.props || \
sed -i 's|\$(BuildArguments) </BuildArguments>|$(BuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</BuildArguments>|' repos/coreclr.common.props sed -i 's|\$(BuildArguments) </BuildArguments>|$(BuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</BuildArguments>|' repos/coreclr.common.props
@ -376,6 +386,11 @@ grep CLR_CMAKE_USE_SYSTEM_LIBUNWIND repos/coreclr.common.props || \
sed -i 's|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=FALSE|' repos/coreclr.common.props sed -i 's|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=FALSE|' repos/coreclr.common.props
%endif %endif
%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
cat source-build-info.txt cat source-build-info.txt
find -iname 'nuget.config' -exec echo {}: \; -exec cat {} \; -exec echo \; find -iname 'nuget.config' -exec echo {}: \; -exec cat {} \; -exec echo \;
@ -389,9 +404,40 @@ cat /etc/os-release
cp -a %{_libdir}/dotnet previously-built-dotnet cp -a %{_libdir}/dotnet previously-built-dotnet
%endif %endif
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
# Setting this macro ensures that only clang supported options will be
# added to ldflags and cflags.
%global toolchain clang
%set_build_flags
%else
# Filter flags not supported by clang
# -specs=
%global dotnet_cflags %(echo %optflags | sed -re 's/-specs=[^ ]*//g')
%global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g')
export CFLAGS="%{dotnet_cflags}" export CFLAGS="%{dotnet_cflags}"
export CXXFLAGS="%{dotnet_cflags}" export CXXFLAGS="%{dotnet_cflags}"
export LDFLAGS="%{dotnet_ldflags}" export LDFLAGS="%{dotnet_ldflags}"
%endif
%ifarch aarch64
# mbranch-protection=standard breaks unwinding in CoreCLR through libunwind
CFLAGS=$(echo $CFLAGS | sed -e 's/-mbranch-protection=standard //')
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-mbranch-protection=standard //')
%endif
# fstack-clash-protection breaks CoreCLR
CFLAGS=$(echo $CFLAGS | sed -e 's/-fstack-clash-protection//' )
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-fstack-clash-protection//' )
echo $CFLAGS
echo $CXXFLAGS
echo $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
VERBOSE=1 ./build.sh \ VERBOSE=1 ./build.sh \
%if %{without bootstrap} %if %{without bootstrap}
@ -405,12 +451,12 @@ VERBOSE=1 ./build.sh \
/p:ContinueOnPrebuiltBaselineError=true \ /p:ContinueOnPrebuiltBaselineError=true \
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE101} > dotnet.sh sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE2} > dotnet.sh
%install %install
install -dm 0755 %{buildroot}%{_libdir}/dotnet install -dm 0755 %{buildroot}%{_libdir}/dotnet
find artifacts/%{runtime_arch}/Release ls artifacts/%{runtime_arch}/Release
tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/ tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/
# Install managed symbols # Install managed symbols
@ -424,44 +470,30 @@ 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 '*.pubxml' -exec chmod -x {} \;
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.targets' -exec chmod -x {} \; find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.targets' -exec chmod -x {} \;
chmod 0755 %{buildroot}/%{_libdir}/dotnet/sdk/%{sdk_version}/AppHostTemplate/apphost chmod 0755 %{buildroot}/%{_libdir}/dotnet/sdk/%{sdk_version}/AppHostTemplate/apphost
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.10/data/FrameworkList.xml
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.10/data/PackageOverrides.txt
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.10/data/PlatformManifest.txt
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.10/ref/netcoreapp3.1/*.xml
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Ref/3.1.0/data/FrameworkList.xml
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Ref/3.1.0/data/PackageOverrides.txt
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Ref/3.1.0/data/PlatformManifest.txt
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0/data/FrameworkList.xml
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0/data/PackageOverrides.txt
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 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/libnethost.so
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/apphost
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h
# Provided by dotnet-host from another SRPM install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
#install -dm 0755 %%{buildroot}%%{_sysconfdir}/profile.d/ install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
#install dotnet.sh %%{buildroot}%%{_sysconfdir}/profile.d/
# Provided by dotnet-host from another SRPM install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions
#install -dm 0755 %%{buildroot}/%%{_datadir}/bash-completion/completions
# dynamic completion needs the file to be named the same as the base command # dynamic completion needs the file to be named the same as the base command
#install src/dotnet-cli.*/scripts/register-completions.bash %%{buildroot}/%%{_datadir}/bash-completion/completions/dotnet install src/cli.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet
# TODO: the zsh completion script needs to be ported to use #compdef # TODO: the zsh completion script needs to be ported to use #compdef
#install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions #install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions
#install src/dotnet-cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet #install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet
# Provided by dotnet-host from another SRPM install -dm 0755 %{buildroot}%{_bindir}
#install -dm 0755 %%{buildroot}%%{_bindir} ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/
#ln -s ../../%%{_libdir}/dotnet/dotnet %%{buildroot}%%{_bindir}/
# Provided by dotnet-host from another SRPM install -dm 0755 %{buildroot}%{_mandir}/man1/
#install -dm 0755 %%{buildroot}%%{_mandir}/man1/ find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \;
#find -iname 'dotnet*.1' -type f -exec cp {} %%{buildroot}%%{_mandir}/man1/ \;
# Provided by dotnet-host from another SRPM echo "%{_libdir}/dotnet" >> install_location
#echo "%%{_libdir}/dotnet" >> install_location install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet
#install -dm 0755 %%{buildroot}%%{_sysconfdir}/dotnet install install_location %{buildroot}%{_sysconfdir}/dotnet/
#install install_location %%{buildroot}%%{_sysconfdir}/dotnet/
install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
@ -470,18 +502,30 @@ install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz
# because native binaries are stripped by rpm-build after %%install. # because native binaries are stripped by rpm-build after %%install.
# So we need to do this check earlier. # So we need to do this check earlier.
echo "Testing build results for debug symbols..." echo "Testing build results for debug symbols..."
%{SOURCE100} -v %{buildroot}%{_libdir}/dotnet/ %{SOURCE1} -v %{buildroot}%{_libdir}/dotnet/
# Self-check
%check
%{buildroot}%{_libdir}/dotnet/dotnet --info %{buildroot}%{_libdir}/dotnet/dotnet --info
# Provided by dotnet-host from another SRPM
rm %{buildroot}%{_libdir}/dotnet/LICENSE.txt
rm %{buildroot}%{_libdir}/dotnet/ThirdPartyNotices.txt
rm %{buildroot}%{_libdir}/dotnet/dotnet
# Provided by netstandard-targeting-pack-2.1 from another SRPM %files -n dotnet
rm -rf %{buildroot}%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0 # empty package useful for dependencies
%files -n dotnet-host
%dir %{_libdir}/dotnet
%{_libdir}/dotnet/dotnet
%dir %{_libdir}/dotnet/host
%dir %{_libdir}/dotnet/host/fxr
%{_bindir}/dotnet
%license %{_libdir}/dotnet/LICENSE.txt
%license %{_libdir}/dotnet/ThirdPartyNotices.txt
%doc %{_mandir}/man1/dotnet*.1.gz
%{_sysconfdir}/profile.d/dotnet.sh
%{_sysconfdir}/dotnet
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/dotnet
%files -n dotnet-hostfxr-3.1 %files -n dotnet-hostfxr-3.1
%dir %{_libdir}/dotnet/host/fxr %dir %{_libdir}/dotnet/host/fxr
@ -510,181 +554,101 @@ rm -rf %{buildroot}%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0
%dir %{_libdir}/dotnet %dir %{_libdir}/dotnet
%{_libdir}/dotnet/source-built-artifacts %{_libdir}/dotnet/source-built-artifacts
%changelog %changelog
* Wed Nov 30 2022 Omair Majid <omajid@redhat.com> - 3.1.426-1 * Fri Jan 15 2021 Omair Majid <omajid@redhat.com> - 3.1.111-1
- Update to .NET SDK 3.1.426 and Runtime 3.1.32
- Resolves: RHBZ#2148219
* Wed Sep 14 2022 Omair Majid <omajid@redhat.com> - 3.1.423-2
- Update to .NET SDK 3.1.423 and Runtime 3.1.29
- Resolves: RHBZ#2123784
* Tue Aug 09 2022 Omair Majid <omajid@redhat.com> - 3.1.422-2
- Update to .NET SDK 3.1.422 and Runtime 3.1.28
- Resolves: RHBZ#2115350
* Thu Jul 21 2022 Omair Majid <omajid@redhat.com> - 3.1.421-2
- Update to .NET SDK 3.1.421 and Runtime 3.1.27
- Resolves: RHBZ#2103273
* Thu Jun 23 2022 Omair Majid <omajid@redhat.com> - 3.1.420-1
- Update to .NET SDK 3.1.420 and Runtime 3.1.26
- Resolves: RHBZ#2096318
* Mon May 16 2022 Omair Majid <omajid@redhat.com> - 3.1.419-1
- Update to .NET SDK 3.1.419 and Runtime 3.1.25
- Resolves: RHBZ#2081442
* Wed Apr 27 2022 Omair Majid <omajid@redhat.com> - 3.1.418-2
- Bump release
- Related: RHBZ#2072012
* Mon Apr 25 2022 Omair Majid <omajid@redhat.com> - 3.1.418-1
- Update to .NET SDK 3.1.418 and Runtime 3.1.24
- Resolves: RHBZ#2072012
* Tue Jan 25 2022 Omair Majid <omajid@redhat.com> - 3.1.416-4
- Update to .NET SDK 3.1.416 and Runtime 3.1.22
- Resolves: RHBZ#2011820
- Resolves: RHBZ#2003077
- Resolves: RHBZ#2031428
* Sat Aug 14 2021 Omair Majid <omajid@redhat.com> - 3.1.118-1
- Update to .NET SDK 3.1.118 and Runtime 3.1.18
- Resolves: RHBZ#1990174
* Wed Aug 11 2021 Omair Majid <omajid@redhat.com> - 3.1.117-1
- Update to .NET SDK 3.1.117 and Runtime 3.1.17
- Resolves: RHBZ#1978389
* Fri Jun 11 2021 Omair Majid <omajid@redhat.com> - 3.1.116-1
- Update to .NET SDK 3.1.116 and Runtime 3.1.16
- Resolves: RHBZ#1965499
- Resolves: RHBZ#1966998
* Wed Jun 02 2021 Omair Majid <omajid@redhat.com> - 3.1.115-1
- Update to .NET SDK 3.1.115 and Runtime 3.1.15
- Resolves: RHBZ#1954324
* Thu Apr 22 2021 Omair Majid <omajid@redhat.com> - 3.1.114-2
- Update to .NET SDK 3.1.114 and Runtime 3.1.14
- Add dotnet-sdk-3.1-source-built-artifacts subpackage
- Resolves: RHBZ#1946721
* Wed Feb 10 2021 Omair Majid <omajid@redhat.com> - 3.1.112-2
- Update to .NET Core SDK 3.1.112 and Runtime 3.1.12
- Resolves: RHBZ#1923370
* Wed Jan 13 2021 Omair Majid <omajid@redhat.com> - 3.1.111-2
- Update to .NET Core SDK 3.1.111 and Runtime 3.1.11 - Update to .NET Core SDK 3.1.111 and Runtime 3.1.11
- Resolves: RHBZ#1907627
* Fri Nov 06 2020 Omair Majid <omajid@redhat.com> - 3.1.110-2 * Sun Dec 06 2020 Jeff Law <law@redhat.com> - 3.1.110-2
- Fix missing #include for gcc-11
* Tue Nov 10 2020 Omair Majid <omajid@redhat.com> - 3.1.110-1
- Update to .NET Core SDK 3.1.110 and Runtime 3.1.10 - Update to .NET Core SDK 3.1.110 and Runtime 3.1.10
- Resolves: RHBZ#1893778
* Tue Oct 13 2020 Omair Majid <omajid@redhat.com> - 3.1.109-3 * Wed Oct 14 2020 Omair Majid <omajid@redhat.com> - 3.1.109-1
- Update to .NET Core SDK 3.1.109 and Runtime 3.1.9 - Update to .NET Core SDK 3.1.109 and Runtime 3.1.9
- Resolves: RHBZ#1886546
* Fri Sep 18 2020 Omair Majid <omajid@redhat.com> - 3.1.108-3 * Mon Sep 21 2020 Tom Stellard <tstellar@redhat.com> - 3.1.108-2
- Bump release to preserve upgrade path - Use toolchain macro for setting clang-specific c/ld flags
- Resolves: RHBZ#1874503
* Fri Sep 04 2020 Omair Majid <omajid@redhat.com> - 3.1.108-2 * Wed Sep 16 2020 Troy Dawson <tdawson@redhat.com> - 3.1.108-1
- Stop producing netstandard-targeting-pack-2.1 - Generate runtime_id the same way that it does in the various build scripts
- Resolves: RHBZ#1874503
* Fri Sep 04 2020 Omair Majid <omajid@redhat.com> - 3.1.108-1 * Fri Sep 11 2020 Omair Majid <omajid@redhat.com> - 3.1.108-1
- Update to .NET Core SDK 3.1.108 and Runtime 3.1.8 - Update to .NET Core SDK 3.1.108 and Runtime 3.1.8
- Resolves: RHBZ#1874503
- Resolves: RHBZ#1873454
* Mon Aug 17 2020 Omair Majid <omajid@redhat.com> - 3.1.107-2 * Wed Sep 09 2020 Omair Majid <omajid@redhat.com> - 3.1.107-1
- Remove subpackages that conflict with dotnet5.0 - Add Fedora 34 RID
- Resolves: RHBZ#1862590 - Fix build of bundled libunwind
* Thu Aug 13 2020 Omair Majid <omajid@redhat.com> - 3.1.107-1 * Wed Aug 19 2020 Omair Majid <omajid@redhat.com> - 3.1.107-1
- Update to .NET Core SDK 3.1.107 and Runtime 3.1.7 - Update to .NET Core Runtime 3.1.7 and SDK 3.1.107
- Resolves: RHBZ#1862590
- Resolves: RHBZ#1861114
* Thu Jul 30 2020 Omair Majid <omajid@redhat.com> - 3.1.106-6 * Thu Aug 13 2020 Omair Majid <omajid@redhat.com> - 3.1.106-3
- Remove duplicate LDFLAGS (actually typoed ASMFLAGS) for build - Filter out -mbranch-protection=standard from cflags
- Resolves: RHBZ#1811776
* Wed Jul 29 2020 Omair Majid <omajid@redhat.com> - 3.1.106-5 * Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.106-3
- Export ASMFLAGS during build - Second attempt - Rebuilt for
- Resolves: RHBZ#1811776 https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Omair Majid <omajid@redhat.com> - 3.1.106-4 * Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.106-2
- Enable -fcf-protection - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- Resolves: RHBZ#1811776
* Mon Jul 27 2020 Omair Majid <omajid@redhat.com> - 3.1.106-3 * Tue Jul 21 2020 Jo Shields <joshield@microsoft.com> - 3.1.106-1
- Improve hardening in core-setup and corefx - Update to .NET Core Runtime 3.1.6 and SDK 3.1.106
- Resolves: RHBZ#1811776
* Fri Jul 24 2020 Omair Majid <omajid@redhat.com> - 3.1.106-2 * Tue Jul 21 2020 Omair Majid <omajid@redhat.com> - 3.1.105-5
- Improve hardening in CoreCLR - Fix up commented-out define for disabling LTO
- Resolves: RHBZ#1811776
* Thu Jul 16 2020 Omair Majid <omajid@redhat.com> - 3.1.106-1 * Mon Jul 20 2020 Jeff Law <law@redhat.com> - 3.1.105-5
- Update to .NET Core SDK 3.1.106 and Runtime 3.1.6 - Disable LTO
- Resolves: RHBZ#1853772
- Resolves: RHBZ#1856939
* Tue Jun 09 2020 Omair Majid <omajid@redhat.com> - 3.1.105-1 * Sat Jun 27 2020 Omair Majid <omajid@redhat.com> - 3.1.105-4
- Disable bootstrap
* Fri Jun 26 2020 Omair Majid <omajid@redhat.com> - 3.1.105-3
- Re-bootstrap aarch64
* Fri Jun 19 2020 Omair Majid <omajid@redhat.com> - 3.1.105-3
- Disable bootstrap
* Thu Jun 18 2020 Omair Majid <omajid@redhat.com> - 3.1.105-1
- Bootstrap aarch64
* Tue Jun 16 2020 Chris Rummel <crummel@microsoft.com> - 3.1.105-1
- Update to .NET Core Runtime 3.1.5 and SDK 3.1.105 - Update to .NET Core Runtime 3.1.5 and SDK 3.1.105
- Resolves: RHBZ#1844491
* Mon Jun 01 2020 Omair Majid <omajid@redhat.com> - 3.1.104-3 * Fri Jun 05 2020 Chris Rummel <crummel@microsoft.com> - 3.1.104-1
- Update to .NET Core Runtime 3.1.4 and SDK 3.1.104 - Update to .NET Core Runtime 3.1.4 and SDK 3.1.104
- Resolves: RHBZ#1832685
* Fri Mar 20 2020 Omair Majid <omajid@redhat.com> - 3.1.103-2 * Thu Apr 09 2020 Chris Rummel <crummel@microsoft.com> - 3.1.103-1
- Update to .NET Core Runtime 3.1.3 and SDK 3.1.103 - Update to .NET Core Runtime 3.1.3 and SDK 3.1.103
- Resolves: RHBZ#1815632
* Wed Feb 19 2020 Omair Majid <omajid@redhat.com> - 3.1.102-2 * Mon Mar 16 2020 Omair Majid <omajid@redhat.com> - 3.1.102-1
- Update to .NET Core Runtime 3.1.2 and SDK 3.1.102 - Update to .NET Core Runtime 3.1.2 and SDK 3.1.102
- Resolves: RHBZ#1804452
* Thu Jan 23 2020 Omair Majid <omajid@redhat.com> - 3.1.101-2 * Fri Feb 28 2020 Omair Majid <omajid@redhat.com> - 3.1.101-4
- Disable bootstrap
* Fri Feb 28 2020 Omair Majid <omajid@redhat.com> - 3.1.101-3
- Enable bootstrap
- Add Fedora 33 runtime ids
* Thu Feb 27 2020 Omair Majid <omajid@redhat.com> - 3.1.101-2
- Disable bootstrap
* Tue Jan 21 2020 Omair Majid <omajid@redhat.com> - 3.1.101-1
- Update to .NET Core Runtime 3.1.1 and SDK 3.1.101 - Update to .NET Core Runtime 3.1.1 and SDK 3.1.101
- Resolves: RHBZ#1789154
* Wed Dec 04 2019 Omair Majid <omajid@redhat.com> - 3.1.100-2 * Thu Dec 05 2019 Omair Majid <omajid@redhat.com> - 3.1.100-1
- Remove arm64 variant of the source tarball
- Resolves: RHBZ#1711405
* Tue Dec 03 2019 Omair Majid <omajid@redhat.com> - 3.1.100-1
- Update to .NET Core Runtime 3.1.0 and SDK 3.1.100 - Update to .NET Core Runtime 3.1.0 and SDK 3.1.100
- Resolves: RHBZ#1711405
* Wed Nov 27 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.7.preview3
- Extract self-contained executables under $HOME
- Resolves: RHBZ#1711405
* Wed Nov 27 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.6.preview3
- Drop local fixes for cgroupv2
- Resolves: RHBZ#1711405
* Mon Nov 18 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.5.preview3
- Fix permissions on apphost
- Resolves: RHBZ#1711405
* Mon Nov 18 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.4.preview3 * Mon Nov 18 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.4.preview3
- Update to .NET Core Runtime 3.1.0-preview3.19553.2 and SDK 3.1.100-preview3-014645 - Fix apphost permissions
- Resolves: RHBZ#1711405
* Wed Nov 13 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.3 * Fri Nov 15 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.3.preview3
- Add gating tests - Update to .NET Core Runtime 3.1.0-preview3.19553.2 and SDK
- Resolves: RHBZ#1711405 3.1.100-preview3-014645
* Wed Nov 13 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.2
- Initial import from Fedora into RHEL
- Resolves: RHBZ#1711405
* Wed Nov 06 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.2 * Wed Nov 06 2019 Omair Majid <omajid@redhat.com> - 3.1.100-0.2
- Update to .NET Core 3.1 Preview 2 - Update to .NET Core 3.1 Preview 2
@ -737,7 +701,7 @@ rm -rf %{buildroot}%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0
* Wed Jun 26 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.6.preview6 * Wed Jun 26 2019 Omair Majid <omajid@redhat.com> - 3.0.0-0.6.preview6
- Update to .NET Core Runtime 3.0.0-preview6-27804-01 and SDK 3.0.100-preview6-012264 - Update to .NET Core Runtime 3.0.0-preview6-27804-01 and SDK 3.0.100-preview6-012264
- Set dotnet installation location in /etc/dotnet/install_location - Set dotnet installation location in /etc/dotnet/install_location
- Update targetting packs - Update targeting packs
- Install managed symbols - Install managed symbols
- Completely conditionalize libunwind bundling - Completely conditionalize libunwind bundling

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

49
rename-tarball Executable file
View File

@ -0,0 +1,49 @@
#!/bin/bash
# Usage:
# ./rename-tarball original-name.tar.gz new-name.tar.gz
set -euo pipefail
IFS=$'\n\t'
positional_args=()
while [[ "$#" -gt 0 ]]; do
arg="${1}"
case "${arg}" in
-h|--help)
print_usage
exit 0
;;
*)
positional_args+=("$1")
shift
;;
esac
done
original_name=${positional_args[0]:-}
if [[ -z ${original_name} ]]; then
echo "error: missing original tarball name"
exit 1
fi
new_name=${positional_args[1]:-}
if [[ -z ${new_name} ]]; then
echo "error: missing new tarball name"
exit 1
fi
original_name=${original_name/%.tar.gz}
new_name=${new_name/.tar.gz}
echo "Original: ${original_name}.tar.gz"
echo "New name: ${new_name}.tar.gz"
mkdir "temp-${new_name}"
pushd "temp-${new_name}"
tar xf "../${original_name}.tar.gz"
mv "${original_name}" "${new_name}"
tar czf ../"${new_name}.tar.gz" "${new_name}"
rm -rf "${new_name}"
popd
rmdir "temp-${new_name}"

View File

@ -0,0 +1,21 @@
From c82976fd5eb4cbcf67faaba62f0bc59634d30338 Mon Sep 17 00:00:00 2001
From: Chris Rummel <crummel@microsoft.com>
Date: Fri, 14 Aug 2020 15:34:07 -0500
Subject: [PATCH] Disable XLiff warning as error
---
repos/xliff-tasks.proj | 1 +
1 file changed, 1 insertion(+)
diff --git a/repos/xliff-tasks.proj b/repos/xliff-tasks.proj
index da2ae79c5b..9b86754018 100644
--- a/repos/xliff-tasks.proj
+++ b/repos/xliff-tasks.proj
@@ -7,6 +7,7 @@
<BuildCommandArgs>$(BuildCommandArgs) /v:$(LogVerbosity)</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /flp:Verbosity=Diag</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) /bl</BuildCommandArgs>
+ <BuildCommandArgs>$(BuildCommandArgs) /p:TreatWarningsAsErrors=false</BuildCommandArgs>
<BuildCommandArgs>$(BuildCommandArgs) $(RedirectRepoOutputToLog)</BuildCommandArgs>
<BuildCommand>$(DotnetToolCommand) $(BuildCommandArgs)</BuildCommand>

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (dotnet-v3.1.111-SDK.tar.gz) = e65b8b96a0814a4a3fb9f56d2bde8f0f851fdeeeb1ce9980945994a0194aa1deabdb14141e0b77a09feaaf6a515565a337e7cac56be8ef663ca8ec127556b4e7

1
tests/.fmf/version Normal file
View File

@ -0,0 +1 @@
2

6
tests/provision.fmf Normal file
View File

@ -0,0 +1,6 @@
---
standard-inventory-qcow2:
qemu:
m: 5G

35
tests/tests.yml Normal file
View File

@ -0,0 +1,35 @@
---
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
- container
- atomic
repositories:
- repo: "https://github.com/redhat-developer/dotnet-regular-tests.git"
dest: "dotnet-regular-tests"
version: "main"
tests:
- download_test_runner:
dir: ./
run: wget --no-verbose https://github.com/redhat-developer/dotnet-bunny/releases/latest/download/turkey-$(uname -m) -O turkey && chmod +x ./turkey
- print_test_runner_version:
dir: ./
run: ./turkey --version
- regular:
dir: ./
run: ./turkey -l={{ remote_artifacts }} dotnet-regular-tests
required_packages:
- babeltrace
- bash-completion
- binutils
- expect
- jq
- lldb
- lttng-tools
- npm
- python3
- strace
- wget
- which

63
update-release Executable file
View File

@ -0,0 +1,63 @@
#!/bin/bash
# Usage:
# ./update-release sdk-version runtime-version
set -euo pipefail
IFS=$'\n\t'
print_usage() {
echo " Usage:"
echo " ./update-release sdk-version runtime-version"
}
positional_args=()
while [[ "$#" -gt 0 ]]; do
arg="${1}"
case "${arg}" in
-h|--help)
print_usage
exit 0
;;
*)
positional_args+=("$1")
shift
;;
esac
done
spec_file=dotnet3.1.spec
sdk_version=${positional_args[0]:-}
if [[ -z ${sdk_version} ]]; then
echo "error: missing sdk version"
exit 1
fi
runtime_version=${positional_args[1]:-}
if [[ -z ${runtime_version} ]]; then
echo "error: missing runtime version"
exit 1
fi
host_version="$runtime_version"
if [[ ! -f "dotnet-v${sdk_version}-SDK.tar.gz" ]]; then
./build-dotnet-tarball "v${sdk_version}-SDK"
fi
set -x
sed -i -E "s|^%global host_version [[:digit:]]\.[[:digit:]]\.[[:digit:]]+|%global host_version ${host_version}|" "$spec_file"
sed -i -E "s|^%global runtime_version [[:digit:]]\.[[:digit:]]\.[[:digit:]]+|%global runtime_version ${runtime_version}|" "$spec_file"
sed -i -E "s|^%global sdk_version [[:digit:]]\.[[:digit:]]\.[[:digit:]][[:digit:]][[:digit:]]|%global sdk_version ${sdk_version}|" "$spec_file"
comment="Update to .NET Core SDK ${sdk_version} and Runtime ${runtime_version}"
rpmdev-bumpspec -D --comment="$comment" $spec_file
# Reset release to 1 in 'Release' tag
sed -i -E 's|^Release: [[:digit:]]+%|Release: 1%|' $spec_file
# Reset Release in changelog comment
# See https://stackoverflow.com/questions/18620153/find-matching-text-and-replace-next-line
sed -i -E '/^%changelog$/!b;n;s/-[[:digit:]]+$/-1/' $spec_file