X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=blobdiff_plain;f=mnogosearch.spec;h=b4b304c10e0b6134cb61bb2a87a62e8fa5ead83c;hb=f6e68ced6fc433aace720f920213f3721e3a91da;hp=6d437df504a50dc0e28788e7c22a0b0d0a9d1919;hpb=64abe770fec56a144e5651071f2ef102ec448a28;p=packages%2Fmnogosearch.git diff --git a/mnogosearch.spec b/mnogosearch.spec index 6d437df..b4b304c 100644 --- a/mnogosearch.spec +++ b/mnogosearch.spec @@ -1,22 +1,60 @@ -Summary: A 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 +# TODO: webapps? +# +# Conditional build: +%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.UTF-8): Kolejny system indeksowania i przeszukiwania WWW dla małych domen i intranetu Name: mnogosearch -Version: 3.1.17 -Release: 1 -License: GPL +Version: 3.3.14 +Release: 3 +License: GPL v2+ Group: Networking/Utilities -Group(de): Netzwerkwesen/Werkzeuge -Group(pl): Sieciowe/Narzêdzia -Source0: http://www.mnogosearch.ru/Download/%{name}-%{version}.tar.gz -Patch0: %{name}-DESTDIR.patch -Source1: %{name}-gethostnames -URL: http://www.mnogosearch.ru/ -BuildRequires: postgresql-devel -PreReq: webserver +# 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_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/httpd/%{name} +%define _sysconfdir /etc/%{name} %define _localstatedir /var/lib/mnogosearch +%define cgidir /usr/lib/cgi-bin %description The mnogosearch system is a complete world wide web indexing and @@ -25,247 +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: - - 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: +- 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 -nadeje siê do zastosowania w pojedyñczej firmie, kampusie lub -jakiejkolwiek stronie www. -Zalety: - - przeszukiwaie tagow 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) - - wyszykiwanie w zwyk³ych URLach http:// - - wsparcie dla ssl (https://) - - wyszukiwanie w mirrorach [równie¿ lokalnych] odleg³ych sieci - - zgadywanie zestawu znakow - - zewnetrzne przetwarzacze dokumentow na potrzeby indekosowania - - ograniczanie zapytañ do jednej nazwy hosta: - - 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-sie lub serwerch 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: +- 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 and libraries for mnogo -Summary(pl): Pliki nag³ówkowe dla mnogo +Summary: Include files for mnogosearch +Summary(pl.UTF-8): Pliki nagłówkowe mnogosearch Group: Development/Libraries -Group(de): Entwicklung/Libraries -Group(fr): Development/Librairies -Group(pl): Programowanie/Biblioteki -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 -The mnogosearch system is a complete world wide web indexing and -searching system for a small domain or intranet. This system is not -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. - -As opposed to some WAIS-based or web-server based search engines, -mnogosearch 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. +This package contains mnogosearch development files. -This package contains devlopment files. - -%package pgsql -Summary: mnogosearch w/ pgsql storage-support -Summary(pl): mnogosearch z pgsqlem jako metod± przechowywania danych -Group: Networking/Utilities -Group(de): Netzwerkwesen/Werkzeuge -Group(pl): Sieciowe/Narzêdzia -Requires: %{name} = %{version} - -%description pgsql -The mnogosearch system is a complete world wide web indexing and -searching system for a small domain or intranet. This system is not -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. - -As opposed to some WAIS-based or web-server based search engines, -mnogosearch 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. - -This package contains pgsql storage support. +%description devel -l pl.UTF-8 +Pliki dla programistów używających mnogosearch. %package static -Summary: mnogo static libraries -Summary(pl): Biblioteki statyczne mnogo +Summary: mnogosearch static libraries +Summary(pl.UTF-8): Biblioteki statyczne mnogosearch Group: Development/Libraries -Group(de): Entwicklung/Libraries -Group(fr): Development/Librairies -Group(pl): Programowanie/Biblioteki -Requires: %{name}-devel = %{version} +Requires: %{name}-devel = %{version}-%{release} %description static -The mnogosearch system is a complete world wide web indexing and -searching system for a small domain or intranet. This system is not -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. As opposed to some WAIS-based or -web-server based search engines, mnogosearch 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. This package contains static libraries of mnogosearch. +This package contains static libraries of mnogosearch. + +%description static -l pl.UTF-8 +Ten pakiet zawiera statyczne biblioteki mnogosearch. %prep %setup -q %patch0 -p1 +%patch1 -p1 %build -libtoolize --copy --force -aclocal -autoconf -automake -a -c -#where the hell is pgsql? -sed -e 's/usr\/include\/pgsql/usr\/include\/postgresql/' < configure.in > aqq -mv aqq configure.in +find . -type d -name CVS | xargs rm -rf +%{__libtoolize} +%{__aclocal} -I build/m4 +%{__autoconf} +%{__automake} %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} \ - --infodir=%{_infodir} \ - --with-pgsql \ - --with-openssl \ - --enable-linux-pthreads \ - --enable-charset-guesser \ - --enable-news-extension \ - --enable-fast-tag \ - --enable-fast-cat \ - --enable-fast-site \ - --enable-phrase - -# enable automatic Russian charset guesser :-] -# wy uze www.linux.ru procitacli sewodnja? - -# --with-msql[=DIR] Include mSQL support. DIR is the mSQL base -# --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 -# --with-buildin \ -# --with-mysql \ -# +# # FIXME: add selection of storage method, spliting into %{name}-common & %{name}-$DB_NAME -%{__make} - %install -install -d $RPM_BUILD_ROOT{/var/lib/mnogosearch,/etc/cron.daily,/home/httpd/html/%{name},%{_sysconfdir},%{_infodir}} +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT{%{_localstatedir},%{cgidir},%{_sysconfdir}} \ + $RPM_BUILD_ROOT{/etc/cron.daily,%{_infodir}} -%{__make} DESTDIR=$RPM_BUILD_ROOT install +%{__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} \ - $RPM_BUILD_ROOT/home/httpd/html/%{name}/mnogodoc +install %{SOURCE1} $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-dbgen -install etc/search.htm-dist $RPM_BUILD_ROOT/home/httpd/html/search.html -install -d $RPM_BUILD_ROOT/home/httpd/cgi-bin +mkdir html +cp -af doc/*.{html,css} html -install $RPM_BUILD_ROOT%{_bindir}/search.cgi $RPM_BUILD_ROOT/home/httpd/cgi-bin/search.cgi -touch $RPM_BUILD_ROOT%{_sysconfdir}/locals -install %{SOURCE1} \ - $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-gethostnames +cd $RPM_BUILD_ROOT%{_sysconfdir} +touch locals +for f in *-dist ; do + mv -f $f `basename $f -dist` +done -gzip -z9 create/* +# packaged as %doc +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/mnogosearch %clean rm -rf $RPM_BUILD_ROOT %post -cp %{_sysconfdir}/indexer.conf-dist %{_sysconfdir}/indexer.conf - - cat << EOF -Please see docs (%{_defaultdocdir}/%{name} or http://localhost/mnogodoc), -then read how to setup db connection, and put line like this -"pgsql://user:password@/dbname/" into %{_sysconfdir}, then run sth like -psql < %{_defaultdocdir}/%{name}/pgsql/*.txt -Now I will try to Create Tables for postgres: -EOF -su postgres -c "psql -U postgres template1 -c 'CREATE DATABASE mnogosearch;' " -echo "Trying to Create Tables:" -su postgres -c "psql -U postgres mnogosearch < /usr/share/doc/mnogosearch-3.1.17/pgsql/create.txt" -echo "Trying to Create Tables for crc-multi storage method:" -su postgres -c "psql -U postgres mnogosearch < /usr/share/doc/mnogosearch-3.1.17/pgsql/crc-multi.txt" -echo "Trying to Create Tables for news extension:" -su postgres -c "psql -U postgres mnogosearch < /usr/share/doc/mnogosearch-3.1.17/pgsql/news-extension.txt" -echo "Mnogosearch user will be created with passwd aqq123 change it ! and I mean it realy !" -echo 'CREATE USER "mnogosearch" WITH PASSWORD '"'aqq123'"' NOCREATEDB NOCREATEUSER;' > /tmp/aqq -su postgres -c "psql -U postgres mnogosearch < /tmp/aqq" -echo "Granting Permisions..." -cat > /tmp/mnogo.aqq << EOF -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; +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 +using "indexer -Ecreate" command. EOF -su postgres -c "psql -U postgres template1 -f /tmp/mnogo.aqq" -rm -f /tmp/mnogo.aqq + +%post lib -p /sbin/ldconfig +%postun lib -p /sbin/ldconfig %files %defattr(644,root,root,755) -%doc COPYING README doc/* create/* create/*/* -#%doc %{_infodir}/* -%dir /var/lib/%{name} -%attr (755,http,http) /home/httpd/cgi-bin/* -%attr (755,http,http) %{_bindir}/* -%attr (755,http,http) %{_sbindir}/* -%attr (755,http,http) %{_libdir}/* -#%attr (755,http,http) %{_libdir}/%{name}/*la -%config(noreplace) /home/httpd/html/%{name}/* -#%{_datadir}/%{name}/* -%config(noreplace) %verify(not size mtime md5) /home/httpd/html/search.html -%config(noreplace) %{_sysconfdir}/* -%config(noreplace) %attr(750,http,http) /etc/cron.daily/* +%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 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) -#%{_includedir}/%{name}/* +%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}/%{name}/*.a +%{_libdir}/libmnogocharset.a +%{_libdir}/libmnogosearch.a