%define name lvm2 %define version 2.00.08 %define release 8mdk %define use_dietlibc 0 %ifarch %{ix86} x86_64 %define use_dietlibc 1 %endif Summary: Logical Volume Manager administration tools Name: %{name} Version: %{version} Release: %{release} Source0: ftp://ftp.sistina.com/pub/LVM2/tools/LVM2.%{version}.tar.bz2 Patch0: lvm2-alternatives.patch.bz2 Patch1: LVM2.2.00.08-diet.patch.bz2 Patch2: lvm2-blksize64.patch.bz2 Patch3: lvm2-termcap.patch.bz2 Patch4: lvm2-uuid.patch.bz2 Patch5: lvm2-skipmd.patch.bz2 License: GPL Group: System/Kernel and hardware BuildRoot: %{_tmppath}/%{name}-buildroot Prefix: %{_prefix} URL: http://www.sistina.com/lvm BuildRequires: device-mapper-devel BuildRequires: readline-devel BuildRequires: termcap-devel Requires: %{mklibname devmapper 1.00} >= 1.00.07 Conflicts: lvm %if %{use_dietlibc} BuildRequires: dietlibc-devel %endif %description LVM includes all of the support for handling read/write operations on physical volumes (hard disks, RAID-Systems, magneto optical, etc., multiple devices (MD), see mdadd(8) or even loop devices, see losetup(8)), creating volume groups (kind of virtual disks) from one or more physical volumes and creating one or more logical volumes (kind of logical partitions) in volume groups. %prep %setup -q -n LVM2.%{version} %patch0 -p1 -b .alternatives %patch1 -p1 -b .diet %patch2 -p1 -b .blksize64 %patch3 -p1 -b .termcap %patch4 -p1 -b .uuid %patch5 -p1 -b .skipmd %build %configure --with-user=`id -un` --with-group=`id -gn` --enable-static_link --disable-readline %if %{use_dietlibc} CC="diet gcc -DWRAPPER" LVMLIBS="-llvm -ldevmapper-diet" %else CC="gcc -DWRAPPER" LVMLIBS="-static -llvm -ldevmapper" %endif %make CC="$CC" LVMLIBS="$LVMLIBS" cd tools $CC -o lvm-static lvm.o vgchange.o vgscan.o archive.o toollib.o vgmknodes.o pvmove.o -L ../lib $LVMLIBS cd .. %make clean %configure --with-user=`id -un` --with-group=`id -gn` --disable-static_link --enable-readline %make %install rm -rf $RPM_BUILD_ROOT %makeinstall sbindir=$RPM_BUILD_ROOT/sbin mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/lvm cp doc/example.conf $RPM_BUILD_ROOT/%{_sysconfdir}/lvm/lvm.conf rm -f $RPM_BUILD_ROOT/sbin/lvm $RPM_BUILD_ROOT/sbin/lvm2 # so it's not found when creating lvm2-setup-alternatives.sh echo "update-alternatives --install /sbin/lvm lvm /sbin/lvm2 20 \\" > lvm2-setup-alternatives.sh for i in ${RPM_BUILD_ROOT}/sbin/*; do n=${i##*/} # basename rm $i echo "--slave /sbin/$n $n /sbin/lvm2 \\" >> lvm2-setup-alternatives.sh done for i in ${RPM_BUILD_ROOT}%{_mandir}/man8/*; do n=${i##*/} # basename mv $i ${RPM_BUILD_ROOT}%{_mandir}/man8/lvm2-$n echo "--slave %{_mandir}/man8/$n.bz2 $n %{_mandir}/man8/lvm2-$n.bz2 \\" >> lvm2-setup-alternatives.sh done echo >> lvm2-setup-alternatives.sh install tools/lvm $RPM_BUILD_ROOT/sbin/lvm2 install tools/lvm-static $RPM_BUILD_ROOT/sbin/lvm2-static %post -f lvm2-setup-alternatives.sh %postun if [ $1 = 0 ]; then update-alternatives --remove lvm /sbin/lvm2 fi %clean rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %attr(755,root,root) /sbin/lvm2 %attr(755,root,root) /sbin/lvm2-static %dir %{_sysconfdir}/lvm/ %config(noreplace) %{_sysconfdir}/lvm/lvm.conf %{_mandir}/man5/* %{_mandir}/man8/* %doc INSTALL README VERSION WHATS_NEW %changelog * Sun Jan 25 2004 Luca Berra <bluca@vodka.it> 2.00.08-8mdk - patch to ignore devices that have an md superblock on them * Fri Jan 23 2004 Luca Berra <bluca@vodka.it> 2.00.08-7mdk - patch to fix uidless PVs created during 9.2 installation * Sun Jan 04 2004 Luca Berra <bluca@vodka.it> 2.00.08-6mdk - DIRM: /etc/lvm - build vs termcap, not ncurses * Tue Dec 29 2003 Stefan van der Eijk <stefan@eijk.nu> 2.00.08-5mdk - BuildRequires * Sat Dec 20 2003 Luca Berra <bluca@vodka.it> 2.00.08-4mdk - fix annoying "setlocale failed" message in dietlibc version * Sun Dec 14 2003 Luca Berra <bluca@vodka.it> 2.00.08-3mdk - added vgmknodes to static/diet binary - imported blksize64 patch from fedora - use %%post -f for alternatives script - lvm.conf is a config file * Sat Nov 22 2003 Luca Berra <bluca@vodka.it> 2.00.08-2mdk - built against device-mapper 1.00.07 * Thu Nov 20 2003 Luca Berra <bluca@vodka.it> 2.00.08-1mdk - 2.0.08 stable - added static/dietlibc version for initrd * Tue Sep 16 2003 Luca Berra <bluca@vodka.it> 2.00.07-1mdk - 2.00.07 stable * Sat Sep 06 2003 Luca Berra <bluca@vodka.it> 2.00.06-1mdk - accept lvm2 as a valid command name * Sun Jul 27 2003 Luca Berra <bluca@vodka.it> 2.00.06-0.1mdk - 2.00.06 stable - mdk uses bzip2 * Sun Jul 27 2003 Luca Berra <bluca@vodka.it> 2.00.05-0.1mdk - 2.00.05 stable * Sun Dec 1 2002 Luca Berra <bluca@vodka.it> 1.95.10-2mdk - use alternatives for compatibility with lvm1 * Sat Jun 1 2002 Luca Berra <bluca@vodka.it> 1.95.10-1mdk - 1.95.10