Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37046752
en ru br
Репозитории ALT
S:3.4.1-alt2
5.1: 3.3.8-alt1
3.0: 3.2.13-alt2
www.altlinux.org/Changes

Группа :: Работа с текстами
Пакет: mnogosearch

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

# Spec file for mnoGoSearch package

%def_with static

# Database backends

%def_with mysql
%def_with pgsql
%def_without sqlite
%def_with sqlite3
%def_with unixODBC
%def_with cache

# Unsupported by SPEC file

%def_without db2
%def_without ibase
%def_without oracle8
%def_without oracle8i
%def_without freetds
%def_without ctlib
%def_without solid
%def_without sapdb

## Database definition only - support via ODBC (?)

%if_with unixODBC
%def_without mimer
%def_with mssql
%def_with oracle
%def_without sybase
%def_without virtuoso
%else
%def_without mimer
%def_without mssql
%def_without oracle
%def_without sybase
%def_without virtuoso
%endif

%define libname lib%name-3.3


Name: mnogosearch
Version: 3.3.8
Release: alt1

Summary: a full-featured search engine for intranet and internet servers
Summary(ru_RU.UTF-8): п©п╬п╦я│п╨п╬п╡п╟я▐ п╪п╟я┬п╦п╫п╟ п╢п╩я▐ я│п╣я─п╡п╣я─п╬п╡ п╦п╫я┌п╣я─п╫п╣я┌ п╦ п╦п╫я┌я─п╟п╫п╣я┌

Group: Text tools
License: %gpl2plus
URL: http://www.mnogosearch.ru/
Packager: Nikolay A. Fetisov <naf at altlinux.ru>

Source: %name-%version.tar
Source1: mnogosearch-dbgen
Source2: mnogosearch.png
Source3: udm-config.1
Patch0: indexer.conf.5.patch
Patch1: %name-3.3.7-alt-docbook.patch
Patch2: %name-3.3.7-alt-include_path.patch
Patch3: %name-3.3.7-mdk-local_button.patch
Patch5: %name-3.3.7-debian-url_escape.patch
Patch6: %name-3.3.7-alt-include_make.patch

Requires: %name-backend = %version

BuildRequires(pre): rpm-build-licenses rpm-macros-apache2

# Note: openjade used to re-generate docs. It needs to fix pathes to

#       the DTDs in doc/catalog and doc/Makefile.in
# Using pre-build html documentation instead rebuild it from XML files.
# BuildRequires: openjade docbook-style-dsssl-utils
BuildRequires: gcc-c++  libcom_err-devel libreadline-devel libtinfo-devel zlib-devel

%if_with mysql
BuildRequires: libMySQL-devel
%endif
%if_with sqlite
BuildRequires: libsqlite-devel
%endif
%if_with sqlite3
BuildRequires: libsqlite3-devel
%endif
%if_with unixODBC
BuildRequires: libunixODBC-devel
%endif
%if_with pgsql
BuildRequires: postgresql-devel
%endif

%description
mnoGoSearch is a full-featured SQL based web search engine.
mnoGoSearch consists of two parts - the indexing mechanism
(indexer) and the web CGI front-end. The indexer walks over
html hypertext references and stores found words and new
references into a database. The CGI front-end provides search
using data collected by the indexer.


%define common_summary mnoGoSearch web search engine
%define common_desc  mnoGoSearch is a full-featured SQL based web search engine. \
\
This package contains

%package doc
Summary: %common_summary HTML and PDF documentation
BuildArch: noarch
Group: Text tools
Requires: %name = %version-%release

%description doc
%common_desc mnoGoSearch HTML documentation.

%package -n lib%name
Summary: %common_summary shared libraries
Group: Development/C
Requires: %name = %version-%release
Requires: %name-backend = %version
Provides: %libname.so%([ "%_arch" == "x86_64" ] && echo '()(64bit)' || :)

%description -n lib%name
%common_desc mnogosearch shared libraries.
Beside this package You should install library for the one of
supported database backends from package lib%name-{backend}.

%package -n lib%{name}-multidb
Summary: %common_summary multi-database backend library
Group: Development/C
Requires: %name = %version-%release
Provides: %name-backend = %version

%description -n lib%{name}-multidb
%common_desc multi-database backend library.
Install this package for full set of the supported mnoGoSearch
database backends.  Probably You should't install this but one
of the database-specfic subpackage.

%if_with mysql
%package -n lib%{name}-mysql
Summary: %common_summary multi-database backend library
Group: Development/C
Requires: %name = %version-%release
Provides: %name-backend = %version

%description -n lib%{name}-mysql
%common_desc MySQL database backend library.
%common_desc MySQL database backend library.

Install this package when using MySQL database backend.
%endif

%if_with pgsql
%package -n lib%{name}-pgsql
Summary: %common_summary PostgreSQL database backend library
Group: Development/C
Requires: %name = %version-%release
Provides: %name-backend = %version

%description -n lib%{name}-pgsql
%common_desc PostgreSQL database backend library.

Install this package when using PostgreSQL database backend.
%endif

%if_with sqlite
%package -n lib%{name}-sqlite
Summary: %common_summary SQLite database backend library
Group: Development/C
Requires: %name = %version-%release
Provides: %name-backend = %version

%description -n lib%{name}-sqlite
%common_desc SQLite database backend library.

Install this package when using SQLite database backend.
%endif

%if_with sqlite3
%package -n lib%{name}-sqlite3
Summary: %common_summary SQLite3 backend library
Group: Development/C
Requires: %name = %version-%release
Provides: %name-backend = %version

%description -n lib%{name}-sqlite3
%common_desc SQLite3 database backend library.

Install this package when using SQLite3 database backend.
%endif

%if_with unixODBC
%package -n lib%{name}-odbc
Summary: %common_summary ODBC database backend library
Group: Development/C
Requires: %name = %version-%release
Provides: %name-backend = %version

%description -n lib%{name}-odbc
%common_desc unixODBC database backend library.

Install this package when using ODBC database backend.
%endif


%package -n lib%name-devel
Summary: Headers to develop mnogosearch application
Group: Development/C
Requires: lib%name = %version-%release
Requires: lib%name-multidb = %version-%release

%description -n lib%name-devel
%common_desc Headers to develop mnogosearch applications.

%if_with static
%package -n lib%name-devel-static
Summary: Static libraries to develop mnogosearch application
Group: Development/C
Requires: lib%name-devel = %version-%release

%description -n lib%name-devel-static
%common_desc static libraries to develop mnogosearch applications.
%endif

%package cgi
Summary: CGI frontend to mnogosearch
Group: Networking/Other
Requires: %name = %version, webserver-common

%description cgi
%common_desc CGI frontend to mnogosearch search engine.


%define config_owner _%name

%prep
%setup -n %name-%version -q
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch5 -p0
%patch6 -p0

mv -f -- COPYING COPYING.GPL.orig
ln -s -- $(relative %_licensedir/GPL-2 %_docdir/%name/COPYING) COPYING

%build
%autoreconf
CONF_FLAGS="--enable-shared \
--enable-phrase \
--enable-linux-pthreads \
--with-zlib \
--with-readline \
--disable-rpath \
--with-openssl=%_usr \
--enable-syslog --enable-syslog=LOG_LOCAL6 \
--enable-parser \
--enable-mp3 \
--enable-file \
--enable-http \
--enable-ftp \
--enable-news \
--with-extra-charsets=all \
--sysconfdir=%_sysconfdir/%name \
--localstatedir=%_localstatedir/%name \
--datadir=%_datadir/%name \
--includedir=%_includedir/%name"

# One-database backend builds:

%if_with mysql
%configure $CONF_FLAGS \
--without-docs \
--with-mysql
%make_build
DB_LIB=`pwd`/.mysql
mkdir -p $DB_LIB
pushd src
make DESTDIR=$DB_LIB install-libLTLIBRARIES
popd

# Prevent original docs to clean

echo "clean: " > doc/Makefile
%make clean
%endif

%if_with pgsql
%configure $CONF_FLAGS \
--without-docs \
--with-pgsql
%make_build
DB_LIB=`pwd`/.pgsql
mkdir -p $DB_LIB
pushd src
make DESTDIR=$DB_LIB install-libLTLIBRARIES
popd

# Prevent original docs to clean

echo "clean: " > doc/Makefile
%make clean
%endif

%if_with sqlite
%configure $CONF_FLAGS \
--without-docs \
--with-sqlite
%make_build
DB_LIB=`pwd`/.sqlite
mkdir -p $DB_LIB
pushd src
make DESTDIR=$DB_LIB install-libLTLIBRARIES
popd

# Prevent original docs to clean

echo "clean: " > doc/Makefile
%make clean
%endif

%if_with sqlite3
%configure $CONF_FLAGS \
--without-docs \
--with-sqlite3
%make_build
DB_LIB=`pwd`/.sqlite3
mkdir -p $DB_LIB
pushd src
make DESTDIR=$DB_LIB install-libLTLIBRARIES
popd

# Prevent original docs to clean

echo "clean: " > doc/Makefile
%make clean
%endif

%if_with unixODBC
%configure $CONF_FLAGS \
--without-docs \
--with-unixODBC
%make_build
DB_LIB=`pwd`/.odbc
mkdir -p $DB_LIB
pushd src
make DESTDIR=$DB_LIB install-libLTLIBRARIES
popd

# Prevent original docs to clean

echo "clean: " > doc/Makefile
%make clean
%endif

# All-database backends build:

%autoreconf
%configure $CONF_FLAGS \
--with-docs \
--htmldir=%_datadir/%name/html \
--pdfdir=%_datadir/%name/pdf \
%if_with mysql
--with-mysql \
%endif
%if_with pgsql
--with-pgsql \
%endif
%if_with sqlite
--with-sqlite \
%endif
%if_with sqlite3
--with-sqlite3 \
%endif
%if_with unixODBC
--with-unixODBC \
%endif
%nil

%make_build


%install
%makeinstall sysconfdir=%buildroot%_sysconfdir/%name \
localstatedir=%buildroot%_localstatedir/%name \
datadir=%buildroot%_datadir/%name

rm -f -- %buildroot%_sysconfdir/%name/*-dist
mkdir -p -- %buildroot%_var/www/cgi-bin
mv -- %buildroot%_bindir/search.cgi %buildroot%_var/www/cgi-bin/

for f in indexer.conf langmap.conf search.htm stopwords.conf; do
install -m 644 -- etc/$f-dist %buildroot%_sysconfdir/%name/$f
done

install -pD -m 755 -- %SOURCE1 %buildroot%_sysconfdir/cron.daily/%name-dbgen

# HTML docs build and install are broken in 3.3.8

cp -- doc/*.html doc/mnogo.css %buildroot%_prefix/doc/
cp -r -- doc/samples  %buildroot%_prefix/doc/
mv -- %buildroot%_prefix/doc %buildroot%_datadir/%name/html

# Moving headers into subdir

mkdir -p  %buildroot%_includedir/%name
mv -- %buildroot%_includedir/udm* %buildroot%_includedir/%name

# Install local log icon

install -pD -m 644 -- %SOURCE2 %buildroot%webserver_iconsdir/%name.png

# Install man page for udm-config

install -pD -m 644 -- %SOURCE3 %buildroot%_man1dir/udm-config.1

# Install libraries with different database bindings

mkdir -p -- %buildroot%_altdir
mv -- %buildroot%_libdir/%{libname}.so %buildroot%_libdir/%{libname}-multidb.so
ln -s %buildroot%_libdir/%{libname}-multidb.so %buildroot%_libdir/%{libname}.so
cat <<EOF >%buildroot%_altdir/%name-multidb
%_libdir/%{libname}.so %_libdir/%{libname}-multidb.so 50
EOF


%if_with mysql
cp -- .mysql/%_libdir/%{libname}.so %buildroot%_libdir/%{libname}-mysql.so
cat <<EOF >%buildroot%_altdir/%name-mysql
%_libdir/%{libname}.so %_libdir/%{libname}-mysql.so 40
EOF
%endif
%if_with pgsql
cp -- .pgsql/%_libdir/%{libname}.so %buildroot%_libdir/%{libname}-pgsql.so
cat <<EOF >%buildroot%_altdir/%name-pgsql
%_libdir/%{libname}.so %_libdir/%{libname}-pgsql.so 30
EOF
%endif
%if_with sqlite
cp -- .sqlite/%_libdir/%{libname}.so %buildroot%_libdir/%{libname}-sqlite.so
cat <<EOF >%buildroot%_altdir/%name-sqlite
%_libdir/%{libname}.so %_libdir/%{libname}-sqlite.so 20
EOF
%endif
%if_with sqlite3
cp -- .sqlite3/%_libdir/%{libname}.so %buildroot%_libdir/%{libname}-sqlite3.so
cat <<EOF >%buildroot%_altdir/%name-sqlite3
%_libdir/%{libname}.so %_libdir/%{libname}-sqlite3.so 25
EOF
%endif
%if_with unixODBC
cp -- .odbc/%_libdir/%{libname}.so %buildroot%_libdir/%{libname}-odbc.so
cat <<EOF >%buildroot%_altdir/%name-odbc
%_libdir/%{libname}.so %_libdir/%{libname}-odbc.so 10
EOF
%endif

%pre
%_sbindir/groupadd -r -f %config_owner &>/dev/null

%files
%doc README AUTHORS NEWS TODO ChangeLog INSTALL
%doc --no-dereference COPYING

%if_with mysql
%_datadir/%name/mysql
%else
%exclude %_datadir/%name/mysql
%endif
%if_with pgsql
%_datadir/%name/pgsql
%else
%exclude %_datadir/%name/pgsql
%endif
%if_with sqlite
%_datadir/%name/sqlite
%else
%exclude %_datadir/%name/sqlite
%endif
%if_with sqlite3
%_datadir/%name/sqlite
%else
%exclude %_datadir/%name/sqlite
%endif

%if_with cache
%_datadir/%name/cache
%else
%exclude %_datadir/%name/cache
%endif
%if_with db2
%_datadir/%name/db2
%else
%exclude %_datadir/%name/db2
%endif
%if_with ibase
%_datadir/%name/ibase
%else
%exclude %_datadir/%name/ibase
%endif

%if_with mimer
%_datadir/%name/mimer
%else
%exclude %_datadir/%name/mimer
%endif
%if_with oracle
%_datadir/%name/oracle
%else
%exclude %_datadir/%name/oracle
%endif
%if_with mssql
%_datadir/%name/mssql
%else
%exclude %_datadir/%name/mssql
%endif
%if_with sybase
%_datadir/%name/sybase
%else
%exclude %_datadir/%name/sybase
%endif
%if_with virtuoso
%_datadir/%name/virtuoso
%else
%exclude %_datadir/%name/virtuoso
%endif

%_man1dir/indexer*
%_man5dir/*
%_sbindir/*
%_bindir/mconv
%_bindir/mguesser

%dir %_localstatedir/%name

%attr(0770,root,%config_owner) %dir %_sysconfdir/%name
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/indexer.conf
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/langmap.conf
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/stopwords.conf
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/mandarin.freq
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/thai.freq
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/TraditionalChinese.freq
%dir %_sysconfdir/%name/langmap
%dir %_sysconfdir/%name/stopwords
%dir %_sysconfdir/%name/synonym
%config(noreplace) %_sysconfdir/%name/*/*

%_sysconfdir/cron.daily/%name-dbgen

%files cgi
%_var/www/cgi-bin/*
%attr(0664,root,%config_owner) %config(noreplace) %_sysconfdir/%name/search.htm
%attr(1770,root,webserver) %dir %_localstatedir/%name/cache
%webserver_iconsdir/%name.png

%files -n lib%name
%_libdir/libmnogocharset-3.3.so
%exclude %_libdir/%{libname}.so
%ghost %_libdir/%{libname}.so

%files -n lib%name-multidb
%_libdir/%{libname}-multidb.so
%_altdir/%name-multidb

%if_with mysql
%files -n lib%{name}-mysql
%_libdir/%{libname}-mysql.so
%_altdir/%name-mysql
%endif

%if_with pgsql
%files -n lib%{name}-pgsql
%_libdir/%{libname}-pgsql.so
%_altdir/%name-pgsql
%endif

%if_with sqlite
%files -n lib%{name}-sqlite
%_libdir/%{libname}-sqlite.so
%_altdir/%name-sqlite
%endif

%if_with sqlite3
%files -n lib%{name}-sqlite3
%_libdir/%{libname}-sqlite3.so
%_altdir/%name-sqlite3
%endif

%if_with unixODBC
%files -n lib%{name}-odbc
%_libdir/%{libname}-odbc.so
%_altdir/%name-odbc
%endif


%files doc
%_datadir/%name/html*

%files -n lib%name-devel
%_bindir/udm-config
%_usr/include/%{name}*
%_libdir/libmnogocharset.so
%_libdir/libmnogosearch.so
%_man1dir/udm-config*

%if_with static
%files -n lib%name-devel-static
%_libdir/lib*.a
%else
%exclude %_libdir/lib*.a
%endif

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin