# # spec file for package lvm2 # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Url: http://www.sourceware.org/lvm2/ Name: lvm2 BuildRequires: device-mapper-devel BuildRequires: libcorosync-devel BuildRequires: libdlm-devel BuildRequires: libselinux-devel BuildRequires: libudev-devel BuildRequires: readline-devel BuildRequires: pkgconfig(udev) Requires: device-mapper >= 1.02.25 Provides: lvm PreReq: /sbin/mkinitrd Version: 2.02.98 Release: 0. Summary: Logical Volume Manager Tools License: GPL-2.0 and LGPL-2.1 Group: System/Base Source: ftp://sources.redhat.com/pub/%{name}/LVM2.%{version}.tgz Source42: ftp://sources.redhat.com/pub/%{name}/LVM2.%{version}.tgz.asc Source1: lvm.conf #Source2: boot.lvm Source4: mkinitrd-lvm2-setup.sh Source5: mkinitrd-lvm2-boot.sh #Source6: 64-lvm2.rules #Source7: collect_lvm Source8: clvmd.ocf Source10: cmirrord.ocf #Source12: mkinitrd-devmapper-setup.sh #Source13: mkinitrd-devmapper-boot.sh Source14: baselibs.conf #Source15: lvm2-activation.service Patch: improve_probing.diff Patch2: no-inc-audit.diff Patch3: no_buildroot_shared.diff Patch4: sys_mount_instead_linux_fs.diff Patch6: man_page_sectors.diff Patch13: pipe_buff-definition.diff Patch19: dont_ignore_tmp_device_file.diff Patch20: support-drbd-filter.diff Patch22: handle_extended_devt.diff Patch66: device-mapper-type_punning.diff Patch67: lvm-path.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # Not a real replacement but we drop evms Provides: evms = 2.5.5 Provides: evms-devel = 2.5.5 Provides: evms-gui = 2.5.5 Provides: evms-ha = 2.5.5 Obsoletes: evms <= 2.5.5 Obsoletes: evms-devel <= 2.5.5 Obsoletes: evms-gui <= 2.5.5 Obsoletes: evms-ha <= 2.5.5 %define _udevdir %(pkg-config --variable=udevdir udev) %{systemd_requires} %description Programs and man pages for configuring and using the LVM2 Logical Volume Manager. %prep %setup -q -n LVM2.%{version} %patch -p1 %patch2 %patch3 %patch4 %patch6 -p1 %patch13 -p1 %patch19 -p1 %patch20 -p1 %patch22 -p1 %patch66 -p1 %patch67 -p1 %build #set path so that thin_check can be found #export before configure due to bnc#779965 export MODPROBE_CMD=/sbin/modprobe export CFLAGS="$RPM_OPT_FLAGS" export PATH=$PATH:/sbin:/usr/sbin %configure --prefix=/ \ --bindir=/bin --libdir=/%_lib --with-usrlibdir=%_libdir \ --sbindir=/sbin --enable-dmeventd \ --enable-udev_sync --enable-udev_rules \ --enable-cmdlib --enable-applib --enable-dmeventd \ --enable-realtime --enable-pkgconfig \ --enable-selinux \ --with-clvmd=corosync --with-cluster=internal --with-cluster=internal \ --datarootdir=/usr/share --with-default-locking-dir=/run/lock/lvm \ --enable-cmirrord --with-thin=internal --enable-lvmetad --with-default-pid-dir=/run \ --with-default-dm-run-dir=/run --with-default-run-dir=/run/lvm --with-tmpfilesdir=%{_tmpfilesdir} export SUSE_ASNEEDED=0 make -j1 # symlinks are generated in parallel! %{?_smp_mflags} %install make install_lvm2 DESTDIR=$RPM_BUILD_ROOT make install_system_dirs DESTDIR=$RPM_BUILD_ROOT make install_systemd_units DESTDIR=$RPM_BUILD_ROOT make install_systemd_generators DESTDIR=$RPM_BUILD_ROOT make install_tmpfiles_configuration DESTDIR=$RPM_BUILD_ROOT make -C liblvm install DESTDIR=$RPM_BUILD_ROOT install -d -m 755 $RPM_BUILD_ROOT/etc/lvm install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/backup install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/archive install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/metadata install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/lvm mkdir -p $RPM_BUILD_ROOT/etc/init.d #install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts install -m 755 %{SOURCE4} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-lvm2.sh install -m 755 %{SOURCE5} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-lvm2.sh install -m755 -D %{S:8} $RPM_BUILD_ROOT/usr/lib/ocf/resource.d/lvm2/clvmd install -m755 -D %{S:10} $RPM_BUILD_ROOT/usr/lib/ocf/resource.d/lvm2/cmirrord rm -f $RPM_BUILD_ROOT/%_libdir/libdevmapper-event-lvm2.so ln -sf libdevmapper-event-lvm2.so.2.02 $RPM_BUILD_ROOT/%_lib/libdevmapper-event-lvm2.so pushd $RPM_BUILD_ROOT/%_lib rm -f $RPM_BUILD_ROOT/%_libdir/liblvm2app.so rm -f $RPM_BUILD_ROOT/%_libdir/liblvm2cmd.so ln -sf liblvm2cmd.so.2.02 liblvm2cmd.so ln -sf liblvm2app.so.2.2 liblvm2app.so ln -sf device-mapper/libdevmapper-event-lvm2mirror.so libdevmapper-event-lvm2mirror.so.2.02 ln -sf device-mapper/libdevmapper-event-lvm2snapshot.so libdevmapper-event-lvm2snapshot.so.2.02 ln -sf device-mapper/libdevmapper-event-lvm2raid.so libdevmapper-event-lvm2raid.so.2.02 ln -sf device-mapper/libdevmapper-event-lvm2thin.so libdevmapper-event-lvm2thin.so.2.02 popd install -d $RPM_BUILD_ROOT/usr/sbin pushd daemons/clvmd make install DESTDIR=$RPM_BUILD_ROOT popd pushd daemons/cmirrord make install DESTDIR=$RPM_BUILD_ROOT popd pushd man make install DESTDIR=$RPM_BUILD_ROOT popd mv $RPM_BUILD_ROOT/sbin/clvmd $RPM_BUILD_ROOT/usr/sbin/clvmd mv $RPM_BUILD_ROOT/sbin/cmirrord $RPM_BUILD_ROOT/usr/sbin/cmirrord mkdir -p $RPM_BUILD_ROOT/usr/share rm $RPM_BUILD_ROOT/etc/lvm/cache/.cache #remove lvm-devel parts rm -f $RPM_BUILD_ROOT/usr/include/lvm2cmd.h rm -f $RPM_BUILD_ROOT/usr/include/lvm2app.h rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/lvm2app.pc #remove device-mapper man page rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/dm* #remove device-mapper systemd events rm -f $RPM_BUILD_ROOT/%{_unitdir}/dm-event.socket rm -f $RPM_BUILD_ROOT/%{_unitdir}/dm-event.service # install and collect_lvm #install -m755 -D %{S:7} $RPM_BUILD_ROOT%{_udevdir}/collect_lvm %post %service_add_post blk-availability.service lvm2-monitor.service lvm2-lvmetad.socket [ -x /sbin/mkinitrd ] && /sbin/mkinitrd /sbin/ldconfig %preun #%{stop_on_removal boot.lvm} %service_del_preun blk-availability.service lvm2-monitor.service lvm2-lvmetad.service lvm2-lvmetad.socket %postun [ -x /sbin/mkinitrd ] && /sbin/mkinitrd /sbin/ldconfig %files %defattr(-,root,root) %doc README WHATS_NEW doc/* %dir /etc/lvm %dir /etc/lvm/backup %dir /etc/lvm/archive %dir /etc/lvm/metadata %config /etc/lvm/lvm.conf #%config /etc/init.d/boot.lvm %dir /lib/mkinitrd %dir /lib/mkinitrd/scripts %{_udevdir}/rules.d/11-dm-lvm.rules %{_udevdir}/rules.d/69-dm-lvm-metad.rules %{_unitdir}/blk-availability.service %{_unitdir}/lvm2-monitor.service %{_unitdir}/lvm2-lvmetad.socket %{_unitdir}/lvm2-lvmetad.service %{_tmpfilesdir}/lvm2.conf #%{_udevdir}/collect_lvm /lib/mkinitrd/scripts/setup-lvm2.sh /lib/mkinitrd/scripts/boot-lvm2.sh /usr/lib/systemd/system-generators/lvm2-activation-generator /sbin/blkdeactivate /sbin/fsadm /sbin/lvchange /sbin/lvconvert /sbin/lvcreate /sbin/lvdisplay /sbin/lvextend /sbin/lvm /sbin/lvmchange /sbin/lvmdiskscan /sbin/lvmdump /sbin/lvmsadc /sbin/lvmsar /sbin/lvreduce /sbin/lvremove /sbin/lvrename /sbin/lvresize /sbin/lvs /sbin/lvscan /sbin/pvchange /sbin/pvck /sbin/pvcreate /sbin/pvdisplay /sbin/pvmove /sbin/pvremove /sbin/pvresize /sbin/pvs /sbin/pvscan /sbin/vgcfgbackup /sbin/vgcfgrestore /sbin/vgchange /sbin/vgck /sbin/vgconvert /sbin/vgcreate /sbin/vgdisplay /sbin/vgexport /sbin/vgextend /sbin/vgimport /sbin/vgimportclone /sbin/vgmerge /sbin/vgmknodes /sbin/vgreduce /sbin/vgremove /sbin/vgrename /sbin/vgs /sbin/vgscan /sbin/vgsplit /sbin/lvmconf /sbin/lvmetad %dir /%_lib/device-mapper /%_lib/device-mapper/libdevmapper-event-lvm2mirror.so /%_lib/device-mapper/libdevmapper-event-lvm2snapshot.so /%_lib/device-mapper/libdevmapper-event-lvm2raid.so /%_lib/device-mapper/libdevmapper-event-lvm2thin.so /%_lib/libdevmapper-event-lvm2mirror.so /%_lib/libdevmapper-event-lvm2snapshot.so /%_lib/libdevmapper-event-lvm2raid.so /%_lib/libdevmapper-event-lvm2thin.so /%_lib/liblvm2cmd.so /%_lib/liblvm2cmd.so.2.02 /%_lib/liblvm2app.so /%_lib/liblvm2app.so.2.2 /%_lib/libdevmapper-event-lvm2mirror.so.2.02 /%_lib/libdevmapper-event-lvm2snapshot.so.2.02 /%_lib/libdevmapper-event-lvm2raid.so.2.02 /%_lib/libdevmapper-event-lvm2thin.so.2.02 /%_lib/libdevmapper-event-lvm2.so /%_lib/libdevmapper-event-lvm2.so.2.02 %{_mandir}/man5/lvm.conf.5.gz %{_mandir}/man8/blkdeactivate.8.gz %{_mandir}/man8/fsadm.8.gz %{_mandir}/man8/lvchange.8.gz %{_mandir}/man8/lvcreate.8.gz %{_mandir}/man8/lvconvert.8.gz %{_mandir}/man8/lvdisplay.8.gz %{_mandir}/man8/lvmdump.8.gz %{_mandir}/man8/lvextend.8.gz %{_mandir}/man8/lvm.8.gz %{_mandir}/man8/lvmchange.8.gz %{_mandir}/man8/lvmdiskscan.8.gz %{_mandir}/man8/lvreduce.8.gz %{_mandir}/man8/lvremove.8.gz %{_mandir}/man8/lvrename.8.gz %{_mandir}/man8/lvresize.8.gz %{_mandir}/man8/lvs.8.gz %{_mandir}/man8/lvscan.8.gz %{_mandir}/man8/pvchange.8.gz %{_mandir}/man8/pvck.8.gz %{_mandir}/man8/pvcreate.8.gz %{_mandir}/man8/pvdisplay.8.gz %{_mandir}/man8/pvmove.8.gz %{_mandir}/man8/pvremove.8.gz %{_mandir}/man8/pvresize.8.gz %{_mandir}/man8/pvs.8.gz %{_mandir}/man8/pvscan.8.gz %{_mandir}/man8/vgcfgbackup.8.gz %{_mandir}/man8/vgcfgrestore.8.gz %{_mandir}/man8/vgchange.8.gz %{_mandir}/man8/vgck.8.gz %{_mandir}/man8/vgconvert.8.gz %{_mandir}/man8/vgcreate.8.gz %{_mandir}/man8/vgdisplay.8.gz %{_mandir}/man8/vgexport.8.gz %{_mandir}/man8/vgextend.8.gz %{_mandir}/man8/vgimport.8.gz %{_mandir}/man8/vgimportclone.8.gz %{_mandir}/man8/vgmerge.8.gz %{_mandir}/man8/vgmknodes.8.gz %{_mandir}/man8/vgreduce.8.gz %{_mandir}/man8/vgremove.8.gz %{_mandir}/man8/vgrename.8.gz %{_mandir}/man8/vgs.8.gz %{_mandir}/man8/vgscan.8.gz %{_mandir}/man8/vgsplit.8.gz %{_mandir}/man8/lvmconf.8.gz %{_mandir}/man8/lvmsadc.8.gz %{_mandir}/man8/lvmsar.8.gz %{_mandir}/man8/lvmetad.8.gz %package clvm Url: http://sources.redhat.com/cluster/clvm/ Version: 2.02.98 Release: 0 Requires: corosync Requires: device-mapper >= 1.02.25 Requires: lvm2 = %{version} Requires: lvm2-cmirrord Summary: Clustered LVM2 Group: Productivity/Clustering/HA %description clvm A daemon for using LVM2 Logival Volumes in a clustered environment. %files clvm %defattr(-,root,root) /usr/sbin/clvmd %dir /usr/lib/ocf %dir /usr/lib/ocf/resource.d %dir /usr/lib/ocf/resource.d/lvm2 /usr/lib/ocf/resource.d/lvm2/clvmd %{_mandir}/man8/clvmd.8.gz %package cmirrord Url: http://www.sourceware.org/lvm2/ Version: 2.02.98 Release: 0 Requires: corosync Requires: device-mapper >= 1.02.25 Requires: lvm2 = %{version} Requires: lvm2-clvm Summary: Clustered RAID 1 support using device-mapper and corosync Group: Productivity/Clustering/HA %description cmirrord A daemon for using LVM2 Logival Volumes in a clustered environment. %files cmirrord %defattr(-,root,root) /usr/sbin/cmirrord /usr/lib/ocf/resource.d/lvm2/cmirrord %{_mandir}/man8/cmirrord.8.gz %changelog