Skip to content

Commit 6f3d96e

Browse files
authored
GH-34914: [Packaging][Linux] Add support for Acero (#34915)
### Rationale for this change We need to update Linux packages for #34711. ### What changes are included in this PR? Add Acero related packages. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * Closes: #34914 Authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
1 parent 35ef0fd commit 6f3d96e

11 files changed

Lines changed: 115 additions & 75 deletions

File tree

cpp/src/arrow/dataset/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,9 @@ set(ARROW_DATASET_SRCS
3131
scanner.cc
3232
scan_node.cc)
3333

34+
set(ARROW_DATASET_PKG_CONFIG_REQUIRES arrow_acero)
3435
if(ARROW_PARQUET)
35-
set(ARROW_DATASET_PKG_CONFIG_REQUIRES parquet)
36-
else()
37-
set(ARROW_DATASET_PKG_CONFIG_REQUIRES arrow arrow_acero)
36+
list(APPEND ARROW_DATASET_PKG_CONFIG_REQUIRES parquet)
3837
endif()
3938

4039
set(ARROW_DATASET_STATIC_LINK_LIBS)

dev/release/post-11-bump-versions-test.rb

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -308,13 +308,6 @@ def test_deb_package_names
308308
}
309309
end
310310
expected_changes = [
311-
{
312-
sampled_diff: [
313-
"-dev/tasks/linux-packages/apache-arrow/debian/libarrow-cuda-glib#{@so_version}.install",
314-
"+dev/tasks/linux-packages/apache-arrow/debian/libarrow-cuda-glib#{@next_so_version}.install",
315-
],
316-
path: "dev/release/rat_exclude_files.txt",
317-
},
318311
{
319312
sampled_diff: [
320313
"-Package: libarrow#{@so_version}",
@@ -324,8 +317,8 @@ def test_deb_package_names
324317
},
325318
{
326319
sampled_diff: [
327-
"- - libarrow-dataset-glib#{@so_version}-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb",
328-
"+ - libarrow-dataset-glib#{@next_so_version}-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb",
320+
"- - libarrow-acero#{@so_version}-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb",
321+
"+ - libarrow-acero#{@next_so_version}-dbgsym_{no_rc_version}-1_[a-z0-9]+.d?deb",
329322
],
330323
path: "dev/tasks/tasks.yml",
331324
},

dev/release/rat_exclude_files.txt

Lines changed: 3 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -47,61 +47,11 @@ dev/tasks/linux-packages/apache-arrow-apt-source/debian/compat
4747
dev/tasks/linux-packages/apache-arrow-apt-source/debian/control
4848
dev/tasks/linux-packages/apache-arrow-apt-source/debian/rules
4949
dev/tasks/linux-packages/apache-arrow-apt-source/debian/source/format
50+
dev/tasks/linux-packages/apache-arrow/debian/*.doc-base
51+
dev/tasks/linux-packages/apache-arrow/debian/*.install
52+
dev/tasks/linux-packages/apache-arrow/debian/*.links
5053
dev/tasks/linux-packages/apache-arrow/debian/compat
5154
dev/tasks/linux-packages/apache-arrow/debian/control.in
52-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-1.0.install
53-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-cuda-1.0.install
54-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-dataset-1.0.install
55-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-flight-1.0.install
56-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-arrow-flight-sql-1.0.install
57-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-gandiva-1.0.install
58-
dev/tasks/linux-packages/apache-arrow/debian/gir1.2-parquet-1.0.install
59-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-cuda-dev.install
60-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-cuda-glib-dev.install
61-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-cuda-glib1200.install
62-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-cuda1200.install
63-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-dev.install
64-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-dev.install
65-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.doc-base
66-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.install
67-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib-doc.links
68-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset-glib1200.install
69-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dataset1200.install
70-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-dev.install
71-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-dev.install
72-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-dev.install
73-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.doc-base
74-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.install
75-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib-doc.links
76-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-glib1200.install
77-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-dev.install
78-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-dev.install
79-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.doc-base
80-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.install
81-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib-doc.links
82-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql-glib1200.install
83-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight-sql1200.install
84-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-flight1200.install
85-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-dev.install
86-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.doc-base
87-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.install
88-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib-doc.links
89-
dev/tasks/linux-packages/apache-arrow/debian/libarrow-glib1200.install
90-
dev/tasks/linux-packages/apache-arrow/debian/libarrow1200.install
91-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva-dev.install
92-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-dev.install
93-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.doc-base
94-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.install
95-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib-doc.links
96-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva-glib1200.install
97-
dev/tasks/linux-packages/apache-arrow/debian/libgandiva1200.install
98-
dev/tasks/linux-packages/apache-arrow/debian/libparquet-dev.install
99-
dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-dev.install
100-
dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.doc-base
101-
dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.install
102-
dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib-doc.links
103-
dev/tasks/linux-packages/apache-arrow/debian/libparquet-glib1200.install
104-
dev/tasks/linux-packages/apache-arrow/debian/libparquet1200.install
10555
dev/tasks/linux-packages/apache-arrow/debian/patches/series
10656
dev/tasks/linux-packages/apache-arrow/debian/rules
10757
dev/tasks/linux-packages/apache-arrow/debian/shlibs.local

dev/release/verify-yum.sh

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ have_glib=yes
5757
have_parquet=yes
5858
have_python=yes
5959
have_ruby=yes
60+
have_vala=yes
6061
ruby_devel_packages=(ruby-devel)
6162
install_command="dnf install -y --enablerepo=crb"
6263
uninstall_command="dnf remove -y"
@@ -105,6 +106,7 @@ case "${distribution}-${distribution_version}" in
105106
have_gandiva=no
106107
have_python=no
107108
have_ruby=no
109+
have_vala=no
108110
install_command="yum install -y"
109111
uninstall_command="yum remove -y"
110112
clean_command="yum clean"
@@ -234,12 +236,14 @@ if [ "${have_glib}" = "yes" ]; then
234236
${install_command} --enablerepo=epel arrow-glib-devel-${package_version}
235237
${install_command} --enablerepo=epel arrow-glib-doc-${package_version}
236238

237-
${install_command} vala
238-
cp -a "${TOP_SOURCE_DIR}/c_glib/example/vala" build/
239-
pushd build/vala
240-
valac --pkg arrow-glib --pkg posix build.vala
241-
./build
242-
popd
239+
if [ "${have_vala}" = "yes" ]; then
240+
${install_command} vala
241+
cp -a "${TOP_SOURCE_DIR}/c_glib/example/vala" build/
242+
pushd build/vala
243+
valac --pkg arrow-glib --pkg posix build.vala
244+
./build
245+
popd
246+
fi
243247

244248
if [ "${have_ruby}" = "yes" ]; then
245249
${install_command} "${ruby_devel_packages[@]}"
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/bin/arrow-*

dev/tasks/linux-packages/apache-arrow/debian/control.in

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,19 @@ Description: Apache Arrow is a data processing library for analysis
7979
.
8080
This package provides C++ library files for CUDA support.
8181

82+
Package: libarrow-acero1200
83+
Section: libs
84+
Architecture: any
85+
Multi-Arch: same
86+
Pre-Depends: ${misc:Pre-Depends}
87+
Depends:
88+
${misc:Depends},
89+
${shlibs:Depends},
90+
libarrow1200 (= ${binary:Version})
91+
Description: Apache Arrow is a data processing library for analysis
92+
.
93+
This package provides C++ library files for Acero module.
94+
8295
Package: libarrow-dataset1200
8396
Section: libs
8497
Architecture: any
@@ -87,7 +100,7 @@ Pre-Depends: ${misc:Pre-Depends}
87100
Depends:
88101
${misc:Depends},
89102
${shlibs:Depends},
90-
libarrow1200 (= ${binary:Version}),
103+
libarrow-acero1200 (= ${binary:Version}),
91104
libparquet1200 (= ${binary:Version})
92105
Description: Apache Arrow is a data processing library for analysis
93106
.
@@ -159,13 +172,25 @@ Description: Apache Arrow is a data processing library for analysis
159172
.
160173
This package provides C++ header files for CUDA support.
161174

175+
Package: libarrow-acero-dev
176+
Section: libdevel
177+
Architecture: any
178+
Multi-Arch: same
179+
Depends:
180+
${misc:Depends},
181+
libarrow-acero1200 (= ${binary:Version}),
182+
libparquet-dev (= ${binary:Version})
183+
Description: Apache Arrow is a data processing library for analysis
184+
.
185+
This package provides C++ header files for Acero module.
186+
162187
Package: libarrow-dataset-dev
163188
Section: libdevel
164189
Architecture: any
165190
Multi-Arch: same
166191
Depends:
167192
${misc:Depends},
168-
libarrow-dev (= ${binary:Version}),
193+
libarrow-acero-dev (= ${binary:Version}),
169194
libarrow-dataset1200 (= ${binary:Version}),
170195
libparquet-dev (= ${binary:Version})
171196
Description: Apache Arrow is a data processing library for analysis
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
usr/lib/*/cmake/ArrowAcero/
2+
usr/lib/*/libarrow_acero.a
3+
usr/lib/*/libarrow_acero.so
4+
usr/lib/*/pkgconfig/arrow-acero.pc
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/lib/*/libarrow_acero.so.*
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
usr/bin/parquet-*

dev/tasks/linux-packages/apache-arrow/yum/arrow.spec.in

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
# Travis CI.
7878
# %%define use_s3 (%%{rhel} >= 8)
7979
%define use_s3 0
80+
%define use_vala (%{rhel} >= 8 || %{is_amazon_linux})
8081

8182
%define have_lz4_libs (%{rhel} >= 8)
8283
%define have_rapidjson (%{rhel} != 8)
@@ -146,7 +147,9 @@ BuildRequires: ncurses-devel
146147

147148
BuildRequires: gobject-introspection-devel
148149
BuildRequires: gtk-doc
150+
%if %{use_vala}
149151
BuildRequires: vala
152+
%endif
150153

151154
%description
152155
Apache Arrow is a data processing library for analysis.
@@ -212,7 +215,9 @@ meson setup build \
212215
-Darrow_cpp_build_dir=../cpp/%{arrow_cmake_builddir} \
213216
-Darrow_cpp_build_type=$cpp_build_type \
214217
-Dgtk_doc=true \
218+
%if %{use_vala}
215219
-Dvapi=true
220+
%endif
216221

217222
LD_LIBRARY_PATH=$PWD/../cpp/%{arrow_cmake_builddir}/$cpp_build_type \
218223
meson compile -C build %{?_smp_mflags}
@@ -320,6 +325,7 @@ Libraries and header files for Apache Arrow C++.
320325
%{_datadir}/arrow/gdb/
321326
%{_datadir}/gdb/auto-load/
322327
%{_includedir}/arrow/
328+
%exclude %{_includedir}/arrow/acero/
323329
%exclude %{_includedir}/arrow/dataset/
324330
%if %{use_flight}
325331
%exclude %{_includedir}/arrow/flight/
@@ -336,10 +342,44 @@ Libraries and header files for Apache Arrow C++.
336342
%{_libdir}/pkgconfig/arrow-orc.pc
337343
%{_libdir}/pkgconfig/arrow.pc
338344

345+
%package -n %{name}%{major_version}-acero-libs
346+
Summary: C++ library to execute a query in streaming
347+
License: Apache-2.0
348+
Requires: %{name}%{major_version}-libs = %{version}-%{release}
349+
350+
%description -n %{name}%{major_version}-acero-libs
351+
This package contains the libraries for Apache Arrow Acero.
352+
353+
%files -n %{name}%{major_version}-acero-libs
354+
%defattr(-,root,root,-)
355+
%doc README.md
356+
%license LICENSE.txt NOTICE.txt
357+
%{_libdir}/libarrow_acero.so.*
358+
359+
%package acero-devel
360+
Summary: Libraries and header files for Apache Arrow Acero
361+
License: Apache-2.0
362+
Requires: %{name}%{major_version}-acero-libs = %{version}-%{release}
363+
Requires: %{name}-devel = %{version}-%{release}
364+
365+
%description acero-devel
366+
Libraries and header files for Apache Arrow Acero
367+
368+
%files acero-devel
369+
%defattr(-,root,root,-)
370+
%doc README.md
371+
%license LICENSE.txt NOTICE.txt
372+
%{_includedir}/arrow/acero/
373+
%{_libdir}/cmake/ArrowAcero/
374+
%{_libdir}/libarrow_acero.a
375+
%{_libdir}/libarrow_acero.so
376+
%{_libdir}/pkgconfig/arrow-acero.pc
377+
339378
%package -n %{name}%{major_version}-dataset-libs
340379
Summary: C++ library to read and write semantic datasets stored in different locations and formats
341380
License: Apache-2.0
342-
Requires: %{name}%{major_version}-libs = %{version}-%{release}
381+
Requires: %{name}%{major_version}-acero-libs = %{version}-%{release}
382+
Requires: parquet%{major_version}-libs = %{version}-%{release}
343383

344384
%description -n %{name}%{major_version}-dataset-libs
345385
This package contains the libraries for Apache Arrow dataset.
@@ -354,7 +394,8 @@ This package contains the libraries for Apache Arrow dataset.
354394
Summary: Libraries and header files for Apache Arrow dataset.
355395
License: Apache-2.0
356396
Requires: %{name}%{major_version}-dataset-libs = %{version}-%{release}
357-
Requires: %{name}-devel = %{version}-%{release}
397+
Requires: %{name}-acero-devel = %{version}-%{release}
398+
Requires: parquet-devel = %{version}-%{release}
358399

359400
%description dataset-devel
360401
Libraries and header files for Apache Arrow dataset.
@@ -559,7 +600,9 @@ Libraries and header files for Apache Arrow GLib.
559600
%license LICENSE.txt NOTICE.txt
560601
%{_datadir}/arrow-glib/example/
561602
%{_datadir}/gir-1.0/Arrow-*.gir
603+
%if %{use_vala}
562604
%{_datadir}/vala/vapi/arrow-glib.*
605+
%endif
563606
%{_includedir}/arrow-glib/
564607
%{_libdir}/libarrow-glib.a
565608
%{_libdir}/libarrow-glib.so
@@ -611,7 +654,9 @@ Libraries and header files for Apache Arrow Dataset GLib.
611654
%doc README.md
612655
%license LICENSE.txt NOTICE.txt
613656
%{_datadir}/gir-1.0/ArrowDataset-*.gir
657+
%if %{use_vala}
614658
%{_datadir}/vala/vapi/arrow-dataset-glib.*
659+
%endif
615660
%{_includedir}/arrow-dataset-glib/
616661
%{_libdir}/libarrow-dataset-glib.a
617662
%{_libdir}/libarrow-dataset-glib.so
@@ -662,7 +707,9 @@ Libraries and header files for Apache Arrow Flight GLib.
662707
%doc README.md
663708
%license LICENSE.txt NOTICE.txt
664709
%{_datadir}/gir-1.0/ArrowFlight-*.gir
710+
%if %{use_vala}
665711
%{_datadir}/vala/vapi/arrow-flight-glib.*
712+
%endif
666713
%{_includedir}/arrow-flight-glib/
667714
%{_libdir}/libarrow-flight-glib.a
668715
%{_libdir}/libarrow-flight-glib.so
@@ -712,7 +759,9 @@ Libraries and header files for Apache Arrow Flight SQL GLib.
712759
%doc README.md
713760
%license LICENSE.txt NOTICE.txt
714761
%{_datadir}/gir-1.0/ArrowFlightSQL-*.gir
762+
%if %{use_vala}
715763
%{_datadir}/vala/vapi/arrow-flight-sql-glib.*
764+
%endif
716765
%{_includedir}/arrow-flight-sql-glib/
717766
%{_libdir}/libarrow-flight-sql-glib.a
718767
%{_libdir}/libarrow-flight-sql-glib.so
@@ -764,7 +813,9 @@ Libraries and header files for Gandiva GLib.
764813
%doc README.md
765814
%license LICENSE.txt NOTICE.txt
766815
%{_datadir}/gir-1.0/Gandiva-*.gir
816+
%if %{use_vala}
767817
%{_datadir}/vala/vapi/gandiva-glib.*
818+
%endif
768819
%{_includedir}/gandiva-glib/
769820
%{_libdir}/libgandiva-glib.a
770821
%{_libdir}/libgandiva-glib.so
@@ -815,7 +866,9 @@ Libraries and header files for Apache Parquet GLib.
815866
%doc README.md
816867
%license LICENSE.txt NOTICE.txt
817868
%{_datadir}/gir-1.0/Parquet-*.gir
869+
%if %{use_vala}
818870
%{_datadir}/vala/vapi/parquet-glib.*
871+
%endif
819872
%{_includedir}/parquet-glib/
820873
%{_libdir}/libparquet-glib.a
821874
%{_libdir}/libparquet-glib.so

0 commit comments

Comments
 (0)