blob: 8acb56042bce157d19d859dcc37073ff1dff1859 [file] [log] [blame]
#!/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 -exu
if [ $# -lt 2 ]; then
echo "Usage: $0 X.Y.Z IS_RC"
echo " $0 X.Y.Z IS_RC BINTRAY_REPOSITORY"
echo " e.g.: $0 0.13.0 yes # Verify 0.13.0 RC"
echo " e.g.: $0 0.13.0 no # Verify 0.13.0"
echo " e.g.: $0 0.13.0 yes kou/arrow # Verify 0.13.0 RC at https://bintray.com/kou/arrow"
exit 1
fi
VERSION="$1"
IS_RC="$2"
BINTRAY_REPOSITORY="${3:-apache/arrow}"
deb_version="${VERSION}-1"
export DEBIAN_FRONTEND=noninteractive
apt update
apt install -y -V \
apt-transport-https \
curl \
gnupg \
lsb-release
code_name="$(lsb_release --codename --short)"
distribution="$(lsb_release --id --short | tr 'A-Z' 'a-z')"
bintray_base_url="https://dl.bintray.com/${BINTRAY_REPOSITORY}/${distribution}"
if [ "${IS_RC}" = "yes" ]; then
bintray_base_url="${bintray_base_url}-rc"
fi
have_signed_by=yes
have_flight=yes
have_python=yes
have_gandiva=yes
need_llvm_apt=no
case "${distribution}-${code_name}" in
debian-stretch)
sed \
-i"" \
-e "s/ main$/ main contrib non-free/g" \
/etc/apt/sources.list
cat <<APT_LINE > /etc/apt/sources.list.d/backports.list
deb http://deb.debian.org/debian ${code_name}-backports main
APT_LINE
need_llvm_apt=yes
;;
debian-buster)
sed \
-i"" \
-e "s/ main$/ main contrib non-free/g" \
/etc/apt/sources.list
;;
ubuntu-xenial)
have_signed_by=no
need_llvm_apt=yes
have_flight=no
;;
ubuntu-trusty)
have_signed_by=no
have_flight=no
have_python=no
have_gandiva=no
;;
esac
if [ "${have_signed_by}" = "yes" ]; then
keyring_path="/usr/share/keyrings/apache-arrow-keyring.gpg"
curl \
--output "${keyring_path}" \
"${bintray_base_url}/apache-arrow-keyring.gpg"
cat <<APT_LINE > /etc/apt/sources.list.d/apache-arrow.list
deb [arch=amd64 signed-by=${keyring_path}] ${bintray_base_url}/ ${code_name} main
deb-src [signed-by=${keyring_path}] ${bintray_base_url}/ ${code_name} main
APT_LINE
else
curl https://dist.apache.org/repos/dist/dev/arrow/KEYS | apt-key add -
cat <<APT_LINE > /etc/apt/sources.list.d/apache-arrow.list
deb [arch=amd64] ${bintray_base_url}/ ${code_name} main
deb-src ${bintray_base_url}/ ${code_name} main
APT_LINE
fi
if [ "${need_llvm_apt}" = "yes" ]; then
curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
cat <<APT_LINE > /etc/apt/sources.list.d/llvm.list
deb http://apt.llvm.org/${code_name}/ llvm-toolchain-${code_name}-7 main
deb-src http://apt.llvm.org/${code_name}/ llvm-toolchain-${code_name}-7 main
APT_LINE
fi
apt update
apt install -y -V libarrow-glib-dev=${deb_version}
apt install -y -V libarrow-glib-doc=${deb_version}
if [ "${have_flight}" = "yes" ]; then
apt install -y -V libarrow-flight-dev=${deb_version}
fi
if [ "${have_python}" = "yes" ]; then
apt install -y -V libarrow-python-dev=${deb_version}
fi
apt install -y -V libplasma-glib-dev=${deb_version}
# apt install -y -V libplasma-glib-doc=${deb_version}
apt install -y -V plasma-store-server=${deb_version}
if [ "${have_gandiva}" = "yes" ]; then
apt install -y -V libgandiva-glib-dev=${deb_version}
# apt install -y -V libgandiva-glib-doc=${deb_version}
fi
apt install -y -V libparquet-glib-dev=${deb_version}
apt install -y -V libparquet-glib-doc=${deb_version}