Compare commits
21 Commits
c8-bootstr
...
c10s
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28256feff8 | ||
|
|
15fd5c9268 | ||
|
|
eee3fd8a0a | ||
|
|
f1abad5973 | ||
|
|
f70a5ff70b | ||
|
|
ca842089d1 | ||
|
|
20aedce3ac | ||
|
|
7d9492eb68 | ||
|
|
43ef3042e8 | ||
|
|
9619cdd5bb | ||
|
|
349c50eeb6 | ||
|
|
f27f81233c | ||
|
|
9427ca06ce | ||
|
|
d1315de9d8 | ||
|
|
b6fef3b3f4 | ||
|
|
48dce8ab17 | ||
|
|
1451eed9d5 | ||
|
|
5cfc258169 | ||
|
|
2d55956ca0 | ||
|
|
148eb8e60c | ||
|
|
31e18046cc |
40
.gitignore
vendored
40
.gitignore
vendored
@ -12,3 +12,43 @@
|
|||||||
/dotnet-sdk-9.0.100-rc.1.24452.12-linux-arm64.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-ppc64le.tar.gz
|
||||||
/dotnet-prebuilts-9.0.100-rc.1.24452.1-s390x.tar.gz
|
/dotnet-prebuilts-9.0.100-rc.1.24452.1-s390x.tar.gz
|
||||||
|
/dotnet-9.0.1.tar.gz
|
||||||
|
/dotnet-9.0.1.tar.gz.sig
|
||||||
|
/dotnet-v9.0.1-x64-bootstrap.tar.gz
|
||||||
|
/dotnet-sdk-9.0.101-linux-arm64.tar.gz
|
||||||
|
/dotnet-prebuilts-9.0.101-ppc64le.tar.gz
|
||||||
|
/dotnet-prebuilts-9.0.101-s390x.tar.gz
|
||||||
|
/dotnet-9.0.2.tar.gz
|
||||||
|
/dotnet-9.0.2.tar.gz.sig
|
||||||
|
/dotnet-9.0.3.tar.gz
|
||||||
|
/dotnet-9.0.3.tar.gz.sig
|
||||||
|
/dotnet-9.0.4.tar.gz
|
||||||
|
/dotnet-9.0.4.tar.gz.sig
|
||||||
|
/dotnet-9.0.5.tar.gz
|
||||||
|
/dotnet-9.0.5.tar.gz.sig
|
||||||
|
/dotnet-9.0.6.tar.gz
|
||||||
|
/dotnet-9.0.6.tar.gz.sig
|
||||||
|
/dotnet-9.0.7.tar.gz
|
||||||
|
/dotnet-9.0.7.tar.gz.sig
|
||||||
|
/dotnet-9.0.109.tar.gz
|
||||||
|
/dotnet-9.0.109.tar.gz.sig
|
||||||
|
/dotnet-9.0.110.tar.gz
|
||||||
|
/dotnet-9.0.110.tar.gz.sig
|
||||||
|
/dotnet-9.0.111.tar.gz
|
||||||
|
/dotnet-9.0.111.tar.gz.sig
|
||||||
|
/dotnet-9.0.112.tar.gz
|
||||||
|
/dotnet-9.0.112.tar.gz.sig
|
||||||
|
/dotnet-9.0.113.tar.gz
|
||||||
|
/dotnet-9.0.113.tar.gz.sig
|
||||||
|
/dotnet-9.0.114.tar.gz
|
||||||
|
/dotnet-9.0.114.tar.gz.sig
|
||||||
|
/dotnet-9.0.115.tar.gz
|
||||||
|
/dotnet-9.0.115.tar.gz.sig
|
||||||
|
/dotnet-9.0.116.tar.gz
|
||||||
|
/dotnet-9.0.116.tar.gz.sig
|
||||||
|
/dotnet-9.0.117.tar.gz
|
||||||
|
/dotnet-9.0.117.tar.gz.sig
|
||||||
|
/dotnet-9.0.118.tar.gz
|
||||||
|
/dotnet-9.0.118.tar.gz.sig
|
||||||
|
/dotnet-9.0.119.tar.gz
|
||||||
|
/dotnet-9.0.119.tar.gz.sig
|
||||||
|
|||||||
277
dotnet9.0.spec
277
dotnet9.0.spec
@ -8,22 +8,26 @@
|
|||||||
|
|
||||||
%global dotnetver 9.0
|
%global dotnetver 9.0
|
||||||
|
|
||||||
|
# Only the package for the latest dotnet version should provide RPMs like
|
||||||
|
# dotnet-host
|
||||||
|
%global is_latest_dotnet 0
|
||||||
|
|
||||||
# upstream can produce releases with a different tag than the SDK version
|
# upstream can produce releases with a different tag than the SDK version
|
||||||
#%%global upstream_tag v%%{runtime_version}
|
#%%global upstream_tag v%%{runtime_version}
|
||||||
%global upstream_tag v9.0.0-rc.2.24473.5
|
%global upstream_tag v9.0.119
|
||||||
%global upstream_tag_without_v %(echo %{upstream_tag} | sed -e 's|^v||')
|
%global upstream_tag_without_v %(echo %{upstream_tag} | sed -e 's|^v||')
|
||||||
|
|
||||||
%global hostfxr_version 9.0.0-rc.2.24473.5
|
%global hostfxr_version %{runtime_version}
|
||||||
%global runtime_version 9.0.0-rc.2.24473.5
|
%global runtime_version 9.0.18
|
||||||
%global aspnetcore_runtime_version 9.0.0-rc.2.24474.3
|
%global aspnetcore_runtime_version 9.0.18
|
||||||
%global sdk_version 9.0.100-rc.2.24474.1
|
%global sdk_version 9.0.119
|
||||||
%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|')
|
%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 %{aspnetcore_runtime_version}
|
||||||
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
|
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
|
||||||
|
|
||||||
%global runtime_rpm_version 9.0.0~rc.2.24473.5
|
%global runtime_rpm_version %{runtime_version}
|
||||||
%global aspnetcore_runtime_rpm_version 9.0.0~rc.2.24474.3
|
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
|
||||||
%global sdk_rpm_version 9.0.100~rc.2.24474.1
|
%global sdk_rpm_version %{sdk_version}
|
||||||
|
|
||||||
%global use_bundled_brotli 0
|
%global use_bundled_brotli 0
|
||||||
%global use_bundled_libunwind 1
|
%global use_bundled_libunwind 1
|
||||||
@ -70,7 +74,7 @@
|
|||||||
|
|
||||||
Name: dotnet%{dotnetver}
|
Name: dotnet%{dotnetver}
|
||||||
Version: %{sdk_rpm_version}
|
Version: %{sdk_rpm_version}
|
||||||
Release: 0.8%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: .NET Runtime and SDK
|
Summary: .NET Runtime and SDK
|
||||||
License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
|
License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
|
||||||
|
|
||||||
@ -81,22 +85,22 @@ URL: https://github.com/dotnet/
|
|||||||
# ./build-dotnet-bootstrap-tarball %%{upstream_tag}
|
# ./build-dotnet-bootstrap-tarball %%{upstream_tag}
|
||||||
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.gz
|
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.gz
|
||||||
# The bootstrap SDK version is one listed in the global.json file of the main source archive
|
# The bootstrap SDK version is one listed in the global.json file of the main source archive
|
||||||
%global bootstrap_sdk_version 9.0.100-rc.1.24452.12
|
%global bootstrap_sdk_version 9.0.101
|
||||||
# Binaries can be at one of several different URLs:
|
# Binaries can be at one of several different URLs:
|
||||||
# GA releases:
|
# GA releases:
|
||||||
# Source1: https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
Source1: https://builds.dotnet.microsoft.com/dotnet/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
||||||
# Preview releases:
|
# Preview releases:
|
||||||
Source1: https://dotnetbuilds.azureedge.net/public/Sdk/%{bootstrap_sdk_version}/dotnet-sdk-%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
# Source1: https://ci.dot.net/public/Sdk/%%{bootstrap_sdk_version}/dotnet-sdk-%%{bootstrap_sdk_version}-linux-arm64.tar.gz
|
||||||
# To generate ppc64le and s390x archives:
|
# To generate ppc64le and s390x archives:
|
||||||
# 1. Find the source commits and versions of repos, use one of:
|
# 1. Find the source commits and versions of repos, use one of:
|
||||||
# - https://dotnetbuilds.azureedge.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
# - https://builds.dotnet.microsoft.com/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
||||||
# - https://dotnetcli.azureedge.net/dotnet/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
# - https://ci.dot.net/public/Sdk/%%{bootstrap_sdk_version}/productCommit-linux-x64.txt
|
||||||
# 2. Find the VMR sync commit using `git log --grep $commit`
|
# 2. Find the VMR sync commit using `git log --grep $commit`
|
||||||
# 3. Build the VMR commit in cross-build mode for the architecture
|
# 3. Build the VMR commit in cross-build mode for the architecture
|
||||||
# 4. Use `build-prebuilt-archive` to create the archive from the VMR
|
# 4. Use `build-prebuilt-archive` to create the archive from the VMR
|
||||||
# 5. Update the version below to match the SDK that was built from the VMR
|
# 5. Update the version below to match the SDK that was built from the VMR
|
||||||
# The ppc64le/s390x SDK version is one produced
|
# The ppc64le/s390x SDK version is one produced
|
||||||
%global bootstrap_sdk_version_ppc64le_s390x 9.0.100-rc.1.24452.1
|
%global bootstrap_sdk_version_ppc64le_s390x 9.0.101
|
||||||
Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz
|
Source2: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-ppc64le.tar.gz
|
||||||
Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz
|
Source3: dotnet-prebuilts-%{bootstrap_sdk_version_ppc64le_s390x}-s390x.tar.gz
|
||||||
%else
|
%else
|
||||||
@ -162,6 +166,7 @@ BuildRequires: llvm-libunwind-devel
|
|||||||
BuildRequires: lttng-ust-devel
|
BuildRequires: lttng-ust-devel
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: procps-ng
|
||||||
BuildRequires: python3
|
BuildRequires: python3
|
||||||
%if ! %{use_bundled_rapidjson}
|
%if ! %{use_bundled_rapidjson}
|
||||||
BuildRequires: rapidjson-devel
|
BuildRequires: rapidjson-devel
|
||||||
@ -566,9 +571,13 @@ rm -rf src/runtime/src/native/external/zlib-intel
|
|||||||
rm -rf src/runtime/src/native/external/zlib-ng
|
rm -rf src/runtime/src/native/external/zlib-ng
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
lscpu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
cat /proc/cpuinfo
|
||||||
|
cat /proc/meminfo
|
||||||
cat /etc/os-release
|
cat /etc/os-release
|
||||||
|
|
||||||
%if %{without bootstrap}
|
%if %{without bootstrap}
|
||||||
@ -609,6 +618,14 @@ CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -march=z13//')
|
|||||||
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//')
|
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/ -mtune=z14//')
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?rhel} >= 10
|
||||||
|
# Workaround for https://github.com/dotnet/runtime/issues/109611
|
||||||
|
# FIXME: Remove this, and replace with upstream fix
|
||||||
|
CFLAGS=$(echo $CFLAGS | sed -e 's/-march=x86-64-v3 //')
|
||||||
|
CXXFLAGS=$(echo $CXXFLAGS | sed -e 's/-march=x86-64-v3 //')
|
||||||
|
LDFLAGS=$(echo $LDFLAGS | sed -e 's/-march=x86-64-v3 //')
|
||||||
|
%endif
|
||||||
|
|
||||||
# Enabling fortify-source and "-Wall -Weverything" produces new warnings from libc. Turn them off.
|
# Enabling fortify-source and "-Wall -Weverything" produces new warnings from libc. Turn them off.
|
||||||
CFLAGS="$CFLAGS -Wno-used-but-marked-unused"
|
CFLAGS="$CFLAGS -Wno-used-but-marked-unused"
|
||||||
CXXFLAGS="$CXXFLAGS -Wno-used-but-marked-unused"
|
CXXFLAGS="$CXXFLAGS -Wno-used-but-marked-unused"
|
||||||
@ -642,28 +659,128 @@ system_libs=
|
|||||||
system_libs=$system_libs+zlib+
|
system_libs=$system_libs+zlib+
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
VERBOSE=1 timeout 5h \
|
%ifarch ppc64le s390x
|
||||||
./build.sh \
|
max_attempts=3
|
||||||
--source-only \
|
%else
|
||||||
--release-manifest %{SOURCE5} \
|
max_attempts=1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
function retry_until_success {
|
||||||
|
local exit_code=1
|
||||||
|
local tries=$1
|
||||||
|
shift
|
||||||
|
set +e
|
||||||
|
while [[ $exit_code != 0 ]] && [[ $tries != 0 ]]; do
|
||||||
|
(( tries = tries - 1 ))
|
||||||
|
# Clean stale build state so retries start fresh.
|
||||||
|
rm -rf .packages $(find . -name artifacts -type d)
|
||||||
|
"$@"
|
||||||
|
exit_code=$?
|
||||||
|
done
|
||||||
|
set -e
|
||||||
|
return $exit_code
|
||||||
|
}
|
||||||
|
|
||||||
|
# Runs a command and kills it if it produces no output.
|
||||||
|
# Use a longer timeout on machines with fewer cores since builds are slower.
|
||||||
|
function output_timeout {
|
||||||
|
# 30m on machines with more than 4 cores, 60m on smaller machines where builds are slower.
|
||||||
|
# The aarch64 Neoverse N1 CI machines have 4 cores and need the longer timeout.
|
||||||
|
local nprocs=$(nproc)
|
||||||
|
local idle_timeout=1800
|
||||||
|
if (( nprocs <= 4 )); then
|
||||||
|
idle_timeout=3600
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create a pipe we'll read the output from for timeout detection.
|
||||||
|
local fifo=$(mktemp -u)
|
||||||
|
mkfifo "$fifo"
|
||||||
|
|
||||||
|
# Create a process group so we can kill every process including children.
|
||||||
|
# And use a long timeout (5h) in (the unlikely) case output timeout detection continues to be triggered.
|
||||||
|
setsid timeout --foreground 5h "$@" &> "$fifo" &
|
||||||
|
local cmd_pid=$!
|
||||||
|
|
||||||
|
# Read lines from the output with a timeout.
|
||||||
|
# Disable tracing to avoid 'set -x' noise from the read loop appearing in the output.
|
||||||
|
local timed_out=false
|
||||||
|
local traceflags=$-
|
||||||
|
set +x
|
||||||
|
while true; do
|
||||||
|
local rc=0
|
||||||
|
IFS= read -t $idle_timeout -r line || rc=$?
|
||||||
|
if (( rc == 0 )); then
|
||||||
|
printf '%s\n' "$line"
|
||||||
|
elif (( rc > 128 )); then
|
||||||
|
echo "output_timeout: no output for ${idle_timeout}s" >&2
|
||||||
|
timed_out=true
|
||||||
|
break
|
||||||
|
else
|
||||||
|
[[ -z $line ]] || printf '%s\n' "$line"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done < "$fifo"
|
||||||
|
[[ $traceflags != *x* ]] || set -x
|
||||||
|
|
||||||
|
if $timed_out; then
|
||||||
|
# Hang detected: kill the process group, then collect the exit code.
|
||||||
|
kill -9 -- -$cmd_pid 2>/dev/null || true
|
||||||
|
wait $cmd_pid 2>/dev/null
|
||||||
|
local exit_code=$?
|
||||||
|
else
|
||||||
|
# Normal exit: collect the real exit code, then clean up any orphaned processes.
|
||||||
|
wait $cmd_pid 2>/dev/null
|
||||||
|
local exit_code=$?
|
||||||
|
kill -9 -- -$cmd_pid 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cleanup.
|
||||||
|
rm -f "$fifo"
|
||||||
|
|
||||||
|
return $exit_code
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
cat >dotnet-rpm-build.sh <<EOF
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
set -x
|
||||||
|
|
||||||
|
find -depth -name 'artifacts' -type d -print -exec rm -rf {} \;
|
||||||
|
|
||||||
|
./build.sh \
|
||||||
|
--source-only \
|
||||||
|
--release-manifest %{SOURCE5} \
|
||||||
%if %{without bootstrap}
|
%if %{without bootstrap}
|
||||||
--with-sdk previously-built-dotnet \
|
--with-sdk previously-built-dotnet \
|
||||||
%endif
|
%endif
|
||||||
%ifarch %{mono_archs}
|
%ifarch %{mono_archs}
|
||||||
--use-mono-runtime \
|
--use-mono-runtime \
|
||||||
%endif
|
%endif
|
||||||
-- \
|
-- \
|
||||||
/p:UseSystemLibs=${system_libs} \
|
/p:UseSystemLibs=${system_libs} \
|
||||||
/p:TargetRid=%{runtime_id} \
|
/p:TargetRid=%{runtime_id} \
|
||||||
/p:OfficialBuilder="$vendor" \
|
/p:OfficialBuilder="$vendor" \
|
||||||
/p:MinimalConsoleLogOutput=false \
|
/p:ContinueOnPrebuiltBaselineError=true \
|
||||||
/p:ContinueOnPrebuiltBaselineError=true \
|
#/p:MinimalConsoleLogOutput=false \
|
||||||
/v:n \
|
#/v:n \
|
||||||
/p:LogVerbosity=n
|
#/p:LogVerbosity=n
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x dotnet-rpm-build.sh
|
||||||
|
|
||||||
|
VERBOSE=1 retry_until_success $max_attempts \
|
||||||
|
output_timeout \
|
||||||
|
./dotnet-rpm-build.sh || { cat /proc/cpuinfo; cat /proc/meminfo; env; exit 1; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh
|
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh
|
||||||
|
|
||||||
|
env
|
||||||
|
ps aux
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -706,6 +823,7 @@ find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.targets' -exec chmod -x {}
|
|||||||
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.txt' -exec chmod -x {} \;
|
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.txt' -exec chmod -x {} \;
|
||||||
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.xml' -exec chmod -x {} \;
|
find %{buildroot}%{_libdir}/dotnet/ -type f -name '*.xml' -exec chmod -x {} \;
|
||||||
|
|
||||||
|
%if %{is_latest_dotnet}
|
||||||
install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
|
install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/
|
||||||
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
|
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
|
||||||
|
|
||||||
@ -729,6 +847,7 @@ echo "%{_libdir}/dotnet" >> install_location
|
|||||||
install install_location %{buildroot}%{_sysconfdir}/dotnet/
|
install install_location %{buildroot}%{_sysconfdir}/dotnet/
|
||||||
echo "%{_libdir}/dotnet" >> install_location_%{runtime_arch}
|
echo "%{_libdir}/dotnet" >> install_location_%{runtime_arch}
|
||||||
install install_location_%{runtime_arch} %{buildroot}%{_sysconfdir}/dotnet/
|
install install_location_%{runtime_arch} %{buildroot}%{_sysconfdir}/dotnet/
|
||||||
|
%endif
|
||||||
|
|
||||||
install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
|
install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
|
||||||
install -m 0644 artifacts/assets/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
|
install -m 0644 artifacts/assets/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
|
||||||
@ -752,6 +871,18 @@ find %{buildroot}%{_libdir}/dotnet/sdk -type d | tail -n +2 | sed -E 's|%{buildr
|
|||||||
find %{buildroot}%{_libdir}/dotnet/sdk -type f -and -not -name '*.pdb' | sed -E 's|%{buildroot}||' >> dotnet-sdk-non-dbg-files
|
find %{buildroot}%{_libdir}/dotnet/sdk -type f -and -not -name '*.pdb' | sed -E 's|%{buildroot}||' >> dotnet-sdk-non-dbg-files
|
||||||
find %{buildroot}%{_libdir}/dotnet/sdk -type f -name '*.pdb' | sed -E 's|%{buildroot}||' > dotnet-sdk-dbg-files
|
find %{buildroot}%{_libdir}/dotnet/sdk -type f -name '*.pdb' | sed -E 's|%{buildroot}||' > dotnet-sdk-dbg-files
|
||||||
|
|
||||||
|
%if %{is_latest_dotnet} == 0
|
||||||
|
# If this is an older version, self-test now, before we delete files. After we
|
||||||
|
# delete files, we will not have everything we need to self-test in %%check.
|
||||||
|
%{buildroot}%{_libdir}/dotnet/dotnet --info
|
||||||
|
%{buildroot}%{_libdir}/dotnet/dotnet --version
|
||||||
|
|
||||||
|
# Provided by dotnet-host from another SRPM
|
||||||
|
rm %{buildroot}%{_libdir}/dotnet/LICENSE.txt
|
||||||
|
rm %{buildroot}%{_libdir}/dotnet/ThirdPartyNotices.txt
|
||||||
|
rm %{buildroot}%{_libdir}/dotnet/dotnet
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
@ -760,8 +891,10 @@ find %{buildroot}%{_libdir}/dotnet/sdk -type f -name '*.pdb' | sed -E 's|%{buil
|
|||||||
export COMPlus_LTTng=0
|
export COMPlus_LTTng=0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{is_latest_dotnet}
|
||||||
%{buildroot}%{_libdir}/dotnet/dotnet --info
|
%{buildroot}%{_libdir}/dotnet/dotnet --info
|
||||||
%{buildroot}%{_libdir}/dotnet/dotnet --version
|
%{buildroot}%{_libdir}/dotnet/dotnet --version
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -770,6 +903,7 @@ export COMPlus_LTTng=0
|
|||||||
# empty package useful for dependencies
|
# empty package useful for dependencies
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{is_latest_dotnet}
|
||||||
%files -n dotnet-host
|
%files -n dotnet-host
|
||||||
%dir %{_libdir}/dotnet
|
%dir %{_libdir}/dotnet
|
||||||
%{_libdir}/dotnet/dotnet
|
%{_libdir}/dotnet/dotnet
|
||||||
@ -788,6 +922,7 @@ export COMPlus_LTTng=0
|
|||||||
%dir %{_datadir}/zsh
|
%dir %{_datadir}/zsh
|
||||||
%dir %{zsh_completions_dir}
|
%dir %{zsh_completions_dir}
|
||||||
%{_datadir}/zsh/site-functions/_dotnet
|
%{_datadir}/zsh/site-functions/_dotnet
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n dotnet-hostfxr-%{dotnetver}
|
%files -n dotnet-hostfxr-%{dotnetver}
|
||||||
%dir %{_libdir}/dotnet/host/fxr
|
%dir %{_libdir}/dotnet/host/fxr
|
||||||
@ -842,6 +977,90 @@ export COMPlus_LTTng=0
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 23 2026 Satish Mane <satmane@redhat.com> - 9.0.119-2
|
||||||
|
- Update to .NET SDK 9.0.119 and Runtime 9.0.18
|
||||||
|
- Resolves: RHEL-192471
|
||||||
|
|
||||||
|
* Thu Jul 02 2026 Tom Deseyn <tdeseyn@redhat.com> - 9.0.118-3
|
||||||
|
- Reduce time to detect hanging builds
|
||||||
|
- Resolves: RHEL-191642
|
||||||
|
|
||||||
|
* Wed Jun 10 2026 Tom Deseyn <tdeseyn@redhat.com> - 9.0.118-2
|
||||||
|
- Update to .NET SDK 9.0.118 and Runtime 9.0.17
|
||||||
|
- Resolves: RHEL-181552
|
||||||
|
|
||||||
|
* Thu May 28 2026 Omair Majid <omajid@redhat.com> - 9.0.117-2
|
||||||
|
- Update to .NET SDK 9.0.117 and Runtime 9.0.16
|
||||||
|
- Resolves: RHEL-173917
|
||||||
|
|
||||||
|
* Fri Apr 17 2026 Omair Majid <omajid@redhat.com> - 9.0.116-2
|
||||||
|
- Update to .NET SDK 9.0.116 and Runtime 9.0.15
|
||||||
|
- Resolves: RHEL-163400
|
||||||
|
|
||||||
|
* Thu Mar 26 2026 Dominik Rehák <drehak@redhat.com> - 9.0.115-2
|
||||||
|
- Update to .NET SDK 9.0.115 and Runtime 9.0.14
|
||||||
|
- Resolves: RHEL-152947
|
||||||
|
|
||||||
|
* Wed Feb 11 2026 Omair Majid <omajid@redhat.com> - 9.0.114-2
|
||||||
|
- Update to .NET SDK 9.0.114 and Runtime 9.0.13
|
||||||
|
- Resolves: RHEL-144971
|
||||||
|
|
||||||
|
* Wed Jan 14 2026 Omair Majid <omajid@redhat.com> - 9.0.113-2
|
||||||
|
- Update to .NET SDK 9.0.113 and Runtime 9.0.12
|
||||||
|
- Resolves: RHEL-138646
|
||||||
|
|
||||||
|
* Wed Nov 12 2025 Omair Majid <omajid@redhat.com> - 9.0.112-2
|
||||||
|
- Update to .NET SDK 9.0.112 and Runtime 9.0.11
|
||||||
|
- Resolves: RHEL-125744
|
||||||
|
|
||||||
|
* Tue Oct 14 2025 Omair Majid <omajid@redhat.com> - 9.0.111-2
|
||||||
|
- Update to .NET SDK 9.0.111 and Runtime 9.0.10
|
||||||
|
- Resolves: RHEL-116861
|
||||||
|
|
||||||
|
* Wed Sep 10 2025 Omair Majid <omajid@redhat.com> - 9.0.110-2
|
||||||
|
- Update to .NET SDK 9.0.110 and Runtime 9.0.9
|
||||||
|
- Resolves: RHEL-112268
|
||||||
|
|
||||||
|
* Mon Aug 11 2025 Omair Majid <omajid@redhat.com> - 9.0.109-2
|
||||||
|
- Update to .NET SDK 9.0.109 and Runtime 9.0.8
|
||||||
|
- Resolves: RHEL-106727
|
||||||
|
|
||||||
|
* Tue Jul 08 2025 Omair Majid <omajid@redhat.com> - 9.0.108-2
|
||||||
|
- Update to .NET SDK 9.0.108 and Runtime 9.0.7
|
||||||
|
- Resolves: RHEL-100597
|
||||||
|
|
||||||
|
* Wed Jun 11 2025 Omair Majid <omajid@redhat.com> - 9.0.107-2
|
||||||
|
- Update to .NET SDK 9.0.107 and Runtime 9.0.6
|
||||||
|
- Resolves: RHEL-94423
|
||||||
|
|
||||||
|
* Tue May 13 2025 Omair Majid <omajid@redhat.com> - 9.0.106-2
|
||||||
|
- Update to .NET SDK 9.0.106 and Runtime 9.0.5
|
||||||
|
- Resolves: RHEL-89452
|
||||||
|
|
||||||
|
* Wed Apr 09 2025 Omair Majid <omajid@redhat.com> - 9.0.105-2
|
||||||
|
- Update to .NET SDK 9.0.105 and Runtime 9.0.4
|
||||||
|
- Resolves: RHEL-85281
|
||||||
|
|
||||||
|
* Tue Mar 11 2025 Omair Majid <omajid@redhat.com> - 9.0.104-2
|
||||||
|
- Update to .NET SDK 9.0.104 and Runtime 9.0.3
|
||||||
|
- Resolves: RHEL-81647
|
||||||
|
|
||||||
|
* Mon Feb 17 2025 Omair Majid <omajid@redhat.com> - 9.0.103-2
|
||||||
|
- Update to .NET SDK 9.0.103 and Runtime 9.0.2
|
||||||
|
- Resolves: RHEL-76904
|
||||||
|
|
||||||
|
* Sat Jan 25 2025 Omair Majid <omajid@redhat.com> - 9.0.102-2
|
||||||
|
- Disable bootstrap
|
||||||
|
- Related: RHEL-71549
|
||||||
|
|
||||||
|
* Fri Jan 24 2025 Omair Majid <omajid@redhat.com> - 9.0.102-1
|
||||||
|
- Rebootstrap
|
||||||
|
- Related: RHEL-71549
|
||||||
|
|
||||||
|
* Thu Jan 16 2025 Omair Majid <omajid@redhat.com> - 9.0.102-0.9
|
||||||
|
- Update to .NET SDK 9.0.102 and Runtime 9.0.1
|
||||||
|
- Resolves: RHEL-71549
|
||||||
|
|
||||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 9.0.100~rc.2.24474.1-0.8
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 9.0.100~rc.2.24474.1-0.8
|
||||||
- Bump release for October 2024 mass rebuild:
|
- Bump release for October 2024 mass rebuild:
|
||||||
Resolves: RHEL-64018
|
Resolves: RHEL-64018
|
||||||
|
|||||||
@ -20,4 +20,3 @@ product_versions:
|
|||||||
decision_context: osci_compose_gate
|
decision_context: osci_compose_gate
|
||||||
rules:
|
rules:
|
||||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.other-archs.functional}
|
|
||||||
|
|||||||
12
release.json
12
release.json
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"release": "9.0.0-rc.2",
|
"release": "9.0.18",
|
||||||
"channel": "9.0",
|
"channel": "9.0",
|
||||||
"tag": "v9.0.0-rc.2.24473.5",
|
"tag": "v9.0.119",
|
||||||
"sdkVersion": "9.0.100-rc.2.24474.11",
|
"sdkVersion": "9.0.119",
|
||||||
"runtimeVersion": "9.0.0-rc.2.24473.5",
|
"runtimeVersion": "9.0.18",
|
||||||
"aspNetCoreVersion": "9.0.0-rc.2.24474.3",
|
"aspNetCoreVersion": "9.0.18",
|
||||||
"sourceRepository": "https://github.com/dotnet/dotnet",
|
"sourceRepository": "https://github.com/dotnet/dotnet",
|
||||||
"sourceVersion": "b4c156e3f670d86ad737595a912c5c85c481b9ac"
|
"sourceVersion": "d088fc83496a99a5785ecdf74c012f61a335c338"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,9 +3,9 @@ index 044a2aba4..b3f8f2611 100644
|
|||||||
--- a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
|
--- a/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
|
||||||
+++ b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
|
+++ b/src/roslyn-analyzers/src/PerformanceTests/Tests/PerformanceTests.csproj
|
||||||
@@ -4,6 +4,7 @@
|
@@ -4,6 +4,7 @@
|
||||||
<LangVersion>preview</LangVersion>
|
|
||||||
<Nullable>disable</Nullable>
|
<Nullable>disable</Nullable>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
|
<NoWarn>$(NoWarn);NETSDK1138</NoWarn>
|
||||||
+ <UseAppHost>false</UseAppHost>
|
+ <UseAppHost>false</UseAppHost>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (dotnet-9.0.0-rc.2.24473.5.tar.gz) = 517334ed2bea3cff925ce6e8a04658d792b2f72cea1e9a405686d9d3f786d9b01ce35e8f7edd927bcdc6dbda8fae20267314da771df2d9cafbb4f867182f45ac
|
SHA512 (dotnet-9.0.119.tar.gz) = bdb5e0bd73b7edf0cc7bf72d9ef07a31691c442bf436e1e25c7d3ac5ee02768bf405a28c004df62db1bb3f0553cb47d6dbd894106667186c7187a13138e23a09
|
||||||
SHA512 (dotnet-9.0.0-rc.2.24473.5.tar.gz.sig) = f46d27b0018b028f3612ec32030839305006adb3e7d818e73bd19ade6427a2fd9bf28c78df75f8b4c1eaf9e6454189d6261a5fd28b9f56ef8a04df68c4cc3810
|
SHA512 (dotnet-9.0.119.tar.gz.sig) = c7529e07348ec4506bf930c70dede49ac16ef6cfe5d0d66a767c26275387de98c153f1adcbc8d921fccad8786cee42f8004d67dbc914a26e1dbd83df6a76f386
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
summary: Basic smoke test
|
summary: Basic smoke test
|
||||||
provision:
|
provision:
|
||||||
disk: 20
|
hardware:
|
||||||
memory: 5120
|
disk:
|
||||||
|
- size: ">= 20 GiB"
|
||||||
|
memory: ">= 5120 MiB"
|
||||||
prepare:
|
prepare:
|
||||||
how: install
|
how: install
|
||||||
package:
|
package:
|
||||||
|
|||||||
155
update-release
155
update-release
@ -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 <<EOF
|
|
||||||
[ .[] | select(.name | contains("NET 9.0 ")) ]
|
|
||||||
| first
|
|
||||||
| { tag_name: .tag_name,
|
|
||||||
tarball: .tarball_url,
|
|
||||||
signature: .assets[].browser_download_url | select(. | endswith("tar.gz.sig")),
|
|
||||||
release_manifest: .assets[] | select(.name == "release.json") | .browser_download_url }
|
|
||||||
EOF
|
|
||||||
curl https://api.github.com/repos/dotnet/dotnet/releases \
|
|
||||||
| jq --from-file 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"
|
|
||||||
Loading…
Reference in New Issue
Block a user