import CS dotnet8.0-8.0.100~preview.7-0.2.el9~bootstrap
This commit is contained in:
		
							parent
							
								
									63573e2cc8
								
							
						
					
					
						commit
						8a9360c2be
					
				
							
								
								
									
										4
									
								
								.dotnet8.0.metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.dotnet8.0.metadata
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| 35100bcbe91362f5686caf6ebb55bd32215b813b SOURCES/dotnet-prebuilts-8.0.100-preview.6.23330.14-arm64.tar.gz | ||||
| de9624deab87fb323f87fceabacbfbf8b1d088c0 SOURCES/dotnet-prebuilts-8.0.100-preview.6.23330.14-ppc64le.tar.gz | ||||
| bc43d99e7b7faa8fde7e57faf4d46d17d00aadf8 SOURCES/dotnet-prebuilts-8.0.100-preview.6.23330.14-s390x.tar.gz | ||||
| fd142a9cc8993cde3389ce8073d1f0101a6d76b0 SOURCES/dotnet-v8.0.0-preview.7.23375.6-x64-bootstrap.tar.xz | ||||
| @ -1 +0,0 @@ | ||||
| 1 | ||||
							
								
								
									
										39
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,35 +1,4 @@ | ||||
| /dotnet-v3.1.101-SDK.tar.gz | ||||
| /dotnet-v3.1.102-SDK.tar.gz | ||||
| /dotnet-v3.1.103.2-SDK.tar.gz | ||||
| /dotnet-v5.0.102-SDK-arm64-bootstrap.tar.gz | ||||
| /dotnet-v5.0.102-SDK-x64-bootstrap.tar.gz | ||||
| /dotnet-v5.0.102-SDK.tar.gz | ||||
| /dotnet-v5.0.103-SDK.tar.gz | ||||
| /dotnet-v5.0.104-SDK.tar.gz | ||||
| /dotnet-v5.0.202-SDK.tar.gz | ||||
| /dotnet-v5.0.203-SDK.tar.gz | ||||
| /dotnet-v5.0.204-SDK.tar.gz | ||||
| /dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c-x64-bootstrap.tar.xz | ||||
| /dotnet-arm64-prebuilts-2021-10-29.tar.gz | ||||
| /dotnet-s390x-prebuilts-2021-10-29.tar.gz | ||||
| /dotnet-9e8b04bbff820c93c142f99a507a46b976f5c14c.tar.gz | ||||
| /dotnet-v6.0.101.tar.gz | ||||
| /dotnet-v6.0.102.tar.gz | ||||
| /dotnet-v6.0.103.tar.gz | ||||
| /dotnet-v6.0.104.tar.gz | ||||
| /dotnet-v6.0.105.tar.gz | ||||
| /dotnet-v7.0.100-rc.2.22477.23-x64-bootstrap.tar.xz | ||||
| /dotnet-arm64-prebuilts-2022-10-12.tar.gz | ||||
| /dotnet-ppc64le-prebuilts-2022-10-21.tar.gz | ||||
| /dotnet-s390x-prebuilts-2022-10-12.tar.gz | ||||
| /dotnet-v7.0.100.tar.gz | ||||
| /dotnet-v7.0.101.tar.gz | ||||
| /dotnet-v7.0.102.tar.gz | ||||
| /dotnet-v8.0.0-preview.7.23375.6-x64-bootstrap.tar.xz | ||||
| /dotnet-prebuilts-8.0.100-preview.6.23330.14-arm64.tar.gz | ||||
| /dotnet-prebuilts-8.0.100-preview.6.23330.14-ppc64le.tar.gz | ||||
| /dotnet-prebuilts-8.0.100-preview.6.23330.14-s390x.tar.gz | ||||
| /dotnet-v8.0.0-rc.1.23419.4-x64-bootstrap.tar.xz | ||||
| /dotnet-prebuilts-8.0.100-rc.1.23410.12-arm64.tar.gz | ||||
| /dotnet-prebuilts-8.0.100-rc.1.23410.12-ppc64le.tar.gz | ||||
| /dotnet-prebuilts-8.0.100-rc.1.23410.12-s390x.tar.gz | ||||
| SOURCES/dotnet-prebuilts-8.0.100-preview.6.23330.14-arm64.tar.gz | ||||
| SOURCES/dotnet-prebuilts-8.0.100-preview.6.23330.14-ppc64le.tar.gz | ||||
| SOURCES/dotnet-prebuilts-8.0.100-preview.6.23330.14-s390x.tar.gz | ||||
| SOURCES/dotnet-v8.0.0-preview.7.23375.6-x64-bootstrap.tar.xz | ||||
|  | ||||
							
								
								
									
										140
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										140
									
								
								README.md
									
									
									
									
									
								
							| @ -1,140 +0,0 @@ | ||||
| # dotnet8.0 | ||||
| 
 | ||||
| This is the work in progress .NET 8.0 package for Fedora. | ||||
| 
 | ||||
| Builds for Fedora, CentOS Stream and RHEL are available from | ||||
| https://copr.fedorainfracloud.org/coprs/g/dotnet-sig/dotnet-preview/ | ||||
| 
 | ||||
| This package is maintained by the Fedora DotNet SIG (Special Interest | ||||
| Group). You can find out more about the DotNet SIG at: | ||||
| 
 | ||||
| - https://fedoraproject.org/wiki/SIGs/DotNet | ||||
| - https://fedoraproject.org/wiki/DotNet | ||||
| - https://lists.fedoraproject.org/archives/list/dotnet-sig@lists.fedoraproject.org/ | ||||
| 
 | ||||
| Please report any issues [using | ||||
| bugzilla](https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=dotnet7.0). | ||||
| 
 | ||||
| # 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 | ||||
| 
 | ||||
| The steps below are for the final package. Please only contribute to this | ||||
| pre-release version this if you know what you are doing. Original instructions | ||||
| follow. | ||||
| 
 | ||||
| ## General Changes | ||||
| 
 | ||||
| 1. Fork the repo. | ||||
| 
 | ||||
| 2. Checkout the forked repository. | ||||
| 
 | ||||
|     - `git clone ssh://$USER@pkgs.fedoraproject.org/forks/$USER/rpms/dotnet7.0.git` | ||||
|     - `cd dotnet7.0` | ||||
| 
 | ||||
| 3. Make your changes. Don't forget to add a changelog. | ||||
| 
 | ||||
| 4. Do local builds. | ||||
| 
 | ||||
|     - `fedpkg local` | ||||
| 
 | ||||
| 5. Fix any errors that come up and rebuild until it works locally. | ||||
| 
 | ||||
| 6. Do builds in koji. | ||||
| 
 | ||||
|     - `fedpkg scratch-build --srpm` | ||||
| 
 | ||||
| 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, do a real | ||||
|     build. | ||||
| 
 | ||||
|     - `fedpkg build` | ||||
| 
 | ||||
| 11. For non-rawhide releases, file updates using bodhi to ship the just-built | ||||
|     package out to users. | ||||
| 
 | ||||
|     - https://bodhi.fedoraproject.org/updates/new | ||||
| 
 | ||||
|     OR | ||||
| 
 | ||||
|     - `fedpkg update` | ||||
| 
 | ||||
| ## Updating to an new upstream release | ||||
| 
 | ||||
| 1. Fork the repo. | ||||
| 
 | ||||
| 2. Checkout the forked repository. | ||||
| 
 | ||||
|     - `git clone ssh://$USER@pkgs.fedoraproject.org/forks/$USER/rpms/dotnet7.0.git` | ||||
|     - `cd dotnet7.0` | ||||
| 
 | ||||
| 3. Build the new upstream source tarball. 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. | ||||
| 
 | ||||
|     - `fedpkg 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. | ||||
| 
 | ||||
|     - `fedpkg scratch-build --srpm` | ||||
| 
 | ||||
| 7. Upload the source archive to the Fedora look-aside cache. | ||||
| 
 | ||||
|     - `fedpkg new-sources path-to-generated-dotnet-source-tarball.tar.gz` | ||||
| 
 | ||||
| 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, do a real | ||||
|     build. | ||||
| 
 | ||||
|     - `fedpkg build` | ||||
| 
 | ||||
| 11. For non-rawhide releases, file updates using bodhi to ship the just-built | ||||
|     package out to users. | ||||
| 
 | ||||
|     - https://bodhi.fedoraproject.org/updates/new | ||||
| 
 | ||||
|     OR | ||||
| 
 | ||||
|     - `fedpkg update` | ||||
| 
 | ||||
| # Testing | ||||
| 
 | ||||
| This package uses CI tests as defined in `tests/test.yml`. Creating a | ||||
| pull-request or running a 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/ | ||||
							
								
								
									
										9
									
								
								SOURCES/release.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								SOURCES/release.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   "release": "8.0.0-preview.7", | ||||
|   "channel": "8.0", | ||||
|   "tag": "v8.0.0-preview.7.23375.6", | ||||
|   "sdkVersion": "8.0.100-preview.7.23376.3", | ||||
|   "runtimeVersion": "8.0.0-preview.7.23375.6", | ||||
|   "sourceRepository": "https://github.com/dotnet/dotnet", | ||||
|   "sourceVersion": "a4e1c155baee463805c5af89adb4cb1165df9ad0" | ||||
| } | ||||
| @ -8,22 +8,22 @@ | ||||
| 
 | ||||
| %global dotnetver 8.0 | ||||
| 
 | ||||
| %global host_version 8.0.0-rc.1.23419.4 | ||||
| %global runtime_version 8.0.0-rc.1.23419.4 | ||||
| %global aspnetcore_runtime_version 8.0.0-rc.1.23421.29 | ||||
| %global sdk_version 8.0.100-rc.1.23455.1 | ||||
| %global host_version 8.0.0-preview.7.23375.6 | ||||
| %global runtime_version 8.0.0-preview.7.23375.6 | ||||
| %global aspnetcore_runtime_version 8.0.0-preview.7.23375.9 | ||||
| %global sdk_version 8.0.100-preview.7.23376.1 | ||||
| %global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') | ||||
| %global templates_version 8.0.0-rc.1.23421.29 | ||||
| %global templates_version 8.0.0-preview.7.23375.9 | ||||
| #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') | ||||
| 
 | ||||
| # upstream can produce releases with a different tag than the SDK version | ||||
| %global upstream_tag v8.0.0-rc.1.23419.4 | ||||
| # upstream can update releases without revving the SDK version so these don't always match | ||||
| %global upstream_tag v8.0.0-preview.7.23375.6 | ||||
| %global upstream_tag_without_v %(echo %{upstream_tag} | sed -e 's|^v||') | ||||
| 
 | ||||
| %global host_rpm_version 8.0.0~rc.1 | ||||
| %global runtime_rpm_version 8.0.0~rc.1 | ||||
| %global aspnetcore_runtime_rpm_version 8.0.0~rc.1 | ||||
| %global sdk_rpm_version 8.0.100~rc.1 | ||||
| %global host_rpm_version 8.0.0~preview.7 | ||||
| %global runtime_rpm_version 8.0.0~preview.7 | ||||
| %global aspnetcore_runtime_rpm_version 8.0.0~preview.7 | ||||
| %global sdk_rpm_version 8.0.100~preview.7 | ||||
| 
 | ||||
| %if 0%{?fedora} || 0%{?rhel} < 8 | ||||
| %global use_bundled_libunwind 0 | ||||
| @ -61,7 +61,7 @@ License:        0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APS | ||||
| URL:            https://github.com/dotnet/ | ||||
| 
 | ||||
| %if %{with bootstrap} | ||||
| %global bootstrap_sdk_version 8.0.100-rc.1.23410.12 | ||||
| %global bootstrap_sdk_version 8.0.100-preview.6.23330.14 | ||||
| %global tarball_name dotnet-%{upstream_tag}-x64-bootstrap | ||||
| # The source is generated on a Fedora box via: | ||||
| # ./build-dotnet-tarball --bootstrap %%{upstream_tag} | ||||
| @ -92,10 +92,6 @@ Patch1:         roslyn-analyzers-ppc64le-apphost.patch | ||||
| Patch2:         vstest-intent-net8.0.patch | ||||
| # https://github.com/dotnet/source-build/issues/3571 | ||||
| Patch3:         fix-mono-typeloadexception.patch | ||||
| # https://github.com/dotnet/runtime/pull/91008 | ||||
| Patch4:         runtime-91008-mono-var-opcode-OP_REGOFFSET.patch | ||||
| # https://github.com/dotnet/runtime/pull/91865 | ||||
| Patch5:         runtime-91865-arm64-page-size.patch | ||||
| 
 | ||||
| %if 0%{?fedora} || 0%{?rhel} >= 8 | ||||
| ExclusiveArch:  aarch64 ppc64le s390x x86_64 | ||||
| @ -499,6 +495,12 @@ export EXTRA_LDFLAGS="$LDFLAGS" | ||||
| # suggested compile-time change doesn't work, unfortunately. | ||||
| export COMPlus_LTTng=0 | ||||
| 
 | ||||
| # OpenSSL 3.0 in RHEL 9 and newer versions of Fedora has disabled | ||||
| # SHA1, used by .NET for strong name signing. See | ||||
| # https://github.com/dotnet/runtime/issues/67304 | ||||
| # https://gitlab.com/redhat/centos-stream/rpms/openssl/-/commit/78fb78d30755ae18fdaef28ef392f4e67c662ff6 | ||||
| export OPENSSL_ENABLE_SHA1_SIGNATURES=1 | ||||
| 
 | ||||
| VERBOSE=1 ./build.sh \ | ||||
| %if %{without bootstrap} | ||||
|     --with-sdk previously-built-dotnet \ | ||||
| @ -520,14 +522,14 @@ sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh | ||||
| %install | ||||
| install -dm 0755 %{buildroot}%{_libdir}/dotnet | ||||
| ls artifacts/%{runtime_arch}/Release | ||||
| mkdir -p built-sdk | ||||
| tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C built-sdk/ | ||||
| tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}.tar.gz -C %{buildroot}%{_libdir}/dotnet/ | ||||
| 
 | ||||
| # Convert hardlinks to actual copies. This takes up quite a bit of | ||||
| # extra disk space, but works around RHEL issues in post-rpmbuild tools | ||||
| # when they encounter hardlinks. | ||||
| cp -r --preserve=mode,ownership,timestamps built-sdk/* %{buildroot}%{_libdir}/dotnet/ | ||||
| ls %{buildroot}%{_libdir}/dotnet | ||||
| # See https://github.com/dotnet/source-build/issues/2579 | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name 'testhost.x86' -delete | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name 'vstest.console' -delete | ||||
| 
 | ||||
| # https://github.com/dotnet/source-build/issues/3452 | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name 'containerize' -delete | ||||
| 
 | ||||
| # Delete bundled certificates: we want to use the system store only, | ||||
| # except for when we have no other choice and ca-certificates doesn't | ||||
| @ -541,11 +543,12 @@ if [[ $(find %{buildroot}%{_libdir}/dotnet -name '*.pem' -print | wc -l) != 1 ]] | ||||
| fi | ||||
| 
 | ||||
| # Install managed symbols | ||||
| tar xf artifacts/%{runtime_arch}/Release/dotnet-runtime-symbols-%{runtime_id}-%{runtime_version}.tar.gz \ | ||||
|    -C %{buildroot}%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}/ | ||||
| tar xf artifacts/%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%{runtime_id}-%{runtime_version}.tar.gz \ | ||||
|    -C %{buildroot}/%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}/ | ||||
| 
 | ||||
| # Fix executable permissions on files | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name 'apphost' -exec chmod +x {} \; | ||||
| #find %{buildroot}%{_libdir}/dotnet/ -type f -name 'containerize' -exec chmod +x {} \; | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name 'singlefilehost' -exec chmod +x {} \; | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name 'lib*so' -exec chmod +x {} \; | ||||
| find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.a' -exec chmod -x {} \; | ||||
| @ -664,16 +667,6 @@ export COMPlus_LTTng=0 | ||||
| 
 | ||||
| 
 | ||||
| %changelog | ||||
| * Mon Sep 18 2023 Omair Majid <omajid@redhat.com> - 8.0.100~rc.1-0.2 | ||||
| - Add patches to fix mono and arm64 issues | ||||
| - Include libmono-*.a files in the SDK | ||||
| - Fix CI configuration | ||||
| - Related: RHEL-4074 | ||||
| 
 | ||||
| * Fri Sep 15 2023 Omair Majid <omajid@redhat.com> - 8.0.100~rc.1-0.1 | ||||
| - Update to .NET SDK 8.0.100 RC 1 and Runtime 8.0.0 RC 1 | ||||
| - Resolves: RHEL-4074 | ||||
| 
 | ||||
| * Tue Aug 22 2023 Omair Majid <omajid@redhat.com> - 8.0.100~preview.7-0.2 | ||||
| - Add patch to work around TypeLoadException in Mono | ||||
| - Related: RHBZ#2224124 | ||||
| @ -1,56 +0,0 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| # Usage: | ||||
| #   ./build-arm64-bootstrap-tarball <bootstrap-dir> [SDK-version] | ||||
| 
 | ||||
| set -euo pipefail | ||||
| 
 | ||||
| set -x | ||||
| 
 | ||||
| function parse-nuget-name-version-from-file() { | ||||
|     package=$1 | ||||
|     filename=${package##*/} | ||||
| 
 | ||||
|     version_suffix=$(echo "$filename" | grep -Eo '\.[[:digit:]]+.*\.nupkg') | ||||
|     version=$(echo "$version_suffix" | sed -Ee 's/^\.//' -e 's/\.nupkg$//') | ||||
|     name=${filename:0:(${#filename}-${#version_suffix})} | ||||
| 
 | ||||
|     echo "$name" "$version" | ||||
| } | ||||
| 
 | ||||
| bootstrap_dir=$(readlink -f "$1") | ||||
| 
 | ||||
| sdk_version=${2:-$(jq -r  '.tools.dotnet' "$bootstrap_dir"/global.json)} | ||||
| 
 | ||||
| mkdir -p "dotnet-prebuilts-${sdk_version}-arm64" | ||||
| 
 | ||||
| pushd "dotnet-prebuilts-${sdk_version}-arm64" | ||||
| 
 | ||||
| # Binaries can be at one of several different URLs: | ||||
| # GA releases: | ||||
| if ! wget "https://dotnetcli.azureedge.net/dotnet/Sdk/${sdk_version}/dotnet-sdk-${sdk_version}-linux-arm64.tar.gz" ; then | ||||
|     # Preview releases: | ||||
|     wget "https://dotnetbuilds.azureedge.net/public/Sdk/${sdk_version}/dotnet-sdk-${sdk_version}-linux-arm64.tar.gz" | ||||
| fi | ||||
| 
 | ||||
| for archive in "$bootstrap_dir"/prereqs/packages/archive/*.tar.gz; do | ||||
|     mapfile -t linux_x64_packages < <(tar tf "$archive" | grep linux-x64) | ||||
| 
 | ||||
|     for package in "${linux_x64_packages[@]}"; do | ||||
|         if [[ "$package" = *'.Intermediate.'* ]]; then | ||||
|             continue; | ||||
|         fi | ||||
| 
 | ||||
|         read -r name version < <(parse-nuget-name-version-from-file "$package") | ||||
| 
 | ||||
|         arm_name=${name/linux-x64/linux-arm64} | ||||
| 
 | ||||
|         # https://gist.github.com/omajid/c04b6025de49d0b7b18ab4a7e789484e | ||||
|         nappo download --verbose "$arm_name" "$version" | ||||
| 
 | ||||
|     done | ||||
| done | ||||
| 
 | ||||
| popd | ||||
| 
 | ||||
| tar czf "dotnet-prebuilts-${sdk_version}-arm64.tar.gz" "dotnet-prebuilts-${sdk_version}-arm64" | ||||
| @ -1,186 +0,0 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| # Usage: | ||||
| #   build-dotnet-tarball [--bootstrap] <tag-from-dotnet> | ||||
| # | ||||
| # Creates a source archive 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 [--bootstrap] <tag-from-dotnet>" | ||||
|     echo | ||||
|     echo "Creates a source archive from a tag at https://github.com/dotnet/dotnet" | ||||
|     echo "" | ||||
|     echo "  --bootstrap     build a source tarball usable for bootstrapping .NET" | ||||
| } | ||||
| 
 | ||||
| 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 | ||||
|         --bootstrap) | ||||
|             check_bootstrap_environment | ||||
|             build_bootstrap=true | ||||
|             shift | ||||
|             ;; | ||||
|         -h|--help) | ||||
|             print_usage | ||||
|             exit 0 | ||||
|             ;; | ||||
|         *) | ||||
|             positional_args+=("$1") | ||||
|             shift | ||||
|             ;; | ||||
|     esac | ||||
| done | ||||
| 
 | ||||
| 
 | ||||
| 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}" | ||||
| tarball_suffix=.tar.gz | ||||
| 
 | ||||
| if [[ ${build_bootstrap} == true ]]; then | ||||
|     unmodified_tarball_name="${unmodified_tarball_name}-${arch}-bootstrap" | ||||
|     tarball_name="${tarball_name}-${arch}-bootstrap" | ||||
|     tarball_suffix=.tar.xz | ||||
| fi | ||||
| 
 | ||||
| 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 | ||||
|     wget https://github.com/dotnet/dotnet/archive/refs/tags/${tag}.tar.gz | ||||
|     mv "${tag}.tar.gz" "${unmodified_tarball_name}.tar.gz" | ||||
| 
 | ||||
|     #temp_dir=$(mktemp -d -p "$(pwd)" -t temp-build-dotnet-tarball-XXXXXXXXXX) | ||||
|     #pushd "${temp_dir}" | ||||
|     #mkdir dotnet | ||||
|     #pushd dotnet | ||||
|     #git init | ||||
|     #git remote add origin https://github.com/dotnet/dotnet | ||||
|     #git fetch --depth 1 origin "${tag}" | ||||
|     #git checkout FETCH_HEAD | ||||
|     #git submodule update --init --recursive | ||||
|     #clean_dotnet_cache | ||||
|     #./eng/pack-sources.sh -o "$(readlink -f ../../"${unmodified_tarball_name}.tar.gz")" | ||||
|     #popd | ||||
|     #popd | ||||
| 
 | ||||
|     #rm -rf "${temp_dir}" | ||||
| 
 | ||||
| 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}" | ||||
| 
 | ||||
| if [[ ${build_bootstrap} == true ]]; then | ||||
|     ./prep.sh --bootstrap | ||||
| else | ||||
|     find . -type f -iname '*.tar.gz' -delete | ||||
|     rm -rf .dotnet | ||||
| fi | ||||
| 
 | ||||
| # 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. | ||||
| 
 | ||||
| popd | ||||
| 
 | ||||
| # if [[ ${build_bootstrap} == true ]]; then | ||||
| #     tar -I 'xz -9 -T 0' -cf "${tarball_name}${tarball_suffix}" "${tarball_name}" | ||||
| # else | ||||
| #     tar -czf "${tarball_name}${tarball_suffix}" "${tarball_name}" | ||||
| # fi | ||||
| tar -czf "${tarball_name}${tarball_suffix}" "${tarball_name}" | ||||
							
								
								
									
										13
									
								
								copr-build
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								copr-build
									
									
									
									
									
								
							| @ -1,13 +0,0 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| set -euo pipefail | ||||
| 
 | ||||
| set -x | ||||
| 
 | ||||
| fedpkg --release f37 srpm 2>&1 | tee fedpkg.output | ||||
| 
 | ||||
| srpm_name=$(grep 'Wrote: ' fedpkg.output | cut -d' ' -f 2) | ||||
| 
 | ||||
| ls -alh "${srpm_name}" | ||||
| 
 | ||||
| copr-cli --debug build @dotnet-sig/dotnet-preview "${srpm_name}" --timeout 36000 | ||||
| @ -1,35 +0,0 @@ | ||||
| # Tarball is generated, no upstream URL | ||||
| addFilter("W:.*invalid-url Source0: dotnet-.*tar.gz") | ||||
| 
 | ||||
| # macOS is the correct name | ||||
| addFilter("W: spelling-error %description -l en_US macOS ->.*") | ||||
| # The name of the nuget package includes NETCore | ||||
| addFilter("W: spelling-error .* NETCore -> Net Core.*") | ||||
| 
 | ||||
| # Upstream really has no README or documentation files. They suggest using online resources. | ||||
| addFilter("W: no-documentation") | ||||
| 
 | ||||
| # This is a script that we run; it's expected to have execute permissions | ||||
| addFilter("W: strange-permission check-debug-symbols.py") | ||||
| 
 | ||||
| # libicu is a required dependency, but it's used via a dlopen() | ||||
| addFilter("E: explicit-lib-dependency libicu") | ||||
| 
 | ||||
| # There's no devel package for us to place .h files | ||||
| addFilter("W: devel-file-in-non-devel-package /usr/lib64/dotnet/.*\.h") | ||||
| addFilter("W: devel-file-in-non-devel-package /usr/lib64/dotnet/.*\.a") | ||||
| 
 | ||||
| # These paths are non-standard, so we need $ORIGIN to find these libraries | ||||
| addFilter("E: binary-or-shlib-defines-rpath /usr/lib64/dotnet/.*\['\$ORIGIN/netcoredeps'\]") | ||||
| addFilter("E: binary-or-shlib-defines-rpath /usr/lib64/dotnet/.*\['\$ORIGIN'\]") | ||||
| 
 | ||||
| # We put dll files in /usr/lib/dotnet, but rpmlint somehow doesn't see it as a binary? | ||||
| addFilter("W: only-non-binary-in-usr-lib") | ||||
| 
 | ||||
| # We use a number of zero-length files, including _._ | ||||
| addFilter("E: zero-length /usr/lib64/dotnet/.*/_\._") | ||||
| 
 | ||||
| # Upstream uses hidden files, even though we ask them not to, as much as possible | ||||
| addFilter("W: hidden-file-or-dir /usr/lib64/dotnet/.*/\.version") | ||||
| addFilter("W: hidden-file-or-dir /usr/lib64/dotnet/.*/\.toolsetversion") | ||||
| 
 | ||||
							
								
								
									
										23
									
								
								gating.yaml
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								gating.yaml
									
									
									
									
									
								
							| @ -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} | ||||
| @ -1,9 +0,0 @@ | ||||
| { | ||||
|   "release": "8.0.0-rc.1", | ||||
|   "channel": "8.0", | ||||
|   "tag": "v8.0.0-rc.1.23419.4", | ||||
|   "sdkVersion": "8.0.100-rc.1.23455.8", | ||||
|   "runtimeVersion": "8.0.0-rc.1.23419.4", | ||||
|   "sourceRepository": "https://github.com/dotnet/dotnet", | ||||
|   "sourceVersion": "113d797bc90104bb4f1cc51e1a462cf3d4ef18fc" | ||||
| } | ||||
| @ -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 | ||||
| @ -1,29 +0,0 @@ | ||||
| From a73b8bacfcc5819926bc05173ab2f7850eb00da3 Mon Sep 17 00:00:00 2001 | ||||
| From: Ulrich Weigand <ulrich.weigand@de.ibm.com> | ||||
| Date: Wed, 23 Aug 2023 21:11:37 +0200 | ||||
| Subject: [PATCH] [mono] Handle enum return type when inlining CreateInstance | ||||
| 
 | ||||
| Use underlying base type when deciding how to inline a | ||||
| CreateInstance invocation in mini_emit_inst_for_method. | ||||
| 
 | ||||
| Fixes https://github.com/dotnet/runtime/issues/90292 | ||||
| (Mono abort causing .NET 8 msbuild regression). | ||||
| ---
 | ||||
|  src/mono/mono/mini/intrinsics.c | 4 +++- | ||||
|  1 file changed, 3 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/src/runtime/src/mono/mono/mini/intrinsics.c b/src/runtime/src/mono/mono/mini/intrinsics.c
 | ||||
| index b1e5e76723147..ef77b7dc89f2e 100644
 | ||||
| --- a/src/runtime/src/mono/mono/mini/intrinsics.c
 | ||||
| +++ b//src/runtimesrc/mono/mono/mini/intrinsics.c
 | ||||
| @@ -2079,7 +2079,9 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
 | ||||
|  			MonoType *t = method_context->method_inst->type_argv [0]; | ||||
|  			MonoClass *arg0 = mono_class_from_mono_type_internal (t); | ||||
|  			if (m_class_is_valuetype (arg0) && !mono_class_has_default_constructor (arg0, FALSE)) { | ||||
| -				if (m_class_is_primitive (arg0)) {
 | ||||
| +				if (m_class_is_primitive (arg0) || m_class_is_enumtype (arg0)) {
 | ||||
| +					if (m_class_is_enumtype (arg0))
 | ||||
| +						t = mono_class_enum_basetype_internal (arg0);
 | ||||
|  					int dreg = alloc_dreg (cfg, mini_type_to_stack_type (cfg, t)); | ||||
|  					mini_emit_init_rvar (cfg, dreg, t); | ||||
|  					ins = cfg->cbb->last_ins; | ||||
| @ -1,39 +0,0 @@ | ||||
| From 7d3b041c09aa1d6cf532e64d24b75a7e5bd4d106 Mon Sep 17 00:00:00 2001 | ||||
| From: Tom Deseyn <tom.deseyn@gmail.com> | ||||
| Date: Tue, 12 Sep 2023 07:43:45 +0200 | ||||
| Subject: [PATCH] Limit special diagnostics size region to 4KiB. | ||||
| 
 | ||||
| This fixes out-of-bounds access when trying to write the | ||||
| diagnostics info on platforms where the PAGE_SIZE is larger | ||||
| than the DumpWriter's 16KiB m_tempBuffer. | ||||
| ---
 | ||||
|  src/coreclr/debug/createdump/crashinfo.cpp     | 2 +- | ||||
|  src/coreclr/debug/createdump/specialdiaginfo.h | 2 ++ | ||||
|  2 files changed, 3 insertions(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp b/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
 | ||||
| index ef903767ba027..8af6ec4a54f5b 100644
 | ||||
| --- a/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
 | ||||
| +++ b/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
 | ||||
| @@ -195,7 +195,7 @@ CrashInfo::GatherCrashInfo(DumpType dumpType)
 | ||||
|          return false; | ||||
|      } | ||||
|      // Add the special (fake) memory region for the special diagnostics info | ||||
| -    MemoryRegion special(PF_R, SpecialDiagInfoAddress, SpecialDiagInfoAddress + PAGE_SIZE);
 | ||||
| +    MemoryRegion special(PF_R, SpecialDiagInfoAddress, SpecialDiagInfoAddress + SpecialDiagInfoSize);
 | ||||
|      m_memoryRegions.insert(special); | ||||
|  #ifdef __APPLE__ | ||||
|      InitializeOtherMappings(); | ||||
| diff --git a/src/runtime/src/coreclr/debug/createdump/specialdiaginfo.h b/src/runtime/src/coreclr/debug/createdump/specialdiaginfo.h
 | ||||
| index 3a04a9f551e6d..a857129c9c91f 100644
 | ||||
| --- a/src/runtime/src/coreclr/debug/createdump/specialdiaginfo.h
 | ||||
| +++ b/src/runtime/src/coreclr/debug/createdump/specialdiaginfo.h
 | ||||
| @@ -24,6 +24,8 @@ const uint64_t SpecialDiagInfoAddress = 0x7fff1000;
 | ||||
|  #endif | ||||
|  #endif | ||||
|   | ||||
| +const uint64_t SpecialDiagInfoSize = 0x1000;
 | ||||
| +
 | ||||
|  struct SpecialDiagInfoHeader | ||||
|  { | ||||
|      char Signature[16]; | ||||
							
								
								
									
										4
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								sources
									
									
									
									
									
								
							| @ -1,4 +0,0 @@ | ||||
| SHA512 (dotnet-v8.0.0-rc.1.23419.4-x64-bootstrap.tar.xz) = 247d43ae0100753a6ed18f8302e818f450ea648120bee857ea5e9d8e0130a6cb9a48b76a6c39956cf5b18f9c1dc8645d2d4eed9ea3b791456cb65ec67314f807 | ||||
| SHA512 (dotnet-prebuilts-8.0.100-rc.1.23410.12-arm64.tar.gz) = c57c8a249de603c8c6f62e7b3cb18d5a1ff32bdaaa6ac9fdd37a9a577cc89fdd0de82d7f099f754e566d473a32d19093003caeea9bff02865e51f46938271bb4 | ||||
| SHA512 (dotnet-prebuilts-8.0.100-rc.1.23410.12-ppc64le.tar.gz) = 1252b993d0aed94cda53389f16b209656f161a43d77e1099d59e563afa1d74c1dab474e0c636d91e7a94f8c72df4e2430393f220363b5ef39811e9cd0d33d122 | ||||
| SHA512 (dotnet-prebuilts-8.0.100-rc.1.23410.12-s390x.tar.gz) = 662c4689fa1b5752cae9c7a9f75e71f60e63ae013e130457c3f7d0a73fec0d58489ef32279d0a7e046ebba12cfb16ae6fa5e8f5bbbe3bc59b860207e132b3640 | ||||
							
								
								
									
										41
									
								
								tests/ci.fmf
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								tests/ci.fmf
									
									
									
									
									
								
							| @ -1,41 +0,0 @@ | ||||
| summary: Basic smoke test | ||||
| provision: | ||||
|     disk: 20 | ||||
|     memory: 5120 | ||||
| prepare: | ||||
|     how: install | ||||
|     package: | ||||
|         - aspnetcore-runtime-8.0 | ||||
|         - babeltrace | ||||
|         - bash-completion | ||||
|         - bc | ||||
|         - binutils | ||||
|         - dotnet-runtime-8.0 | ||||
|         - dotnet-sdk-8.0 | ||||
|         - expect | ||||
|         - file | ||||
|         - findutils | ||||
|         - gcc-c++ | ||||
|         - git | ||||
|         - jq | ||||
|         - libstdc++-devel | ||||
|         - lldb | ||||
|         - lttng-ust | ||||
|         - 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 | ||||
							
								
								
									
										118
									
								
								update-release
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								update-release
									
									
									
									
									
								
							| @ -1,118 +0,0 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| # Usage: | ||||
| #     ./update-release sdk-version runtime-version [--bug bug-id] [--tarball tarball-name] [--larger-rpm-release] | ||||
| 
 | ||||
| set -euo pipefail | ||||
| IFS=$'\n\t' | ||||
| 
 | ||||
| print_usage() { | ||||
|     echo " Usage:" | ||||
|     echo "     ./update-release sdk-version runtime-version [--bug bug-id] [--tarball tarball-name] [--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 | ||||
|             ;; | ||||
|         --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]}" | ||||
| 
 | ||||
| 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 [[ "$runtime_version" == "3.1"* ]]; then | ||||
|     tag=v${sdk_version}-SDK | ||||
| elif [[ "$runtime_version" == "6.0"* ]] || [[ "$runtime_version" == "7.0"* ]]; then | ||||
|     tag=v${sdk_version} | ||||
| else | ||||
|     tag=v${runtime_version} | ||||
| fi | ||||
| 
 | ||||
| if [[ -f "dotnet-${tag}-original.tar.gz" ]]; then | ||||
|     echo "dotnet-${tag}-original.tar.gz alredy exists, not rebuilding tarball" | ||||
| else | ||||
|     if [[ -n "${user_provided_tarball_name}" ]]; then | ||||
|         mv "$user_provided_tarball_name" "dotnet-${tag}-original.tar.gz" | ||||
|     elif [[ -f "dotnet-${sdk_version}-SDK.tar.gz" ]]; then | ||||
|         mv "dotnet-${sdk_version}-SDK.tar.gz" "dotnet-${tag}-original.tar.gz" | ||||
|     elif [[ -f "dotnet-${sdk_version}.tar.gz" ]]; then | ||||
|         mv "dotnet-${sdk_version}.tar.gz" "dotnet-${tag}-original.tar.gz" | ||||
|     elif [[ -f "dotnet-${runtime_version}.tar.gz" ]]; then | ||||
|         mv "dotnet-${runtime_version}.tar.gz" "dotnet-${tag}-original.tar.gz" | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| if [[ ! -f "dotnet-${tag}.tar.gz" ]]; then | ||||
|     ./build-dotnet-tarball "${tag}" | ||||
| 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 SDK ${sdk_version} and Runtime ${runtime_version}" | ||||
| commit_message="$comment | ||||
| " | ||||
| for bug_id in "${bug_ids[@]}"; do | ||||
|     comment="$comment | ||||
| - Resolves: RHBZ#$bug_id" | ||||
|     commit_message="$commit_message | ||||
| Resolves: RHBZ#$bug_id" | ||||
| 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" | ||||
| 
 | ||||
| release_json_url=$(spectool -l --sources ./dotnet8.0.spec | grep release.json | cut -d' ' -f2) | ||||
| rm "$(basename "$release_json_url")" | ||||
| wget "$release_json_url" | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user