2 # - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
3 # - internal vs shared for snapshots,mirrors,thin,cache ?
4 # note: dmeventd requires mirrors=internal)
8 %bcond_without cluster # disable all cluster support (cmirrord, dlm support in lvmlockd)
9 %bcond_without lvmdbusd # lvmdbusd
10 %bcond_without lvmpolld # lvmpolld (and lvmlockd)
11 %bcond_without lvmlockd # lvmlockd
12 %bcond_with sanlock # sanlock support in lvmlockd
13 # - additional features
14 %bcond_without selinux # SELinux support
16 %bcond_without python # Python bindings
17 %bcond_without python2 # Python 2 binding
18 %bcond_without python3 # Python 3 binding and lvmdbusd
20 # lvmlockd requires lvmpolld
21 %if %{without lvmpolld}
22 %undefine with_lvmlockd
25 %if %{without cluster} && %{without sanlock}
26 %undefine with_lvmlockd
29 Summary: The new version of Logical Volume Manager for Linux
30 Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
34 License: GPL v2 and LGPL v2.1
35 Group: Applications/System
36 Source0: ftp://sourceware.org/pub/lvm2/LVM2.%{version}.tgz
37 # Source0-md5: 0535b5e638b6f0b48f7b259e0ec0ba65
38 Patch0: %{name}-selinux.patch
39 Patch1: device-mapper-dmsetup-export.patch
40 Patch2: %{name}-tld_init.patch
41 Patch3: %{name}-run-dir.patch
42 Patch4: %{name}-thin.patch
44 URL: http://www.sourceware.org/lvm2/
45 BuildRequires: autoconf >= 2.69
46 BuildRequires: autoconf-archive
47 BuildRequires: automake
49 BuildRequires: filesystem >= 3.0-43
50 BuildRequires: libaio-devel
51 BuildRequires: libblkid-devel >= 2.24
52 %{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
53 %{?with_selinux:BuildRequires: libsepol-devel}
54 BuildRequires: ncurses-devel
55 BuildRequires: pkgconfig
57 BuildRequires: python3-dbus
58 BuildRequires: python3-devel >= 1:3.2
59 BuildRequires: python3-pyudev
61 BuildRequires: readline-devel
62 BuildRequires: rpmbuild(macros) >= 1.647
63 %{?with_sanlock:BuildRequires: sanlock-devel >= 3.3.0}
64 BuildRequires: udev-devel >= 1:176
66 BuildRequires: corosync-devel
67 BuildRequires: dlm-devel >= 3.99.5
69 Requires(post,postun): /sbin/chkconfig
70 Requires: device-mapper >= %{version}-%{release}
71 %{?with_selinux:Requires: libselinux >= 1.10}
72 # doesn't work with 2.4 kernels
73 Requires: uname(release) >= 2.6
74 Suggests: thin-provisioning-tools >= 0.7.0
76 Obsoletes: lvm2-clvmd < 2.03
77 Obsoletes: lvm2-systemd < 2.02.94
78 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 %define _sbindir /sbin
81 %define _usrsbindir /usr/sbin
83 # changing CFLAGS in the middle confuses confcache
84 %undefine configure_cache
86 # causes: undefined reference to `__stack_chk_fail_local'
87 %define filterout_c -fstack-protector
89 %define skip_post_check_so '.*libdevmapper-event-lvm2.so.*' 'liblvm2cmd.so.*'
92 This package includes a number of utilities for creating, checking,
93 and repairing logical volumes.
95 %description -l pl.UTF-8
96 Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
97 logicznych wolumenów dyskowych (LVM2).
100 Summary: Cluster mirror log daemon
101 Summary(pl.UTF-8): Demon śledzący log lustrzany w klastrze
102 Group: Applications/System
103 Requires: %{name} = %{version}-%{release}
105 %description cmirrord
106 cmirrord is the daemon that tracks mirror log information in a
107 cluster. It is specific to device-mapper based mirrors (and by
108 extension, LVM cluster mirrors). Cluster mirrors are not possible
109 without this daemon running.
111 This daemon relies on the cluster infrastructure provided by the
112 Cluster MANager (CMAN), which must be set up and running in order for
113 cmirrord to function.
115 %description cmirrord -l pl.UTF-8
116 cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
117 Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
118 (oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
119 lustrzanych ten demon jest niezbędny.
121 Ten demon polega na infrastrukturze klastra dostarczanej przez CMAN
122 (Cluster MANager), który musi być skonfigurowany i działający, aby
126 Summary: LVM2 D-Bus daemon
127 Summary(pl.UTF-8): Demon LVM2 D-Bus
129 Requires: %{name} = %{version}-%{release}
130 Requires: python3-dbus
131 Requires: python3-pygobject3 >= 3
132 Requires: python3-pyudev
135 Daemon for access to LVM2 functionality through a D-Bus interface.
137 %description dbusd -l pl.UTF-8
138 Demon umożliwiający dostęp do funkcjonalności LVM2 poprzez interfejs
142 Summary: LVM2 locking daemon
143 Summary(pl.UTF-8): Demon blokad LVM2
145 Requires: %{name} = %{version}-%{release}
146 %{?with_cluster:Requires: dlm-libs >= 3.99.5}
147 %{?with_sanlock:Requires: sanlock-libs >= 3.3.0}
150 LVM commands use lvmlockd to coordinate access to shared storage.
152 %description lockd -l pl.UTF-8
153 Polecenia LVM wykorzystują lvmlockd do koordynowania dostępu do
154 współdzielonej pamięci masowej.
156 %package resource-agents
157 Summary: OCF Resource Agents for LVM2 processes
158 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów LVM2
159 Group: Applications/System
160 Requires: %{name} = %{version}-%{release}
161 Requires: resource-agents
163 %description resource-agents
164 OCF Resource Agents for LVM2 processes.
166 %description resource-agents -l pl.UTF-8
167 Agenci OCF do monitorowania procesów LVM2.
169 %package -n device-mapper
170 Summary: Userspace support for the device-mapper
171 Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
173 Requires(post,postun): /sbin/ldconfig
174 Requires: device-mapper-libs = %{version}-%{release}
176 %description -n device-mapper
177 The goal of this driver is to support volume management. The driver
178 enables the definition of new block devices composed of ranges of
179 sectors of existing devices. This can be used to define disk
180 partitions - or logical volumes. This light-weight kernel component
181 can support user-space tools for logical volume management.
183 %description -n device-mapper -l pl.UTF-8
184 Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
185 włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
186 sektorów na istniejących urządzeniach. Może to być wykorzystane do
187 definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
188 składnik jądra może wspierać działające w przestrzeni użytkownika
189 narzędzia do zarządzania logicznymi wolumenami.
191 %package -n device-mapper-libs
192 Summary: Device-mapper shared libraries
193 Summary(pl.UTF-8): Biblioteki współdzielone device-mappera
195 Requires: libblkid >= 2.24
196 Requires: udev-libs >= 1:176
197 Obsoletes: python-lvm < 2.03
198 Obsoletes: python3-lvm < 2.03
199 Conflicts: device-mapper < 2.02.119-1
201 %description -n device-mapper-libs
202 Device-mapper shared libraries.
204 %description -n device-mapper-libs -l pl.UTF-8
205 Biblioteki współdzielone device-mappera.
207 %package -n device-mapper-devel
208 Summary: Header files for device-mapper libraries
209 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek device-mappera
210 Group: Development/Libraries
211 Requires: device-mapper-libs = %{version}-%{release}
212 Requires: libblkid-devel >= 2.24
214 Requires: libselinux-devel
215 Requires: libsepol-devel
217 Requires: udev-devel >= 1:176
219 %description -n device-mapper-devel
220 Header files for device-mapper libraries.
222 %description -n device-mapper-devel -l pl.UTF-8
223 Pliki nagłówkowe bibliotek device-mappera.
225 %package -n device-mapper-static
226 Summary: Static devmapper library
227 Summary(pl.UTF-8): Statyczna biblioteka devmapper
229 Group: Development/Libraries
230 Requires: device-mapper-devel = %{version}-%{release}
232 %description -n device-mapper-static
233 Static devmapper library.
235 %description -n device-mapper-static -l pl.UTF-8
236 Statyczna biblioteka devmapper.
238 %package -n device-mapper-dietlibc
239 Summary: Static devmapper library built with dietlibc
240 Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
242 Group: Development/Libraries
243 Requires: device-mapper-devel = %{version}-%{release}
245 %description -n device-mapper-dietlibc
246 Static devmapper library built with dietlibc.
248 %description -n device-mapper-dietlibc -l pl.UTF-8
249 Statyczna biblioteka devmapper zbudowana z dietlibc.
252 %setup -q -n LVM2.%{version}
253 %{?with_selinux:%patch0 -p1}
265 --enable-cache_check_needs_check \
270 %{?with_lvmdbusd:--enable-dbus-service} \
271 %{?debug:--enable-debug} \
273 --enable-dmfilemapd \
276 %{?with_cluster:--enable-lvmlockd-dlm} \
277 %{?with_sanlock:--enable-lvmlockd-sanlock} \
283 %{!?with_selinux:--disable-selinux} \
284 --disable-silent-rules \
285 --enable-thin_check_needs_check \
287 --enable-udev_rules \
288 --disable-udev-systemd-background-jobs \
289 --with-cache=internal \
290 --with-cache-check=/usr/sbin/cache_check \
291 --with-cache-dump=/usr/sbin/cache_dump \
292 --with-cache-repair=/usr/sbin/cache_repair \
293 --with-cache-restore=/usr/sbin/cache_restore \
294 --with-default-locking-dir=/var/lock/lvm \
295 --with-dmeventd-path=%{_sbindir}/dmeventd \
296 --with-interface=ioctl \
297 --with-libexecdir=%{_libexecdir} \
298 --with-mirrors=internal \
299 --with-optimisation="%{rpmcflags}" \
300 --with-snapshots=internal \
301 --with-thin=internal \
302 --with-thin-check=/usr/sbin/thin_check \
303 --with-thin-dump=/usr/sbin/thin_dump \
304 --with-thin-repair=/usr/sbin/thin_repair \
305 --with-thin-restore=/usr/sbin/thin_restore \
306 --with-udev-prefix=/ \
307 --with-usrlibdir=%{_libdir} \
308 --with-vdo=internal --with-vdo-format=%{_bindir}/vdoformat \
309 --with-writecache=internal
310 # use bash because of "set -o pipefail"
311 # V=1 still used because of missing --disable-silent-rules support in libdm (as of 2.03.09)
315 %{__make} -j1 -C libdm \
316 LIB_STATIC=libdevmapper.a \
320 rm -rf $RPM_BUILD_ROOT
321 install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig,/var/lock/lvm/subsys}
323 %{__make} install install_system_dirs install_initscripts \
324 DESTDIR=$RPM_BUILD_ROOT \
325 PYTHON_PREFIX=%{_prefix} \
329 %{__make} -C scripts \
330 DESTDIR=$RPM_BUILD_ROOT
332 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
333 for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
334 lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
335 slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
336 ln -sf $lib $RPM_BUILD_ROOT%{_libdir}/$slib
339 touch $RPM_BUILD_ROOT%{_sysconfdir}/lvm/lvm.conf
341 cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
344 rm -rf $RPM_BUILD_ROOT
346 %triggerin -- lvm2 < 2.03.00
347 %service lvm2-lvmetad stop
348 /sbin/chkconfig --del lvm2-lvmetad
350 %triggerin -- lvm2-clvmd
352 /sbin/chkconfig --del clvmd
355 /sbin/chkconfig --add lvm2-monitor
356 %service lvm2-monitor restart
357 /sbin/chkconfig --add lvm2-lvmpolld
358 %service lvm2-lvmpolld restart
359 # no service restart available
360 /sbin/chkconfig --add blk-availability
361 # no service blk-availability restart
364 if [ "$1" = "0" ]; then
365 %service lvm2-lvmpolld stop
366 /sbin/chkconfig --del lvm2-lvmpolld
367 %service lvm2-monitor stop
368 /sbin/chkconfig --del lvm2-monitor
369 #no service blk-availability stop
370 /sbin/chkconfig --del blk-availability
373 %post -n device-mapper-libs -p /sbin/ldconfig
374 %postun -n device-mapper-libs -p /sbin/ldconfig
377 %defattr(644,root,root,755)
378 %doc README WHATS_NEW doc/*
379 %attr(755,root,root) %{_sbindir}/blkdeactivate
380 %attr(755,root,root) %{_sbindir}/fsadm
381 %attr(755,root,root) %{_sbindir}/lvchange
382 %attr(755,root,root) %{_sbindir}/lvconvert
383 %attr(755,root,root) %{_sbindir}/lvcreate
384 %attr(755,root,root) %{_sbindir}/lvdisplay
385 %attr(755,root,root) %{_sbindir}/lvextend
386 %attr(755,root,root) %{_sbindir}/lvm
387 %attr(755,root,root) %{_sbindir}/lvm_import_vdo
388 %attr(755,root,root) %{_sbindir}/lvmconfig
389 %attr(755,root,root) %{_sbindir}/lvmdevices
390 %attr(755,root,root) %{_sbindir}/lvmdiskscan
391 %attr(755,root,root) %{_sbindir}/lvmdump
392 %attr(755,root,root) %{_sbindir}/lvmsadc
393 %attr(755,root,root) %{_sbindir}/lvmsar
394 %attr(755,root,root) %{_sbindir}/lvreduce
395 %attr(755,root,root) %{_sbindir}/lvremove
396 %attr(755,root,root) %{_sbindir}/lvrename
397 %attr(755,root,root) %{_sbindir}/lvresize
398 %attr(755,root,root) %{_sbindir}/lvs
399 %attr(755,root,root) %{_sbindir}/lvscan
400 %attr(755,root,root) %{_sbindir}/pvchange
401 %attr(755,root,root) %{_sbindir}/pvck
402 %attr(755,root,root) %{_sbindir}/pvcreate
403 %attr(755,root,root) %{_sbindir}/pvdisplay
404 %attr(755,root,root) %{_sbindir}/pvmove
405 %attr(755,root,root) %{_sbindir}/pvremove
406 %attr(755,root,root) %{_sbindir}/pvresize
407 %attr(755,root,root) %{_sbindir}/pvs
408 %attr(755,root,root) %{_sbindir}/pvscan
409 %attr(755,root,root) %{_sbindir}/vgcfgbackup
410 %attr(755,root,root) %{_sbindir}/vgcfgrestore
411 %attr(755,root,root) %{_sbindir}/vgchange
412 %attr(755,root,root) %{_sbindir}/vgck
413 %attr(755,root,root) %{_sbindir}/vgconvert
414 %attr(755,root,root) %{_sbindir}/vgcreate
415 %attr(755,root,root) %{_sbindir}/vgdisplay
416 %attr(755,root,root) %{_sbindir}/vgexport
417 %attr(755,root,root) %{_sbindir}/vgextend
418 %attr(755,root,root) %{_sbindir}/vgimport
419 %attr(755,root,root) %{_sbindir}/vgimportclone
420 %attr(755,root,root) %{_sbindir}/vgimportdevices
421 %attr(755,root,root) %{_sbindir}/vgmerge
422 %attr(755,root,root) %{_sbindir}/vgmknodes
423 %attr(755,root,root) %{_sbindir}/vgreduce
424 %attr(755,root,root) %{_sbindir}/vgremove
425 %attr(755,root,root) %{_sbindir}/vgrename
426 %attr(755,root,root) %{_sbindir}/vgs
427 %attr(755,root,root) %{_sbindir}/vgscan
428 %attr(755,root,root) %{_sbindir}/vgsplit
429 %attr(755,root,root) %{_libexecdir}/lvresize_fs_helper
430 %{_mandir}/man5/lvm.conf.5*
431 %{_mandir}/man7/lvmautoactivation.7*
432 %{_mandir}/man7/lvmcache.7*
433 %{_mandir}/man7/lvmraid.7*
434 %{_mandir}/man7/lvmreport.7*
435 %{_mandir}/man7/lvmsystemid.7*
436 %{_mandir}/man7/lvmthin.7*
437 %{_mandir}/man7/lvmvdo.7*
438 %{_mandir}/man8/blkdeactivate.8*
439 %{_mandir}/man8/fsadm.8*
440 %{_mandir}/man8/lvchange.8*
441 %{_mandir}/man8/lvconvert.8*
442 %{_mandir}/man8/lvcreate.8*
443 %{_mandir}/man8/lvdisplay.8*
444 %{_mandir}/man8/lvextend.8*
445 %{_mandir}/man8/lvm-config.8*
446 %{_mandir}/man8/lvm-dumpconfig.8*
447 %{_mandir}/man8/lvm-fullreport.8*
448 %{_mandir}/man8/lvm-lvpoll.8*
449 %{_mandir}/man8/lvm.8*
450 %{_mandir}/man8/lvm_import_vdo.8*
451 %{_mandir}/man8/lvmconfig.8*
452 %{_mandir}/man8/lvmdevices.8*
453 %{_mandir}/man8/lvmdiskscan.8*
454 %{_mandir}/man8/lvmdump.8*
455 %{_mandir}/man8/lvmsadc.8*
456 %{_mandir}/man8/lvmsar.8*
457 %{_mandir}/man8/lvreduce.8*
458 %{_mandir}/man8/lvremove.8*
459 %{_mandir}/man8/lvrename.8*
460 %{_mandir}/man8/lvresize.8*
461 %{_mandir}/man8/lvs.8*
462 %{_mandir}/man8/lvscan.8*
463 %{_mandir}/man8/pvchange.8*
464 %{_mandir}/man8/pvck.8*
465 %{_mandir}/man8/pvcreate.8*
466 %{_mandir}/man8/pvdisplay.8*
467 %{_mandir}/man8/pvmove.8*
468 %{_mandir}/man8/pvremove.8*
469 %{_mandir}/man8/pvresize.8*
470 %{_mandir}/man8/pvs.8*
471 %{_mandir}/man8/pvscan.8*
472 %{_mandir}/man8/vgcfgbackup.8*
473 %{_mandir}/man8/vgcfgrestore.8*
474 %{_mandir}/man8/vgchange.8*
475 %{_mandir}/man8/vgck.8*
476 %{_mandir}/man8/vgconvert.8*
477 %{_mandir}/man8/vgcreate.8*
478 %{_mandir}/man8/vgdisplay.8*
479 %{_mandir}/man8/vgexport.8*
480 %{_mandir}/man8/vgextend.8*
481 %{_mandir}/man8/vgimport.8*
482 %{_mandir}/man8/vgimportclone.8*
483 %{_mandir}/man8/vgimportdevices.8*
484 %{_mandir}/man8/vgmerge.8*
485 %{_mandir}/man8/vgmknodes.8*
486 %{_mandir}/man8/vgreduce.8*
487 %{_mandir}/man8/vgremove.8*
488 %{_mandir}/man8/vgrename.8*
489 %{_mandir}/man8/vgs.8*
490 %{_mandir}/man8/vgscan.8*
491 %{_mandir}/man8/vgsplit.8*
492 %attr(750,root,root) %dir %{_sysconfdir}/lvm
493 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
494 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
495 %attr(750,root,root) %dir %{_sysconfdir}/lvm/profile
496 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-mq.profile
497 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-smq.profile
498 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/command_profile_template.profile
499 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
500 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
501 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-performance.profile
502 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/vdo-small.profile
503 %dir %{_sysconfdir}/lvm/cache
504 %ghost %{_sysconfdir}/lvm/cache/.cache
505 %attr(754,root,root) /etc/rc.d/init.d/blk-availability
506 %attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
507 %attr(700,root,root) %dir /var/run/lvm
508 %attr(700,root,root) %dir /var/lock/lvm
509 %attr(700,root,root) %dir /var/lock/lvm/subsys
511 %attr(755,root,root) %{_sbindir}/lvmlockctl
512 %attr(755,root,root) %{_sbindir}/lvmlockd
513 %{_mandir}/man8/lvmlockctl.8*
514 %{_mandir}/man8/lvmlockd.8*
517 %attr(755,root,root) %{_sbindir}/lvmpolld
518 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmpolld
519 %{_mandir}/man8/lvmpolld.8*
524 %defattr(644,root,root,755)
525 %attr(755,root,root) %{_usrsbindir}/cmirrord
526 %attr(754,root,root) /etc/rc.d/init.d/cmirrord
527 %{_mandir}/man8/cmirrord.8*
532 %defattr(644,root,root,755)
533 %attr(755,root,root) %{_sbindir}/lvmdbusd
534 %{py3_sitescriptdir}/lvmdbusd
535 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/lvmdbusd.profile
536 %{_mandir}/man8/lvmdbusd.8*
539 %files resource-agents
540 %defattr(644,root,root,755)
541 %dir %{_prefix}/lib/ocf/resource.d/lvm2
542 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
544 %files -n device-mapper
545 %defattr(644,root,root,755)
547 /lib/udev/rules.d/10-dm.rules
548 /lib/udev/rules.d/11-dm-lvm.rules
549 /lib/udev/rules.d/13-dm-disk.rules
550 /lib/udev/rules.d/69-dm-lvm.rules
551 /lib/udev/rules.d/95-dm-notify.rules
552 %attr(755,root,root) %{_sbindir}/dmeventd
553 %attr(755,root,root) %{_sbindir}/dmfilemapd
554 %attr(755,root,root) %{_sbindir}/dmsetup
555 %attr(755,root,root) %{_sbindir}/dmstats
556 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so
557 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2raid.so
558 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.so
559 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2thin.so
560 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2vdo.so
561 %dir %{_libdir}/device-mapper
562 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so
563 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2raid.so
564 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so
565 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so
566 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2vdo.so
567 %{_mandir}/man8/dmfilemapd.8*
568 %{_mandir}/man8/dmsetup.8*
569 %{_mandir}/man8/dmstats.8*
570 %{_mandir}/man8/dmeventd.8*
572 %files -n device-mapper-libs
573 %defattr(644,root,root,755)
574 %attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
575 %attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
576 %attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
577 %attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
579 %files -n device-mapper-devel
580 %defattr(644,root,root,755)
581 %attr(755,root,root) %{_libdir}/libdevmapper.so
582 %attr(755,root,root) %{_libdir}/libdevmapper-event.so
583 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so
584 %attr(755,root,root) %{_libdir}/liblvm2cmd.so
585 %{_includedir}/libdevmapper.h
586 %{_includedir}/libdevmapper-event.h
587 %{_includedir}/lvm2cmd.h
588 %{_pkgconfigdir}/devmapper.pc
589 %{_pkgconfigdir}/devmapper-event.pc
591 %files -n device-mapper-static
592 %defattr(644,root,root,755)
593 %{_libdir}/libdevmapper.a