]>
Commit | Line | Data |
---|---|---|
d102a775 ER |
1 | # TODO |
2 | # - build from source, external deps | |
1f2ae4fd | 3 | # - split libs in java-solr package to subpackages depending on their usage |
69e3938e ER |
4 | # NOTES: |
5 | # - http://wiki.apache.org/solr/SolrTomcat | |
b48e66e4 ER |
6 | # |
7 | # Conditional build: | |
8 | %bcond_without tests # don't build and run tests | |
d102a775 | 9 | %bcond_with source # don't build source jar |
b48e66e4 | 10 | |
3c70c3f5 | 11 | %include /usr/lib/rpm/macros.java |
1a1de2b1 JB |
12 | Summary: Solr - open source enterprise search server |
13 | Summary(pl.UTF-8): Solr - profesjonalny serwer wyszukiwarki o otwartych źródłach | |
63d70431 | 14 | Name: solr |
a564228c ER |
15 | Version: 4.6.0 |
16 | Release: 1 | |
69e3938e | 17 | License: Apache v2.0 |
3c70c3f5 | 18 | Group: Development/Languages/Java |
aad1c0c5 | 19 | Source0: http://www.apache.org/dist/lucene/solr/%{version}/%{name}-%{version}.tgz |
a564228c | 20 | # Source0-md5: d79ca3e4f39db24ac6167825a72c5754 |
79baabf1 | 21 | Source1: %{name}-context.xml |
1f2ae4fd | 22 | Source2: %{name}.xml |
69e3938e | 23 | URL: https://lucene.apache.org/solr/ |
f8483063 | 24 | #BuildRequires: java-ivy >= 2.2.0 |
d102a775 | 25 | #BuildRequires: java-junit |
3c70c3f5 | 26 | BuildRequires: jpackage-utils |
3c70c3f5 ER |
27 | BuildRequires: rpm-javaprov |
28 | BuildRequires: rpmbuild(macros) >= 1.300 | |
1f2ae4fd | 29 | Requires: java-%{name} = %{version}-%{release} |
e80ed4c1 | 30 | Requires: java-slf4j >= 1.6 |
3c70c3f5 | 31 | Requires: jpackage-utils |
d102a775 ER |
32 | Requires: tomcat |
33 | Obsoletes: apache-solr < 3.6.0 | |
3c70c3f5 | 34 | BuildArch: noarch |
3c70c3f5 ER |
35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
36 | ||
e80ed4c1 ER |
37 | %define webappdir %{_datadir}/%{name} |
38 | %define _tomcatdir %{_datadir}/tomcat | |
79baabf1 | 39 | |
3c70c3f5 ER |
40 | %description |
41 | Solr is an open source enterprise search server based on the Lucene | |
42 | Java search library, with XML/HTTP and JSON APIs, hit highlighting, | |
43 | faceted search, caching, replication, and a web administration | |
44 | interface. It runs in a Java servlet container such as Tomcat. | |
45 | ||
1a1de2b1 JB |
46 | %description -l pl.UTF-8 |
47 | Solr to profesjonalny serwer wyszukiwarki o otwartych źródłach oparty | |
48 | na bibliotece wyszukiwarki Lucene w Javie z API XML/HTTP i JSON, | |
49 | podświetlaniem dopasowań, pamięcią podręczną, replikacją i interfejsem | |
50 | administracyjnym WWW. Działa w kontenerze serwletowym Javy, takim jak | |
51 | Tomcat. | |
52 | ||
1f2ae4fd ER |
53 | %package -n java-%{name} |
54 | Summary: Solr libraries | |
55 | Group: Libraries/Java | |
56 | Requires: jpackage-utils | |
57 | ||
58 | %description -n java-%{name} | |
59 | Solr libraries: | |
60 | - analysis-extras | |
61 | - cell | |
62 | - clustering | |
63 | - core | |
64 | - dataimporthandler | |
65 | - dataimporthandler-extras | |
66 | - langid | |
67 | - solrj | |
68 | - test-framework | |
69 | - uima | |
70 | - velocity | |
71 | ||
3c70c3f5 | 72 | %prep |
aad1c0c5 | 73 | %setup -q |
15a1045d | 74 | |
b48e66e4 | 75 | %if %{with source} |
15a1045d ER |
76 | # remove bindist |
77 | rm -rf dist/* | |
016ba3db ER |
78 | %else |
79 | # unpack war | |
80 | install -d war | |
aad1c0c5 | 81 | unzip -d war dist/solr-%{version}.war |
b48e66e4 | 82 | %endif |
3c70c3f5 ER |
83 | |
84 | %build | |
85 | required_jars="junit" | |
86 | export CLASSPATH=$(build-classpath $required_jars) | |
b48e66e4 | 87 | %if %{with source} |
15a1045d ER |
88 | %ant dist \ |
89 | -Dversion=%{version} | |
b48e66e4 | 90 | %endif |
3c70c3f5 ER |
91 | |
92 | %install | |
93 | rm -rf $RPM_BUILD_ROOT | |
d102a775 | 94 | |
1f2ae4fd | 95 | # install .jars |
3c70c3f5 | 96 | install -d $RPM_BUILD_ROOT%{_javadir} |
aad1c0c5 | 97 | for a in dist/solr-*.jar; do |
1f2ae4fd ER |
98 | jar=${a##*/} |
99 | cp -p dist/$jar $RPM_BUILD_ROOT%{_javadir} | |
100 | ln -s $jar $RPM_BUILD_ROOT%{_javadir}/${jar%%-%{version}.jar}.jar | |
35e54e9c | 101 | done |
35e54e9c | 102 | |
e80ed4c1 ER |
103 | # get logging jars to tomcat to load |
104 | # http://wiki.apache.org/solr/SolrLogging | |
105 | install -d $RPM_BUILD_ROOT%{_tomcatdir}/lib | |
106 | for jar in slf4j-api.jar jcl-over-slf4j.jar; do | |
107 | ln -s %{_javadir}/$jar $RPM_BUILD_ROOT%{_tomcatdir}/lib | |
108 | done | |
109 | ||
1f2ae4fd | 110 | # install webapp |
79baabf1 | 111 | install -d $RPM_BUILD_ROOT%{webappdir} |
016ba3db | 112 | cp -a war/* $RPM_BUILD_ROOT%{webappdir} |
79baabf1 | 113 | |
1f2ae4fd | 114 | # install tomcat context descriptor |
729b5b87 | 115 | install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_tomcatconfdir}} |
d102a775 | 116 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/tomcat-context.xml |
79baabf1 | 117 | ln -sf %{_sysconfdir}/%{name}/tomcat-context.xml $RPM_BUILD_ROOT%{_tomcatconfdir}/%{name}.xml |
3c70c3f5 | 118 | |
729b5b87 ER |
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} | |
123 | ||
124 | # setup sample instance | |
aad1c0c5 ER |
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 | |
bd628ad4 | 127 | ln -s %{_sysconfdir}/%{name}/example $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}/example/conf |
d102a775 | 128 | |
3c70c3f5 ER |
129 | %clean |
130 | rm -rf $RPM_BUILD_ROOT | |
131 | ||
79baabf1 ER |
132 | %postun |
133 | %tomcat_clear_cache %{name} | |
134 | ||
3c70c3f5 ER |
135 | %files |
136 | %defattr(644,root,root,755) | |
69e3938e | 137 | %doc CHANGES.txt NOTICE.txt README.txt |
79baabf1 | 138 | %dir %{_sysconfdir}/%{name} |
729b5b87 ER |
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 | |
79baabf1 | 141 | %{_tomcatconfdir}/%{name}.xml |
d102a775 | 142 | %dir %{webappdir} |
016ba3db ER |
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 | |
aad1c0c5 | 149 | %{webappdir}/admin.html |
016ba3db | 150 | %{webappdir}/favicon.ico |
aad1c0c5 ER |
151 | %{webappdir}/css |
152 | %{webappdir}/img | |
153 | %{webappdir}/js | |
154 | %{webappdir}/tpl | |
016ba3db | 155 | |
e80ed4c1 ER |
156 | # make tomcat load these jars |
157 | # FIXME: how to do this "properly" | |
158 | %{_tomcatdir}/lib/jcl-over-slf4j.jar | |
159 | %{_tomcatdir}/lib/slf4j-api.jar | |
160 | ||
d102a775 | 161 | %dir %{_sharedstatedir}/%{name} |
729b5b87 ER |
162 | %{_sharedstatedir}/%{name}/solr.xml |
163 | ||
164 | # sample instance configuration | |
aad1c0c5 ER |
165 | %dir %{_sysconfdir}/%{name}/example |
166 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/example/solr.xml | |
167 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/example/zoo.cfg | |
729b5b87 ER |
168 | %attr(750,root,servlet) %dir %{_sharedstatedir}/%{name}/example |
169 | %attr(2775,root,servlet) %dir %{_sharedstatedir}/%{name}/example/data | |
bd628ad4 | 170 | %{_sharedstatedir}/%{name}/example/conf |
aad1c0c5 | 171 | |
1f2ae4fd ER |
172 | %files -n java-%{name} |
173 | %defattr(644,root,root,755) | |
aad1c0c5 | 174 | %{_javadir}/solr-*.jar |