aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@verizonmedia.com>2023-09-11 15:20:38 +0200
committerGitHub <noreply@github.com>2023-09-11 15:20:38 +0200
commit7a99c755430fd9443f7452dad68380d33b1fae26 (patch)
tree6013222e09c55f509a417de2ffeb361a805a840a
parent2b1c1a08162e83a1d0d89a0e6159c52712802845 (diff)
parentd08ebdedc935c4fb49a5381e012d08146a8dc0cc (diff)
Merge pull request #28479 from vespa-engine/aressem/depend-on-vespa-build-deps
Aressem/depend on vespa build deps
-rw-r--r--dist/vespa.spec218
1 files changed, 66 insertions, 152 deletions
diff --git a/dist/vespa.spec b/dist/vespa.spec
index 094c55d00da..41fb36003e3 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -42,181 +42,80 @@ License: Commercial
URL: http://vespa.ai
Source0: vespa-%{version}.tar.gz
-%if 0%{?centos} || 0%{?rocky} || 0%{?oraclelinux}
-BuildRequires: epel-release
-%endif
+BuildRequires: vespa-build-dependencies = 1.0.0
+
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-base-libs = %{version}-%{release}
+Requires: %{name}-config-model-fat = %{version}-%{release}
+Requires: %{name}-clients = %{version}-%{release}
+Requires: %{name}-jars = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name}-malloc = %{version}-%{release}
+Requires: %{name}-tools = %{version}-%{release}
+
+Requires: gdb
+Requires: initscripts
+Requires: hostname
+Requires: libedit
+Requires: nc
+Requires: net-tools
+Requires: nghttp2
+Requires: numactl
+Requires: which
+Requires: unzip
+Requires: zlib
+Requires: zstd
+
%if 0%{?el8}
%global _centos_stream %(grep -qs '^NAME="CentOS Stream"' /etc/os-release && echo 1 || echo 0)
-BuildRequires: vespa-toolset-12-meta >= 12.0.1
-BuildRequires: gcc-toolset-12-gcc-c++
-BuildRequires: gcc-toolset-12-binutils
-BuildRequires: gcc-toolset-12-libatomic-devel
-%define _devtoolset_enable /opt/rh/gcc-toolset-12/enable
-BuildRequires: maven
-BuildRequires: maven-openjdk17
-BuildRequires: vespa-pybind11-devel
-BuildRequires: python39-devel
-BuildRequires: python39-pip
-BuildRequires: glibc-langpack-en
-%endif
-%if 0%{?el9}
-%global _centos_stream %(grep -qs '^NAME="CentOS Stream"' /etc/os-release && echo 1 || echo 0)
-BuildRequires: vespa-toolset-12-meta >= 12.0.1
-BuildRequires: gcc-toolset-12-gcc-c++
-BuildRequires: gcc-toolset-12-binutils
-BuildRequires: gcc-toolset-12-libatomic-devel
%define _devtoolset_enable /opt/rh/gcc-toolset-12/enable
-BuildRequires: pybind11-devel
-BuildRequires: python3-pytest
-BuildRequires: python3-devel
-BuildRequires: glibc-langpack-en
-%endif
-%if 0%{?fedora}
-BuildRequires: gcc-c++
-BuildRequires: libatomic
-BuildRequires: pybind11-devel
-BuildRequires: python3-pytest
-BuildRequires: python3-devel
-BuildRequires: glibc-langpack-en
-%endif
-%if 0%{?el8}
-BuildRequires: cmake >= 3.11.4-3
+
+%define _use_vespa_gtest 1
+%define _use_vespa_openblas 1
+%define _use_vespa_openssl 1
+%define _use_vespa_protobuf 1
+
%if 0%{?centos} || 0%{?rocky} || 0%{?oraclelinux}
-%if 0%{?centos}
-# Current cmake on CentOS 8 is broken and manually requires libarchive install
-BuildRequires: libarchive
-%endif
%define _command_cmake cmake
%endif
-BuildRequires: llvm-devel
-BuildRequires: vespa-boost-devel >= 1.76.0-1
-BuildRequires: vespa-openssl-devel >= 1.1.1o-1
-%define _use_vespa_openssl 1
-BuildRequires: vespa-gtest = 1.13.0
-%define _use_vespa_gtest 1
-BuildRequires: vespa-lz4-devel >= 1.9.4-1
-BuildRequires: vespa-onnxruntime-devel = 1.15.1
-BuildRequires: vespa-protobuf-devel = 3.21.12
-%define _use_vespa_protobuf 1
-BuildRequires: vespa-libzstd-devel >= 1.5.4-1
+
+Requires: vespa-gtest = 1.13.0
+
%endif
+
%if 0%{?el9}
-BuildRequires: cmake >= 3.20.2
-BuildRequires: maven
-BuildRequires: maven-openjdk17
-BuildRequires: openssl-devel
-BuildRequires: vespa-lz4-devel >= 1.9.4-1
-BuildRequires: vespa-onnxruntime-devel = 1.15.1
-BuildRequires: vespa-libzstd-devel >= 1.5.4-1
-BuildRequires: vespa-protobuf-devel = 3.21.12
+%global _centos_stream %(grep -qs '^NAME="CentOS Stream"' /etc/os-release && echo 1 || echo 0)
+%define _devtoolset_enable /opt/rh/gcc-toolset-12/enable
%define _use_vespa_protobuf 1
-BuildRequires: llvm-devel
-BuildRequires: boost-devel >= 1.75
-BuildRequires: gtest-devel
-BuildRequires: gmock-devel
+
+Requires: gtest
%endif
-%if 0%{?fedora}
-BuildRequires: cmake >= 3.9.1
-BuildRequires: maven
+
%if 0%{?amzn2023}
-BuildRequires: maven-amazon-corretto17
%define _java_home /usr/lib/jvm/java-17-amazon-corretto
-%else
-%if %{?fedora} >= 35
-BuildRequires: maven-openjdk17
-%endif
-%endif
-BuildRequires: openssl-devel
-BuildRequires: vespa-lz4-devel >= 1.9.4-1
-BuildRequires: vespa-onnxruntime-devel = 1.15.1
-BuildRequires: vespa-libzstd-devel >= 1.5.4-1
-BuildRequires: protobuf-devel
-BuildRequires: llvm-devel
-BuildRequires: boost-devel
-BuildRequires: gtest-devel
-BuildRequires: gmock-devel
-%endif
-%if 0%{?amzn2023}
-BuildRequires: vespa-xxhash-devel >= 0.8.1
+%define _use_vespa_re2 1
%define _use_vespa_xxhash 1
-%else
-BuildRequires: xxhash-devel >= 0.8.1
-%endif
-%if 0%{?el8}
-BuildRequires: vespa-openblas-devel >= 0.3.21
-%define _use_vespa_openblas 1
-%else
-BuildRequires: openblas-devel
+
+Requires: vespa-xxhash >= 0.8.1
%endif
-%if 0%{?amzn2023}
-BuildRequires: vespa-re2-devel = 20210801
-%define _use_vespa_re2 1
-%else
-BuildRequires: re2-devel
+
+%if 0%{?fedora}
+Requires: gtest
%endif
-BuildRequires: zlib-devel
-BuildRequires: libicu-devel
-%if 0%{?amzn2023}
-BuildRequires: java-17-amazon-corretto-devel
-BuildRequires: java-17-amazon-corretto
-%else
-BuildRequires: java-17-openjdk-devel
-%endif
-BuildRequires: rpm-build
-BuildRequires: make
-BuildRequires: git
-BuildRequires: golang
-BuildRequires: systemd
-BuildRequires: flex >= 2.5.0
-BuildRequires: bison >= 3.0.0
-BuildRequires: libedit-devel
-Requires: libedit
-Requires: which
-Requires: initscripts
+
%if ! 0%{?el9}
Requires: libcgroup-tools
%endif
-Requires: numactl
-BuildRequires: perl
-BuildRequires: valgrind
-BuildRequires: perf
-%if 0%{?amzn2023}
-Requires: vespa-xxhash >= 0.8.1
-%else
+
+%if ! 0%{?amzn2023}
Requires: xxhash-libs >= 0.8.1
%endif
-Requires: gdb
-Requires: hostname
-Requires: nc
-Requires: nghttp2
-Requires: net-tools
-Requires: unzip
-Requires: zlib
-Requires: zstd
-%if 0%{?el8}
-Requires: vespa-gtest = 1.13.0
-%endif
-%if 0%{?el9}
-Requires: gtest
-%endif
-%if 0%{?fedora}
-Requires: gtest
-%endif
-Requires: %{name}-base = %{version}-%{release}
-Requires: %{name}-base-libs = %{version}-%{release}
-Requires: %{name}-libs = %{version}-%{release}
-Requires: %{name}-clients = %{version}-%{release}
-Requires: %{name}-config-model-fat = %{version}-%{release}
-Requires: %{name}-jars = %{version}-%{release}
-Requires: %{name}-malloc = %{version}-%{release}
-Requires: %{name}-tools = %{version}-%{release}
# Ugly workaround because vespamalloc/src/vespamalloc/malloc/mmap.cpp uses the private
# _dl_sym function.
# Exclude automated requires for libraries in /opt/vespa-deps/lib64.
%global __requires_exclude ^lib(c\\.so\\.6\\(GLIBC_PRIVATE\\)|pthread\\.so\\.0\\(GLIBC_PRIVATE\\)|(lz4%{?_use_vespa_protobuf:|protobuf}|zstd|onnxruntime%{?_use_vespa_openssl:|crypto|ssl}%{?_use_vespa_openblas:|openblas}%{?_use_vespa_re2:|re2}%{?_use_vespa_xxhash:|xxhash}%{?_use_vespa_gtest:|(gtest|gmock)(_main)?})\\.so\\.[0-9.]*\\([A-Za-z._0-9]*\\))\\(64bit\\)$
-
%description
Vespa - The open big data serving engine
@@ -231,8 +130,6 @@ Requires: java-17-amazon-corretto
%else
Requires: java-17-openjdk-devel
%endif
-BuildRequires: perl
-BuildRequires: perl-Getopt-Long
Requires(pre): shadow-utils
%description base
@@ -372,6 +269,17 @@ Requires: perf
Vespa - The open big data serving engine - tools for system tests
+%package devel
+
+Summary: Vespa - The open big data serving engine - devel package
+
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-base-libs = %{version}-%{release}
+
+%description devel
+
+Vespa - The open big data serving engine - devel package
+
%package ann-benchmark
Summary: Vespa - The open big data serving engine - ann-benchmark
@@ -602,7 +510,6 @@ fi
%{_prefix}/etc/systemd
%{_prefix}/etc/vespa
%exclude %{_prefix}/etc/vespamalloc.conf
-%{_prefix}/include
%dir %{_prefix}/lib
%dir %{_prefix}/lib/jars
%{_prefix}/lib/jars/cloud-tenant-cd-jar-with-dependencies.jar
@@ -646,6 +553,7 @@ fi
%{_prefix}/man
%{_prefix}/sbin
%{_prefix}/share
+%exclude %{_prefix}/share/cmake
%dir %attr(-,%{_vespa_user},%{_vespa_group}) %{_prefix}/var
%dir %attr(-,%{_vespa_user},%{_vespa_group}) %{_prefix}/var/crash
%dir %attr(-,%{_vespa_user},%{_vespa_group}) %{_prefix}/var/db
@@ -849,6 +757,12 @@ fi
%{_prefix}/bin/vespa-tensor-conformance
%{_prefix}/bin/vespa-tensor-instructions-benchmark
+%files devel
+%defattr(-,root,root,-)
+%dir %{_prefix}
+%{_prefix}/include
+%{_prefix}/share/cmake
+
%files ann-benchmark
%if %{_defattr_is_vespa_vespa}
%defattr(-,%{_vespa_user},%{_vespa_group},-)