Summary: Library for producing small, fast columnar storage for Hadoop workloads Name: liborc Version: 1.7.5 Release: 1%{?dist} License: ASL 2.0 URL: http://orc.apache.org/ Source: https://archive.apache.org/dist/orc/orc-%{version}/orc-%{version}.tar.gz Patch1: 0001-cmake.patch # Apache ORC has numerous compile errors and apparently assumes a 64-bit # build and runtime environment. The only consumer of this package is # Ceph (by way of Apache Arrow) which is also 64-bit only ExcludeArch: i686 armv7hl BuildRequires: gnupg2 BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: protobuf-devel BuildRequires: zlib-devel BuildRequires: libzstd-devel BuildRequires: lz4-devel BuildRequires: snappy-devel %description ORC is a self-describing type-aware columnar file format designed for Hadoop workloads. It is optimized for large streaming reads, but with integrated support for finding required rows quickly. Storing data in a columnar format lets the reader read, decompress, and process only the values that are required for the current query. Because ORC files are type-aware, the writer chooses the most appropriate encoding for the type and builds an internal index as the file is written. Predicate pushdown uses those indexes to determine which stripes in a file need to be read for a particular query and the row indexes can narrow the search to a particular set of 10,000 rows. ORC supports the complete set of types in Hive, including the complex types: structs, lists, maps, and unions. %package -n liborc1 Summary: Library for producing small, fast columnar storage for Hadoop workloads Provides: %{name}%{?_isa} = %{version}-%{release} %description -n liborc1 ORC is a self-describing type-aware columnar file format designed for Hadoop workloads. It is optimized for large streaming reads, but with integrated support for finding required rows quickly. Storing data in a columnar format lets the reader read, decompress, and process only the values that are required for the current query. Because ORC files are type-aware, the writer chooses the most appropriate encoding for the type and builds an internal index as the file is written. Predicate pushdown uses those indexes to determine which stripes in a file need to be read for a particular query and the row indexes can narrow the search to a particular set of 10,000 rows. ORC supports the complete set of types in Hive, including the complex types: structs, lists, maps, and unions. %package devel Summary: Header files, libraries and development documentation for %{name} Requires: %{name}1 = %{version}-%{release} %description devel ORC is a self-describing type-aware columnar file format designed for Hadoop workloads. It is optimized for large streaming reads, but with integrated support for finding required rows quickly. Storing data in a columnar format lets the reader read, decompress, and process only the values that are required for the current query. Because ORC files are type-aware, the writer chooses the most appropriate encoding for the type and builds an internal index as the file is written. Predicate pushdown uses those indexes to determine which stripes in a file need to be read for a particular query and the row indexes can narrow the search to a particular set of 10,000 rows. ORC supports the complete set of types in Hive, including the complex types: structs, lists, maps, and unions. Contains header files for developing applications that use the %{name} library. %prep %setup -qn orc-%{version} %patch1 -p1 %build %cmake . \ -DOVERRIDE_INSTALL_PREFIX=/usr \ -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DINSTALL_LIBDIR:PATH=%{_libdir} \ -DBUILD_SHARED_LIBS:BOOL=on \ -DBUILD_LIBHDFSPP:BOOL=off \ -DSNAPPY_HOME="/usr" \ -DLZ4_HOME="/usr" \ -DZLIB_HOME="/usr" \ -DZSTD_HOME="/usr" \ -DGTEST_HOME="/usr" \ -DPROTOBUF_HOME="/usr" \ -Dorc_VERSION="%{version}" \ -DBUILD_CPP_TESTS=off \ -DBUILD_TOOLS=off \ -DBUILD_JAVA=off \ -DANALYZE_JAVA=off \ "-GUnix Makefiles" %cmake_build %check %install %cmake_install mkdir %{buildroot}%{_docdir}/%{name}1 mv %{buildroot}%{_docdir}/orc/NOTICE %{buildroot}%{_docdir}/%{name}1/ mkdir -p %{buildroot}/%{_defaultlicensedir}/%{name}1 mv %{buildroot}%{_docdir}/orc/LICENSE %{buildroot}/%{_defaultlicensedir}/%{name}1/ %ldconfig_scriptlets %files -n %{name}1 %license LICENSE %doc README.md NOTICE %{_libdir}/liborc.so.* %files devel %dir %{_includedir}/orc %{_includedir}/orc/*.hh %dir %{_includedir}/orc/sargs %{_includedir}/orc/sargs/*.hh %{_libdir}/liborc.so %dir %{_libdir}/cmake/orc %{_libdir}/cmake/orc/orc*.cmake %changelog * Tue Jun 21 2022 Kaleb S. KEITHLEY - 1.7.5-1 - 1.7.5 GA * Sun May 1 2022 Kaleb S. KEITHLEY - 1.7.4-1 - 1.7.4 GA * Tue Feb 22 2022 Kaleb S. KEITHLEY - 1.7.3-3 - 1.7.3, rebuild with protobuf-3.19.0 * Tue Feb 15 2022 Kaleb S. KEITHLEY - 1.7.3-2 - 1.7.3, fix SO_NAME * Thu Feb 10 2022 Kaleb S. KEITHLEY - 1.7.3-1 - 1.7.3 GA * Fri Aug 27 2021 Kaleb S. KEITHLEY - 1.6.6-1 - New upstream release.