You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ko...@apache.org on 2019/06/27 03:01:58 UTC

[arrow] branch master updated: ARROW-5748: [Packaging][deb] Add support for Debian GNU/Linux buster

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

kou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 482d62e  ARROW-5748: [Packaging][deb] Add support for Debian GNU/Linux buster
482d62e is described below

commit 482d62e2be156f3443b3c098baa03d1499e0555a
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Thu Jun 27 12:01:39 2019 +0900

    ARROW-5748: [Packaging][deb] Add support for Debian GNU/Linux buster
    
    It'll be released 2019-07-06.
    
    Author: Sutou Kouhei <ko...@clear-code.com>
    
    Closes #4709 from kou/packages-debian-buster and squashes the following commits:
    
    f21f0397 <Sutou Kouhei>  Add support for Debian GNU/Linux buster
---
 dev/release/verify-apt.sh                          | 15 ++++-
 dev/release/verify-release-candidate.sh            |  4 +-
 .../linux-packages/apt/debian-buster/Dockerfile    | 74 ++++++++++++++++++++++
 dev/tasks/linux-packages/package-task.rb           |  1 +
 dev/tasks/tasks.yml                                | 67 ++++++++++++++++++++
 docker-compose.yml                                 | 10 +++
 site/install.md                                    | 48 ++++++++------
 7 files changed, 196 insertions(+), 23 deletions(-)

diff --git a/dev/release/verify-apt.sh b/dev/release/verify-apt.sh
index 5c695f9..6cca89c 100755
--- a/dev/release/verify-apt.sh
+++ b/dev/release/verify-apt.sh
@@ -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" \
@@ -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
     ;;
@@ -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
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index d016c87..7d984a8 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -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 \
diff --git a/dev/tasks/linux-packages/apt/debian-buster/Dockerfile b/dev/tasks/linux-packages/apt/debian-buster/Dockerfile
new file mode 100644
index 0000000..fc1e6ad
--- /dev/null
+++ b/dev/tasks/linux-packages/apt/debian-buster/Dockerfile
@@ -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/*
diff --git a/dev/tasks/linux-packages/package-task.rb b/dev/tasks/linux-packages/package-task.rb
index 17adcff..2db7bdc 100644
--- a/dev/tasks/linux-packages/package-task.rb
+++ b/dev/tasks/linux-packages/package-task.rb
@@ -249,6 +249,7 @@ VERSION=#{@deb_upstream_version}
               "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",
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 9030aef..6d0640a 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -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
@@ -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
diff --git a/docker-compose.yml b/docker-compose.yml
index adad951..7b46c58 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -590,6 +590,11 @@ services:
     volumes:
       - .:/arrow:delegated
 
+  debian-buster:
+    image: debian:buster
+    volumes:
+      - .:/arrow:delegated
+
   ubuntu-trusty:
     image: ubuntu:trusty
     volumes:
@@ -610,6 +615,11 @@ services:
     volumes:
       - .:/arrow:delegated
 
+  ubuntu-disco:
+    image: ubuntu:disco
+    volumes:
+      - .:/arrow:delegated
+
   centos-6:
     image: centos:6
     volumes:
diff --git a/site/install.md b/site/install.md
index 357b15e..ea3e6fa 100644
--- a/site/install.md
+++ b/site/install.md
@@ -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
@@ -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++
@@ -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++
@@ -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