Jelajahi Sumber

Merge pull request #420 from M1Screw/master

Fix dep installation issue on RHEL and Oracle Linux
yeho 3 tahun lalu
induk
melakukan
ca74ca96d6
2 mengubah file dengan 12 tambahan dan 4 penghapusan
  1. 1 1
      include/check_os.sh
  2. 11 3
      include/check_sw.sh

+ 1 - 1
include/check_os.sh

@@ -37,7 +37,7 @@ command -v lsb_release >/dev/null 2>&1 || { echo "${CFAILURE}${PM} source failed
 
 # Get OS Version
 OS=$(lsb_release -is)
-if [[ "${OS}" =~ ^CentOS$|^CentOSStream$|^RedHat$|^Rocky$|^AlmaLinux$|^Fedora$|^Amazon$|^AlibabaCloud$|^AlibabaCloud\(AliyunLinux\)$|^AnolisOS$|^EulerOS$|^openEuler$ ]]; then
+if [[ "${OS}" =~ ^CentOS$|^CentOSStream$|^RedHat$|^Rocky$|^AlmaLinux$|^Fedora$|^Amazon$|^AlibabaCloud$|^AlibabaCloud\(AliyunLinux\)$|^AnolisOS$|^EulerOS$|^openEuler$|^Oracle$ ]]; then
   LikeOS=RHEL
   RHEL_ver=$(lsb_release -rs | awk -F. '{print $1}' | awk '{print $1}')
   [[ "${OS}" =~ ^Fedora$ ]] && [ ${RHEL_ver} -ge 19 >/dev/null 2>&1 ] && { RHEL_ver=7; Fedora_ver=$(lsb_release -rs); }

+ 11 - 3
include/check_sw.sh

@@ -58,9 +58,16 @@ installDepsRHEL() {
   [ -e '/etc/yum.conf' ] && sed -i 's@^exclude@#exclude@' /etc/yum.conf
   # Uninstall the conflicting packages
   echo "${CMSG}Removing the conflicting packages...${CEND}"
-  [ -z "`grep -w epel /etc/yum.repos.d/*.repo`" ] && yum -y install epel-release
   if [ "${RHEL_ver}" == '8' ]; then
-    if grep -qw "^\[PowerTools\]" /etc/yum.repos.d/*.repo; then
+    ARCH=$( /bin/arch )
+    dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+    if [[ "$(lsb_release -is)" =~ "RedHat" ]]; then
+      subscription-manager repos --enable codeready-builder-for-rhel-8-${ARCH}-rpms
+      dnf -y install chrony oniguruma-devel rpcgen
+    elif [[ "$(lsb_release -is)" =~ "Oracle" ]]; then
+      dnf config-manager --set-enabled ol8_codeready_builder
+      dnf -y install chrony oniguruma-devel rpcgen
+    elif grep -qw "^\[PowerTools\]" /etc/yum.repos.d/*.repo; then
       dnf -y --enablerepo=PowerTools install chrony oniguruma-devel rpcgen
     else
       dnf -y --enablerepo=powertools install chrony oniguruma-devel rpcgen
@@ -68,6 +75,7 @@ installDepsRHEL() {
     systemctl enable chronyd
     systemctl stop firewalld && systemctl mask firewalld.service
   elif [ "${RHEL_ver}" == '7' ]; then
+    yum -y install epel-release
     yum -y groupremove "Basic Web Server" "MySQL Database server" "MySQL Database client"
     systemctl stop firewalld && systemctl mask firewalld.service
   elif [ "${RHEL_ver}" == '6' ]; then
@@ -82,7 +90,7 @@ installDepsRHEL() {
 
   echo "${CMSG}Installing dependencies packages...${CEND}"
   # Install needed packages
-  pkgList="deltarpm gcc gcc-c++ make cmake autoconf libjpeg libjpeg-devel libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel libzip libzip-devel glibc glibc-devel krb5-devel libc-client libc-client-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libaio numactl numactl-libs readline-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel net-tools libxslt-devel libicu-devel libevent-devel libtool libtool-ltdl bison gd-devel vim-enhanced pcre-devel libmcrypt libmcrypt-devel mhash mhash-devel mcrypt zip unzip ntpdate sqlite-devel sysstat patch bc expect expat-devel oniguruma oniguruma-devel libtirpc-devel nss libnsl rsync rsyslog git lsof lrzsz psmisc wget which libatomic tmux"
+  pkgList="deltarpm drpm gcc gcc-c++ make cmake autoconf libjpeg libjpeg-devel libjpeg-turbo libjpeg-turbo-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel libzip libzip-devel glibc glibc-devel krb5-devel libc-client libc-client-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libaio numactl numactl-libs readline-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel net-tools libxslt-devel libicu-devel libevent-devel libtool libtool-ltdl bison gd-devel vim-enhanced pcre-devel libmcrypt libmcrypt-devel mhash mhash-devel mcrypt zip unzip ntpdate sqlite-devel sysstat patch bc expect expat-devel oniguruma oniguruma-devel libtirpc-devel nss libnsl rsync rsyslog git lsof lrzsz psmisc wget which libatomic tmux"
   for Package in ${pkgList}; do
     yum -y install ${Package}
   done