3 # _with_pgsql support for postgres
4 # _with_mysql support for mysql
6 Summary: Another one web indexing and searching system for a small domain or intranet
7 Summary(pl): Kolejny System indeksowania i przeszukiwania www dla ma³ych domen i intranetu
12 Group: Networking/Utilities
13 Source0: http://www.mnogosearch.ru/Download/%{name}-%{version}.tar.gz
14 # Source0-md5: 738866d47ecf1723c1efc445ae964477
15 Source1: %{name}-gethostnames
16 Source2: %{name}-Mysql-database
17 Source3: %{name}-stored.init
18 Source4: %{name}-dbgen
19 URL: http://www.mnogosearch.ru/
20 BuildRequires: autoconf
21 BuildRequires: automake
22 BuildRequires: libtool
23 %{?_with_mysql:BuildRequires: mysql-devel}
24 BuildRequires: openssl-devel >= 0.9.7
25 %{?_with_pgsql:BuildRequires: postgresql-devel}
27 %{?_with_pgsql:PreReq: postgresql-clients}
28 Requires: %{name}-lib = %{version}
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 %define _sysconfdir /etc/%{name}
34 %define _localstatedir /var/lib/mnogosearch
35 %define htmldir /home/services/httpd/html
36 %define cgidir /home/services/httpd/cgi-bin
39 The mnogosearch system is a complete world wide web indexing and
40 searching system for a small domain or intranet. This system is not
41 meant to replace the need for powerful internet-wide search systems
42 like Lycos, Infoseek, Webcrawler and AltaVista. Instead it is meant to
43 cover the search needs for a single company, campus, or even a
44 particular sub section of a web site. Features:
47 - http: (and ftp: - via proxy) URL schemaa
50 - support for ssl (https://)
51 - limiting queries to one hostname by sth like this: <INPUT
52 TYPE=HIDDEN NAME=ul VALUE=http://www.something.com/>
53 - it's posilble to run indexers on several diffrent (theoreticaly 128)
54 hosts, and gather information on one of them, reindexing proceses make
55 no harm to avalibility of search engine. See cachemode.txt
57 As opposed to some WAIS-based or web-server based search engines,
58 mnogsearch can span several web servers at a site. The type of these
59 different web servers doesn't matter as long as they understand the
60 HTTP 1.0 protocol. Mnogosearch supports also virtual domains.
63 Mnogosearch jest kompletnym systemem indeksuj±cym i przeszukuj±cym www
64 dla ma³ych domen oraz intranetu. System nie zosta³ opracowany jako
65 wielki system typu Lycos, Infoseek WebCrawler i AltaVista. Natomiast
66 nadaje siê do zastosowania w pojedynczej firmie, kampusie lub
67 jakiejkolwiek stronie www. Zalety:
68 - przeszukiwaie tagów mp3,
69 - niusów (Server news://localhost/pl/),
70 - htdb czyli baz danych udostêpnianych przez www/cgi. (HTDBList SELECT
71 \ concat("http://search.mnogo.ru/board/message.php?id=",id) \ FROM
72 udm.messages LIMIT 2))
73 - zawarto¶ci serwerów ftp (rada za 2gr: "Index no" dla serwera ftp
74 spowoduje nie indexowanie *zawarto¶ci* plików na nim siê znajduj±cych)
75 - wyszukiwanie w zwyk³ych URL-ach http://
76 - wsparcie dla SSL (https://)
77 - wyszukiwanie w mirrorach (równie¿ lokalnych) odleg³ych sieci
78 - zgadywanie zestawu znaków
79 - zewnêtrzne przetwarzacze dokumentów na potrzeby indeksowania
80 - ograniczanie zapytañ do jednej nazwy hosta: <INPUT TYPE=HIDDEN
81 NAME=ul VALUE=http://www.something.com/>
82 - kategoryzacja witryny (doc/categories.txt)
83 - mo¿liwe jest uruchomienie kilku procesów indeksuj±cych na kilku
84 (teoretycznie 128) hostach i trzymanie bazy na jednym z nich,
85 reindeksacja nie powoduje wtedy niedostêpno¶ci wyszukiwarki.
86 Przeczytaj cachemode.txt
88 W odró¿nieniu od innych systemów bazuj±cych na WAIS-ie lub serwerach
89 www, mnogosearch mo¿e ³±czyæ kilka serwerów www w jednym miejscu. Typ
90 serwera nie ma znaczenia, dopóki pracuje on zgodnie z protoko³em HTTP
91 1.0. Pakiet wspó³pracuje równie¿ z domenami wirtualnymi.
94 Summary: mnogosearch library
95 Summary(pl): Biblioteka mnogosearch
97 Requires(post): /sbin/ldconfig
100 This package contains mnogosearch library files.
102 %description lib -l pl
103 Ten pakiet zawiera pliki biblioteki mnogosearch.
106 Summary: Include files for mnogosearch
107 Summary(pl): Pliki nag³ówkowe mnogosearch
108 Group: Development/Libraries
109 Requires: %{name}-lib = %{version}
112 This package contains mnogosearch development files.
114 %description devel -l pl
115 Pliki dla programistów u¿ywaj±cych mnogosearch.
118 Summary: mnogosearch static libraries
119 Summary(pl): Biblioteki statyczne mnogosearch
120 Group: Development/Libraries
121 Requires: %{name}-devel = %{version}
124 This package contains static libraries of mnogosearch.
126 %description static -l pl
127 Ten pakiet zawiera statyczne biblioteki mnogosearch.
130 Summary: pgsql storage-support for mnogosearch
131 Summary(pl): Obs³uga przechowywania danych w bazie PostgreSQL
132 Group: Networking/Utilities
133 Requires: %{name} = %{version}
136 This package contains PostgreSQL storage support.
138 Note: install will try to create tables in database mnogosearch.
140 %description pgsql -l pl
141 Ten pakiet zawiera obs³ugê baz PostgreSQL do przechowywania
144 Instalacja tego pakietu spowoduje za³o¿enie tabel w bazie mnogosearch.
147 Summary: Deamon for saving gziped versions of documents
148 Summary(pl): Demon zapisuj±cy zgzipowane wersje dokumentów
149 Group: Development/Libraries
150 Requires: %{name} = %{version}
153 This package contains optional part of mnogosearch stored daemon,
154 which stores locally gziped versions of parsed (& indexed) html files,
157 %description stored -l pl
158 Pakiet zawiera opcjonaln± czê¶æ mnogosearch demon stored, zajmuj±cy
159 siê lokalnym przechowywaniem przetworzonych (i zindeksowanych)
160 spakowanych wersji plików html, artyku³ów usenetu, itp.
166 find . -type d -name CVS | xargs rm -rf
175 %{?_with_mysql: db="--with-mysql"}
176 %{?_with_pgsql: db="--with-pgsql"}
179 DOCBOOKSTYLE="/usr/share/sgml/docbook/dsssl-stylesheets" \
181 --enable-syslog=LOG_LOCAL6 \
182 --with-image-dir=%{htmldir}/%{name} \
183 --with-cgi-bin-dir=%{cgidir} \
184 --with-search-dir=%{htmldir} \
185 --with-config-dir=%{_sysconfdir}/http/%{name} \
188 --enable-linux-pthreads \
189 --enable-charset-guesser \
190 --enable-news-extension \
201 # enable automatic Russian charset guesser :-]
202 # wy uze www.linux.ru procitacli sewodnja?
204 # --with-iodbc[=DIR] Include iODBC support. DIR is the iODBC base
205 # --with-unixODBC[=DIR] Include unixODBC support. DIR is the unixODBC base
206 # --with-solid[=DIR] Include Solid support. DIR is the Solid base
207 # --with-openlink[=DIR] Include OpenLink ODBC support.
208 # --with-easysoft[=DIR] Include EasySoft ODBC support.
209 # --with-sapdb[=DIR] Include SAPDB support. DIR is the SAPDB base
210 # --with-ibase[=DIR] Include InterBase support. DIR is the InterBase
211 # --with-oracle7[=DIR] Include Oracle 7.3 support. DIR is the Oracle
212 # --with-oracle8[=DIR] Include Oracle8 support. DIR is the Oracle
213 # --with-oracle8i[=DIR] Include Oracle8i support. DIR is the Oracle
215 # FIXME: add selection of storage method, spliting into %{name}-common & %{name}-$DB_NAME
218 rm -rf $RPM_BUILD_ROOT
219 install -d $RPM_BUILD_ROOT{%{_localstatedir},%{htmldir},%{cgidir},%{_sysconfdir}} \
220 $RPM_BUILD_ROOT{/etc/cron.daily,%{_infodir}}
223 DESTDIR=$RPM_BUILD_ROOT \
224 doc_FILES='$(HTML_ALL)'
226 ln -sf %{_defaultdocdir}/%{name}-%{version}/html \
227 $RPM_BUILD_ROOT%{htmldir}/mnogodoc
229 mv -f $RPM_BUILD_ROOT%{_bindir}/*.cgi \
230 $RPM_BUILD_ROOT%{cgidir}
232 (cd $RPM_BUILD_ROOT%{_sysconfdir}
235 mv -f $f `basename $f -dist`
240 $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-gethostnames
241 install -d $RPM_BUILD_ROOT/usr/src/example/mnogosearch
242 install %{SOURCE2} $RPM_BUILD_ROOT/usr/src/example/mnogosearch/mysql.sql
243 install %{SOURCE4} $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-dbgen
245 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/
246 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/mnogosearch-stored
248 cat > $RPM_BUILD_ROOT/usr/src/example/mnogosearch/pg-sql.sql <<EOF
250 CREATE DATABASE mnogosearch;
253 cat create/pgsql/{create,crc-multi}.txt >> create/pgsql/mnogosearch-all.sql
254 cat >> create/pgsql/mnogosearch-all.sql <<EOF
255 CREATE USER "mnogosearch" WITH PASSWORD 'aqq123' NOCREATEDB NOCREATEUSER;
256 GRANT ALL ON url,dict,robots,stopword,categories,next_url_id,affix TO mnogosearch;
257 GRANT ALL ON ndict,server,thread,spell,next_cat_id,next_server_id,next_url_id TO mnogosearch;
258 GRANT ALL ON ndict2,ndict3,ndict4,ndict5,ndict6,ndict7,ndict8,ndict9,
259 ndict10,ndict11,ndict12,ndict16,ndict32 TO mnogosearch;
260 GRANT ALL ON dict2,dict3,dict4,dict5,dict6,dict7,dict8,dict9,dict10,
261 dict11,dict12,dict16,dict32 TO mnogosearch;
262 GRANT ALL ON "qtrack" TO mnogosearch;
266 mv -f doc/*.{html,css} html
269 rm -rf $RPM_BUILD_ROOT
273 Please see docs (%{_defaultdocdir}/%{name}-%{version} or http://localhost/mnogodoc),
274 then read how to setup db connection, and put line like this
275 "pgsql://user:password@/dbname/" into %{_sysconfdir}, then setup database
276 by something like "psql < %{_defaultdocdir}/%{name}-%{version}/create/pgsql/*.txt"
279 %postun lib -p /sbin/ldconfig
280 %post lib -p /sbin/ldconfig
283 echo "Creating database mnogosearch..."
284 su postgres -c "psql -U postgres template1 < %{_docdir}/%{name}-%{version}/create/pgsql/mnogosearch-all.psql"
285 echo "Mnogosearch user was created with passwd aqq123 - change it!"
288 echo -n 'Dropping Database mnogosearch:'
289 su postgres -c "psql -U postgres template1 -c 'DROP DATABASE mnogosearch;' "
292 /sbin/chkconfig --add mnogosearch-stored
295 if [ "$1" = "0" ]; then
296 if [ -f /var/lock/subsys/mnogosearch-stored ]; then
297 /etc/rc.d/init.d/mnogosearch-stored stop 1>&2
299 /sbin/chkconfig --del mnogosearch-stored
303 %defattr(644,root,root,755)
304 %doc ChangeLog README TODO html doc/samples
305 # instructions for database creation
306 %doc create/db2 create/ibase create/msql create/mysql create/oracle create/pgsql create/sapdb create/solid create/sybase create/virtuoso
307 %attr(755,root,root) %{_sbindir}/[!s]*
308 %attr(755,root,root) %{_sbindir}/s[!t]*
309 %attr(755,root,root) %{cgidir}/*
311 %dir %{_localstatedir}
312 %{_localstatedir}/raw
313 %{_localstatedir}/splitter
314 %{_localstatedir}/tree
315 %attr(775,root,http) %{_localstatedir}/cache
316 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf
317 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.freq
318 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.htm
319 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/locals
320 %dir %{_sysconfdir}/langmap
321 %dir %{_sysconfdir}/stopwords
322 %dir %{_sysconfdir}/synonym
323 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*/*
324 %config(noreplace) %attr(750,root,root) /etc/cron.daily/*
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_libdir}/lib*-*.so
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_bindir}/udm-config
334 %attr(755,root,root) %{_libdir}/libmnogosearch.so
335 %attr(755,root,root) %{_libdir}/libmnogocharset.so
340 %defattr(644,root,root,755)
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_sbindir}/stored
346 %{_localstatedir}/store
347 %attr(754,root,root)/etc/rc.d/init.d/mnogosearch-stored