]> git.pld-linux.org Git - packages/mnogosearch.git/blobdiff - mnogosearch.spec
- ac/am stuff is pretty b0rken here :/
[packages/mnogosearch.git] / mnogosearch.spec
index 11d7dadfb4ebea6ea4d7c9717376c33ed45059d2..b4b304c10e0b6134cb61bb2a87a62e8fa5ead83c 100644 (file)
@@ -1,37 +1,60 @@
+# TODO: webapps?
 #
 # Conditional build:
-# _with_pgsql  support for postgres
-# _with_mysql  support for mysql
-#
+%bcond_with    chasen          # use ChaSen Japanese morphological analysis system (not tested, maybe on by default?)
+%bcond_without ssl             # without SSL support (using OpenSSL)
+%bcond_with    mecab           # use mecab Japanese morphological system
+# databases
+%bcond_without mysql           # support for MySQL
+%bcond_without pgsql           # support for PostgreSQL
+%bcond_with    sqlite          # support for SQLite 2.x
+%bcond_without sqlite3         # support for SQLite 3.x
+%bcond_with    ibase           # support for InterBase/Firebird
+# databases through ODBC
+%bcond_with    iodbc           # with ODBC support through iODBC
+%bcond_with    unixodbc        # with ODBC support through unixODBC
+# databases through FreeTDS
+%bcond_without freetds         # support for Sybase/MS SQL through FreeTDS
+
 Summary:       Another one web indexing and searching system for a small domain or intranet
-Summary(pl):   Kolejny System indeksowania i przeszukiwania www dla ma³ych domen i intranetu
+Summary(pl.UTF-8):     Kolejny system indeksowania i przeszukiwania WWW dla małych domen i intranetu
 Name:          mnogosearch
-Version:       3.2.3
-Release:       2
-License:       GPL
+Version:       3.3.14
+Release:       3
+License:       GPL v2+
 Group:         Networking/Utilities
-Source0:       http://www.mnogosearch.ru/Download/%{name}-%{version}.tar.gz
-Source1:       %{name}-gethostnames
-Source2:       %{name}-Mysql-database
-Patch0:                %{name}-DESTDIR.patch
-Patch1:                %{name}-Mysql-pld.patch
-URL:           http://www.mnogosearch.ru/
+# Source0Download: http://www.mnogosearch.org/download.html
+Source0:       http://www.mnogosearch.org/Download/%{name}-%{version}.tar.gz
+# Source0-md5: caf042f31134ae1304f0963a9f4964a9
+Source1:       %{name}-dbgen
+Patch0:                %{name}-acfixes.patch
+Patch1:                %{name}-as_needed-fix.patch
+URL:           http://www.mnogosearch.org/
+%{?with_ibase:BuildRequires:   Firebird-devel}
 BuildRequires: autoconf
 BuildRequires: automake
+%{?with_chasen:BuildRequires:  chasen-devel}
+%{?with_freetds:BuildRequires: freetds-devel}
+%{?with_iodbc:BuildRequires:   libiodbc-devel}
 BuildRequires: libtool
-%{?_with_mysql:BuildRequires:  mysql-devel}
-BuildRequires: openssl-devel
-%{?_with_pgsql:BuildRequires:  postgresql-devel}
-Prereq:                webserver
-%{?_with_pgsql:Prereq:         postgresql-clients}
-Requires(post):        /sbin/ldconfig
+%{?with_mecab:BuildRequires:   mecab-devel}
+%{?with_mysql:BuildRequires:   mysql-devel}
+%{?with_ssl:BuildRequires:     openssl-devel >= 0.9.7d}
+%{?with_pgsql:BuildRequires:   postgresql-devel}
+%{?with_sqlite:BuildRequires:  sqlite-devel}
+%{?with_sqlite3:BuildRequires: sqlite3-devel}
+%{?with_unixodbc:BuildRequires:        unixODBC-devel}
+BuildRequires: zlib-devel
+Requires:      %{name}-lib = %{version}-%{release}
+Requires:      webserver
+Obsoletes:     aspseek
+Obsoletes:     mnogosearch-stored
 Obsoletes:     udmsearch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sysconfdir     /etc/%{name}
 %define                _localstatedir  /var/lib/mnogosearch
-%define                htmldir         /home/httpd/html
-%define                cgidir          /home/httpd/cgi-bin
+%define                cgidir          /usr/lib/cgi-bin
 
 %description
 The mnogosearch system is a complete world wide web indexing and
@@ -40,249 +63,231 @@ meant to replace the need for powerful internet-wide search systems
 like Lycos, Infoseek, Webcrawler and AltaVista. Instead it is meant to
 cover the search needs for a single company, campus, or even a
 particular sub section of a web site. Features:
- - mp3 tag info
- - news searching(?)
- - http: (and ftp: - via proxy) URL schemaa
- - charset guesser
- - externel parsers
- - support for ssl (https://)
- - limiting queries to one hostname by sth like this:
-   <INPUT TYPE=HIDDEN NAME=ul VALUE=http://www.something.com/>
- - it's posilble to run indexers on several diffrent (theoreticaly 128)
-   hosts, and gather information on one of them, reindexing proceses make
-   no harm to avalibility of search engine. See cachemode.txt
+- MP3 tag info
+- news searching(?)
+- http: (and ftp: - via proxy) URL schemaa
+- charset guesser
+- externel parsers
+- support for ssl (https://)
+- limiting queries to one hostname by sth like this: <INPUT
+  TYPE=HIDDEN NAME=ul VALUE=http://www.something.com/>
+- it's possilble to run indexers on several different (theoreticaly
+  128) hosts, and gather information on one of them, reindexing proceses
+  make no harm to avalibility of search engine. See cachemode.txt
 
 As opposed to some WAIS-based or web-server based search engines,
 mnogsearch can span several web servers at a site. The type of these
 different web servers doesn't matter as long as they understand the
 HTTP 1.0 protocol. Mnogosearch supports also virtual domains.
 
-%description -l pl
-Mnogosearch jest kompletnym systemem indeksuj±cym i przeszukuj±cym www
-dla ma³ych domen oraz intranetu. System nie zosta³ opracowany jako
+%description -l pl.UTF-8
+Mnogosearch jest kompletnym systemem indeksującym i przeszukującym WWW
+dla małych domen oraz intranetu. System nie został opracowany jako
 wielki system typu Lycos, Infoseek WebCrawler i AltaVista. Natomiast
-nadaje siê do zastosowania w pojedynczej firmie, kampusie lub
-jakiejkolwiek stronie www. Zalety:
- - przeszukiwaie tagów mp3,
- - niusów (Server news://localhost/pl/),
- - htdb czyli baz danych udostêpnianych przez www/cgi. (HTDBList SELECT \
-   concat("http://search.mnogo.ru/board/message.php?id=",id) \ 
-   FROM udm.messages LIMIT 2))
- - zawarto¶ci serwerów ftp (rada za 2gr: "Index no" dla serwera ftp
-   spowoduje nie indexowanie *zawarto¶ci* plików na nim siê znajduj±cych)
- - wyszukiwanie w zwyk³ych URL-ach http:// 
- - wsparcie dla SSL (https://)
- - wyszukiwanie w mirrorach (równie¿ lokalnych) odleg³ych sieci
- - zgadywanie zestawu znaków
- - zewnêtrzne przetwarzacze dokumentów na potrzeby indeksowania
- - ograniczanie zapytañ do jednej nazwy hosta:
-   <INPUT TYPE=HIDDEN NAME=ul VALUE=http://www.something.com/>
- - kategoryzacja witryny (doc/categories.txt)
- - mo¿liwe jest uruchomienie kilku procesów indeksuj±cych na kilku
-   (teoretycznie 128) hostach i trzymanie bazy na jednym z nich,
-   reindeksacja nie powoduje wtedy niedostêpno¶ci wyszukiwarki.
-   Przeczytaj cachemode.txt
-
-W odró¿nieniu od innych systemów bazuj±cych na WAIS-ie lub serwerach
-www, mnogosearch mo¿e ³±czyæ kilka serwerów www w jednym miejscu. Typ
-serwera nie ma znaczenia, dopóki pracuje on zgodnie z protoko³em HTTP
-1.0. Pakiet wspó³pracuje równie¿ z domenami wirtualnymi.
+nadaje się do zastosowania w pojedynczej firmie, kampusie lub
+jakiejkolwiek stronie WWW. Zalety:
+- przeszukiwanie znaczników MP3,
+- niusów (Server news://localhost/pl/),
+- htdb czyli baz danych udostępnianych przez WWW/CGI. (HTDBList SELECT
+  \ concat("http://search.mnogo.ru/board/message.php?id=",id) \ FROM
+  udm.messages LIMIT 2))
+- zawartości serwerów FTP (rada za 2gr: "Index no" dla serwera FTP
+  spowoduje nie indeksowanie *zawartości* plików na nim się
+  znajdujących)
+- wyszukiwanie w zwykłych URL-ach http://
+- wsparcie dla SSL (https://)
+- wyszukiwanie w mirrorach (również lokalnych) odległych sieci
+- zgadywanie zestawu znaków
+- zewnętrzne przetwarzacze dokumentów na potrzeby indeksowania
+- ograniczanie zapytań do jednej nazwy hosta: <INPUT TYPE=HIDDEN
+  NAME=ul VALUE=http://www.something.com/>
+- kategoryzacja witryny (doc/categories.txt)
+- możliwe jest uruchomienie kilku procesów indeksujących na kilku
+  (teoretycznie 128) hostach i trzymanie bazy na jednym z nich,
+  reindeksacja nie powoduje wtedy niedostępności wyszukiwarki.
+  Przeczytaj cachemode.txt
+
+W odróżnieniu od innych systemów bazujących na WAIS-ie lub serwerach
+WWW, mnogosearch może łączyć kilka serwerów WWW w jednym miejscu. Typ
+serwera nie ma znaczenia, dopóki pracuje on zgodnie z protokołem HTTP
+1.0. Pakiet współpracuje również z domenami wirtualnymi.
+
+%package lib
+Summary:       mnogosearch library
+Summary(pl.UTF-8):     Biblioteka mnogosearch
+Group:         Libraries
+
+%description lib
+This package contains mnogosearch library files.
+
+%description lib -l pl.UTF-8
+Ten pakiet zawiera pliki biblioteki mnogosearch.
 
 %package devel
 Summary:       Include files for mnogosearch
-Summary(pl):   Pliki nag³ówkowe mnogosearch
+Summary(pl.UTF-8):     Pliki nagłówkowe mnogosearch
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name}-lib = %{version}-%{release}
+%{?with_ibase:Requires:        Firebird-devel}
+%{?with_chasen:Requires:       chasen-devel}
+%{?with_freetds:Requires:      freetds-devel}
+%{?with_iodbc:Requires:        libiodbc-devel}
+%{?with_mecab:Requires:        mecab-devel}
+%{?with_mysql:Requires:        mysql-devel}
+%{?with_ssl:Requires:  openssl-devel}
+%{?with_pgsql:Requires:        postgresql-devel}
+%{?with_sqlite:Requires:       sqlite-devel}
+%{?with_sqlite3:Requires:      sqlite3-devel}
+%{?with_unixodbc:Requires:     unixODBC-devel}
+Requires:      zlib-devel
 
 %description devel
 This package contains mnogosearch development files.
 
-%description devel -l pl
-Pliki dla programistów u¿ywaj±cych mnogosearch.
+%description devel -l pl.UTF-8
+Pliki dla programistów używających mnogosearch.
 
 %package static
 Summary:       mnogosearch static libraries
-Summary(pl):   Biblioteki statyczne mnogosearch
+Summary(pl.UTF-8):     Biblioteki statyczne mnogosearch
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 This package contains static libraries of mnogosearch.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Ten pakiet zawiera statyczne biblioteki mnogosearch.
 
-%package pgsql
-Summary:       pgsql storage-support for mnogosearch
-Summary(pl):   Obs³uga przechowywania danych w bazie PostgreSQL
-Group:         Networking/Utilities
-Requires:      %{name} = %{version}
-
-%description pgsql
-This package contains PostgreSQL storage support.
-
-Note: install will try to create tables in database mnogosearch.
-
-%description pgsql -l pl
-Ten pakiet zawiera obs³ugê baz PostgreSQL do przechowywania
-informacji.
-
-Instalacja tego pakietu spowoduje za³o¿enie tabel w bazie mnogosearch.
-
 %prep
 %setup -q
-%patch0 -p0
-#%patch1 -p0
+%patch0 -p1
+%patch1 -p1
 
 %build
-rm -f missing
-libtoolize --copy --force
-aclocal
+find . -type d -name CVS | xargs rm -rf
+%{__libtoolize}
+%{__aclocal} -I build/m4
 %{__autoconf}
 %{__automake}
-
-db="--with-built-in"
-
-%{?_with_mysql: db="--with-mysql"}
-%{?_with_pgsql: db="--with-pgsql"}
-
 %configure \
-       --enable-syslog      \
+       DOCBOOKSTYLE="/usr/share/sgml/docbook/dsssl-stylesheets" \
+       --datadir=%{_datadir}/%{name} \
        --enable-syslog=LOG_LOCAL6 \
-       --with-image-dir=/home/httpd/html/%{name} \
-       --with-cgi-bin-dir=/home/httpd/cgi-bin \
-       --with-search-dir=/home/httpd/html \
-       --with-config-dir=%{_sysconfdir}/http/%{name} \
-       --with-openssl \
-       $db \
-       --enable-linux-pthreads \
-       --enable-charset-guesser \
-       --enable-news-extension \
-       --enable-fast-tag \
-       --enable-fast-cat \
-       --enable-fast-site \
-       --enable-phrase \
-       --enable-shared
-
-%{__make}
-
-#  enable automatic Russian charset guesser :-]
-# wy uze www.linux.ru procitacli sewodnja?
-
-#  --with-iodbc[=DIR]      Include iODBC support.  DIR is the iODBC base
-#  --with-unixODBC[=DIR]   Include unixODBC support.  DIR is the unixODBC base
-#  --with-solid[=DIR]      Include Solid support.  DIR is the Solid base
-#  --with-openlink[=DIR]   Include OpenLink ODBC support. 
-#  --with-easysoft[=DIR]   Include EasySoft ODBC support. 
-#  --with-sapdb[=DIR]      Include SAPDB support.  DIR is the SAPDB base
-#  --with-ibase[=DIR]      Include InterBase support.  DIR is the InterBase
-#  --with-oracle7[=DIR]    Include Oracle 7.3 support.  DIR is the Oracle
-#  --with-oracle8[=DIR]    Include Oracle8 support.  DIR is the Oracle
+       %{?with_chasen:--with-chasen} \
+       %{?with_freetds:--with-freetds} \
+       %{?with_ibase:--with-ibase} \
+       %{?with_iodbc:--with-iodbc} \
+       %{?with_mecab:--with-mecab} \
+       %{?with_mysql:--with-mysql} \
+       %{?with_ssl:--with-openssl} \
+       %{?with_pgsql:--with-pgsql} \
+       %{?with_sqlite:--with-sqlite} \
+       %{?with_sqlite3:--with-sqlite3} \
+       %{?with_unixodbc:--with-unixODBC} \
+       --with-zlib
+
+# --enable-mysql-fulltext-plugin ?
+# --with-readline (for SQL monitor) ?
+# --wiht-extra-charsets=big5,gb2312,gbk,japanese,euc-kr,gujarati,tscii ?
+
+%{__make} -j1 -C src libmnogocharset.la
+%{__make} -j1
+
+#  --with-solid[=DIR]    Include Solid support.  DIR is the Solid base
+#  --with-openlink[=DIR]   Include OpenLink ODBC support.
+#  --with-easysoft[=DIR]   Include EasySoft ODBC support.
+#  --with-sapdb[=DIR]    Include SAPDB support.  DIR is the SAPDB base
+#  --with-ctlib[=DIR]    Include Ct-Lib support.
+#  --with-oracle7[=DIR]        Include Oracle 7.3 support.  DIR is the Oracle
+#  --with-oracle8[=DIR]        Include Oracle8 support.  DIR is the Oracle
 #  --with-oracle8i[=DIR]   Include Oracle8i support.  DIR is the Oracle
-#      
+#
 # FIXME: add selection of storage method, spliting into %{name}-common & %{name}-$DB_NAME
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_localstatedir},%{htmldir},%{cgidir},%{_sysconfdir}} \
+install -d $RPM_BUILD_ROOT{%{_localstatedir},%{cgidir},%{_sysconfdir}} \
        $RPM_BUILD_ROOT{/etc/cron.daily,%{_infodir}}
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+%{__make} -j1 install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       doc_FILES='$(HTML_ALL)'
 
-ln -sf %{_sbindir}/indexer \
-       $RPM_BUILD_ROOT/etc/cron.daily/mnogo-dbgen
+mv -f $RPM_BUILD_ROOT%{_bindir}/search.cgi \
+       $RPM_BUILD_ROOT%{cgidir}/mnogosearch.cgi
 
-ln -sf %{_defaultdocdir}/%{name}-%{version}/html \
-        $RPM_BUILD_ROOT%{htmldir}/mnogodoc
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-dbgen
 
-mv -f $RPM_BUILD_ROOT%{_bindir}/*.cgi \
-       $RPM_BUILD_ROOT/home/httpd/cgi-bin
+mkdir html
+cp -af doc/*.{html,css} html
 
-(cd $RPM_BUILD_ROOT%{_sysconfdir}
+cd $RPM_BUILD_ROOT%{_sysconfdir}
 touch locals
 for f in *-dist ; do
        mv -f $f `basename $f -dist`
 done
-)
-
-install %{SOURCE1} \
-       $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-gethostnames
-
-install %{SOURCE2} create/mysql/mnogosearch-all.sql
 
-cat > create/pgsql/mnogosearch-all.sql <<EOF
-\connect template1
-CREATE DATABASE mnogosearch;
-\connect mnogosearch
-EOF
-cat create/pgsql/{create,crc-multi,news-extension}.txt \
-       >> create/pgsql/mnogosearch-all.sql
-cat >> create/pgsql/mnogosearch-all.sql <<EOF
-CREATE USER "mnogosearch" WITH PASSWORD 'aqq123' NOCREATEDB NOCREATEUSER;
-GRANT ALL ON url,dict,robots,stopword,categories,next_url_id,affix TO mnogosearch;
-GRANT ALL ON ndict,server,thread,spell,next_cat_id,next_server_id,next_url_id TO mnogosearch;
-GRANT ALL ON ndict2,ndict3,ndict4,ndict5,ndict6,ndict7,ndict8,ndict9,
-ndict10,ndict11,ndict12,ndict16,ndict32 TO mnogosearch;
-GRANT ALL ON dict2,dict3,dict4,dict5,dict6,dict7,dict8,dict9,dict10,
-dict11,dict12,dict16,dict32 TO mnogosearch;
-GRANT ALL ON "qtrack" TO mnogosearch;
-EOF
-
-mkdir html
-mv -f doc/*.html html
-rm -rf doc/samples/CVS create/CVS create/*/CVS
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mnogosearch
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-/sbin/ldconfig
 cat << EOF
-Please see docs (%{_defaultdocdir}/%{name}-%{version} or http://localhost/mnogodoc),
+Please see docs (%{_docdir}/%{name}-%{version}),
 then read how to setup db connection, and put line like this
 "pgsql://user:password@/dbname/" into %{_sysconfdir}, then setup database
-by something like "psql < %{_defaultdocdir}/%{name}-%{version}/create/pgsql/*.txt"
+using "indexer -Ecreate" command.
 EOF
 
-%postun        -p /sbin/ldconfig
-
-%post pgsql
-echo "Creating database mnogosearch..."
-su postgres -c "psql -U postgres template1 < %{_docdir}/%{name}-%{version}/create/pgsql/mnogosearch-all.psql"
-echo "Mnogosearch user was created with passwd aqq123 - change it!"
-
-%postun pgsql
-echo -n 'Dropping Database mnogosearch:' 
-su postgres -c "psql -U postgres template1 -c 'DROP DATABASE mnogosearch;' "
+%post  lib -p /sbin/ldconfig
+%postun        lib -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc ChangeLog README TODO html doc/samples create
-%attr(755,root,root) %{_libdir}/lib*-*.so
-%attr(755,root,root) %{_sbindir}/*
-%attr(755,root,root) %{cgidir}/*
-%{htmldir}/mnogodoc
-%dir %{_localstatedir}
-%{_localstatedir}/[rst]*
-%attr(775,root,http) %{_localstatedir}/cache
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.htm
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/locals
+%doc ChangeLog README TODO html doc/samples
+%attr(755,root,root) %{_sbindir}/indexer
+%attr(755,root,root) %{_bindir}/mconv
+%attr(755,root,root) %{_bindir}/mguesser
+%attr(755,root,root) %{cgidir}/mnogosearch.cgi
+%{_datadir}/%{name}
+%attr(775,root,http) %dir %{_localstatedir}
+%dir %{_sysconfdir}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/indexer.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/langmap.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/stopwords.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.freq
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/search.htm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/node.xml
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/locals
 %dir %{_sysconfdir}/langmap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/langmap/*.lm
 %dir %{_sysconfdir}/stopwords
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/stopwords/*.sl
 %dir %{_sysconfdir}/synonym
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*/*
-%config(noreplace) %attr(750,root,root) /etc/cron.daily/*
-%{_mandir}/man?/*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/synonym/*.syn
+%config(noreplace) %attr(750,root,root) /etc/cron.daily/mnogosearch-dbgen
+%{_mandir}/man1/indexer.1*
+%{_mandir}/man5/indexer.conf.5*
+
+%files lib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmnogocharset-3.3.so
+%attr(755,root,root) %{_libdir}/libmnogosearch-3.3.so
 
 %files devel
 %defattr(644,root,root,755)
-%attr (755,root,root) %{_bindir}/udm-config
-%{_includedir}/*
-%attr (755,root,root) %{_libdir}/libudmsearch.so
-%attr (755,root,root) %{_libdir}/lib*.la
+%attr(755,root,root) %{_bindir}/udm-config
+%attr(755,root,root) %{_libdir}/libmnogocharset.so
+%attr(755,root,root) %{_libdir}/libmnogosearch.so
+%{_libdir}/libmnogocharset.la
+%{_libdir}/libmnogosearch.la
+%{_includedir}/udmsearch.h
+%{_includedir}/udm_*.h
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libmnogocharset.a
+%{_libdir}/libmnogosearch.a
This page took 0.108786 seconds and 4 git commands to generate.