Compare commits

..

21 Commits
c9 ... c10s

Author SHA1 Message Date
Satish Mane
28256feff8 Update to .NET SDK 9.0.119 and Runtime 9.0.18
Resolves: RHEL-192471
2026-07-23 17:05:54 +05:30
Tom Deseyn
15fd5c9268 Reduce time to detect hanging builds by using standard output-based detection.
Resolves: RHEL-191642
2026-07-02 20:28:24 +02:00
Tom Deseyn
eee3fd8a0a Update to .NET SDK 9.0.118 and Runtime 9.0.17
Resolves: RHEL-181552
2026-06-10 14:14:33 +02:00
Omair Majid
f1abad5973 Update to .NET SDK 9.0.117 and Runtime 9.0.16
Resolves: RHEL-173917
2026-06-02 12:27:25 -04:00
Omair Majid
f70a5ff70b Update to .NET SDK 9.0.116 and Runtime 9.0.15
Resolves: RHEL-163400
2026-04-17 12:33:06 -04:00
Dominik Rehák
ca842089d1 Update to .NET SDK 9.0.115 and Runtime 9.0.14
Resolves: RHEL-152947
2026-03-26 15:23:38 +01:00
Omair Majid
20aedce3ac Update to .NET SDK 9.0.114 and Runtime 9.0.13
Resolves: RHEL-144971
2026-02-11 09:26:15 -05:00
Omair Majid
7d9492eb68 Update to .NET SDK 9.0.113 and Runtime 9.0.12
Resolves: RHEL-138646
2026-01-14 22:20:46 -05:00
Omair Majid
43ef3042e8 Update to .NET SDK 9.0.112 and Runtime 9.0.11
Resolves: RHEL-125744
2025-11-12 13:44:23 -05:00
Omair Majid
9619cdd5bb Update to .NET SDK 9.0.111 and Runtime 9.0.10
Resolves: RHEL-116861
2025-10-15 12:37:13 -04:00
Omair Majid
349c50eeb6 Update to .NET SDK 9.0.110 and Runtime 9.0.9
Resolves: RHEL-112268
2025-09-10 09:26:33 -04:00
Omair Majid
f27f81233c Update to .NET SDK 9.0.109 and Runtime 9.0.8
Resolves: RHEL-106727
2025-08-11 18:16:36 -04:00
Omair Majid
9427ca06ce Update to .NET SDK 9.0.108 and Runtime 9.0.7
Resolves: RHEL-100597
2025-07-08 18:12:39 -04:00
Omair Majid
d1315de9d8 Update to .NET SDK 9.0.107 and Runtime 9.0.6
Resolves: RHEL-94423
2025-06-11 23:26:31 -04:00
Omair Majid
b6fef3b3f4 Update to .NET SDK 9.0.106 and Runtime 9.0.5
Resolves: RHEL-89452
2025-05-13 20:39:38 -04:00
Omair Majid
48dce8ab17 Update to .NET SDK 9.0.105 and Runtime 9.0.4
Resolves: RHEL-85281
2025-04-09 14:51:29 -04:00
Omair Majid
1451eed9d5 Update to .NET SDK 9.0.104 and Runtime 9.0.3
Resolves: RHEL-81647
2025-03-11 18:42:08 -04:00
Omair Majid
5cfc258169 Update to .NET SDK 9.0.103 and Runtime 9.0.2
Resolves: RHEL-76904
2025-02-17 21:26:17 -05:00
Omair Majid
2d55956ca0 Disable bootstrap
Related: RHEL-71549
2025-01-25 18:37:26 -05:00
Omair Majid
148eb8e60c Rebootstrap .NET 9
The build of .NET 9 for s390x that's in the buildroot is broken
(https://github.com/dotnet/runtime/issues/107387) and
produces broken .NET SDKs when used to build them. We need to
re-bootstrap to work around that.

Related: RHEL-71549
2025-01-24 16:42:54 -05:00
Omair Majid
31e18046cc Update to .NET SDK 9.0.102 and Runtime 9.0.1
Resolves: RHEL-71549
2025-01-17 14:57:58 -05:00
20 changed files with 560 additions and 92 deletions

View File

@ -1 +0,0 @@
a644b83d1f295801e3c94ae9ecb4d3f284d43721 SOURCES/dotnet-9.0.119.tar.gz

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

55
.gitignore vendored
View File

@ -1 +1,54 @@
SOURCES/dotnet-9.0.119.tar.gz /dotnet-prebuilts-9.0.100-preview.7.24380.1-ppc64le.tar.gz
/dotnet-prebuilts-9.0.100-preview.7.24380.1-s390x.tar.gz
/dotnet-sdk-9.0.100-preview.7.24380.2-linux-arm64.tar.gz
/dotnet-v9.0.0-preview.7.24405.7-x64-bootstrap.tar.gz
/dotnet-9.0.0-preview.7.24405.7.tar.gz
/dotnet-9.0.0-preview.7.24405.7.tar.gz.sig
/dotnet-9.0.0-rc.1.24431.7.tar.gz
/dotnet-9.0.0-rc.1.24431.7.tar.gz.sig
/dotnet-9.0.0-rc.2.24473.5.tar.gz
/dotnet-9.0.0-rc.2.24473.5.tar.gz.sig
/dotnet-v9.0.0-rc.2.24473.5-x64-bootstrap.tar.gz
/dotnet-sdk-9.0.100-rc.1.24452.12-linux-arm64.tar.gz
/dotnet-prebuilts-9.0.100-rc.1.24452.1-ppc64le.tar.gz
/dotnet-prebuilts-9.0.100-rc.1.24452.1-s390x.tar.gz
/dotnet-9.0.1.tar.gz
/dotnet-9.0.1.tar.gz.sig
/dotnet-v9.0.1-x64-bootstrap.tar.gz
/dotnet-sdk-9.0.101-linux-arm64.tar.gz
/dotnet-prebuilts-9.0.101-ppc64le.tar.gz
/dotnet-prebuilts-9.0.101-s390x.tar.gz
/dotnet-9.0.2.tar.gz
/dotnet-9.0.2.tar.gz.sig
/dotnet-9.0.3.tar.gz
/dotnet-9.0.3.tar.gz.sig
/dotnet-9.0.4.tar.gz
/dotnet-9.0.4.tar.gz.sig
/dotnet-9.0.5.tar.gz
/dotnet-9.0.5.tar.gz.sig
/dotnet-9.0.6.tar.gz
/dotnet-9.0.6.tar.gz.sig
/dotnet-9.0.7.tar.gz
/dotnet-9.0.7.tar.gz.sig
/dotnet-9.0.109.tar.gz
/dotnet-9.0.109.tar.gz.sig
/dotnet-9.0.110.tar.gz
/dotnet-9.0.110.tar.gz.sig
/dotnet-9.0.111.tar.gz
/dotnet-9.0.111.tar.gz.sig
/dotnet-9.0.112.tar.gz
/dotnet-9.0.112.tar.gz.sig
/dotnet-9.0.113.tar.gz
/dotnet-9.0.113.tar.gz.sig
/dotnet-9.0.114.tar.gz
/dotnet-9.0.114.tar.gz.sig
/dotnet-9.0.115.tar.gz
/dotnet-9.0.115.tar.gz.sig
/dotnet-9.0.116.tar.gz
/dotnet-9.0.116.tar.gz.sig
/dotnet-9.0.117.tar.gz
/dotnet-9.0.117.tar.gz.sig
/dotnet-9.0.118.tar.gz
/dotnet-9.0.118.tar.gz.sig
/dotnet-9.0.119.tar.gz
/dotnet-9.0.119.tar.gz.sig

74
README.md Normal file
View File

@ -0,0 +1,74 @@
# dotnet9.0
This is the .NET 9.0 package for RHEL.
Please report any issues [using Jira](https://issues.redhat.com/).
# Specification
This package follows [package naming and contents suggested by
upstream](https://docs.microsoft.com/en-us/dotnet/core/build/distribution-packaging),
with one exception. It installs dotnet to `/usr/lib64/dotnet` (aka
`%{_libdir}`).
# Contributing
1. Fork the repo.
2. Checkout the forked repository.
- `git clone git@gitlab.com:$USER/centos_rpms_dotnet9.0.git dotnet9.0`
- `cd dotnet9.0`
3. Make your changes. Don't forget to add a changelog.
If you are updating to a new upstream release: Get the new upstream source
tarball and the detached signature. Update the versions in the spec file.
Add a changelog. This is generally automated by the following.
- `./update-release <sdk-version> <runtime-version>`
If this fails because of compiler errors, you might have to figure
out a fix, then add the patch in `build-dotnet-tarball` script
rather than the spec file.
4. Do local builds.
- `centpkg local`
5. Fix any errors that come up and rebuild until it works locally. Any
patches that are needed at this point should be added to the spec file.
6. Do builds in koji.
- `centpkg scratch-build --srpm`
7. If this is a new release, upload the source archive and detached signature to
the look-aside cache.
- `centpkg new-sources dotnet-source-tarball.tar.gz dotnet-source-tarball.tar.gz.sig`
8. Commit the changes to the git repo.
- `git add` any new patches
- `git remove` any now-unnecessary patches
- `git commit -a`
- `git push`
9. Create a pull request with your changes.
10. Once the tests in the pull-request pass, and reviewers are happy, merge the
pull request and do a real build.
- `centpkg build`
# Testing
This package uses CI tests as defined in `tests/ci.yml`. You can run them using
[tmt](https://tmt.readthedocs.io/en/stable/overview.html). Creating a
pull-request or running an official build will fire off tests and flag any
issues. We have enabled gating (via `gating.yaml`) on the tests. That prevents
a build that fails any test from being released until the failures are waived.
The tests themselves are contained in this external repository:
https://github.com/redhat-developer/dotnet-regular-tests/

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: BSN Pgp v1.0.0.0
iQIcBAABCAAGBQJqRTDYAAoJEP2/U8JNtIcu3oQQANIjxpAwRmp4pSSP5e/yawxh
cpwdU6X/Lgy62Cn0+bfY1HhV2oiKkg+46ST+6742E7W1ioktcrYG88d8vkzDm9W9
g/Z0JKcuqLFfDGQO7+QgIQAx64hTEeebw3wDGR+JjoR9BZlPAzilArZLXuBTqF5d
+/NWUy2TuFnUy/MVWiqByQo1gETtCtM3c2BEp61fU0R1LhS0t00JNsfQ4jOtqBfv
GnRLyz0npOeluvS0i/HrcmEixiXxhxVT+XkKkqWzcaTb9IYNYy91s87/GMnZbfNx
Sb3L2a5OfM0/2jsQ+rbdNnMr/dBCv/D0l9rve9ZwYI9zVdjhwW2HMXFmaYc+Tp1K
CICpureajPqCnrnH+ykPpiCRhQJMdLkPv/IudcHLc1AAoJCxRfV9s38G4FKtsIZc
kpcpNUyO8cym7rXbTDm6lJvwfy09Tf7/GYKFDyeki1YPYma46fzGVPH+W9SOrd2e
XXGDW3iHulrWJt0vOGGuxRMxkObrEy4gmIXvS6jwO5VcvZrvMSXvs1oLpObmEKXh
myt71egvHiiQ3tgRPmSf0s4Q5Za1V0WSLCaxUuShzm+YIRcG69qXkL/8dA002IJY
amgpFWweV4prwLl/4EIy+4thjQMylJkruYfam1g4pKiGndzuMqZAhAoDYFhnUDFJ
ti5TzAbAzZ/JvCmBAzXP
=mxJL
-----END PGP SIGNATURE-----

171
build-dotnet-bootstrap-tarball Executable file
View File

@ -0,0 +1,171 @@
#!/bin/bash
# Usage:
# build-dotnet-bootstrap-tarball <tag-or-commit-from-dotnet>
#
# Creates a source archive suitable for bootstrapping from a tag (or commit) at
# https://github.com/dotnet/dotnet
#
# Clone dotnet/dotnet, check out the tag, and build a source-tarball.
# Can also use a full git commit identifier instead of tag (not an
# abbreviated 8 character commit identifier though).
set -euo pipefail
IFS=$'\n\t'
function print_usage {
echo "Usage:"
echo "$0 <tag-from-dotnet>"
echo
echo "Creates a $arch bootstrap source archive from a tag at https://github.com/dotnet/dotnet"
}
function clean_dotnet_cache {
rm -rf ~/.aspnet ~/.dotnet/ ~/.nuget/ ~/.local/share/NuGet ~/.templateengine
rm -rf /tmp/NuGet /tmp/NuGetScratch /tmp/.NETCore* /tmp/.NETStandard* /tmp/.dotnet /tmp/dotnet.* /tmp/clr-debug-pipe* /tmp/Razor-Server /tmp/CoreFxPipe* /tmp/VBCSCompiler /tmp/.NETFramework*
rm -rf ~/.npm/
}
function check_bootstrap_environment {
if rpm -qa | grep dotnet ; then
echo "error: dotnet is installed. Not a good idea for bootstrapping."
exit 1
fi
if [ -d /usr/lib/dotnet ] || [ -d /usr/lib64/dotnet ] || [ -d /usr/share/dotnet ] ; then
echo "error: one of /usr/lib/dotnet /usr/lib64/dotnet or /usr/share/dotnet/ exists. Not a good idea for bootstrapping."
exit 1
fi
if command -v dotnet ; then
echo "error: dotnet is in $PATH. Not a good idea for bootstrapping."
exit 1
fi
}
function runtime_id {
source /etc/os-release
case "${ID}" in
# Remove the RHEL minor version
rhel) rid_version=${VERSION_ID%.*} ;;
*) rid_version=${VERSION_ID} ;;
esac
echo "${ID}.${rid_version}-${arch}"
}
build_bootstrap=false
declare -A archmap
archmap=(
["aarch64"]="arm64"
["amd64"]="x64"
["armv8l"]="arm"
["i386"]="x86"
["i686"]="x86"
["ppc64le"]="ppc64le"
["s390x"]="s390x"
["x86_64"]="x64"
)
arch=${archmap["$(uname -m)"]}
positional_args=()
while [[ "$#" -gt 0 ]]; do
arg="${1}"
case "${arg}" in
-h|--help)
print_usage
exit 0
;;
*)
positional_args+=("$1")
shift
;;
esac
done
check_bootstrap_environment
tag=${positional_args[0]:-}
if [[ -z ${tag} ]]; then
echo "error: missing tag to build"
exit 1
fi
set -x
dir_name="dotnet-${tag}"
unmodified_tarball_name="${dir_name}-original"
tarball_name="${dir_name}"
unmodified_tarball_name="${unmodified_tarball_name}-${arch}-bootstrap"
tarball_name="${tarball_name}-${arch}-bootstrap"
tarball_suffix=.tar.gz
if [ -f "${tarball_name}${tarball_suffix}" ]; then
echo "error: ${tarball_name}${tarball_suffix} already exists"
exit 1
fi
if [ ! -f "${unmodified_tarball_name}.tar.gz" ]; then
if [[ $tag =~ ^[0-9a-fA-F]+$ ]]; then
if [ ! -f $tag.zip ]; then
wget https://github.com/dotnet/dotnet/archive/$tag.zip
fi
dir=$(mktemp -d -p $(pwd))
pushd $dir
unzip -q ../$tag.zip
if [[ $(ls -1q | wc -l) -gt 3 ]]; then
echo "error: tarball doesn't have a single main directory"
exit 1
fi
tar czf ../${unmodified_tarball_name}.tar.gz dotnet-$tag
popd
else
wget https://github.com/dotnet/dotnet/archive/refs/tags/${tag}.tar.gz
mv "${tag}.tar.gz" "${unmodified_tarball_name}.tar.gz"
fi
fi
tar tf "${unmodified_tarball_name}".tar.gz > .tarball_file_list
extracted_tarball_root=$(head -1 .tarball_file_list | cut -d/ -f 1)
if [[ "$extracted_tarball_root" == "."* ]]; then
echo "error: can't find main directory in the dotnet tarball"
exit 1
fi
if [[ $(grep -cv "^${extracted_tarball_root}/" .tarball_file_list) -gt 0 ]]; then
echo "error: tarball doesn't have a single main directory"
exit 1
fi
rm .tarball_file_list
rm -rf "${tarball_name}"
rm -rf "${extracted_tarball_root}"
tar xf "${unmodified_tarball_name}.tar.gz"
mv "${extracted_tarball_root}" "${tarball_name}"
pushd "${tarball_name}"
./prep-source-build.sh --bootstrap
# Remove files with funny licenses and crypto implementations and
# other not-very-useful artifacts. We MUST NOT ship any files that
# have unapproved licenses and unexpected cryptographic
# implementations.
#
# We use rm -r (no -f) to make sure the operation fails if the files
# are not at the expected locations. If the files are not at the
# expected location, we need to find the new location of the files and
# delete them, or verify that upstream has already removed the files.
# rm -r $FILE_TO_REMOVE
popd
echo "Bootstrap .NET SDK: $(jq .tools.dotnet "${tarball_name}"/global.json)"
time tar -czf "${tarball_name}${tarball_suffix}" "${tarball_name}"

63
build-prebuilt-archive Executable file
View File

@ -0,0 +1,63 @@
#!/bin/bash
# Usage:
# build-prebuilt-archive architecture vmr-directory
#
# Creates an archive containing necessary bootstrapping binaries for ppc64le or
# s390x architectures from a VMR build.
#
# You need to have cloned the VMR (https://github.com/dotnet/dotnet) and
# cross-compiled it for the target architecture already.
set -euo pipefail
IFS=$'\n\t'
set -x
function print_usage {
echo "Usage:"
echo "$0 <architecture> <vmr directory>"
echo
echo "Creates a ppc64le or s390x bootstrap archive from a VMR build."
echo
echo "You need to have cloned the VMR (https://github.com/dotnet/dotnet) and"
echo "cross-compiled it for the target architecture already."
}
positional_args=()
while [[ "$#" -gt 0 ]]; do
arg="${1}"
case "${arg}" in
-h|--help)
print_usage
exit 0
;;
*)
positional_args+=("$1")
shift
;;
esac
done
arch=${positional_args[0]} # Name of the architecture. Eg, s390x or ppc64le
dir=${positional_args[1]} # Checkout of the VMR with the cross-build for the target architecture
dir=$(readlink -f "$dir")
sdk_tarball=$(readlink -f $(find "$dir" -iname 'dotnet-sdk*'"$arch"'*tar.gz' | head -1))
# SDK is at VMR/artifacts/assets/Release/dotnet-sdk-9.0.100-preview.3.24165.1-linux-$arch.tar.gz. Extract the SDK version from the name.
sdk_version=$(echo "$(basename "${sdk_tarball}")" | sed -E -e 's/dotnet-sdk-//' -e "s/-linux-$arch.tar.gz//")
echo $sdk_version
archive_name=dotnet-prebuilts-${sdk_version}-${arch}
mkdir -p $archive_name
pushd $archive_name
cp -av $sdk_tarball .
# Get all architecture-specific nuget packages
find $dir/artifacts/packages/Release/Shipping/ -iname "*linux-$arch*nupkg" -exec cp -avL {} . \;
popd
tar cvzf $archive_name.tar.gz $archive_name

View File

@ -74,7 +74,7 @@
Name: dotnet%{dotnetver} Name: dotnet%{dotnetver}
Version: %{sdk_rpm_version} Version: %{sdk_rpm_version}
Release: 1%{?dist} Release: 2%{?dist}
Summary: .NET Runtime and SDK Summary: .NET Runtime and SDK
License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
@ -85,22 +85,22 @@ URL: https://github.com/dotnet/
# ./build-dotnet-bootstrap-tarball %%{upstream_tag} # ./build-dotnet-bootstrap-tarball %%{upstream_tag}
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.gz Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.gz
# The bootstrap SDK version is one listed in the global.json file of the main source archive # The bootstrap SDK version is one listed in the global.json file of the main source archive
%global bootstrap_sdk_version 9.0.100-rc.1.24452.12 %global bootstrap_sdk_version 9.0.101
# Binaries can be at one of several different URLs: # Binaries can be at one of several different URLs:
# GA releases: # GA releases:
# Source1: https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz Source1: https://builds.dotnet.microsoft.com/dotnet/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz
# Preview releases: # Preview releases:
Source1: https://dotnetbuilds.azureedge.net/public/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz # Source1: https://ci.dot.net/public/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz
# To generate ppc64le and s390x archives: # To generate ppc64le and s390x archives:
# 1. Find the source commits and versions of repos, use one of: # 1. Find the source commits and versions of repos, use one of:
# - https://dotnetbuilds.azureedge.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt # - https://builds.dotnet.microsoft.com/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
# - https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt # - https://ci.dot.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
# 2. Find the VMR sync commit using `git log --grep $commit` # 2. Find the VMR sync commit using `git log --grep $commit`
# 3. Build the VMR commit in cross-build mode for the architecture # 3. Build the VMR commit in cross-build mode for the architecture
# 4. Use `build-prebuilt-archive` to create the archive from the VMR # 4. Use `build-prebuilt-archive` to create the archive from the VMR
# 5. Update the version below to match the SDK that was built from the VMR # 5. Update the version below to match the SDK that was built from the VMR
# The ppc64le/s390x SDK version is one produced # The ppc64le/s390x SDK version is one produced
%global bootstrap_sdk_version_ppc64le_s390x 9.0.100-rc.1.24452.1 %global bootstrap_sdk_version_ppc64le_s390x 9.0.101
Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz
Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz
%else %else
@ -166,6 +166,7 @@ BuildRequires: llvm-libunwind-devel
BuildRequires: lttng-ust-devel BuildRequires: lttng-ust-devel
BuildRequires: make BuildRequires: make
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: procps-ng
BuildRequires: python3 BuildRequires: python3
%if ! %{use_bundled_rapidjson} %if ! %{use_bundled_rapidjson}
BuildRequires: rapidjson-devel BuildRequires: rapidjson-devel
@ -416,10 +417,10 @@ Requires: dotnet-sdk-%{dotnetver}%{?_isa} >= %{sdk_rpm_version}-%{release}
# When installing AOT support, also install all dependencies needed to build # When installing AOT support, also install all dependencies needed to build
# NativeAOT applications. AOT invokes `clang ... -lssl -lcrypto -lbrotlienc # NativeAOT applications. AOT invokes `clang ... -lssl -lcrypto -lbrotlienc
# -lbrotlidec -lz ...`. # -lbrotlidec -lz ...`.
Requires: brotli-devel%{?_isa} Requires: brotli-devel
Requires: clang%{?_isa} Requires: clang
Requires: openssl-devel%{?_isa} Requires: openssl-devel
Requires: zlib-devel%{?_isa} Requires: zlib-devel
%description -n dotnet-sdk-aot-%{dotnetver} %description -n dotnet-sdk-aot-%{dotnetver}
This package provides Ahead-of-time (AOT) compilation support for the .NET SDK. This package provides Ahead-of-time (AOT) compilation support for the .NET SDK.
@ -570,9 +571,13 @@ rm -rf src/runtime/src/native/external/zlib-intel
rm -rf src/runtime/src/native/external/zlib-ng rm -rf src/runtime/src/native/external/zlib-ng
%endif %endif
lscpu
%build %build
cat /proc/cpuinfo
cat /proc/meminfo
cat /etc/os-release cat /etc/os-release
%if %{without bootstrap} %if %{without bootstrap}
@ -613,6 +618,14 @@ CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -march=z13//')
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//') CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//')
%endif %endif
%if 0%{?rhel} >= 10
# Workaround for https://github.com/dotnet/runtime/issues/109611
# FIXME: Remove this, and replace with upstream fix
CFLAGS=$(echo $CFLAGS | sed -e 's/-march=x86-64-v3 //')
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-march=x86-64-v3 //')
LDFLAGS=$(echo $LDFLAGS | sed -e 's/-march=x86-64-v3 //')
%endif
# Enabling fortify-source and "-Wall -Weverything" produces new warnings from libc. Turn them off. # Enabling fortify-source and "-Wall -Weverything" produces new warnings from libc. Turn them off.
CFLAGS="$CFLAGS -Wno-used-but-marked-unused" CFLAGS="$CFLAGS -Wno-used-but-marked-unused"
CXXFLAGS="$CXXFLAGS -Wno-used-but-marked-unused" CXXFLAGS="$CXXFLAGS -Wno-used-but-marked-unused"
@ -653,9 +666,9 @@ max_attempts=1
%endif %endif
function retry_until_success { function retry_until_success {
local exit_code=1 local exit_code=1
local tries=$1 local tries=$1
shift shift
set +e set +e
while [[ $exit_code != 0 ]] && [[ $tries != 0 ]]; do while [[ $exit_code != 0 ]] && [[ $tries != 0 ]]; do
(( tries = tries - 1 )) (( tries = tries - 1 ))
@ -728,29 +741,46 @@ function output_timeout {
} }
VERBOSE=1 retry_until_success $max_attempts \ cat >dotnet-rpm-build.sh <<EOF
output_timeout \ #!/bin/bash
./build.sh \
--source-only \ set -euo pipefail
--release-manifest %{SOURCE5} \ set -x
find -depth -name 'artifacts' -type d -print -exec rm -rf {} \;
./build.sh \
--source-only \
--release-manifest %{SOURCE5} \
%if %{without bootstrap} %if %{without bootstrap}
--with-sdk previously-built-dotnet \ --with-sdk previously-built-dotnet \
%endif %endif
%ifarch %{mono_archs} %ifarch %{mono_archs}
--use-mono-runtime \ --use-mono-runtime \
%endif %endif
-- \ -- \
/p:UseSystemLibs=${system_libs} \ /p:UseSystemLibs=${system_libs} \
/p:TargetRid=%{runtime_id} \ /p:TargetRid=%{runtime_id} \
/p:OfficialBuilder="$vendor" \ /p:OfficialBuilder="$vendor" \
/p:MinimalConsoleLogOutput=false \ /p:ContinueOnPrebuiltBaselineError=true \
/p:ContinueOnPrebuiltBaselineError=true \ #/p:MinimalConsoleLogOutput=false \
/v:n \ #/v:n \
/p:LogVerbosity=n #/p:LogVerbosity=n
EOF
chmod +x dotnet-rpm-build.sh
VERBOSE=1 retry_until_success $max_attempts \
output_timeout \
./dotnet-rpm-build.sh || { cat /proc/cpuinfo; cat /proc/meminfo; env; exit 1; }
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh
env
ps aux
%install %install
@ -947,117 +977,121 @@ export COMPlus_LTTng=0
%changelog %changelog
* Wed Jul 08 2026 Satish Mane <satmane@redhat.com> - 9.0.119-1 * Thu Jul 23 2026 Satish Mane <satmane@redhat.com> - 9.0.119-2
- Update to .NET SDK 9.0.119 and Runtime 9.0.18 - Update to .NET SDK 9.0.119 and Runtime 9.0.18
- Resolves: RHEL-192472 - Resolves: RHEL-192471
* Thu Jul 02 2026 Tom Deseyn <tdeseyn@redhat.com> - 9.0.118-2 * Thu Jul 02 2026 Tom Deseyn <tdeseyn@redhat.com> - 9.0.118-3
- Reduce time to detect hanging builds - Reduce time to detect hanging builds
- Resolves: RHEL-191646 - Resolves: RHEL-191642
* Wed Jun 03 2026 Tom Deseyn <tdeseyn@redhat.com> - 9.0.118-1 * Wed Jun 10 2026 Tom Deseyn <tdeseyn@redhat.com> - 9.0.118-2
- Update to .NET SDK 9.0.118 and Runtime 9.0.17 - Update to .NET SDK 9.0.118 and Runtime 9.0.17
- Resolves: RHEL-181553 - Resolves: RHEL-181552
* Wed May 06 2026 Omair Majid <omajid@redhat.com> - 9.0.117-1 * Thu May 28 2026 Omair Majid <omajid@redhat.com> - 9.0.117-2
- Update to .NET SDK 9.0.117 and Runtime 9.0.16 - Update to .NET SDK 9.0.117 and Runtime 9.0.16
- Resolves: RHEL-173918 - Resolves: RHEL-173917
* Fri Apr 17 2026 Omair Majid <omajid@redhat.com> - 9.0.116-2 * Fri Apr 17 2026 Omair Majid <omajid@redhat.com> - 9.0.116-2
- Update to .NET SDK 9.0.116 and Runtime 9.0.15 - Update to .NET SDK 9.0.116 and Runtime 9.0.15
- Resolves: RHEL-163397 - Resolves: RHEL-163400
* Fri Mar 27 2026 Dominik Rehák <drehak@redhat.com> - 9.0.115-2 * Thu Mar 26 2026 Dominik Rehák <drehak@redhat.com> - 9.0.115-2
- Update to .NET SDK 9.0.115 and Runtime 9.0.14 - Update to .NET SDK 9.0.115 and Runtime 9.0.14
- Resolves: RHEL-152945 - Resolves: RHEL-152947
* Wed Feb 11 2026 Omair Majid <omajid@redhat.com> - 9.0.114-2 * Wed Feb 11 2026 Omair Majid <omajid@redhat.com> - 9.0.114-2
- Update to .NET SDK 9.0.114 and Runtime 9.0.13 - Update to .NET SDK 9.0.114 and Runtime 9.0.13
- Resolves: RHEL-144970 - Resolves: RHEL-144971
* Wed Jan 14 2026 Omair Majid <omajid@redhat.com> - 9.0.113-2 * Wed Jan 14 2026 Omair Majid <omajid@redhat.com> - 9.0.113-2
- Update to .NET SDK 9.0.113 and Runtime 9.0.12 - Update to .NET SDK 9.0.113 and Runtime 9.0.12
- Resolves: RHEL-138645 - Resolves: RHEL-138646
* Wed Nov 12 2025 Omair Majid <omajid@redhat.com> - 9.0.112-2 * Wed Nov 12 2025 Omair Majid <omajid@redhat.com> - 9.0.112-2
- Update to .NET SDK 9.0.112 and Runtime 9.0.11 - Update to .NET SDK 9.0.112 and Runtime 9.0.11
- Resolves: RHEL-125743 - Resolves: RHEL-125744
* Tue Oct 14 2025 Omair Majid <omajid@redhat.com> - 9.0.111-2 * Tue Oct 14 2025 Omair Majid <omajid@redhat.com> - 9.0.111-2
- Update to .NET SDK 9.0.111 and Runtime 9.0.10 - Update to .NET SDK 9.0.111 and Runtime 9.0.10
- Resolves: RHEL-116858 - Resolves: RHEL-116861
* Wed Sep 10 2025 Omair Majid <omajid@redhat.com> - 9.0.110-2 * Wed Sep 10 2025 Omair Majid <omajid@redhat.com> - 9.0.110-2
- Update to .NET SDK 9.0.110 and Runtime 9.0.9 - Update to .NET SDK 9.0.110 and Runtime 9.0.9
- Resolves: RHEL-112269 - Resolves: RHEL-112268
* Mon Aug 11 2025 Omair Majid <omajid@redhat.com> - 9.0.109-2 * Mon Aug 11 2025 Omair Majid <omajid@redhat.com> - 9.0.109-2
- Update to .NET SDK 9.0.109 and Runtime 9.0.8 - Update to .NET SDK 9.0.109 and Runtime 9.0.8
- Resolves: RHEL-106728 - Resolves: RHEL-106727
* Tue Jul 08 2025 Omair Majid <omajid@redhat.com> - 9.0.108-2 * Tue Jul 08 2025 Omair Majid <omajid@redhat.com> - 9.0.108-2
- Update to .NET SDK 9.0.108 and Runtime 9.0.7 - Update to .NET SDK 9.0.108 and Runtime 9.0.7
- Resolves: RHEL-100599 - Resolves: RHEL-100597
* Wed Jun 11 2025 Omair Majid <omajid@redhat.com> - 9.0.107-2 * Wed Jun 11 2025 Omair Majid <omajid@redhat.com> - 9.0.107-2
- Update to .NET SDK 9.0.107 and Runtime 9.0.6 - Update to .NET SDK 9.0.107 and Runtime 9.0.6
- Resolves: RHEL-94421 - Resolves: RHEL-94423
* Tue May 13 2025 Omair Majid <omajid@redhat.com> - 9.0.106-2 * Tue May 13 2025 Omair Majid <omajid@redhat.com> - 9.0.106-2
- Update to .NET SDK 9.0.106 and Runtime 9.0.5 - Update to .NET SDK 9.0.106 and Runtime 9.0.5
- Resolves: RHEL-89450 - Resolves: RHEL-89452
* Wed Apr 09 2025 Omair Majid <omajid@redhat.com> - 9.0.105-2 * Wed Apr 09 2025 Omair Majid <omajid@redhat.com> - 9.0.105-2
- Update to .NET SDK 9.0.105 and Runtime 9.0.4 - Update to .NET SDK 9.0.105 and Runtime 9.0.4
- Resolves: RHEL-85280 - Resolves: RHEL-85281
* Tue Mar 11 2025 Omair Majid <omajid@redhat.com> - 9.0.104-2 * Tue Mar 11 2025 Omair Majid <omajid@redhat.com> - 9.0.104-2
- Update to .NET SDK 9.0.104 and Runtime 9.0.3 - Update to .NET SDK 9.0.104 and Runtime 9.0.3
- Resolves: RHEL-81648 - Resolves: RHEL-81647
* Mon Feb 17 2025 Omair Majid <omajid@redhat.com> - 9.0.103-2 * Mon Feb 17 2025 Omair Majid <omajid@redhat.com> - 9.0.103-2
- Update to .NET SDK 9.0.103 and Runtime 9.0.2 - Update to .NET SDK 9.0.103 and Runtime 9.0.2
- Resolves: RHEL-76905 - Resolves: RHEL-76904
* Thu Jan 16 2025 Omair Majid <omajid@redhat.com> - 9.0.102-2 * Sat Jan 25 2025 Omair Majid <omajid@redhat.com> - 9.0.102-2
- Update to .NET SDK 9.0.102 and Runtime 9.0.1
- Resolves: RHEL-71550
* Thu Dec 05 2024 Omair Majid <omajid@redhat.com> - 9.0.101-3
- Update to .NET SDK 9.0.101 and Runtime 9.0.0
- Resolves: RHEL-69749
* Wed Nov 20 2024 Omair Majid <omajid@redhat.com> - 9.0.100-2
- Update to .NET SDK 9.0.100 and Runtime 9.0.0
- Resolves: RHEL-65538
* Fri Oct 25 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.7
- Disable bootstrap - Disable bootstrap
- Related: RHEL-62776 - Related: RHEL-71549
* Fri Jan 24 2025 Omair Majid <omajid@redhat.com> - 9.0.102-1
- Rebootstrap
- Related: RHEL-71549
* Thu Jan 16 2025 Omair Majid <omajid@redhat.com> - 9.0.102-0.9
- Update to .NET SDK 9.0.102 and Runtime 9.0.1
- Resolves: RHEL-71549
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 9.0.100~rc.2.24474.1-0.8
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Wed Oct 23 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.7
- Disable bootstrap
- Related: RHEL-62799
* Tue Oct 22 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.6 * Tue Oct 22 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.6
- Rebootstrap - Rebootstrap
- Related: RHEL-62776 - Related: RHEL-62799
* Thu Oct 17 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.5 * Thu Oct 17 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.5
- Add missing runtime dependencies to -aot- subpackage - Add missing runtime dependencies to -aot- subpackage
- Related: RHEL-62776 - Related: RHEL-62799
* Tue Oct 15 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.4 * Tue Oct 15 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.2.24474.1-0.4
- Update to .NET SDK 9.0.100-rc.2.24474.1 and Runtime 9.0.0-rc.2.24473.5 - Update to .NET SDK 9.0.100-rc.2.24474.1 and Runtime 9.0.0-rc.2.24473.5
- Resolves: RHEL-62776 - Resolves: RHEL-62799
* Wed Sep 11 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.1.24452.12-0.3 * Wed Sep 11 2024 Omair Majid <omajid@redhat.com> - 9.0.100~rc.1.24452.12-0.3
- Update to .NET SDK 9.0.100-rc.1.24452.12 and Runtime 9.0.0-rc.1.24431.7 - Update to .NET SDK 9.0.100-rc.1.24452.12 and Runtime 9.0.0-rc.1.24431.7
- Resolves: RHEL-59026 - Resolves: RHEL-59011
* Sun Aug 18 2024 Omair Majid <omajid@redhat.com> - 9.0.100~preview.7.24407.1-0.2 * Sun Aug 18 2024 Omair Majid <omajid@redhat.com> - 9.0.100~preview.7.24407.1-0.2
- Disable bootstrap - Disable bootstrap
- Related: RHEL-48617 - Related: RHEL-48619
* Thu Aug 15 2024 Omair Majid <omajid@redhat.com> - 9.0.100~preview.7.24407.1-0.1 * Thu Aug 15 2024 Omair Majid <omajid@redhat.com> - 9.0.100~preview.7.24407.1-0.1
- Update to .NET SDK 9.0 preview 7 and Runtime 9.0 preview 7 - Update to .NET SDK 9 preview 7 and Runtime 9 preview 7
- Resolves: RHEL-48617 - Resolves: RHEL-48619
* Thu Jun 13 2024 Omair Majid <omajid@redhat.com> - 9.0.100~preview.5.24307.3-0.9 * Thu Jun 13 2024 Omair Majid <omajid@redhat.com> - 9.0.100~preview.5.24307.3-0.9
- Update to .NET SDK 9.0.100-preview.5.24307.3 and Runtime - Update to .NET SDK 9.0.100-preview.5.24307.3 and Runtime

22
gating.yaml Normal file
View File

@ -0,0 +1,22 @@
--- !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}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis}
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

20
rpminspect.yaml Normal file
View File

@ -0,0 +1,20 @@
---
inspections:
# We patch upstream a lot, no need to reject patches
patches: off
badfuncs:
allowed:
# The Mono runtime (used on s390x, for example), uses inet_addr for
# debugging (such as sending the control flow graph to a remote process).
# See runtime/src/mono/mono/mini/cfgdump.c. This isn't part of any
# standard networking facility; networking APIs are implemented/used in
# libSystem*so.
/usr/lib64/dotnet/shared/Microsoft.NETCore.App/*/libcoreclr.so:
- inet_addr
/usr/lib64/dotnet/packs/Microsoft.NETCore.App.Runtime.*/*/runtimes/*/native/libcoreclr.so:
- inet_addr
runpath:
# Upstream explicitly sets $ORIGIN/netcoredeps as an RPATH
# See https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md
allowed_origin_paths:
- /netcoredeps

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (dotnet-9.0.119.tar.gz) = bdb5e0bd73b7edf0cc7bf72d9ef07a31691c442bf436e1e25c7d3ac5ee02768bf405a28c004df62db1bb3f0553cb47d6dbd894106667186c7187a13138e23a09
SHA512 (dotnet-9.0.119.tar.gz.sig) = c7529e07348ec4506bf930c70dede49ac16ef6cfe5d0d66a767c26275387de98c153f1adcbc8d921fccad8786cee42f8004d67dbc914a26e1dbd83df6a76f386

46
tests/ci.fmf Normal file
View File

@ -0,0 +1,46 @@
summary: Basic smoke test
provision:
hardware:
disk:
- size: ">= 20 GiB"
memory: ">= 5120 MiB"
prepare:
how: install
package:
- aspnetcore-runtime-9.0
- babeltrace
- bash-completion
- bc
- binutils
- dotnet-runtime-9.0
- dotnet-sdk-9.0
- expect
- file
- findutils
- gcc-c++
- git
- jq
- libstdc++-devel
- lldb
- npm
- postgresql-odbc
- postgresql-server
- procps-ng
- python3
- strace
- util-linux
- wget
- which
- zlib-devel
execute:
script:
- dotnet --info
- wget --no-verbose https://github.com/redhat-developer/dotnet-bunny/releases/latest/download/turkey.tar.gz
- tar xf turkey.tar.gz
- dotnet turkey/Turkey.dll --version
- git clone "https://github.com/redhat-developer/dotnet-regular-tests.git"
- dotnet turkey/Turkey.dll -l="$TMT_TEST_DATA" dotnet-regular-tests --timeout=1200
- dnf remove -yq 'dotnet*'
- set -x; if command -v dotnet ; then exit 1; fi
- set -x; if [ -d /usr/lib64/dotnet ]; then exit 1; fi
- set -x; if man dotnet; then exit 1; fi