Files
scst/scripts/rhel-rpm-functions
T
Gleb Chesnokov 2b1dc822e8 scripts: Remove pre-3.10 kernel support
Reject unsupported kernel versions before download or patch generation.
Remove 2.x paths, RHEL 5/6 and Scientific Linux repositories, and
compatibility branches that cannot run with the Linux 3.10 minimum.

Keep the maintained ABT_KERNELS matrix unchanged.
2026-08-21 19:58:59 +03:00

110 lines
3.7 KiB
Bash

# -*- mode: shell-script -*-
# Shell functions for downloading and extracting a RHEL or RHEL clone RPM
# Arguments:
# $1: Linux distribution name
# $2: Linux distribution version (major.minor)
# $3: architecture
function get_srpm_urls() {
local arch distro releasever releasevermajor releaseverminor
distro="$1"
releasever="$2"
arch="$3"
set -- ${2//./ }
releasevermajor="$1"
releaseverminor="$2"
case "$distro" in
"CentOS"*)
case $releasever in
7*)
echo "http://vault.centos.org/${releasever}/os/Source/SPackages"
echo "http://vault.centos.org/${releasever}/updates/Source/SPackages";;
8*)
echo "http://vault.centos.org/${releasever}/BaseOS/Source/SPackages/";;
esac
;;
"AlmaLinux")
case $releasever in
[89]*|10*)
echo "https://repo.almalinux.org/vault/${releasever}/BaseOS/Source/Packages/";;
esac
;;
"RockyLinux"|"Rocky")
case $releasever in
[89]*|10*)
echo "https://dl.rockylinux.org/pub/rocky/${releasever}/BaseOS/source/tree/Packages/k/"
echo "https://dl.rockylinux.org/pub/rocky/${releasever}/BaseOS/source/tree/Packages/"
echo "https://dl.rockylinux.org/vault/rocky/${releasever}/BaseOS/source/tree/Packages/k/"
echo "https://dl.rockylinux.org/vault/rocky/${releasever}/BaseOS/source/tree/Packages/";;
esac
;;
"Oracle Linux Server"|"UEK")
echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/${releaseverminor}/base/${arch}/getPackageSource"
echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/latest/${arch}/getPackageSource"
for ((i=4;i<=8;i++)); do
echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/UEKR$i/${arch}/getPackageSource"
done
;;
*)
echo "Unknown type of distribution: $distro" >&2
return 1
;;
esac
}
# Arguments:
# $1: Linux distribution name
# $2: Linux distribution version (major.minor)
# $3: architecture
function get_rpm_urls() {
local arch distro releasever releasevermajor releaseverminor
distro="$1"
releasever="$2"
arch="$3"
set -- ${2//./ }
releasevermajor="$1"
releaseverminor="$2"
case "$distro" in
"CentOS"*)
case $releasever in
7*)
echo "https://mirrors.edge.kernel.org/centos/${releasever}/updates/${arch}/Packages"
echo "http://vault.centos.org/${releasever}/updates/${arch}/Packages"
echo "http://vault.centos.org/${releasever}/os/${arch}/Packages http://vault.centos.org/${releasever}/updates/${arch}/Packages";;
8*)
echo "https://mirrors.edge.kernel.org/centos/8-stream/BaseOS/${arch}/os/Packages";;
esac
;;
"AlmaLinux")
case $releasever in
[89]*|10*)
echo "https://mirror.yandex.ru/almalinux/${releasever}/BaseOS/${arch}/os/Packages/";;
esac
;;
"RockyLinux"|"Rocky")
case $releasever in
[89]*|10*)
echo "https://dl.rockylinux.org/pub/rocky/${releasever}/BaseOS/${arch}/os/Packages/k/"
echo "https://dl.rockylinux.org/pub/rocky/${releasever}/BaseOS/${arch}/os/Packages/"
echo "https://dl.rockylinux.org/vault/rocky/${releasever}/BaseOS/${arch}/os/Packages/k/"
echo "https://dl.rockylinux.org/vault/rocky/${releasever}/BaseOS/${arch}/os/Packages/";;
esac
;;
"Oracle Linux Server"|"UEK")
echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/${releaseverminor}/base/${arch}/getPackageSource"
echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/latest/${arch}/getPackageSource"
for ((i=4;i<=8;i++)); do
echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/UEKR$i/${arch}/getPackageSource"
done
;;
*)
echo "Unknown distribution type: $distro" >&2
return 1
;;
esac
}