diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index 11fbf1d..69fddf0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1 @@ -/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.0-preview.7.24405.7.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 48689a5..0000000 --- a/README.md +++ /dev/null @@ -1,74 +0,0 @@ -# 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 ` - - 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/ diff --git a/build-dotnet-bootstrap-tarball b/build-dotnet-bootstrap-tarball deleted file mode 100755 index 1ecc390..0000000 --- a/build-dotnet-bootstrap-tarball +++ /dev/null @@ -1,171 +0,0 @@ -#!/bin/bash - -# Usage: -# build-dotnet-bootstrap-tarball -# -# 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 " - 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}" diff --git a/build-prebuilt-archive b/build-prebuilt-archive deleted file mode 100755 index 7e14b0f..0000000 --- a/build-prebuilt-archive +++ /dev/null @@ -1,63 +0,0 @@ -#!/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 " - 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 diff --git a/dotnet-9.0.0-preview.7.24405.7.tar.gz.sig b/dotnet-9.0.0-preview.7.24405.7.tar.gz.sig new file mode 100644 index 0000000..f03d158 --- /dev/null +++ b/dotnet-9.0.0-preview.7.24405.7.tar.gz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: BSN Pgp v1.0.0.0 + +iQIcBAABCAAGBQJmu5eNAAoJEP2/U8JNtIcuaCMP/A2xMiqIMuM86tph6rryvEmR +2YRNCgFttGOP9CB85I7pcjoswR9fVPY1nbSLHwn8mQs0D61JOww2nPnnAmz5+OCL +a0qS4dFnyDEwCD26hLecZu1Slj+ZED7Mtc/Xg0aGUsCnEb8CEpjINIylziKbIgtN +aOhSIHXzfX6jsOtvN1qlmnKHtKYLuP4g065vUSRApPEnMZAsWylaePYgWMqSyi6A +LU3oiKgYB+ZauIcZgn1pZ+Wkm85KeFqVs5YOBuykR3POsQlxw/4+W1UhqWvlo51X +i5cQb98b5tCPWiQdP9pCRia9si+qmaOVFjmAbUpiP3o3EQ6XYQmbn8hLQvCw5gWs +GzmKRQ0NStRqY/k5k3mQydISEblC1tu5Am23EwdEQTHmJw47s5bvZ6XIHIX5kPW6 +Vwx9HQjFrdljs27Dl36jefXybt0JZUSWV+91cTu3ABqfOn29T5iXcnsoxKLP2R4f +8GzxQiVJyCQVnO2mcsTwKNFFZkXAXNT+y47/qMNZkNGjRS0kJ4GVzUzgaX759yGA +DCu3iBIC5TVtHWXUnjS8IO5l/iv9sLp8cprmpyGK3N4iSxekSAUQ2vKdGHwJMsLC +dDqFc5swnqvu8zhdvm0SAyZ+O79MByS4gonCw0ANHkycDeQ7EhkrLVwQ3c9VfQlU +oq/PRZ8rLNomYZ+hBNML +=b2gc +-----END PGP SIGNATURE----- diff --git a/dotnet9.0.spec b/dotnet9.0.spec index 3ebdfd7..0250001 100644 --- a/dotnet9.0.spec +++ b/dotnet9.0.spec @@ -10,20 +10,20 @@ # upstream can produce releases with a different tag than the SDK version #%%global upstream_tag v%%{runtime_version} -%global upstream_tag v9.0.0-rc.2.24473.5 +%global upstream_tag v9.0.0-preview.7.24405.7 %global upstream_tag_without_v %(echo %{upstream_tag} | sed -e 's|^v||') -%global hostfxr_version 9.0.0-rc.2.24473.5 -%global runtime_version 9.0.0-rc.2.24473.5 -%global aspnetcore_runtime_version 9.0.0-rc.2.24474.3 -%global sdk_version 9.0.100-rc.2.24474.1 +%global hostfxr_version 9.0.0-preview.7.24405.7 +%global runtime_version 9.0.0-preview.7.24405.7 +%global aspnetcore_runtime_version 9.0.0-preview.7.24406.2 +%global sdk_version 9.0.100-preview.7.24407.1 %global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') %global templates_version %{aspnetcore_runtime_version} #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') -%global runtime_rpm_version 9.0.0~rc.2.24473.5 -%global aspnetcore_runtime_rpm_version 9.0.0~rc.2.24474.3 -%global sdk_rpm_version 9.0.100~rc.2.24474.1 +%global runtime_rpm_version 9.0.0~preview.7.24405.7 +%global aspnetcore_runtime_rpm_version 9.0.0~preview.7.24406.2 +%global sdk_rpm_version 9.0.100~preview.7.24407.1 %global use_bundled_brotli 0 %global use_bundled_libunwind 1 @@ -70,7 +70,7 @@ Name: dotnet%{dotnetver} Version: %{sdk_rpm_version} -Release: 0.8%{?dist} +Release: 0.2%{?dist} 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 @@ -81,7 +81,7 @@ URL: https://github.com/dotnet/ # ./build-dotnet-bootstrap-tarball %%{upstream_tag} 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 -%global bootstrap_sdk_version 9.0.100-rc.1.24452.12 +%global bootstrap_sdk_version 9.0.100-preview.7.24380.2 # Binaries can be at one of several different URLs: # GA releases: # Source1: https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz @@ -96,7 +96,7 @@ Source1: https://dotnetbuilds.azureedge.net/public/Sdk/%{bootstrap_sdk_ve # 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 # 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.100-preview.7.24380.1 Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz %else @@ -409,13 +409,9 @@ Summary: Ahead-of-Time (AOT) support for the .NET %{dotnetver} Software D Requires: dotnet-sdk-%{dotnetver}%{?_isa} >= %{sdk_rpm_version}-%{release} -# When installing AOT support, also install all dependencies needed to build -# NativeAOT applications. AOT invokes `clang ... -lssl -lcrypto -lbrotlienc -# -lbrotlidec -lz ...`. -Requires: brotli-devel +#TODO Requires: clang -Requires: openssl-devel -Requires: zlib-devel +Requires: zlib %description -n dotnet-sdk-aot-%{dotnetver} This package provides Ahead-of-time (AOT) compilation support for the .NET SDK. @@ -842,30 +838,6 @@ export COMPlus_LTTng=0 %changelog -* Tue Oct 29 2024 Troy Dawson - 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 - 9.0.100~rc.2.24474.1-0.7 -- Disable bootstrap -- Related: RHEL-62799 - -* Tue Oct 22 2024 Omair Majid - 9.0.100~rc.2.24474.1-0.6 -- Rebootstrap -- Related: RHEL-62799 - -* Thu Oct 17 2024 Omair Majid - 9.0.100~rc.2.24474.1-0.5 -- Add missing runtime dependencies to -aot- subpackage -- Related: RHEL-62799 - -* Tue Oct 15 2024 Omair Majid - 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 -- Resolves: RHEL-62799 - -* Wed Sep 11 2024 Omair Majid - 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 -- Resolves: RHEL-59011 - * Sun Aug 18 2024 Omair Majid - 9.0.100~preview.7.24407.1-0.2 - Disable bootstrap - Related: RHEL-48619 diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index b7ab3d1..0000000 --- a/gating.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- !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} - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.other-archs.functional} diff --git a/release.json b/release.json index b18229a..78570bb 100644 --- a/release.json +++ b/release.json @@ -1,10 +1,10 @@ { - "release": "9.0.0-rc.2", + "release": "9.0.0-preview.7", "channel": "9.0", - "tag": "v9.0.0-rc.2.24473.5", - "sdkVersion": "9.0.100-rc.2.24474.11", - "runtimeVersion": "9.0.0-rc.2.24473.5", - "aspNetCoreVersion": "9.0.0-rc.2.24474.3", + "tag": "v9.0.0-preview.7.24405.7", + "sdkVersion": "9.0.100-preview.7.24407.12", + "runtimeVersion": "9.0.0-preview.7.24405.7", + "aspNetCoreVersion": "9.0.0-preview.7.24406.2", "sourceRepository": "https://github.com/dotnet/dotnet", - "sourceVersion": "b4c156e3f670d86ad737595a912c5c85c481b9ac" + "sourceVersion": "aecea31eada5f5506de2112d72b3bd238a5317b4" } diff --git a/rpminspect.yaml b/rpminspect.yaml deleted file mode 100644 index 9293249..0000000 --- a/rpminspect.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -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 diff --git a/sources b/sources index 8b1bddc..ebb01ef 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (dotnet-9.0.0-rc.2.24473.5.tar.gz) = 517334ed2bea3cff925ce6e8a04658d792b2f72cea1e9a405686d9d3f786d9b01ce35e8f7edd927bcdc6dbda8fae20267314da771df2d9cafbb4f867182f45ac -SHA512 (dotnet-9.0.0-rc.2.24473.5.tar.gz.sig) = f46d27b0018b028f3612ec32030839305006adb3e7d818e73bd19ade6427a2fd9bf28c78df75f8b4c1eaf9e6454189d6261a5fd28b9f56ef8a04df68c4cc3810 +SHA512 (dotnet-9.0.0-preview.7.24405.7.tar.gz) = 90f1b95d604183eacbe9ee84737bcfec7a594f464f88a30fefc80e94a487773a7434fe5ebd1b7e5fe613912d78bc0620f1c6e0b1f7a780de17d9f3697abed8f5 diff --git a/tests/ci.fmf b/tests/ci.fmf deleted file mode 100644 index 38c83c9..0000000 --- a/tests/ci.fmf +++ /dev/null @@ -1,44 +0,0 @@ -summary: Basic smoke test -provision: - disk: 20 - memory: 5120 -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 diff --git a/update-release b/update-release deleted file mode 100755 index 092f7d7..0000000 --- a/update-release +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/bash - -# Usage: -# ./update-release [runtime-version [--bug bug-id] [--tarball tarball-name] [--larger-rpm-release] - -set -euo pipefail -IFS=$'\n\t' - -print_usage() { - echo " Usage:" - echo " ./update-release [runtime-version] [--bug bug-id] [--tarball tarball-name] [--release-json release-json] [--larger-rpm-release]" -} - -user_provided_tarball_name="" - -rpm_release=1 -positional_args=() -bug_ids=() -while [[ "$#" -gt 0 ]]; do - arg="$1" - case "${arg}" in - --bug) - bug_ids+=("$2") - shift; - shift; - ;; - -h|--help) - print_usage - exit 0 - ;; - --release-json) - release_json="$2" - shift; - shift; - ;; - --tarball) - user_provided_tarball_name="$2" - shift; - shift; - ;; - --larger-rpm-release) - rpm_release="2" - shift; - ;; - *) - positional_args+=("$1") - shift - ;; - esac -done - -spec_files=( ./*.spec ) -spec_file="${spec_files[0]}" - -dotnet_major_minor_version=$spec_file -dotnet_major_minor_version=${dotnet_major_minor_version#./dotnet} -dotnet_major_minor_version=${dotnet_major_minor_version%.spec} - -echo "Updating .NET $dotnet_major_minor_version" - -runtime_version=${positional_args[1]:-} -sdk_version="" -tag=v${runtime_version} -if [[ -z ${runtime_version} ]]; then - cat > query < release.metadata.github - tag=$(jq -r .tag_name release.metadata.github) - curl -L "$(jq -r .release_manifest release.metadata.github)" -o release.json - aspnetcore_runtime_version=$(jq -r .aspNetCoreVersion release.json) - runtime_version=$(jq -r .runtimeVersion release.json) - sdk_version=$(jq -r .sdkVersion release.json) -fi - -if [[ ${sdk_version:-} = "" ]]; then - # FIXME: add preview/rc parts - sdk_version=$(echo "${runtime_version}" | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+100 }') -fi - -echo "Updating .NET $dotnet_major_minor_version to SDK ${sdk_version} and Runtime ${runtime_version}" - -sed -i -E "s|^%global upstream_tag .*$|%global upstream_tag ${tag}|" "$spec_file" - -sed -i -E "s|^%global runtime_version .*$|%global runtime_version ${runtime_version}|" "$spec_file" -sed -i -E "s|^%global aspnetcore_runtime_version .*$|%global aspnetcore_runtime_version ${aspnetcore_runtime_version}|" "$spec_file" -sed -i -E "s|^%global sdk_version .*$|%global sdk_version ${sdk_version}|" "$spec_file" - -if [[ $runtime_version = *preview* ]] || [[ $runtime_version = *rc* ]]; then - # For Preview/RC releases, convert x.y.z-preview.a.b to x.y.z~preview.a.b (replace - with ~) - # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_handling_non_sorting_versions_with_tilde_dot_and_caret - runtime_rpm_version=${runtime_version/-/\~} - aspnetcore_runtime_rpm_version=${aspnetcore_runtime_version/-/\~} - sdk_rpm_version=${sdk_version/-/\~} - sed -i -E "s|^(%global runtime_rpm_version) .*$|\1 ${runtime_rpm_version}|" "$spec_file" - sed -i -E "s|^(%global aspnetcore_runtime_rpm_version) .*$|\1 ${aspnetcore_runtime_rpm_version}|" "$spec_file" - sed -i -E "s|^(%global sdk_rpm_version) .*$|\1 ${sdk_rpm_version}|" "$spec_file" -else - # For GA releases replace rpm versions with rpm macros for the actual version - sed -i -E "s|^(%global runtime_rpm_version) .*$|\1 %{runtime_version}|" "$spec_file" - sed -i -E "s|^(%global aspnetcore_runtime_rpm_version) .*$|\1 %{aspnetcore_runtime_version}|" "$spec_file" - sed -i -E "s|^(%global sdk_rpm_version) .*$|\1 %{sdk_version}|" "$spec_file" -fi - -if [[ -f "dotnet-${tag}.tar.gz" ]]; then - echo "dotnet-${tag}.tar.gz already exists, not rebuilding tarball" -elif [[ -n ${user_provided_tarball_name} ]]; then - cp -a "${user_provided_tarball_name}" "dotnet-${tag}.tar.gz" - cp -a "${release_json}" release.json -else - rm -f release.json - spectool -g "$spec_file" - if spectool -l "$spec_file" | grep 'bootstrap.tar.gz' ; then - build-dotnet-bootstrap-tarball "$tag" - tar xf dotnet-"$tag"-x64-bootstrap.tar.gz "dotnet-$tag-x64-bootstrap/global.json" - bootstrap_sdk_version=$(jq -r .tools.dotnet "dotnet-$tag-x64-bootstrap/global.json") - sed -i -E "s|^(%global bootstrap_sdk_version) .*$|\1 ${bootstrap_sdk_version}|" "$spec_file" - spectool -g "$spec_file" - fi -fi - -set -x - -comment="Update to .NET SDK ${sdk_version} and Runtime ${runtime_version}" -commit_message="$comment -" -for bug_id in "${bug_ids[@]}"; do - if [[ "$bug_id" =~ ^[[:digit:]]+$ ]]; then - comment="$comment -- Resolves: RHBZ#$bug_id" - commit_message="$commit_message -Resolves: RHBZ#$bug_id" - else - comment="$comment -- Resolves: $bug_id" - commit_message="$commit_message -Resolves: $bug_id" - fi -done - -echo "$commit_message" > git-commit-message - -rpmdev-bumpspec --comment="$comment" "$spec_file" - -# Reset release in 'Release' tag -sed -i -E 's|^Release: [[:digit:]]+%|Release: '"$rpm_release"'%|' "$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:]]+$/-'"$rpm_release"'/' "$spec_file"