2 # _pgsql support for postgres
3 # _mysql support for mysql
5 Summary: A another one web indexing and searching system for a small domain or intranet
6 Summary(pl): Kolejny System indeksowania i przeszukiwania www dla ma³ych domen i intranetu
11 Group: Networking/Utilities
12 Group(de): Netzwerkwesen/Werkzeuge
13 Group(es): Red/Utilitarios
14 Group(pl): Sieciowe/Narzêdzia
15 Group(pt_BR): Rede/Utilitários
16 Source0: http://www.mnogosearch.ru/Download/%{name}-%{version}.tar.gz
17 Source2: %{name}-gethostnames
18 %{?_mysql:Source1: %{name}-Mysql-database}
19 Patch0: %{name}-DESTDIR.patch
20 %{?_mysql:Patch1: %{name}-Mysql-pld.patch}
21 URL: http://www.mnogosearch.ru/
22 %{?_pgsql:BuildRequires: postgresql-devel}
23 %{?_mysql:BuildRequires: mysql-devel}
24 BuildRequires: autoconf
25 BuildRequires: automake
26 BuildRequires: libtool
28 %{?_pgsql:Prereq: postgresql-clients}
29 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31 %define _sysconfdir /etc/httpd/%{name}
32 %define _localstatedir /var/lib/mnogosearch
35 The mnogosearch system is a complete world wide web indexing and
36 searching system for a small domain or intranet. This system is not
37 meant to replace the need for powerful internet-wide search systems
38 like Lycos, Infoseek, Webcrawler and AltaVista. Instead it is meant to
39 cover the search needs for a single company, campus, or even a
40 particular sub section of a web site. Features:
43 - http: (and ftp: - via proxy) URL schemaa
46 - support for ssl (https://)
47 - limiting queries to one hostname by sth like this:
48 <INPUT TYPE=HIDDEN NAME=ul VALUE=http://www.something.com/>
49 - it's posilble to run indexers on several diffrent (theoreticaly 128)
50 hosts, and gather information on one of them, reindexing proceses make
51 no harm to avalibility of search engine. See cachemode.txt
53 As opposed to some WAIS-based or web-server based search engines,
54 mnogsearch can span several web servers at a site. The type of these
55 different web servers doesn't matter as long as they understand the
56 HTTP 1.0 protocol. Mnogosearch supports also virtual domains.
59 Mnogosearch jest kompletnym systemem indeksuj±cym i przeszukuj±cym www
60 dla ma³ych domen oraz intranetu. System nie zosta³ opracowany jako
61 wielki system typu Lycos, Infoseek WebCrawler i AltaVista. Natomiast
62 nadaje siê do zastosowania w pojedynczej firmie, kampusie lub
63 jakiejkolwiek stronie www. Zalety:
64 - przeszukiwaie tagów mp3,
65 - niusów (Server news://localhost/pl/),
66 - htdb czyli baz danych udostêpnianych przez www/cgi. (HTDBList SELECT \
67 concat("http://search.mnogo.ru/board/message.php?id=",id) \
68 FROM udm.messages LIMIT 2))
69 - zawarto¶ci serwerów ftp (rada za 2gr: "Index no" dla serwera ftp
70 spowoduje nie indexowanie *zawarto¶ci* plików na nim siê znajduj±cych)
71 - wyszukiwanie w zwyk³ych URL-ach http://
72 - wsparcie dla SSL (https://)
73 - wyszukiwanie w mirrorach (równie¿ lokalnych) odleg³ych sieci
74 - zgadywanie zestawu znaków
75 - zewnêtrzne przetwarzacze dokumentów na potrzeby indeksowania
76 - ograniczanie zapytañ do jednej nazwy hosta:
77 <INPUT TYPE=HIDDEN NAME=ul VALUE=http://www.something.com/>
78 - kategoryzacja witryny (doc/categories.txt)
79 - mo¿liwe jest uruchomienie kilku procesów indeksuj±cych na kilku
80 (teoretycznie 128) hostach i trzymanie bazy na jednym z nich,
81 reindeksacja nie powoduje wtedy niedostêpno¶ci wyszukiwarki.
82 Przeczytaj cachemode.txt
84 W odró¿nieniu od innych systemów bazuj±cych na WAIS-ie lub serwerach
85 www, mnogosearch mo¿e ³±czyæ kilka serwerów www w jednym miejscu. Typ
86 serwera nie ma znaczenia, dopóki pracuje on zgodnie z protoko³em HTTP
87 1.0. Pakiet wspó³pracuje równie¿ z domenami wirtualnymi.
90 Summary: Include files and libraries for mnogo
91 Summary(pl): Pliki nag³ówkowe dla mnogo
92 Group: Development/Libraries
93 Group(de): Entwicklung/Libraries
94 Group(es): Desarrollo/Bibliotecas
95 Group(fr): Development/Librairies
96 Group(pl): Programowanie/Biblioteki
97 Group(pt_BR): Desenvolvimento/Bibliotecas
98 Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
99 Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
100 Requires: %{name} = %{version}
103 This package contains mnogosearch development files.
105 %description devel -l pl
106 Pliki dla programistów mnogosearch.
108 %if%{?_pgsql:1}%{!?_pgsql:0}
111 Summary: mnogosearch with pgsql storage-support
112 Summary(pl): mnogosearch z pgsqlem jako metod± przechowywania danych
113 Group: Networking/Utilities
114 Group(de): Netzwerkwesen/Werkzeuge
115 Group(es): Red/Utilitarios
116 Group(pl): Sieciowe/Narzêdzia
117 Group(pt_BR): Rede/Utilitários
118 Requires: %{name} = %{version}
121 This package contains pgsql storage support.
123 Note: install will try to create tables in database mnogosearch.
125 %description pgsql -l pl
126 Ten pakiet zawiera wsparcie dla postgresa jako sposobu przechowywania
129 Instalacja tego pakietu spowoduje za³o¿enie tabel w bazie mnogosearch.
133 Summary: mnogo static libraries
134 Summary(pl): Biblioteki statyczne mnogo
135 Group: Development/Libraries
136 Group(de): Entwicklung/Libraries
137 Group(es): Desarrollo/Bibliotecas
138 Group(fr): Development/Librairies
139 Group(pl): Programowanie/Biblioteki
140 Group(pt_BR): Desenvolvimento/Bibliotecas
141 Group(ru): òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
142 Group(uk): òÏÚÒÏÂËÁ/â¦Â̦ÏÔÅËÉ
143 Requires: %{name}-devel = %{version}
146 This package contains static libraries of mnogosearch.
148 %description static -l pl
149 Ten pakiet zawiera statyczne biblioteki mnogosearch.
157 libtoolize --copy --force
164 %{?_mysql: db="--with-mysql"}
165 %{?_pgsql: db="--with-pgsql"}
169 --enable-syslog=LOG_LOCAL6 \
170 --with-image-dir=/home/httpd/html/%{name} \
171 --with-cgi-bin-dir=/home/httpd/cgi-bin \
172 --with-search-dir=/home/httpd/html \
173 --with-config-dir=%{_sysconfdir}/http/%{name} \
174 --infodir=%{_infodir} \
177 --enable-linux-pthreads \
178 --enable-charset-guesser \
179 --enable-news-extension \
188 # enable automatic Russian charset guesser :-]
189 # wy uze www.linux.ru procitacli sewodnja?
191 # --with-iodbc[=DIR] Include iODBC support. DIR is the iODBC base
192 # --with-unixODBC[=DIR] Include unixODBC support. DIR is the unixODBC base
193 # --with-solid[=DIR] Include Solid support. DIR is the Solid base
194 # --with-openlink[=DIR] Include OpenLink ODBC support.
195 # --with-easysoft[=DIR] Include EasySoft ODBC support.
196 # --with-sapdb[=DIR] Include SAPDB support. DIR is the SAPDB base
197 # --with-ibase[=DIR] Include InterBase support. DIR is the InterBase
198 # --with-oracle7[=DIR] Include Oracle 7.3 support. DIR is the Oracle
199 # --with-oracle8[=DIR] Include Oracle8 support. DIR is the Oracle
200 # --with-oracle8i[=DIR] Include Oracle8i support. DIR is the Oracle
202 # FIXME: add selection of storage method, spliting into %{name}-common & %{name}-$DB_NAME
206 rm -rf $RPM_BUILD_ROOT
207 install -d $RPM_BUILD_ROOT{/var/lib/mnogosearch,/etc/cron.daily,/home/httpd/html/%{name},%{_sysconfdir},%{_infodir}}
209 %{__make} DESTDIR=$RPM_BUILD_ROOT install
211 ln -sf ../..%{_sbindir}/indexer \
212 $RPM_BUILD_ROOT/etc/cron.daily/mnogo-dbgen
214 ln -sf ../../../..%{_defaultdocdir}/%{name} \
215 $RPM_BUILD_ROOT/home/httpd/html/%{name}/mnogodoc
217 install etc/search.htm-dist $RPM_BUILD_ROOT/home/httpd/html/search.html
218 install -d $RPM_BUILD_ROOT/home/httpd/cgi-bin
220 install $RPM_BUILD_ROOT%{_bindir}/search.cgi $RPM_BUILD_ROOT/home/httpd/cgi-bin/search.cgi
221 touch $RPM_BUILD_ROOT%{_sysconfdir}/locals
223 $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-gethostnames
224 install %{SOURCE2} create/
230 rm -rf $RPM_BUILD_ROOT
233 cp -f %{_sysconfdir}/indexer.conf-dist %{_sysconfdir}/indexer.conf
236 Please see docs (%{_defaultdocdir}/%{name} or http://localhost/mnogodoc),
237 then read how to setup db connection, and put line like this
238 "pgsql://user:password@/dbname/" into %{_sysconfdir}, then run sth like
239 psql < %{_defaultdocdir}/%{name}/pgsql/*.txt
243 %if%{?_pgsql:1}%{!?_pgsql:0}
246 echo 'Now I will try to Create Tables for postgres: '
247 su postgres -c "psql -U postgres template1 -c 'CREATE DATABASE mnogosearch;' "
248 echo "Trying to Create Tables:"
249 su postgres -c "psql -U postgres mnogosearch < /usr/share/doc/mnogosearch-3.1.17/pgsql/create.txt"
250 echo "Trying to Create Tables for crc-multi storage method:"
251 su postgres -c "psql -U postgres mnogosearch < /usr/share/doc/mnogosearch-3.1.17/pgsql/crc-multi.txt"
252 echo "Trying to Create Tables for news extension:"
253 su postgres -c "psql -U postgres mnogosearch < /usr/share/doc/mnogosearch-3.1.17/pgsql/news-extension.txt"
254 echo "Mnogosearch user will be created with passwd aqq123 change it ! and I mean it really !"
255 echo 'CREATE USER "mnogosearch" WITH PASSWORD '"'aqq123'"' NOCREATEDB NOCREATEUSER;' > /tmp/aqq
256 su postgres -c "psql -U postgres mnogosearch < /tmp/aqq"
257 echo "Granting Permisions..."
258 cat > /tmp/mnogo.aqq << EOF
260 GRANT ALL ON url,dict,robots,stopword,categories,next_url_id,affix TO mnogosearch;
262 GRANT ALL ON ndict,server,thread,spell,next_cat_id,next_server_id,next_url_id TO mnogosearch;
264 GRANT ALL ON ndict2,ndict3,ndict4,ndict5,ndict6,ndict7,ndict8,ndict9,
265 ndict10,ndict11,ndict12,ndict16,ndict32 TO mnogosearch;
267 GRANT ALL ON dict2,dict3,dict4,dict5,dict6,dict7,dict8,dict9,dict10,
268 dict11,dict12,dict16,dict32 TO mnogosearch;
270 GRANT ALL ON "qtrack" TO mnogosearch;
272 su postgres -c "psql -U postgres template1 -f /tmp/mnogo.aqq"
276 echo -n 'Dropping Database mnogosearch:'
277 su postgres -c "psql -U postgres template1 -c 'DROP DATABASE mnogosearch;' "
281 %defattr(644,root,root,755)
282 %doc COPYING README doc/* create/* create/*/*
284 %dir /var/lib/%{name}
285 %attr (755,http,http) /home/httpd/cgi-bin/*
286 %attr (755,http,http) %{_bindir}/*
287 %attr (755,http,http) %{_sbindir}/*
288 %attr (755,http,http) %{_libdir}/*
289 #%attr (755,http,http) %{_libdir}/%{name}/*la
290 %config(noreplace) /home/httpd/html/%{name}/*
291 #%{_datadir}/%{name}/*
292 %config(noreplace) %verify(not size mtime md5) /home/httpd/html/search.html
293 %config(noreplace) %{_sysconfdir}/*
294 %config(noreplace) %attr(750,http,http) /etc/cron.daily/*
297 %defattr(644,root,root,755)
301 %defattr(644,root,root,755)
302 #%{_libdir}/%{name}/*.a