X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=device-mapper.spec;h=c7a6e8f5aeb979f15ee8d1725a01d8589664035e;hb=bc05beb93138d80b9058add8fab962e9baf607c1;hp=d8dd234b25c0471d0695806f2f08cef8ae20258c;hpb=0281e41346a6700d28453a6dd0a1fee5024c9638;p=packages%2Fdevice-mapper.git diff --git a/device-mapper.spec b/device-mapper.spec index d8dd234..c7a6e8f 100644 --- a/device-mapper.spec +++ b/device-mapper.spec @@ -1,3 +1,5 @@ +# TODO +# - add fix to drop BuildConflicts: device-mapper-initrd-devel # # Conditional build: %bcond_without selinux # build without SELinux support @@ -6,42 +8,48 @@ Summary: Userspace support for the device-mapper Summary(pl): Wsparcie dla mapowania urz±dzeñ w przestrzeni u¿ytkownika Name: device-mapper -Version: 1.02.05 -Release: 0.1 +Version: 1.02.09 +Release: 0.2 License: GPL v2 Group: Applications/System Source0: ftp://sources.redhat.com/pub/dm/%{name}.%{version}.tgz -# Source0-md5: e5cfc57a6e36af883dfedd9e9106f97e +# Source0-md5: 0127820a542f08a61d34739cd6c81fbc # http://www.redhat.com/archives/dm-devel/2005-March/msg00022.html Patch0: %{name}-disable_dynamic_link.patch Patch1: %{name}-klibc.patch Patch2: %{name}-getopt.patch +Patch3: %{name}-ac.patch +Patch4: %{name}-force-local-headers.patch +Patch5: %{name}-linking.patch URL: http://sources.redhat.com/dm/ BuildRequires: autoconf BuildRequires: automake +%{?with_initrd:BuildRequires: klibc-static} %{?with_selinux:BuildRequires: libselinux-devel >= 1.10} +%{?with_initrd:BuildRequires: uClibc-static >= 0.9.26} +# /usr/include/klibc/libdevmapper.h is included first before currently built version with klcc +BuildConflicts: device-mapper-initrd-devel < 1.02.07 %{?with_selinux:Requires: libselinux >= 1.10} -%{?with_initrd:BuildRequires: klibc-static} Conflicts: dev < 2.9.0-8 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%undefine configure_cache %define _sbindir /sbin %description -The goal of this driver is to support volume management. -The 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 light-weight kernel -component can support user-space tools for logical volume management. +The goal of this driver is to support volume management. The 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 light-weight kernel component +can support user-space tools for logical volume management. %description -l pl -Celem tego sterownika jest obs³uga zarz±dzania wolumenami. -Sterownik w³±cza definiowanie nowych urz±dzeñ blokowych z³o¿onych z -przedzia³ów sektorów na istniej±cych urz±dzeniach. Mo¿e to byæ -wykorzystane do definiowania partycji na dysku lub logicznych -wolumenów. Ten lekki sk³adnik j±dra mo¿e wspieraæ dzia³aj±ce w -przestrzeni u¿ytkownika narzêdzia do zarz±dzania logicznymi -wolumenami. +Celem tego sterownika jest obs³uga zarz±dzania wolumenami. Sterownik +w³±cza definiowanie nowych urz±dzeñ blokowych z³o¿onych z przedzia³ów +sektorów na istniej±cych urz±dzeniach. Mo¿e to byæ wykorzystane do +definiowania partycji na dysku lub logicznych wolumenów. Ten lekki +sk³adnik j±dra mo¿e wspieraæ dzia³aj±ce w przestrzeni u¿ytkownika +narzêdzia do zarz±dzania logicznymi wolumenami. %package initrd Summary: Userspace support for the device-mapper - static dmsetup for initrd @@ -114,10 +122,9 @@ Dodatkowe skrypty. %patch0 -p1 %patch1 -p1 %patch2 -p1 - -# klcc puts its own -I before any options, so klibc's -# overrides include/linux/*, requiring very fresh kernel headers -sed -i -e 's,,"../../kernel/ioctl/dm-ioctl.h",' lib/ioctl/libdm-iface.c +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 %build cp -f /usr/share/automake/config.sub autoconf @@ -125,27 +132,45 @@ cp -f /usr/share/automake/config.sub autoconf %{__autoconf} %if %{with initrd} +# kcc %configure \ + CC="klcc -static" \ + CLDFLAGS="%{rpmldflags}" \ --disable-selinux \ + --disable-dynamic_link \ + --enable-static_link \ --with-optimisation="%{rpmcflags}" \ --with-user=%(id -u) \ --with-group=%(id -g) \ --with-interface=ioctl \ - --enable-static_link \ - --disable-dynamic_link \ - --enable-klibc \ - CC="klcc -static" -sed -i -e 's#-Dmalloc=rpl_malloc##g' make.tmpl + --disable-nls +sed -i -e 's#rpl_malloc#malloc#g' include/configure.h %{__make} cp -a dmsetup/dmsetup.static initrd-dmsetup -cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper.a +cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper-klibc.a +%{__make} clean + +# uclibc (for lvm2) +%configure \ + CC="%{_target_cpu}-uclibc-gcc" \ + CLDFLAGS="%{rpmldflags}" \ + --disable-selinux \ + --disable-dynamic_link \ + --with-optimisation="-Os" \ + --with-interface=ioctl \ + --disable-nls +sed -i -e 's#rpl_malloc#malloc#g' include/configure.h +%{__make} + +cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper-uclibc.a %{__make} clean %endif %configure \ + CLDFLAGS="%{rpmldflags}" \ --%{?with_selinux:en}%{!?with_selinux:dis}able-selinux \ - --with-optimisation="%{rpmcflags} -DHAVE_GETOPTLONG" \ + --with-optimisation="%{rpmcflags}" \ --with-user=%(id -u) \ --with-group=%(id -g) \ --with-interface=ioctl \ @@ -153,25 +178,31 @@ cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper.a --disable-klibc %{__make} -ar cru libdevmapper.a lib/ioctl/*.o lib/*.o -ranlib libdevmapper.a - %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/{%{_lib},%{_libdir}/%{name},/usr/{%{_lib},include}/klibc} +install -d $RPM_BUILD_ROOT/{%{_lib},%{_libdir}/%{name}} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -SONAME=$(basename $(ls -1 $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.*)) +SONAME=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libdevmapper.so.*.*) ln -sf /%{_lib}/${SONAME} $RPM_BUILD_ROOT%{_libdir}/libdevmapper.so +SONAME=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libdevmapper-event.so.*.*) +ln -sf /%{_lib}/${SONAME} $RPM_BUILD_ROOT%{_libdir}/libdevmapper-event.so mv -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.* $RPM_BUILD_ROOT/%{_lib} -install scripts/* $RPM_BUILD_ROOT/%{_libdir}/%{name} +install scripts/* $RPM_BUILD_ROOT%{_libdir}/%{name} + +install lib/ioctl/libdevmapper.a $RPM_BUILD_ROOT%{_libdir} +install dmeventd/libdevmapper-event.a $RPM_BUILD_ROOT%{_libdir} -install libdevmapper.a $RPM_BUILD_ROOT%{_libdir} -%{?with_initrd:install initrd-dmsetup $RPM_BUILD_ROOT%{_sbindir}} -%{?with_initrd:install initrd-libdevmapper.a $RPM_BUILD_ROOT/usr/%{_lib}/klibc/libdevmapper.a} -%{?with_initrd:install include/libdevmapper.h $RPM_BUILD_ROOT/usr/include/klibc} +%if %{with initrd} +install -d $RPM_BUILD_ROOT/usr/{{%{_lib},include}/klibc,%{_target_cpu}-linux-uclibc/usr/{lib,include}} +install initrd-dmsetup $RPM_BUILD_ROOT%{_sbindir} +install initrd-libdevmapper-klibc.a $RPM_BUILD_ROOT/usr/%{_lib}/klibc/libdevmapper.a +install initrd-libdevmapper-uclibc.a $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/lib/libdevmapper.a +install include/libdevmapper.h $RPM_BUILD_ROOT/usr/include/klibc +install include/libdevmapper.h $RPM_BUILD_ROOT/usr/%{_target_cpu}-linux-uclibc/usr/include +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -183,17 +214,20 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc INTRO INSTALL README scripts/* %attr(755,root,root) %{_sbindir}/dmsetup -%attr(755,root,root) /%{_lib}/lib*.so.*.* +%attr(755,root,root) /%{_lib}/libdevmapper.so.*.* +%attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.* %{_mandir}/man8/* %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libdevmapper.so -%{_includedir}/*.h +%attr(755,root,root) %{_libdir}/libdevmapper-event.so +%{_includedir}/libdevmapper*.h %files static %defattr(644,root,root,755) -%{_libdir}/lib*.a +%{_libdir}/libdevmapper.a +%{_libdir}/libdevmapper-event.a %files scripts %defattr(644,root,root,755) @@ -207,6 +241,8 @@ rm -rf $RPM_BUILD_ROOT %files initrd-devel %defattr(644,root,root,755) -/usr/%{_lib}/klibc/libdevmapper.a -/usr/include/klibc/libdevmapper.h +%{_prefix}/%{_lib}/klibc/libdevmapper.a +%{_prefix}/%{_target_cpu}-linux-uclibc/usr/lib/libdevmapper.a +%{_includedir}/klibc/libdevmapper.h +%{_prefix}/%{_target_cpu}-linux-uclibc/usr/include/libdevmapper.h %endif