]> git.pld-linux.org Git - packages/mnogosearch.git/blob - mnogosearch.spec
-upgrade to 3.2.3
[packages/mnogosearch.git] / mnogosearch.spec
1 # conditional build:
2 # _pgsql support for postgres
3 # _mysql support for mysql
4
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
7 Name:           mnogosearch
8 Version:        3.2.3
9 Release:        1
10 License:        GPL
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
27 Prereq:         webserver
28 %{?_pgsql:Prereq:               postgresql-clients}
29 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31 %define         _sysconfdir     /etc/httpd/%{name}
32 %define         _localstatedir  /var/lib/mnogosearch
33
34 %description
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:
41  - mp3 tag info
42  - news searching(?)
43  - http: (and ftp: - via proxy) URL schemaa
44  - charset guesser
45  - externel parsers
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
52
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.
57
58 %description -l pl
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
83
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.
88
89 %package devel
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}
101
102 %description devel
103 This package contains mnogosearch development files.
104
105 %description devel -l pl
106 Pliki dla programistów mnogosearch.
107
108 %if%{?_pgsql:1}%{!?_pgsql:0}
109
110 %package pgsql
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}
119
120 %description pgsql
121 This package contains pgsql storage support.
122
123 Note: install will try to create tables in database mnogosearch.
124
125 %description pgsql -l pl
126 Ten pakiet zawiera wsparcie dla postgresa jako sposobu przechowywania
127 informacji. 
128
129 Instalacja tego pakietu spowoduje za³o¿enie tabel w bazie mnogosearch.
130 %endif
131
132 %package static
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}
144
145 %description static
146 This package contains static libraries of mnogosearch.
147
148 %description static -l pl
149 Ten pakiet zawiera statyczne biblioteki mnogosearch.
150
151 %prep
152 %setup -q
153 %patch0 -p0
154 #%patch1 -p0
155
156 %build
157 libtoolize --copy --force
158 aclocal
159 autoconf
160 automake -a -c
161
162 db="--with-built-in"
163
164 %{?_mysql: db="--with-mysql"}
165 %{?_pgsql: db="--with-pgsql"}
166
167 %configure \
168         --enable-syslog      \
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} \
175         --with-openssl \
176         $db \
177         --enable-linux-pthreads \
178         --enable-charset-guesser \
179         --enable-news-extension \
180         --enable-fast-tag \
181         --enable-fast-cat \
182         --enable-fast-site \
183         --enable-phrase    \
184
185 %{__make}
186
187
188 #  enable automatic Russian charset guesser :-]
189 # wy uze www.linux.ru procitacli sewodnja?
190
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
201 #       
202 # FIXME: add selection of storage method, spliting into %{name}-common & %{name}-$DB_NAME
203
204
205 %install
206 rm -rf $RPM_BUILD_ROOT
207 install -d $RPM_BUILD_ROOT{/var/lib/mnogosearch,/etc/cron.daily,/home/httpd/html/%{name},%{_sysconfdir},%{_infodir}}
208
209 %{__make} DESTDIR=$RPM_BUILD_ROOT install
210
211 ln -sf ../..%{_sbindir}/indexer \
212         $RPM_BUILD_ROOT/etc/cron.daily/mnogo-dbgen
213
214 ln -sf ../../../..%{_defaultdocdir}/%{name} \
215         $RPM_BUILD_ROOT/home/httpd/html/%{name}/mnogodoc
216
217 install etc/search.htm-dist $RPM_BUILD_ROOT/home/httpd/html/search.html
218 install -d $RPM_BUILD_ROOT/home/httpd/cgi-bin
219
220 install $RPM_BUILD_ROOT%{_bindir}/search.cgi $RPM_BUILD_ROOT/home/httpd/cgi-bin/search.cgi
221 touch $RPM_BUILD_ROOT%{_sysconfdir}/locals
222 install %{SOURCE1} \
223         $RPM_BUILD_ROOT/etc/cron.daily/mnogosearch-gethostnames
224 install %{SOURCE2} create/
225
226 gzip -z9 create/*
227 gzip -z9 create/*/*
228
229 %clean
230 rm -rf $RPM_BUILD_ROOT
231
232 %post
233 cp -f %{_sysconfdir}/indexer.conf-dist %{_sysconfdir}/indexer.conf
234
235 cat << EOF
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
240 EOF
241
242
243 %if%{?_pgsql:1}%{!?_pgsql:0}
244
245 %post pgsql
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
259
260 GRANT ALL ON url,dict,robots,stopword,categories,next_url_id,affix TO mnogosearch;
261
262 GRANT ALL ON ndict,server,thread,spell,next_cat_id,next_server_id,next_url_id TO mnogosearch;
263
264 GRANT ALL ON ndict2,ndict3,ndict4,ndict5,ndict6,ndict7,ndict8,ndict9,
265 ndict10,ndict11,ndict12,ndict16,ndict32 TO mnogosearch;
266
267 GRANT ALL ON dict2,dict3,dict4,dict5,dict6,dict7,dict8,dict9,dict10,
268 dict11,dict12,dict16,dict32 TO mnogosearch;
269
270 GRANT ALL ON "qtrack" TO mnogosearch;
271 EOF
272 su postgres -c "psql -U postgres template1 -f /tmp/mnogo.aqq"
273 rm -f /tmp/mnogo.aqq
274
275 %postun pgsql
276 echo -n 'Dropping Database mnogosearch:' 
277 su postgres -c "psql -U postgres template1 -c 'DROP DATABASE mnogosearch;' "
278 %endif # _pgsql
279         
280 %files
281 %defattr(644,root,root,755)
282 %doc COPYING README doc/* create/* create/*/*
283 #%doc %{_infodir}/*
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/*
295
296 %files devel
297 %defattr(644,root,root,755)
298 %{_includedir}/*
299
300 %files static
301 %defattr(644,root,root,755)
302 #%{_libdir}/%{name}/*.a
This page took 0.064943 seconds and 3 git commands to generate.