# TODO:
# - split into indexer and client?
# - running indexer from cron?
-%define apxs /usr/sbin/apxs
+%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: 4
+Release: 7
License: GPL
Group: Networking/Utilities
Source0: http://www.aspseek.org/pkg/src/1.2.8/%{name}-%{version}.tar.gz
Patch0: %{name}-types.patch
URL: http://www.aspseek.org/
BuildRequires: apache(EAPI)-devel
-BuildRequires: openssl-devel >= 0.9.7
-BuildRequires: mysql-devel
BuildRequires: libstdc++-devel
+BuildRequires: mysql-devel
+BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: zlib-devel
-Requires(pre): /bin/id
-Requires(pre): /usr/sbin/useradd
-Requires(postun): /usr/sbin/userdel
Requires(post): fileutils
-Requires(post,preun): /sbin/chkconfig
Requires(post,postun): /sbin/ldconfig
-Requires: webserver
+Requires(post,preun): /sbin/chkconfig
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/useradd
Requires: %{name}-db-%{version}
-Obsoletes: swish++
+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)
+%define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
%description
ASPSeek is an Internet search engine, written in C++ using the STL
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.
%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: aspseek
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 -n apache-mod_aspseek -l pl
-Modu³ Apache ASPSeek.
+%description -n apache-mod_aspseek -l pl.UTF-8
+Moduł Apache ASPSeek.
%prep
%setup -q
-%patch -p1
+%patch0 -p1
%build
%configure2_13 \
rm -rf $RPM_BUILD_ROOT
%pre
-if [ -n "`id -u aspseek 2>/dev/null`" ]; then
- if [ "`id -u aspseek`" != "50" ]; then
- echo "Error: user aspseek doesn't have uid=50. Correct this before installing aspseek." 1>&2
- exit 1
- fi
-else
- /usr/sbin/useradd -u 50 -r -d /home/services/aspseek -s /bin/false -c "ASPSEEK User" -g root aspseek 1>&2
-fi
+%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
+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
- if [ -f /var/lock/subsys/%{name} ]; then
- /etc/rc.d/init.d/%{name} stop 1>&2
- fi
- /sbin/chkconfig --del %{name}
+ %service %{name} stop
+ /sbin/chkconfig --del %{name}
fi
%postun
/sbin/ldconfig
if [ "$1" = "0" ]; then
- /usr/sbin/userdel aspseek
+ %userremove aspseek
fi
%post db-mysql
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
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-fi
+%service -q httpd restart
%preun -n apache-mod_aspseek
if [ "$1" = "0" ]; then
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
- if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
- fi
+ %service -q httpd restart
fi
%files
%{_sysconfdir}/tables
%attr(754,root,root) /etc/rc.d/init.d/aspseek
%attr(750,aspseek,root) %dir /var/spool/aspseek
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.htm
+%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)
%doc README.APACHE_MODULE
%attr(755,root,root) %{_pkglibdir}/*.so
-%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/httpd/mod_*.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/httpd/mod_*.conf