]> git.pld-linux.org Git - packages/sphinx.git/blob - sphinx.spec
- add sphinx /var dirs
[packages/sphinx.git] / sphinx.spec
1 # TODO:
2 #  - package for ruby API
3 #
4 # Conditional build:
5 %bcond_without  java            # without Java support
6 %bcond_without  libstemmer      # without libstemmer support
7 %bcond_without  mysql           # without MySQL support
8 %bcond_without  pgsql           # without PostgreSQL support
9
10 # arch list synced with java-sun
11 %ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
12 %undefine       with_java
13 %endif
14
15 %{?with_java:%include   /usr/lib/rpm/macros.java}
16 %include        /usr/lib/rpm/macros.php
17 %define         php_min_version 5.0.4
18 Summary:        Free open-source SQL full-text search engine
19 Summary(pl.UTF-8):      Silnik przeszukiwania pełnotekstowego SQL open-source
20 Name:           sphinx
21 Version:        0.9.9
22 Release:        1.5
23 License:        GPL v2
24 Group:          Applications/Databases
25 Source0:        http://www.sphinxsearch.com/downloads/%{name}-%{version}.tar.gz
26 # Source0-md5:  7b9b618cb9b378f949bb1b91ddcc4f54
27 Source1:        %{name}.init
28 Patch0:         %{name}-system-libstemmer.patch
29 Patch1:         bug-468.patch
30 URL:            http://www.sphinxsearch.com/
31 BuildRequires:  autoconf
32 BuildRequires:  automake
33 BuildRequires:  expat-devel
34 %{?with_java:BuildRequires:     java-sun}
35 BuildRequires:  libstdc++-devel
36 %{?with_libstemmer:BuildRequires:       libstemmer-devel}
37 %{?with_mysql:BuildRequires:    mysql-devel}
38 %{?with_pgsql:BuildRequires:    postgresql-devel}
39 BuildRequires:  rpm-javaprov
40 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
41 BuildRequires:  rpmbuild(macros) >= 1.461
42 Requires(postun):       /usr/sbin/groupdel
43 Requires(postun):       /usr/sbin/userdel
44 Requires(pre):  /bin/id
45 Requires(pre):  /usr/bin/getgid
46 Requires(pre):  /usr/sbin/groupadd
47 Requires(pre):  /usr/sbin/useradd
48 Provides:       group(sphinx)
49 Provides:       user(sphinx)
50 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52 %define         _sysconfdir     /etc/%{name}
53
54 %description
55 Sphinx is a a standalone search engine, meant to provide fast,
56 size-efficient and relevant fulltext search functions to other
57 applications. Sphinx was specially designed to integrate well with SQL
58 databases and scripting languages. Currently built-in data sources
59 support fetching data either via direct connection to MySQL, or from
60 an XML pipe.
61
62 %description -l pl.UTF-8
63 Sphinx jest samodzielnym silnikiem przeszukującym, dostarczającym
64 innym aplikacjom szybkie, zoptymalizowane rozmiarowo funkcje
65 przeszukiwania pełnotekstowego. Sphinx został specjalnie
66 zaprojektowany z myślą o dobrej integracji z bazami danych SQL oraz
67 językami skryptowymi. Obecnie wbudowane źródła danych wspierają
68 pobieranie danych poprzez bezpośrednie połączenie z MySQL lub z potoku
69 XML.
70
71 %package -n libsphinxclient
72 Summary:        Client library for Sphinx
73 Summary(pl.UTF-8):      Biblioteka kliencka do Sphinx
74 Group:          Libraries
75
76 %description -n libsphinxclient
77 This package provides a client library for Sphinx search engine.
78
79 %description -n libsphinxclient -l PL.UTF_8
80 Ten pakiet dostarcza bibliotekę kliencką do silnika Sphinx.
81
82 %package -n libsphinxclient-devel
83 Summary:        Header files for sphinxclient library
84 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki sphinxclient
85 Group:          Development/Libraries
86 Requires:       libsphinxclient = %{version}-%{release}
87
88 %description -n libsphinxclient-devel
89 Header files for sphinxclient library.
90
91 %description -n libsphinxclient-devel -l pl.UTF-8
92 Pliki nagłówkowe biblioteki sphinxclient.
93
94 %package -n libsphinxclient-static
95 Summary:        Static sphinxclient library
96 Summary(pl.UTF-8):      Statyczna biblioteka sphinxclient
97 Group:          Development/Libraries
98 Requires:       libsphinxclient-devel = %{version}-%{release}
99
100 %description -n libsphinxclient-static
101 Static sphinxclient library.
102
103 %description -n libsphinxclient-static -l pl.UTF-8
104 Statyczna biblioteka sphinxclient.
105
106 %package -n java-sphinx
107 Summary:        Java API for Sphinx
108 Summary(pl.UTF-8):      API Javy dla Sphinksa
109 Group:          Development/Languages/Java
110 Requires:       jpackage-utils
111
112 %description -n java-sphinx
113 Java API for Sphinx.
114
115 %description -n java-sphinx -l pl.UTF-8
116 API Javy dla Sphinksa.
117
118 %package -n php-sphinx
119 Summary:        PHP API for Sphinx
120 Summary(pl.UTF-8):      API PHP dla Sphinksa
121 Group:          Libraries
122 Requires:       php-common >= 4:%{php_min_version}
123 Requires:       php-mbstring
124
125 %description -n php-sphinx
126 PHP API for Sphinx.
127
128 %description -n php-sphinx -l pl.UTF-8
129 API PHP dla Sphinksa.
130
131 %package -n python-sphinx
132 Summary:        Python API for Sphinx
133 Summary(pl.UTF-8):      API Python dla Sphinksa
134 Group:          Development/Languages/Python
135 %pyrequires_eq  python
136
137 %description -n python-sphinx
138 Python API for Sphinx.
139
140 %description -n python-sphinx -l pl.UTF-8
141 API Pythona dla Sphinksa.
142
143 %prep
144 %setup -q
145 %patch0 -p1
146 %patch1 -p1
147
148 sed -i -e '
149         s#/var/run/#/var/run/sphinx/#
150         s#@CONFDIR@/log/searchd.pid#/var/run/sphinx/searchd.pid#
151         s#@CONFDIR@/log/#/var/log/sphinx/#g
152         s#@CONFDIR@/data/#/var/lib/sphinx/#g
153 ' sphinx*.conf.in
154
155 %build
156 %{__aclocal}
157 %{__autoconf}
158 %{__autoheader}
159 %{__automake}
160 CPPFLAGS=-D_FILE_OFFSET_BITS=64
161 %configure \
162         --with%{!?with_libstemmer:out}-libstemmer \
163         --with%{!?with_pgsql:out}-pgsql \
164         --with%{!?with_mysql:out}-mysql
165 %{__make} -j1
166 # use .conf ext for %doc
167 cp -f sphinx.conf.dist sphinx.conf
168 cp -f sphinx-min.conf.dist sphinx-min.conf
169
170 # libsphinxclient
171 cd api/libsphinxclient
172 %{__libtoolize}
173 %{__aclocal}
174 %{__autoconf}
175 %{__autoheader}
176 %{__automake}
177 CPPFLAGS=-D_FILE_OFFSET_BITS=64
178 %configure
179 %{__make} -j1
180 cd ../..
181
182 # java api
183 %if %{with java}
184 export JAVA_HOME="%{java_home}"
185 %{__make} -j1 -C api/java
186 %endif
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190 install -d $RPM_BUILD_ROOT{%{_sbindir},/etc/rc.d/init.d,/var/{log,run,lib}/%{name}}
191
192 %{__make} -j1 install \
193         DESTDIR=$RPM_BUILD_ROOT
194
195 rm $RPM_BUILD_ROOT%{_sysconfdir}/example.sql
196 rm $RPM_BUILD_ROOT%{_sysconfdir}/sphinx.conf.dist
197
198 # create default config with no index definition
199 sed -e '/## data source definition/,/## indexer settings/d' sphinx.conf > $RPM_BUILD_ROOT%{_sysconfdir}/sphinx.conf
200
201 rm $RPM_BUILD_ROOT%{_sysconfdir}/sphinx-min.conf.dist
202 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/searchd
203 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
204
205 install -d $RPM_BUILD_ROOT%{php_data_dir}
206 cp -a api/sphinxapi.php $RPM_BUILD_ROOT%{php_data_dir}
207
208 # libsphinxclient
209 %{__make} -C api/libsphinxclient install \
210         DESTDIR=$RPM_BUILD_ROOT
211
212 # python api
213 install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
214 cp -a api/sphinxapi.py $RPM_BUILD_ROOT%{py_sitescriptdir}
215 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
216 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
217 %py_postclean
218
219 # ruby api
220
221 # java api
222 %if %{with java}
223 install -d $RPM_BUILD_ROOT%{_javadir}
224 cp -a api/java/sphinxapi.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
225 ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
226 %endif
227
228 %clean
229 rm -rf $RPM_BUILD_ROOT
230
231 %post   -n libsphinxclient -p /sbin/ldconfig
232 %postun -n libsphinxclient -p /sbin/ldconfig
233
234 %pre
235 %groupadd -g 249 sphinx
236 %useradd -u 249 -d /var/lib/%{name} -g sphinx -c "Sphinx Search" sphinx
237
238 %post
239 /sbin/chkconfig --add sphinx
240 %service sphinx restart
241
242 %preun
243 if [ "$1" = 0 ]; then
244         %service sphinx stop
245         /sbin/chkconfig --del sphinx
246 fi
247
248 %files
249 %defattr(644,root,root,755)
250 %doc doc/sphinx.txt example.sql sphinx.conf sphinx-min.conf
251 %dir %{_sysconfdir}
252 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sphinx.conf
253 %attr(754,root,root) /etc/rc.d/init.d/%{name}
254 %attr(755,root,root) %{_bindir}/indexer
255 %attr(755,root,root) %{_bindir}/indextool
256 %attr(755,root,root) %{_bindir}/search
257 %attr(755,root,root) %{_bindir}/spelldump
258 %attr(755,root,root) %{_sbindir}/searchd
259
260 %dir %attr(771,root,sphinx) /var/run/sphinx
261 %dir %attr(770,root,sphinx) /var/log/sphinx
262 %dir %attr(770,root,sphinx) /var/lib/sphinx
263
264 %files -n libsphinxclient
265 %defattr(644,root,root,755)
266 %doc api/libsphinxclient/README
267 %attr(755,root,root) %{_libdir}/libsphinxclient-*.*.*.so
268
269 %files -n libsphinxclient-devel
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/libsphinxclient.so
272 %{_libdir}/libsphinxclient.la
273 %{_includedir}/*.h
274
275 %files -n libsphinxclient-static
276 %defattr(644,root,root,755)
277 %{_libdir}/libsphinxclient.a
278
279 %if %{with java}
280 %files -n java-sphinx
281 %defattr(644,root,root,755)
282 %doc api/java/README
283 %{_javadir}/sphinx*.jar
284 %endif
285
286 %files -n php-sphinx
287 %defattr(644,root,root,755)
288 %{php_data_dir}/sphinxapi.php
289
290 %files -n python-sphinx
291 %defattr(644,root,root,755)
292 %{py_sitescriptdir}/*.py[co]
This page took 0.081277 seconds and 4 git commands to generate.