diff options
author | Tor Egge <Tor.Egge@verizonmedia.com> | 2020-03-25 18:10:28 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@verizonmedia.com> | 2020-03-26 11:43:51 +0100 |
commit | 634099669eaff92f34404193c4bc2fb3ace1f5d1 (patch) | |
tree | 126e23c1938f17c961df519e9075923a24caffd2 /dist | |
parent | afa5b8dbe1bf0958bf3b8afc2dbd83a09835042b (diff) |
Split portions of vespa rpm out in separate rpms.
Diffstat (limited to 'dist')
-rw-r--r-- | dist/vespa.spec | 313 |
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 |