Skip to content

Commit

Permalink
ARROW-5748: [Packaging][deb] Add support for Debian GNU/Linux buster
Browse files Browse the repository at this point in the history
It'll be released 2019-07-06.

Author: Sutou Kouhei <[email protected]>

Closes apache#4709 from kou/packages-debian-buster and squashes the following commits:

f21f039 <Sutou Kouhei>  Add support for Debian GNU/Linux buster
  • Loading branch information
kou committed Jun 27, 2019
1 parent 83e4158 commit 482d62e
Show file tree
Hide file tree
Showing 7 changed files with 196 additions and 23 deletions.
15 changes: 14 additions & 1 deletion dev/release/verify-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,12 @@ if [ "${IS_RC}" = "yes" ]; then
fi

have_signed_by=yes
have_flight=yes
have_python=yes
have_gandiva=yes
need_llvm_apt=no
case "${distribution}-${code_name}" in
debian-*)
debian-stretch)
sed \
-i"" \
-e "s/ main$/ main contrib non-free/g" \
Expand All @@ -66,12 +67,20 @@ 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
;;
Expand Down Expand Up @@ -107,6 +116,10 @@ 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
Expand Down
4 changes: 3 additions & 1 deletion dev/release/verify-release-candidate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,12 @@ test_binary() {

test_apt() {
for target in debian-stretch \
debian-buster \
ubuntu-trusty \
ubuntu-xenial \
ubuntu-bionic \
ubuntu-cosmic; do
ubuntu-cosmic \
ubuntu-disco; do
if ! "${SOURCE_DIR}/../run_docker_compose.sh" \
"${target}" \
/arrow/dev/release/verify-apt.sh \
Expand Down
74 changes: 74 additions & 0 deletions dev/tasks/linux-packages/apt/debian-buster/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# 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 debian:buster

RUN \
echo "debconf debconf/frontend select Noninteractive" | \
debconf-set-selections

ARG DEBUG

RUN sed -i'' -e 's/main$/main contrib non-free/g' /etc/apt/sources.list

RUN \
quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \
apt update ${quiet} && \
apt install -y -V ${quiet} \
bison \
build-essential \
clang-7 \
cmake \
debhelper \
devscripts \
flex \
git \
gtk-doc-tools \
libboost-filesystem-dev \
libboost-regex-dev \
libboost-system-dev \
libbrotli-dev \
libc-ares-dev \
libdouble-conversion-dev \
libgirepository1.0-dev \
libglib2.0-doc \
libgmock-dev \
libgoogle-glog-dev \
libgrpc++-dev \
libgtest-dev \
liblz4-dev \
libprotobuf-dev \
libprotoc-dev \
libre2-dev \
libsnappy-dev \
libssl-dev \
libzstd-dev \
lsb-release \
ninja-build \
nvidia-cuda-toolkit \
pkg-config \
protobuf-compiler \
protobuf-compiler-grpc \
python3-dev \
python3-numpy \
python3-pip \
rapidjson-dev \
tzdata && \
pip3 install --upgrade meson && \
ln -s /usr/local/bin/meson /usr/bin/ && \
apt clean && \
rm -rf /var/lib/apt/lists/*
1 change: 1 addition & 0 deletions dev/tasks/linux-packages/package-task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@ def define_apt_task
"debian-stretch",
# Disable by default for now because it requires some setups on host.
# "debian-stretch-arm64",
"debian-buster",
"ubuntu-xenial",
"ubuntu-bionic",
"ubuntu-cosmic",
Expand Down
67 changes: 67 additions & 0 deletions dev/tasks/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ groups:
- debian-stretch
# We can't finish this on Travis CI for now.
# - debian-stretch-arm64
- debian-buster
- ubuntu-xenial
- ubuntu-bionic
- ubuntu-cosmic
Expand Down Expand Up @@ -462,6 +463,72 @@ tasks:
- libparquet14-dbgsym_{no_rc_version}-1_amd64.deb
- libparquet14_{no_rc_version}-1_amd64.deb

debian-buster:
ci: travis
platform: linux
template: linux-packages/travis.linux.yml
params:
build_command: rake apt:build APT_TARGETS=debian-buster
upload_extensions:
- .deb
- .dsc
- .debian.tar.xz
- .orig.tar.gz
artifacts:
- apache-arrow_{no_rc_version}-1.debian.tar.xz
- apache-arrow_{no_rc_version}-1.dsc
- apache-arrow_{no_rc_version}.orig.tar.gz
- gir1.2-arrow-1.0_{no_rc_version}-1_amd64.deb
- gir1.2-arrow-cuda-1.0_{no_rc_version}-1_amd64.deb
- gir1.2-gandiva-1.0_{no_rc_version}-1_amd64.deb
- gir1.2-parquet-1.0_{no_rc_version}-1_amd64.deb
- gir1.2-plasma-1.0_{no_rc_version}-1_amd64.deb
- libarrow-dev_{no_rc_version}-1_amd64.deb
- libarrow-glib-dev_{no_rc_version}-1_amd64.deb
- libarrow-glib-doc_{no_rc_version}-1_all.deb
- libarrow-glib14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow-glib14_{no_rc_version}-1_amd64.deb
- libarrow-cuda-dev_{no_rc_version}-1_amd64.deb
- libarrow-cuda-glib-dev_{no_rc_version}-1_amd64.deb
- libarrow-cuda-glib14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow-cuda-glib14_{no_rc_version}-1_amd64.deb
- libarrow-cuda14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow-cuda14_{no_rc_version}-1_amd64.deb
- libarrow-dataset-dev_{no_rc_version}-1_amd64.deb
- libarrow-dataset14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow-dataset14_{no_rc_version}-1_amd64.deb
- libarrow-flight-dev_{no_rc_version}-1_amd64.deb
- libarrow-flight14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow-flight14_{no_rc_version}-1_amd64.deb
- libarrow-python-dev_{no_rc_version}-1_amd64.deb
- libarrow-python14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow-python14_{no_rc_version}-1_amd64.deb
- libarrow14-dbgsym_{no_rc_version}-1_amd64.deb
- libarrow14_{no_rc_version}-1_amd64.deb
- libgandiva-dev_{no_rc_version}-1_amd64.deb
- libgandiva-glib-dev_{no_rc_version}-1_amd64.deb
- libgandiva-glib-doc_{no_rc_version}-1_all.deb
- libgandiva-glib14-dbgsym_{no_rc_version}-1_amd64.deb
- libgandiva-glib14_{no_rc_version}-1_amd64.deb
- libgandiva14-dbgsym_{no_rc_version}-1_amd64.deb
- libgandiva14_{no_rc_version}-1_amd64.deb
- libparquet-dev_{no_rc_version}-1_amd64.deb
- libparquet-glib-dev_{no_rc_version}-1_amd64.deb
- libparquet-glib-doc_{no_rc_version}-1_all.deb
- libparquet-glib14-dbgsym_{no_rc_version}-1_amd64.deb
- libparquet-glib14_{no_rc_version}-1_amd64.deb
- libparquet14-dbgsym_{no_rc_version}-1_amd64.deb
- libparquet14_{no_rc_version}-1_amd64.deb
- libplasma-dev_{no_rc_version}-1_amd64.deb
- libplasma-glib-dev_{no_rc_version}-1_amd64.deb
- libplasma-glib-doc_{no_rc_version}-1_all.deb
- libplasma-glib14-dbgsym_{no_rc_version}-1_amd64.deb
- libplasma-glib14_{no_rc_version}-1_amd64.deb
- libplasma14-dbgsym_{no_rc_version}-1_amd64.deb
- libplasma14_{no_rc_version}-1_amd64.deb
- plasma-store-server-dbgsym_{no_rc_version}-1_amd64.deb
- plasma-store-server_{no_rc_version}-1_amd64.deb

ubuntu-xenial:
ci: travis
platform: linux
Expand Down
10 changes: 10 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -590,6 +590,11 @@ services:
volumes:
- .:/arrow:delegated

debian-buster:
image: debian:buster
volumes:
- .:/arrow:delegated

ubuntu-trusty:
image: ubuntu:trusty
volumes:
Expand All @@ -610,6 +615,11 @@ services:
volumes:
- .:/arrow:delegated

ubuntu-disco:
image: ubuntu:disco
volumes:
- .:/arrow:delegated

centos-6:
image: centos:6
volumes:
Expand Down
48 changes: 27 additions & 21 deletions site/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,14 +91,37 @@ We have provided APT and Yum repositories for Apache Arrow C++ and
Apache Arrow GLib (C). Here are supported platforms:

* Debian GNU/Linux stretch
* Ubuntu 14.04 LTS
* Debian GNU/Linux buster
* Ubuntu 16.04 LTS
* Ubuntu 18.04 LTS
* Ubuntu 18.10
* Ubuntu 19.04
* CentOS 6
* CentOS 7

Debian GNU/Linux:
Debian GNU/Linux buster:

```shell
sudo apt update
sudo apt install -y -V apt-transport-https curl gnupg lsb-release
sudo curl --output /usr/share/keyrings/apache-arrow-keyring.gpg https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-keyring.gpg
sudo tee /etc/apt/sources.list.d/apache-arrow.list <<APT_LINE
deb [arch=amd64 signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main
deb-src [signed-by=/usr/share/keyrings/apache-arrow-keyring.gpg] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main
APT_LINE
sudo apt update
sudo apt install -y -V libarrow-dev # For C++
sudo apt install -y -V libarrow-glib-dev # For GLib (C)
sudo apt install -y -V libarrow-flight-dev # For Flight C++
sudo apt install -y -V libplasma-dev # For Plasma C++
sudo apt install -y -V libplasma-glib-dev # For Plasma GLib (C)
sudo apt install -y -V libgandiva-dev # For Gandiva C++
sudo apt install -y -V libgandiva-glib-dev # For Gandiva GLib (C)
sudo apt install -y -V libparquet-dev # For Apache Parquet C++
sudo apt install -y -V libparquet-glib-dev # For Apache Parquet GLib (C)
```

Debian GNU/Linux stretch:

```shell
sudo apt update
Expand All @@ -119,6 +142,7 @@ APT_LINE
sudo apt update
sudo apt install -y -V libarrow-dev # For C++
sudo apt install -y -V libarrow-glib-dev # For GLib (C)
sudo apt install -y -V libarrow-flight-dev # For Flight C++
sudo apt install -y -V libplasma-dev # For Plasma C++
sudo apt install -y -V libplasma-glib-dev # For Plasma GLib (C)
sudo apt install -y -V libgandiva-dev # For Gandiva C++
Expand All @@ -140,6 +164,7 @@ APT_LINE
sudo apt update
sudo apt install -y -V libarrow-dev # For C++
sudo apt install -y -V libarrow-glib-dev # For GLib (C)
sudo apt install -y -V libarrow-flight-dev # For Flight C++
sudo apt install -y -V libplasma-dev # For Plasma C++
sudo apt install -y -V libplasma-glib-dev # For Plasma GLib (C)
sudo apt install -y -V libgandiva-dev # For Gandiva C++
Expand Down Expand Up @@ -174,25 +199,6 @@ sudo apt install -y -V libparquet-dev # For Apache Parquet C++
sudo apt install -y -V libparquet-glib-dev # For Apache Parquet GLib (C)
```

Ubuntu 14.04 LTS:

```shell
sudo apt update
sudo apt install -y -V apt-transport-https curl gnupg lsb-release
curl https://dist.apache.org/repos/dist/dev/arrow/KEYS | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/apache-arrow.list <<APT_LINE
deb [arch=amd64] https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main
deb-src https://dl.bintray.com/apache/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/ $(lsb_release --codename --short) main
APT_LINE
sudo apt update
sudo apt install -y -V libarrow-dev # For C++
sudo apt install -y -V libarrow-glib-dev # For GLib (C)
sudo apt install -y -V libplasma-dev # For Plasma C++
sudo apt install -y -V libplasma-glib-dev # For Plasma GLib (C)
sudo apt install -y -V libparquet-dev # For Apache Parquet C++
sudo apt install -y -V libparquet-glib-dev # For Apache Parquet GLib (C)
```

CentOS:

```shell
Expand Down

0 comments on commit 482d62e

Please sign in to comment.