This is an automated email from the ASF dual-hosted git repository.

philo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new d60d4458b [VL] Move setup-centos7.sh & setup-centos8.sh into Gluten 
and clean up some script code (#6559)
d60d4458b is described below

commit d60d4458b9d38d0eff565266cb1c2bd02510d4a9
Author: PHILO-HE <[email protected]>
AuthorDate: Thu Jul 25 11:08:21 2024 +0800

    [VL] Move setup-centos7.sh & setup-centos8.sh into Gluten and clean up some 
script code (#6559)
---
 dev/build_helper_functions.sh       |  42 +++++-
 dev/builddeps-veloxbe.sh            |  28 +++-
 ep/build-velox/src/get_velox.sh     | 191 ++++--------------------
 ep/build-velox/src/setup-centos7.sh | 283 ++++++++++++++++++++++++++++++++++++
 ep/build-velox/src/setup-centos8.sh | 250 +++++++++++++++++++++++++++++++
 5 files changed, 623 insertions(+), 171 deletions(-)

diff --git a/dev/build_helper_functions.sh b/dev/build_helper_functions.sh
index 92ae5c29a..b69a36c29 100644
--- a/dev/build_helper_functions.sh
+++ b/dev/build_helper_functions.sh
@@ -81,6 +81,28 @@ function get_cxx_flags {
 
 }
 
+function github_checkout {
+  local REPO=$1
+  shift
+  local VERSION=$1
+  shift
+  local GIT_CLONE_PARAMS=$@
+  local DIRNAME=$(basename $REPO)
+  SUDO="${SUDO:-""}"
+  cd "${DEPENDENCY_DIR}"
+  if [ -z "${DIRNAME}" ]; then
+    echo "Failed to get repo name from ${REPO}"
+    exit 1
+  fi
+  if [ -d "${DIRNAME}" ] && prompt "${DIRNAME} already exists. Delete?"; then
+    ${SUDO} rm -rf "${DIRNAME}"
+  fi
+  if [ ! -d "${DIRNAME}" ]; then
+    git clone -q -b $VERSION $GIT_CLONE_PARAMS "https://github.com/${REPO}.git";
+  fi
+  cd "${DIRNAME}"
+}
+
 function wget_and_untar {
   local URL=$1
   local DIR=$2
@@ -130,15 +152,17 @@ function setup_macos {
 function setup_linux {
   local LINUX_DISTRIBUTION=$(. /etc/os-release && echo ${ID})
   local LINUX_VERSION_ID=$(. /etc/os-release && echo ${VERSION_ID})
+  CURRENT_DIR=$(cd "$(dirname "$BASH_SOURCE")"; pwd)
+  GLUTEN_VELOX_SCRIPT_HOME=$CURRENT_DIR/../ep/build-velox/src
 
   if [[ "$LINUX_DISTRIBUTION" == "ubuntu" || "$LINUX_DISTRIBUTION" == "debian" 
|| "$LINUX_DISTRIBUTION" == "pop" ]]; then
     scripts/setup-ubuntu.sh
   elif [[ "$LINUX_DISTRIBUTION" == "centos" ]]; then
     case "$LINUX_VERSION_ID" in
     9) scripts/setup-centos9.sh ;;
-    8) scripts/setup-centos8.sh ;;
+    8) $GLUTEN_VELOX_SCRIPT_HOME/setup-centos8.sh ;;
     7)
-      scripts/setup-centos7.sh
+      $GLUTEN_VELOX_SCRIPT_HOME/setup-centos7.sh
       set +u
       export 
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH
       source /opt/rh/devtoolset-9/enable
@@ -152,13 +176,13 @@ function setup_linux {
   elif [[ "$LINUX_DISTRIBUTION" == "alinux" ]]; then
     case "${LINUX_VERSION_ID:0:1}" in
     2)
-      scripts/setup-centos7.sh
+      $GLUTEN_VELOX_SCRIPT_HOME/setup-centos7.sh
       set +u
       export 
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH
       source /opt/rh/devtoolset-9/enable
       set -u
       ;;
-    3) scripts/setup-centos8.sh ;;
+    3) $GLUTEN_VELOX_SCRIPT_HOME/setup-centos8.sh ;;
     *)
       echo "Unsupported alinux version: $LINUX_VERSION_ID"
       exit 1
@@ -167,13 +191,13 @@ function setup_linux {
   elif [[ "$LINUX_DISTRIBUTION" == "tencentos" ]]; then
     case "$LINUX_VERSION_ID" in
     2.4)
-        scripts/setup-centos7.sh
+        $GLUTEN_VELOX_SCRIPT_HOME/setup-centos7.sh
         set +u
         export 
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH
         source /opt/rh/devtoolset-9/enable
         set -u
         ;;
-    3.2) scripts/setup-centos8.sh ;;
+    3.2) $GLUTEN_VELOX_SCRIPT_HOME/setup-centos8.sh ;;
     *)
       echo "Unsupported tencentos version: $LINUX_VERSION_ID"
       exit 1
@@ -184,3 +208,9 @@ function setup_linux {
     exit 1
   fi
 }
+
+function install_libhdfs3 {
+  github_checkout oap-project/libhdfs3 master
+  cmake_install
+}
+
diff --git a/dev/builddeps-veloxbe.sh b/dev/builddeps-veloxbe.sh
index 38f3978ef..82c9cfc8d 100755
--- a/dev/builddeps-veloxbe.sh
+++ b/dev/builddeps-veloxbe.sh
@@ -223,7 +223,7 @@ function build_velox_backend {
 
 (
   cd $GLUTEN_DIR/ep/build-velox/src
-  ./get_velox.sh --enable_hdfs=$ENABLE_HDFS --enable_s3=$ENABLE_S3 
--enable_gcs=$ENABLE_GCS --enable_abfs=$ENABLE_ABFS $VELOX_PARAMETER
+  ./get_velox.sh $VELOX_PARAMETER
 )
 
 if [ "$VELOX_HOME" == "" ]; then
@@ -232,6 +232,9 @@ fi
 
 OS=`uname -s`
 ARCH=`uname -m`
+DEPENDENCY_DIR=${DEPENDENCY_DIR:-$CURRENT_DIR/../ep/_ep}
+mkdir -p ${DEPENDENCY_DIR}
+
 source $GLUTEN_DIR/dev/build_helper_functions.sh
 if [ -z "${GLUTEN_VCPKG_ENABLED:-}" ] && [ $RUN_SETUP_SCRIPT == "ON" ]; then
   echo "Start to install dependencies"
@@ -244,6 +247,29 @@ if [ -z "${GLUTEN_VCPKG_ENABLED:-}" ] && [ 
$RUN_SETUP_SCRIPT == "ON" ]; then
     echo "Unsupported kernel: $OS"
     exit 1
   fi
+  if [ $ENABLE_S3 == "ON" ]; then
+    if [ $OS == 'Darwin' ]; then
+      echo "S3 is not supported on MacOS."
+      exit 1
+    fi
+    ${VELOX_HOME}/scripts/setup-adapters.sh aws
+  fi
+  if [ $ENABLE_HDFS == "ON" ]; then
+    if [ $OS == 'Darwin' ]; then
+      echo "HDFS is not supported on MacOS."
+      exit 1
+    fi
+    pushd $VELOX_HOME
+    install_libhdfs3
+    popd
+  fi
+  if [ $ENABLE_GCS == "ON" ]; then
+    ${VELOX_HOME}/scripts/setup-adapters.sh gcs
+  fi
+  if [ $ENABLE_ABFS == "ON" ]; then
+    export AZURE_SDK_DISABLE_AUTO_VCPKG=ON
+    ${VELOX_HOME}/scripts/setup-adapters.sh abfs
+  fi
   popd
 fi
 
diff --git a/ep/build-velox/src/get_velox.sh b/ep/build-velox/src/get_velox.sh
index 30e13926b..164bf88a4 100755
--- a/ep/build-velox/src/get_velox.sh
+++ b/ep/build-velox/src/get_velox.sh
@@ -16,20 +16,10 @@
 
 set -exu
 
-
 VELOX_REPO=https://github.com/oap-project/velox.git
 VELOX_BRANCH=2024_07_24
 VELOX_HOME=""
 
-#Set on run gluten on HDFS
-ENABLE_HDFS=OFF
-#Set on run gluten on S3
-ENABLE_S3=OFF
-#Set on run gluten on GCS
-ENABLE_GCS=OFF
-#Set on run gluten on ABFS
-ENABLE_ABFS=OFF
-
 OS=`uname -s`
 
 for arg in "$@"; do
@@ -46,22 +36,6 @@ for arg in "$@"; do
     VELOX_HOME=("${arg#*=}")
     shift # Remove argument name from processing
     ;;
-  --enable_hdfs=*)
-    ENABLE_HDFS=("${arg#*=}")
-    shift # Remove argument name from processing
-    ;;
-  --enable_s3=*)
-    ENABLE_S3=("${arg#*=}")
-    shift # Remove argument name from processing
-    ;;
-  --enable_gcs=*)
-    ENABLE_GCS=("${arg#*=}")
-    shift # Remove argument name from processing
-    ;;
-  --enable_abfs=*)
-    ENABLE_ABFS=("${arg#*=}")
-    shift # Remove argument name from processing
-    ;;
   *)
     OTHER_ARGUMENTS+=("$1")
     shift # Remove generic argument from processing
@@ -112,24 +86,9 @@ function process_setup_ubuntu {
   sed -i '/^function install_folly.*/i function install_protobuf {\n  wget 
https://github.com/protocolbuffers/protobuf/releases/download/v21.4/protobuf-all-21.4.tar.gz\n
  tar -xzf protobuf-all-21.4.tar.gz\n  cd protobuf-21.4\n  ./configure  
CXXFLAGS="-fPIC"  --prefix=/usr/local\n  make "-j$(nproc)"\n  sudo make 
install\n  sudo ldconfig\n}\n' scripts/setup-ubuntu.sh
   ensure_pattern_matched '  run_and_time install_folly' scripts/setup-ubuntu.sh
   sed -i '/^  run_and_time install_folly/a \ \ run_and_time install_protobuf' 
scripts/setup-ubuntu.sh
-  if [ $ENABLE_HDFS == "ON" ]; then
-    sed -i '/^function install_folly.*/i function install_libhdfs3 {\n  
github_checkout oap-project/libhdfs3 master \n cmake_install\n}\n' 
scripts/setup-ubuntu.sh
-    ensure_pattern_matched '  run_and_time install_protobuf' 
scripts/setup-ubuntu.sh
-    sed -i '/^  run_and_time install_protobuf/a \ \ run_and_time 
install_libhdfs3' scripts/setup-ubuntu.sh
-    ensure_pattern_matched 'ccache ' scripts/setup-ubuntu.sh
-    sed -i '/ccache /a\  yasm \\' scripts/setup-ubuntu.sh
-  fi
-  ensure_pattern_matched 'apt install -y' scripts/setup-adapters.sh
-  sed -i "s/apt install -y/sudo apt install -y/" scripts/setup-adapters.sh
-  if [ $ENABLE_S3 == "ON" ]; then
-    sed -i '/^  run_and_time install_folly/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh aws' scripts/setup-ubuntu.sh
-  fi
-  if [ $ENABLE_GCS == "ON" ]; then
-    sed -i '/^  run_and_time install_folly/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh gcs' scripts/setup-ubuntu.sh
-  fi
-  if [ $ENABLE_ABFS == "ON" ]; then
-    sed -i '/^  run_and_time install_folly/a \ \ export 
AZURE_SDK_DISABLE_AUTO_VCPKG=ON \n '${VELOX_HOME}/scripts'/setup-adapters.sh 
abfs' scripts/setup-ubuntu.sh
-  fi
+  # Required by lib hdfs.
+  ensure_pattern_matched 'ccache ' scripts/setup-ubuntu.sh
+  sed -i '/ccache /a\  yasm \\' scripts/setup-ubuntu.sh
   ensure_pattern_matched 'run_and_time install_conda' scripts/setup-ubuntu.sh
   sed -i '/run_and_time install_conda/d' scripts/setup-ubuntu.sh
   # Just depends on Gluten to install arrow libs since Gluten will apply some 
patches to Arrow source and uses different build options.
@@ -158,113 +117,28 @@ function process_setup_centos9 {
   sed -i '/^  run_and_time install_fbthrift/a \  run_and_time install_openssl' 
scripts/setup-centos9.sh
   sed -i '/cd protobuf/{n;s/\.\/configure --prefix=\/usr/\.\/configure 
CXXFLAGS="-fPIC" --prefix=\/usr\/local/;}' scripts/setup-centos9.sh
 
-  if [ $ENABLE_HDFS == "ON" ]; then
-    sed -i '/^function install_gflags.*/i function install_libhdfs3 {\n cd 
"\${DEPENDENCY_DIR}"\n github_checkout oap-project/libhdfs3 master\n 
cmake_install\n}\n' scripts/setup-centos9.sh
-    sed -i '/^  run_and_time install_fbthrift/a \  run_and_time 
install_libhdfs3' scripts/setup-centos9.sh
-    sed -i '/^  dnf_install ninja-build/a\  dnf_install yasm\' 
scripts/setup-centos9.sh
-  fi
-  sed -i "s/yum -y install/sudo yum -y install/" 
${VELOX_HOME}/scripts/setup-adapters.sh
-  if [ $ENABLE_S3 == "ON" ]; then
-    sed -i '/^  run_and_time install_fbthrift/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh aws' scripts/setup-centos9.sh
-  fi
-  if [ $ENABLE_GCS == "ON" ]; then
-    sed -i '/^  run_and_time install_fbthrift/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh gcs' scripts/setup-centos9.sh
-  fi
-  if [ $ENABLE_ABFS == "ON" ]; then
-    sed -i '/^  run_and_time install_fbthrift/a \ \ export 
AZURE_SDK_DISABLE_AUTO_VCPKG=ON \n '${VELOX_HOME}/scripts'/setup-adapters.sh 
abfs' scripts/setup-centos9.sh
-  fi
-}
-
-
-function process_setup_centos8 {
-  # Allows other version of git already installed.
-  if [ -z "$(which git)" ]; then
-    dnf install -y -q --setopt=install_weak_deps=False git
-  fi
-  # make this function Reentrant
-  git checkout scripts/setup-centos8.sh
-  # need set BUILD_SHARED_LIBS flag for thrift
-  sed -i "/cd fbthrift/{n;s/cmake_install -Denable_tests=OFF/cmake_install 
-Denable_tests=OFF -DBUILD_SHARED_LIBS=OFF/;}" scripts/setup-centos8.sh
-  # No need to re-install git.
-  sed -i 's/dnf_install ninja-build cmake curl ccache gcc-toolset-9 
git/dnf_install ninja-build cmake curl ccache gcc-toolset-9/' 
scripts/setup-centos8.sh
-  sed -i '/^function dnf_install/i\DEPENDENCY_DIR=${DEPENDENCY_DIR:-$(pwd)}' 
scripts/setup-centos8.sh
-  sed -i '/^dnf_install autoconf/a\dnf_install libxml2-devel libgsasl-devel 
libuuid-devel' scripts/setup-centos8.sh
-  sed -i '/^function install_gflags.*/i function install_openssl {\n  
wget_and_untar 
https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1s.tar.gz 
openssl \n cd openssl \n ./config no-shared && make depend && make && sudo make 
install \n cd ..\n}\n'     scripts/setup-centos8.sh
-  sed -i '/^  run_and_time install_fbthrift/a \  run_and_time install_openssl' 
scripts/setup-centos8.sh
-  sed -i '/cd protobuf/{n;s/\.\/configure --prefix=\/usr/\.\/configure 
CXXFLAGS="-fPIC" --prefix=\/usr\/local/;}' scripts/setup-centos8.sh
-
-  if [ $ENABLE_HDFS == "ON" ]; then
-    sed -i '/^function install_gflags.*/i function install_libhdfs3 {\n cd 
"\${DEPENDENCY_DIR}"\n github_checkout oap-project/libhdfs3 master\n 
cmake_install\n}\n' scripts/setup-centos8.sh
-    sed -i '/^  run_and_time install_fbthrift/a \  run_and_time 
install_libhdfs3' scripts/setup-centos8.sh
-    sed -i '/^  dnf_install ninja-build/a\  dnf_install yasm\' 
scripts/setup-centos8.sh
-  fi
-
-  sed -i "s/yum -y install/sudo yum -y install/" 
${VELOX_HOME}/scripts/setup-adapters.sh
-  if [ $ENABLE_S3 == "ON" ]; then
-    sed -i '/^  run_and_time install_fbthrift/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh aws' scripts/setup-centos8.sh
-  fi
-  if [ $ENABLE_GCS == "ON" ]; then
-    sed -i '/^  run_and_time install_fbthrift/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh gcs' scripts/setup-centos8.sh
-  fi
-  if [ $ENABLE_ABFS == "ON" ]; then
-    sed -i '/^  run_and_time install_fbthrift/a \ \ export 
AZURE_SDK_DISABLE_AUTO_VCPKG=ON \n '${VELOX_HOME}/scripts'/setup-adapters.sh 
abfs' scripts/setup-centos8.sh
-  fi
-}
-
-function process_setup_centos7 {
-  # Allows other version of git already installed.
-  if [ -z "$(which git)" ]; then
-    dnf install -y -q --setopt=install_weak_deps=False git
-  fi
-  # make this function Reentrant
-  git checkout scripts/setup-centos7.sh
-
-  # No need to re-install git.
-  sed -i 's/dnf_install ccache git/dnf_install ccache/' 
scripts/setup-centos7.sh
-
-  # install gtest
-  sed -i '/^  run_and_time install_folly/a \ \ run_and_time install_gtest' 
scripts/setup-centos7.sh
-  sed -i '/^  run_and_time install_folly/a \ \ run_and_time install_protobuf' 
scripts/setup-centos7.sh
-  sed -i 
's/https:\/\/cmake.org\/files\/v3.25\/cmake-3.25.1.tar.gz/https:\/\/cmake.org\/files\/v3.28\/cmake-3.28.3.tar.gz/'
 scripts/setup-centos7.sh
-  if [ $ENABLE_HDFS = "ON" ]; then
-    sed -i '/^function install_protobuf.*/i function install_libhdfs3 {\n cd 
"\${DEPENDENCY_DIR}"\n github_checkout oap-project/libhdfs3 master \n 
cmake_install\n}\n' scripts/setup-centos7.sh
-    sed -i '/^  run_and_time install_protobuf/a \ \ run_and_time 
install_libhdfs3' scripts/setup-centos7.sh
-    sed -i '/^dnf_install ccache/a\ \ yasm \\' scripts/setup-centos7.sh
-  fi
-  sed -i "s/yum -y install/sudo yum -y install/" 
${VELOX_HOME}/scripts/setup-adapters.sh
-  if [ $ENABLE_S3 == "ON" ]; then
-    sed -i '/^  run_and_time install_folly/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh aws' scripts/setup-centos7.sh
-  fi
-  if [ $ENABLE_GCS == "ON" ]; then
-    sed -i '/^  run_and_time install_folly/a \ \ 
'${VELOX_HOME}/scripts'/setup-adapters.sh gcs' scripts/setup-centos7.sh
-  fi
-  if [ $ENABLE_ABFS == "ON" ]; then
-    sed -i '/^function cmake_install_deps.*/i function install_curl {\n cd 
"${DEPENDENCY_DIR}" \n github_checkout curl/curl curl-7_68_0 \n cmake 
-DCMAKE_BUILD_TYPE=Release -DOPENSSL_USE_STATIC_LIBS=TRUE 
-DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON && cmake --build . 
&& sudo cmake --install . \n}\n'     scripts/setup-centos7.sh
-    sed -i '/^  run_and_time install_folly/a \ \ run_and_time install_curl' 
scripts/setup-centos7.sh
-    sed -i '/^  run_and_time install_curl/a \ \ export 
AZURE_SDK_DISABLE_AUTO_VCPKG=ON \n '${VELOX_HOME}/scripts'/setup-adapters.sh 
abfs' scripts/setup-centos7.sh
-  fi
+  # Required by lib hdfs.
+  ensure_pattern_matched 'dnf_install ninja-build' scripts/setup-centos9.sh
+  sed -i '/^  dnf_install ninja-build/a\  dnf_install yasm\' 
scripts/setup-centos9.sh
 }
 
 function process_setup_alinux3 {
-  process_setup_centos8
-  sed -i "s/.*dnf_install epel-release/#&/" scripts/setup-centos8.sh
-  sed -i "s/.*run_and_time install_conda/#&/" scripts/setup-centos8.sh
-  sed -i "s/.*dnf config-manager --set-enabled powertools/#&/" 
scripts/setup-centos8.sh
-  sed -i "s/gcc-toolset-9 //" scripts/setup-centos8.sh
-  sed -i "s/.*source \/opt\/rh\/gcc-toolset-9\/enable/#&/" 
scripts/setup-centos8.sh
-  sed -i 's|^export CC=/opt/rh/gcc-toolset-9/root/bin/gcc|# &|' 
scripts/setup-centos8.sh
-  sed -i 's|^export CXX=/opt/rh/gcc-toolset-9/root/bin/g++|# &|' 
scripts/setup-centos8.sh
-  sed -i 's/python39 python39-devel python39-pip //g' scripts/setup-centos8.sh
-  sed -i "s/.*pip.* install/#&/" scripts/setup-centos8.sh
+  sed -i "s/.*dnf_install epel-release/#&/" ${CURRENT_DIR}/setup-centos8.sh
+  sed -i "s/.*run_and_time install_conda/#&/" ${CURRENT_DIR}/setup-centos8.sh
+  sed -i "s/.*dnf config-manager --set-enabled powertools/#&/" 
${CURRENT_DIR}/setup-centos8.sh
+  sed -i "s/gcc-toolset-9 //" ${CURRENT_DIR}/setup-centos8.sh
+  sed -i "s/.*source \/opt\/rh\/gcc-toolset-9\/enable/#&/" 
${CURRENT_DIR}/setup-centos8.sh
+  sed -i 's|^export CC=/opt/rh/gcc-toolset-9/root/bin/gcc|# &|' 
${CURRENT_DIR}/setup-centos8.sh
+  sed -i 's|^export CXX=/opt/rh/gcc-toolset-9/root/bin/g++|# &|' 
${CURRENT_DIR}/setup-centos8.sh
+  sed -i 's/python39 python39-devel python39-pip //g' 
${CURRENT_DIR}/setup-centos8.sh
+  sed -i "s/.*pip.* install/#&/" ${CURRENT_DIR}/setup-centos8.sh
 }
 
 function process_setup_tencentos32 {
-  process_setup_centos8
-  sed -i "s/.*dnf config-manager --set-enabled powertools/#&/" 
scripts/setup-centos8.sh
+  sed -i "s/.*dnf config-manager --set-enabled powertools/#&/" 
${CURRENT_DIR}/setup-centos8.sh
 }
 
 echo "Preparing Velox source code..."
-echo "ENABLE_HDFS=${ENABLE_HDFS}"
 
 CURRENT_DIR=$(
   cd "$(dirname "$BASH_SOURCE")"
@@ -327,44 +201,33 @@ function setup_linux {
   elif [[ "$LINUX_DISTRIBUTION" == "centos" ]]; then
     case "$LINUX_VERSION_ID" in
       9) process_setup_centos9 ;;
-      8) process_setup_centos8 ;;
-      7) process_setup_centos7 ;;
+      8) ;;
+      7) ;;
       *)
-        echo "Unsupport centos version: $LINUX_VERSION_ID"
+        echo "Unsupported centos version: $LINUX_VERSION_ID"
         exit 1
       ;;
     esac
   elif [[ "$LINUX_DISTRIBUTION" == "alinux" ]]; then
     case "${LINUX_VERSION_ID:0:1}" in
-      2) process_setup_centos7 ;;
+      2) ;;
       3) process_setup_alinux3 ;;
       *)
-        echo "Unsupport alinux version: $LINUX_VERSION_ID"
+        echo "Unsupported alinux version: $LINUX_VERSION_ID"
         exit 1
       ;;
     esac
   elif [[ "$LINUX_DISTRIBUTION" == "tencentos" ]]; then
     case "$LINUX_VERSION_ID" in
-      2.4) process_setup_centos7 ;;
+      2.4) ;;
       3.2) process_setup_tencentos32 ;;
       *)
-        echo "Unsupport tencentos version: $LINUX_VERSION_ID"
+        echo "Unsupported tencentos version: $LINUX_VERSION_ID"
         exit 1
       ;;
     esac
   else
-    echo "Unsupport linux distribution: $LINUX_DISTRIBUTION"
-    exit 1
-  fi
-}
-
-function setup_macos {
-  if [ $ENABLE_HDFS == "ON" ]; then
-    echo "Unsupport hdfs"
-    exit 1
-  fi
-  if [ $ENABLE_S3 == "ON" ]; then
-    echo "Unsupport s3"
+    echo "Unsupported linux distribution: $LINUX_DISTRIBUTION"
     exit 1
   fi
 }
@@ -372,12 +235,12 @@ function setup_macos {
 if [ $OS == 'Linux' ]; then
   setup_linux
 elif [ $OS == 'Darwin' ]; then
-  setup_macos
+  :
 else
-  echo "Unsupport kernel: $OS"
+  echo "Unsupported kernel: $OS"
   exit 1
 fi
 
 apply_compilation_fixes $CURRENT_DIR $VELOX_SOURCE_DIR
 
-echo "Velox-get finished."
+echo "Finished getting Velox code"
diff --git a/ep/build-velox/src/setup-centos7.sh 
b/ep/build-velox/src/setup-centos7.sh
new file mode 100755
index 000000000..6f76112ae
--- /dev/null
+++ b/ep/build-velox/src/setup-centos7.sh
@@ -0,0 +1,283 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -efx -o pipefail
+# Some of the packages must be build with the same compiler flags
+# so that some low level types are the same size. Also, disable warnings.
+SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")/../build/velox_ep/scripts
+source $SCRIPTDIR/setup-helper-functions.sh
+DEPENDENCY_DIR=${DEPENDENCY_DIR:-/tmp/velox-deps}
+CPU_TARGET="${CPU_TARGET:-avx}"
+NPROC=$(getconf _NPROCESSORS_ONLN)
+FMT_VERSION=10.1.1
+BUILD_DUCKDB="${BUILD_DUCKDB:-true}"
+export CFLAGS=$(get_cxx_flags $CPU_TARGET)  # Used by LZO.
+export CXXFLAGS=$CFLAGS  # Used by boost.
+export CPPFLAGS=$CFLAGS  # Used by LZO.
+export 
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH
+FB_OS_VERSION=v2024.02.26.00
+
+# shellcheck disable=SC2037
+SUDO="sudo -E"
+
+function run_and_time {
+  time "$@"
+  { echo "+ Finished running $*"; } 2> /dev/null
+}
+
+function dnf_install {
+  $SUDO dnf install -y -q --setopt=install_weak_deps=False "$@"
+}
+
+function yum_install {
+  $SUDO yum install -y "$@"
+}
+
+function wget_and_untar {
+  local URL=$1
+  local DIR=$2
+  mkdir -p "${DIR}"
+  wget -q --max-redirect 3 -O - "${URL}" | tar -xz -C "${DIR}" 
--strip-components=1
+}
+
+function install_cmake {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar https://cmake.org/files/v3.28/cmake-3.28.3.tar.gz cmake-3
+  cd cmake-3
+  ./bootstrap --prefix=/usr/local
+  make -j$(nproc)
+  $SUDO make install
+  cmake --version
+}
+
+function install_ninja {
+  cd "${DEPENDENCY_DIR}"
+  github_checkout ninja-build/ninja v1.11.1
+  ./configure.py --bootstrap
+  cmake -Bbuild-cmake
+  cmake --build build-cmake
+  $SUDO cp ninja /usr/local/bin/
+}
+
+function install_folly {
+  cd "${DEPENDENCY_DIR}"
+  github_checkout facebook/folly "${FB_OS_VERSION}"
+  cmake_install -DBUILD_TESTS=OFF -DFOLLY_HAVE_INT128_T=ON
+}
+
+function install_conda {
+  cd "${DEPENDENCY_DIR}"
+  mkdir -p conda && cd conda
+  wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+  MINICONDA_PATH=/opt/miniconda-for-velox
+  bash Miniconda3-latest-Linux-x86_64.sh -b -u $MINICONDA_PATH
+}
+
+function install_openssl {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar 
https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1s.tar.gz 
openssl
+  cd openssl
+  ./config no-shared
+  make depend
+  make
+  $SUDO make install
+}
+
+function install_gflags {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar https://github.com/gflags/gflags/archive/v2.2.2.tar.gz gflags
+  cd gflags
+  cmake_install -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON 
-DBUILD_gflags_LIB=ON -DLIB_SUFFIX=64 -DCMAKE_INSTALL_PREFIX:PATH=/usr/local
+}
+
+function install_glog {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar https://github.com/google/glog/archive/v0.5.0.tar.gz glog
+  cd glog
+  cmake_install -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON 
-DCMAKE_INSTALL_PREFIX:PATH=/usr/local
+}
+
+function install_snappy {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar https://github.com/google/snappy/archive/1.1.8.tar.gz snappy
+  cd snappy
+  cmake_install -DSNAPPY_BUILD_TESTS=OFF
+}
+
+function install_dwarf {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar 
https://github.com/davea42/libdwarf-code/archive/refs/tags/20210528.tar.gz dwarf
+  cd dwarf
+  #local 
URL=https://github.com/davea42/libdwarf-code/releases/download/v0.5.0/libdwarf-0.5.0.tar.xz
+  #local DIR=dwarf
+  #mkdir -p "${DIR}"
+  #wget -q --max-redirect 3 "${URL}"
+  #tar -xf libdwarf-0.5.0.tar.xz -C "${DIR}"
+  #cd dwarf/libdwarf-0.5.0
+  ./configure --enable-shared=no
+  make
+  make check
+  $SUDO make install
+}
+
+function install_re2 {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar 
https://github.com/google/re2/archive/refs/tags/2023-03-01.tar.gz re2
+  cd re2
+  $SUDO make install
+}
+
+function install_flex {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar 
https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz flex
+  cd flex
+  ./autogen.sh
+  ./configure
+  $SUDO make install
+}
+
+function install_lzo {
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar 
http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz lzo
+  cd lzo
+  ./configure --prefix=/usr/local --enable-shared --disable-static 
--docdir=/usr/local/share/doc/lzo-2.10
+  make "-j$(nproc)"
+  $SUDO make install
+}
+
+function install_boost {
+  # Remove old version.
+  sudo rm -f /usr/local/lib/libboost_* /usr/lib64/libboost_* 
/opt/rh/devtoolset-9/root/usr/lib64/dyninst/libboost_*
+  sudo rm -rf /tmp/velox-deps/boost/ /usr/local/include/boost/ 
/usr/local/lib/cmake/Boost-1.72.0/
+  cd "${DEPENDENCY_DIR}"
+  wget_and_untar 
https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz
 boost
+  cd boost
+  ./bootstrap.sh --prefix=/usr/local --with-python=/usr/bin/python3 
--with-python-root=/usr/lib/python3.6 --without-libraries=python
+  $SUDO ./b2 "-j$(nproc)" -d0 install threading=multi
+}
+
+function install_libhdfs3 {
+  cd "${DEPENDENCY_DIR}"
+  github_checkout apache/hawq master
+  cd depends/libhdfs3
+  sed -i "/FIND_PACKAGE(GoogleTest REQUIRED)/d" ./CMakeLists.txt
+  sed -i "s/dumpversion/dumpfullversion/" ./CMake/Platform.cmake
+  sed -i "s/dfs.domain.socket.path\", \"\"/dfs.domain.socket.path\", 
\"\/var\/lib\/hadoop-hdfs\/dn_socket\"/g" src/common/SessionConfig.cpp
+  sed -i "s/pos < endOfCurBlock/pos \< endOfCurBlock \&\& pos \- cursor \<\= 
128 \* 1024/g" src/client/InputStreamImpl.cpp
+  cmake_install
+}
+
+function install_protobuf {
+  cd "${DEPENDENCY_DIR}"
+  wget 
https://github.com/protocolbuffers/protobuf/releases/download/v21.4/protobuf-all-21.4.tar.gz
+  tar -xzf protobuf-all-21.4.tar.gz
+  cd protobuf-21.4
+  ./configure  CXXFLAGS="-fPIC"  --prefix=/usr/local
+  make "-j$(nproc)"
+  $SUDO make install
+}
+
+function install_gtest {
+  cd "${DEPENDENCY_DIR}"
+  wget 
https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz
+  tar -xzf release-1.12.1.tar.gz
+  cd googletest-release-1.12.1
+  mkdir -p build && cd build && cmake -DBUILD_GTEST=ON -DBUILD_GMOCK=ON 
-DINSTALL_GTEST=ON -DINSTALL_GMOCK=ON -DBUILD_SHARED_LIBS=ON ..
+  make "-j$(nproc)"
+  $SUDO make install
+}
+
+function install_fmt {
+  rm -rf /usr/local/lib64/libfmt.a
+  rm -rf /usr/local/lib64/cmake/fmt
+  rm -rf  /usr/local/include/fmt
+  rm -rf fmt
+  wget_and_untar https://github.com/fmtlib/fmt/archive/10.1.1.tar.gz fmt
+  cmake_install fmt -DFMT_TEST=OFF
+}
+
+function install_duckdb {
+  if $BUILD_DUCKDB ; then
+    echo 'Building DuckDB'
+    wget_and_untar 
https://github.com/duckdb/duckdb/archive/refs/tags/v0.8.1.tar.gz duckdb
+    (
+      cd duckdb
+      cmake_install -DBUILD_UNITTESTS=OFF -DENABLE_SANITIZER=OFF 
-DENABLE_UBSAN=OFF -DBUILD_SHELL=OFF -DEXPORT_DLL_SYMBOLS=OFF 
-DCMAKE_BUILD_TYPE=Release
+    )
+  fi
+}
+
+function install_prerequisites {
+  run_and_time install_lzo
+  run_and_time install_boost
+  run_and_time install_re2
+  run_and_time install_flex
+  run_and_time install_openssl
+  run_and_time install_gflags
+  run_and_time install_glog
+  run_and_time install_snappy
+  run_and_time install_dwarf
+}
+
+function install_velox_deps {
+  run_and_time install_fmt
+  run_and_time install_folly
+  run_and_time install_protobuf
+  run_and_time install_gtest
+  run_and_time install_conda
+  run_and_time install_duckdb
+}
+
+$SUDO dnf makecache
+
+# dnf install dependency libraries
+dnf_install epel-release dnf-plugins-core # For ccache, ninja
+# PowerTools only works on CentOS8
+# dnf config-manager --set-enabled powertools
+dnf_install ccache wget which libevent-devel \
+  yasm \
+  openssl-devel libzstd-devel lz4-devel double-conversion-devel \
+  curl-devel libxml2-devel libgsasl-devel libuuid-devel patch
+
+$SUDO dnf remove -y gflags
+
+# Required for Thrift
+dnf_install autoconf automake libtool bison python3 python3-devel
+
+# Required for build flex
+dnf_install gettext-devel texinfo help2man
+
+# dnf_install conda
+
+# Activate gcc9; enable errors on unset variables afterwards.
+# GCC9 install via yum and devtoolset
+# dnf install gcc-toolset-9 only works on CentOS8
+
+$SUDO yum makecache
+yum_install centos-release-scl
+yum_install devtoolset-9
+source /opt/rh/devtoolset-9/enable || exit 1
+gcc --version
+set -u
+
+# Build from source
+[ -d "$DEPENDENCY_DIR" ] || mkdir -p "$DEPENDENCY_DIR"
+
+run_and_time install_cmake
+run_and_time install_ninja
+
+install_prerequisites
+install_velox_deps
diff --git a/ep/build-velox/src/setup-centos8.sh 
b/ep/build-velox/src/setup-centos8.sh
new file mode 100755
index 000000000..c8078893a
--- /dev/null
+++ b/ep/build-velox/src/setup-centos8.sh
@@ -0,0 +1,250 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This script documents setting up a Centos8 host for Velox
+# development.  Running it should make you ready to compile.
+#
+# Environment variables:
+# * INSTALL_PREREQUISITES="N": Skip installation of packages for build.
+# * PROMPT_ALWAYS_RESPOND="n": Automatically respond to interactive prompts.
+#     Use "n" to never wipe directories.
+#
+# You can also run individual functions below by specifying them as arguments:
+# $ ./setup-centos8.sh install_googletest install_fmt
+#
+
+set -efx -o pipefail
+# Some of the packages must be build with the same compiler flags
+# so that some low level types are the same size. Also, disable warnings.
+SCRIPTDIR=$(dirname "${BASH_SOURCE[0]}")/../build/velox_ep/scripts
+source $SCRIPTDIR/setup-helper-functions.sh
+CPU_TARGET="${CPU_TARGET:-avx}"
+NPROC=$(getconf _NPROCESSORS_ONLN)
+export CFLAGS=$(get_cxx_flags $CPU_TARGET)  # Used by LZO.
+export CXXFLAGS=$CFLAGS  # Used by boost.
+export CPPFLAGS=$CFLAGS  # Used by LZO.
+CMAKE_BUILD_TYPE="${BUILD_TYPE:-Release}"
+BUILD_DUCKDB="${BUILD_DUCKDB:-true}"
+export CC=/opt/rh/gcc-toolset-9/root/bin/gcc
+export CXX=/opt/rh/gcc-toolset-9/root/bin/g++
+
+DEPENDENCY_DIR=${DEPENDENCY_DIR:-$(pwd)}
+function dnf_install {
+  dnf install -y -q --setopt=install_weak_deps=False "$@"
+}
+
+# Install packages required for build.
+function install_build_prerequisites {
+  dnf update -y
+  dnf_install epel-release dnf-plugins-core # For ccache, ninja
+  dnf config-manager --set-enabled powertools
+  dnf update -y
+  dnf_install ninja-build curl ccache gcc-toolset-9 git wget which
+  dnf_install yasm
+  dnf_install autoconf automake python39 python39-devel python39-pip libtool
+  pip3.9 install cmake==3.28.3
+}
+
+# Install dependencies from the package managers.
+function install_velox_deps_from_dnf {
+  dnf_install libevent-devel \
+    openssl-devel re2-devel libzstd-devel lz4-devel double-conversion-devel \
+    libdwarf-devel curl-devel libicu-devel bison flex libsodium-devel
+
+  # install sphinx for doc gen
+  pip3.9 install sphinx sphinx-tabs breathe sphinx_rtd_theme
+}
+
+function install_conda {
+  dnf_install conda
+}
+
+function install_openssl {
+  wget_and_untar 
https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1s.tar.gz 
openssl
+  cd openssl
+  ./config no-shared && make depend && make && sudo make install
+  cd ..
+}
+
+function install_gflags {
+  # Remove an older version if present.
+  dnf remove -y gflags
+  wget_and_untar https://github.com/gflags/gflags/archive/v2.2.2.tar.gz gflags
+  (
+    cd gflags
+    cmake_install -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON 
-DBUILD_gflags_LIB=ON -DLIB_SUFFIX=64
+  )
+}
+
+function install_glog {
+  wget_and_untar https://github.com/google/glog/archive/v0.6.0.tar.gz glog
+  (
+    cd glog
+    cmake_install -DBUILD_SHARED_LIBS=ON
+  )
+}
+
+function install_lzo {
+  wget_and_untar 
http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz lzo
+  (
+    cd lzo
+    ./configure --prefix=/usr --enable-shared --disable-static 
--docdir=/usr/share/doc/lzo-2.10
+    make "-j$(nproc)"
+    make install
+  )
+}
+
+function install_boost {
+  wget_and_untar 
https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz
 boost
+  (
+   cd boost
+   ./bootstrap.sh --prefix=/usr/local
+   ./b2 "-j$(nproc)" -d0 install threading=multi --without-python
+  )
+}
+
+function install_snappy {
+  wget_and_untar https://github.com/google/snappy/archive/1.1.8.tar.gz snappy
+  (
+    cd snappy
+    cmake_install -DSNAPPY_BUILD_TESTS=OFF
+  )
+}
+
+function install_fmt {
+  wget_and_untar https://github.com/fmtlib/fmt/archive/10.1.1.tar.gz fmt
+  (
+    cd fmt
+    cmake_install -DFMT_TEST=OFF
+  )
+}
+
+function install_protobuf {
+  wget_and_untar 
https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protobuf-all-21.8.tar.gz
 protobuf
+  (
+    cd protobuf
+    ./configure CXXFLAGS="-fPIC" --prefix=/usr/local
+    make "-j${NPROC}"
+    make install
+    ldconfig
+  )
+}
+
+FB_OS_VERSION="v2024.05.20.00"
+
+function install_fizz {
+  wget_and_untar 
https://github.com/facebookincubator/fizz/archive/refs/tags/${FB_OS_VERSION}.tar.gz
 fizz
+  (
+    cd fizz/fizz
+    cmake_install -DBUILD_TESTS=OFF
+  )
+}
+
+function install_folly {
+  wget_and_untar 
https://github.com/facebook/folly/archive/refs/tags/${FB_OS_VERSION}.tar.gz 
folly
+  (
+    cd folly
+    cmake_install -DFOLLY_HAVE_INT128_T=ON
+  )
+}
+
+function install_wangle {
+  wget_and_untar 
https://github.com/facebook/wangle/archive/refs/tags/${FB_OS_VERSION}.tar.gz 
wangle
+  (
+    cd wangle/wangle
+    cmake_install -DBUILD_TESTS=OFF
+  )
+}
+
+function install_fbthrift {
+  wget_and_untar 
https://github.com/facebook/fbthrift/archive/refs/tags/${FB_OS_VERSION}.tar.gz 
fbthrift
+  (
+    cd fbthrift
+    cmake_install -Denable_tests=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF 
-DBUILD_SHARED_LIBS=OFF
+  )
+}
+
+function install_mvfst {
+  wget_and_untar 
https://github.com/facebook/mvfst/archive/refs/tags/${FB_OS_VERSION}.tar.gz 
mvfst
+  (
+   cd mvfst
+   cmake_install -DBUILD_TESTS=OFF
+  )
+}
+
+function install_duckdb {
+  if $BUILD_DUCKDB ; then
+    echo 'Building DuckDB'
+    wget_and_untar 
https://github.com/duckdb/duckdb/archive/refs/tags/v0.8.1.tar.gz duckdb
+    (
+      cd duckdb
+      cmake_install -DBUILD_UNITTESTS=OFF -DENABLE_SANITIZER=OFF 
-DENABLE_UBSAN=OFF -DBUILD_SHELL=OFF -DEXPORT_DLL_SYMBOLS=OFF 
-DCMAKE_BUILD_TYPE=Release
+    )
+  fi
+}
+
+function install_cuda {
+  # See https://developer.nvidia.com/cuda-downloads
+  dnf config-manager --add-repo 
https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
+  yum install -y cuda-nvcc-$(echo $1 | tr '.' '-') cuda-cudart-devel-$(echo $1 
| tr '.' '-')
+}
+
+function install_velox_deps {
+  run_and_time install_velox_deps_from_dnf
+  run_and_time install_conda
+  run_and_time install_gflags
+  run_and_time install_glog
+  run_and_time install_lzo
+  run_and_time install_snappy
+  run_and_time install_boost
+  run_and_time install_protobuf
+  run_and_time install_fmt
+  run_and_time install_folly
+  run_and_time install_fizz
+  run_and_time install_wangle
+  run_and_time install_mvfst
+  run_and_time install_fbthrift
+  run_and_time install_openssl
+  run_and_time install_duckdb
+}
+
+(return 2> /dev/null) && return # If script was sourced, don't run commands.
+
+(
+  if [[ $# -ne 0 ]]; then
+    # Activate gcc9; enable errors on unset variables afterwards.
+    source /opt/rh/gcc-toolset-9/enable || exit 1
+    set -u
+    for cmd in "$@"; do
+      run_and_time "${cmd}"
+    done
+    echo "All specified dependencies installed!"
+  else
+    if [ "${INSTALL_PREREQUISITES:-Y}" == "Y" ]; then
+      echo "Installing build dependencies"
+      run_and_time install_build_prerequisites
+    else
+      echo "Skipping installation of build dependencies since 
INSTALL_PREREQUISITES is not set"
+    fi
+    # Activate gcc9; enable errors on unset variables afterwards.
+    source /opt/rh/gcc-toolset-9/enable || exit 1
+    set -u
+    install_velox_deps
+    echo "All dependencies for Velox installed!"
+    dnf clean all
+  fi
+)
+


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to