Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release-src > by-pkgid > ffdee47f4c82798708334c811cc60c45 > files > 6

spread-4.0.0-3mdv2010.0.src.rpm

%define	major 2
%define libname %mklibname spread %{major}
%define develname %mklibname spread -d

Summary:	Multicast Group Communication Framework
Name:		spread
Version:	4.0.0
Release:	%mkrel 3
Group:		System/Servers
License:	BSD-style
URL:		http://www.spread.org/
Source0:	spread-src-%{version}.tar.gz
Source2:	spread.init
Source3:	spread.sysconfig
Patch0:		spread-soname.diff
Patch1:		spread-mdv_config.diff
Patch2:		spread-src-force_man_page_format.diff
Requires(post): rpm-helper
Requires(preun): rpm-helper
Requires(pre): rpm-helper
Requires(postun): rpm-helper
BuildRequires:	flex
BuildRequires:	groff-for-man
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
Spread is a toolkit that provides a high performance messaging service that is
resilient to faults across external or internal networks. Spread functions as a
unified message bus for distributed applications, and provides highly tuned
application-level multicast and group communication support. Spread services
range from reliable message passing to fully ordered messages with delivery
guarantees, even in case of computer failures and network partitions. Spread is
designed to encapsulate the challenging aspects of asynchronous networks and
enable the construction of scalable distributed applications, allowing
application builders to focus on the differentiating components of their
application.

%package -n	%{libname}
Summary:	Multicast Group Communication Framework library
Group:          System/Libraries

%description -n	%{libname}
Spread is a toolkit that provides a high performance messaging service that is
resilient to faults across external or internal networks. Spread functions as a
unified message bus for distributed applications, and provides highly tuned
application-level multicast and group communication support. Spread services
range from reliable message passing to fully ordered messages with delivery
guarantees, even in case of computer failures and network partitions. Spread is
designed to encapsulate the challenging aspects of asynchronous networks and
enable the construction of scalable distributed applications, allowing
application builders to focus on the differentiating components of their
application.

%package -n	%{develname}
Summary:	Static library and header files for the libevent library
Group:		Development/C
Requires:	%{libname} = %{version}
Provides:	%{name}-devel = %{version}-%{release}
Provides:	lib%{name}-devel = %{version}-%{release}
Obsoletes:	%{mklibname spread 1 -d}

%description -n	%{develname}
Spread is a toolkit that provides a high performance messaging service that is
resilient to faults across external or internal networks. Spread functions as a
unified message bus for distributed applications, and provides highly tuned
application-level multicast and group communication support. Spread services
range from reliable message passing to fully ordered messages with delivery
guarantees, even in case of computer failures and network partitions. Spread is
designed to encapsulate the challenging aspects of asynchronous networks and
enable the construction of scalable distributed applications, allowing
application builders to focus on the differentiating components of their
application.

This package includes the necessary files to develop systems with Spread.

%prep

%setup -q -n spread-src-%{version}
%patch0 -p0 -b .soname
%patch1 -p0 -b .mdv_config
%patch2 -p1 -b .force_man_page_format

cp %{SOURCE2} spread.init
cp %{SOURCE3} spread.sysconfig

%build

%configure \
    --with-mantype=man \
    --with-pid-dir=/var/run/spread

%make

%install
rm -rf %{buildroot}

%makeinstall_std

install -d %{buildroot}%{_sysconfdir}/{sysconfig,logrotate.d}
install -d %{buildroot}%{_initrddir}
install -d %{buildroot}/var/log/spread
install -d %{buildroot}/var/run/spread

install -m0644 docs/sample.spread.access_ip %{buildroot}%{_sysconfdir}/spread.access_ip
install -m0755 spread.init %{buildroot}%{_initrddir}/spread
install -m0644 spread.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/spread

touch %{buildroot}/var/log/spread/spread.log

# install log rotation stuff
cat > %{buildroot}%{_sysconfdir}/logrotate.d/spread << EOF
/var/log/spread/spread.log {
    create 644 spread spread
    monthly
    compress
    missingok
    postrotate
	/bin/kill -HUP \`cat /var/run/spread/spread.pid 2> /dev/null\` 2> /dev/null || true
    endscript
}
EOF

%pre
%_pre_useradd spread /var/run/spread /bin/false

%post
%create_ghostfile /var/log/spread/spread.log spread spread 0644
%_post_service spread

%preun
%_preun_service spread

%postun
%_postun_userdel spread

%if %mdkversion < 200900
%post -n %{libname} -p /sbin/ldconfig
%endif

%if %mdkversion < 200900
%postun -n %{libname} -p /sbin/ldconfig
%endif

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root)
%doc license.txt release_announcement_*.txt CVS_Readme.txt Readme.txt
%doc docs/PORTING docs/Short_Buffer_Handling.txt docs/TODO
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/spread.*
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/spread
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/spread
%attr(0755,root,root) %{_initrddir}/spread
%{_bindir}/flush_user
%{_bindir}/sp*
%{_sbindir}/sp*
%{_mandir}/man1/*
%attr(0755,spread,spread) %dir /var/run/spread
%attr(0755,spread,spread) %dir /var/log/spread
%attr(0644,spread,spread) %ghost /var/log/spread/spread.log

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

%files -n %{develname}
%defattr(-,root,root)
%{_libdir}/lib*.so
%{_libdir}/lib*.a
%{_includedir}/*
%{_mandir}/man3/*


%changelog
* Mon Oct 05 2009 Oden Eriksson <oeriksson@mandriva.com> 4.0.0-3mdv2010.0
+ Revision: 454048
- rediffed one fuzzy patch
- rebuild

  + Thierry Vignaud <tvignaud@mandriva.com>
    - rebuild

* Tue Oct 28 2008 Oden Eriksson <oeriksson@mandriva.com> 4.0.0-1mdv2009.1
+ Revision: 297851
- broke out the python module
- 4.0.0
- rediffed P0,P1

* Wed Jul 23 2008 Thierry Vignaud <tvignaud@mandriva.com> 3.17.4-5mdv2009.0
+ Revision: 242733
- rebuild
- kill re-definition of %%buildroot on Pixel's request

  + Pixel <pixel@mandriva.com>
    - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

* Wed Sep 19 2007 Guillaume Rousse <guillomovitch@mandriva.org> 3.17.4-3mdv2008.0
+ Revision: 90266
- rebuild

* Sun Sep 09 2007 Oden Eriksson <oeriksson@mandriva.com> 3.17.4-2mdv2008.0
+ Revision: 83634
- conform to the 2008 specs


* Fri Jan 26 2007 Oden Eriksson <oeriksson@mandriva.com> 3.17.4-1mdv2007.0
+ Revision: 114000
- fix a silly typo...
- fixed a typo in spread.init
- force doc format to man
- Import spread

* Fri Jan 26 2007 Oden Eriksson <oeriksson@mandriva.com> 3.17.4-1mdv2007.1
- 3.17.4

* Tue Dec 20 2005 Oden Eriksson <oeriksson@mandriva.com> 3.17.3-1mdk
- initial Mandriva package (conectiva import)
- added P0, P1