build_hue_cloudera.sh 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #!/usr/bin/env bash
  2. set -ex
  3. # Time marker for both stderr and stdout
  4. date; date 1>&2
  5. FORCEINSTALL=1
  6. function find_os() {
  7. unameOut="$(uname -s)"
  8. case "${unameOut}" in
  9. Linux*) machine=Linux;;
  10. Darwin*) machine=Mac;;
  11. CYGWIN*) machine=Cygwin;;
  12. MINGW*) machine=MinGw;;
  13. *) machine="UNKNOWN:${unameOut}"
  14. esac
  15. echo ${machine}
  16. }
  17. function find_home() {
  18. runningos=$(find_os)
  19. WORK_DIR=""
  20. if [[ ${runningos} == "Linux" ]]; then
  21. WORK_DIR=$(dirname "$(readlink -f "$0" || echo "$argv0")")
  22. elif [[ ${runningos} == "Mac" ]]; then
  23. WORK_DIR="$( cd "$( dirname "$argv0" )" && pwd )"
  24. else
  25. echo "Not Supported " $runningos
  26. exit 1
  27. fi
  28. echo ${WORK_DIR}
  29. }
  30. function install_prerequisite() {
  31. if [[ $1 == "redhat8_ppc" ]]; then
  32. export FORCEINSTALL=0
  33. export SQLITE3_PATH="$TOOLS_HOME/sqlite/bin/sqlite3"
  34. redhat8_ppc_install
  35. elif [[ $1 == "redhat7_ppc" ]]; then
  36. export FORCEINSTALL=0
  37. export SQLITE3_PATH="$TOOLS_HOME/sqlite/bin/sqlite3"
  38. redhat7_ppc_install
  39. source /opt/rh/rh-nodejs14/enable
  40. fi
  41. export SQLITE3_PATH=${SQLITE3_PATH:-"$TOOLS_HOME/sqlite/sqlite3"}
  42. if [[ $1 != "redhat9" ]]; then
  43. check_python38_path
  44. else
  45. check_python39_path
  46. fi
  47. check_sqlite3
  48. if [[ $1 == "centos7" ]]; then
  49. export PYTHON38_PATH=/opt/cloudera/cm-agent
  50. export pip38_bin="$PYTHON38_PATH/bin/pip3.8"
  51. centos7_install
  52. source /opt/rh/rh-nodejs14/enable
  53. elif [[ $1 == "redhat8" ]]; then
  54. redhat8_install
  55. elif [[ $1 == "sles12" ]]; then
  56. sles12_install
  57. export PATH=/usr/lib/mit/bin:$PATH
  58. elif [[ $1 == "ubuntu18" ]]; then
  59. ubuntu18_install
  60. elif [[ $1 == "ubuntu20" ]]; then
  61. ubuntu20_install
  62. elif [[ $1 == "redhat9" ]]; then
  63. redhat9_install
  64. fi
  65. }
  66. WORK_DIR=$(find_home)
  67. . ${WORK_DIR}/build_hue_common.sh
  68. BUILDTYPE=$1
  69. DOCKEROS=$2
  70. HUE_JAR_VERSION=$3
  71. big_console_header "Hue PreRequisite Start" "$@"
  72. install_prerequisite $DOCKEROS
  73. big_console_header "Hue PreRequisite End" "$@"
  74. export DESKTOP_VERSION=$2
  75. export HUE_WEBPACK_CONFIG='webpack.config.internal.js'
  76. export PYTHON_H=$PYTHON38_PATH/include/python3.8/Python.h
  77. export PYTHON_VER=python3.8
  78. export SYS_PYTHON=$PYTHON38_PATH/bin/python3.8
  79. export SQLITE3_PATH=${SQLITE3_PATH:="${TOOLS_HOME}/sqlite/sqlite3"}
  80. export ORACLE_INSTANTCLIENT19_PATH="/opt/toolchain/instantclient_19_15"
  81. export LD_LIBRARY_PATH=/usr/local/lib:$ORACLE_INSTANTCLIENT19_PATH:$LD_LIBRARY_PATH
  82. export LD_RUN_PATH=/usr/local/lib:$ORACLE_INSTANTCLIENT19_PATH:$LD_RUN_PATH
  83. export PATH=$HOME/.local/bin:$PYTHON38_PATH/bin:${TOOLS_HOME}/sqlite:/usr/bin:$PATH
  84. if [[ $DOCKEROS == "redhat9" ]]; then
  85. export PYTHON_H=$PYTHON39_PATH/include/python3.9/Python.h
  86. export PYTHON_VER=python3.9
  87. export SYS_PYTHON=$PYTHON39_PATH/bin/python3.9
  88. export PATH=$PYTHON39_PATH/bin:$PATH
  89. fi
  90. HUE_SRC=$(realpath $WORK_DIR/../..)
  91. export ROOT=$HUE_SRC
  92. cd $HUE_SRC
  93. big_console_header "Hue Build Start" "$@"
  94. make apps docs
  95. bash -x ./tools/relocatable.sh
  96. make prod
  97. big_console_header "Hue Build End" "$@"