add amazon to detectable OSs, install epel

This commit is contained in:
Toni 2022-01-11 17:06:24 -05:00 committed by GitHub
commit d2f9c60da6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -75,6 +75,10 @@ detect_os () {
then then
distro="LEAP15" distro="LEAP15"
fi fi
if [[ $(cat /etc/os-release | grep -e "^CPE_NAME\=*" | cut -f 2 -d '=') =~ cpe:2.3:o:amazon:amazon_linux:2 ]]
then
distro="Amazon"
fi
if [[ $(cat /etc/os-release | grep -e "^ID\=*" | cut -f 2 -d '=') == "debian" ]]; then if [[ $(cat /etc/os-release | grep -e "^ID\=*" | cut -f 2 -d '=') == "debian" ]]; then
distro="Debian" distro="Debian"
fi fi
@ -103,13 +107,17 @@ detect_os_version () {
if [[ "${os}" == "SLES15" ]] || [[ "${os}" == "LEAP15" ]]; then if [[ "${os}" == "SLES15" ]] || [[ "${os}" == "LEAP15" ]]; then
cat /etc/os-release | grep -e "^VERSION_ID\=*" | cut -f 2 -d '=' | sed -e 's/[".]//g' cat /etc/os-release | grep -e "^VERSION_ID\=*" | cut -f 2 -d '=' | sed -e 's/[".]//g'
fi fi
# reuse rhel7 binaries for amazon
if [[ "${os}" == "Amazon" ]]; then
echo "7"
fi
} }
# Returns the installer type # Returns the installer type
detect_installer_type () { detect_installer_type () {
os=$1 os=$1
case $os in case $os in
"RedHat" | "CentOS" | "LEAP12" | "LEAP15" | "SLES12" | "SLES15") "RedHat" | "CentOS" | "LEAP12" | "LEAP15" | "SLES12" | "SLES15" | "Amazon")
echo "rpm" echo "rpm"
;; ;;
"Ubuntu" | "Debian") "Ubuntu" | "Debian")
@ -139,7 +147,7 @@ download_name () {
os=$1 os=$1
version=$2 version=$2
case $os in case $os in
"RedHat" | "CentOS") "RedHat" | "CentOS" | "Amazon")
echo "R-${version}-1-1.x86_64.rpm" echo "R-${version}-1-1.x86_64.rpm"
;; ;;
"Ubuntu" | "Debian") "Ubuntu" | "Debian")
@ -164,7 +172,7 @@ download_url () {
else else
case $os in case $os in
"RedHat" | "CentOS") "RedHat" | "CentOS" | "Amazon")
echo "${CDN_URL}/centos-${ver}/pkgs/${name}" echo "${CDN_URL}/centos-${ver}/pkgs/${name}"
;; ;;
"Ubuntu") "Ubuntu")
@ -276,7 +284,7 @@ install_rpm () {
yes="-y" yes="-y"
fi fi
case $os in case $os in
"RedHat" | "CentOS") "RedHat" | "CentOS" | "Amazon")
if ! has_sudo "yum"; then if ! has_sudo "yum"; then
echo "Must have sudo privileges to run yum" echo "Must have sudo privileges to run yum"
exit 1 exit 1
@ -308,6 +316,9 @@ install_pre () {
"RedHat" | "CentOS") "RedHat" | "CentOS")
install_epel "${ver}" install_epel "${ver}"
;; ;;
"Amazon")
install_epel_amzn
;;
"SLES12") "SLES12")
install_python_backports install_python_backports
;; ;;
@ -316,6 +327,15 @@ install_pre () {
esac esac
} }
# Installs EPEL for Amazon Linux 2
install_epel_amzn () {
yes=
if [[ "${RUN_UNATTENDED}" -ne "0" ]]; then
yes="-y"
fi
${SUDO} amazon-linux-extras install epel ${yes}
}
# Installs EPEL for RHEL/CentOS # Installs EPEL for RHEL/CentOS
install_epel () { install_epel () {
ver=$1 ver=$1