]> git.pld-linux.org Git - packages/mnogosearch.git/blobdiff - mnogosearch.spec
- 3.2.40
[packages/mnogosearch.git] / mnogosearch.spec
index bdb8db78921d01c39f8c80f7e574e08ba29db912..dcdb72484b8912af6a47d6a2493b5ecf3cec4257 100644 (file)
@@ -1,21 +1,57 @@
-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
+#
+# Conditional build:
+%bcond_with    chasen          # use ChaSen Japanese morphological analisys system
+                               # (not tested, maybe on by default?)
+%bcond_without expat           # without XML support (using expat library)
+%bcond_without ssl             # without SSL support (using OpenSSL)
+# databases
+%bcond_without mysql           # support for MySQL
+%bcond_without pgsql           # support for PostgreSQL
+# 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 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
 Name:          mnogosearch
-Version:       3.1.16
+Version:       3.2.40
 Release:       1
-License:       GPL
+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
+#Source0Download: http://www.mnogosearch.ru/download.html
+Source0:       http://www.mnogosearch.ru/Download/%{name}-%{version}.tar.gz
+# Source0-md5: 80515ca73111a1ac66fc496646beb39e
+Source1:       %{name}-dbgen
+Patch0:                %{name}-acfixes.patch
+Patch1:                %{name}-as_needed-fix.patch
 URL:           http://www.mnogosearch.ru/
-BuildRequires: postgresql-devel
-PreReq:                webserver
+BuildRequires: autoconf
+BuildRequires: automake
+%{?with_chasen:BuildRequires:  chasen-devel}
+%{?with_expat:BuildRequires:   expat-devel}
+%{?with_freetds:BuildRequires: freetds-devel}
+%{?with_iodbc:BuildRequires:   libiodbc-devel}
+BuildRequires: libtool
+%{?with_mysql:BuildRequires:   mysql-devel}
+%{?with_ssl:BuildRequires:     openssl-devel >= 0.9.7d}
+%{?with_pgsql:BuildRequires:   postgresql-devel}
+%{?with_unixodbc:BuildRequires:        unixODBC-devel}
+BuildRequires: zlib-devel
+Requires:      %{name}-lib = %{version}-%{release}
+#%{?with_pgsql:Requires: postgresql-clients}
+Requires:      webserver
+Obsoletes:     aspseek
+Obsoletes:     mnogosearch-stored
+Obsoletes:     udmsearch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _sysconfdir     /etc/http/%{name}
+%define                _sysconfdir     /etc/%{name}
 %define                _localstatedir  /var/lib/mnogosearch
+%define                _ourdatadir     %{_datadir}/%{name}
+%define                htmldir         /home/services/httpd/html
+%define                cgidir          /home/services/httpd/cgi-bin
 
 %description
 The mnogosearch system is a complete world wide web indexing and
@@ -24,199 +60,233 @@ 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
+- 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
 
 As opposed to some WAIS-based or web-server based search engines,
-ht://Dig can span several web servers at a site. The type of these
+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.
+HTTP 1.0 protocol. Mnogosearch supports also virtual domains.
 
 %description -l pl
-Mnogosearch jest kompletnym systemem indeksuj±cym i przeszukuj±cym www
+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.
+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 do innych bazuj±cych na WAIS-sie lub serwerch www
-systemach, 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
+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 devel
-Summary:       Include files and libraries for htdig
-Summary(pl):   Pliki nag³ówkowe dla htdig
-Group:         Development/Libraries
-Group(de):     Entwicklung/Libraries
-Group(fr):     Development/Librairies
-Group(pl):     Programowanie/Biblioteki
-Requires:      %{name} = %{version}
-
-%description devel
-The ht://Dig 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,
-ht://Dig 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.
+%package lib
+Summary:       mnogosearch library
+Summary(pl):   Biblioteka mnogosearch
+Group:         Libraries
 
-This package contains devlopment files.
+%description lib
+This package contains mnogosearch library 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 lib -l pl
+Ten pakiet zawiera pliki biblioteki mnogosearch.
 
-%description pgsql
-The ht://Dig 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.
+%package devel
+Summary:       Include files for mnogosearch
+Summary(pl):   Pliki nag³ówkowe mnogosearch
+Group:         Development/Libraries
+Requires:      %{name}-lib = %{version}-%{release}
+%{?with_expat:Requires:        expat-devel}
+%{?with_freetds:Requires:      freetds-devel}
+%{?with_iodbc:Requires:        libiodbc-devel}
+%{?with_mysql:Requires:        mysql-devel}
+%{?with_ssl:Requires:  openssl-devel}
+%{?with_pgsql:Requires:        postgresql-devel}
+%{?with_unixodbc:Requires:     unixODBC-devel}
+Requires:      zlib-devel
 
-As opposed to some WAIS-based or web-server based search engines,
-ht://Dig 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.
+%description devel
+This package contains mnogosearch development files.
 
-This package contains pgsql storage support.
+%description devel -l pl
+Pliki dla programistów u¿ywaj±cych mnogosearch.
 
 %package static
-Summary:       htdig static libraries
-Summary(pl):   Biblioteki statyczne htdig
+Summary:       mnogosearch static libraries
+Summary(pl):   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 ht://Dig 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, ht://Dig 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. This package contains
-static libraries of htdig.
+This package contains static libraries of mnogosearch.
+
+%description static -l pl
+Ten pakiet zawiera statyczne biblioteki mnogosearch.
 
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
-libtoolize --copy --force
-aclocal
-autoconf
-automake -a -c
+find . -type d -name CVS | xargs rm -rf
+%{__libtoolize}
+%{__aclocal} -I build/m4
+%{__autoconf}
+%{__automake}
 %configure \
-       --enable-syslog      \
+       --datadir=%{_ourdatadir} \
+       DOCBOOKSTYLE="/usr/share/sgml/docbook/dsssl-stylesheets" \
        --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-pgsql \
-       --with-openssl \
-       --enable-linux-pthreads \
        --enable-charset-guesser \
-       --enable-news-extension \
-       --enable-fast-tag \
+       %{?with_chasen:--enable-chasen} \
        --enable-fast-cat \
+       --enable-fast-tag \
        --enable-fast-site \
-       --enable-phrase         
+       --enable-linux-pthreads \
+       --enable-news-extension \
+       --enable-phrase \
+       --enable-shared \
+       --with-built-in \
+       --with-cgi-bin-dir=%{cgidir} \
+       --with-config-dir=%{_sysconfdir}/http/%{name} \
+       %{?with_expat:--with-expat} \
+       --with-image-dir=%{htmldir}/%{name} \
+       %{?with_freetds:--with-freetds} \
+       %{?with_iodbc:--with-iodbc} \
+       %{?with_mysql:--with-mysql} \
+       %{?with_ssl:--with-openssl} \
+       %{?with_pgsql:--with-pgsql} \
+       --with-search-dir=%{htmldir} \
+       %{?with_unixodbc:--with-unixODBC} \
+       --with-zlib
+
+# --with-readline (for SQL monitor) ?
+# --wiht-extra-charsets=big5,gb2312,gbk,japanese,euc-kr,gujarati,tscii ?
+
+%{__make}
 
 #  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-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-ctlib[=DIR]    Include Ct-Lib support.
+#  --with-freetds[=DIR]        Include FreeTDS 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
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/var/lib/mnogosearch,/etc/cron.daily} \
-       $RPM_BUILD_ROOT/home/httpd/html/%{name}
+install -d $RPM_BUILD_ROOT{%{_localstatedir},%{htmldir},%{cgidir},%{_sysconfdir}} \
+       $RPM_BUILD_ROOT{/etc/cron.daily,%{_infodir}}
+
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       doc_FILES='$(HTML_ALL)'
 
-%{__make} DESTDIR=$RPM_BUILD_ROOT install
+ln -sf %{_docdir}/%{name}-%{version}/html \
+       $RPM_BUILD_ROOT%{htmldir}/mnogodoc
 
-ln -sf ../..%{_bindir}/rundig \
-       $RPM_BUILD_ROOT/etc/cron.daily/{%name}-dbgen
+mv -f $RPM_BUILD_ROOT%{_bindir}/*.cgi \
+       $RPM_BUILD_ROOT%{cgidir}
 
-ln -sf ../../../..%{_defaultdocdir}/%{name}-%{version} \
-        $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
+mkdir html
+cp -af doc/*.{html,css} html
 
-ln -sf  $RPM_BUILD_ROOT%{_bindir}/search.cgi $RPM_BUILD_ROOT/home/httpd/cgi-bin/search.cgi
+cd $RPM_BUILD_ROOT%{_sysconfdir}
+touch locals
+for f in *-dist ; do
+       mv -f $f `basename $f -dist`
+done
+
+rm -rf $RPM_BUILD_ROOT%{_prefix}/doc
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-# Only run this if installing for the first time
-#if [ "$1" = 1 ]; then
-#      for i in `grep '^ServerName' /etc/httpd/httpd.conf | sort -u | awk '{print $2}'`; do echo -n http://$i/; echo -n " "; done > /tmp/htdig.tmp
-#      SERVERNAMES="`cat /tmp/htdig.tmp`"
-#      [ -z "$SERVERNAMES" ] && SERVERNAMES="`hostname -f`"
-#      [ -z "$SERVERNAMES" ] && SERVERNAMES="localhost"
-#      SERVERNAME=`grep '^ServerName' /etc/httpd/httpd.conf | uniq -d | awk '{print $2}'`
-#      grep -v -e local_urls -e local_user_urls -e start_url /etc/htdig/htdig.conf > /tmp/htdig.tmp
-#      mv -f /tmp/htdig.tmp /etc/htdig/htdig.conf
-#      echo "start_url:$SERVERNAMES
-#local_urls:           $SERVERNAMES
-#local_user_urls:      http://$SERVERNAME/=/home/,/public_html/" >> /etc/htdig/htdig.conf
-#
-#fi
+cat << EOF
+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
+
+%post  lib -p /sbin/ldconfig
+%postun        lib -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc COPYING README doc/*
-%dir /var/lib/%{name}
-# maybe user== nobody ?
-%attr (755,http,http) /home/httpd/cgi-bin/*
-%attr (755,root,root) %{_bindir}/*
-%attr (755,root,root) %{_libdir}/%{name}/*so
-%attr (755,root,root) %{_libdir}/%{name}/*la
-/home/httpd/html/%{name}/*
-%{_datadir}/%{name}/*
-%config(noreplace) %{_sysconfdir}/html/%{name}/*
-%config(missingok noreplace) %verify(not size mtime md5) /home/httpd/html/search.html
-#%config(missingok) %{_sysconfdir}/cron.daily/htdig-dbgen
-
-#%files devel
-#%defattr(644,root,root,755)
-#%{_includedir}/%{name}/*
-
-#%files static
-#%defattr(644,root,root,755)
-#%{_libdir}/%{name}/*.a
+%doc ChangeLog README TODO html doc/samples
+%attr(755,root,root) %{_sbindir}/*
+%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{cgidir}/*
+%{_datadir}/%{name}
+%{htmldir}/mnogodoc
+%dir %{_localstatedir}
+%attr(775,root,http) %{_localstatedir}/cache
+%dir %{_sysconfdir}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.freq
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.htm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/locals
+%dir %{_sysconfdir}/langmap
+%dir %{_sysconfdir}/stopwords
+%dir %{_sysconfdir}/synonym
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*/*
+%config(noreplace) %attr(750,root,root) /etc/cron.daily/*
+%{_mandir}/man?/*
+
+%files lib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*-*.so
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/udm-config
+%attr(755,root,root) %{_libdir}/libmnogosearch.so
+%attr(755,root,root) %{_libdir}/libmnogocharset.so
+%{_libdir}/lib*.la
+%{_includedir}/*
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a
This page took 0.041387 seconds and 4 git commands to generate.