# -*- 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 }