| # 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. |
| |
| FROM centos:7 |
| |
| ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk |
| ENV PATH=$JAVA_HOME/bin:$PATH |
| |
| # An actual path used for vcpkg cache. |
| ENV VCPKG_PATH=/var/cache/vcpkg |
| # Set vcpkg cache path. |
| ENV VCPKG_BINARY_SOURCES=clear;files,${VCPKG_PATH},readwrite |
| |
| |
| RUN set -ex; \ |
| sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* || true; \ |
| sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* || true; \ |
| yum install -y epel-release centos-release-scl; \ |
| rm /etc/yum.repos.d/CentOS-SCLo-scl.repo -f; \ |
| sed -i \ |
| -e 's/^mirrorlist/#mirrorlist/' \ |
| -e 's/^#baseurl/baseurl/' \ |
| -e 's/mirror\.centos\.org/vault.centos.org/' \ |
| /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo; \ |
| yum install -y git patch wget sudo java-1.8.0-openjdk-devel ccache; \ |
| git clone --depth=1 https://github.com/apache/incubator-gluten /opt/gluten; \ |
| echo "check_certificate = off" >> ~/.wgetrc; \ |
| cd /opt/gluten && bash ./dev/vcpkg/setup-build-depends.sh; \ |
| mkdir -p ${VCPKG_PATH}; \ |
| echo "Build arrow, then install the native libs to system paths and jar package to .m2/ directory."; \ |
| cd /opt/gluten; \ |
| source /opt/rh/devtoolset-11/enable; \ |
| source /opt/rh/rh-git227/enable; \ |
| bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON --enable_s3=ON --enable_gcs=ON \ |
| --enable_hdfs=ON --enable_abfs=ON build_arrow; \ |
| mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta -Pspark-3.5 -DskipTests; \ |
| dnf clean all; \ |
| rm -rf /opt/gluten; \ |
| rm -rf /root/.cache/ccache; |
| |