kou closed pull request #20: Support Arrow C++ and Arrow GLib 0.8.0 packages for Debian, Ubuntu and CentOS URL: https://github.com/apache/arrow-dist/pull/20
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/cpp-linux/apt/debian-stretch/Dockerfile b/cpp-linux/apt/debian-stretch/Dockerfile index 797cc1b..815349f 100644 --- a/cpp-linux/apt/debian-stretch/Dockerfile +++ b/cpp-linux/apt/debian-stretch/Dockerfile @@ -27,6 +27,7 @@ RUN \ quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \ apt update ${quiet} && \ apt install -y -V ${quiet} \ + autoconf-archive \ build-essential \ cmake \ debhelper\ diff --git a/cpp-linux/apt/ubuntu-artful/Dockerfile b/cpp-linux/apt/ubuntu-artful/Dockerfile index 6daea3a..9cf779b 100644 --- a/cpp-linux/apt/ubuntu-artful/Dockerfile +++ b/cpp-linux/apt/ubuntu-artful/Dockerfile @@ -25,6 +25,7 @@ RUN \ quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \ apt update ${quiet} && \ apt install -y -V ${quiet} \ + autoconf-archive \ build-essential \ cmake \ debhelper\ diff --git a/cpp-linux/apt/ubuntu-xenial/Dockerfile b/cpp-linux/apt/ubuntu-xenial/Dockerfile index 85d1e1a..86dc7d3 100644 --- a/cpp-linux/apt/ubuntu-xenial/Dockerfile +++ b/cpp-linux/apt/ubuntu-xenial/Dockerfile @@ -25,10 +25,12 @@ RUN \ quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \ apt update ${quiet} && \ apt install -y -V ${quiet} \ + autoconf-archive \ build-essential \ cmake \ debhelper\ devscripts \ + dh-autoreconf \ git \ gtk-doc-tools \ libboost-filesystem-dev \ diff --git a/cpp-linux/apt/ubuntu-zesty/Dockerfile b/cpp-linux/apt/ubuntu-zesty/Dockerfile index 03b75c8..f652fed 100644 --- a/cpp-linux/apt/ubuntu-zesty/Dockerfile +++ b/cpp-linux/apt/ubuntu-zesty/Dockerfile @@ -25,6 +25,7 @@ RUN \ quiet=$([ "${DEBUG}" = "yes" ] || echo "-qq") && \ apt update ${quiet} && \ apt install -y -V ${quiet} \ + autoconf-archive \ build-essential \ cmake \ debhelper\ diff --git a/cpp-linux/debian/changelog b/cpp-linux/debian/changelog index 852bac9..691acb7 100644 --- a/cpp-linux/debian/changelog +++ b/cpp-linux/debian/changelog @@ -2,6 +2,8 @@ apache-arrow (0.8.0-1) unstable; urgency=low * New upstream release. + * Add libarrow-gpu-glib0, libarrow-gpu-glib-dev and gir1.2-arrow-gpu-1.0. + -- Uwe L. Korn <uw...@xhochy.com> Sun, 17 Dec 2017 20:24:44 -0000 apache-arrow (0.7.1-2) unstable; urgency=low diff --git a/cpp-linux/debian/compat b/cpp-linux/debian/compat index ec63514..f599e28 100644 --- a/cpp-linux/debian/compat +++ b/cpp-linux/debian/compat @@ -1 +1 @@ -9 +10 diff --git a/cpp-linux/debian/control b/cpp-linux/debian/control index 26b3b10..5b3fa6f 100644 --- a/cpp-linux/debian/control +++ b/cpp-linux/debian/control @@ -3,7 +3,9 @@ Section: devel Priority: optional Maintainer: Kouhei Sutou <k...@clear-code.com> Build-Depends: - debhelper (>= 9), + debhelper (>= 9.20160115), + dh-autoreconf, + autoconf-archive, pkg-config, cmake, git, @@ -147,3 +149,43 @@ Recommends: libglib2.0-doc Description: Apache Arrow is a data processing library for analysis . This package provides documentations. + +Package: libarrow-gpu-glib0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + libarrow-glib0 (= ${binary:Version}), + libarrow-gpu0 (= ${binary:Version}) +Description: Apache Arrow is a data processing library for analysis + . + This package provides library files for GPU support. + +Package: gir1.2-arrow-gpu-1.0 +Section: introspection +Architecture: any +Multi-Arch: same +Depends: + ${gir:Depends}, + ${misc:Depends} +Description: Apache Arrow is a data processing library for analysis + . + This package provides GObject Introspection typelib files for GPU support. + +Package: libarrow-gpu-glib-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: + ${misc:Depends}, + libarrow-dev (= ${binary:Version}), + libarrow-glib-dev (= ${binary:Version}), + libarrow-gpu-dev (= ${binary:Version}), + libarrow-gpu-glib0 (= ${binary:Version}), + gir1.2-arrow-gpu-1.0 (= ${binary:Version}) +Description: Apache Arrow is a data processing library for analysis + . + This package provides header files for GPU support. diff --git a/cpp-linux/debian/gir1.2-arrow-1.0.install b/cpp-linux/debian/gir1.2-arrow-1.0.install index 9038727..e0197fc 100644 --- a/cpp-linux/debian/gir1.2-arrow-1.0.install +++ b/cpp-linux/debian/gir1.2-arrow-1.0.install @@ -1 +1 @@ -usr/lib/*/girepository-1.0/ +usr/lib/*/girepository-1.0/Arrow-1.0.typelib diff --git a/cpp-linux/debian/gir1.2-arrow-gpu-1.0.install b/cpp-linux/debian/gir1.2-arrow-gpu-1.0.install new file mode 100644 index 0000000..10e0ca9 --- /dev/null +++ b/cpp-linux/debian/gir1.2-arrow-gpu-1.0.install @@ -0,0 +1 @@ +usr/lib/*/girepository-1.0/ArrowGPU-1.0.typelib diff --git a/cpp-linux/debian/libarrow-glib-dev.install b/cpp-linux/debian/libarrow-glib-dev.install index 827e4cf..e59a1f9 100644 --- a/cpp-linux/debian/libarrow-glib-dev.install +++ b/cpp-linux/debian/libarrow-glib-dev.install @@ -2,5 +2,5 @@ usr/include/arrow-glib/ usr/lib/*/libarrow-glib.a usr/lib/*/libarrow-glib.so usr/lib/*/pkgconfig/arrow-glib.pc -usr/share/gir-1.0/ +usr/share/gir-1.0/Arrow-1.0.gir usr/share/arrow-glib/example/ diff --git a/cpp-linux/debian/libarrow-gpu-glib-dev.install b/cpp-linux/debian/libarrow-gpu-glib-dev.install new file mode 100644 index 0000000..9b3ef8f --- /dev/null +++ b/cpp-linux/debian/libarrow-gpu-glib-dev.install @@ -0,0 +1,5 @@ +usr/include/arrow-gpu-glib/ +usr/lib/*/libarrow-gpu-glib.a +usr/lib/*/libarrow-gpu-glib.so +usr/lib/*/pkgconfig/arrow-gpu-glib.pc +usr/share/gir-1.0/ArrowGPU-1.0.gir diff --git a/cpp-linux/debian/libarrow-gpu-glib0.install b/cpp-linux/debian/libarrow-gpu-glib0.install new file mode 100644 index 0000000..4d97e5a --- /dev/null +++ b/cpp-linux/debian/libarrow-gpu-glib0.install @@ -0,0 +1 @@ +usr/lib/*/libarrow-gpu-glib.so.* diff --git a/cpp-linux/debian/patches/0001-ARROW-1933-GLib-Fix-build-error-with-with-arrow-cpp-.patch b/cpp-linux/debian/patches/0001-ARROW-1933-GLib-Fix-build-error-with-with-arrow-cpp-.patch new file mode 100644 index 0000000..802b27b --- /dev/null +++ b/cpp-linux/debian/patches/0001-ARROW-1933-GLib-Fix-build-error-with-with-arrow-cpp-.patch @@ -0,0 +1,130 @@ +From 72e660a7c90f1846eac473c21fb718a2e23c476e Mon Sep 17 00:00:00 2001 +From: Kouhei Sutou <k...@clear-code.com> +Date: Mon, 18 Dec 2017 16:52:22 +0100 +Subject: [PATCH] ARROW-1933: [GLib] Fix build error with + --with-arrow-cpp-build-dir + +The option is used in building deb package. + +`arrow/gpu/cuda_version.h` exists in build directory not source directory. + +Author: Kouhei Sutou <k...@clear-code.com> + +Closes #1429 from kou/glib-fix-build-error-with-arrow-cpp-build-dir and squashes the following commits: + +879d6bc [Kouhei Sutou] [GLib] Fix build error with --with-arrow-cpp-build-dir +--- + c_glib/arrow-glib/Makefile.am | 4 ++++ + c_glib/arrow-gpu-glib/Makefile.am | 13 ++++++++++++- + c_glib/configure.ac | 18 +++++++++++++++--- + c_glib/example/Makefile.am | 4 ++++ + 4 files changed, 35 insertions(+), 4 deletions(-) + +diff --git a/c_glib/arrow-glib/Makefile.am b/c_glib/arrow-glib/Makefile.am +index 39222a54..16d07031 100644 +--- a/c_glib/arrow-glib/Makefile.am ++++ b/c_glib/arrow-glib/Makefile.am +@@ -212,6 +212,10 @@ if HAVE_INTROSPECTION + INTROSPECTION_GIRS = + INTROSPECTION_SCANNER_ARGS = + INTROSPECTION_SCANNER_ENV = ++if USE_ARROW_BUILD_DIR ++INTROSPECTION_SCANNER_ENV += \ ++ LD_LIBRARY_PATH=$(ARROW_LIB_DIR):$${PKG_CONFIG_PATH} ++endif + if OS_MACOS + INTROSPECTION_SCANNER_ENV += \ + ARCHFLAGS= +diff --git a/c_glib/arrow-gpu-glib/Makefile.am b/c_glib/arrow-gpu-glib/Makefile.am +index 11ffa5ec..1e1c02ac 100644 +--- a/c_glib/arrow-gpu-glib/Makefile.am ++++ b/c_glib/arrow-gpu-glib/Makefile.am +@@ -70,8 +70,14 @@ if HAVE_INTROSPECTION + -include $(INTROSPECTION_MAKEFILE) + INTROSPECTION_GIRS = + INTROSPECTION_SCANNER_ARGS = +-INTROSPECTION_SCANNER_ENV = \ ++INTROSPECTION_SCANNER_ENV = ++if USE_ARROW_BUILD_DIR ++INTROSPECTION_SCANNER_ENV += \ ++ PKG_CONFIG_PATH=${abs_builddir}/../arrow-glib:$(ARROW_BUILD_DIR)/src/arrow:$${PKG_CONFIG_PATH} ++else ++INTROSPECTION_SCANNER_ENV += \ + PKG_CONFIG_PATH=${abs_builddir}/../arrow-glib:$${PKG_CONFIG_PATH} ++endif + if OS_MACOS + INTROSPECTION_SCANNER_ENV += \ + ARCHFLAGS= +@@ -88,6 +94,11 @@ ArrowGPU_1_0_gir_INCLUDES = \ + Arrow-1.0 + ArrowGPU_1_0_gir_CFLAGS = \ + $(AM_CPPFLAGS) ++ArrowGPU_1_0_gir_LDFLAGS = ++if USE_ARROW_BUILD_DIR ++ArrowGPU_1_0_gir_LDFLAGS += \ ++ -L$(ARROW_LIB_DIR) ++endif + ArrowGPU_1_0_gir_LIBS = \ + $(abs_builddir)/../arrow-glib/libarrow-glib.la \ + libarrow-gpu-glib.la +diff --git a/c_glib/configure.ac b/c_glib/configure.ac +index f06a017a..eabe7bad 100644 +--- a/c_glib/configure.ac ++++ b/c_glib/configure.ac +@@ -89,16 +89,25 @@ AC_ARG_WITH(arrow-cpp-build-dir, + [GARROW_ARROW_CPP_BUILD_DIR="$withval"], + [GARROW_ARROW_CPP_BUILD_DIR=""]) + if test "x$GARROW_ARROW_CPP_BUILD_DIR" = "x"; then ++ USE_ARROW_BUILD_DIR=no ++ + PKG_CHECK_MODULES([ARROW], [arrow arrow-compute]) + PKG_CHECK_MODULES([ARROW_GPU], + [arrow-gpu], + [HAVE_ARROW_GPU=yes], + [HAVE_ARROW_GPU=no]) + else +- ARROW_INCLUDE_DIR="\$(abs_top_srcdir)/../cpp/src" +- ARROW_LIB_DIR="${GARROW_ARROW_CPP_BUILD_DIR}/${GARROW_ARROW_CPP_BUILD_TYPE}" ++ USE_ARROW_BUILD_DIR=yes + +- ARROW_CFLAGS="-I${ARROW_INCLUDE_DIR}" ++ ARROW_BUILD_DIR="${GARROW_ARROW_CPP_BUILD_DIR}" ++ AC_SUBST(ARROW_BUILD_DIR) ++ ++ ARROW_SOURCE_INCLUDE_DIR="\$(abs_top_srcdir)/../cpp/src" ++ ARROW_BUILD_INCLUDE_DIR="${GARROW_ARROW_CPP_BUILD_DIR}/src" ++ ARROW_LIB_DIR="${GARROW_ARROW_CPP_BUILD_DIR}/${GARROW_ARROW_CPP_BUILD_TYPE}" ++ AC_SUBST(ARROW_LIB_DIR) ++ ++ ARROW_CFLAGS="-I${ARROW_BUILD_INCLUDE_DIR} -I${ARROW_SOURCE_INCLUDE_DIR}" + ARROW_LIBS="-L${ARROW_LIB_DIR} -larrow" + AC_SUBST(ARROW_CFLAGS) + AC_SUBST(ARROW_LIBS) +@@ -115,6 +124,9 @@ else + AC_SUBST(ARROW_GPU_LIBS) + fi + ++AM_CONDITIONAL([USE_ARROW_BUILD_DIR], ++ [test "$USE_ARROW_BUILD_DIR" = "yes"]) ++ + AM_CONDITIONAL([HAVE_ARROW_GPU], [test "$HAVE_ARROW_GPU" = "yes"]) + if test "$HAVE_ARROW_GPU" = "yes"; then + AC_DEFINE(HAVE_ARROW_GPU, [1], [Define to 1 if Apache Arrow supports GPU.]) +diff --git a/c_glib/example/Makefile.am b/c_glib/example/Makefile.am +index 3eaf808b..f4aca70c 100644 +--- a/c_glib/example/Makefile.am ++++ b/c_glib/example/Makefile.am +@@ -33,6 +33,10 @@ AM_CFLAGS = \ + AM_LDFLAGS = \ + $(GLIB_LIBS) \ + $(builddir)/../arrow-glib/libarrow-glib.la ++if USE_ARROW_BUILD_DIR ++AM_LDFLAGS += \ ++ $(ARROW_LIBS) ++endif + + noinst_PROGRAMS = \ + build \ +-- +2.15.1 + diff --git a/cpp-linux/debian/patches/series b/cpp-linux/debian/patches/series index e69de29..bfc6620 100644 --- a/cpp-linux/debian/patches/series +++ b/cpp-linux/debian/patches/series @@ -0,0 +1 @@ +0001-ARROW-1933-GLib-Fix-build-error-with-with-arrow-cpp-.patch diff --git a/cpp-linux/debian/rules b/cpp-linux/debian/rules index dbfcb46..036ba8a 100755 --- a/cpp-linux/debian/rules +++ b/cpp-linux/debian/rules @@ -9,7 +9,11 @@ export DH_OPTIONS BUILD_TYPE=release %: - dh $@ --with gir + dh $@ --with gir,autoreconf + +override_dh_autoreconf: + dh_autoreconf \ + --sourcedirectory=c_glib override_dh_auto_configure: dh_auto_configure \ diff --git a/cpp-linux/yum/centos-6/Dockerfile b/cpp-linux/yum/centos-6/Dockerfile index 790e2e9..1f98d79 100644 --- a/cpp-linux/yum/centos-6/Dockerfile +++ b/cpp-linux/yum/centos-6/Dockerfile @@ -20,7 +20,7 @@ FROM centos:6 ARG DEBUG ENV \ - SRPM_DOWNLOAD_URL=http://vault.centos.org/7.3.1611/os/Source/SPackages \ + SRPM_DOWNLOAD_URL=http://vault.centos.org/7.4.1708/os/Source/SPackages \ LIBARCHIVE_SRPM_BASE=libarchive-3.1.2-10.el7_2.src.rpm RUN \ @@ -37,7 +37,7 @@ RUN \ wget ${quiet} ${SRPM_DOWNLOAD_URL}/${LIBARCHIVE_SRPM_BASE} && \ yum-builddep -y ${quiet} --nogpgcheck ${LIBARCHIVE_SRPM_BASE} && \ rpm -i ${quiet} ${LIBARCHIVE_SRPM_BASE} && \ - sed -i'' -e 's/^run_autotests$/:/g' ~/rpmbuild/SPECS/libarchive.spec && \ + sed -i'' -e 's/^run_testsuite$/:/g' ~/rpmbuild/SPECS/libarchive.spec && \ AUTOM4TE=autom4te268 \ rpmbuild -bb ${quiet} \ ~/rpmbuild/SPECS/libarchive.spec && \ ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services