lvm2/lvm2-clvm.spec

249 lines
7.9 KiB
RPMSpec
Raw Normal View History

2016-05-11 05:42:15 +02:00
#
# spec file for package lvm2-clvm
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
2016-05-11 05:42:15 +02:00
#
# 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 https://bugs.opensuse.org/
2016-05-11 05:42:15 +02:00
#
%define _supportsanlock 0
%define dlm_version 3.99.1
%if 0%{_supportsanlock} == 1
%define sanlock_version 3.3.0
%endif
2016-05-11 05:42:15 +02:00
### COMMON-DEF-BEGIN ###
%define lvm2_version 2.02.180
%define device_mapper_version 1.02.149
%define thin_provisioning_version 0.7.0
2016-05-11 05:42:15 +02:00
### COMMON-DEF-END ###
Name: lvm2-clvm
Version: %{lvm2_version}
Release: 0
Summary: Clustered LVM2
License: GPL-2.0-or-later AND LGPL-2.1-or-later
2016-05-11 05:42:15 +02:00
Group: Productivity/Clustering/HA
Url: http://sources.redhat.com/cluster/clvm/
Source: ftp://sources.redhat.com/pub/lvm2/LVM2.%{lvm2_version}.tgz
Source1: ftp://sources.redhat.com/pub/lvm2/LVM2.%{lvm2_version}.tgz.asc
Accepting request 630677 from home:ganghe:branches:openSUSE:Factory - Update to LVM2.2.02.180 - Drop the upstream patches - fate-323203_lvmlockd-add-lockopt-values-for-skipping-selected-lo.patch - lvm2-69-dm-lvm-metad.rules-explicit-pvscan-rule.patch - lvm2-69-dm-lvm-metad.rules-set-systemd-vars-on-chang.patch - bug-1095960_dev_io-no-discard-in-testmode.patch - Refresh patches + bsc1080299-detect-clvm-properly.patch + bug-950089_test-fix-lvm2-testsuite-build-error.patch - Fix cmirrord LV creation/activation failure (bsc#1091863) - Fix that pvmove does not work (bsc#1080299) - Fix package name for modprobe during build (bsc#1102668) - Fix building error due to the script interpreter + tests-specify-python3-as-the-script-interpreter.patch - Update to LVM2.2.02.180 - Drop the upstream patches - fate-323203_lvmlockd-add-lockopt-values-for-skipping-selected-lo.patch - lvm2-69-dm-lvm-metad.rules-explicit-pvscan-rule.patch - lvm2-69-dm-lvm-metad.rules-set-systemd-vars-on-chang.patch - bug-1095960_dev_io-no-discard-in-testmode.patch - Refresh patches + bsc1080299-detect-clvm-properly.patch + bug-950089_test-fix-lvm2-testsuite-build-error.patch - Fix cmirrord LV creation/activation failure (bsc#1091863) - Fix that pvmove does not work (bsc#1080299) - Fix package name for modprobe during build (bsc#1102668) - Fix building error due to the script interpreter + tests-specify-python3-as-the-script-interpreter.patch - Update to LVM2.2.02.180 - Drop the upstream patches - fate-323203_lvmlockd-add-lockopt-values-for-skipping-selected-lo.patch - lvm2-69-dm-lvm-metad.rules-explicit-pvscan-rule.patch - lvm2-69-dm-lvm-metad.rules-set-systemd-vars-on-chang.patch - bug-1095960_dev_io-no-discard-in-testmode.patch - Refresh patches + bsc1080299-detect-clvm-properly.patch + bug-950089_test-fix-lvm2-testsuite-build-error.patch - Fix cmirrord LV creation/activation failure (bsc#1091863) - Fix that pvmove does not work (bsc#1080299) - Fix package name for modprobe during build (bsc#1102668) - Fix building error due to the script interpreter + tests-specify-python3-as-the-script-interpreter.patch OBS-URL: https://build.opensuse.org/request/show/630677 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=227
2018-08-21 05:13:03 +02:00
# To detect modprobe during build
BuildRequires: kmod-compat
BuildRequires: libaio-devel
BuildRequires: libcorosync-devel
BuildRequires: libdlm-devel >= %{dlm_version}
BuildRequires: pkgconfig
%if 0%{_supportsanlock} == 1
BuildRequires: sanlock-devel >= %{sanlock_version}
%endif
BuildRequires: thin-provisioning-tools >= %{thin_provisioning_version}
BuildRequires: pkgconfig(blkid)
BuildRequires: pkgconfig(devmapper)
BuildRequires: pkgconfig(libudev)
Requires: corosync
Requires: device-mapper >= %{device_mapper_version}
Requires: lvm2 = %{version}
Requires: lvm2-cmirrord
Obsoletes: cmirrord < %{version}
Provides: cmirrord = %{version}
2016-05-11 05:42:15 +02:00
### COMMON-PATCH-BEGIN ###
# Upstream patches
Patch0001: bug-1114113_metadata-prevent-writing-beyond-metadata-area.patch
Patch0002: bug-1122666_devices-drop-open-error-message.patch
Patch0003: bug-1137296_pvremove-vgextend-fix-using-device-aliases-with-lvmetad.patch
Patch0004: bug-1135984_cache-support-no_discard_passdown.patch
# SUSE patches: 1000+ for LVM
2016-05-11 05:42:15 +02:00
# Never upstream
Patch1001: cmirrord_remove_date_time_from_compilation.patch
Accepting request 535958 from network:ha-clustering:Unstable - Update to LVM2.2.02.175 - Use week dependency for lvm2-lockd on libdlm and sanlock - Rename/refresh patches: - display-dm-name-for-lv-name.diff to fate-309425_display-dm-name-for-lv-name.patch - fsadm-add-support-for-btrfs.patch to fate-31841_fsadm-add-support-for-btrfs.patch - dmeventd-fix-dso-name-wrong-compare.patch to bug-935623_dmeventd-fix-dso-name-wrong-compare.patch - lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch to bug-960044_lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch - simplify-special-case-for-md-in-69-dm-lvm-metadata.patch to bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch - Drop resource agents for clvmd and cmirror (bsc#1058680) - clvmd.ocf - cmirrord.ocf - Drop all patches for cmirror (bsc#1058661) - cluster_support_mirrord_log.diff - cmirrord_improvment_performance.patch - lvconvert-cluster-mirrored-disk-failed.patch - improve-mirror-legs-on-different-tag-pvs.patch - make-mirror-legs-on-different-tag-pvs.patch - use-mirrortype-asdefault-whenclvmdrunning.patch - lvm2-testsuite.patch - Update to LVM2.2.02.175 - Use week dependency for lvm2-lockd on libdlm and sanlock - Rename/refresh patches: - display-dm-name-for-lv-name.diff to fate-309425_display-dm-name-for-lv-name.patch - fsadm-add-support-for-btrfs.patch to fate-31841_fsadm-add-support-for-btrfs.patch - dmeventd-fix-dso-name-wrong-compare.patch to bug-935623_dmeventd-fix-dso-name-wrong-compare.patch - lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch to bug-960044_lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch - simplify-special-case-for-md-in-69-dm-lvm-metadata.patch to bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch OBS-URL: https://build.opensuse.org/request/show/535958 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=204
2017-10-23 13:56:11 +02:00
Patch1002: fate-309425_display-dm-name-for-lv-name.patch
Patch1003: fate-31841_fsadm-add-support-for-btrfs.patch
Patch1004: bug-935623_dmeventd-fix-dso-name-wrong-compare.patch
Patch1005: bsc1080299-detect-clvm-properly.patch
Patch1006: bug-998893_make_pvscan_service_after_multipathd.patch
#SUSE patches 2000+ for device mapper, udev rules
Patch2001: bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch
2016-05-11 05:42:15 +02:00
### COMMON-PATCH-END ###
# Patches for clvmd and cmirrord
Patch3001: bug-978055_clvmd-try-to-refresh-device-cache-on-the-first-failu.patch
2016-05-11 05:42:15 +02:00
%description
A daemon for using LVM2 Logival Volumes in a clustered environment.
%prep
%setup -q -n LVM2.%{lvm2_version}
2016-05-11 05:42:15 +02:00
### COMMON-PREP-BEGIN ###
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
2016-05-11 05:42:15 +02:00
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
2016-05-11 05:42:15 +02:00
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
%patch2001 -p1
2016-05-11 05:42:15 +02:00
### COMMON-PREP-END ###
%patch3001 -p1
2016-05-11 05:42:15 +02:00
%build
extra_opts="
--enable-applib
--enable-blkid_wiping
--enable-cmdlib
--enable-lvmetad
--enable-lvmpolld
--enable-realtime
2016-05-11 05:42:15 +02:00
--with-default-locking-dir=/run/lock/lvm
--with-default-pid-dir=/run
--with-default-run-dir=/run/lvm
--with-clvmd=corosync
--with-cluster=internal
--enable-cmirrord
--enable-lvmlockd-dlm
%if 0%{_supportsanlock} == 1
--enable-lvmlockd-sanlock
%endif
2016-05-11 05:42:15 +02:00
"
2016-05-11 05:42:15 +02:00
### COMMON-CONFIG-BEGIN ###
export PATH=$PATH:/sbin:%{_prefix}/sbin
Accepting request 535958 from network:ha-clustering:Unstable - Update to LVM2.2.02.175 - Use week dependency for lvm2-lockd on libdlm and sanlock - Rename/refresh patches: - display-dm-name-for-lv-name.diff to fate-309425_display-dm-name-for-lv-name.patch - fsadm-add-support-for-btrfs.patch to fate-31841_fsadm-add-support-for-btrfs.patch - dmeventd-fix-dso-name-wrong-compare.patch to bug-935623_dmeventd-fix-dso-name-wrong-compare.patch - lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch to bug-960044_lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch - simplify-special-case-for-md-in-69-dm-lvm-metadata.patch to bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch - Drop resource agents for clvmd and cmirror (bsc#1058680) - clvmd.ocf - cmirrord.ocf - Drop all patches for cmirror (bsc#1058661) - cluster_support_mirrord_log.diff - cmirrord_improvment_performance.patch - lvconvert-cluster-mirrored-disk-failed.patch - improve-mirror-legs-on-different-tag-pvs.patch - make-mirror-legs-on-different-tag-pvs.patch - use-mirrortype-asdefault-whenclvmdrunning.patch - lvm2-testsuite.patch - Update to LVM2.2.02.175 - Use week dependency for lvm2-lockd on libdlm and sanlock - Rename/refresh patches: - display-dm-name-for-lv-name.diff to fate-309425_display-dm-name-for-lv-name.patch - fsadm-add-support-for-btrfs.patch to fate-31841_fsadm-add-support-for-btrfs.patch - dmeventd-fix-dso-name-wrong-compare.patch to bug-935623_dmeventd-fix-dso-name-wrong-compare.patch - lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch to bug-960044_lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch - simplify-special-case-for-md-in-69-dm-lvm-metadata.patch to bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch OBS-URL: https://build.opensuse.org/request/show/535958 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=204
2017-10-23 13:56:11 +02:00
# Why this messy fix here? someone released a wrong version...
Accepting request 558347 from network:ha-clustering:Unstable - device-mapper.spec: fix wrong replacement of DM_VERSION (bsc#1072524) - Fixes failure of some testcases caused by nc behavior change (bsc#1072624) + bug-1072624_test-lvmetad_dump-always-timed-out-when-using-nc.patch - Refreshed fate-31841_fsadm-add-support-for-btrfs.patch - Update to LVM2.2.02.177 When writing text metadata content, use complete 4096 byte blocks. Change text format metadata alignment from 512 to 4096 bytes. When writing metadata, consistently skip mdas marked as failed. Refactor and adjust text format metadata alignment calculation. Ensure _node_send_message always uses clean status of thin pool. Fix lvmlockd to use pool lock when accessing _tmeta volume. Report expected sanlock_convert errors only when retries fail. Avoid blocking in sanlock_convert on SH to EX lock conversion. Deactivate missing raid LV legs (_rimage_X-missing_Y_Z) on decativation. Categorise I/O with reason annotations in debug messages. Allow extending of raid LVs created with --nosync after a failed repair. Command will lock memory only when suspending volumes. Merge segments when pvmove is finished. Activation code for pvmove automatically discovers holding LVs for resume. Make a pvmove LV locking holder. Do not change critical section counter on resume path without real resume. Enhance activation code to automatically suspend pvmove participants. Prevent conversion of thin volumes to snapshot origin when lvmlockd is used. Add support for pvmove of cache and snapshot origins. Avoid using precommitted metadata for suspending pvmove tree. Deactivate activated LVs on error path when pvmove activation fails. Add "io" to log/debug_classes for logging low-level I/O. Avoid importing persistent filter in vgscan/pvscan/vgrename. Fix memleak of string buffer when vgcfgbackup runs in secure mode. Do not print error when clvmd cannot find running clvmd. OBS-URL: https://build.opensuse.org/request/show/558347 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=212
2017-12-19 11:40:00 +01:00
sed -ie "s/%{device_mapper_version}/1.03.01/g" VERSION_DM
2016-05-11 05:42:15 +02:00
%configure \
--enable-dmeventd \
--enable-cmdlib \
--enable-udev_rules \
--enable-udev_sync \
2016-05-11 05:42:15 +02:00
--with-udev-prefix="%{_prefix}/" \
--enable-selinux \
--enable-pkgconfig \
--with-usrlibdir=%{_libdir} \
--with-usrsbindir=%{_sbindir} \
--with-default-dm-run-dir=/run \
--with-tmpfilesdir=%{_tmpfilesdir} \
--with-thin=internal \
--with-device-gid=6 \
--with-device-mode=0640 \
--with-device-uid=0 \
--with-dmeventd-path=%{_sbindir}/dmeventd \
--with-thin-check=%{_sbindir}/thin_check \
--with-thin-dump=%{_sbindir}/thin_dump \
--with-thin-repair=%{_sbindir}/thin_repair \
$extra_opts
### COMMON-CONFIG-END ###
%make_build
2016-05-11 05:42:15 +02:00
%install
make DESTDIR=%{buildroot} \
install_cluster \
install_systemd_units install_systemd_generators
make DESTDIR=%{buildroot} install -C daemons/lvmlockd
2016-05-11 05:42:15 +02:00
make DESTDIR=%{buildroot} install -C daemons/cmirrord
# lvmlockd does not have separate target install the mans by hand for now
install -m0644 -D man/lvmlockd.8 %{buildroot}%{_mandir}/man8/lvmlockd.8
install -m0644 -D man/lvmlockctl.8 %{buildroot}%{_mandir}/man8/lvmlockctl.8
2016-05-11 05:42:15 +02:00
# rc services symlinks
ln -s service %{buildroot}%{_sbindir}/rclvm2-cluster-activation
ln -s service %{buildroot}%{_sbindir}/rclvm2-clvmd
ln -s service %{buildroot}%{_sbindir}/rclvm2-cmirrord
ln -s service %{buildroot}%{_sbindir}/rclvm2-lvmlockd
ln -s service %{buildroot}%{_sbindir}/rclvm2-lvmlocking
2016-05-11 05:42:15 +02:00
# remove files from lvm2 split due to systemd_generators picking them up
rm %{buildroot}%{_unitdir}/blk-availability.service
rm %{buildroot}%{_unitdir}/dm-event.service
rm %{buildroot}%{_unitdir}/dm-event.socket
rm %{buildroot}%{_unitdir}/lvm2-monitor.service
rm %{buildroot}%{_mandir}/man8/lvm2-activation-generator.8
rm %{buildroot}%{_libexecdir}/systemd/system-generators/lvm2-activation-generator
rm %{buildroot}%{_unitdir}/lvm2-lvmetad.service
rm %{buildroot}%{_unitdir}/lvm2-lvmetad.socket
rm %{buildroot}%{_unitdir}/lvm2-lvmpolld.service
rm %{buildroot}%{_unitdir}/lvm2-lvmpolld.socket
rm %{buildroot}%{_unitdir}/lvm2-pvscan@.service
2016-05-11 05:42:15 +02:00
%files
%defattr(-,root,root)
%{_sbindir}/clvmd
%{_sbindir}/rclvm2-cluster-activation
%{_sbindir}/rclvm2-clvmd
%{_unitdir}/lvm2-clvmd.service
%{_unitdir}/lvm2-cluster-activation.service
%{_libexecdir}/systemd/lvm2-cluster-activation
%{_mandir}/man8/clvmd.8%{ext_man}
%package -n lvm2-cmirrord
Summary: Clustered RAID 1 support using device-mapper and corosync
Group: Productivity/Clustering/HA
Requires: corosync
Requires: device-mapper >= %{device_mapper_version}
Requires: lvm2 = %{version}
Requires: lvm2-clvm
%description -n lvm2-cmirrord
A daemon for using LVM2 Logival Volumes in a clustered environment.
2016-05-11 05:42:15 +02:00
%files -n lvm2-cmirrord
%defattr(-,root,root)
%{_sbindir}/cmirrord
%{_libexecdir}/systemd/system/lvm2-cmirrord.service
%{_sbindir}/rclvm2-cmirrord
%{_mandir}/man8/cmirrord.8%{ext_man}
2016-05-11 05:42:15 +02:00
%package -n lvm2-lockd
Summary: LVM locking daemon
Group: Productivity/Clustering/HA
Accepting request 535958 from network:ha-clustering:Unstable - Update to LVM2.2.02.175 - Use week dependency for lvm2-lockd on libdlm and sanlock - Rename/refresh patches: - display-dm-name-for-lv-name.diff to fate-309425_display-dm-name-for-lv-name.patch - fsadm-add-support-for-btrfs.patch to fate-31841_fsadm-add-support-for-btrfs.patch - dmeventd-fix-dso-name-wrong-compare.patch to bug-935623_dmeventd-fix-dso-name-wrong-compare.patch - lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch to bug-960044_lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch - simplify-special-case-for-md-in-69-dm-lvm-metadata.patch to bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch - Drop resource agents for clvmd and cmirror (bsc#1058680) - clvmd.ocf - cmirrord.ocf - Drop all patches for cmirror (bsc#1058661) - cluster_support_mirrord_log.diff - cmirrord_improvment_performance.patch - lvconvert-cluster-mirrored-disk-failed.patch - improve-mirror-legs-on-different-tag-pvs.patch - make-mirror-legs-on-different-tag-pvs.patch - use-mirrortype-asdefault-whenclvmdrunning.patch - lvm2-testsuite.patch - Update to LVM2.2.02.175 - Use week dependency for lvm2-lockd on libdlm and sanlock - Rename/refresh patches: - display-dm-name-for-lv-name.diff to fate-309425_display-dm-name-for-lv-name.patch - fsadm-add-support-for-btrfs.patch to fate-31841_fsadm-add-support-for-btrfs.patch - dmeventd-fix-dso-name-wrong-compare.patch to bug-935623_dmeventd-fix-dso-name-wrong-compare.patch - lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch to bug-960044_lvm2-lvmetad.service-add-Also-lvm2-lvmetad.socket.patch - simplify-special-case-for-md-in-69-dm-lvm-metadata.patch to bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch OBS-URL: https://build.opensuse.org/request/show/535958 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=204
2017-10-23 13:56:11 +02:00
Recommends: libdlm >= %{dlm_version}
Requires: lvm2 = %{version}
%if 0%{_supportsanlock} == 1
Requires: sanlock >= %{sanlock_version}
%endif
%{?systemd_requires}
%description -n lvm2-lockd
LVM commands use lvmlockd to coordinate access to shared storage.
%pre -n lvm2-lockd
%service_add_pre lvm2-lvmlockd.service lvm2-lvmlocking.service
%post -n lvm2-lockd
%service_add_post lvm2-lvmlockd.service lvm2-lvmlocking.service
%preun -n lvm2-lockd
%service_del_preun lvm2-lvmlockd.service lvm2-lvmlocking.service
%postun -n lvm2-lockd
%service_del_postun lvm2-lvmlockd.service lvm2-lvmlocking.service
%files -n lvm2-lockd
%defattr(-,root,root,)
%{_sbindir}/lvmlockd
%{_sbindir}/lvmlockctl
%{_mandir}/man8/lvmlockd.8%{ext_man}
%{_mandir}/man8/lvmlockctl.8%{ext_man}
%{_unitdir}/lvm2-lvmlockd.service
%{_unitdir}/lvm2-lvmlocking.service
%{_sbindir}/rclvm2-lvmlockd
%{_sbindir}/rclvm2-lvmlocking
2016-05-11 05:42:15 +02:00
%changelog