Allisson Azevedo 1434883
Name:           sphinx
Allisson Azevedo 1434883
Version:        0.9.8.1
9375441
Release:        4%{?dist}
Allisson Azevedo 1434883
Summary:        Free open-source SQL full-text search engine
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Group:          Applications/Text
Allisson Azevedo 1434883
License:        GPLv2+
Allisson Azevedo 1434883
URL:            http://sphinxsearch.com
Allisson Azevedo 1434883
Source0:        http://sphinxsearch.com/downloads/%{name}-%{version}.tar.gz
Allisson Azevedo 1434883
Source1:        %{name}.init
Allisson Azevedo 1434883
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Allisson Azevedo 1434883
Allisson Azevedo 1434883
BuildRequires:  mysql-devel
Allisson Azevedo 1434883
BuildRequires:  postgresql-devel
Allisson Azevedo 1434883
BuildRequires:  expat-devel
Allisson Azevedo 1434883
#Requires:
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Requires(post): chkconfig
Allisson Azevedo 1434883
Requires(preun): chkconfig
Allisson Azevedo 1434883
# This is for /sbin/service
Allisson Azevedo 1434883
Requires(preun): initscripts
Allisson Azevedo 1434883
       
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%description
Allisson Azevedo 1434883
Sphinx is a full-text search engine, distributed under GPL version 2.
Allisson Azevedo 1434883
Commercial licensing (eg. for embedded use) is also available upon request.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Generally, it's a standalone search engine, meant to provide fast,
Allisson Azevedo 1434883
size-efficient and relevant full-text search functions to other
Allisson Azevedo 1434883
applications. Sphinx was specially designed to integrate well with SQL
Allisson Azevedo 1434883
databases and scripting languages.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Currently built-in data source drivers support fetching data either via
Allisson Azevedo 1434883
direct connection to MySQL, or PostgreSQL, or from a pipe in a custom XML
Allisson Azevedo 1434883
format. Adding new drivers (eg. to natively support some other DBMSes) is
Allisson Azevedo 1434883
designed to be as easy as possible.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Search API is natively ported to PHP, Python, Perl, Ruby, Java, and also
Allisson Azevedo 1434883
available as a pluggable MySQL storage engine. API is very lightweight so
Allisson Azevedo 1434883
porting it to new language is known to take a few hours.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
As for the name, Sphinx is an acronym which is officially decoded as SQL
Allisson Azevedo 1434883
Phrase Index. Yes, I know about CMU's Sphinx project.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%package -n libsphinxclient
Allisson Azevedo 1434883
Summary:        Pure C searchd client API library
Allisson Azevedo 1434883
Group:          Development/Libraries
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%description -n libsphinxclient
Allisson Azevedo 1434883
Pure C searchd client API library
Allisson Azevedo 1434883
Sphinx search engine, http://sphinxsearch.com/
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%package -n libsphinxclient-devel
Allisson Azevedo 1434883
Summary:        Development libraries and header files for libsphinxclient
Allisson Azevedo 1434883
Group:          Development/Libraries
Allisson Azevedo 1434883
Requires:       libsphinxclient = %{version}-%{release}
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%description -n libsphinxclient-devel
Allisson Azevedo 1434883
Pure C searchd client API library
Allisson Azevedo 1434883
Sphinx search engine, http://sphinxsearch.com/
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%prep
Allisson Azevedo 1434883
%setup -q
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Fix wrong-file-end-of-line-encoding
Allisson Azevedo 1434883
sed -i 's/\r//' api/ruby/spec/sphinx/sphinx_test.sql
Allisson Azevedo 1434883
sed -i 's/\r//' api/java/mk.cmd
Allisson Azevedo 1434883
sed -i 's/\r//' api/ruby/spec/fixtures/keywords.php
Allisson Azevedo 1434883
sed -i 's/\r//' api/ruby/lib/sphinx/response.rb
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%build
Allisson Azevedo 1434883
%configure --sysconfdir=/etc/sphinx --with-mysql --with-pgsql
Allisson Azevedo 1434883
make %{?_smp_mflags}
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Build libsphinxclient
Allisson Azevedo 1434883
cd api/libsphinxclient/
Allisson Azevedo 1434883
%configure
Allisson Azevedo 1434883
make #%{?_smp_mflags}
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%install
Allisson Azevedo 1434883
rm -rf $RPM_BUILD_ROOT
Allisson Azevedo 1434883
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p -c"
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Install sphinx initscript
Allisson Azevedo 1434883
install -p -D -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/searchd
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Create /var/log/sphinx
Allisson Azevedo 1434883
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/sphinx
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Create /var/run/sphinx
Allisson Azevedo 1434883
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/sphinx
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Create /var/lib/sphinx
Allisson Azevedo 1434883
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/sphinx
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Create sphinx.conf
Allisson Azevedo 1434883
cp $RPM_BUILD_ROOT%{_sysconfdir}/sphinx/sphinx-min.conf.dist \
Allisson Azevedo 1434883
    $RPM_BUILD_ROOT%{_sysconfdir}/sphinx/sphinx.conf
Allisson Azevedo 1434883
    
Allisson Azevedo 1434883
# Modify sphinx.conf
Allisson Azevedo 1434883
sed -i 's/\/var\/log\/searchd.log/\/var\/log\/sphinx\/searchd.log/g' \
Allisson Azevedo 1434883
$RPM_BUILD_ROOT%{_sysconfdir}/sphinx/sphinx.conf
Allisson Azevedo 1434883
Allisson Azevedo 1434883
sed -i 's/\/var\/log\/query.log/\/var\/log\/sphinx\/query.log/g' \
Allisson Azevedo 1434883
$RPM_BUILD_ROOT%{_sysconfdir}/sphinx/sphinx.conf
Allisson Azevedo 1434883
Allisson Azevedo 1434883
sed -i 's/\/var\/log\/searchd.pid/\/var\/run\/sphinx\/searchd.pid/g' \
Allisson Azevedo 1434883
$RPM_BUILD_ROOT%{_sysconfdir}/sphinx/sphinx.conf
Allisson Azevedo 1434883
Allisson Azevedo 1434883
sed -i 's/\/var\/data\/test1/\/var\/lib\/sphinx\/test1/g' \
Allisson Azevedo 1434883
$RPM_BUILD_ROOT%{_sysconfdir}/sphinx/sphinx.conf
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Create /etc/logrotate.d/sphinx
Allisson Azevedo 1434883
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
Allisson Azevedo 1434883
cat > $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sphinx << EOF
Allisson Azevedo 1434883
/var/log/sphinx/*.log {
Allisson Azevedo 1434883
       weekly
Allisson Azevedo 1434883
       rotate 10
Allisson Azevedo 1434883
       copytruncate
Allisson Azevedo 1434883
       delaycompress
Allisson Azevedo 1434883
       compress
Allisson Azevedo 1434883
       notifempty
Allisson Azevedo 1434883
       missingok
Allisson Azevedo 1434883
}
Allisson Azevedo 1434883
EOF
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# Install libsphinxclient
Allisson Azevedo 1434883
cd api/libsphinxclient/
Allisson Azevedo 1434883
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p -c"
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# clean-up .la archives
Allisson Azevedo 1434883
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
Allisson Azevedo 1434883
Allisson Azevedo 1434883
# clean-up .a archives
Allisson Azevedo 1434883
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%clean
Allisson Azevedo 1434883
rm -rf $RPM_BUILD_ROOT
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%post
Allisson Azevedo 1434883
/sbin/chkconfig --add searchd
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%preun
Allisson Azevedo 1434883
if [ $1 = 0 ] ; then
Allisson Azevedo 1434883
    /sbin/service searchd stop >/dev/null 2>&1
Allisson Azevedo 1434883
    /sbin/chkconfig --del searchd
Allisson Azevedo 1434883
fi
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%post -p /sbin/ldconfig -n libsphinxclient
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%postun -p /sbin/ldconfig -n libsphinxclient
Allisson Azevedo 1434883
 
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%files
Allisson Azevedo 1434883
%defattr(-,root,root,-)
Allisson Azevedo 1434883
%doc COPYING doc/sphinx.txt sphinx-min.conf.dist sphinx.conf.dist example.sql
Allisson Azevedo 1434883
%dir %{_sysconfdir}/sphinx
Allisson Azevedo 1434883
%config(noreplace) %{_sysconfdir}/sphinx/sphinx.conf
Allisson Azevedo 1434883
%exclude %{_sysconfdir}/sphinx/*.conf.dist
Allisson Azevedo 1434883
%exclude %{_sysconfdir}/sphinx/example.sql
Allisson Azevedo 1434883
%{_initrddir}/searchd
Allisson Azevedo 1434883
%config(noreplace) %{_sysconfdir}/logrotate.d/sphinx
Allisson Azevedo 1434883
%{_bindir}/*
Allisson Azevedo 1434883
%dir %{_localstatedir}/log/sphinx
Allisson Azevedo 1434883
%dir %{_localstatedir}/run/sphinx
Allisson Azevedo 1434883
%dir %{_localstatedir}/lib/sphinx
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%files -n libsphinxclient
Allisson Azevedo 1434883
%defattr(-,root,root,-)
Allisson Azevedo 1434883
%doc api/java api/ruby api/*.php api/*.py api/libsphinxclient/README
Allisson Azevedo 1434883
%{_libdir}/libsphinxclient-0*.so
Allisson Azevedo 1434883
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%files -n libsphinxclient-devel
Allisson Azevedo 1434883
%defattr(-,root,root,-)
Allisson Azevedo 1434883
%{_libdir}/libsphinxclient.so
Allisson Azevedo 1434883
%{_includedir}/*
Allisson Azevedo 1434883
Allisson Azevedo 1434883
%changelog
9375441
* Wed Aug 26 2009 Tomas Mraz <tmraz@redhat.com> 0.9.8.1-4
9375441
- Rebuild with new openssl
9375441
Allisson Azevedo 1434883
* Wed Aug 12 2009 Allisson Azevedo <allisson@gmail.com> 0.9.8.1-3
Allisson Azevedo 1434883
- Fixed macros consistency.
Allisson Azevedo 1434883
- Modified make install to keep timestamps.
Allisson Azevedo 1434883
- Added libsphinxclient package.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
* Fri Aug  7 2009 Allisson Azevedo <allisson@gmail.com> 0.9.8.1-2
Allisson Azevedo 1434883
- Added sysv init.
Allisson Azevedo 1434883
- Added logrotate.d entry.
Allisson Azevedo 1434883
Allisson Azevedo 1434883
* Thu Jul 30 2009 Allisson Azevedo <allisson@gmail.com> 0.9.8.1-1
Allisson Azevedo 1434883
- Initial rpm release.