]> git.pld-linux.org Git - packages/device-mapper.git/blobdiff - device-mapper.spec
- patch from suse to add dmsetup export command
[packages/device-mapper.git] / device-mapper.spec
index e442b5dfd0eee8bee8a6793168a9bdc446f36b74..0f0e50a90352a085e29150921b056d85daa24b89 100644 (file)
@@ -4,16 +4,21 @@
 # Conditional build:
 %bcond_without selinux         # build without SELinux support
 %bcond_without initrd          # don't build initrd version
+%bcond_without uclibc
 #
+%ifarch sparc sparcv9 sparc64
+%undefine with_uclibc
+%endif
+
 Summary:       Userspace support for the device-mapper
 Summary(pl.UTF-8):     Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
 Name:          device-mapper
-Version:       1.02.18
-Release:       1
-License:       GPL v2
+Version:       1.02.22
+Release:       3
+License:       LGPL v2.1 (library), GPL v2 (executables)
 Group:         Applications/System
 Source0:       ftp://sources.redhat.com/pub/dm/%{name}.%{version}.tgz
-# Source0-md5: 8ccb87923a9f33580205e5a9b39c8d58
+# Source0-md5: 6b94db57cdc9022af1583b3f2acb91cd
 # http://www.redhat.com/archives/dm-devel/2005-March/msg00022.html
 Patch0:                %{name}-disable_dynamic_link.patch
 Patch1:                %{name}-klibc.patch
@@ -21,12 +26,15 @@ Patch2:             %{name}-getopt.patch
 Patch3:                %{name}-ac.patch
 Patch4:                %{name}-force-local-headers.patch
 Patch5:                %{name}-linking.patch
+Patch6:                %{name}-dmsetup-export.patch
 URL:           http://sources.redhat.com/dm/
 BuildRequires: autoconf
 BuildRequires: automake
-%{?with_initrd:BuildRequires:  klibc-static}
+%{?with_initrd:BuildRequires:  klibc-static >= 1.3.22}
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
-%{?with_initrd:BuildRequires:  uClibc-static >= 0.9.26}
+%if %{with initrd} && %{with uclibc}
+BuildRequires: uClibc-static >= 0.9.26
+%endif
 # /usr/include/klibc/libdevmapper.h is included first before currently built version with klcc
 BuildConflicts:        device-mapper-initrd-devel < 1.02.17
 %{?with_selinux:Requires:      libselinux >= 1.10}
@@ -54,6 +62,7 @@ narzędzia do zarządzania logicznymi wolumenami.
 %package initrd
 Summary:       Userspace support for the device-mapper - static dmsetup for initrd
 Summary(pl.UTF-8):     Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - statyczne dmsetup dla initrd
+License:       GPL v2
 Group:         Applications/System
 Requires:      %{name} = %{version}-%{release}
 
@@ -68,6 +77,7 @@ wersja dmsetup dla initrd.
 %package devel
 Summary:       Header files and development documentation for %{name}
 Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja do %{name}
+License:       LGPL v2.1
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
@@ -80,6 +90,7 @@ Pliki nagłówkowe i dokumentacja do %{name}.
 %package static
 Summary:       Static devmapper library
 Summary(pl.UTF-8):     Statyczna biblioteka devmapper
+License:       LGPL v2.1
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
@@ -92,6 +103,7 @@ Statyczna biblioteka devmapper.
 %package initrd-devel
 Summary:       Static devmapper library and header files for initrd applications
 Summary(pl.UTF-8):     Statyczna biblioteka devmapper i jej pliki nagłówkowe dla aplikacji initrd
+License:       LGPL v2.1
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 Requires:      klibc
@@ -107,6 +119,7 @@ nagłówkowe dla aplikacji używanych w initrd.
 %package scripts
 Summary:       Additional scripts
 Summary(pl.UTF-8):     Dodatkowe skrypty
+License:       GPL v2
 Group:         Applications/System
 Requires:      %{name} = %{version}-%{release}
 Requires:      util-linux
@@ -125,6 +138,7 @@ Dodatkowe skrypty.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %build
 cp -f /usr/share/automake/config.sub autoconf
@@ -145,12 +159,17 @@ cp -f /usr/share/automake/config.sub autoconf
        --with-interface=ioctl \
        --disable-nls
 sed -i -e 's#rpl_malloc#malloc#g' include/configure.h
+# On AC it successfully finds canonicalize_file_name() from glibc's libc.a
+# On TH it it fails to do anything with libc.a due link errors (undefined reference to `_Unwind_Resume', undefined reference to `__gcc_personality_v0', ...)
+# really it should check func from klibc libc.a
+sed -i -e 's,#define HAVE_CANONICALIZE_FILE_NAME 1,#undef HAVE_CANONICALIZE_FILE_NAME,' include/configure.h
 %{__make}
 
 cp -a dmsetup/dmsetup.static initrd-dmsetup
 cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper-klibc.a
 %{__make} clean
 
+%if %{with uclibc}
 # uclibc (for lvm2)
 %configure \
        CC="%{_target_cpu}-uclibc-gcc" \
@@ -166,6 +185,7 @@ sed -i -e 's#rpl_malloc#malloc#g' include/configure.h
 cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper-uclibc.a
 %{__make} clean
 %endif
+%endif
 
 %configure \
        CLDFLAGS="%{rpmldflags}" \
@@ -175,19 +195,21 @@ cp -a lib/ioctl/libdevmapper.a initrd-libdevmapper-uclibc.a
        --with-group=%(id -g) \
        --with-interface=ioctl \
        --enable-dmeventd \
+       --enable-pkgconfig \
        --disable-klibc
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/{%{_lib},%{_libdir}/%{name}}
+install -d $RPM_BUILD_ROOT{/%{_lib},%{_libdir}/%{name}}
 
 %{__make} install \
+       usrlibdir="$RPM_BUILD_ROOT%{_libdir}" \
        DESTDIR=$RPM_BUILD_ROOT
 
-SONAME=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libdevmapper.so.*.*)
+SONAME=$(basename $RPM_BUILD_ROOT%{_libdir}/libdevmapper.so.*.*)
 ln -sf /%{_lib}/${SONAME} $RPM_BUILD_ROOT%{_libdir}/libdevmapper.so
-SONAME=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libdevmapper-event.so.*.*)
+SONAME=$(basename $RPM_BUILD_ROOT%{_libdir}/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}
@@ -199,10 +221,12 @@ install dmeventd/libdevmapper-event.a $RPM_BUILD_ROOT%{_libdir}
 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
+%if %{with uclibc}
+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/%{_target_cpu}-linux-uclibc/usr/include
 %endif
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -212,18 +236,20 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc INTRO INSTALL README scripts/*
+%doc INTRO INSTALL README
 %attr(755,root,root) %{_sbindir}/dmeventd
 %attr(755,root,root) %{_sbindir}/dmsetup
 %attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
 %attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
-%{_mandir}/man8/*
+%{_mandir}/man8/dmsetup.8*
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libdevmapper.so
 %attr(755,root,root) %{_libdir}/libdevmapper-event.so
 %{_includedir}/libdevmapper*.h
+%{_pkgconfigdir}/devmapper.pc
+%{_pkgconfigdir}/devmapper-event.pc
 
 %files static
 %defattr(644,root,root,755)
@@ -243,7 +269,9 @@ rm -rf $RPM_BUILD_ROOT
 %files initrd-devel
 %defattr(644,root,root,755)
 %{_prefix}/%{_lib}/klibc/libdevmapper.a
-%{_prefix}/%{_target_cpu}-linux-uclibc/usr/lib/libdevmapper.a
 %{_includedir}/klibc/libdevmapper.h
+%if %{with uclibc}
+%{_prefix}/%{_target_cpu}-linux-uclibc/usr/lib/libdevmapper.a
 %{_prefix}/%{_target_cpu}-linux-uclibc/usr/include/libdevmapper.h
 %endif
+%endif
This page took 0.032795 seconds and 4 git commands to generate.