Sophie

Sophie

distrib > Mandriva > 10.2 > i586 > by-pkgid > bdddf880392bb1ad84c5d5892a53e47a > files > 4

distcache-1.5.1-2mdk.src.rpm

%define name distcache
%define version 1.5.1
#%define snap 20031214
#%define release 0.%{snap}.1mdk
%define release 2mdk

%define	major 1
%define libname	%mklibname %{name} %{major}

Summary:	Programs to provide a distributed session caching architecture
Name:		%{name}
Version:	%{version}
Release:	%{release}
Source0:	%{name}-%{version}.tar.bz2
#Source0:	%{name}-%{snap}.tar.bz2
Source1:	dc_server.init.bz2
Source2:	dc_client.init.bz2
URL:		http://www.distcache.org/
License:	LGPL
Group:		System/Servers
BuildRequires:	openssl-devel
BuildRequires:	chrpath
BuildRequires:	automake1.7
BuildRequires:	autoconf2.5
Buildroot:	%{_tmppath}/%{name}-buildroot

%description
This package provides tools from the distcache project to deploy a
distributed session caching environment. This is most notably
useful for SSL/TLS session caching with supported OpenSSL-based
applications. The caching protocol and API is independent of
SSL/TLS specifics and could be useful in other (non-SSL/TLS)
circumstances.

%package	server
Summary:	Distributed session cache server
Group:		System/Servers
PreReq:		rpm-helper

%description	server
dc_server runs a cache server and starts listening on a
configurable network address for connections. Incoming connections
are expected to communicate using the distcache protocol, and
would typically be instances of dc_client running on other
machines.

%package	client
Summary:	Distributed session cache client proxy
Group:		System/Servers
PreReq:		rpm-helper

%description	client
dc_client runs a client proxy to provide access to a remote cache
server (typically over TCP/IPv4) by providing a local service
(typically over unix domain sockets). It starts listening on a
configurable network address for connections and establishes a
persistent connection to an instance of dc_server for proxying
cache operations to. Incoming connections are expected to
communicate using the distcache protocol, and would typically
be applications using one of the distcache APIs in libdistcache to
encapsulate these communications.

The common use of dc_client is to run as a local agent on each
host machine that requires use of the distributed cache, as the
listening address should probably use unix domain sockets which
are better suited to frequent (and temporary) connections being
used for individual cache operations. Likewise, the connection
dc_client makes to the cache server (dc_server) for proxying cache
operations is typically over a genuine network to remote machine,
using TCP/IPv4.

%package -n	%{libname}
Summary:	Shared libraries for %{name}
Group:		System/Libraries

%description -n	%{libname}
This package provides tools from the distcache project to deploy a
distributed session caching environment. This is most notably
useful for SSL/TLS session caching with supported OpenSSL-based
applications. The caching protocol and API is independent of
SSL/TLS specifics and could be useful in other (non-SSL/TLS)
circumstances.

%package -n	%{libname}-devel
Summary:	Libraries and header files for building distcache-compatible software
Group:		Development/C
Requires:	%{libname} = %{version}
Provides:	%{_lib}%{name}-devel = %{version}
Provides:	%{name}-devel = %{version}

%description -n	%{libname}-devel
This package includes the libraries and header files from
the distcache project that are required to compile
distcache-compatible software.

%package	utils
Summary:	Utilities for testing and benchmarking %{name} SSL/TLS servers
Group:		System/Servers
Requires:	%{libname} = %{version}

%description	utils
dc_snoop - Distributed session cache traffic analysis.
dc_test - Distributed session cache testing and benchmarking tool.
nal_test - benchmarking and self-testing libnal program.
piper - Test file-descriptor based addresses.
sslswamp - SSL/TLS load-tester based on OpenSSL.

%prep

#%setup -q -n %{name}-%{snap}
%setup -q -n %{name}-%{version}

bzcat %{SOURCE1} > dc_server.init
bzcat %{SOURCE2} > dc_client.init

%build
export WANT_AUTOCONF_2_5=1

# bootstrap it (bootstrap.sh won't cut it...)
#libtoolize --copy --force; aclocal-1.7; autoheader; autoconf; automake-1.7 --foreign --add-missing

#pushd ssl
#libtoolize --copy --force; aclocal-1.7; autoheader; autoconf; automake-1.7 --foreign --add-missing
#popd

export CFLAGS="%{optflags} -fPIC"

%configure2_5x \
    --enable-shared \
    --enable-static \
    --enable-ssl \
    --enable-swamp \
    --with-ssl=%{_prefix}
%make

%install
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

%makeinstall

install -d %{buildroot}%{_sbindir}
install -d %{buildroot}%{_initrddir}
install -d %{buildroot}%{_sysconfdir}

install -m755 dc_server.init %{buildroot}%{_initrddir}/dc_server
install -m755 dc_client.init %{buildroot}%{_initrddir}/dc_client

mv %{buildroot}%{_bindir}/dc* %{buildroot}%{_sbindir}/
mv %{buildroot}%{_bindir}/nal* %{buildroot}%{_sbindir}/

# delete rpath
chrpath -d %{buildroot}%{_bindir}/sslswamp

%post server
%_post_service dc_server

%preun server
%_preun_service dc_server

%post client
%_post_service dc_client

%preun client
%_preun_service dc_client

%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig

%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}

%files server
%defattr(-,root,root,0755)
%doc ANNOUNCE BUGS CHANGES FAQ README
%config(noreplace) %attr(0755,root,root) %{_initrddir}/dc_server
%attr(0755,root,root) %{_sbindir}/dc_server
%{_mandir}/man1/dc_server.1*
%{_mandir}/man8/distcache.8*

%files client
%defattr(-,root,root,0755)
%doc ANNOUNCE BUGS CHANGES FAQ README
%config(noreplace) %attr(0755,root,root) %{_initrddir}/dc_client
%attr(0755,root,root) %{_sbindir}/dc_client
%{_mandir}/man1/dc_client.1*

%files utils
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/piper
%attr(0755,root,root) %{_bindir}/sslswamp
%attr(0755,root,root) %{_sbindir}/dc_snoop
%attr(0755,root,root) %{_sbindir}/*_test
%attr(0755,root,root) %{_sbindir}/nal_echo
%attr(0755,root,root) %{_sbindir}/nal_ping
%attr(0755,root,root) %{_sbindir}/nal_hose
%attr(0755,root,root) %{_sbindir}/nal_pong
%attr(0755,root,root) %{_sbindir}/nal_proxy
%{_datadir}/swamp
%{_mandir}/man1/sslswamp.1*
%{_mandir}/man1/dc_snoop.1*
%{_mandir}/man1/dc_test.1*

%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/*.so.*

%files -n %{libname}-devel
%defattr(-,root,root)
%{_includedir}/libnal
%{_includedir}/distcache
%{_libdir}/*.so
%{_libdir}/*.la
%{_libdir}/*.a
%{_mandir}/man2/*.2*

%changelog
* Tue Dec 28 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 1.5.1-2mdk
- lib64 fixes

* Mon Dec 06 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 1.5.1-1mdk
- 1.5.1

* Thu May 06 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 1.5.0-1mdk
- 1.5.0

* Sun Dec 14 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 1.4.3-0.20031214.1mdk
- use a recent snapshot
- merge the static-devel subpackage into one devel subpackage
- merge fedora stuff
- split out the server and client parts into subpackages
- made a new more generic utils subpackage
- misc spec file fixes

* Tue Jul 29 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 1.4.2-0.3mdk
- please mr distlint

* Thu Jul 10 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 1.4.2-0.2mdk
- rebuild

* Tue Jun 10 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 1.4.2-0.1mdk
- 1.4.2dev provides shared libraries as well
- delete rpath with chrpath

* Sun Jun 01 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 1.4.1-2mdk
- fixed requires and buildrequires.
- added S1 & S2
- misc spec file fixes

* Sun Jun 01 2003 Oden Eriksson <oden.eriksson@kvikkjokk.net> 1.4.1-1mdk
- initial cooker contrib
- used and fixed the provided spec file