diff --git a/.dotnet9.0.metadata b/.dotnet9.0.metadata new file mode 100644 index 0000000..b236c15 --- /dev/null +++ b/.dotnet9.0.metadata @@ -0,0 +1 @@ +e74b8ffd799357fb931d305091b5532d2f7ec809 SOURCES/dotnet-9.0.0-preview.7.24405.7.tar.gz 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 16174bc..b84f815 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +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 +SOURCES/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/check-debug-symbols.py b/SOURCES/check-debug-symbols.py similarity index 100% rename from check-debug-symbols.py rename to SOURCES/check-debug-symbols.py diff --git a/SOURCES/dotnet-9.0.0-preview.7.24405.7.tar.gz.sig b/SOURCES/dotnet-9.0.0-preview.7.24405.7.tar.gz.sig new file mode 100644 index 0000000..f03d158 --- /dev/null +++ b/SOURCES/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/dotnet.sh.in b/SOURCES/dotnet.sh.in similarity index 100% rename from dotnet.sh.in rename to SOURCES/dotnet.sh.in diff --git a/release-key-2023.asc b/SOURCES/release-key-2023.asc similarity index 100% rename from release-key-2023.asc rename to SOURCES/release-key-2023.asc diff --git a/SOURCES/release.json b/SOURCES/release.json new file mode 100644 index 0000000..78570bb --- /dev/null +++ b/SOURCES/release.json @@ -0,0 +1,10 @@ +{ + "release": "9.0.0-preview.7", + "channel": "9.0", + "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": "aecea31eada5f5506de2112d72b3bd238a5317b4" +} diff --git a/roslyn-analyzers-ppc64le-apphost.patch b/SOURCES/roslyn-analyzers-ppc64le-apphost.patch similarity index 100% rename from roslyn-analyzers-ppc64le-apphost.patch rename to SOURCES/roslyn-analyzers-ppc64le-apphost.patch diff --git a/runtime-disable-fortify-on-ilasm-parser.patch b/SOURCES/runtime-disable-fortify-on-ilasm-parser.patch similarity index 100% rename from runtime-disable-fortify-on-ilasm-parser.patch rename to SOURCES/runtime-disable-fortify-on-ilasm-parser.patch diff --git a/runtime-openssl-sha1.patch b/SOURCES/runtime-openssl-sha1.patch similarity index 100% rename from runtime-openssl-sha1.patch rename to SOURCES/runtime-openssl-sha1.patch diff --git a/runtime-re-enable-implicit-rejection.patch b/SOURCES/runtime-re-enable-implicit-rejection.patch similarity index 100% rename from runtime-re-enable-implicit-rejection.patch rename to SOURCES/runtime-re-enable-implicit-rejection.patch diff --git a/dotnet9.0.spec b/SPECS/dotnet9.0.spec similarity index 98% rename from dotnet9.0.spec rename to SPECS/dotnet9.0.spec index 7116017..6d6e16d 100644 --- a/dotnet9.0.spec +++ b/SPECS/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.1.24431.7 +%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.1.24431.7 -%global runtime_version 9.0.0-rc.1.24431.7 -%global aspnetcore_runtime_version 9.0.0-rc.1.24452.1 -%global sdk_version 9.0.100-rc.1.24452.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.1.24431.7 -%global aspnetcore_runtime_rpm_version 9.0.0~rc.1.24452.1 -%global sdk_rpm_version 9.0.100~rc.1.24452.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.3%{?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 @@ -838,17 +838,13 @@ export COMPlus_LTTng=0 %changelog -* 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 +- Related: RHEL-48617 * Thu Aug 15 2024 Omair Majid - 9.0.100~preview.7.24407.1-0.1 -- Update to .NET SDK 9 preview 7 and Runtime 9 preview 7 -- Resolves: RHEL-48619 +- Update to .NET SDK 9.0 preview 7 and Runtime 9.0 preview 7 +- Resolves: RHEL-48617 * Thu Jun 13 2024 Omair Majid - 9.0.100~preview.5.24307.3-0.9 - Update to .NET SDK 9.0.100-preview.5.24307.3 and Runtime 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/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 deleted file mode 100644 index ecd058b..0000000 --- a/release.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "release": "9.0.0-rc.1", - "channel": "9.0", - "tag": "v9.0.0-rc.1.24431.7", - "sdkVersion": "9.0.100-rc.1.24452.12", - "runtimeVersion": "9.0.0-rc.1.24431.7", - "aspNetCoreVersion": "9.0.0-rc.1.24452.1", - "sourceRepository": "https://github.com/dotnet/dotnet", - "sourceVersion": "f2e150252ab0fe4f796fac30ba5ffeb22c1c4156" -} 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 deleted file mode 100644 index 5e077fc..0000000 --- a/sources +++ /dev/null @@ -1,2 +0,0 @@ -SHA512 (dotnet-9.0.0-rc.1.24431.7.tar.gz) = 0b7ccca04f5bb751b7c01b2060603ec925b1422a0838d8e54e1355d579cd24c0e6951f533cc7063f184040f0d23eee1742fa5b5f9ddca6e6ba3e61254e087a40 -SHA512 (dotnet-9.0.0-rc.1.24431.7.tar.gz.sig) = 05ce370785066161dcb8cc88ac29a9b75c4a84e4d5d5890dc4078b8257d22cf7c0be7c9c42fc72e110da0d36e87b6ae4999c083c764b2065e7175a4c33b90163 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 560e15f..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"