2 # - build from source, external deps
3 # - split libs in java-solr package to subpackages depending on their usage
5 # - http://wiki.apache.org/solr/SolrTomcat
8 %bcond_without tests # don't build and run tests
9 %bcond_with source # don't build source jar
11 Summary: Solr - open source enterprise search server
12 Summary(pl.UTF-8): Solr - profesjonalny serwer wyszukiwarki o otwartych źródłach
17 Group: Development/Languages/Java
18 Source0: http://www.apache.org/dist/lucene/solr/%{version}/%{name}-%{version}.tgz
19 # Source0-md5: 7c17e4e4c52f5e91b407ba60abfb2fcd
20 Source1: %{name}-context.xml
22 URL: https://lucene.apache.org/solr/
23 #BuildRequires: java-ivy >= 2.2.0
24 #BuildRequires: java-junit
25 BuildRequires: jpackage-utils
26 BuildRequires: rpm-javaprov
27 BuildRequires: rpmbuild(macros) >= 1.300
28 Requires: java-%{name} = %{version}-%{release}
30 Requires: java-slf4j >= 1.6
31 Requires: jpackage-utils
33 Obsoletes: apache-solr < 3.6.0
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 %define webappdir %{_datadir}/%{name}
40 Solr is an open source enterprise search server based on the Lucene
41 Java search library, with XML/HTTP and JSON APIs, hit highlighting,
42 faceted search, caching, replication, and a web administration
43 interface. It runs in a Java servlet container such as Tomcat.
45 %description -l pl.UTF-8
46 Solr to profesjonalny serwer wyszukiwarki o otwartych źródłach oparty
47 na bibliotece wyszukiwarki Lucene w Javie z API XML/HTTP i JSON,
48 podświetlaniem dopasowań, pamięcią podręczną, replikacją i interfejsem
49 administracyjnym WWW. Działa w kontenerze serwletowym Javy, takim jak
52 %package -n java-%{name}
53 Summary: Solr libraries
55 Requires: jpackage-utils
57 %description -n java-%{name}
64 - dataimporthandler-extras
80 unzip -d war dist/solr-%{version}.war
85 export CLASSPATH=$(build-classpath $required_jars)
92 rm -rf $RPM_BUILD_ROOT
95 install -d $RPM_BUILD_ROOT%{_javadir}
96 for a in dist/solr-*.jar; do
98 cp -p dist/$jar $RPM_BUILD_ROOT%{_javadir}
99 ln -s $jar $RPM_BUILD_ROOT%{_javadir}/${jar%%-%{version}.jar}.jar
103 install -d $RPM_BUILD_ROOT%{webappdir}
104 cp -a war/* $RPM_BUILD_ROOT%{webappdir}
106 # get logging jars to tomcat to load
107 # http://wiki.apache.org/solr/SolrLogging
109 log4j jcl-over-slf4j jul-to-slf4j slf4j-api slf4j-log4j12 \
111 ln -s %{_javadir}/$jar.jar $RPM_BUILD_ROOT%{webappdir}/WEB-INF/lib
114 # install tomcat context descriptor
115 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_tomcatconfdir}}
116 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tomcat-context.xml
117 ln -sf %{_sysconfdir}/%{name}/tomcat-context.xml $RPM_BUILD_ROOT%{_tomcatconfdir}/%{name}.xml
119 # setup cores configuration
120 install -d $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
121 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/solr.xml
122 ln -s %{_sysconfdir}/%{name}/solr.xml $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
124 # setup sample instance
125 install -d $RPM_BUILD_ROOT{%{_sharedstatedir}/%{name}/example/data,%{_sysconfdir}/%{name}/example}
126 cp -a example/solr/{solr.xml,zoo.cfg} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/example
127 ln -s %{_sysconfdir}/%{name}/example $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/example/conf
130 rm -rf $RPM_BUILD_ROOT
133 %tomcat_clear_cache %{name}
136 %defattr(644,root,root,755)
137 %doc CHANGES.txt NOTICE.txt README.txt
138 %dir %{_sysconfdir}/%{name}
139 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/tomcat-context.xml
140 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/solr.xml
141 %{_tomcatconfdir}/%{name}.xml
143 %{webappdir}/META-INF
144 %dir %{webappdir}/WEB-INF
145 %dir %{webappdir}/WEB-INF/lib
146 %{webappdir}/WEB-INF/lib/*.jar
147 %{webappdir}/WEB-INF/web.xml
148 %{webappdir}/WEB-INF/weblogic.xml
149 %{webappdir}/admin.html
150 %{webappdir}/favicon.ico
156 %dir %{_sharedstatedir}/%{name}
157 %{_sharedstatedir}/%{name}/solr.xml
159 # sample instance configuration
160 %dir %{_sysconfdir}/%{name}/example
161 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/example/solr.xml
162 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/example/zoo.cfg
163 %attr(750,root,servlet) %dir %{_sharedstatedir}/%{name}/example
164 %attr(2775,root,servlet) %dir %{_sharedstatedir}/%{name}/example/data
165 %{_sharedstatedir}/%{name}/example/conf
167 %files -n java-%{name}
168 %defattr(644,root,root,755)
169 %{_javadir}/solr-*.jar