Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 50bb24b4bac1ed1abe2530fdf692898f > files > 8

device-mapper-1.02.24-3mnb2.src.rpm

%define	name	device-mapper
%define	version	1.02.24
%define	extraversion	%{nil}
%define	release	%manbo_mkrel 3

%ifarch %{ix86} x86_64 ppc ppc64 %{sunsparc}
%define	use_dietlibc	1
%else
%define	use_dietlibc	0
%endif

%define	build_dmeventd 1

%{?_with_dmeventd: %{expand: %%global build_dmeventd 1}}
%{?_without_dmeventd: %{expand: %%global build_dmeventd 0}}
%{?_with_dietlibc: %{expand: %%global use_dietlibc 1}}
%{?_without_dietlibc: %{expand: %%global use_dietlibc 0}}

%define	_sbindir	/sbin
%define	major	1.02

# Macro: %%{mklibname <name> [<major> [<minor>]] [-s] [-d]}
%define	libname		%mklibname devmapper %major
%define	develname	%mklibname devmapper -d
%define	event_libname	%mklibname devmapper-event %major
%define	event_develname	%mklibname devmapper-event -d

Summary:	Device mapper
Name:		%{name}
Version:	%{version}
Release:	%{release}
Source0:	ftp://sources.redhat.com/pub/dm/%{name}.%{version}%{extraversion}.tgz
Source1:	ftp://sources.redhat.com/pub/dm/%{name}.%{version}%{extraversion}.tgz.asc
Patch0:		device-mapper.1.02.24-build.patch
Patch1:		device-mapper.1.02.24-uint32_max.patch
Patch2:		device-mapper.1.02.22-pkgconfig.patch
# Don't use canonicalize_file_name if building with dietlibc, it doesn't
# exist - AdamW 2007/08
Patch3:		device-mapper.1.02.22-canonicalize.patch
# Don't use UINT64_C if building with dietlibc, it doesn't exist (from
# OpenSDE) - AdamW 2007/08
Patch4:		device-mapper.1.02.22-uint64.patch
License:	GPLv2 and LGPLv2
Group:		System/Kernel and hardware
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
URL:		http://sources.redhat.com/dm/
BuildRequires:	autoconf
%if %{use_dietlibc}
BuildRequires:	dietlibc-devel
%else
BuildRequires:	glibc-static-devel
%endif

%description
The device-mapper driver enables the definition of new block
devices composed of ranges of sectors of existing devices.  This
can be used to define disk partitions - or logical volumes.

%package -n	dmsetup
Summary:	Device mapper setup tool
Group:		System/Kernel and hardware
Provides:	device-mapper = %{version}-%{release}
Provides:	dmeventd = %{version}-%{release}
Requires:	%{libname} = %{version}-%{release}

%description -n	dmsetup
Dmsetup manages logical devices that use the device-mapper driver.  
Devices are created by loading a table that specifies a target for
each sector (512 bytes) in the logical device.

%package -n	%{libname}
Summary:	Device mapper library
Group:		System/Kernel and hardware

%description -n	%{libname}
The device-mapper driver enables the definition of new block
devices composed of ranges of sectors of existing devices.  This
can be used to define disk partitions - or logical volumes.

This package contains the shared libraries required for running
programs which use device-mapper.

%package -n	%{develname}
Summary:	Device mapper development library
Group:		Development/C
Provides:	device-mapper-devel = %{version}-%{release}
Provides:	libdevmapper-devel = %{version}-%{release}
Requires:	%{libname} = %{version}-%{release}
Requires:	pkgconfig
Conflicts:	device-mapper-devel < %{version}-%{release}
Obsoletes:	%{mklibname devmapper 1.02 -d}

%description -n	%{develname}
The device-mapper driver enables the definition of new block
devices composed of ranges of sectors of existing devices.  This
can be used to define disk partitions - or logical volumes.

This package contains the header files and development libraries
for building programs which use device-mapper.

%if %{build_dmeventd}
%package -n	%{event_libname}
Summary:	Device mapper event library
Group:		System/Kernel and hardware

%description -n	%{event_libname}
The device-mapper-event library allows monitoring of active mapped devices.

This package contains the shared libraries required for running
programs which use device-mapper-event.

%package -n	%{event_develname}
Summary:	Device mapper event development library
Group:		Development/C
Provides:	device-mapper-event-devel = %{version}-%{release}
Provides:	libdevmapper-event-devel = %{version}-%{release}
Requires:	%{event_libname} = %{version}-%{release}
Requires:	%{develname} = %{version}-%{release}
Requires:	pkgconfig
Conflicts:	device-mapper-event-devel < %{version}-%{release}
Obsoletes:	%{mklibname devmapper-event 1.02 -d}

%description -n	%{event_develname}
The device-mapper-event library allows monitoring of active mapped devices.

This package contains the header files and development libraries
for building programs which use device-mapper-event.
%endif

%prep
%setup -q -n %{name}.%{version}%{extraversion}
%patch0 -p1 -b .build
%patch1 -p1 -b .uint32_max
%patch2 -p1 -b .pkgconfig
%patch3 -p1 -b .canonicalize
%patch4 -p1 -b .uint64
autoconf

%build
%if %{use_dietlibc}
# build fails with stack-protector enabled - AdamW 2007/08
export CFLAGS="%{optflags} -fno-stack-protector"
%endif
%configure2_5x --with-user=`id -un` --with-group=`id -gn` \
%if %{use_dietlibc}
	--enable-static_link_dietlibc \
%else
	--enable-static_link \
%endif
	--disable-selinux \
%if %{build_dmeventd}
	--enable-dmeventd \
%endif
	--enable-pkgconfig
%make

%install
rm -rf %{buildroot}
%makeinstall
mkdir -p %{buildroot}/%{_lib}
mv %{buildroot}%{_libdir}/libdevmapper.so.* $RPM_BUILD_ROOT/%{_lib}
ln -sf /%{_lib}/libdevmapper.so.%{major} %{buildroot}%{_libdir}/libdevmapper.so
%if %{use_dietlibc}
mv $RPM_BUILD_ROOT%{_sbindir}/dmsetup-static{-diet,}
%endif
chmod -R u+w %{buildroot} #else brp won't strip binaries

%clean
rm -rf %{buildroot}

%files -n dmsetup
%defattr(644,root,root,755)
%doc INSTALL INTRO README VERSION WHATS_NEW
#doc patches/*.patch.bz2
%doc scripts/*
%doc contrib/*
%attr(755,root,root) %{_sbindir}/dmsetup
%attr(755,root,root) %{_sbindir}/dmsetup-static
%attr(755,root,root) %{_sbindir}/dmeventd
%{_mandir}/man8/dmsetup.8*

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

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

%files -n %{develname}
%defattr(644,root,root,755)
%{_libdir}/libdevmapper.so
%{_libdir}/libdevmapper.a*
%{_includedir}/libdevmapper.h
%if %{use_dietlibc}
%{_libdir}/libdevmapper-diet.a*
%endif
%{_libdir}/pkgconfig/devmapper.pc

%if %{build_dmeventd}
%defattr(755,root,root)
%files -n %{event_libname}
%{_libdir}/libdevmapper-event.so.*

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

%files -n %{event_develname}
%defattr(644,root,root,755)
%{_includedir}/libdevmapper-event.h
%{_libdir}/libdevmapper-event.so
%{_libdir}/libdevmapper-event.a*
%{_libdir}/pkgconfig/devmapper-event.pc
%endif



%changelog
* Wed Aug 06 2008 Thierry Vignaud <tvignaud@mandriva.com> 1.02.24-3mnb2
+ Revision: 264402
- rebuild early 2009.0 package (before pixel changes)

* Tue Jun 10 2008 Oden Eriksson <oeriksson@mandriva.com> 1.02.24-2mnb2
+ Revision: 217571
- rebuilt against dietlibc-devel-0.32

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

* Mon Feb 18 2008 Thierry Vignaud <tvignaud@mandriva.com> 1.02.24-1mnb1
+ Revision: 170650
- replace %%mkrel with %%manbo_mkrel for Manbo Core 1

* Wed Jan 23 2008 Olivier Blin <oblin@mandriva.com> 1.02.24-1mdv2008.1
+ Revision: 157023
- fix definition of UINT32_MAX (for both libc and dietlibc builds)
- 1.02.24
- rediff static build patch

* Fri Jan 11 2008 Thierry Vignaud <tvignaud@mandriva.com> 1.02.22-2mdv2008.1
+ Revision: 149171
- rebuild
- kill re-definition of %%buildroot on Pixel's request

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

* Wed Aug 22 2007 Adam Williamson <awilliamson@mandriva.com> 1.02.22-1mdv2008.0
+ Revision: 69170
- disable stack-protector (build fails if enabled)
- new devel policy
- add demventd to dmsetup package
- update autoconf buildrequire
- use Fedora license policy
- add patch3 and patch4 to fix build issues with dietlibc (patch4 from OpenSDE)
- drop old patch3 (merged upstream)
- rediff, update and fix patch2
- rediff patch0
- include upstream signature as Source1
- use more standard libname variables
- new release 1.02.22

  + Thierry Vignaud <tvignaud@mandriva.com>
    - kill ldconfig require as requested by pixel


* Wed Feb 14 2007 Gwenole Beauchesne <gbeauchesne@mandriva.com> 1.02.09-2mdv2007.0
+ Revision: 120697
- fix DM_LIB_VERSION for pkgconfig deps

  + Luca Berra <bluca@mandriva.org>
    - New release 1.02.09
    - import device-mapper-1.02.07-4mdv2007.0

* Mon May 29 2006 Luca Berra <bluca@vodka.it> 1.02.07-4mdv2007.0
- merge p1 into p0
	- fix building of shared library
	- fix debug build
	- remove .diet.o and .pic.o files in clean target
- enable dmeventd

* Wed May 24 2006 Luca Berra <bluca@vodka.it> 1.02.07-3mdk
- s/Obsolete/Conflict/

* Mon May 22 2006 Luca Berra <bluca@vodka.it> 1.02.07-2mdk
- Obsolete previous versions of development packages

* Mon May 22 2006 Luca Berra <bluca@vodka.it> 1.02.07-1mdk
- release 1.02.07
- add -lcompat to device mapper build (for getline)
- always install static library
- fix pkgconfig file location
- remove selinux libraries from pkgconfig files

* Sun May 07 2006 Luca Berra <bluca@vodka.it> 1.02.05-1mdk
- New release 1.02.05
- update diet patch
- add ppc64 to dietlibc arches
- allow overriding of dietlibc build
- optional build of dmeventd (disabled by default)
- require(pre,post) ldconfig
- do not include patches for old kernels in %%doc

* Fri Apr 21 2006 Per Øyvind Karlsen <pkarlsen@mandriva.com> 1.01.05-2mdk
- build against dietlibc on sparc
- %%{1}mdv2007.1

* Sat Jan 21 2006 Luca Berra <bluca@vodka.it> 1.01.05-1mdk
- New release 1.01.05
- update patches

* Sat Dec 31 2005 Mandriva Linux Team <http://www.mandrivaexpert.com/> 1.01.00-3mdk
- Rebuild

* Sat Mar 05 2005 Luca Berra <bluca@vodka.it> 1.01.00-2mdk 
- use the correct major number

* Fri Mar 04 2005 Thierry Vignaud <tvignaud@mandrakesoft.com> 1.01.00-1mdk
- new release

* Fri Jan 14 2005 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.00.21-1mdk
- 1.00.21

* Mon Oct 04 2004 Luca Berra <bluca@vodka.it> 1.00.19-4mdk 
- rework package descriptions

* Fri Oct 01 2004 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 1.00.19-3mdk
- only build DSOs with PIC
- rewrite dietlibc patch for a one-shot build

* Mon Aug 02 2004 Christiaan Welvaart <cjw@daneel.dyndns.org> 1.00.19-2mdk
- enable dietlibc version on ppc

* Tue Jul 27 2004 Luca Berra <bluca@vodka.it> 1.00.19-1mdk 
- 1.00.19
- rediffed p0
- disable selinux build

* Wed Jun 30 2004 Luca Berra <bluca@vodka.it> 1.00.18-1mdk 
- 1.00.18
- rediffed p0
- fix unstripped binaries

* Tue Apr 20 2004 Per Øyvind Karlsen <peroyvind@linux-mandrake.com> 1.00.16-2mdk
- fix buildrequires
- spec cosmetics

* Sun Apr 18 2004 Luca Berra <bluca@vodka.it> 1.00.16-1mdk 
- 1.00.16
- rediffed p0
- added dmsetup-static