2 # - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
3 # - spec default value for --with-replicators (=internal/shared/none, configure default is none)?
4 # (also internal vs shared for lvm1,pool,cluster,snapshots,mirrors,raid,replicators,thin,cache;
5 # note: dmeventd requires mirrors=internal)
9 %bcond_with initrd # build initrd version
10 %bcond_without uClibc # link initrd version with uClibc
11 %bcond_with dietlibc # link initrd version with dietlibc
12 %bcond_with glibc # link initrd version with static GLIBC
14 %bcond_without cluster # disable all cluster support (clvmd&cmirrord)
15 %bcond_without lvmetad # lvmetad (and lvmlockd)
16 %bcond_without lvmdbusd # lvmdbusd
17 %bcond_without lvmpolld # lvmpolld (and lvmlockd)
18 %bcond_without lvmlockd # lvmlockd
19 %bcond_with sanlock # sanlock support in lvmlockd
20 %bcond_with replicator # internal replicator support
21 # - additional features
22 %bcond_without selinux # SELinux support
24 %bcond_without python # Python bindings
25 %bcond_without python2 # Python 2 binding
26 %bcond_without python3 # Python 3 binding and lvmdbusd
28 # lvmlockd requires lvmetad and lvmpolld
29 %if %{without lvmetad} || %{without lvmpolld}
30 %undefine with_lvmpolld
33 # only glibc possible on SPARC
34 %ifarch sparc sparcv9 sparc64
37 # if one of the *libc is enabled disable default dietlibc
38 %if %{with dietlibc} && %{with uClibc}
39 %undefine with_dietlibc
41 # with glibc disables default dietlibc
42 %if %{with glibc} && %{with dietlibc}
43 %undefine with_dietlibc
45 # fallback is glibc if neither alternatives are enabled
46 %if %{without dietlibc} && %{without uClibc}
51 %undefine with_python2
52 %undefine with_python3
54 %if %{without python3}
55 %undefine with_lvmdbusd
58 Summary: The new version of Logical Volume Manager for Linux
59 Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
63 License: GPL v2 and LGPL v2.1
64 Group: Applications/System
65 Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
66 # Source0-md5: ee6cfbc5a0c5696ffae79dac04ee7a2b
67 Source3: clvmd.sysconfig
68 Patch0: %{name}-selinux.patch
69 Patch1: %{name}-diet.patch
70 Patch2: device-mapper-dmsetup-export.patch
71 Patch3: %{name}-tld_init.patch
72 Patch4: dl-dlsym.patch
73 Patch8: %{name}-clvmd_cmd_timeout.patch
74 Patch9: device-mapper-dmsetup-deps-export.patch
75 Patch11: %{name}-thin.patch
76 URL: http://www.sourceware.org/lvm2/
77 BuildRequires: autoconf >= 2.69
78 BuildRequires: automake
80 BuildRequires: filesystem >= 3.0-43
81 BuildRequires: libblkid-devel >= 2.24
82 %{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
83 %{?with_selinux:BuildRequires: libsepol-devel}
84 BuildRequires: ncurses-devel
85 BuildRequires: pkgconfig
86 %{?with_python2:BuildRequires: python-devel >= 2}
87 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
89 BuildRequires: python3-dbus
90 BuildRequires: python3-pyudev
92 BuildRequires: readline-devel
93 BuildRequires: rpmbuild(macros) >= 1.647
94 %{?with_sanlock:BuildRequires: sanlock-devel >= 3.3.0}
95 BuildRequires: udev-devel >= 1:176
98 BuildRequires: dietlibc-static >= 2:0.32-7
99 BuildConflicts: device-mapper-dietlibc
102 %{?with_selinux:BuildRequires: libselinux-static}
103 %{?with_selinux:BuildRequires: libsepol-static}
105 %{?with_glibc:BuildRequires: glibc-static}
106 %{?with_uClibc:BuildRequires: uClibc-static >= 2:0.9.29}
109 BuildRequires: corosync-devel
110 BuildRequires: dlm-devel >= 3.99.5
112 Requires(post,postun): /sbin/chkconfig
113 Requires: device-mapper >= %{version}-%{release}
114 %{?with_selinux:Requires: libselinux >= 1.10}
115 # doesn't work with 2.4 kernels
116 Requires: uname(release) >= 2.6
117 Suggests: thin-provisioning-tools >= 0.5.4
119 Obsoletes: lvm2-systemd
120 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
122 %define _sbindir /sbin
123 %define _usrsbindir /usr/sbin
125 # changing CFLAGS in the middle confuses confcache
126 %undefine configure_cache
129 %define filterout_ld -Wl,--as-needed
131 # causes: undefined reference to `__stack_chk_fail_local'
132 %define filterout_c -fstack-protector
134 # for some reason known only to rpm there must be "\\|" not "\|" here
135 %define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
136 %define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
138 %define skip_post_check_so '.*libdevmapper-event-lvm2.so.*'
141 This package includes a number of utilities for creating, checking,
142 and repairing logical volumes.
144 %description -l pl.UTF-8
145 Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
146 logicznych wolumenów dyskowych (LVM2).
149 Summary: The new version of Logical Volume Manager for Linux - initrd version
150 Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa - wersja dla initrd
152 Conflicts: geninitrd < 10000.18
155 This package includes a number of utilities for creating, checking,
156 and repairing logical volumes - staticaly linked for initrd.
158 %description initrd -l pl.UTF-8
159 Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
160 logicznych wolumenów dyskowych (LVM2) - statycznie skonsolidowane na
164 Summary: Cluster LVM daemon
165 Summary(pl.UTF-8): Demon clustra LVM
166 Group: Applications/System
167 Requires: %{name} = %{version}-%{release}
170 clvmd is the daemon that distributes LVM metadata updates around a
171 cluster. It must be running on all nodes in the cluster and will give
172 an error if a node in the cluster does not have this daemon running.
174 %description clvmd -l pl.UTF-8
175 clvmd to demon który rozprowadza zmiany meta-danych LVM po klastrze.
176 Mysi działać na wszystkich węzłach klastra i zgłosi błąd gdy jakiś
177 węzeł w klastrze nie ma tego demona uruchomionego.
180 Summary: Cluster mirror log daemon
181 Summary(pl.UTF-8): Demon śledzący log lustrzany w klastrze
182 Group: Applications/System
183 Requires: %{name} = %{version}-%{release}
185 %description cmirrord
186 cmirrord is the daemon that tracks mirror log information in a
187 cluster. It is specific to device-mapper based mirrors (and by
188 extension, LVM cluster mirrors). Cluster mirrors are not possible
189 without this daemon running.
191 This daemon relies on the cluster infrastructure provided by the
192 Cluster MANager (CMAN), which must be set up and running in order for
193 cmirrord to function.
195 %description cmirrord
196 cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
197 Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
198 (oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
199 lustrzanych ten demon jest niezbędny.
201 Ten demon polega na infrastrukturze klastra dostarczanej przez CMAN
202 (Cluster MANager), który musi być skonfigurowany i działający, aby
206 Summary: LVM2 D-Bus daemon
207 Summary(pl.UTF-8): Demon LVM2 D-Bus
209 Requires: %{name} = %{version}-%{release}
210 Requires: python3-dbus
211 Requires: python3-pygobject3 >= 3
212 Requires: python3-pyudev
215 Daemon for access to LVM2 functionality through a D-Bus interface.
217 %description dbusd -l pl.UTF-8
218 Demon umożliwiający dostęp do funkcjonalności LVM2 poprzez interfejs
222 Summary: LVM2 locking daemon
223 Summary(pl.UTF-8): Demon blokad LVM2
225 Requires: %{name} = %{version}-%{release}
226 %{?with_cluster:Requires: dlm-libs >= 3.99.5}
227 %{?with_sanlock:Requires: sanlock-libs >= 3.3.0}
230 LVM commands use lvmlockd to coordinate access to shared storage.
232 %description lockd -l pl.UTF-8
233 Polecenia LVM wykorzystują lvmlockd do koordynowania dostępu do
234 współdzielonej pamięci masowej.
236 %package resource-agents
237 Summary: OCF Resource Agents for LVM2 processes
238 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów LVM2
239 Group: Applications/System
240 Requires: %{name} = %{version}-%{release}
241 Requires: resource-agents
243 %description resource-agents
244 OCF Resource Agents for LVM2 processes.
246 %description resource-agents -l pl.UTF-8
247 Agenci OCF do monitorowania procesów LVM2.
249 %package -n python-lvm
250 Summary: Python 2 interface to LVM2
251 Summary(pl.UTF-8): Interfejs Pythona 2 do LVM2
252 Group: Libraries/Python
253 Requires: device-mapper-libs = %{version}-%{release}
255 %description -n python-lvm
256 Python 2 interface to LVM2.
258 %description -n python-lvm -l pl.UTF-8
259 Interfejs Pythona 2 do LVM2.
261 %package -n python3-lvm
262 Summary: Python 3 interface to LVM2
263 Summary(pl.UTF-8): Interfejs Pythona 3 do LVM2
264 Group: Libraries/Python
265 Requires: device-mapper-libs = %{version}-%{release}
267 %description -n python3-lvm
268 Python 3 interface to LVM2.
270 %description -n python3-lvm -l pl.UTF-8
271 Interfejs Pythona 3 do LVM2.
273 %package -n device-mapper
274 Summary: Userspace support for the device-mapper
275 Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
277 Requires(post,postun): /sbin/ldconfig
278 Requires: device-mapper-libs = %{version}-%{release}
280 %description -n device-mapper
281 The goal of this driver is to support volume management. The driver
282 enables the definition of new block devices composed of ranges of
283 sectors of existing devices. This can be used to define disk
284 partitions - or logical volumes. This light-weight kernel component
285 can support user-space tools for logical volume management.
287 %description -n device-mapper -l pl.UTF-8
288 Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
289 włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
290 sektorów na istniejących urządzeniach. Może to być wykorzystane do
291 definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
292 składnik jądra może wspierać działające w przestrzeni użytkownika
293 narzędzia do zarządzania logicznymi wolumenami.
295 %package -n device-mapper-libs
296 Summary: Device-mapper shared libraries
297 Summary(pl.UTF-8): Biblioteki współdzielone device-mappera
299 Requires: libblkid >= 2.24
300 Requires: udev-libs >= 1:176
301 Conflicts: device-mapper < 2.02.119-1
303 %description -n device-mapper-libs
304 Device-mapper shared libraries.
306 %description -n device-mapper-libs -l pl.UTF-8
307 Biblioteki współdzielone device-mappera.
309 %package -n device-mapper-devel
310 Summary: Header files for device-mapper libraries
311 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek device-mappera
312 Group: Development/Libraries
313 Requires: device-mapper-libs = %{version}-%{release}
314 Requires: libblkid-devel >= 2.24
316 Requires: libselinux-devel
317 Requires: libsepol-devel
319 Requires: udev-devel >= 1:176
321 %description -n device-mapper-devel
322 Header files for device-mapper libraries.
324 %description -n device-mapper-devel -l pl.UTF-8
325 Pliki nagłówkowe bibliotek device-mappera.
327 %package -n device-mapper-static
328 Summary: Static devmapper library
329 Summary(pl.UTF-8): Statyczna biblioteka devmapper
331 Group: Development/Libraries
332 Requires: device-mapper-devel = %{version}-%{release}
334 %description -n device-mapper-static
335 Static devmapper library.
337 %description -n device-mapper-static -l pl.UTF-8
338 Statyczna biblioteka devmapper.
340 %package -n device-mapper-dietlibc
341 Summary: Static devmapper library built with dietlibc
342 Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
344 Group: Development/Libraries
345 Requires: device-mapper-devel = %{version}-%{release}
347 %description -n device-mapper-dietlibc
348 Static devmapper library built with dietlibc.
350 %description -n device-mapper-dietlibc -l pl.UTF-8
351 Statyczna biblioteka devmapper zbudowana z dietlibc.
353 %package -n device-mapper-initrd
354 Summary: Userspace support for the device-mapper - initrd version
355 Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - wersja dla initrd
357 Obsoletes: device-mapper-initrd-devel
358 Conflicts: geninitrd < 10000.10
360 %description -n device-mapper-initrd
361 The goal of this driver is to support volume management. The driver
362 enables the definition of new block devices composed of ranges of
363 sectors of existing devices. This can be used to define disk
364 partitions - or logical volumes. This light-weight kernel component
365 can support user-space tools for logical volume management.
367 This package contains dmsetup program linked staticaly for use in
370 %description -n device-mapper-initrd -l pl.UTF-8
371 Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
372 włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
373 sektorów na istniejących urządzeniach. Może to być wykorzystane do
374 definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
375 składnik jądra może wspierać działające w przestrzeni użytkownika
376 narzędzia do zarządzania logicznymi wolumenami.
378 Ten pakiet zawiera program dmsetup skonsolidowany statycznie na
382 %setup -q -n LVM2.%{version}
383 %{?with_selinux:%patch0 -p1}
392 # do not force --export-symbol linker option for e.g. statically linked executables
393 # -rdynamic compiler option drives linker in the right way.
394 %{__sed} -i -e 's#-Wl,--export-dynamic#-rdynamic#g' configure.in
398 echo Using %{?with_glibc:GLIBC} %{?with_uClibc:uClibc} %{?with_dietlibc:diet} for initrd
400 cp -f /usr/share/automake/config.sub autoconf
405 %{?with_glibc:export CC="%{__cc}"}
406 %{?with_uClibc:export CC="%{_target_cpu}-uclibc-gcc"}
407 %{?with_dietlibc:cc="%{__cc}"; export CC="diet ${cc#ccache }"}
410 ac_cv_lib_dl_dlopen=no \
411 %{?with_uClibc:ac_cv_func_siginterrupt=no} \
412 %{?debug:--enable-debug} \
415 --enable-selinux%{!?with_glibc:=no} \
416 --enable-static_link \
417 --with-lvm1=internal \
418 --with-optimisation="%{rpmcflags} -Os"
419 # glibc version links with normal static libdevicemapper which has selinux enabled
420 # and we need to keep these in sync between device-mapper and lvm2
422 %{__sed} -i -e 's#rpl_malloc#malloc#g' lib/misc/configure.h
423 %{__sed} -i -e 's#rpl_realloc#realloc#g' lib/misc/configure.h
425 %{__make} -j1 -C include
426 %{__make} -j1 -C lib LIB_SHARED= VERSIONED_SHLIB=
427 %{__make} -j1 -C libdm LIB_SHARED= VERSIONED_SHLIB=
428 %{__make} -j1 -C libdaemon/client LIB_SHARED= VERSIONED_SHLIB=
429 %{__make} -j1 -C tools dmsetup.static lvm.static %{?with_dietlibc:DIETLIBC_LIBS="-lcompat"}
430 %{__mv} tools/lvm.static initrd-lvm
431 %{__mv} tools/dmsetup.static initrd-dmsetup
433 # check if tools works
434 for tool in initrd-lvm initrd-dmsetup; do
435 LVM_SYSTEM_DIR=$(pwd) ./$tool help && rc=$? || rc=$?
436 if [ $rc -gt 127 ]; then
437 echo >&2 "Unexpected failure (exit status: $rc) from $tool. Does this tool work?!"
442 %{?with_dietlibc:%{__mv} libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
450 --enable-cache_check_needs_check \
452 %{?with_lvmdbusd:--enable-dbus-service} \
453 %{?debug:--enable-debug} \
456 --with-default-locking-dir=/var/lock/lvm \
458 %{?with_cluster:--enable-lvmlockd-dlm} \
459 %{?with_sanlock:--enable-lvmlockd-sanlock} \
461 %{?with_lvmetad:--enable-lvmetad} \
464 %{?with_python2:--enable-python2_bindings} \
465 %{?with_python3:--enable-python3_bindings} \
467 %{!?with_selinux:--disable-selinux} \
469 --enable-thin_check_needs_check \
471 --enable-udev_rules \
472 --with-cache=internal \
473 --with-cache-check=/usr/sbin/cache_check \
474 --with-cache-dump=/usr/sbin/cache_dump \
475 --with-cache-repair=/usr/sbin/cache_repair \
476 --with-cache-restore=/usr/sbin/cache_restore \
477 --with-cluster=internal \
479 --with-clvmd=corosync \
482 --with-dmeventd-path=%{_sbindir}/dmeventd \
483 --with-interface=ioctl \
484 --with-lvm1=internal \
485 --with-mirrors=internal \
486 --with-optimisation="%{rpmcflags}" \
487 --with-pool=internal \
488 %{?with_replicator:--with-replicators=internal} \
489 --with-snapshots=internal \
490 --with-thin=internal \
491 --with-thin-check=/usr/sbin/thin_check \
492 --with-thin-dump=/usr/sbin/thin_dump \
493 --with-thin-repair=/usr/sbin/thin_repair \
494 --with-thin-restore=/usr/sbin/thin_restore \
495 --with-udev-prefix=/ \
496 --with-usrlibdir=%{_libdir}
498 # use bash because of "set -o pipefail"
501 %{__make} -j1 -C libdm \
502 LIB_STATIC=libdevmapper.a
505 rm -rf $RPM_BUILD_ROOT
506 install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig}
507 %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
509 %{__make} install install_system_dirs install_initscripts \
510 DESTDIR=$RPM_BUILD_ROOT \
513 python3dir=%{py3_sitescriptdir}
516 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/clvmd
519 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
520 for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
521 lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
522 slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
523 ln -sf $lib $RPM_BUILD_ROOT%{_libdir}/$slib
526 touch $RPM_BUILD_ROOT%{_sysconfdir}/lvm/lvm.conf
529 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
530 install -p initrd-lvm $RPM_BUILD_ROOT%{_libdir}/initrd/lvm
531 install -p initrd-dmsetup $RPM_BUILD_ROOT%{_libdir}/initrd/dmsetup
533 %{?with_dietlibc:cp -a diet-libdevmapper.a $RPM_BUILD_ROOT%{dietlibdir}/libdevmapper.a}
536 cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
539 rm -rf $RPM_BUILD_ROOT
542 /sbin/chkconfig --add lvm2-monitor
543 %service lvm2-monitor restart
544 /sbin/chkconfig --add blk-availability
545 # no service blk-availability restart
548 if [ "$1" = "0" ]; then
549 %service lvm2-monitor stop
550 /sbin/chkconfig --del lvm2-monitor
551 #no service blk-availability stop
552 /sbin/chkconfig --del blk-availability
555 %post -n device-mapper-libs -p /sbin/ldconfig
556 %postun -n device-mapper-libs -p /sbin/ldconfig
559 /sbin/chkconfig --add clvmd
560 # no service restart - it breaks current locks!
563 /usr/sbin/clvmd -S 2>/dev/null || :
566 if [ "$1" = "0" ]; then
568 /sbin/chkconfig --del clvmd
572 %defattr(644,root,root,755)
573 %doc README WHATS_NEW doc/*
574 %attr(755,root,root) %{_sbindir}/blkdeactivate
575 %attr(755,root,root) %{_sbindir}/fsadm
576 %attr(755,root,root) %{_sbindir}/lvchange
577 %attr(755,root,root) %{_sbindir}/lvconvert
578 %attr(755,root,root) %{_sbindir}/lvcreate
579 %attr(755,root,root) %{_sbindir}/lvdisplay
580 %attr(755,root,root) %{_sbindir}/lvextend
581 %attr(755,root,root) %{_sbindir}/lvm
582 %attr(755,root,root) %{_sbindir}/lvmconf
583 %attr(755,root,root) %{_sbindir}/lvmconfig
584 %attr(755,root,root) %{_sbindir}/lvmdiskscan
585 %attr(755,root,root) %{_sbindir}/lvmdump
586 %attr(755,root,root) %{_sbindir}/lvmsadc
587 %attr(755,root,root) %{_sbindir}/lvmsar
588 %attr(755,root,root) %{_sbindir}/lvreduce
589 %attr(755,root,root) %{_sbindir}/lvremove
590 %attr(755,root,root) %{_sbindir}/lvrename
591 %attr(755,root,root) %{_sbindir}/lvresize
592 %attr(755,root,root) %{_sbindir}/lvs
593 %attr(755,root,root) %{_sbindir}/lvscan
594 %attr(755,root,root) %{_sbindir}/pvchange
595 %attr(755,root,root) %{_sbindir}/pvck
596 %attr(755,root,root) %{_sbindir}/pvcreate
597 %attr(755,root,root) %{_sbindir}/pvdisplay
598 %attr(755,root,root) %{_sbindir}/pvmove
599 %attr(755,root,root) %{_sbindir}/pvremove
600 %attr(755,root,root) %{_sbindir}/pvresize
601 %attr(755,root,root) %{_sbindir}/pvs
602 %attr(755,root,root) %{_sbindir}/pvscan
603 %attr(755,root,root) %{_sbindir}/vgcfgbackup
604 %attr(755,root,root) %{_sbindir}/vgcfgrestore
605 %attr(755,root,root) %{_sbindir}/vgchange
606 %attr(755,root,root) %{_sbindir}/vgck
607 %attr(755,root,root) %{_sbindir}/vgconvert
608 %attr(755,root,root) %{_sbindir}/vgcreate
609 %attr(755,root,root) %{_sbindir}/vgdisplay
610 %attr(755,root,root) %{_sbindir}/vgexport
611 %attr(755,root,root) %{_sbindir}/vgextend
612 %attr(755,root,root) %{_sbindir}/vgimport
613 %attr(755,root,root) %{_sbindir}/vgimportclone
614 %attr(755,root,root) %{_sbindir}/vgmerge
615 %attr(755,root,root) %{_sbindir}/vgmknodes
616 %attr(755,root,root) %{_sbindir}/vgreduce
617 %attr(755,root,root) %{_sbindir}/vgremove
618 %attr(755,root,root) %{_sbindir}/vgrename
619 %attr(755,root,root) %{_sbindir}/vgs
620 %attr(755,root,root) %{_sbindir}/vgscan
621 %attr(755,root,root) %{_sbindir}/vgsplit
622 %{_mandir}/man5/lvm.conf.5*
623 %{_mandir}/man7/lvmcache.7*
624 %{_mandir}/man7/lvmraid.7*
625 %{_mandir}/man7/lvmreport.7*
626 %{_mandir}/man7/lvmsystemid.7*
627 %{_mandir}/man7/lvmthin.7*
628 %{_mandir}/man8/blkdeactivate.8*
629 %{_mandir}/man8/fsadm.8*
630 %{_mandir}/man8/lvchange.8*
631 %{_mandir}/man8/lvconvert.8*
632 %{_mandir}/man8/lvcreate.8*
633 %{_mandir}/man8/lvdisplay.8*
634 %{_mandir}/man8/lvextend.8*
635 %{_mandir}/man8/lvm-config.8*
636 %{_mandir}/man8/lvm-dumpconfig.8*
637 %{_mandir}/man8/lvm-fullreport.8*
638 %{_mandir}/man8/lvm-lvpoll.8*
639 %{_mandir}/man8/lvm.8*
640 %{_mandir}/man8/lvmconf.8*
641 %{_mandir}/man8/lvmconfig.8*
642 %{_mandir}/man8/lvmdiskscan.8*
643 %{_mandir}/man8/lvmdump.8*
644 %{_mandir}/man8/lvmsadc.8*
645 %{_mandir}/man8/lvmsar.8*
646 %{_mandir}/man8/lvreduce.8*
647 %{_mandir}/man8/lvremove.8*
648 %{_mandir}/man8/lvrename.8*
649 %{_mandir}/man8/lvresize.8*
650 %{_mandir}/man8/lvs.8*
651 %{_mandir}/man8/lvscan.8*
652 %{_mandir}/man8/pvchange.8*
653 %{_mandir}/man8/pvck.8*
654 %{_mandir}/man8/pvcreate.8*
655 %{_mandir}/man8/pvdisplay.8*
656 %{_mandir}/man8/pvmove.8*
657 %{_mandir}/man8/pvremove.8*
658 %{_mandir}/man8/pvresize.8*
659 %{_mandir}/man8/pvs.8*
660 %{_mandir}/man8/pvscan.8*
661 %{_mandir}/man8/vgcfgbackup.8*
662 %{_mandir}/man8/vgcfgrestore.8*
663 %{_mandir}/man8/vgchange.8*
664 %{_mandir}/man8/vgck.8*
665 %{_mandir}/man8/vgconvert.8*
666 %{_mandir}/man8/vgcreate.8*
667 %{_mandir}/man8/vgdisplay.8*
668 %{_mandir}/man8/vgexport.8*
669 %{_mandir}/man8/vgextend.8*
670 %{_mandir}/man8/vgimport.8*
671 %{_mandir}/man8/vgimportclone.8*
672 %{_mandir}/man8/vgmerge.8*
673 %{_mandir}/man8/vgmknodes.8*
674 %{_mandir}/man8/vgreduce.8*
675 %{_mandir}/man8/vgremove.8*
676 %{_mandir}/man8/vgrename.8*
677 %{_mandir}/man8/vgs.8*
678 %{_mandir}/man8/vgscan.8*
679 %{_mandir}/man8/vgsplit.8*
680 %attr(750,root,root) %dir %{_sysconfdir}/lvm
681 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
682 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
683 %attr(750,root,root) %dir %{_sysconfdir}/lvm/profile
684 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-mq.profile
685 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-smq.profile
686 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/command_profile_template.profile
687 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
688 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
689 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-performance.profile
690 %dir %{_sysconfdir}/lvm/cache
691 %ghost %{_sysconfdir}/lvm/cache/.cache
692 %attr(754,root,root) /etc/rc.d/init.d/blk-availability
693 %attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
694 %attr(700,root,root) %dir /run/lvm
695 %attr(700,root,root) %dir /var/lock/lvm
697 %attr(755,root,root) %{_sbindir}/lvmetad
698 /lib/udev/rules.d/69-dm-lvm-metad.rules
699 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmetad
700 %{_mandir}/man8/lvmetad.8*
703 %attr(755,root,root) %{_sbindir}/lvmlockctl
704 %attr(755,root,root) %{_sbindir}/lvmlockd
705 %{_mandir}/man8/lvmlockctl.8*
706 %{_mandir}/man8/lvmlockd.8*
709 %attr(755,root,root) %{_sbindir}/lvmpolld
710 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmpolld
711 %{_mandir}/man8/lvmpolld.8*
716 %defattr(644,root,root,755)
717 %attr(755,root,root) %{_usrsbindir}/clvmd
718 %attr(754,root,root) /etc/rc.d/init.d/clvmd
719 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clvmd
720 %{_mandir}/man8/clvmd.8*
723 %defattr(644,root,root,755)
724 %attr(755,root,root) %{_usrsbindir}/cmirrord
725 %attr(754,root,root) /etc/rc.d/init.d/cmirrord
726 %{_mandir}/man8/cmirrord.8*
731 %defattr(644,root,root,755)
732 %attr(755,root,root) %{_sbindir}/lvmdbusd
733 %{py3_sitescriptdir}/lvmdbusd
734 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/lvmdbusd.profile
735 #%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/com.redhat.lvmdbus1.conf
736 #%{_datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service
737 %{_mandir}/man8/lvmdbusd.8*
740 %files resource-agents
741 %defattr(644,root,root,755)
742 %dir %{_prefix}/lib/ocf/resource.d/lvm2
743 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
747 %defattr(644,root,root,755)
748 %attr(755,root,root) %{py_sitedir}/lvm.so
749 %{py_sitedir}/lvm-%{version}_*-py*.egg-info
753 %files -n python3-lvm
754 %defattr(644,root,root,755)
755 %attr(755,root,root) %{py3_sitedir}/lvm.cpython-*.so
756 %{py3_sitedir}/lvm-%{version}_*-py*.egg-info
759 %files -n device-mapper
760 %defattr(644,root,root,755)
762 /lib/udev/rules.d/10-dm.rules
763 /lib/udev/rules.d/11-dm-lvm.rules
764 /lib/udev/rules.d/13-dm-disk.rules
765 /lib/udev/rules.d/95-dm-notify.rules
766 %attr(755,root,root) %{_sbindir}/dmeventd
767 %attr(755,root,root) %{_sbindir}/dmsetup
768 %attr(755,root,root) %{_sbindir}/dmstats
769 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so
770 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2raid.so
771 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.so
772 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2thin.so
773 %dir %{_libdir}/device-mapper
774 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so
775 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2raid.so
776 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so
777 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so
778 %{_mandir}/man8/dmsetup.8*
779 %{_mandir}/man8/dmstats.8*
780 %{_mandir}/man8/dmeventd.8*
782 %files -n device-mapper-libs
783 %defattr(644,root,root,755)
784 %attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
785 %attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
786 %attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
787 %attr(755,root,root) /%{_lib}/liblvm2app.so.*.*
788 %attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
790 %files -n device-mapper-devel
791 %defattr(644,root,root,755)
792 %attr(755,root,root) %{_libdir}/libdevmapper.so
793 %attr(755,root,root) %{_libdir}/libdevmapper-event.so
794 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so
795 %attr(755,root,root) %{_libdir}/liblvm2app.so
796 %attr(755,root,root) %{_libdir}/liblvm2cmd.so
797 %{_includedir}/libdevmapper.h
798 %{_includedir}/libdevmapper-event.h
799 %{_includedir}/lvm2app.h
800 %{_includedir}/lvm2cmd.h
801 %{_pkgconfigdir}/devmapper.pc
802 %{_pkgconfigdir}/devmapper-event.pc
803 %{_pkgconfigdir}/lvm2app.pc
805 %files -n device-mapper-static
806 %defattr(644,root,root,755)
807 %{_libdir}/libdevmapper.a
811 %files -n device-mapper-dietlibc
812 %defattr(644,root,root,755)
813 %{dietlibdir}/libdevmapper.a
816 %files -n device-mapper-initrd
817 %defattr(644,root,root,755)
818 %attr(755,root,root) %{_libdir}/initrd/dmsetup
821 %defattr(644,root,root,755)
822 %attr(755,root,root) %{_libdir}/initrd/lvm