# TODO
# - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
-# - spec default value for --with-replicators (=internal/shared/none, configure default is none)?
-# (also internal vs shared for lvm1,pool,cluster,snapshots,mirrors,raid,replicators,thin,cache;
-# note: dmeventd requires mirrors=internal)
+# - internal vs shared for snapshots,mirrors,thin,cache ?
+# note: dmeventd requires mirrors=internal)
#
# Conditional build:
# - initrd stuff
%bcond_with initrd # build initrd version
-%bcond_without uClibc # link initrd version with uClibc
-%bcond_with dietlibc # link initrd version with dietlibc
-%bcond_with glibc # link initrd version with static GLIBC
# - functionality
-%bcond_without cluster # disable all cluster support (clvmd&cmirrord)
-%bcond_without lvmetad # lvmetad (and lvmlockd)
+%bcond_without cluster # disable all cluster support (cmirrord, dlm support in lvmlockd)
%bcond_without lvmdbusd # lvmdbusd
%bcond_without lvmpolld # lvmpolld (and lvmlockd)
%bcond_without lvmlockd # lvmlockd
%bcond_with sanlock # sanlock support in lvmlockd
-%bcond_with replicator # internal replicator support
# - additional features
%bcond_without selinux # SELinux support
-# - bindings
-%bcond_without python # Python bindings
-%bcond_without python2 # Python 2 binding
-%bcond_without python3 # Python 3 binding and lvmdbusd
-
-# lvmlockd requires lvmetad and lvmpolld
-%if %{without lvmetad} || %{without lvmpolld}
-%undefine with_lvmpolld
-%endif
-# only glibc possible on SPARC
-%ifarch sparc sparcv9 sparc64
-%define with_glibc 1
-%endif
-# if one of the *libc is enabled disable default dietlibc
-%if %{with dietlibc} && %{with uClibc}
-%undefine with_dietlibc
-%endif
-# with glibc disables default dietlibc
-%if %{with glibc} && %{with dietlibc}
-%undefine with_dietlibc
-%endif
-# fallback is glibc if neither alternatives are enabled
-%if %{without dietlibc} && %{without uClibc}
-%define with_glibc 1
-%endif
-# for convenience
-%if %{without python}
-%undefine with_python2
-%undefine with_python3
+# lvmlockd requires lvmpolld
+%if %{without lvmpolld}
+%undefine with_lvmlockd
%endif
-%if %{without python3}
-%undefine with_lvmdbusd
+
+%if %{without cluster} && %{without sanlock}
+%undefine with_lvmlockd
%endif
Summary: The new version of Logical Volume Manager for Linux
Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
Name: lvm2
-Version: 2.02.149
+Version: 2.03.23
Release: 1
License: GPL v2 and LGPL v2.1
Group: Applications/System
-Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
-# Source0-md5: 39f766faa1cf95fcdf80868839350147
-Source2: clvmd.service
-Source3: clvmd.sysconfig
-Patch0: %{name}-selinux.patch
-Patch1: %{name}-diet.patch
-Patch2: device-mapper-dmsetup-export.patch
-Patch3: %{name}-pld_init.patch
-Patch4: dl-dlsym.patch
-Patch6: %{name}-lvm_path.patch
-Patch7: %{name}-sd_notify.patch
-Patch8: %{name}-clvmd_cmd_timeout.patch
-Patch9: device-mapper-dmsetup-deps-export.patch
-Patch10: %{name}-replicator.patch
-Patch11: %{name}-thin.patch
+Source0: ftp://sourceware.org/pub/lvm2/LVM2.%{version}.tgz
+# Source0-md5: 0535b5e638b6f0b48f7b259e0ec0ba65
+Patch0: device-mapper-dmsetup-export.patch
+Patch1: %{name}-pld_init.patch
+Patch2: device-mapper-dmsetup-deps-export.patch
+Patch3: %{name}-thin.patch
URL: http://www.sourceware.org/lvm2/
BuildRequires: autoconf >= 2.69
+BuildRequires: autoconf-archive
BuildRequires: automake
# for /run detection
BuildRequires: filesystem >= 3.0-43
+BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.24
%{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
%{?with_selinux:BuildRequires: libsepol-devel}
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
-%{?with_python2:BuildRequires: python-devel >= 2}
-%{?with_python3:BuildRequires: python3-devel >= 1:3.2}
%if %{with lvmdbusd}
BuildRequires: python3-dbus
+BuildRequires: python3-devel >= 1:3.2
BuildRequires: python3-pyudev
%endif
BuildRequires: readline-devel
BuildRequires: rpmbuild(macros) >= 1.647
%{?with_sanlock:BuildRequires: sanlock-devel >= 3.3.0}
-BuildRequires: systemd-devel >= 1:205
+BuildRequires: systemd-devel >= 1:221
BuildRequires: udev-devel >= 1:176
%if %{with initrd}
-%if %{with dietlibc}
-BuildRequires: dietlibc-static >= 2:0.32-7
-BuildConflicts: device-mapper-dietlibc
-%endif
-%if %{with glibc}
%{?with_selinux:BuildRequires: libselinux-static}
%{?with_selinux:BuildRequires: libsepol-static}
-%endif
-%{?with_glibc:BuildRequires: glibc-static}
-%{?with_uClibc:BuildRequires: uClibc-static >= 2:0.9.29}
+BuildRequires: glibc-static
+BuildRequires: libaio-static
+%{?with_selinux:BuildRequires: pcre-static}
+%else
+Obsoletes: lvm2-initrd < %{version}-%{release}
%endif
%if %{with cluster}
+# for cmirrord
BuildRequires: corosync-devel
+# for dlm support in lvmlockd
BuildRequires: dlm-devel >= 3.99.5
%endif
Requires(post,preun,postun): systemd-units >= 38
Requires: systemd-units >= 38
# doesn't work with 2.4 kernels
Requires: uname(release) >= 2.6
-Suggests: thin-provisioning-tools >= 0.5.4
-Obsoletes: lvm
-Obsoletes: lvm2-systemd
+Suggests: thin-provisioning-tools >= 0.7.0
+Obsoletes: lvm < 2
+Obsoletes: lvm2-clvmd < 2.03
+Obsoletes: lvm2-systemd < 2.02.94
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
# changing CFLAGS in the middle confuses confcache
%undefine configure_cache
-# borken on AC
-%define filterout_ld -Wl,--as-needed
-
# causes: undefined reference to `__stack_chk_fail_local'
%define filterout_c -fstack-protector
-# for some reason known only to rpm there must be "\\|" not "\|" here
-%define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
-%define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
-
-%define skip_post_check_so '.*libdevmapper-event-lvm2.so.*'
+%define skip_post_check_so '.*libdevmapper-event-lvm2.so.*' 'liblvm2cmd.so.*'
%description
This package includes a number of utilities for creating, checking,
logicznych wolumenów dyskowych (LVM2) - statycznie skonsolidowane na
potrzeby initrd.
-%package clvmd
-Summary: Cluster LVM daemon
-Summary(pl.UTF-8): Demon clustra LVM
-Group: Applications/System
-Requires: %{name} = %{version}-%{release}
-
-%description clvmd
-clvmd is the daemon that distributes LVM metadata updates around a
-cluster. It must be running on all nodes in the cluster and will give
-an error if a node in the cluster does not have this daemon running.
-
-%description clvmd -l pl.UTF-8
-clvmd to demon który rozprowadza zmiany meta-danych LVM po klastrze.
-Mysi działać na wszystkich węzłach klastra i zgłosi błąd gdy jakiś
-węzeł w klastrze nie ma tego demona uruchomionego.
-
%package cmirrord
Summary: Cluster mirror log daemon
Summary(pl.UTF-8): Demon śledzący log lustrzany w klastrze
Cluster MANager (CMAN), which must be set up and running in order for
cmirrord to function.
-%description cmirrord
+%description cmirrord -l pl.UTF-8
cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
(oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
Requires(post,preun,postun): systemd-units >= 38
Requires: %{name} = %{version}-%{release}
Requires: python3-dbus
-Requires: python3-pyudev
Requires: python3-pygobject3 >= 3
+Requires: python3-pyudev
%description dbusd
Daemon for access to LVM2 functionality through a D-Bus interface.
Group: Daemons
Requires(post,preun,postun): systemd-units >= 38
Requires: %{name} = %{version}-%{release}
-%{?with_sanlock:Requires: sanlock-libs >= 3.3.0}
%{?with_cluster:Requires: dlm-libs >= 3.99.5}
+%{?with_sanlock:Requires: sanlock-libs >= 3.3.0}
%description lockd
LVM commands use lvmlockd to coordinate access to shared storage.
%description resource-agents -l pl.UTF-8
Agenci OCF do monitorowania procesów LVM2.
-%package -n python-lvm
-Summary: Python 2 interface to LVM2
-Summary(pl.UTF-8): Interfejs Pythona 2 do LVM2
-Group: Libraries/Python
-Requires: device-mapper-libs = %{version}-%{release}
-
-%description -n python-lvm
-Python 2 interface to LVM2.
-
-%description -n python-lvm -l pl.UTF-8
-Interfejs Pythona 2 do LVM2.
-
-%package -n python3-lvm
-Summary: Python 3 interface to LVM2
-Summary(pl.UTF-8): Interfejs Pythona 3 do LVM2
-Group: Libraries/Python
-Requires: device-mapper-libs = %{version}-%{release}
-
-%description -n python3-lvm
-Python 3 interface to LVM2.
-
-%description -n python3-lvm -l pl.UTF-8
-Interfejs Pythona 3 do LVM2.
-
%package -n device-mapper
Summary: Userspace support for the device-mapper
Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
Summary: Device-mapper shared libraries
Summary(pl.UTF-8): Biblioteki współdzielone device-mappera
Group: Libraries
-Conflicts: device-mapper < 2.02.119-1
Requires: libblkid >= 2.24
Requires: udev-libs >= 1:176
+Obsoletes: python-lvm < 2.03
+Obsoletes: python3-lvm < 2.03
+Conflicts: device-mapper < 2.02.119-1
%description -n device-mapper-libs
Device-mapper shared libraries.
Requires: libsepol-devel
%endif
Requires: udev-devel >= 1:176
+Obsoletes: device-mapper-dietlibc < 2.03
%description -n device-mapper-devel
Header files for device-mapper libraries.
%description -n device-mapper-static -l pl.UTF-8
Statyczna biblioteka devmapper.
-%package -n device-mapper-dietlibc
-Summary: Static devmapper library built with dietlibc
-Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
-License: LGPL v2.1
-Group: Development/Libraries
-Requires: device-mapper-devel = %{version}-%{release}
-
-%description -n device-mapper-dietlibc
-Static devmapper library built with dietlibc.
-
-%description -n device-mapper-dietlibc -l pl.UTF-8
-Statyczna biblioteka devmapper zbudowana z dietlibc.
-
%package -n device-mapper-initrd
Summary: Userspace support for the device-mapper - initrd version
Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - wersja dla initrd
Group: Base
-Obsoletes: device-mapper-initrd-devel
+Obsoletes: device-mapper-initrd-devel < 2
Conflicts: geninitrd < 10000.10
%description -n device-mapper-initrd
%prep
%setup -q -n LVM2.%{version}
-%{?with_selinux:%patch0 -p1}
+%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-
-# do not force --export-symbol linker option for e.g. statically linked executables
-# -rdynamic compiler option drives linker in the right way.
-%{__sed} -i -e 's#-Wl,--export-dynamic#-rdynamic#g' configure.in
%build
-%if %{with initrd}
-echo Using %{?with_glibc:GLIBC} %{?with_uClibc:uClibc} %{?with_dietlibc:diet} for initrd
-%endif
-cp -f /usr/share/automake/config.sub autoconf
%{__aclocal}
%{__autoconf}
%if %{with initrd}
-%{?with_glibc:export CC="%{__cc}"}
-%{?with_uClibc:export CC="%{_target_cpu}-uclibc-gcc"}
-%{?with_dietlibc:cc="%{__cc}"; export CC="diet ${cc#ccache }"}
-
%configure \
- ac_cv_lib_dl_dlopen=no \
- %{?with_uClibc:ac_cv_func_siginterrupt=no} \
%{?debug:--enable-debug} \
+ --disable-blkid_wiping \
--disable-nls \
--disable-readline \
- --enable-selinux%{!?with_glibc:=no} \
+ %{!?with_selinux:--disable-selinux} \
+ --disable-silent-rules \
--enable-static_link \
- --with-lvm1=internal \
--with-optimisation="%{rpmcflags} -Os"
-# glibc version links with normal static libdevicemapper which has selinux enabled
-# and we need to keep these in sync between device-mapper and lvm2
-%{__sed} -i -e 's#rpl_malloc#malloc#g' lib/misc/configure.h
-%{__sed} -i -e 's#rpl_realloc#realloc#g' lib/misc/configure.h
+echo 'STATIC_LIBS += %{?with_selinux:-lpcre} -lpthread -lm' >> libdm/make.tmpl
+
+%{__make} -j1 -C lib liblvm-internal.a
+
+%{__make} -j1 -C libdm ioctl/libdevmapper.a \
+ V=1
+
+%{__make} -j1 -C libdaemon/client libdaemonclient.a
+
+%{__make} -j1 -C libdm/dm-tools dmsetup.static \
+ V=1
+
+%{__make} -j1 base/libbase.a device_mapper/libdevice-mapper.a
+
+%{__make} -j1 -C tools lvm.static \
+ LIBS="%{?with_selinux:-lpcre} -lpthread -lm" \
+ SHELL=/bin/bash \
+ interfacebuilddir=../libdm/ioctl
-%{__make} -j1 -C include
-%{__make} -j1 -C lib LIB_SHARED= VERSIONED_SHLIB=
-%{__make} -j1 -C libdm LIB_SHARED= VERSIONED_SHLIB=
-%{__make} -j1 -C libdaemon/client LIB_SHARED= VERSIONED_SHLIB=
-%{__make} -j1 -C tools dmsetup.static lvm.static %{?with_dietlibc:DIETLIBC_LIBS="-lcompat"}
%{__mv} tools/lvm.static initrd-lvm
-%{__mv} tools/dmsetup.static initrd-dmsetup
+%{__mv} libdm/dm-tools/dmsetup.static initrd-dmsetup
# check if tools works
for tool in initrd-lvm initrd-dmsetup; do
fi
done
-%{?with_dietlibc:%{__mv} libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
%{__make} clean
unset CC
%endif
%configure \
- --enable-applib \
--enable-cache_check_needs_check \
--enable-cmdlib \
- %{?with_lvmdbusd:--enable-dbus-service} \
+%if %{with cluster}
+ --enable-cmirrord \
+%endif
+ %{?with_lvmdbusd:--enable-dbus-service --enable-notify-dbus} \
%{?debug:--enable-debug} \
--enable-dmeventd \
+ --enable-dmfilemapd \
--enable-fsadm \
%if %{with lvmlockd}
- %{?with_cluster:--enable-lockd-dlm} \
- %{?with_sanlock:--enable-lockd-sanlock} \
+ %{?with_cluster:--enable-lvmlockd-dlm} \
+ %{?with_sanlock:--enable-lvmlockd-sanlock} \
%endif
- %{?with_lvmetad:--enable-lvmetad} \
+ --enable-lvmpolld \
--enable-ocf \
- %{?with_python2:--enable-python2_bindings} \
- %{?with_python3:--enable-python3_bindings} \
+ --enable-pkgconfig \
--enable-readline \
%{!?with_selinux:--disable-selinux} \
- --enable-pkgconfig \
+ --disable-silent-rules \
--enable-thin_check_needs_check \
--enable-udev_sync \
--enable-udev_rules \
--with-cache-dump=/usr/sbin/cache_dump \
--with-cache-repair=/usr/sbin/cache_repair \
--with-cache-restore=/usr/sbin/cache_restore \
- --with-cluster=internal \
-%if %{with cluster}
- --with-clvmd=corosync \
- --enable-cmirrord \
-%endif
+ --with-default-locking-dir=/var/lock/lvm \
--with-dmeventd-path=%{_sbindir}/dmeventd \
--with-interface=ioctl \
- --with-lvm1=internal \
+ --with-libexecdir=%{_libexecdir} \
--with-mirrors=internal \
--with-optimisation="%{rpmcflags}" \
- --with-pool=internal \
- %{?with_replicator:--with-replicators=internal} \
--with-snapshots=internal \
--with-systemdsystemunitdir=%{systemdunitdir} \
--with-tmpfilesdir=%{systemdtmpfilesdir} \
--with-thin-repair=/usr/sbin/thin_repair \
--with-thin-restore=/usr/sbin/thin_restore \
--with-udev-prefix=/ \
- --with-usrlibdir=%{_libdir}
+ --with-usrlibdir=%{_libdir} \
+ --with-vdo=internal --with-vdo-format=%{_bindir}/vdoformat \
+ --with-writecache=internal
+
+# no --enable-nls: no translations exist, broken
-%{__make} -j1
-%{__make} -j1 -C libdm LIB_STATIC=libdevmapper.a
+# use bash because of "set -o pipefail"
+# V=1 still used because of missing --disable-silent-rules support in libdm (as of 2.03.09)
+%{__make} -j1 \
+ SHELL=/bin/bash \
+ V=1
+%{__make} -j1 -C libdm \
+ LIB_STATIC=libdevmapper.a \
+ V=1
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig}
-%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
+install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig,/var/lock/lvm/subsys}
-%{__make} install install_system_dirs install_systemd_units install_initscripts install_tmpfiles_configuration \
+%{__make} install install_system_dirs install_systemd_units install_systemd_generators install_initscripts install_tmpfiles_configuration \
DESTDIR=$RPM_BUILD_ROOT \
+ PYTHON_PREFIX=%{_prefix} \
OWNER="" \
GROUP=""
%{__make} -C scripts install_tmpfiles_configuration \
- DESTDIR=$RPM_BUILD_ROOT \
+ DESTDIR=$RPM_BUILD_ROOT
-%if %{with cluster}
-cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/clvmd.service
-cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/clvmd
-%endif
-
-mv $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
install -d $RPM_BUILD_ROOT%{_libdir}/initrd
install -p initrd-lvm $RPM_BUILD_ROOT%{_libdir}/initrd/lvm
install -p initrd-dmsetup $RPM_BUILD_ROOT%{_libdir}/initrd/dmsetup
-
-%{?with_dietlibc:cp -a diet-libdevmapper.a $RPM_BUILD_ROOT%{dietlibdir}/libdevmapper.a}
%endif
cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
%service lvm2-monitor restart
%systemd_post lvm2-monitor.service
/sbin/chkconfig --add blk-availability
-# no service blk-availability restart
-%systemd_post blk-availability.service
-%if %{with lvmetad}
-%systemd_post lvm2-lvmetad.socket
-%endif
%if %{with lvmpolld}
%systemd_post lvm2-lvmpolld.socket
%endif
%preun
%systemd_preun lvm2-monitor.service
-%systemd_preun blk-availability.service
-%if %{with lvmetad}
-%systemd_preun lvm2-lvmetad.socket
-%endif
%if %{with lvmpolld}
%systemd_preun lvm2-lvmpolld.socket
%endif
%post -n device-mapper-libs -p /sbin/ldconfig
%postun -n device-mapper-libs -p /sbin/ldconfig
-%post clvmd
-/sbin/chkconfig --add clvmd
-# no service restart - it breaks current locks!
-export NORESTART=1
-%systemd_post clvmd.service
-# re-exec instead
-/usr/sbin/clvmd -S 2>/dev/null || :
-
-%preun clvmd
-%systemd_preun clvmd.service
-if [ "$1" = "0" ]; then
- %service clvmd stop
- /sbin/chkconfig --del clvmd
-fi
-
-%postun clvmd
-%systemd_reload
-
%post dbusd
%systemd_post lvm2-lvmdbusd.service
%attr(755,root,root) %{_sbindir}/lvdisplay
%attr(755,root,root) %{_sbindir}/lvextend
%attr(755,root,root) %{_sbindir}/lvm
-%attr(755,root,root) %{_sbindir}/lvmchange
-%attr(755,root,root) %{_sbindir}/lvmconf
+%attr(755,root,root) %{_sbindir}/lvm_import_vdo
%attr(755,root,root) %{_sbindir}/lvmconfig
+%attr(755,root,root) %{_sbindir}/lvmdevices
%attr(755,root,root) %{_sbindir}/lvmdiskscan
%attr(755,root,root) %{_sbindir}/lvmdump
%attr(755,root,root) %{_sbindir}/lvmsadc
%attr(755,root,root) %{_sbindir}/vgextend
%attr(755,root,root) %{_sbindir}/vgimport
%attr(755,root,root) %{_sbindir}/vgimportclone
+%attr(755,root,root) %{_sbindir}/vgimportdevices
%attr(755,root,root) %{_sbindir}/vgmerge
%attr(755,root,root) %{_sbindir}/vgmknodes
%attr(755,root,root) %{_sbindir}/vgreduce
%attr(755,root,root) %{_sbindir}/vgs
%attr(755,root,root) %{_sbindir}/vgscan
%attr(755,root,root) %{_sbindir}/vgsplit
+%attr(755,root,root) %{_libexecdir}/lvresize_fs_helper
%{_mandir}/man5/lvm.conf.5*
+%{_mandir}/man7/lvmautoactivation.7*
%{_mandir}/man7/lvmcache.7*
+%{_mandir}/man7/lvmraid.7*
+%{_mandir}/man7/lvmreport.7*
%{_mandir}/man7/lvmsystemid.7*
%{_mandir}/man7/lvmthin.7*
+%{_mandir}/man7/lvmvdo.7*
%{_mandir}/man8/blkdeactivate.8*
%{_mandir}/man8/fsadm.8*
%{_mandir}/man8/lvchange.8*
%{_mandir}/man8/lvcreate.8*
%{_mandir}/man8/lvdisplay.8*
%{_mandir}/man8/lvextend.8*
-%{_mandir}/man8/lvm-config.8
-%{_mandir}/man8/lvm-dumpconfig.8
+%{_mandir}/man8/lvm-config.8*
+%{_mandir}/man8/lvm-dumpconfig.8*
+%{_mandir}/man8/lvm-fullreport.8*
%{_mandir}/man8/lvm-lvpoll.8*
%{_mandir}/man8/lvm.8*
-%{_mandir}/man8/lvmchange.8*
-%{_mandir}/man8/lvmconf.8*
+%{_mandir}/man8/lvm_import_vdo.8*
%{_mandir}/man8/lvmconfig.8*
+%{_mandir}/man8/lvmdevices.8*
%{_mandir}/man8/lvmdiskscan.8*
%{_mandir}/man8/lvmdump.8*
%{_mandir}/man8/lvmsadc.8*
%{_mandir}/man8/vgextend.8*
%{_mandir}/man8/vgimport.8*
%{_mandir}/man8/vgimportclone.8*
+%{_mandir}/man8/vgimportdevices.8*
%{_mandir}/man8/vgmerge.8*
%{_mandir}/man8/vgmknodes.8*
%{_mandir}/man8/vgreduce.8*
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-performance.profile
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/vdo-small.profile
%{systemdtmpfilesdir}/lvm2.conf
%{systemdunitdir}/blk-availability.service
%{systemdunitdir}/lvm2-monitor.service
-%{systemdunitdir}/lvm2-pvscan@.service
%dir %{_sysconfdir}/lvm/cache
%ghost %{_sysconfdir}/lvm/cache/.cache
%attr(754,root,root) /etc/rc.d/init.d/blk-availability
%attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
%attr(700,root,root) %dir /run/lvm
%attr(700,root,root) %dir /var/lock/lvm
-%if %{with lvmetad}
-%attr(755,root,root) %{_sbindir}/lvmetad
-/lib/udev/rules.d/69-dm-lvm-metad.rules
-%attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmetad
-%{systemdunitdir}/lvm2-lvmetad.service
-%{systemdunitdir}/lvm2-lvmetad.socket
-%{_mandir}/man8/lvmetad.8*
-%endif
+%attr(700,root,root) %dir /var/lock/lvm/subsys
%if %{with lvmlockd}
%attr(755,root,root) %{_sbindir}/lvmlockctl
%attr(755,root,root) %{_sbindir}/lvmlockd
-%{systemdunitdir}/lvm2-lvmlockd.service
-%{systemdunitdir}/lvm2-lvmlocking.service
+%{systemdunitdir}/lvmlockd.service
+%{systemdunitdir}/lvmlocks.service
%{_mandir}/man8/lvmlockctl.8*
%{_mandir}/man8/lvmlockd.8*
%endif
%endif
%if %{with cluster}
-%files clvmd
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_usrsbindir}/clvmd
-%attr(754,root,root) /etc/rc.d/init.d/clvmd
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clvmd
-%attr(755,root,root) /lib/systemd/lvm2-cluster-activation
-%{systemdunitdir}/clvmd.service
-%{systemdunitdir}/lvm2-cluster-activation.service
-%{systemdunitdir}/lvm2-clvmd.service
-%{_mandir}/man8/clvmd.8*
-
%files cmirrord
%defattr(644,root,root,755)
%attr(755,root,root) %{_usrsbindir}/cmirrord
%files dbusd
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/lvmdbusd
-%{py3_sitedir}/lvmdbusd
+%{py3_sitescriptdir}/lvmdbusd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/lvmdbusd.profile
%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/com.redhat.lvmdbus1.conf
%{_datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service
%{systemdunitdir}/lvm2-lvmdbusd.service
%dir %{_prefix}/lib/ocf/resource.d/lvm2
%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
-%if %{with python2}
-%files -n python-lvm
-%defattr(644,root,root,755)
-%attr(755,root,root) %{py_sitedir}/lvm.so
-%{py_sitedir}/lvm-%{version}_*-py*.egg-info
-%endif
-
-%if %{with python3}
-%files -n python3-lvm
-%defattr(644,root,root,755)
-%attr(755,root,root) %{py3_sitedir}/lvm.cpython-*.so
-%{py3_sitedir}/lvm-%{version}_*-py*.egg-info
-%endif
-
%files -n device-mapper
%defattr(644,root,root,755)
%doc *_DM
/lib/udev/rules.d/10-dm.rules
/lib/udev/rules.d/11-dm-lvm.rules
/lib/udev/rules.d/13-dm-disk.rules
+/lib/udev/rules.d/69-dm-lvm.rules
/lib/udev/rules.d/95-dm-notify.rules
%attr(755,root,root) %{_sbindir}/dmeventd
+%attr(755,root,root) %{_sbindir}/dmfilemapd
%attr(755,root,root) %{_sbindir}/dmsetup
%attr(755,root,root) %{_sbindir}/dmstats
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2raid.so
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.so
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2thin.so
+%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2vdo.so
%dir %{_libdir}/device-mapper
%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so
%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2raid.so
%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so
%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so
+%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2vdo.so
+%{_mandir}/man8/dmfilemapd.8*
%{_mandir}/man8/dmsetup.8*
%{_mandir}/man8/dmstats.8*
%{_mandir}/man8/dmeventd.8*
%attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
%attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
%attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
-%attr(755,root,root) /%{_lib}/liblvm2app.so.*.*
%attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
%files -n device-mapper-devel
%attr(755,root,root) %{_libdir}/libdevmapper.so
%attr(755,root,root) %{_libdir}/libdevmapper-event.so
%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so
-%attr(755,root,root) %{_libdir}/liblvm2app.so
%attr(755,root,root) %{_libdir}/liblvm2cmd.so
%{_includedir}/libdevmapper.h
%{_includedir}/libdevmapper-event.h
-%{_includedir}/lvm2app.h
%{_includedir}/lvm2cmd.h
%{_pkgconfigdir}/devmapper.pc
%{_pkgconfigdir}/devmapper-event.pc
-%{_pkgconfigdir}/lvm2app.pc
%files -n device-mapper-static
%defattr(644,root,root,755)
%{_libdir}/libdevmapper.a
%if %{with initrd}
-%if %{with dietlibc}
-%files -n device-mapper-dietlibc
-%defattr(644,root,root,755)
-%{dietlibdir}/libdevmapper.a
-%endif
-
%files -n device-mapper-initrd
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/initrd/dmsetup