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 2022/10/06 21:46:13 UTC
[arrow] branch master updated: ARROW-17684: [CI][deb] Disable Flight for arm64 (#14300)
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 353ab45cd4 ARROW-17684: [CI][deb] Disable Flight for arm64 (#14300)
353ab45cd4 is described below
commit 353ab45cd4af163723a990ce06d438f1bd308008
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Fri Oct 7 06:46:03 2022 +0900
ARROW-17684: [CI][deb] Disable Flight for arm64 (#14300)
Because we have enough resource to build Flight on Travis CI.
Authored-by: Sutou Kouhei <ko...@clear-code.com>
Signed-off-by: Sutou Kouhei <ko...@clear-code.com>
---
cpp/cmake_modules/ThirdpartyToolchain.cmake | 3 +
dev/release/verify-apt.sh | 25 +-
dev/tasks/linux-packages/apache-arrow/Rakefile | 52 +++-
.../apache-arrow/apt/debian-bookworm/Dockerfile | 2 +-
.../apache-arrow/apt/debian-bullseye/Dockerfile | 2 +-
.../apache-arrow/apt/ubuntu-bionic/Dockerfile | 3 +
.../apache-arrow/apt/ubuntu-focal/Dockerfile | 3 +
.../apache-arrow/apt/ubuntu-jammy/Dockerfile | 2 +-
.../linux-packages/apache-arrow/debian/control.in | 313 +++++++++++----------
dev/tasks/linux-packages/apache-arrow/debian/rules | 13 +-
dev/tasks/linux-packages/apt/build.sh | 4 +-
dev/tasks/linux-packages/travis.linux.arm64.yml | 1 -
dev/tasks/linux-packages/yum/build.sh | 4 +-
dev/tasks/tasks.yml | 4 +
14 files changed, 246 insertions(+), 185 deletions(-)
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index d281075cf4..e9e71328af 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -4270,6 +4270,8 @@ macro(build_orc)
set(ORC_STATIC_LIB
"${ORC_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}orc${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ get_target_property(ORC_PROTOBUF_EXECUTABLE ${ARROW_PROTOBUF_PROTOC} IMPORTED_LOCATION)
+
get_target_property(ORC_PROTOBUF_INCLUDE_DIR ${ARROW_PROTOBUF_LIBPROTOBUF}
INTERFACE_INCLUDE_DIRECTORIES)
get_filename_component(ORC_PROTOBUF_ROOT "${ORC_PROTOBUF_INCLUDE_DIR}" DIRECTORY)
@@ -4298,6 +4300,7 @@ macro(build_orc)
-DINSTALL_VENDORED_LIBS=OFF
"-DSNAPPY_HOME=${ORC_SNAPPY_ROOT}"
"-DSNAPPY_INCLUDE_DIR=${ORC_SNAPPY_INCLUDE_DIR}"
+ "-DPROTOBUF_EXECUTABLE=${ORC_PROTOBUF_EXECUTABLE}"
"-DPROTOBUF_HOME=${ORC_PROTOBUF_ROOT}"
"-DPROTOBUF_INCLUDE_DIR=${ORC_PROTOBUF_INCLUDE_DIR}"
"-DPROTOBUF_LIBRARY=${ORC_PROTOBUF_LIBRARY}"
diff --git a/dev/release/verify-apt.sh b/dev/release/verify-apt.sh
index 69229b012a..15e31bf4b4 100755
--- a/dev/release/verify-apt.sh
+++ b/dev/release/verify-apt.sh
@@ -61,6 +61,7 @@ case "${TYPE}" in
;;
esac
+have_flight=yes
have_plasma=yes
have_python=yes
workaround_missing_packages=()
@@ -76,6 +77,7 @@ case "${distribution}-${code_name}" in
;;
esac
if [ "$(arch)" = "aarch64" ]; then
+ have_flight=no
have_plasma=no
fi
@@ -184,18 +186,19 @@ ruby -r gi -e "p GI.load('ArrowDataset')"
echo "::endgroup::"
-echo "::group::Test Apache Arrow Flight"
-${APT_INSTALL} libarrow-flight-glib-dev=${package_version}
-${APT_INSTALL} libarrow-flight-glib-doc=${package_version}
-ruby -r gi -e "p GI.load('ArrowFlight')"
-echo "::endgroup::"
-
+if [ "${have_flight}" = "yes" ]; then
+ echo "::group::Test Apache Arrow Flight"
+ ${APT_INSTALL} libarrow-flight-glib-dev=${package_version}
+ ${APT_INSTALL} libarrow-flight-glib-doc=${package_version}
+ ruby -r gi -e "p GI.load('ArrowFlight')"
+ echo "::endgroup::"
-echo "::group::Test Apache Arrow Flight SQL"
-${APT_INSTALL} libarrow-flight-sql-glib-dev=${package_version}
-${APT_INSTALL} libarrow-flight-sql-glib-doc=${package_version}
-ruby -r gi -e "p GI.load('ArrowFlightSQL')"
-echo "::endgroup::"
+ echo "::group::Test Apache Arrow Flight SQL"
+ ${APT_INSTALL} libarrow-flight-sql-glib-dev=${package_version}
+ ${APT_INSTALL} libarrow-flight-sql-glib-doc=${package_version}
+ ruby -r gi -e "p GI.load('ArrowFlightSQL')"
+ echo "::endgroup::"
+fi
if [ "${have_plasma}" = "yes" ]; then
diff --git a/dev/tasks/linux-packages/apache-arrow/Rakefile b/dev/tasks/linux-packages/apache-arrow/Rakefile
index cff8e468fe..d8149c07b2 100644
--- a/dev/tasks/linux-packages/apache-arrow/Rakefile
+++ b/dev/tasks/linux-packages/apache-arrow/Rakefile
@@ -87,6 +87,16 @@ class ApacheArrowPackageTask < PackageTask
false
end
+ def apt_prepare_debian_control_c_ares(control, target)
+ case target
+ when /\Aubuntu-bionic/
+ use_system_c_ares = "#"
+ else
+ use_system_c_ares = ""
+ end
+ control.gsub(/@USE_SYSTEM_C_ARES@/, use_system_c_ares)
+ end
+
def apt_prepare_debian_control_cuda_architecture(control, target)
if apt_arm64_cuda_available_target?(target)
cuda_architecture = "any"
@@ -96,14 +106,15 @@ class ApacheArrowPackageTask < PackageTask
control.gsub(/@CUDA_ARCHITECTURE@/, cuda_architecture)
end
- def apt_prepare_debian_control_c_ares(control, target)
- case target
- when /\Aubuntu-bionic/
- use_system_c_ares = "#"
+ def apt_prepare_debian_control_flight(control, target)
+ # We disable Flight for arm64 because Travis CI doesn't have
+ # enough resource to build with Flight.
+ if target.end_with?("-arm64")
+ enable_flight = "#"
else
- use_system_c_ares = ""
+ enable_flight = ""
end
- control.gsub(/@USE_SYSTEM_C_ARES@/, use_system_c_ares)
+ control.gsub(/@ENABLE_FLIGHT@/, enable_flight)
end
def apt_prepare_debian_control_grpc(control, target)
@@ -116,6 +127,31 @@ class ApacheArrowPackageTask < PackageTask
control.gsub(/@USE_SYSTEM_GRPC@/, use_system_grpc)
end
+ def apt_prepare_debian_control_protobuf(control, target)
+ # Flight requires Protobuf 3.15.0 or later but Debian GNU/Linux
+ # bookwarm and Ubuntu 22.04 don't provide Protobuf 3.15.0 or later
+ # yet.
+ #
+ # See also:
+ # * cpp/cmake_modules/ThirdpartyToolchain.cmake
+ # * https://packages.debian.org/search?keywords=libprotobuf-dev
+ # * https://packages.ubuntu.com/search?keywords=libprotobuf-dev
+ #
+ # We can use system Protobuf without Flight because we can use
+ # Protobuf 3.0.0 or later without Flight.
+ #
+ # We disable Flight for arm64 because Travis CI doesn't have
+ # enough resource to build with Flight.
+ #
+ # So, we can use system Protobuf only for arm64 for now.
+ if target.end_with?("-arm64")
+ use_system_protobuf = ""
+ else
+ use_system_protobuf = "#"
+ end
+ control.gsub(/@USE_SYSTEM_PROTOBUF@/, use_system_protobuf)
+ end
+
def apt_prepare_debian_control_python(control, target)
case target
when /\Aubuntu-bionic/
@@ -158,9 +194,11 @@ class ApacheArrowPackageTask < PackageTask
def apt_prepare_debian_control(control_in, target)
control = control_in.dup
- control = apt_prepare_debian_control_cuda_architecture(control, target)
control = apt_prepare_debian_control_c_ares(control, target)
+ control = apt_prepare_debian_control_cuda_architecture(control, target)
+ control = apt_prepare_debian_control_flight(control, target)
control = apt_prepare_debian_control_grpc(control, target)
+ control = apt_prepare_debian_control_protobuf(control, target)
control = apt_prepare_debian_control_python(control, target)
control = apt_prepare_debian_control_thrift(control, target)
control = apt_prepare_debian_control_utf8proc(control, target)
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile
index 0b50d88712..aee005726a 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-bookworm/Dockerfile
@@ -54,8 +54,8 @@ RUN \
libgrpc++-dev \
libgtest-dev \
liblz4-dev \
- libprotoc-dev \
libprotobuf-dev \
+ libprotoc-dev \
libre2-dev \
libsnappy-dev \
libssl-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile
index 600ecc6962..bf5c24c016 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/debian-bullseye/Dockerfile
@@ -54,8 +54,8 @@ RUN \
libgrpc++-dev \
libgtest-dev \
liblz4-dev \
- libprotoc-dev \
libprotobuf-dev \
+ libprotoc-dev \
libre2-dev \
libsnappy-dev \
libssl-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-bionic/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-bionic/Dockerfile
index b897fa73a3..12bc265b00 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-bionic/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-bionic/Dockerfile
@@ -49,6 +49,8 @@ RUN \
libgoogle-glog-dev \
libgtest-dev \
liblz4-dev \
+ libprotobuf-dev \
+ libprotoc-dev \
libre2-dev \
libsnappy-dev \
libssl-dev \
@@ -57,6 +59,7 @@ RUN \
ninja-build \
nlohmann-json-dev \
pkg-config \
+ protobuf-compiler \
python3-dev \
python3-pip \
python3-setuptools \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile
index cea9eeb6fa..0a76938267 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-focal/Dockerfile
@@ -51,6 +51,8 @@ RUN \
libgoogle-glog-dev \
libgtest-dev \
liblz4-dev \
+ libprotobuf-dev \
+ libprotoc-dev \
libre2-dev \
libsnappy-dev \
libssl-dev \
@@ -62,6 +64,7 @@ RUN \
ninja-build \
nlohmann-json3-dev \
pkg-config \
+ protobuf-compiler \
python3-dev \
python3-pip \
python3-setuptools \
diff --git a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile
index e305479f72..df36652c69 100644
--- a/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile
+++ b/dev/tasks/linux-packages/apache-arrow/apt/ubuntu-jammy/Dockerfile
@@ -52,8 +52,8 @@ RUN \
libgrpc++-dev \
libgtest-dev \
liblz4-dev \
- libprotoc-dev \
libprotobuf-dev \
+ libprotoc-dev \
libre2-dev \
libsnappy-dev \
libssl-dev \
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/control.in b/dev/tasks/linux-packages/apache-arrow/debian/control.in
index 1e05faf282..e0768f73d6 100644
--- a/dev/tasks/linux-packages/apache-arrow/debian/control.in
+++ b/dev/tasks/linux-packages/apache-arrow/debian/control.in
@@ -16,11 +16,11 @@ Build-Depends:
libcurl4-openssl-dev,
libgirepository1.0-dev,
libgoogle-glog-dev,
-@USE_SYSTEM_GRPC@ libgrpc++-dev,
+@ENABLE_FLIGHT@@USE_SYSTEM_GRPC@ libgrpc++-dev,
libgtest-dev,
liblz4-dev,
-@USE_SYSTEM_GRPC@ libprotoc-dev,
-@USE_SYSTEM_GRPC@ libprotobuf-dev,
+@USE_SYSTEM_PROTOBUF@ libprotobuf-dev,
+@USE_SYSTEM_PROTOBUF@ libprotoc-dev,
libre2-dev,
libsnappy-dev,
libssl-dev,
@@ -31,7 +31,8 @@ Build-Depends:
nlohmann-json-dev | nlohmann-json3-dev,
nvidia-cuda-toolkit [!arm64],
pkg-config,
-@USE_SYSTEM_GRPC@ protobuf-compiler-grpc,
+@USE_SYSTEM_PROTOBUF@ protobuf-compiler,
+@ENABLE_FLIGHT@@USE_SYSTEM_GRPC@ protobuf-compiler-grpc,
valac,
tzdata,
zlib1g-dev
@@ -91,31 +92,31 @@ Description: Apache Arrow is a data processing library for analysis
.
This package provides C++ library files for Dataset module.
-Package: libarrow-flight1000
-Section: libs
-Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Depends:
- ${misc:Depends},
- ${shlibs:Depends},
- libarrow1000 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides C++ library files for Flight RPC system.
-
-Package: libarrow-flight-sql1000
-Section: libs
-Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Depends:
- ${misc:Depends},
- ${shlibs:Depends},
- libarrow-flight1000 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides C++ library files for Flight SQL system.
+@ENABLE_FLIGHT@Package: libarrow-flight1000
+@ENABLE_FLIGHT@Section: libs
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Pre-Depends: ${misc:Pre-Depends}
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ ${shlibs:Depends},
+@ENABLE_FLIGHT@ libarrow1000 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides C++ library files for Flight RPC system.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-sql1000
+@ENABLE_FLIGHT@Section: libs
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Pre-Depends: ${misc:Pre-Depends}
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ ${shlibs:Depends},
+@ENABLE_FLIGHT@ libarrow-flight1000 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides C++ library files for Flight SQL system.
Package: libarrow-dev
Section: libdevel
@@ -130,6 +131,8 @@ Depends:
libcurl4-openssl-dev,
@USE_SYSTEM_GRPC@ libgrpc++-dev,
liblz4-dev,
+@USE_SYSTEM_PROTOBUF@ libprotobuf-dev,
+@USE_SYSTEM_PROTOBUF@ libprotoc-dev,
libre2-dev,
libsnappy-dev,
libssl-dev,
@@ -168,29 +171,29 @@ Description: Apache Arrow is a data processing library for analysis
.
This package provides C++ header files for dataset module.
-Package: libarrow-flight-dev
-Section: libdevel
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- libarrow-dev (= ${binary:Version}),
- libarrow-flight1000 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides C++ header files for Flight RPC system.
-
-Package: libarrow-flight-sql-dev
-Section: libdevel
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- libarrow-flight-dev (= ${binary:Version}),
- libarrow-flight-sql1000 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides C++ header files for Flight SQL system.
+@ENABLE_FLIGHT@Package: libarrow-flight-dev
+@ENABLE_FLIGHT@Section: libdevel
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ libarrow-dev (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight1000 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides C++ header files for Flight RPC system.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-sql-dev
+@ENABLE_FLIGHT@Section: libdevel
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ libarrow-flight-dev (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight-sql1000 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides C++ header files for Flight SQL system.
Package: libgandiva1000
Section: libs
@@ -434,109 +437,109 @@ Description: Apache Arrow is a data processing library for analysis
.
This package provides documentations for dataset module.
-Package: libarrow-flight-glib1000
-Section: libs
-Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Depends:
- ${misc:Depends},
- ${shlibs:Depends},
- libarrow-glib1000 (= ${binary:Version}),
- libarrow-flight1000 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides GLib based library files for Apache Arrow Flight.
-
-Package: gir1.2-arrow-flight-1.0
-Section: introspection
-Architecture: any
-Multi-Arch: same
-Depends:
- ${gir:Depends},
- ${misc:Depends},
- gir1.2-arrow-1.0 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides GObject Introspection typelib files for Apache Arrow
- Flight.
-
-Package: libarrow-flight-glib-dev
-Section: libdevel
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- libarrow-flight-dev (= ${binary:Version}),
- libarrow-glib-dev (= ${binary:Version}),
- libarrow-flight-glib1000 (= ${binary:Version}),
- gir1.2-arrow-flight-1.0 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides GLib based header files for Apache Arrow Flight.
-
-Package: libarrow-flight-glib-doc
-Section: doc
-Architecture: any
-Multi-Arch: foreign
-Depends:
- ${misc:Depends}
-Recommends: libarrow-glib-doc
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides documentations for Apache Arrow Flight.
-
-Package: libarrow-flight-sql-glib1000
-Section: libs
-Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Depends:
- ${misc:Depends},
- ${shlibs:Depends},
- libarrow-flight-glib1000 (= ${binary:Version}),
- libarrow-flight-sql1000 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides GLib based library files for Apache Arrow Flight SQL.
-
-Package: gir1.2-arrow-flight-sql-1.0
-Section: introspection
-Architecture: any
-Multi-Arch: same
-Depends:
- ${gir:Depends},
- ${misc:Depends},
- gir1.2-arrow-flight-1.0 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides GObject Introspection typelib files for Apache Arrow
- Flight SQL.
-
-Package: libarrow-flight-sql-glib-dev
-Section: libdevel
-Architecture: any
-Multi-Arch: same
-Depends:
- ${misc:Depends},
- libarrow-flight-sql-dev (= ${binary:Version}),
- libarrow-flight-glib-dev (= ${binary:Version}),
- libarrow-flight-sql-glib1000 (= ${binary:Version}),
- gir1.2-arrow-flight-sql-1.0 (= ${binary:Version})
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides GLib based header files for Apache Arrow Flight SQL.
-
-Package: libarrow-flight-sql-glib-doc
-Section: doc
-Architecture: any
-Multi-Arch: foreign
-Depends:
- ${misc:Depends}
-Recommends: libarrow-flight-glib-doc
-Description: Apache Arrow is a data processing library for analysis
- .
- This package provides documentations for Apache Arrow Flight SQL.
+@ENABLE_FLIGHT@Package: libarrow-flight-glib1000
+@ENABLE_FLIGHT@Section: libs
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Pre-Depends: ${misc:Pre-Depends}
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ ${shlibs:Depends},
+@ENABLE_FLIGHT@ libarrow-glib1000 (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight1000 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides GLib based library files for Apache Arrow Flight.
+
+@ENABLE_FLIGHT@Package: gir1.2-arrow-flight-1.0
+@ENABLE_FLIGHT@Section: introspection
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${gir:Depends},
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ gir1.2-arrow-1.0 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides GObject Introspection typelib files for Apache Arrow
+@ENABLE_FLIGHT@ Flight.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-glib-dev
+@ENABLE_FLIGHT@Section: libdevel
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ libarrow-flight-dev (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-glib-dev (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight-glib1000 (= ${binary:Version}),
+@ENABLE_FLIGHT@ gir1.2-arrow-flight-1.0 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides GLib based header files for Apache Arrow Flight.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-glib-doc
+@ENABLE_FLIGHT@Section: doc
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: foreign
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends}
+@ENABLE_FLIGHT@Recommends: libarrow-glib-doc
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides documentations for Apache Arrow Flight.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-sql-glib1000
+@ENABLE_FLIGHT@Section: libs
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Pre-Depends: ${misc:Pre-Depends}
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ ${shlibs:Depends},
+@ENABLE_FLIGHT@ libarrow-flight-glib1000 (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight-sql1000 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides GLib based library files for Apache Arrow Flight SQL.
+
+@ENABLE_FLIGHT@Package: gir1.2-arrow-flight-sql-1.0
+@ENABLE_FLIGHT@Section: introspection
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${gir:Depends},
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ gir1.2-arrow-flight-1.0 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides GObject Introspection typelib files for Apache Arrow
+@ENABLE_FLIGHT@ Flight SQL.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-sql-glib-dev
+@ENABLE_FLIGHT@Section: libdevel
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: same
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends},
+@ENABLE_FLIGHT@ libarrow-flight-sql-dev (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight-glib-dev (= ${binary:Version}),
+@ENABLE_FLIGHT@ libarrow-flight-sql-glib1000 (= ${binary:Version}),
+@ENABLE_FLIGHT@ gir1.2-arrow-flight-sql-1.0 (= ${binary:Version})
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides GLib based header files for Apache Arrow Flight SQL.
+
+@ENABLE_FLIGHT@Package: libarrow-flight-sql-glib-doc
+@ENABLE_FLIGHT@Section: doc
+@ENABLE_FLIGHT@Architecture: any
+@ENABLE_FLIGHT@Multi-Arch: foreign
+@ENABLE_FLIGHT@Depends:
+@ENABLE_FLIGHT@ ${misc:Depends}
+@ENABLE_FLIGHT@Recommends: libarrow-flight-glib-doc
+@ENABLE_FLIGHT@Description: Apache Arrow is a data processing library for analysis
+@ENABLE_FLIGHT@ .
+@ENABLE_FLIGHT@ This package provides documentations for Apache Arrow Flight SQL.
Package: libgandiva-glib1000
Section: libs
diff --git a/dev/tasks/linux-packages/apache-arrow/debian/rules b/dev/tasks/linux-packages/apache-arrow/debian/rules
index b9664c15a7..c8d0628efa 100755
--- a/dev/tasks/linux-packages/apache-arrow/debian/rules
+++ b/dev/tasks/linux-packages/apache-arrow/debian/rules
@@ -21,6 +21,13 @@ override_dh_auto_configure:
ARROW_CUDA=OFF; \
ARROW_PLASMA=OFF; \
fi; \
+ if [ $$(arch) = "x86_64" ]; then \
+ ARROW_FLIGHT=ON; \
+ ARROW_FLIGHT_SQL=ON; \
+ else \
+ ARROW_FLIGHT=OFF; \
+ ARROW_FLIGHT_SQL=OFF; \
+ fi; \
dh_auto_configure \
--sourcedirectory=cpp \
--builddirectory=cpp_build \
@@ -32,10 +39,9 @@ override_dh_auto_configure:
-DARROW_CUDA=$${ARROW_CUDA} \
-DARROW_DATASET=ON \
-DARROW_FILESYSTEM=ON \
- -DARROW_FLIGHT=ON \
- -DARROW_FLIGHT_SQL=ON \
+ -DARROW_FLIGHT=$${ARROW_FLIGHT} \
+ -DARROW_FLIGHT_SQL=$${ARROW_FLIGHT_SQL} \
-DARROW_GANDIVA=ON \
- -DARROW_GANDIVA_JAVA=OFF \
-DARROW_GCS=ON \
-DARROW_HDFS=ON \
-DARROW_JSON=ON \
@@ -53,7 +59,6 @@ override_dh_auto_configure:
-DARROW_WITH_ZLIB=ON \
-DARROW_WITH_ZSTD=ON \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
- -DCMAKE_UNITY_BUILD=ON \
-DCUDAToolkit_ROOT=/usr \
-DPARQUET_BUILD_EXECUTABLES=ON \
-DPARQUET_REQUIRE_ENCRYPTION=ON
diff --git a/dev/tasks/linux-packages/apt/build.sh b/dev/tasks/linux-packages/apt/build.sh
index fd057613e6..80566f5740 100755
--- a/dev/tasks/linux-packages/apt/build.sh
+++ b/dev/tasks/linux-packages/apt/build.sh
@@ -57,7 +57,7 @@ if which ccache > /dev/null 2>&1; then
export CCACHE_COMPRESSLEVEL=6
export CCACHE_DIR="${PWD}/ccache"
export CCACHE_MAXSIZE=500M
- ccache --show-stats
+ ccache --show-stats --verbose || :
debuild_options+=(-eCCACHE_COMPILERCHECK)
debuild_options+=(-eCCACHE_COMPRESS)
debuild_options+=(-eCCACHE_COMPRESSLEVEL)
@@ -98,7 +98,7 @@ else
run debuild "${debuild_options[@]}" "${dpkg_buildpackage_options[@]}" > /dev/null
fi
if which ccache > /dev/null 2>&1; then
- ccache --show-stats
+ ccache --show-stats --verbose || :
fi
run cd -
diff --git a/dev/tasks/linux-packages/travis.linux.arm64.yml b/dev/tasks/linux-packages/travis.linux.arm64.yml
index 78a086fc77..bc2311a33d 100644
--- a/dev/tasks/linux-packages/travis.linux.arm64.yml
+++ b/dev/tasks/linux-packages/travis.linux.arm64.yml
@@ -120,7 +120,6 @@ script:
BUILD_DIR=build \
DEB_BUILD_OPTIONS=parallel=2 \
RPM_BUILD_NCPUS=2
- - sudo rm -rf */*/build
- popd
# Push Docker image
- pushd arrow/dev/tasks/linux-packages
diff --git a/dev/tasks/linux-packages/yum/build.sh b/dev/tasks/linux-packages/yum/build.sh
index 735b7afa1e..133c55029d 100755
--- a/dev/tasks/linux-packages/yum/build.sh
+++ b/dev/tasks/linux-packages/yum/build.sh
@@ -63,7 +63,7 @@ if which ccache > /dev/null 2>&1; then
export CCACHE_COMPRESSLEVEL=6
export CCACHE_MAXSIZE=500M
export CCACHE_DIR="${PWD}/ccache"
- ccache --show-stats
+ ccache --show-stats --verbose || :
if [ -d "${lib_directory}/ccache" ]; then
PATH="${lib_directory}/ccache:$PATH"
fi
@@ -156,7 +156,7 @@ else
fi
if which ccache > /dev/null 2>&1; then
- ccache --show-stats
+ ccache --show-stats --verbose || :
fi
run mv rpmbuild/RPMS/*/* "${rpm_dir}/"
diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml
index 2cd6c259ec..91e011205a 100644
--- a/dev/tasks/tasks.yml
+++ b/dev/tasks/tasks.yml
@@ -591,8 +591,10 @@ tasks:
{% endif %}
- gir1.2-arrow-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-arrow-dataset-1.0_{no_rc_version}-1_[a-z0-9]+.deb
+ {% if architecture == "amd64" %}
- gir1.2-arrow-flight-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-arrow-flight-sql-1.0_{no_rc_version}-1_[a-z0-9]+.deb
+ {% endif %}
- gir1.2-gandiva-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- gir1.2-parquet-1.0_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dataset-dev_{no_rc_version}-1_[a-z0-9]+.deb
@@ -603,6 +605,7 @@ tasks:
- libarrow-dataset1000-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-dataset1000_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-dev_{no_rc_version}-1_[a-z0-9]+.deb
+ {% if architecture == "amd64" %}
- libarrow-flight-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
@@ -617,6 +620,7 @@ tasks:
- libarrow-flight-sql1000_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-flight1000-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb
- libarrow-flight1000_{no_rc_version}-1_[a-z0-9]+.deb
+ {% endif %}
- libarrow-glib-dev_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-glib-doc_{no_rc_version}-1_[a-z0-9]+.deb
- libarrow-glib1000-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb