Просмотр исходного кода

[Core] Support Redhat9-arm64 with python 3.9 and 3.11 (#4270)

Ayush Goyal 2 месяцев назад
Родитель
Сommit
c61bf09368
2 измененных файлов с 46 добавлено и 3 удалено
  1. 3 2
      tools/cloudera/build_hue_cloudera.sh
  2. 43 1
      tools/cloudera/build_hue_common.sh

+ 3 - 2
tools/cloudera/build_hue_cloudera.sh

@@ -38,8 +38,8 @@ DOCKEROS=$2
 HUE_JAR_VERSION=$3
 
 PYTHON38_OSES=("centos7" "redhat8" "sles12" "ubuntu20" "ubuntu22")
-PYTHON39_OSES=("redhat8" "redhat8-arm64" "redhat9")
-PYTHON311_OSES=("redhat8" "redhat8-arm64" "redhat9" "sles15" "ubuntu22" "ubuntu24")
+PYTHON39_OSES=("redhat8" "redhat8-arm64" "redhat9" "redhat9-arm64")
+PYTHON311_OSES=("redhat8" "redhat8-arm64" "redhat9" "sles15" "ubuntu22" "ubuntu24" "redhat9-arm64")
 
 LATEST_PYTHON="python3.11"
 PYTHON_VERSIONS=("python3.11" "python3.9" "python3.8")
@@ -108,6 +108,7 @@ install_prerequisite() {
     ubuntu22) ubuntu22_install "$os";;
     ubuntu24) ubuntu24_install "$os";;
     redhat8-arm64) redhat8_arm64_install "$os";;
+    redhat9-arm64) redhat9_arm64_install "$os";;
     *) echo "Unsupported OS: $os"; exit 1 ;;
   esac
 

+ 43 - 1
tools/cloudera/build_hue_common.sh

@@ -50,7 +50,7 @@ function install_build_dependencies() {
             bzip2-devel ncurses-devel gdbm-devel readline-devel krb5-devel \
             xz-devel libuuid-devel openldap-devel libffi-devel zlib-devel openssl-devel wget curl'
           ;;
-      redhat8-arm64)
+      redhat8-arm64|redhat9-arm64)
           sudo -- sh -c 'yum groupinstall -y "Development Tools" --nobest && \
             yum install -y \
             bzip2-devel ncurses-devel gdbm-devel readline-devel krb5-devel \
@@ -448,6 +448,48 @@ function redhat9_install() {
   fi
 }
 
+function redhat9_arm64_install() {
+  local os=${1:-"redhat9-arm64"}
+
+  if [[ $FORCEINSTALL -eq 1 ]]; then
+    # pre-req install
+    sudo -- sh -c 'yum install -y \
+      java-11-openjdk \
+      java-11-openjdk-devel \
+      java-11-openjdk-headless \
+      krb5-workstation \
+      ncurses-devel \
+      nmap-ncat \
+      xmlsec1 \
+      xmlsec1-openssl \
+      libss \
+      ncurses-c++-libs \
+      postgresql-devel'
+    # Ensure pg_config is available
+    export PG_CONFIG=$(which pg_config)
+    if [ -z "$PG_CONFIG" ]; then
+      echo "Error: pg_config not found. Ensure PostgreSQL development libraries are installed."
+      exit 1
+    fi
+    echo "PG_CONFIG is set to $PG_CONFIG"
+    # MySQLdb install
+    sudo -- sh -c 'yum install -y python3-mysqlclient mariadb-devel'
+    # NODEJS 20 install
+    sudo -- sh -c 'cd /tmp && curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - && \
+      yum install -y nodejs'
+
+    unset PYTHON311_PATH
+    if [[ -z ${PYTHON311_PATH+x} ]]; then
+      install_sqlite_python "$os" "$REQ_PYTHON311"
+    fi
+
+    unset PYTHON39_PATH
+    if [[ -z ${PYTHON39_PATH+x} ]]; then
+      install_sqlite_python "$os" "$REQ_PYTHON39"
+    fi
+  fi
+}
+
 function sles12_install() {
   local os=${1:-"sles12"}