diff --git a/lvm2.spec b/lvm2.spec index 48e5e9b..c78e729 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -49,11 +49,31 @@ Release: 0 Summary: Logical Volume Manager Tools License: GPL-2.0-or-later AND LGPL-2.1-or-later Group: System/Base -Url: http://www.sourceware.org/lvm2/ +URL: https://www.sourceware.org/lvm2/ Source: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz Source1: lvm.conf Source42: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz.asc -BuildRequires: libdlm-devel +# Upstream patches +#Patch0001: bug-1122666_devices-drop-open-error-message.patch +# SUSE patches: 1000+ for LVM +# Never upstream +Patch1001: cmirrord_remove_date_time_from_compilation.patch +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 +#SUSE patches 2000+ for device mapper, udev rules +Patch2001: bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch +# 3000+ for test code +Patch3001: bug-1043040_test-fix-read-ahead-issues-in-test-scripts.patch +# patches specif for lvm2.spec +Patch4001: bug-1037309_Makefile-skip-compliling-daemons-lvmlockd-directory.patch +Requires: device-mapper >= %{device_mapper_version} +Requires: modutils +Requires(post): coreutils +Requires(postun): coreutils +Provides: lvm = %{version} +Obsoletes: lvm2-cmirrord +%{?systemd_requires} %if %{with devicemapper} BuildRequires: gcc-c++ BuildRequires: kmod-compat @@ -73,19 +93,19 @@ BuildRequires: libaio-devel BuildRequires: libcorosync-devel BuildRequires: libdlm-devel BuildRequires: pkgconfig -%if 0%{_supportsanlock} == 1 -BuildRequires: sanlock-devel >= %{sanlock_version} -%endif BuildRequires: thin-provisioning-tools >= %{thin_provisioning_version} BuildRequires: pkgconfig(blkid) BuildRequires: pkgconfig(libudev) +%if 0%{_supportsanlock} == 1 +BuildRequires: sanlock-devel >= %{sanlock_version} +%endif %else BuildRequires: gcc-c++ +# To detect modprobe during build +BuildRequires: kmod-compat BuildRequires: libaio-devel BuildRequires: libcorosync-devel BuildRequires: libselinux-devel -# To detect modprobe during build -BuildRequires: kmod-compat BuildRequires: pkgconfig BuildRequires: readline-devel BuildRequires: thin-provisioning-tools >= %{thin_provisioning_version} @@ -95,35 +115,6 @@ BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(udev) %endif %endif -Requires: device-mapper >= %{device_mapper_version} -Requires: modutils -Requires(post): coreutils -Requires(postun): coreutils -Provides: lvm = %{version} -Obsoletes: lvm2-cmirrord -BuildRoot: %{_tmppath}/%{name}-%{version}-build -%{?systemd_requires} - -### COMMON-PATCH-BEGIN ### -# Upstream patches -#Patch0001: bug-1122666_devices-drop-open-error-message.patch - -# SUSE patches: 1000+ for LVM -# Never upstream -Patch1001: cmirrord_remove_date_time_from_compilation.patch -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 - -#SUSE patches 2000+ for device mapper, udev rules -Patch2001: bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-metadata.patch -### COMMON-PATCH-END ### - -# 3000+ for test code -Patch3001: bug-1043040_test-fix-read-ahead-issues-in-test-scripts.patch - -# patches specif for lvm2.spec -Patch4001: bug-1037309_Makefile-skip-compliling-daemons-lvmlockd-directory.patch %description Programs and man pages for configuring and using the LVM2 Logical @@ -159,7 +150,7 @@ extra_opts=" --disable-silent-rules --enable-write_install --with-vdo=internal - --with-vdo-format=/usr/bin/vdoformat + --with-vdo-format=%{_bindir}/vdoformat " %endif %if %{with lockd} @@ -181,7 +172,7 @@ extra_opts=" %endif ### COMMON-CONFIG-BEGIN ### -export PATH=$PATH:/sbin:%{_prefix}/sbin +export PATH=$PATH:/sbin:%{_sbindir} # Why this messy fix here? someone released a wrong version... sed -ie "s/%{device_mapper_version}/1.03.01/g" VERSION_DM %configure \ @@ -320,10 +311,10 @@ popd %if %{with devicemapper} %package -n device-mapper -Summary: Device Mapper Tools -Group: System/Base Version: %{device_mapper_version} Release: 0 +Summary: Device Mapper Tools +Group: System/Base Requires: thin-provisioning-tools >= %{thin_provisioning_version} Requires(post): coreutils @@ -348,7 +339,6 @@ Programs and man pages for configuring and using the device mapper. %{?regenerate_initrd_post} %files -n device-mapper -%defattr(-,root,root) %license COPYING COPYING.LIB %doc README %doc udev/12-dm-permissions.rules @@ -356,9 +346,9 @@ Programs and man pages for configuring and using the device mapper. %{_sbindir}/dmsetup %{_sbindir}/dmeventd %{_sbindir}/dmstats -%{_mandir}/man8/dmstats.8%{ext_man} -%{_mandir}/man8/dmsetup.8%{ext_man} -%{_mandir}/man8/dmeventd.8%{ext_man} +%{_mandir}/man8/dmstats.8%{?ext_man} +%{_mandir}/man8/dmsetup.8%{?ext_man} +%{_mandir}/man8/dmeventd.8%{?ext_man} %{_udevrulesdir}/10-dm.rules %{_udevrulesdir}/13-dm-disk.rules %{_udevrulesdir}/95-dm-notify.rules @@ -367,17 +357,16 @@ Programs and man pages for configuring and using the device mapper. %{_unitdir}/dm-event.service %package -n %{libname} -Summary: Library for device-mapper -Group: System/Libraries Version: %{device_mapper_version} Release: 0 +Summary: Library for device-mapper +Group: System/Libraries Conflicts: %{name} < %{version} %description -n %{libname} Device mapper main shared library %files -n %{libname} -%defattr(-,root,root) %{_libdir}/libdevmapper.so.1.03 %{_libdir}/libdevmapper.so.1.02 @@ -395,17 +384,16 @@ fi %postun -n %{libname} -p /sbin/ldconfig %package -n %{libname_event} +Version: %{device_mapper_version} +Release: 0 Summary: Event library for device-mapper Group: System/Libraries Conflicts: %{name} < %{version} -Version: %{device_mapper_version} -Release: 0 %description -n %{libname_event} Device mapper event daemon shared library %files -n %{libname_event} -%defattr(-,root,root) %{_libdir}/libdevmapper-event.so.1.03 %{_libdir}/libdevmapper-event.so.1.02 @@ -413,19 +401,18 @@ Device mapper event daemon shared library %postun -n %{libname_event} -p /sbin/ldconfig %package -n device-mapper-devel +Version: %{device_mapper_version} +Release: 0 Summary: Development package for the device mapper Group: Development/Libraries/C and C++ Requires: %{libname_event} = %{device_mapper_version} Requires: %{libname} = %{device_mapper_version} Requires: device-mapper = %{device_mapper_version} -Version: %{device_mapper_version} -Release: 0 %description -n device-mapper-devel Files needed for software development using the device mapper %files -n device-mapper-devel -%defattr(-,root,root) %{_libdir}/libdevmapper.so %{_libdir}/libdevmapper-event.so %{_includedir}/libdevmapper.h @@ -435,19 +422,18 @@ Files needed for software development using the device mapper %else %if %{with lockd} - %package -n lvm2-lockd Summary: LVM locking daemon Group: System/Base -Recommends: libdlm >= %{dlm_version} -Obsoletes: lvm2-clvm Requires: corosync Requires: device-mapper >= %{device_mapper_version} Requires: lvm2 = %{version} +Recommends: libdlm >= %{dlm_version} +Obsoletes: lvm2-clvm +%{?systemd_requires} %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. @@ -468,15 +454,14 @@ LVM commands use lvmlockd to coordinate access to shared storage. %defattr(-,root,root,) %{_sbindir}/lvmlockd %{_sbindir}/lvmlockctl -%{_mandir}/man8/lvmlockd.8%{ext_man} -%{_mandir}/man8/lvmlockctl.8%{ext_man} +%{_mandir}/man8/lvmlockd.8%{?ext_man} +%{_mandir}/man8/lvmlockctl.8%{?ext_man} %{_unitdir}/lvmlockd.service %{_unitdir}/lvmlocks.service %{_sbindir}/rclvm2-lvmlockd %{_sbindir}/rclvm2-lvmlocking %else - %pre %service_add_pre blk-availability.service lvm2-monitor.service lvm2-lvmpolld.service lvm2-lvmpolld.socket @@ -603,66 +588,66 @@ LVM commands use lvmlockd to coordinate access to shared storage. /sbin/vgs /sbin/vgscan /sbin/vgsplit -%{_mandir}/man5/lvm.conf.5%{ext_man} -%{_mandir}/man7/lvmcache.7%{ext_man} -%{_mandir}/man7/lvmraid.7%{ext_man} -%{_mandir}/man7/lvmreport.7%{ext_man} -%{_mandir}/man7/lvmthin.7%{ext_man} -%{_mandir}/man7/lvmsystemid.7%{ext_man} -%{_mandir}/man7/lvmvdo.7%{ext_man} -%{_mandir}/man8/fsadm.8%{ext_man} -%{_mandir}/man8/lvchange.8%{ext_man} -%{_mandir}/man8/lvconvert.8%{ext_man} -%{_mandir}/man8/lvcreate.8%{ext_man} -%{_mandir}/man8/lvdisplay.8%{ext_man} -%{_mandir}/man8/lvextend.8%{ext_man} -%{_mandir}/man8/lvm.8%{ext_man} -%{_mandir}/man8/lvm2-activation-generator.8%{ext_man} -%{_mandir}/man8/lvm-config.8%{ext_man} -%{_mandir}/man8/lvmconfig.8%{ext_man} -%{_mandir}/man8/lvm-dumpconfig.8%{ext_man} -%{_mandir}/man8/lvmdiskscan.8%{ext_man} -%{_mandir}/man8/lvmdump.8%{ext_man} -%{_mandir}/man8/lvm-fullreport.8%{ext_man} -%{_mandir}/man8/lvmsadc.8%{ext_man} -%{_mandir}/man8/lvmsar.8%{ext_man} -%{_mandir}/man8/lvreduce.8%{ext_man} -%{_mandir}/man8/lvremove.8%{ext_man} -%{_mandir}/man8/lvrename.8%{ext_man} -%{_mandir}/man8/lvresize.8%{ext_man} -%{_mandir}/man8/lvs.8%{ext_man} -%{_mandir}/man8/lvscan.8%{ext_man} -%{_mandir}/man8/pvchange.8%{ext_man} -%{_mandir}/man8/pvck.8%{ext_man} -%{_mandir}/man8/pvcreate.8%{ext_man} -%{_mandir}/man8/pvdisplay.8%{ext_man} -%{_mandir}/man8/pvmove.8%{ext_man} -%{_mandir}/man8/pvremove.8%{ext_man} -%{_mandir}/man8/pvresize.8%{ext_man} -%{_mandir}/man8/pvs.8%{ext_man} -%{_mandir}/man8/pvscan.8%{ext_man} -%{_mandir}/man8/vgcfgbackup.8%{ext_man} -%{_mandir}/man8/vgcfgrestore.8%{ext_man} -%{_mandir}/man8/vgchange.8%{ext_man} -%{_mandir}/man8/vgck.8%{ext_man} -%{_mandir}/man8/vgconvert.8%{ext_man} -%{_mandir}/man8/vgcreate.8%{ext_man} -%{_mandir}/man8/vgdisplay.8%{ext_man} -%{_mandir}/man8/vgexport.8%{ext_man} -%{_mandir}/man8/vgextend.8%{ext_man} -%{_mandir}/man8/vgimport.8%{ext_man} -%{_mandir}/man8/vgimportclone.8%{ext_man} -%{_mandir}/man8/vgmerge.8%{ext_man} -%{_mandir}/man8/vgmknodes.8%{ext_man} -%{_mandir}/man8/vgreduce.8%{ext_man} -%{_mandir}/man8/vgremove.8%{ext_man} -%{_mandir}/man8/vgrename.8%{ext_man} -%{_mandir}/man8/vgs.8%{ext_man} -%{_mandir}/man8/vgscan.8%{ext_man} -%{_mandir}/man8/vgsplit.8%{ext_man} -%{_mandir}/man8/blkdeactivate.8%{ext_man} -%{_mandir}/man8/lvmpolld.8%{ext_man} -%{_mandir}/man8/lvm-lvpoll.8%{ext_man} +%{_mandir}/man5/lvm.conf.5%{?ext_man} +%{_mandir}/man7/lvmcache.7%{?ext_man} +%{_mandir}/man7/lvmraid.7%{?ext_man} +%{_mandir}/man7/lvmreport.7%{?ext_man} +%{_mandir}/man7/lvmthin.7%{?ext_man} +%{_mandir}/man7/lvmsystemid.7%{?ext_man} +%{_mandir}/man7/lvmvdo.7%{?ext_man} +%{_mandir}/man8/fsadm.8%{?ext_man} +%{_mandir}/man8/lvchange.8%{?ext_man} +%{_mandir}/man8/lvconvert.8%{?ext_man} +%{_mandir}/man8/lvcreate.8%{?ext_man} +%{_mandir}/man8/lvdisplay.8%{?ext_man} +%{_mandir}/man8/lvextend.8%{?ext_man} +%{_mandir}/man8/lvm.8%{?ext_man} +%{_mandir}/man8/lvm2-activation-generator.8%{?ext_man} +%{_mandir}/man8/lvm-config.8%{?ext_man} +%{_mandir}/man8/lvmconfig.8%{?ext_man} +%{_mandir}/man8/lvm-dumpconfig.8%{?ext_man} +%{_mandir}/man8/lvmdiskscan.8%{?ext_man} +%{_mandir}/man8/lvmdump.8%{?ext_man} +%{_mandir}/man8/lvm-fullreport.8%{?ext_man} +%{_mandir}/man8/lvmsadc.8%{?ext_man} +%{_mandir}/man8/lvmsar.8%{?ext_man} +%{_mandir}/man8/lvreduce.8%{?ext_man} +%{_mandir}/man8/lvremove.8%{?ext_man} +%{_mandir}/man8/lvrename.8%{?ext_man} +%{_mandir}/man8/lvresize.8%{?ext_man} +%{_mandir}/man8/lvs.8%{?ext_man} +%{_mandir}/man8/lvscan.8%{?ext_man} +%{_mandir}/man8/pvchange.8%{?ext_man} +%{_mandir}/man8/pvck.8%{?ext_man} +%{_mandir}/man8/pvcreate.8%{?ext_man} +%{_mandir}/man8/pvdisplay.8%{?ext_man} +%{_mandir}/man8/pvmove.8%{?ext_man} +%{_mandir}/man8/pvremove.8%{?ext_man} +%{_mandir}/man8/pvresize.8%{?ext_man} +%{_mandir}/man8/pvs.8%{?ext_man} +%{_mandir}/man8/pvscan.8%{?ext_man} +%{_mandir}/man8/vgcfgbackup.8%{?ext_man} +%{_mandir}/man8/vgcfgrestore.8%{?ext_man} +%{_mandir}/man8/vgchange.8%{?ext_man} +%{_mandir}/man8/vgck.8%{?ext_man} +%{_mandir}/man8/vgconvert.8%{?ext_man} +%{_mandir}/man8/vgcreate.8%{?ext_man} +%{_mandir}/man8/vgdisplay.8%{?ext_man} +%{_mandir}/man8/vgexport.8%{?ext_man} +%{_mandir}/man8/vgextend.8%{?ext_man} +%{_mandir}/man8/vgimport.8%{?ext_man} +%{_mandir}/man8/vgimportclone.8%{?ext_man} +%{_mandir}/man8/vgmerge.8%{?ext_man} +%{_mandir}/man8/vgmknodes.8%{?ext_man} +%{_mandir}/man8/vgreduce.8%{?ext_man} +%{_mandir}/man8/vgremove.8%{?ext_man} +%{_mandir}/man8/vgrename.8%{?ext_man} +%{_mandir}/man8/vgs.8%{?ext_man} +%{_mandir}/man8/vgscan.8%{?ext_man} +%{_mandir}/man8/vgsplit.8%{?ext_man} +%{_mandir}/man8/blkdeactivate.8%{?ext_man} +%{_mandir}/man8/lvmpolld.8%{?ext_man} +%{_mandir}/man8/lvm-lvpoll.8%{?ext_man} %{_udevdir}/rules.d/11-dm-lvm.rules %{_udevdir}/rules.d/69-dm-lvm-metad.rules %dir %{_sysconfdir}/lvm @@ -706,7 +691,6 @@ lvm devices without invoking a separate program. %postun -n %{cmdlib} -p /sbin/ldconfig %files -n %{cmdlib} -%defattr(-,root,root) %{_libdir}/liblvm2cmd.so.* %package devel @@ -720,7 +704,6 @@ Requires: lvm2 = %{version} This package provides development files for the LVM2 Logical Volume Manager. %files devel -%defattr(-,root,root) %{_includedir}/lvm2cmd.h %{_libdir}/liblvm2cmd.so @@ -734,7 +717,6 @@ Requires: lvm2 = %{version} An extensive functional testsuite for the LVM2 Logical Volume Manager. %files testsuite -%defattr(-,root,root) %{_datarootdir}/lvm2-testsuite/ %{_libexecdir}/lvm2-testsuite/ %{_bindir}/lvm2-testsuite