Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > main-src > by-pkgid > 9ae27666c5c61868e54c20b0b060304e > files > 3

mm-1.1.3-9mdk.src.rpm

%define	name		mm
%define	version		1.1.3
%define release		9mdk
%define major		1

Name:		%{name}
Version:	%{version}
Release:	%{release}
Summary:	Shared Memory Abstraction Library
Group:		Development/C
License:	BSD-Style
Source:		http://www.engelschall.com/sw/mm/%{name}-%{version}.tar.bz2
Patch:		mm-1.1.3-shtool.patch.bz2
URL:		http://www.engelschall.com/sw/mm/
BuildRoot:	%{_tmppath}/%{name}-%{version}-buildroot
Prefix:	    	%{_prefix}

%package -n	lib%{name}%{major}
Summary:	Shared Memory Abstraction Library
Group:		Development/C
Obsoletes:	mm
Provides:	mm = %{version}

%package -n lib%{name}%{major}-devel
Group:		Development/C
Summary:	Development files for mm.
Requires:	lib%{name}%{major} = %{version}
Obsoletes:	mm-devel
Provides:	lib%{name}-devel, mm-devel = %{version}

%description
The MM library is a 2-layer abstraction library which simplifies the usage of
shared memory between forked (and this way strongly related) processes under
Unix platforms. On the first layer it hides all platform dependent
implementation details (allocation and locking) when dealing with shared
memory segments and on the second layer it provides a high-level malloc(3)-
style API for a convenient and well known way to work with data-structures
inside those shared memory segments.

The library is released under the term of an open-source (BSD-style) license
because it's originally written for a proposed use inside next versions of
the Apache webserver as a base library for providing shared memory pools to
Apache modules (because currently Apache modules can only use heap-allocated
memory which isn't shared accross the pre-forked server processes). The
requirement actually comes from comprehensive modules like mod_ssl, mod_perl
and mod_php which would benefit a lot from easy to use shared memory pools.
Mostly all functionality (except for shared locks in addition to exclusive
locks and multi-segment memory areas instead of single-segment memory areas)
is already implemented and the library already works fine under FreeBSD,
Linux and Solaris and should also adjust itself for most other Unix platforms
with it's GNU Autoconf and GNU Libtool based configuration and compilation
procedure. 

%description -n lib%{name}%{major}
The MM library is a 2-layer abstraction library which simplifies the usage of
shared memory between forked (and this way strongly related) processes under
Unix platforms. On the first layer it hides all platform dependent
implementation details (allocation and locking) when dealing with shared
memory segments and on the second layer it provides a high-level malloc(3)-
style API for a convenient and well known way to work with data-structures
inside those shared memory segments.

The library is released under the term of an open-source (BSD-style) license
because it's originally written for a proposed use inside next versions of
the Apache webserver as a base library for providing shared memory pools to
Apache modules (because currently Apache modules can only use heap-allocated
memory which isn't shared accross the pre-forked server processes). The
requirement actually comes from comprehensive modules like mod_ssl, mod_perl
and mod_php which would benefit a lot from easy to use shared memory pools.
Mostly all functionality (except for shared locks in addition to exclusive
locks and multi-segment memory areas instead of single-segment memory areas)
is already implemented and the library already works fine under FreeBSD,
Linux and Solaris and should also adjust itself for most other Unix platforms
with it's GNU Autoconf and GNU Libtool based configuration and compilation
procedure. 

%description -n lib%{name}%{major}-devel
The MM library is a 2-layer abstraction library which simplifies the usage of
shared memory between forked (and this way strongly related) processes under
Unix platforms. On the first layer it hides all platform dependent
implementation details (allocation and locking) when dealing with shared
memory segments and on the second layer it provides a high-level malloc(3)-
style API for a convenient and well known way to work with data-structures
inside those shared memory segments.

This package contain files that are needed to develop applications which use
the MM shared memory library.

%prep
%setup -q
%patch0 -p0
libtoolize -f

%build
%serverbuild
%configure
#%make
#%make test
#JMD 22 Feb 2002 - mm doesn't like the -j2...
make
make test

%install
rm -rf $RPM_BUILD_ROOT
%makeinstall
perl -pi -e "s|/(.*)buildroot||g;" $RPM_BUILD_ROOT/usr/bin/mm-config

%clean
rm -rf $RPM_BUILD_ROOT

%post -p /sbin/ldconfig -n lib%{name}%{major}
%postun -p /sbin/ldconfig -n lib%{name}%{major}

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

%files -n lib%{name}%{major}-devel
%defattr(-,root,root)
%{_bindir}/*
%{_libdir}/*.so
%{_libdir}/*.a
%{_includedir}/*
%{_mandir}/man1/*
%{_mandir}/man3/*
%doc README LICENSE ChangeLog INSTALL PORTING THANKS

%changelog
* Fri Feb 22 2002 Jean-Michel Dault <jgarzik@mandrakesoft.com> 1.1.3-9mdk
- Remove the make macro because it crashes with -j2
- Put all doc and manpages in -devel package
- s/Copyright/License

* Sat Jul  7 2001 Jeff Garzik <jgarzik@mandrakesoft.com> 1.1.3-8mdk
- new lib policy.  replaces package mm.
- remove packager/distro/etc tags
- clean up spec a bit
- Use %%configure and %%make macros
- Regenerate libtool at build time

* Sat Apr 14 2001 Jean-Michel Dault <jmdault@mandrakesoft.com> 1.1.3-7mdk
- serverbuild
- rebuild (on a machine that does not have libsafe!!!!)

* Tue Sep 27 2000 Jean-Michel Dault <jmdault@mandrakesoft.com> 1.1.3-6mdk
- fixed library name - thanks to GOMEZ Henri <hgomez@slib.fr>!

* Wed Aug 31 2000 Jean-Michel Dault <jmdault@mandrakesoft.com> 1.1.3-5mdk
- Fixed mm-config. There was a line in it that said:
  prefix="/home/tv/rpm/tmp/mm-1.1.3-buildroot/usr", and it was propagated 
  in all apache-related packages!!!
- Re-Added the packager, etc.. tags, so everyone knows I'm the maintainer
  and that if they fix the package, I sould be advised, because otherwise
  apache will be broken!!!

* Wed Jul 26 2000 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.3-4mdk
- remove Packager, Distribution, Vendor (jmd scks!)

* Wed Jul 26 2000 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.3-3mdk
- BM

* Fri Jul 14 2000 Geoffrey Lee <snailtalk@linux-mandrake.com> 1.1.3-2mdk
- macro-ize spec
- spin off devel package
- full url for source
- jmdault merged modifications from chmouel@mandrakesoft.com and Mikhail 
  Zabaluev (Mandrake Russian Extensions from IPlabs.ru)
  PS: -Chmouel- the %configure macro does not work for this package (uses
  different libtool)

* Fri Jul 07 2000 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.1.3-1mdk
- new release

* Mon Apr 17 2000 Jean-Michel Dault <jmdault@mandrakesoft.com> 1.0.12-3mdk
- put full path to ldconfig
- fixed badly broken specfile

* Mon Apr 17 2000 Jean-Michel Dault <jmdault@mandrakesoft.com> 1.0.12-2mdk
- added the include files
- put it in main distribution since Apache now needs it

* Wed Apr 05 2000 Lenny Cartier <lenny@mandrakesoft.com> 1.0.12-1mdk
- fix group
- fix files section
- full url for source
- misc spec fixes

* Sun Mar 26 2000 Oden Eriksson <oden@kvikkjokk.com>
- cpu optimizations

* Sat Jan 22 2000 Edward S. Marshall <emarshal@logic.net>
- updated for mm 1.0.12

* Tue Sep 7 1999 Nicolai Schleifer <ns@dom.de>
- using buildroot feature
- using -f feature of the files macro
- started from scratch