Bug 514833 - Review Request: sphinx - Free open-source SQL full-text search engine
Summary: Review Request: sphinx - Free open-source SQL full-text search engine
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Andrew Colin Kissa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-30 23:21 UTC by Allisson Azevedo
Modified: 2009-08-14 17:30 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-08-14 17:30:33 UTC
Type: ---
Embargoed:
andrew: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Allisson Azevedo 2009-07-30 23:21:39 UTC
Spec URL: http://allisson.fedorapeople.org/packages/sphinx/sphinx.spec
SRPM URL: http://allisson.fedorapeople.org/packages/sphinx/sphinx-0.9.8.1-1.fc11.src.rpm

Description: Sphinx is a full-text search engine, distributed under GPL version 2.
Commercial licensing (eg. for embedded use) 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, or PostgreSQL, or from a pipe in a custom XML
format. Adding new drivers (eg. to natively support some other DBMSes) is
designed to be as easy as possible.

Search API is natively ported to PHP, Python, Perl, Ruby, Java, and also
available as a pluggable MySQL storage engine. API is very lightweight so
porting it to new language is known to take a few hours.

As for the name, Sphinx is an acronym which is officially decoded as SQL
Phrase Index. Yes, I know about CMU's Sphinx project.

koji build scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=1568150

Comment 1 Andrew Colin Kissa 2009-08-03 17:47:19 UTC
A few issues to begin with

* The package contains searchd which is a server daemon (http://sphinxsearch.com/docs/current.html#ref-searchd) so the package should contain an init script for managing the service.

* The *.conf.dist files installed in /etc/sphinx could be installed as doc's as they are not really required for the program to function.

* The sample sql file should not be placed in /etc, better installed as part of the doc's

* Consider packaging libsphinxclient as a sub package as we will need this to package the PHP PEAR package for sphinx http://pecl.php.net/package/sphinx 

* Need to create a data directory where the index is stored, since this is data that changes it cannot be stored in /etc where the default configuration is configured to store it.

Comment 2 Allisson Azevedo 2009-08-07 13:39:59 UTC
Update package:

Spec URL: http://allisson.fedorapeople.org/packages/sphinx/sphinx.spec
SRPM URL:
http://allisson.fedorapeople.org/packages/sphinx/sphinx-0.9.8.1-2.fc11.src.rpm

Changelog:

* Fri Aug  7 2009 Allisson Azevedo <allisson> 0.9.8.1-2
- Added sysv init.
- Added logrotate.d entry.

koji build scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=1589151

Comment 3 Andrew Colin Kissa 2009-08-07 14:37:04 UTC
Some notes:

* Language API's
  - As per the package description you need to ship the Search API's with the
    package, as suggested before i think you should ship libsphinxclient as 
    subpackages (lib and devel) since it is a library

    The other languages (PHP,Python,Ruby,Java) can be shipped within the main
    package


* * Macros consistency
  - Well, if you want to use %{__mkdir} or %{__cp} style, please
    use %{__make}, %{__rm}, %{__sed}, etc for consistency.


* Timestamps
  - Would you consider using
---------------------------------------------------------------
make install DESTDIR=%{buildroot} INSTALL="install -p"
install -p -D -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/%{name}
---------------------------------------------------------------
    for example to keep timestamps on installed files?

  http://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps

Comment 4 Allisson Azevedo 2009-08-13 02:29:04 UTC
Update package:

Spec URL: http://allisson.fedorapeople.org/packages/sphinx/sphinx.spec
SRPM URL:
http://allisson.fedorapeople.org/packages/sphinx/sphinx-0.9.8.1-3.fc11.src.rpm

Changelog:

* Wed Aug 12 2009 Allisson Azevedo <allisson> 0.9.8.1-3
- Fixed macros consistency.
- Modified make install to keep timestamps.
- Added libsphinxclient package.

Comment 5 Andrew Colin Kissa 2009-08-14 06:41:31 UTC
Allisson, The final issue is not a blocker, just a good to have. The API's would be better installed in usable state (Java compiled, python in the correct directory, etc)

Am sure you can do that before CVS if you want. Otherwise all looks fine now.

-------------------------------------------------------------------
   This package (sphinx) is APPROVED by topdog
-------------------------------------------------------------------

Comment 6 Allisson Azevedo 2009-08-14 13:21:15 UTC
New Package CVS Request
=======================
Package Name: sphinx
Short Description: Free open-source SQL full-text search engine
Owners: allisson
Branches: F-10 F-11 EL-5

Comment 7 Jason Tibbitts 2009-08-14 16:19:18 UTC
CVS done.


Note You need to log in before you can comment on or make changes to this bug.