# -*- 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 5.*|6.[01]) echo "http://vault.centos.org/${releasever}/os/SRPMS" echo "http://vault.centos.org/${releasever}/updates/SRPMS";; [67]*) 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 ;; "Red Hat Enterprise Linux"*) case $releasever in [56].*) echo "http://ftp.redhat.com/pub/redhat/linux/enterprise/${releasevermajor}Server/en/os/SRPMS" echo "http://ftp.redhat.com/redhat/rhel/rc/7/Server/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<=7;i++)); do echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/UEKR$i/${arch}/getPackageSource" done ;; "Scientific Linux") case $releasever in 5.*) echo "http://ftp.scientificlinux.org/linux/scientific/$releasevermajor$releaseverminor/SRPMS/vendor";; 6.*) echo "http://ftp.scientificlinux.org/linux/scientific/$releasever/SRPMS/vendor";; esac ;; *) 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 5.*) echo "http://vault.centos.org/${releasever}/os/${arch}/CentOS http://vault.centos.org/${releasever}/updates/${arch}/RPMS";; 6.[01]) echo "http://vault.centos.org/${releasever}/os/${arch}/Packages" echo "http://vault.centos.org/${releasever}/updates/${arch}/Packages";; [67]*) 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 ;; "Red Hat Enterprise Linux"*) echo "";; "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<=7;i++)); do echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/UEKR$i/${arch}/getPackageSource" done ;; "Scientific Linux") case $releasever in 5.*) echo "http://ftp.scientificlinux.org/linux/scientific/$releasevermajor$releaseverminor/SRPMS/vendor";; 6.*) echo "http://ftp.scientificlinux.org/linux/scientific/$releasever/SRPMS/vendor";; esac ;; *) echo "Unknown distribution type: $distro" >&2 return 1 ;; esac }