]> git.pld-linux.org Git - packages/aspseek.git/blobdiff - aspseek.spec
- tabs in preamble
[packages/aspseek.git] / aspseek.spec
index 187dfbfb901e4a30d22a619f4b24fbca2b47092c..b233a4c7570f970acad740da89e80f46ee1cc65b 100644 (file)
@@ -1,22 +1,42 @@
+# TODO:
+#      - split into indexer and client?
+#      - running indexer from cron?
+%define                apxs            /usr/sbin/apxs
 Summary:       Advanced Internet search engine
-Summary(pl):   Silnik zaawansowanej wyszukiwarki Internetowej
+Summary(pl.UTF-8):     Silnik zaawansowanej wyszukiwarki Internetowej
 Name:          aspseek
 Version:       1.2.8
-Release:       1
+Release:       7
 License:       GPL
 Group:         Networking/Utilities
 Source0:       http://www.aspseek.org/pkg/src/1.2.8/%{name}-%{version}.tar.gz
+# Source0-md5: 0660b6b0d45d37c7a53c7e1c40cae002
+Source1:       %{name}-mod_aspseek.conf
+Source2:       %{name}.init
+Patch0:                %{name}-types.patch
 URL:           http://www.aspseek.org/
-Requires:      webserver
-Requires:      %{name}-db-%{version}
-BuildRequires: apache-devel
-BuildRequires: openssl-devel
-BuildRequires: mysql-devel
+BuildRequires: apache(EAPI)-devel
 BuildRequires: libstdc++-devel
+BuildRequires: mysql-devel
+BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: zlib-devel
+Requires(post):        fileutils
+Requires(post,postun): /sbin/ldconfig
+Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/useradd
+Requires:      %{name}-db-%{version}
+Requires:      webserver
+Provides:      user(aspseek)
+Obsoletes:     mnogosearch
+Obsoletes:     swish++
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sysconfdir     /etc/%{name}
 %define                _bindir         /home/httpd/cgi-bin
+%define                _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
 
 %description
 ASPSeek is an Internet search engine, written in C++ using the STL
@@ -35,56 +55,61 @@ Chinese) due to Unicode storage mode. Other features include stopwords
 and ispell support, a charset and language guesser, HTML templates for
 search results, excerpts, and query words highlighting.
 
-%description -l pl
+%description -l pl.UTF-8
 ASPSeek jest silnikiem wyszukiwarki Internetowej, napisany w C++ z
-u¿yciem biblioteki STL. Zawiera robota indeksuj±cego, daemon
-wyszukuj±cy oraz interfejs w postaci skryptu CGI. ASPSeek mo¿e
-indeksowaæ miliony adresów oraz wyszukiwaæ s³owa oraz zwroty, u¿ywaæ
-znaków globalnych jak równie¿ stosowaæ operatory logiczne. Rezultaty
-wyszukiwania mog± byæ ograniczane do okre¶lonego okresu czasu,
-serwera, zbioru serwerów oraz sortowane wg. aktualno¶ci (okre¶lane za
-pomoc± pewnych specjalnych technik) lub daty.
-
-ASPSeek jest zoptymalizowany dla wielu serwerów (w±tkowane
-indeksowanie, asynchroniczne zapytania DNS, grupowanie rezultatów wg
-serwera, grupy serwerów), ale mo¿e byæ równie¿ u¿ywany do obs³ugi
-jednego serwera. ASPSeek mo¿e pracowaæ z wieloma jêzykami/kodowaniami
-równocze¶nie (w³±czaj±c w to wielobajtowe kodowania u¿ywane np. dla
-jêzyka Chiñskiego) dziêki trybowi zapisu w Unikodzie. Inne mo¿liwo¶ci
-to blokowanie okre¶lonych s³ów, wsparcie dla ispella, zgadywarka
-kodowania oraz jêzyka, wzorce HTML dla rezultatów wyszukiwania,
-pod¶wietlanie wyszukiwanych s³ów.
+użyciem biblioteki STL. Zawiera robota indeksującego, daemon
+wyszukujący oraz interfejs w postaci skryptu CGI. ASPSeek może
+indeksować miliony adresów oraz wyszukiwać słowa oraz zwroty, używać
+znaków globalnych jak również stosować operatory logiczne. Rezultaty
+wyszukiwania mogą być ograniczane do określonego okresu czasu,
+serwera, zbioru serwerów oraz sortowane wg. aktualności (określane za
+pomocą pewnych specjalnych technik) lub daty.
+
+ASPSeek jest zoptymalizowany dla wielu serwerów (wątkowane
+indeksowanie, asynchroniczne zapytania DNS, grupowanie rezultatów wg
+serwera, grupy serwerów), ale może być również używany do obsługi
+jednego serwera. ASPSeek może pracować z wieloma językami/kodowaniami
+równocześnie (włączając w to wielobajtowe kodowania używane np. dla
+języka Chińskiego) dzięki trybowi zapisu w Unikodzie. Inne możliwości
+to blokowanie określonych słów, wsparcie dla ispella, zgadywarka
+kodowania oraz języka, wzorce HTML dla rezultatów wyszukiwania,
+podświetlanie wyszukiwanych słów.
 
 %package db-mysql
 Summary:       MySQL backend driver for ASPSeek
-Summary(pl):   Obs³uga MySQL dla ASPSeek
+Summary(pl.UTF-8):     Obsługa MySQL dla ASPSeek
 Group:         Networking/Utilities
-Provides:      %{name}-db-%{version}   
-Requires:      %{name} = %{version}
+Requires(post):        /sbin/ldconfig
+Requires:      %{name} = %{version}-%{release}
+Provides:      %{name}-db-%{version}
 
 %description db-mysql
 This driver acts as a database backend for ASPSeek, so ASPSeek will
 store its data in MySQL database.
 
-%description db-mysql -l pl
-Ten driver dzia³a jako bazodanowy backend dla ASPSeek, tak, ¿e ASPSeek
-bêdzie zapisywa³ swoje dane w bazie MySQL.
+%description db-mysql -l pl.UTF-8
+Ten driver działa jako bazodanowy backend dla ASPSeek, tak, że ASPSeek
+będzie zapisywał swoje dane w bazie MySQL.
 
-%packane -n apache-mod_aspseek
+%package -n apache-mod_aspseek
 Summary:       Apache module: ASPSeek search engine
-Summary(pl):   Modu³ Apache: Silnik wyszukiwania ASPSeek
+Summary(pl.UTF-8):     Moduł Apache: Silnik wyszukiwania ASPSeek
 Group:         Networking/Daemons
-Prereq:                /usr/sbin/apxs
-Requires:      apache
+Requires(post,preun):  %{apxs}
+Requires(post,preun):  grep
+Requires(preun):       fileutils
+Requires:      apache(EAPI)
+Requires:      aspseek
 
 %description -n apache-mod_aspseek
 ASPSeek Apache module.
 
-%description apache-mod_aspseek -l pl
-Modu³ Apache ASPSeek.
+%description -n apache-mod_aspseek -l pl.UTF-8
+Moduł Apache ASPSeek.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 %configure2_13 \
@@ -92,65 +117,112 @@ Modu
        --enable-font-size \
        --enable-apache-module \
        --with-openssl \
-       --with-mysql
+       --with-mysql \
+       --enable-unicode \
+       --localstatedir=/var/spool
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/etc/{httpd,rc.d/init.d},/home/httpd/icons}
+install -d $RPM_BUILD_ROOT/var/{spool/aspseek,log}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-gzip -9nf AUTHOR* FAQ* NEWS* README.gz RELEASE* THANKS* TODO* doc/*.txt
+mv -f $RPM_BUILD_ROOT%{_sysconfdir}/img/* $RPM_BUILD_ROOT/home/httpd/icons
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/httpd/mod_aspseek.conf
+sed -e "s#/img/#/icons/#g" $RPM_BUILD_ROOT%{_sysconfdir}/s.htm-dist > \
+       $RPM_BUILD_ROOT%{_sysconfdir}/s.htm
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+touch $RPM_BUILD_ROOT/var/log/aspseek.log
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
-exit1
-adding users missing
+%useradd -u 50 -d /srv/aspseek -s /bin/false -c "ASPSEEK User" -g root aspseek
+
+%post
+/sbin/ldconfig
+/sbin/chkconfig --add %{name}
+touch /var/log/aspseek.log
+chown aspseek:root /var/log/aspseek.log
+# create $HOME if possible, we are not allowed to remove it later
+if [ ! -d /srv/aspseek ]; then
+       if mkdir /srv/aspseek; then
+               chown aspseek:root /srv/aspseek
+               chmod 755 /srv/aspseek
+       fi
+fi
+
+%preun
+if [ "$1" = "0" ]; then
+       %service %{name} stop
+       /sbin/chkconfig --del %{name}
+fi
+
+%postun
+/sbin/ldconfig
+if [ "$1" = "0" ]; then
+       %userremove aspseek
+fi
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post db-mysql
+/sbin/ldconfig
+echo "Remember to run %{_sbindir}/aspseek-mysql-postinstall."
 
-#%post db-mysql
-#%{sbindir}/aspseek-mysql-postinstall
+%postun db-mysql -p /sbin/ldconfig
 
 %post -n apache-mod_aspseek
-if [ -f /var/lock/subsys/httpd ]; then
-        /etc/rc.d/init.d/httpd restart 1>&2
-else
-        echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache http daemon."
+%{apxs} -e -a -n aspseek %{_pkglibdir}/mod_aspseek.so 1>&2
+if [ -f /etc/httpd/httpd.conf ] && ! grep -q "^Include.*mod_aspseek.conf" /etc/httpd/httpd.conf; then
+       echo "Include /etc/httpd/mod_aspseek.conf" >> /etc/httpd/httpd.conf
 fi
+%service -q httpd restart
 
 %preun -n apache-mod_aspseek
 if [ "$1" = "0" ]; then
-        if [ -f /var/lock/subsys/httpd ]; then
-                /etc/rc.d/init.d/httpd restart 1>&2
-        fi
+       %{apxs} -e -A -n aspseek %{_pkglibdir}/mod_aspseek.so 1>&2
+       umask 027
+       grep -v "^Include.*mod_aspseek.conf" /etc/httpd/httpd.conf > \
+               /etc/httpd/httpd.conf.tmp
+       mv -f /etc/httpd/httpd.conf.tmp /etc/httpd/httpd.conf
+       %service -q httpd restart
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHOR* FAQ* NEWS* README.gz RELEASE* THANKS* TODO* doc/*.gz
+%doc AUTHOR* FAQ* NEWS* README* RELEASE* THANKS* TODO* doc/*.txt
 %attr(755,root,root) %{_bindir}/s.cgi
-%attr(755,root,root) %{sbindir}/index 
-%attr(755,root,root) %{sbindir}/searchd
-%attr(755,root,root) %{_libdir}/libaspseek*.so
+%attr(755,root,root) %{_sbindir}/index
+%attr(755,root,root) %{_sbindir}/searchd
+%attr(755,root,root) %{_libdir}/libaspseek*.so.*
+/home/httpd/icons/*.*
 %{_mandir}/man5/aspseek.conf*
 %{_mandir}/man5/s*
 %{_mandir}/man1/*
 %{_mandir}/man7/*
-# CONFIGS
+%dir %{_sysconfdir}
+%{_sysconfdir}/langmap
+%dir %{_sysconfdir}/sql
+%{_sysconfdir}/stopwords
+%{_sysconfdir}/tables
+%attr(754,root,root) /etc/rc.d/init.d/aspseek
+%attr(750,aspseek,root) %dir /var/spool/aspseek
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.htm
+%ghost /var/log/aspseek.log
 
 %files db-mysql
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_sbindir}/aspseek-mysql-postinstall
-%attr(755,root,root) %{_libdir}/libmysql*.so
-%{sysconfdir}/sql/mysql
+%attr(755,root,root) %{_libdir}/libmysql*.so*
+%{_sysconfdir}/sql/mysql
 %{_mandir}/man5/aspseek-sql*
 
 %files -n apache-mod_aspseek
 %defattr(644,root,root,755)
-%doc README.APACHE_MODULE.gz
-%attr(755,root,root) %{_libdir}/apache/*.so
+%doc README.APACHE_MODULE
+%attr(755,root,root) %{_pkglibdir}/*.so
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/mod_*.conf
This page took 0.175418 seconds and 4 git commands to generate.