diff --git a/scripts/install-deps.sh b/scripts/install-deps.sh index 51e938733..0069e7087 100644 --- a/scripts/install-deps.sh +++ b/scripts/install-deps.sh @@ -19,9 +19,9 @@ CHECK_CMD_PKGS=( wget ) -# Check zypper before apt-get in case zypper-aptitude -# is installed -if [ -x '/usr/bin/zypper' ]; then +source /etc/os-release || source /usr/lib/os-release +case ${ID,,} in + *suse) OS_FAMILY="Suse" INSTALLER_CMD="sudo -H -E zypper install -y --no-recommends" CHECK_CMD="zypper search --match-exact --installed" @@ -43,7 +43,9 @@ if [ -x '/usr/bin/zypper' ]; then if $(${CHECK_CMD} patterns-openSUSE-minimal_base-conflicts &> /dev/null); then sudo -H zypper remove -y patterns-openSUSE-minimal_base-conflicts fi -elif [ -x '/usr/bin/apt-get' ]; then + ;; + + ubuntu|debian) OS_FAMILY="Debian" INSTALLER_CMD="sudo -H -E apt-get -y install" CHECK_CMD="dpkg -l" @@ -60,7 +62,9 @@ elif [ -x '/usr/bin/apt-get' ]; then [wget]=wget ) EXTRA_PKG_DEPS=() -elif [ -x '/usr/bin/dnf' ] || [ -x '/usr/bin/yum' ]; then + ;; + + rhel|fedora|centos) OS_FAMILY="RedHat" PKG_MANAGER=$(which dnf || which yum) INSTALLER_CMD="sudo -H -E ${PKG_MANAGER} -y install" @@ -78,9 +82,10 @@ elif [ -x '/usr/bin/dnf' ] || [ -x '/usr/bin/yum' ]; then [wget]=wget ) EXTRA_PKG_DEPS=() -else - echo "ERROR: Supported package manager not found. Supported: apt, dnf, yum, zypper" -fi + ;; + + *) echo "ERROR: Supported package manager not found. Supported: apt, dnf, yum, zypper"; exit 1;; +esac # if running in OpenStack CI, then make sure epel is enabled # since it may already be present (but disabled) on the host