Files
scst/scripts/kernel/rhel-rpm-functions
Gleb Chesnokov 43e717c7f1 scripts: Group kernel maintenance helpers under kernel/
Move patch generation, specialization, regression, kernel selection and
module signing helpers together, with their shared shell libraries. Update
component Makefiles, CI, nightly jobs, packaging metadata, documentation
and KUnit tooling references alongside the move.

Adjust repository-root and source-inventory lookups for the deeper path.
Resolve rhel-rpm-functions relative to kernel-functions through
BASH_SOURCE, since it is also sourced by the QLogic extraction helpers.

Keep the regression runner behavior and the nightly kernel matrix intact,
including the existing checkpatch, sparse and smatch switches and policy.
2026-10-19 10:31:32 +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
}