]> git.pld-linux.org Git - packages/dmraid.git/blobdiff - dmraid.spec
- Conflicts: geninitrd <= 10000.3 (geninitrd-10000.3 doesn't know _libdir/initrd)
[packages/dmraid.git] / dmraid.spec
index 48ee32bdae7bb7fe488be06c387094b827bd0d06..721883d17136359d3bc67f9da6a2afceb07b91bf 100644 (file)
@@ -1,43 +1,65 @@
 #
 # Conditional build:
-%bcond_without initrd  # without initrd version
+%bcond_without initrd          # without initrd version
+%bcond_without dietlibc        # build initrd version with static glibc instead of dietlibc
+%bcond_without selinux         # build without SELinux support (needs selinux-disabled device-mapper)
 #
-%define        _rc rc10
-%define        _rel 1.5
 Summary:       Device-mapper RAID tool
-Summary(pl):   Narzêdzie do RAID-u opartego o device-mapper
+Summary(pl.UTF-8):     Narzędzie do RAID-u opartego o device-mapper
 Name:          dmraid
 Version:       1.0.0
-Release:       0.%{_rc}.%{_rel}
+%define        _rc     rc15
+Release:       0.%{_rc}.4
 License:       GPL
 Group:         Base
 Source0:       http://people.redhat.com/~heinzm/sw/dmraid/src/%{name}-%{version}.%{_rc}.tar.bz2
-# Source0-md5: 0206f8166bfdc370c4ee8efcb35af111
+# Source0-md5: 2602887205a35f89b59eeba3a868150f
+Source1:       %{name}-initramfs-hook
+Source2:       %{name}-initramfs-local-top
 Patch0:                %{name}-selinux-static.patch
 Patch1:                %{name}-fix.patch
 Patch2:                %{name}-optflags.patch
+Patch3:                %{name}-as-needed.patch
+Patch4:                %{name}-unsigned.patch
+Patch5:                %{name}-diet.patch
 URL:           http://people.redhat.com/~heinzm/sw/dmraid/
 BuildRequires: autoconf
 BuildRequires: automake
-BuildRequires: device-mapper-devel >= 1.01.01
-%{?with_initrd:BuildRequires:  device-mapper-static >= 1.02.05-0.4}
-%{?with_initrd:BuildRequires:  glibc-static}
-%{?with_initrd:BuildRequires:  libselinux-static}
-%{?with_initrd:BuildRequires:  libsepol-static}
+BuildRequires: device-mapper-devel >= 1.02.02
+BuildRequires: zlib-devel
+%if %{with initrd}
+       %if %{with dietlibc}
+BuildRequires: device-mapper-dietlibc
+BuildRequires: dietlibc-static >= 2:0.31-5
+       %else
+BuildRequires: device-mapper-static >= 1.02.05-0.4
+BuildRequires: glibc-static
+%if %{with selinux}
+BuildRequires: libselinux-static
+BuildRequires: libsepol-static
+%endif
+       %endif
+%endif
+%if %{with selinux}
+BuildRequires: libselinux-devel
+BuildRequires: libsepol-devel
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                _sbindir        /sbin
+
 %description
 DMRAID supports device discovery, set activation and display of
 properties for ATARAID on Linux >= 2.4 using device-mapper.
 
-%description -l pl
-DMRAID obs³uguje wykrywanie urz±dzeñ, ustawianie aktywacji i
-wy¶wietlanie w³a¶ciwo¶ci ATARAID-u na Linuksie >= 2.4 przy u¿yciu
+%description -l pl.UTF-8
+DMRAID obsługuje wykrywanie urządzeń, ustawianie aktywacji i
+wyświetlanie właściwości ATARAID-u na Linuksie >= 2.4 przy użyciu
 device-mappera.
 
 %package devel
 Summary:       Header files for dmraid library
-Summary(pl):   Pliki nag³ówkowe biblioteki dmraid
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki dmraid
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 
@@ -45,14 +67,14 @@ Requires:   %{name} = %{version}-%{release}
 dmraid-devel provides a library interface for RAID device discovery,
 RAID set activation and display of properties for ATARAID volumes.
 
-%description devel -l pl
-Ten pakiet udostêpnia interfejs biblioteczny do wykrywania urz±dzeñ
-RAID, w³±czania zestawu RAID i wy¶wietlania w³a¶ciwo¶ci wolumenów
+%description devel -l pl.UTF-8
+Ten pakiet udostępnia interfejs biblioteczny do wykrywania urządzeń
+RAID, włączania zestawu RAID i wyświetlania właściwości wolumenów
 ATARAID.
 
 %package static
 Summary:       Static library for dmraid
-Summary(pl):   Statyczna biblioteka dmraid
+Summary(pl.UTF-8):     Statyczna biblioteka dmraid
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
@@ -60,28 +82,45 @@ Requires:   %{name}-devel = %{version}-%{release}
 dmraid-static provides a library interface for RAID device discovery,
 RAID set activation and display of properties for ATARAID volumes.
 
-%description static -l pl
-Ten pakiet udostêpnia statyczn± bibliotekê do wykrywania urz±dzeñ
-RAID, w³±czania zestawu RAID i wy¶wietlania w³a¶ciwo¶ci wolumenów
+%description static -l pl.UTF-8
+Ten pakiet udostępnia statyczną bibliotekę do wykrywania urządzeń
+RAID, włączania zestawu RAID i wyświetlania właściwości wolumenów
 ATARAID.
 
 %package initrd
 Summary:       Device-mapper RAID tool - statically linked version
-Summary(pl):   Narzêdzie do RAID-u opartego o device-mapper - wersja statyczna
+Summary(pl.UTF-8):     Narzędzie do RAID-u opartego o device-mapper - wersja statyczna
 Group:         Base
+Conflicts:     geninitrd <= 10000.3
 
 %description initrd
 Statically linked version of dmraid utility.
 
-%description initrd -l pl
-Statycznie skonsolidowana wersja programu narzêdziowego dmraid.
+%description initrd -l pl.UTF-8
+Statycznie skonsolidowana wersja programu narzędziowego dmraid.
+
+%package initramfs
+Summary:       Device-mapper RAID tool - support scripts for initramfs-tools
+Summary(pl.UTF-8):     Narzędzie do RAID-u opartego o device-mapper - skrypty dla initramfs-tools
+Group:         Base
+Requires:      %{name} = %{version}-%{release}
+Requires:      initramfs-tools
+
+%description initramfs
+Device-mapper RAID tool - support scripts for initramfs-tools.
+
+%description initramfs -l pl.UTF-8
+Narzędzie do RAID-u opartego o device-mapper - skrypty dla initramfs-tools.
 
 %prep
 %setup -q -n %{name}
 mv */* ./
-%patch0 -p2
+%{?with_selinux:%patch0 -p2}
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 cp -f /usr/share/automake/config.sub autoconf
@@ -90,18 +129,30 @@ cp -f /usr/share/automake/config.sub autoconf
 
 %if %{with initrd}
 %configure \
+       %if %{with dietlibc}
+       CC="diet %{__cc} -Os %{rpmldflags} -static" \
+       --disable-libselinux \
+       --disable-libsepol \
+       %else
+               %if %{with selinux}
+       --enable-libselinux \
+       --enable-libsepol \
+               %endif
+       %endif
        --enable-static_link
-%{__make}
-cp -f tools/dmraid{,-initrd}
+
+%{__make} -j1
+mv -f tools/dmraid dmraid-initrd
 %{__make} clean
 %endif
 
 %configure \
        --enable-shared_lib
-%{__make}
+%{__make} -j1
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{/%{_lib},%{_datadir}/initramfs-tools/{hooks,scripts/local-top}}
 
 %{__make} install \
        includedir=$RPM_BUILD_ROOT%{_includedir} \
@@ -109,10 +160,18 @@ rm -rf $RPM_BUILD_ROOT
        mandir=$RPM_BUILD_ROOT%{_mandir} \
        sbindir=$RPM_BUILD_ROOT%{_sbindir}
 
+mv $RPM_BUILD_ROOT%{_libdir}/libdmraid.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libdmraid.so.*.*.*) \
+        $RPM_BUILD_ROOT%{_libdir}/libdmraid.so
+
 %if %{with initrd}
-install -D tools/dmraid-initrd $RPM_BUILD_ROOT/sbin/dmraid-initrd
+install -d $RPM_BUILD_ROOT%{_libdir}/initrd
+install dmraid-initrd $RPM_BUILD_ROOT%{_libdir}/initrd/dmraid
 %endif
 
+install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/dmraid
+install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/dmraid
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -123,7 +182,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc README TODO doc/dmraid_design.txt
 %attr(755,root,root) %{_sbindir}/dmraid
-%attr(755,root,root) %{_libdir}/libdmraid.so.*.*.*
+%attr(755,root,root) /%{_lib}/libdmraid.so.*.*.*
 %{_mandir}/man8/*
 
 %files devel
@@ -138,5 +197,10 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with initrd}
 %files initrd
 %defattr(644,root,root,755)
-%attr(755,root,root) /sbin/dmraid-initrd
+%attr(755,root,root) %{_libdir}/initrd/dmraid
 %endif
+
+%files initramfs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_datadir}/initramfs-tools/hooks/dmraid
+%attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/dmraid
This page took 0.1421 seconds and 4 git commands to generate.