Marcus Meissner
9c90c5911c
fate#315092, improve performance of cluster mirror OBS-URL: https://build.opensuse.org/request/show/222267 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=81
439 lines
13 KiB
RPMSpec
439 lines
13 KiB
RPMSpec
#
|
|
# spec file for package lvm2
|
|
#
|
|
# Copyright (c) 2014 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.<RELEASE11>
|
|
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
|
|
Source16: csm-converter.tar.gz
|
|
|
|
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
|
|
|
|
Patch20: support-drbd-filter.diff
|
|
Patch22: handle_extended_devt.diff
|
|
Patch66: device-mapper-type_punning.diff
|
|
Patch67: lvm-path.patch
|
|
|
|
#fate312248,patch68,69
|
|
Patch68: make-mirror-legs-on-different-tag-pvs.patch
|
|
Patch69: improve-mirror-legs-on-different-tag-pvs.patch
|
|
|
|
#fate#314367
|
|
Patch70: cluster_support_mirrord_log.diff
|
|
|
|
#upstream
|
|
Patch71: make_raid1_default.diff
|
|
#suppress warning
|
|
Patch72: suppress_locking_failer_message.patch
|
|
Patch73: remove-fedora-systemd.patch
|
|
|
|
# bnc#862076
|
|
Patch74: autoactivate-lvmetad-with-generator.patch
|
|
|
|
#fate#315092
|
|
Patch75: cmirrord_improvment_performance.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
|
|
%patch20 -p1
|
|
%patch22 -p1
|
|
%patch66 -p1
|
|
%patch67 -p1
|
|
%patch68 -p1
|
|
%patch69 -p1
|
|
%patch70 -p1
|
|
%patch71 -p1
|
|
%patch72 -p1
|
|
%patch73 -p1
|
|
%patch74 -p1
|
|
%patch75 -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}
|
|
|
|
#csm convert
|
|
tar zxvf %{S:16}
|
|
pushd bnz
|
|
make
|
|
popd
|
|
|
|
%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
|
|
|
|
# these files are put into their own devel package
|
|
##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
|
|
|
|
#csm-convert
|
|
pushd bnz
|
|
install -m755 -D csm-converter $RPM_BUILD_ROOT/usr/sbin/csm-converter
|
|
install -m755 -D csm-converter-helper $RPM_BUILD_ROOT/usr/sbin/csm-converter-helper
|
|
mv README.csm-converter ..
|
|
popd
|
|
|
|
%post
|
|
%service_add_post blk-availability.service lvm2-monitor.service lvm2-lvmetad.socket
|
|
/usr/bin/systemctl enable lvm2-lvmetad.socket
|
|
[ -x /sbin/mkinitrd ] && /sbin/mkinitrd
|
|
/sbin/ldconfig
|
|
|
|
%preun
|
|
%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
|
|
%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
|
|
%config /etc/lvm/lvm.conf
|
|
/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
|
|
%doc README.csm-converter
|
|
/usr/sbin/csm-converter
|
|
/usr/sbin/csm-converter-helper
|
|
|
|
%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
|
|
|
|
%package devel
|
|
Version: 2.02.98
|
|
Release: 0
|
|
Requires: lvm2 = %{version}
|
|
Summary: Development files for LVM2
|
|
Group: Development/Libraries/C and C++
|
|
|
|
%description devel
|
|
This package provides development files for the LVM2 Logical Volume Manager.
|
|
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
/usr/include/lvm2cmd.h
|
|
/usr/include/lvm2app.h
|
|
%_libdir/pkgconfig/lvm2app.pc
|
|
|
|
%changelog
|