%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