%define major 1 %define libname %mklibname sphinxclient %{major} %define develname %mklibname sphinxclient -d Summary: SQL full-text search engine Name: sphinx Version: 2.0.6 Release: %mkrel 3 License: GPLv2+ Group: Development/Databases URL: http://sphinxsearch.com/ Source0: http://sphinxsearch.com/downloads/%{name}-%{version}-release.tar.gz Source1: sphinx-searchd.service Source2: sphinx.logrotate Patch0: sphinx-DESTDIR.diff Patch1: sphinx-mdv_conf.diff Patch2: sphinx-libsphinxclient-version-info_fix.diff Patch3: sphinx-2.0.3-fix_static.patch Requires(post): systemd >= %{systemd_required_version} Requires(post): rpm-helper Requires(preun): rpm-helper BuildRequires: expat-devel BuildRequires: libstemmer-devel BuildRequires: libtool BuildRequires: mysql-devel BuildRequires: postgresql-devel %description Sphinx is a full-text search engine, distributed under GPL version 2. Commercial licensing is also available upon request. Generally, it's a standalone search engine, meant to provide fast, size-efficient and relevant full text search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages. Currently built-in data source drivers support fetching data either via direct connection to MySQL, PostgreSQL, or from a pipe in a custom XML format. As for the name, Sphinx is an acronym which is officially decoded as SQL Phrase Index. Yes, I know about CMU's Sphinx project. %package -n %{libname} Summary: Shared sphinxclient library Group: System/Libraries %description -n %{libname} This package contains the shared sphinxclient library. %package -n %{develname} Summary: Development files for the sphinxclient library Group: Development/C Requires: %{libname} = %{version} Provides: sphinxclient-devel = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} %description -n %{develname} This package contains the development files for the sphinxclient library. %prep %setup -q -n %{name}-%{version}-release %patch0 -p0 %patch1 -p1 %patch2 -p0 %patch3 -p1 cp %{SOURCE1} sphinx-searchd.service cp %{SOURCE2} sphinx.logrotate # Fix wrong-file-end-of-line-encoding sed -i 's/\r//' api/ruby/spec/sphinx/sphinx_test.sql sed -i 's/\r//' api/java/mk.cmd sed -i 's/\r//' api/ruby/spec/fixtures/keywords.php sed -i 's/\r//' api/ruby/lib/sphinx/response.rb %build %serverbuild pushd api/libsphinxclient #libtoolize --copy --force; aclocal sh ./buildconf.sh %configure2_5x make popd #libtoolize --copy --force; aclocal; autoheader; automake --foreign --ignore-deps; autoconf export CPPFLAGS="-I%{_includedir}/libstemmer" %configure2_5x \ --sysconfdir=%{_sysconfdir}/%{name} \ --program-prefix="%{name}-" \ --localstatedir=/var/lib \ --with-mysql \ --with-pgsql # hack to enable external stemmer libs perl -pi -e "s|^LIBSTEMMER_LIBS.*|LIBSTEMMER_LIBS=-lstemmer|g" src/Makefile perl -pi -e "s|^#define USE_LIBSTEMMER.*|#define USE_LIBSTEMMER 1|g" config/config.h %make %install install -d %{buildroot}%{_sysconfdir}/logrotate.d install -d %{buildroot}%{_sbindir} install -d %{buildroot}/lib/systemd/system install -d %{buildroot}/var/lib/%{name} install -d %{buildroot}/var/log/%{name} %makeinstall_std %makeinstall_std -C api/libsphinxclient mv %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf.dist %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf mv %{buildroot}%{_sysconfdir}/%{name}/%{name}-min.conf.dist %{buildroot}%{_sysconfdir}/%{name}/%{name}-min.conf mv %{buildroot}%{_bindir}/%{name}-searchd %{buildroot}%{_sbindir}/%{name}-searchd install -m0644 sphinx-searchd.service %{buildroot}/lib/systemd/system/sphinx-searchd.service install -m0644 %{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}-searchd # create ghostfiles touch %{buildroot}/var/log/sphinx/sphinx-searchd.log touch %{buildroot}/var/log/sphinx/sphinx-query.log rm -f %{buildroot}%{_libdir}/*.*a mkdir -p %{buildroot}%{_tmpfilesdir} cat <<EOF > %{buildroot}%{_tmpfilesdir}/%{name}.conf d /run/sphinx 0755 sphinx sphinx EOF %post %_tmpfilescreate %{name} %create_ghostfile /var/log/sphinx/sphinx-searchd.log root root 0644 %create_ghostfile /var/log/sphinx/sphinx-query.log root root 0644 if [ $1 -eq 1 ] ; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %preun if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable searchd.service > /dev/null 2>&1 || : /bin/systemctl stop searchd.service > /dev/null 2>&1 || : fi %postun /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall /bin/systemctl try-restart searchd.service >/dev/null 2>&1 || : fi %files %doc COPYING doc/*.html doc/*.css mysqlse/gen_data.php example.sql /lib/systemd/system/sphinx-searchd.service %attr(0755,root,root) %dir %{_sysconfdir}/%{name} %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/example.sql %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-min.conf %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-searchd %{_tmpfilesdir}/%{name}.conf %attr(0755,root,root) %{_bindir}/%{name}-indexer %attr(0755,root,root) %{_bindir}/%{name}-indextool %attr(0755,root,root) %{_bindir}/%{name}-search %attr(0755,root,root) %{_bindir}/%{name}-spelldump %attr(0755,root,root) %{_sbindir}/%{name}-searchd %attr(0755,sphinx,sphinx) %dir /var/lib/%{name} %attr(0755,sphinx,sphinx) %dir /var/log/%{name} %attr(0644,sphinx,sphinx) %ghost %config(noreplace) /var/log/sphinx/sphinx-searchd.log %attr(0644,sphinx,sphinx) %ghost %config(noreplace) /var/log/sphinx/sphinx-query.log %{_mandir}/man1/sphinx-indexer.1* %{_mandir}/man1/sphinx-indextool.1* %{_mandir}/man1/sphinx-search.1* %{_mandir}/man1/sphinx-searchd.1* %{_mandir}/man1/sphinx-spelldump.1* %files -n %{libname} %{_libdir}/*.so.%{major}* %files -n %{develname} %doc api/libsphinxclient/README %{_includedir}/sphinxclient.h %{_libdir}/*.so %changelog * Sun Mar 24 2013 colin <colin> 2.0.6-3.mga3 + Revision: 404859 - Add systemd requires and general post/pre fixes (mga#9302) * Mon Jan 14 2013 umeabot <umeabot> 2.0.6-2.mga3 + Revision: 382518 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild + luigiwalser <luigiwalser> - add tmpfiles config for /run/sphinx * Mon Jan 07 2013 barjac <barjac> 2.0.6-1.mga3 + Revision: 341292 - new version 2.0.6 - removed patch fixed upstream * Wed Oct 10 2012 barjac <barjac> 2.0.5-1.mga3 + Revision: 304293 - new version - removed gcc 4.7 patch fixed upstream * Fri Sep 28 2012 barjac <barjac> 2.0.4-2.mga3 + Revision: 299064 - Changed group to new policy * Tue Jun 19 2012 barjac <barjac> 2.0.4-1.mga3 + Revision: 261835 - Remove un-needed libtoolize - fix silly mistake prompted by rpmlint explicit lib error - New version updated from Mandriva - spec cleaned - Commented libtoolize as breaks build - Corrected license + spuhler <spuhler> -BuildRoot: %%{_tmppath}/%%{name}-%%{version}-%%{release}-buildroot - imported package sphinx * Sat Jan 01 2011 Oden Eriksson <oeriksson@mandriva.com> 0.9.9-6mdv2011.0 + Revision: 627010 - rebuilt against mysql-5.5.8 libs, again * Mon Dec 27 2010 Oden Eriksson <oeriksson@mandriva.com> 0.9.9-5mdv2011.0 + Revision: 625431 - rebuilt against mysql-5.5.8 libs * Fri Dec 03 2010 Oden Eriksson <oeriksson@mandriva.com> 0.9.9-4mdv2011.0 + Revision: 607557 - rebuild * Fri Feb 26 2010 Oden Eriksson <oeriksson@mandriva.com> 0.9.9-3mdv2010.1 + Revision: 511700 - rebuild * Wed Feb 17 2010 Oden Eriksson <oeriksson@mandriva.com> 0.9.9-2mdv2010.1 + Revision: 507045 - rebuild * Fri Dec 11 2009 Oden Eriksson <oeriksson@mandriva.com> 0.9.9-1mdv2010.1 + Revision: 476436 - 0.9.9 * Thu Sep 03 2009 Christophe Fergeau <cfergeau@mandriva.com> 0.9.8.1-5mdv2010.0 + Revision: 427210 - rebuild * Wed Dec 17 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8.1-4mdv2009.1 + Revision: 315261 - bump release due to build system hickups - rediffed one fuzzy patch * Sat Dec 06 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8.1-2mdv2009.1 + Revision: 311208 - rebuilt against mysql-5.1.30 libs * Mon Nov 03 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8.1-1mdv2009.1 + Revision: 299606 - 0.9.8.1 * Sat Jul 26 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8-6mdv2009.0 + Revision: 250216 - 0.9.8 (final) - added the libsphinxclient subpackage * Fri Jun 13 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8-5mdv2009.0 + Revision: 218760 - hardcode %%{_localstatedir} + Pixel <pixel@mandriva.com> - adapt to %%_localstatedir now being /var instead of /var/lib (#22312) * Thu Apr 17 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8-4mdv2009.0 + Revision: 195245 - 0.9.8-rc2 * Fri Mar 07 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8-3mdv2008.1 + Revision: 181283 - 0.9.8-rc1 * Mon Feb 18 2008 Thierry Vignaud <tv@mandriva.org> 0.9.8-2mdv2008.1 + Revision: 171111 - rebuild * Fri Feb 01 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8-1mdv2008.1 + Revision: 161223 - enable stemmer * Fri Feb 01 2008 Oden Eriksson <oeriksson@mandriva.com> 0.9.8-0.1mdv2008.1 + Revision: 161018 - temprary disable stemmer support - 0.9.8-svn-r1112 - rediffed the patches - fixed deps - added libstemmer support + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tv@mandriva.org> - kill re-definition of %%buildroot on Pixel's request * Thu Nov 01 2007 Oden Eriksson <oeriksson@mandriva.com> 0.9.7-1mdv2008.1 + Revision: 104416 - import sphinx * Thu Nov 01 2007 Oden Eriksson <oeriksson@mandriva.com> 0.9.7-1mdv2008.1 - initial Mandriva package