aboutsummaryrefslogtreecommitdiffstats
path: root/dist
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@verizonmedia.com>2020-03-25 18:10:28 +0100
committerTor Egge <Tor.Egge@verizonmedia.com>2020-03-26 11:43:51 +0100
commit634099669eaff92f34404193c4bc2fb3ace1f5d1 (patch)
tree126e23c1938f17c961df519e9075923a24caffd2 /dist
parentafa5b8dbe1bf0958bf3b8afc2dbd83a09835042b (diff)
Split portions of vespa rpm out in separate rpms.
Diffstat (limited to 'dist')
-rw-r--r--dist/vespa.spec313
1 files changed, 302 insertions, 11 deletions
diff --git a/dist/vespa.spec b/dist/vespa.spec
index 0c389c603f7..8363aec068f 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -8,6 +8,7 @@
%define _vespa_deps_prefix /opt/vespa-deps
%define _vespa_user vespa
%define _vespa_group vespa
+%undefine _vespa_user_uid
%define _create_vespa_group 1
%define _create_vespa_user 1
%define _create_vespa_service 1
@@ -207,17 +208,107 @@ Requires: llvm-libs >= 10.0.0
%define _extra_link_directory %{_vespa_deps_prefix}/lib64
%define _extra_include_directory %{_vespa_deps_prefix}/include;/usr/include/openblas
%endif
-Requires: java-11-openjdk
-Requires(pre): shadow-utils
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-base-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.
-Provides: libc.so.6(GLIBC_PRIVATE)(64bit)
+%global __requires_exclude ^libc\\.so\\.6\\(GLIBC_PRIVATE\\)\\(64bit\\)$
+
%description
Vespa - The open big data serving engine
+%package base
+
+Summary: Vespa - The open big data serving engine - base
+
+Requires: java-11-openjdk
+Requires: perl
+Requires: perl-Getopt-Long
+Requires(pre): shadow-utils
+
+%description base
+
+Vespa - The open big data serving engine - base
+
+%package base-libs
+
+Summary: Vespa - The open big data serving engine - base C++ libs
+
+Requires: xxhash-libs >= 0.6.5
+Requires: lz4
+Requires: libzstd
+%if 0%{?el7}
+Requires: vespa-openssl >= 1.1.1c-1
+%else
+Requires: openssl-libs
+%endif
+
+%description base-libs
+
+Vespa - The open big data serving engine - base C++ libs
+
+%package clients
+
+Summary: Vespa - The open big data serving engine - clients
+
+%description clients
+
+Vespa - The open big data serving engine - clients
+
+%package config-model-fat
+
+Summary: Vespa - The open big data serving engine - config models
+
+%description config-model-fat
+
+Vespa - The open big data serving engine - config models
+
+%package node-admin
+
+Summary: Vespa - The open big data serving engine - node-admin
+
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-jars = %{version}-%{release}
+
+%description node-admin
+
+Vespa - The open big data serving engine - node-admin
+
+%package jars
+
+Summary: Vespa - The open big data serving engine - shared java jar files
+
+%description jars
+
+Vespa - The open big data serving engine - shared java jar files
+
+%package malloc
+
+Summary: Vespa - The open big data serving engine - malloc library
+
+%description malloc
+
+Vespa - The open big data serving engine - malloc library
+
+%package tools
+
+Summary: Vespa - The open big data serving engine - tools
+
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-base-libs = %{version}-%{release}
+
+%description tools
+
+Vespa - The open big data serving engine - tools
+
%prep
%if 0%{?installdir:1}
%setup -c -D -T
@@ -274,13 +365,13 @@ ln -s /usr/lib/jvm/jre-11-openjdk %{buildroot}/%{_prefix}/jdk
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
+%pre base
%if %{_create_vespa_group}
getent group %{_vespa_group} >/dev/null || groupadd -r %{_vespa_group}
%endif
%if %{_create_vespa_user}
getent passwd %{_vespa_user} >/dev/null || \
- useradd -r -g %{_vespa_group} --home-dir %{_prefix} -s /sbin/nologin \
+ useradd -r %{?_vespa_user_uid:-u %{_vespa_user_uid}} -g %{_vespa_group} --home-dir %{_prefix} -s /sbin/nologin \
-c "Create owner of all Vespa data files" %{_vespa_user}
%endif
echo "pathmunge %{_prefix}/bin" > /etc/profile.d/vespa.sh
@@ -299,11 +390,13 @@ exit 0
%systemd_preun vespa-configserver.service
%endif
-%postun
%if %{_create_vespa_service}
+%postun
%systemd_postun_with_restart vespa.service
%systemd_postun_with_restart vespa-configserver.service
%endif
+
+%postun base
if [ $1 -eq 0 ]; then # this is an uninstallation
rm -f /etc/profile.d/vespa.sh
%if %{_create_vespa_user}
@@ -321,21 +414,73 @@ fi
%doc
%dir %{_prefix}
%{_prefix}/bin
+%exclude %{_prefix}/bin/vespa-destination
+%exclude %{_prefix}/bin/vespa-document-statistics
+%exclude %{_prefix}/bin/vespa-fbench
+%exclude %{_prefix}/bin/vespa-feeder
+%exclude %{_prefix}/bin/vespa-get
+%exclude %{_prefix}/bin/vespa-logfmt
+%exclude %{_prefix}/bin/vespa-query-profile-dump-tool
+%exclude %{_prefix}/bin/vespa-stat
+%exclude %{_prefix}/bin/vespa-security-env
+%exclude %{_prefix}/bin/vespa-summary-benchmark
+%exclude %{_prefix}/bin/vespa-visit
+%exclude %{_prefix}/bin/vespa-visit-target
%dir %{_prefix}/conf
%{_prefix}/conf/configserver
%{_prefix}/conf/configserver-app
+%exclude %{_prefix}/conf/configserver-app/components/config-model-fat.jar
+%exclude %{_prefix}/conf/configserver-app/config-models.xml
%dir %{_prefix}/conf/logd
-%{_prefix}/conf/node-admin-app
%dir %{_prefix}/conf/vespa
%dir %attr(-,%{_vespa_user},-) %{_prefix}/conf/zookeeper
%dir %{_prefix}/etc
%{_prefix}/etc/systemd
%{_prefix}/etc/vespa
+%exclude %{_prefix}/etc/vespamalloc.conf
%{_prefix}/include
-%{_prefix}/jdk
-%{_prefix}/lib
+%dir %{_prefix}/lib
+%dir %{_prefix}/lib/jars
+%{_prefix}/lib/jars/application-model-jar-with-dependencies.jar
+%{_prefix}/lib/jars/application-preprocessor-jar-with-dependencies.jar
+%{_prefix}/lib/jars/athenz-identity-provider-service-jar-with-dependencies.jar
+%{_prefix}/lib/jars/clustercontroller-apps-jar-with-dependencies.jar
+%{_prefix}/lib/jars/clustercontroller-apputil-jar-with-dependencies.jar
+%{_prefix}/lib/jars/clustercontroller-core-jar-with-dependencies.jar
+%{_prefix}/lib/jars/clustercontroller-utils-jar-with-dependencies.jar
+%{_prefix}/lib/jars/config-models
+%{_prefix}/lib/jars/config-proxy-jar-with-dependencies.jar
+%{_prefix}/lib/jars/configserver-flags-jar-with-dependencies.jar
+%{_prefix}/lib/jars/configserver-jar-with-dependencies.jar
+%{_prefix}/lib/jars/document.jar
+%{_prefix}/lib/jars/filedistribution-jar-with-dependencies.jar
+%{_prefix}/lib/jars/jdisc_jetty.jar
+%{_prefix}/lib/jars/logserver-jar-with-dependencies.jar
+%{_prefix}/lib/jars/metrics-proxy-jar-with-dependencies.jar
+%{_prefix}/lib/jars/node-repository-jar-with-dependencies.jar
+%{_prefix}/lib/jars/orchestrator-jar-with-dependencies.jar
+%{_prefix}/lib/jars/predicate-search-jar-with-dependencies.jar
+%{_prefix}/lib/jars/searchlib.jar
+%{_prefix}/lib/jars/searchlib-jar-with-dependencies.jar
+%{_prefix}/lib/jars/service-monitor-jar-with-dependencies.jar
+%{_prefix}/lib/jars/vespa_feed_perf-jar-with-dependencies.jar
+%{_prefix}/lib/jars/vespa-testrunner-components.jar
+%{_prefix}/lib/jars/vespa-testrunner-components-jar-with-dependencies.jar
+%{_prefix}/lib/jars/zookeeper-command-line-client-jar-with-dependencies.jar
+%{_prefix}/lib/perl5
%{_prefix}/lib64
+%exclude %{_prefix}/lib64/libfastos.so
+%exclude %{_prefix}/lib64/libfnet.so
+%exclude %{_prefix}/lib64/libstaging_vespalib.so
+%exclude %{_prefix}/lib64/libvespadefaults.so
+%exclude %{_prefix}/lib64/libvespalib.so
+%exclude %{_prefix}/lib64/libvespalog.so
+%exclude %{_prefix}/lib64/vespa
%{_prefix}/libexec
+%exclude %{_prefix}/libexec/vespa/common-env.sh
+%exclude %{_prefix}/libexec/vespa/node-admin.sh
+%exclude %{_prefix}/libexec/vespa/standalone-container.sh
+%exclude %{_prefix}/libexec/vespa/vespa-curl-wrapper
%dir %attr(1777,-,-) %{_prefix}/logs
%dir %attr(1777,%{_vespa_user},-) %{_prefix}/logs/vespa
%dir %attr(-,%{_vespa_user},-) %{_prefix}/logs/vespa/configserver
@@ -352,11 +497,157 @@ fi
%dir %attr(-,%{_vespa_user},-) %{_prefix}/var/db/vespa/logcontrol
%dir %attr(-,%{_vespa_user},-) %{_prefix}/var/zookeeper
%config(noreplace) %{_prefix}/conf/logd/logd.cfg
-%config(noreplace) %{_prefix}/conf/vespa/default-env.txt
-%config(noreplace) %{_prefix}/etc/vespamalloc.conf
%if %{_create_vespa_service}
%attr(644,root,root) /usr/lib/systemd/system/vespa.service
%attr(644,root,root) /usr/lib/systemd/system/vespa-configserver.service
%endif
+%files base
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/bin
+%{_prefix}/bin/vespa-logfmt
+%{_prefix}/bin/vespa-security-env
+%dir %{_prefix}/conf
+%dir %{_prefix}/conf/vespa
+%config(noreplace) %{_prefix}/conf/vespa/default-env.txt
+%{_prefix}/jdk
+%dir %{_prefix}/lib
+%dir %{_prefix}/lib/jars
+%{_prefix}/lib/jars/security-tools-jar-with-dependencies.jar
+%dir %{_prefix}/libexec
+%dir %{_prefix}/libexec/vespa
+%{_prefix}/libexec/vespa/common-env.sh
+%{_prefix}/libexec/vespa/vespa-curl-wrapper
+
+%files base-libs
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/lib64
+%{_prefix}/lib64/libfastos.so
+%{_prefix}/lib64/libfnet.so
+%{_prefix}/lib64/libstaging_vespalib.so
+%{_prefix}/lib64/libvespadefaults.so
+%{_prefix}/lib64/libvespalib.so
+%{_prefix}/lib64/libvespalog.so
+
+%files clients
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/lib
+%dir %{_prefix}/lib/jars
+%{_prefix}/lib/jars/vespa-http-client-jar-with-dependencies.jar
+
+%files config-model-fat
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/conf
+%dir %{_prefix}/conf/configserver-app
+%dir %{_prefix}/conf/configserver-app/components
+%{_prefix}/conf/configserver-app/components/config-model-fat.jar
+%{_prefix}/conf/configserver-app/config-models.xml
+%dir %{_prefix}/lib
+%dir %{_prefix}/lib/jars
+%{_prefix}/lib/jars/config-model-fat.jar
+
+%files node-admin
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/conf
+%{_prefix}/conf/node-admin-app
+%dir %{_prefix}/libexec
+%dir %{_prefix}/libexec/vespa
+%{_prefix}/libexec/vespa/node-admin.sh
+
+%files jars
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/lib
+%dir %{_prefix}/lib/jars
+%{_prefix}/lib/jars/aopalliance-repackaged-*.jar
+%{_prefix}/lib/jars/bcpkix-jdk15on-*.jar
+%{_prefix}/lib/jars/bcprov-jdk15on-*.jar
+%{_prefix}/lib/jars/component-jar-with-dependencies.jar
+%{_prefix}/lib/jars/config-bundle-jar-with-dependencies.jar
+%{_prefix}/lib/jars/configdefinitions-jar-with-dependencies.jar
+%{_prefix}/lib/jars/config-model-api-jar-with-dependencies.jar
+%{_prefix}/lib/jars/config-model-jar-with-dependencies.jar
+%{_prefix}/lib/jars/config-provisioning-jar-with-dependencies.jar
+%{_prefix}/lib/jars/container-disc-jar-with-dependencies.jar
+%{_prefix}/lib/jars/container-jersey2-jar-with-dependencies.jar
+%{_prefix}/lib/jars/container-search-and-docproc-jar-with-dependencies.jar
+%{_prefix}/lib/jars/container-search-gui-jar-with-dependencies.jar
+%{_prefix}/lib/jars/defaults-jar-with-dependencies.jar
+%{_prefix}/lib/jars/docprocs-jar-with-dependencies.jar
+%{_prefix}/lib/jars/flags-jar-with-dependencies.jar
+%{_prefix}/lib/jars/hk2-*.jar
+%{_prefix}/lib/jars/jackson-*.jar
+%{_prefix}/lib/jars/javassist-*.jar
+%{_prefix}/lib/jars/javax.*.jar
+%{_prefix}/lib/jars/jdisc_core-jar-with-dependencies.jar
+%{_prefix}/lib/jars/jdisc_http_service-jar-with-dependencies.jar
+%{_prefix}/lib/jars/jdisc-security-filters-jar-with-dependencies.jar
+%{_prefix}/lib/jars/jersey-*.jar
+%{_prefix}/lib/jars/jetty-*.jar
+%{_prefix}/lib/jars/mimepull-*.jar
+%{_prefix}/lib/jars/model-evaluation-jar-with-dependencies.jar
+%{_prefix}/lib/jars/model-integration-jar-with-dependencies.jar
+%{_prefix}/lib/jars/osgi-resource-locator-*.jar
+%{_prefix}/lib/jars/security-utils-jar-with-dependencies.jar
+%{_prefix}/lib/jars/simplemetrics-jar-with-dependencies.jar
+%{_prefix}/lib/jars/standalone-container-jar-with-dependencies.jar
+%{_prefix}/lib/jars/validation-api-*.jar
+%{_prefix}/lib/jars/vespa-athenz-jar-with-dependencies.jar
+%{_prefix}/lib/jars/vespaclient-container-plugin-jar-with-dependencies.jar
+%{_prefix}/lib/jars/vespajlib.jar
+%{_prefix}/lib/jars/zkfacade-jar-with-dependencies.jar
+%{_prefix}/lib/jars/zookeeper-server-*-jar-with-dependencies.jar
+%{_prefix}/lib/jars/zookeeper-server-common-jar-with-dependencies.jar
+%{_prefix}/lib/jars/zookeeper-server-jar-with-dependencies.jar
+%dir %{_prefix}/libexec
+%dir %{_prefix}/libexec/vespa
+%{_prefix}/libexec/vespa/standalone-container.sh
+
+%files malloc
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/etc
+%config(noreplace) %{_prefix}/etc/vespamalloc.conf
+%dir %{_prefix}/lib64
+%{_prefix}/lib64/vespa
+
+%files tools
+%if %{_defattr_is_vespa_vespa}
+%defattr(-,%{_vespa_user},%{_vespa_group},-)
+%endif
+%dir %{_prefix}
+%dir %{_prefix}/bin
+%{_prefix}/bin/vespa-destination
+%{_prefix}/bin/vespa-document-statistics
+%{_prefix}/bin/vespa-fbench
+%{_prefix}/bin/vespa-feeder
+%{_prefix}/bin/vespa-get
+%{_prefix}/bin/vespa-query-profile-dump-tool
+%{_prefix}/bin/vespa-stat
+%{_prefix}/bin/vespa-summary-benchmark
+%{_prefix}/bin/vespa-visit
+%{_prefix}/bin/vespa-visit-target
+%dir %{_prefix}/lib
+%dir %{_prefix}/lib/jars
+%{_prefix}/lib/jars/vespaclient-java-jar-with-dependencies.jar
+
%changelog