]> git.pld-linux.org Git - SPECS.git/blob - solr.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / solr.spec
1 # TODO
2 # - build from source, external deps
3 # - split libs in java-solr package to subpackages depending on their usage
4 # NOTES:
5 # - http://wiki.apache.org/solr/SolrTomcat
6 #
7 # Conditional build:
8 %bcond_without  tests           # don't build and run tests
9 %bcond_with             source          # don't build source jar
10
11 Summary:        Solr - open source enterprise search server
12 Summary(pl.UTF-8):      Solr - profesjonalny serwer wyszukiwarki o otwartych źródłach
13 Name:           solr
14 Version:        4.7.0
15 Release:        1
16 License:        Apache v2.0
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
21 Source2:        %{name}.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}
29 Requires:       java-log4j
30 Requires:       java-slf4j >= 1.6
31 Requires:       jpackage-utils
32 Requires:       tomcat
33 Obsoletes:      apache-solr < 3.6.0
34 BuildArch:      noarch
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %define         webappdir       %{_datadir}/%{name}
38
39 %description
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.
44
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
50 Tomcat.
51
52 %package -n java-%{name}
53 Summary:        Solr libraries
54 Group:          Libraries/Java
55 Requires:       jpackage-utils
56
57 %description -n java-%{name}
58 Solr libraries:
59 - analysis-extras
60 - cell
61 - clustering
62 - core
63 - dataimporthandler
64 - dataimporthandler-extras
65 - langid
66 - solrj
67 - test-framework
68 - uima
69 - velocity
70
71 %prep
72 %setup -q
73
74 %if %{with source}
75 # remove bindist
76 rm -rf dist/*
77 %else
78 # unpack war
79 install -d war
80 unzip -d war dist/solr-%{version}.war
81 %endif
82
83 %build
84 required_jars="junit"
85 export CLASSPATH=$(build-classpath $required_jars)
86 %if %{with source}
87 %ant dist \
88         -Dversion=%{version}
89 %endif
90
91 %install
92 rm -rf $RPM_BUILD_ROOT
93
94 # install .jars
95 install -d $RPM_BUILD_ROOT%{_javadir}
96 for a in dist/solr-*.jar; do
97         jar=${a##*/}
98         cp -p dist/$jar $RPM_BUILD_ROOT%{_javadir}
99         ln -s $jar $RPM_BUILD_ROOT%{_javadir}/${jar%%-%{version}.jar}.jar
100 done
101
102 # install webapp
103 install -d $RPM_BUILD_ROOT%{webappdir}
104 cp -a war/* $RPM_BUILD_ROOT%{webappdir}
105
106 # get logging jars to tomcat to load
107 # http://wiki.apache.org/solr/SolrLogging
108 for jar in \
109         log4j jcl-over-slf4j jul-to-slf4j slf4j-api slf4j-log4j12 \
110         ; do
111         ln -s %{_javadir}/$jar.jar $RPM_BUILD_ROOT%{webappdir}/WEB-INF/lib
112 done
113
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
118
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
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
128
129 %clean
130 rm -rf $RPM_BUILD_ROOT
131
132 %postun
133 %tomcat_clear_cache %{name}
134
135 %files
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
142 %dir %{webappdir}
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
151 %{webappdir}/css
152 %{webappdir}/img
153 %{webappdir}/js
154 %{webappdir}/tpl
155
156 %dir %{_sharedstatedir}/%{name}
157 %{_sharedstatedir}/%{name}/solr.xml
158
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
166
167 %files -n java-%{name}
168 %defattr(644,root,root,755)
169 %{_javadir}/solr-*.jar
This page took 0.480075 seconds and 3 git commands to generate.