SPECS: lvm2.spec - rel 2 - added dietlibc and glibc bconds - build with die...
baggins
baggins at pld-linux.org
Wed Mar 18 14:48:01 CET 2009
Author: baggins Date: Wed Mar 18 13:48:01 2009 GMT
Module: SPECS Tag: HEAD
---- Log message:
- rel 2
- added dietlibc and glibc bconds
- build with dietlibc by default
- added device-mapper-dietlibc package
---- Files affected:
SPECS:
lvm2.spec (1.126 -> 1.127)
---- Diffs:
================================================================
Index: SPECS/lvm2.spec
diff -u SPECS/lvm2.spec:1.126 SPECS/lvm2.spec:1.127
--- SPECS/lvm2.spec:1.126 Thu Mar 12 17:02:10 2009
+++ SPECS/lvm2.spec Wed Mar 18 14:47:56 2009
@@ -4,20 +4,31 @@
# - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
#
# Conditional build:
-%bcond_without initrd # don't build initrd version
-%bcond_without uClibc # link initrd version with static glibc instead of uClibc
-%bcond_without clvmd # don't build clvmd
-%bcond_without selinux # disable SELinux
-#
+%bcond_without initrd # don't build initrd version
+%bcond_with uClibc # link initrd version with uClibc
+%bcond_without dietlibc # link initrd version with dietlibc
+%bcond_with glibc # link initrd version with static glibc
+%bcond_without clvmd # don't build clvmd
+%bcond_without selinux # disable SELinux
+
%ifarch sparc64 sparc
-%undefine with_uClibc
+%define with_glibc 1
+%endif
+
+# if one of the *libc is enabled disable default dietlibc
+%if %{with dietlibc} && %{with uClibc}
+%undefine with_dietlibc
+%endif
+
+%if %{with glibc} && %{with dietlibc}
+%undefine with_dietlibc
%endif
-#
+
Summary: The new version of Logical Volume Manager for Linux
Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
Name: lvm2
Version: 2.02.45
-Release: 1
+Release: 2
License: GPL v2
Group: Applications/System
Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
@@ -25,6 +36,7 @@
Source1: %{name}-initramfs-hook
Source2: %{name}-initramfs-local-top
Patch0: %{name}-selinux.patch
+Patch1: %{name}-diet.patch
URL: http://sources.redhat.com/lvm2/
BuildRequires: autoconf
BuildRequires: automake
@@ -32,17 +44,9 @@
%{?with_selinux:BuildRequires: libsepol-devel}
BuildRequires: rpmbuild(macros) >= 1.213
%if %{with initrd}
- %if %{with uClibc}
- %ifarch ppc
-BuildRequires: uClibc-static >= 2:0.9.29
- %else
-BuildRequires: uClibc-static >= 2:0.9.26
- %endif
- %else
-BuildRequires: glibc-static
-%{?with_selinux:BuildRequires: libselinux-static >= 1.10}
-%{?with_selinux:BuildRequires: libsepol-static}
- %endif
+%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.31-5}
+%{?with_glibc:BuildRequires: glibc-static}
+%{?with_uClibc:BuildRequires: uClibc-static >= 2:0.9.29}
%endif
%if %{with clvmd}
BuildRequires: cman-devel >= 1.0
@@ -67,6 +71,10 @@
# changing CFLAGS in the middle confuses confcache
%undefine configure_cache
+# for some reason known only to rpm there must be "\\|" not "\|" here
+%define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
+%define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
+
%description
This package includes a number of utilities for creating, checking,
and repairing logical volumes.
@@ -138,6 +146,19 @@
%description -n device-mapper-static -l pl.UTF-8
Statyczna biblioteka devmapper.
+%package -n device-mapper-dietlibc
+Summary: Static devmapper library built with dietlibc
+Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
+License: LGPL v2.1
+Group: Development/Libraries
+Requires: device-mapper-devel = %{version}-%{release}
+
+%description -n device-mapper-dietlibc
+Static devmapper library built with dietlibc.
+
+%description -n device-mapper-dietlibc -l pl.UTF-8
+Statyczna biblioteka devmapper zbudowana z dietlibc.
+
%package -n device-mapper-initrd
Summary: Userspace support for the device-mapper - initrd version
Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - wersja dla initrd
@@ -183,6 +204,7 @@
%prep
%setup -q -n LVM2.%{version}
%{?with_selinux:%patch0 -p1}
+%patch1 -p1
%build
cp -f /usr/share/automake/config.sub autoconf
@@ -192,23 +214,25 @@
%if %{with initrd}
%configure \
%{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"} \
+ %{?with_dietlibc:CC="diet %{__cc}"} \
ac_cv_lib_dl_dlopen=no \
%{?debug:--enable-debug} \
--with-optimisation="-Os" \
--enable-static_link \
--with-lvm1=internal \
- --%{?with_uClibc:dis}%{!?with_uClibc:en}able-selinux \
+ --%{?with_glibc:en}%{!?with_glibc:dis}able-selinux \
--disable-readline \
--disable-nls
-# non uclibc version links with normal static libdevicemapper which has selinux enabled
+# glibc version links with normal static libdevicemapper which has selinux enabled
# and we need to keep these in sync between device-mapper and lvm2
%{__sed} -i -e 's#rpl_malloc#malloc#g' lib/misc/configure.h
%{__make} -j1
+%{__make} -j1 -C tools dmsetup.static lvm.static
mv -f tools/lvm.static initrd-lvm
-%{__make} -j1 -C tools dmsetup.static
mv -f tools/dmsetup.static initrd-dmsetup
+%{?with_dietlibc:mv -f libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
%{__make} clean
%endif
@@ -235,6 +259,7 @@
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm} \
$RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{hooks,scripts/local-top}
+%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
@@ -253,6 +278,8 @@
%{?with_initrd:install initrd-lvm $RPM_BUILD_ROOT%{_sbindir}/initrd-lvm}
%{?with_initrd:install initrd-dmsetup $RPM_BUILD_ROOT%{_sbindir}/initrd-dmsetup}
+%{?with_dietlibc:install diet-libdevmapper.a $RPM_BUILD_ROOT%{dietlibdir}/libdevmapper.a}
+
install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/lvm2
install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/lvm2
@@ -298,6 +325,12 @@
%defattr(644,root,root,755)
%{_libdir}/libdevmapper*.a
+%if %{with dietlibc}
+%files -n device-mapper-dietlibc
+%defattr(644,root,root,755)
+%{dietlibdir}/libdevmapper.a
+%endif
+
%if %{with initrd}
%files -n device-mapper-initrd
%defattr(644,root,root,755)
@@ -319,6 +352,12 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.127 2009/03/18 13:47:56 baggins
+- rel 2
+- added dietlibc and glibc bconds
+- build with dietlibc by default
+- added device-mapper-dietlibc package
+
Revision 1.126 2009/03/12 16:02:10 glen
- bootup should not touch filesystem
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/lvm2.spec?r1=1.126&r2=1.127&f=u
More information about the pld-cvs-commit
mailing list