Summary: Dictionary database server
Summary(pl): Serwer bazy s³owników
Name: dictd
-Version: 1.5.5
-Release: 5
+Version: 1.9.14
+Release: 1
License: GPL
-Group: Daemons
-Source0: ftp://ftp.dict.org/pub/dict/%{name}-%{version}.tar.gz
+Group: Networking/Daemons
+Source0: http://dl.sourceforge.net/dict/%{name}-%{version}.tar.gz
+# Source0-md5: 5db913e545ee483b1385696ff8a6bd24
Source1: %{name}.init
Source2: %{name}.sysconfig
-Patch0: %{name}-no_libnsl.patch
-Patch1: %{name}-system-zlib.patch
-Patch2: %{name}-opt.patch
+Patch0: %{name}-opt.patch
URL: http://www.dict.org/
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: flex
BuildRequires: bison
+BuildRequires: flex
+BuildRequires: judy-devel
+BuildRequires: libdbi-devel
BuildRequires: zlib-devel
-Prereq: /sbin/chkconfig
+Requires(post,preun): /sbin/chkconfig
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%description
+%define specflags_ia32 "-fomit-frame-pointer"
+
+%description
Server for the Dictionary Server Protocol (DICT), a TCP transaction
based query/response protocol that allows a client to access
dictionary definitions from a set of natural language dictionary
databases.
%description -l pl
-Serwer dla Dictionary Server Protocol(DICT), bazuj±cego na TCP
+Serwer dla Dictionary Server Protocol (DICT), bazuj±cego na TCP
protoko³u zapytañ i odpowiedzi umo¿liwiaj±cego klientom na dostêp do
definicji s³ownikowych z zestawu baz danych.
+%package devel
+Summary: Package for dictd plugins development
+Summary(pl): Pakiet programistyczny do tworzenia wtyczek dictd
+Group: Development/Libraries
+# doesn't require base
+
+%description devel
+Package for dictd plugins development.
+
+%description devel -l pl
+Pakiet programistyczny do tworzenia wtyczek dictd.
+
+%package plugin-dbi
+Summary: DBI plygin for dictd server
+Summary(pl): Wtyczka DBI dla serwera dictd
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-dbi
+DBI plygin for dictd server.
+
+%description plugin-dbi -l pl
+Wtyczka DBI dla serwera dictd.
+
+%package plugin-judy
+Summary: Judy plygin for dictd server
+Summary(pl): Wtyczka Judy dla serwera dictd
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-judy
+Judy plygin for dictd server.
+
+%description plugin-judy -l pl
+Wtyczka Judy dla serwera dictd.
+
%package -n dict
Summary: DICT Protocol Client
Summary(pl): Klient protoko³u DICT
definitions from a set of natural language dictionary databases.
%description -n dict -l pl
-Klient dla Dictionary Server Protocol(DICT), bazuj±cego na TCP
+Klient dla Dictionary Server Protocol (DICT), bazuj±cego na TCP
protoko³u zapytañ i odpowiedzi umo¿liwiaj±cego klientom na dostêp do
definicji s³ownikowych z zestawu baz danych.
+%package -n dictfmt
+Summary: dictfmt utility to convert databases in various formats into dict format
+Summary(pl): Narzêdzie dictfmt do konwersji baz w ró¿nych formatach na format dict
+Group: Applications/Text
+Obsoletes: dict-fmt
+
+%description -n dictfmt
+dictfmt utility is designed to convert databases in various formats
+into working databases and indexes for the DICT server.
+This package also includes other tools for formating databases:
+dictfmt_{index2suffix,index2word,plugin,virtual} and dictunformat.
+
+%description -n dictfmt -l pl
+Narzêdzie dictfmt s³u¿y do konwertowania baz danych w ró¿nych
+formatach na dzia³aj±ce bazy danych i indeksy dla serwera s³owników
+DICT.
+Ten pakiet zawiera tak¿e inne narzêdzia do formatowania baz:
+dictfmt_{index2suffix,index2word,plugin,virtual} and dictunformat.
+
%package -n dictzip
Summary: Compress (or expand) files, allowing random access
Summary(pl): Kompresja (i dekompresja) plików pozwalaj±ca na swobodny dostêp
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+
+# broken test if >1 plugins
+%{__perl} -pi -e 's/test \$\(PLUGINS\)/test "\$\(PLUGINS\)"/' Makefile.in
%build
-aclocal
-autoconf
-(cd libmaa; aclocal; autoconf)
+cp -f %{_datadir}/automake/config.* .
+%{__aclocal}
+%{__autoconf}
+cd libmaa
+cp -f %{_datadir}/automake/config.* .
+%{__aclocal}
+%{__autoconf}
+cd ..
CFLAGS="%{rpmcflags} -DUID_NOBODY=99 -DGID_NOBODY=99"
%configure
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig,%{name}},%{_bindir},%{_sbindir}} \
- $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_mandir}/man{1,8}}
+install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig,%{name}},%{_datadir}/%{name}}
-install dict dictzip $RPM_BUILD_ROOT%{_bindir}
-install {dict,dictzip}.1 $RPM_BUILD_ROOT%{_mandir}/man1
-
-install %{name} $RPM_BUILD_ROOT%{_sbindir}
-install %{name}.8 $RPM_BUILD_ROOT%{_mandir}/man8
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
echo "server localhost" > dict.conf
-echo -e "access {\n\tallow localhost\n\tdeny *\n}\n" > %{name}-main.conf
+echo -e "access {\n\tallow localhost\n\tdeny *\n}\n" > %{name}-main.conf
install dict.conf $RPM_BUILD_ROOT%{_sysconfdir}
install dictd-main.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
-touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
+:> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
mv -f doc/security.doc security.txt
-gzip -9nf {ANNOUNCE,ChangeLog,README,TODO,%{name}.conf,example*.conf,example.site,security.txt}
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add %{name}
if [ -f /var/lock/subsys/%{name} ]; then
- /etc/rc.d/init.d/%{name} restart >&2
+ /etc/rc.d/init.d/%{name} restart >&2
else
- echo "Run \"/etc/rc.d/init.d/%{name} start\" to start %{name} daemon."
+ echo "Run \"/etc/rc.d/init.d/%{name} start\" to start %{name} daemon."
fi
-
+
%preun
if [ "$1" = "0" ]; then
if [ -f /var/lock/subsys/%{name} ]; then
%files
%defattr(644,root,root,755)
-%doc *.gz
+%doc ANNOUNCE NEWS README* TODO dictd.conf example* security.txt
%ghost %{_sysconfdir}/%{name}.conf
-%attr(755,root,root) %{_sbindir}/%{name}
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/%{name}/%{name}-main.conf
+%config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/%{name}
%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/sysconfig/%{name}
+%attr(755,root,root) %{_sbindir}/%{name}
%dir %{_datadir}/%{name}
-%dir %{_sysconfdir}/%{name}
-%{_sysconfdir}/%{name}/%{name}-main.conf
%{_mandir}/man8/%{name}*
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/dictdplugin-config
+%{_includedir}/dictdplugin.h
+
+%files plugin-dbi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/dictdplugin_dbi.so
+
+%files plugin-judy
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/dictdplugin_judy.so
+
%files -n dict
%defattr(644,root,root,755)
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/dict.conf
+%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/dict.conf
+%attr(755,root,root) %{_bindir}/colorit
%attr(755,root,root) %{_bindir}/dict
+%attr(755,root,root) %{_bindir}/dictl
+%{_mandir}/man1/colorit.1*
%{_mandir}/man1/dict.1*
+%{_mandir}/man1/dictl.1*
+
+%files -n dictfmt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/dictfmt*
+%attr(755,root,root) %{_bindir}/dictunformat
+%{_mandir}/man1/dictfmt*.1*
+%{_mandir}/man1/dictunformat.1*
%files -n dictzip
%defattr(644,root,root,755)