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_without cluster # disable all cluster support (cmirrord)
10 %bcond_without lvmdbusd # lvmdbusd
11 %bcond_without lvmpolld # lvmpolld (and lvmlockd)
12 %bcond_without lvmlockd # lvmlockd
13 %bcond_with sanlock # sanlock support in lvmlockd
14 %bcond_with replicator # internal replicator support
15 # - additional features
16 %bcond_without selinux # SELinux support
18 %bcond_without python # Python bindings
19 %bcond_without python2 # Python 2 binding
20 %bcond_without python3 # Python 3 binding and lvmdbusd
24 %undefine with_python2
25 %undefine with_python3
27 %if %{without python3}
28 %undefine with_lvmdbusd
31 Summary: The new version of Logical Volume Manager for Linux
32 Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
36 License: GPL v2 and LGPL v2.1
37 Group: Applications/System
38 Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
39 # Source0-md5: 5fc07da5461a3794a751dcfc355827d5
40 Patch0: %{name}-selinux.patch
41 Patch1: device-mapper-dmsetup-export.patch
42 Patch2: %{name}-tld_init.patch
43 Patch3: %{name}-run-dir.patch
44 Patch4: device-mapper-dmsetup-deps-export.patch
45 Patch5: %{name}-thin.patch
46 Patch6: %{name}-no-systemd.patch
48 Patch8: sanlock-fix.patch
50 URL: http://www.sourceware.org/lvm2/
51 BuildRequires: autoconf >= 2.69
52 BuildRequires: automake
54 BuildRequires: filesystem >= 3.0-43
55 BuildRequires: libblkid-devel >= 2.24
56 %{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
57 %{?with_selinux:BuildRequires: libsepol-devel}
58 BuildRequires: ncurses-devel
59 BuildRequires: pkgconfig
60 %{?with_python2:BuildRequires: python-devel >= 2}
61 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
63 BuildRequires: python3-dbus
64 BuildRequires: python3-pyudev
66 BuildRequires: readline-devel
67 BuildRequires: rpmbuild(macros) >= 1.647
68 %{?with_sanlock:BuildRequires: sanlock-devel >= 3.3.0}
69 BuildRequires: udev-devel >= 1:176
71 BuildRequires: corosync-devel
72 BuildRequires: dlm-devel >= 3.99.5
74 Requires(post,postun): /sbin/chkconfig
75 Requires: device-mapper >= %{version}-%{release}
76 %{?with_selinux:Requires: libselinux >= 1.10}
77 # doesn't work with 2.4 kernels
78 Requires: uname(release) >= 2.6
79 Suggests: thin-provisioning-tools >= 0.5.4
82 Obsoletes: lvm2-systemd
83 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
85 %define _sbindir /sbin
86 %define _usrsbindir /usr/sbin
88 # changing CFLAGS in the middle confuses confcache
89 %undefine configure_cache
92 %define filterout_ld -Wl,--as-needed
94 # causes: undefined reference to `__stack_chk_fail_local'
95 %define filterout_c -fstack-protector
97 %define skip_post_check_so '.*(libdevmapper-event.so|libdevmapper-event-lvm2.so).*'
100 This package includes a number of utilities for creating, checking,
101 and repairing logical volumes.
103 %description -l pl.UTF-8
104 Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
105 logicznych wolumenów dyskowych (LVM2).
108 Summary: Cluster mirror log daemon
109 Summary(pl.UTF-8): Demon śledzący log lustrzany w klastrze
110 Group: Applications/System
111 Requires: %{name} = %{version}-%{release}
113 %description cmirrord
114 cmirrord is the daemon that tracks mirror log information in a
115 cluster. It is specific to device-mapper based mirrors (and by
116 extension, LVM cluster mirrors). Cluster mirrors are not possible
117 without this daemon running.
119 This daemon relies on the cluster infrastructure provided by the
120 Cluster MANager (CMAN), which must be set up and running in order for
121 cmirrord to function.
123 %description cmirrord
124 cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
125 Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
126 (oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
127 lustrzanych ten demon jest niezbędny.
129 Ten demon polega na infrastrukturze klastra dostarczanej przez CMAN
130 (Cluster MANager), który musi być skonfigurowany i działający, aby
134 Summary: LVM2 D-Bus daemon
135 Summary(pl.UTF-8): Demon LVM2 D-Bus
137 Requires: %{name} = %{version}-%{release}
138 Requires: python3-dbus
139 Requires: python3-pygobject3 >= 3
140 Requires: python3-pyudev
143 Daemon for access to LVM2 functionality through a D-Bus interface.
145 %description dbusd -l pl.UTF-8
146 Demon umożliwiający dostęp do funkcjonalności LVM2 poprzez interfejs
150 Summary: LVM2 locking daemon
151 Summary(pl.UTF-8): Demon blokad LVM2
153 Requires: %{name} = %{version}-%{release}
154 %{?with_cluster:Requires: dlm-libs >= 3.99.5}
155 %{?with_sanlock:Requires: sanlock-libs >= 3.3.0}
158 LVM commands use lvmlockd to coordinate access to shared storage.
160 %description lockd -l pl.UTF-8
161 Polecenia LVM wykorzystują lvmlockd do koordynowania dostępu do
162 współdzielonej pamięci masowej.
164 %package resource-agents
165 Summary: OCF Resource Agents for LVM2 processes
166 Summary(pl.UTF-8): Agenci OCF do monitorowania procesów LVM2
167 Group: Applications/System
168 Requires: %{name} = %{version}-%{release}
169 Requires: resource-agents
171 %description resource-agents
172 OCF Resource Agents for LVM2 processes.
174 %description resource-agents -l pl.UTF-8
175 Agenci OCF do monitorowania procesów LVM2.
177 %package -n python-lvm
178 Summary: Python 2 interface to LVM2
179 Summary(pl.UTF-8): Interfejs Pythona 2 do LVM2
180 Group: Libraries/Python
181 Requires: device-mapper-libs = %{version}-%{release}
183 %description -n python-lvm
184 Python 2 interface to LVM2.
186 %description -n python-lvm -l pl.UTF-8
187 Interfejs Pythona 2 do LVM2.
189 %package -n python3-lvm
190 Summary: Python 3 interface to LVM2
191 Summary(pl.UTF-8): Interfejs Pythona 3 do LVM2
192 Group: Libraries/Python
193 Requires: device-mapper-libs = %{version}-%{release}
195 %description -n python3-lvm
196 Python 3 interface to LVM2.
198 %description -n python3-lvm -l pl.UTF-8
199 Interfejs Pythona 3 do LVM2.
201 %package -n device-mapper
202 Summary: Userspace support for the device-mapper
203 Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
205 Requires(post,postun): /sbin/ldconfig
206 Requires: device-mapper-libs = %{version}-%{release}
208 %description -n device-mapper
209 The goal of this driver is to support volume management. The driver
210 enables the definition of new block devices composed of ranges of
211 sectors of existing devices. This can be used to define disk
212 partitions - or logical volumes. This light-weight kernel component
213 can support user-space tools for logical volume management.
215 %description -n device-mapper -l pl.UTF-8
216 Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
217 włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
218 sektorów na istniejących urządzeniach. Może to być wykorzystane do
219 definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
220 składnik jądra może wspierać działające w przestrzeni użytkownika
221 narzędzia do zarządzania logicznymi wolumenami.
223 %package -n device-mapper-libs
224 Summary: Device-mapper shared libraries
225 Summary(pl.UTF-8): Biblioteki współdzielone device-mappera
227 Requires: libblkid >= 2.24
228 Requires: udev-libs >= 1:176
229 Conflicts: device-mapper < 2.02.119-1
231 %description -n device-mapper-libs
232 Device-mapper shared libraries.
234 %description -n device-mapper-libs -l pl.UTF-8
235 Biblioteki współdzielone device-mappera.
237 %package -n device-mapper-devel
238 Summary: Header files for device-mapper libraries
239 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek device-mappera
240 Group: Development/Libraries
241 Requires: device-mapper-libs = %{version}-%{release}
242 Requires: libblkid-devel >= 2.24
244 Requires: libselinux-devel
245 Requires: libsepol-devel
247 Requires: udev-devel >= 1:176
249 %description -n device-mapper-devel
250 Header files for device-mapper libraries.
252 %description -n device-mapper-devel -l pl.UTF-8
253 Pliki nagłówkowe bibliotek device-mappera.
255 %package -n device-mapper-static
256 Summary: Static devmapper library
257 Summary(pl.UTF-8): Statyczna biblioteka devmapper
259 Group: Development/Libraries
260 Requires: device-mapper-devel = %{version}-%{release}
262 %description -n device-mapper-static
263 Static devmapper library.
265 %description -n device-mapper-static -l pl.UTF-8
266 Statyczna biblioteka devmapper.
268 %package -n device-mapper-dietlibc
269 Summary: Static devmapper library built with dietlibc
270 Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
272 Group: Development/Libraries
273 Requires: device-mapper-devel = %{version}-%{release}
275 %description -n device-mapper-dietlibc
276 Static devmapper library built with dietlibc.
278 %description -n device-mapper-dietlibc -l pl.UTF-8
279 Statyczna biblioteka devmapper zbudowana z dietlibc.
282 %setup -q -n LVM2.%{version}
283 %{?with_selinux:%patch0 -p1}
294 # do not force --export-symbol linker option for e.g. statically linked executables
295 # -rdynamic compiler option drives linker in the right way.
296 %{__sed} -i -e 's#-Wl,--export-dynamic#-rdynamic#g' configure.ac
299 cp -f /usr/share/automake/config.sub autoconf
305 --enable-cache_check_needs_check \
307 %{?with_lvmdbusd:--enable-dbus-service} \
308 %{?debug:--enable-debug} \
311 --with-default-locking-dir=/var/lock/lvm \
313 %{?with_cluster:--enable-lvmlockd-dlm} \
314 %{?with_sanlock:--enable-lvmlockd-sanlock} \
318 %{?with_python2:--enable-python2_bindings} \
319 %{?with_python3:--enable-python3_bindings} \
321 %{!?with_selinux:--disable-selinux} \
323 --enable-thin_check_needs_check \
325 --enable-udev_rules \
326 --disable-udev-systemd-background-jobs \
327 --with-cache=internal \
328 --with-cache-check=/usr/sbin/cache_check \
329 --with-cache-dump=/usr/sbin/cache_dump \
330 --with-cache-repair=/usr/sbin/cache_repair \
331 --with-cache-restore=/usr/sbin/cache_restore \
332 --with-cluster=internal \
336 --with-dmeventd-path=%{_sbindir}/dmeventd \
337 --with-interface=ioctl \
338 --with-lvm1=internal \
339 --with-mirrors=internal \
340 --with-optimisation="%{rpmcflags}" \
341 --with-pool=internal \
342 %{?with_replicator:--with-replicators=internal} \
343 --with-snapshots=internal \
344 --with-thin=internal \
345 --with-thin-check=/usr/sbin/thin_check \
346 --with-thin-dump=/usr/sbin/thin_dump \
347 --with-thin-repair=/usr/sbin/thin_repair \
348 --with-thin-restore=/usr/sbin/thin_restore \
349 --with-udev-prefix=/ \
350 --with-usrlibdir=%{_libdir}
351 # use bash because of "set -o pipefail"
354 %{__make} -j1 -C libdm \
355 LIB_STATIC=libdevmapper.a
358 rm -rf $RPM_BUILD_ROOT
359 install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig}
361 %{__make} install install_system_dirs install_initscripts \
362 DESTDIR=$RPM_BUILD_ROOT \
365 python3dir=%{py3_sitescriptdir}
367 %{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
368 for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
369 lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
370 slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
371 ln -sf $lib $RPM_BUILD_ROOT%{_libdir}/$slib
374 touch $RPM_BUILD_ROOT%{_sysconfdir}/lvm/lvm.conf
376 cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
379 rm -rf $RPM_BUILD_ROOT
381 %triggerin -- lvm2 < 2.03.00
382 %service lvm2-lvmetad stop
383 /sbin/chkconfig --del lvm2-lvmetad
385 %triggerin -- lvm2-clvmd
387 /sbin/chkconfig --del clvmd
390 /sbin/chkconfig --add lvm2-monitor
391 %service lvm2-monitor restart
392 /sbin/chkconfig --add lvm2-lvmpolld
393 %service lvm2-lvmpolld restart
394 # no service restart available
395 /sbin/chkconfig --add blk-availability
396 # no service blk-availability restart
399 if [ "$1" = "0" ]; then
400 %service lvm2-lvmpolld stop
401 /sbin/chkconfig --del lvm2-lvmpolld
402 %service lvm2-monitor stop
403 /sbin/chkconfig --del lvm2-monitor
404 #no service blk-availability stop
405 /sbin/chkconfig --del blk-availability
408 %post -n device-mapper-libs -p /sbin/ldconfig
409 %postun -n device-mapper-libs -p /sbin/ldconfig
412 %defattr(644,root,root,755)
413 %doc README WHATS_NEW doc/*
414 %attr(755,root,root) %{_sbindir}/blkdeactivate
415 %attr(755,root,root) %{_sbindir}/fsadm
416 %attr(755,root,root) %{_sbindir}/lvchange
417 %attr(755,root,root) %{_sbindir}/lvconvert
418 %attr(755,root,root) %{_sbindir}/lvcreate
419 %attr(755,root,root) %{_sbindir}/lvdisplay
420 %attr(755,root,root) %{_sbindir}/lvextend
421 %attr(755,root,root) %{_sbindir}/lvm
422 %attr(755,root,root) %{_sbindir}/lvmconfig
423 %attr(755,root,root) %{_sbindir}/lvmdiskscan
424 %attr(755,root,root) %{_sbindir}/lvmdump
425 %attr(755,root,root) %{_sbindir}/lvmsadc
426 %attr(755,root,root) %{_sbindir}/lvmsar
427 %attr(755,root,root) %{_sbindir}/lvreduce
428 %attr(755,root,root) %{_sbindir}/lvremove
429 %attr(755,root,root) %{_sbindir}/lvrename
430 %attr(755,root,root) %{_sbindir}/lvresize
431 %attr(755,root,root) %{_sbindir}/lvs
432 %attr(755,root,root) %{_sbindir}/lvscan
433 %attr(755,root,root) %{_sbindir}/pvchange
434 %attr(755,root,root) %{_sbindir}/pvck
435 %attr(755,root,root) %{_sbindir}/pvcreate
436 %attr(755,root,root) %{_sbindir}/pvdisplay
437 %attr(755,root,root) %{_sbindir}/pvmove
438 %attr(755,root,root) %{_sbindir}/pvremove
439 %attr(755,root,root) %{_sbindir}/pvresize
440 %attr(755,root,root) %{_sbindir}/pvs
441 %attr(755,root,root) %{_sbindir}/pvscan
442 %attr(755,root,root) %{_sbindir}/vgcfgbackup
443 %attr(755,root,root) %{_sbindir}/vgcfgrestore
444 %attr(755,root,root) %{_sbindir}/vgchange
445 %attr(755,root,root) %{_sbindir}/vgck
446 %attr(755,root,root) %{_sbindir}/vgconvert
447 %attr(755,root,root) %{_sbindir}/vgcreate
448 %attr(755,root,root) %{_sbindir}/vgdisplay
449 %attr(755,root,root) %{_sbindir}/vgexport
450 %attr(755,root,root) %{_sbindir}/vgextend
451 %attr(755,root,root) %{_sbindir}/vgimport
452 %attr(755,root,root) %{_sbindir}/vgimportclone
453 %attr(755,root,root) %{_sbindir}/vgmerge
454 %attr(755,root,root) %{_sbindir}/vgmknodes
455 %attr(755,root,root) %{_sbindir}/vgreduce
456 %attr(755,root,root) %{_sbindir}/vgremove
457 %attr(755,root,root) %{_sbindir}/vgrename
458 %attr(755,root,root) %{_sbindir}/vgs
459 %attr(755,root,root) %{_sbindir}/vgscan
460 %attr(755,root,root) %{_sbindir}/vgsplit
461 %{_mandir}/man5/lvm.conf.5*
462 %{_mandir}/man7/lvmcache.7*
463 %{_mandir}/man7/lvmraid.7*
464 %{_mandir}/man7/lvmreport.7*
465 %{_mandir}/man7/lvmsystemid.7*
466 %{_mandir}/man7/lvmthin.7*
467 %{_mandir}/man8/blkdeactivate.8*
468 %{_mandir}/man8/fsadm.8*
469 %{_mandir}/man8/lvchange.8*
470 %{_mandir}/man8/lvconvert.8*
471 %{_mandir}/man8/lvcreate.8*
472 %{_mandir}/man8/lvdisplay.8*
473 %{_mandir}/man8/lvextend.8*
474 %{_mandir}/man8/lvm-config.8*
475 %{_mandir}/man8/lvm-dumpconfig.8*
476 %{_mandir}/man8/lvm-fullreport.8*
477 %{_mandir}/man8/lvm-lvpoll.8*
478 %{_mandir}/man8/lvm.8*
479 %{_mandir}/man8/lvmconfig.8*
480 %{_mandir}/man8/lvmdiskscan.8*
481 %{_mandir}/man8/lvmdump.8*
482 %{_mandir}/man8/lvmsadc.8*
483 %{_mandir}/man8/lvmsar.8*
484 %{_mandir}/man8/lvreduce.8*
485 %{_mandir}/man8/lvremove.8*
486 %{_mandir}/man8/lvrename.8*
487 %{_mandir}/man8/lvresize.8*
488 %{_mandir}/man8/lvs.8*
489 %{_mandir}/man8/lvscan.8*
490 %{_mandir}/man8/pvchange.8*
491 %{_mandir}/man8/pvck.8*
492 %{_mandir}/man8/pvcreate.8*
493 %{_mandir}/man8/pvdisplay.8*
494 %{_mandir}/man8/pvmove.8*
495 %{_mandir}/man8/pvremove.8*
496 %{_mandir}/man8/pvresize.8*
497 %{_mandir}/man8/pvs.8*
498 %{_mandir}/man8/pvscan.8*
499 %{_mandir}/man8/vgcfgbackup.8*
500 %{_mandir}/man8/vgcfgrestore.8*
501 %{_mandir}/man8/vgchange.8*
502 %{_mandir}/man8/vgck.8*
503 %{_mandir}/man8/vgconvert.8*
504 %{_mandir}/man8/vgcreate.8*
505 %{_mandir}/man8/vgdisplay.8*
506 %{_mandir}/man8/vgexport.8*
507 %{_mandir}/man8/vgextend.8*
508 %{_mandir}/man8/vgimport.8*
509 %{_mandir}/man8/vgimportclone.8*
510 %{_mandir}/man8/vgmerge.8*
511 %{_mandir}/man8/vgmknodes.8*
512 %{_mandir}/man8/vgreduce.8*
513 %{_mandir}/man8/vgremove.8*
514 %{_mandir}/man8/vgrename.8*
515 %{_mandir}/man8/vgs.8*
516 %{_mandir}/man8/vgscan.8*
517 %{_mandir}/man8/vgsplit.8*
518 %attr(750,root,root) %dir %{_sysconfdir}/lvm
519 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
520 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
521 %attr(750,root,root) %dir %{_sysconfdir}/lvm/profile
522 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-mq.profile
523 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-smq.profile
524 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/command_profile_template.profile
525 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
526 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
527 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-performance.profile
528 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/vdo-small.profile
529 %dir %{_sysconfdir}/lvm/cache
530 %ghost %{_sysconfdir}/lvm/cache/.cache
531 %attr(754,root,root) /etc/rc.d/init.d/blk-availability
532 %attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
533 %attr(700,root,root) %dir /var/run/lvm
534 %attr(700,root,root) %dir /var/lock/lvm
536 %attr(755,root,root) %{_sbindir}/lvmlockctl
537 %attr(755,root,root) %{_sbindir}/lvmlockd
538 %{_mandir}/man8/lvmlockctl.8*
539 %{_mandir}/man8/lvmlockd.8*
542 %attr(755,root,root) %{_sbindir}/lvmpolld
543 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmpolld
544 %{_mandir}/man8/lvmpolld.8*
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_usrsbindir}/cmirrord
551 %attr(754,root,root) /etc/rc.d/init.d/cmirrord
552 %{_mandir}/man8/cmirrord.8*
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_sbindir}/lvmdbusd
559 %{py3_sitescriptdir}/lvmdbusd
560 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/lvmdbusd.profile
561 %{_mandir}/man8/lvmdbusd.8*
564 %files resource-agents
565 %defattr(644,root,root,755)
566 %dir %{_prefix}/lib/ocf/resource.d/lvm2
567 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
571 %defattr(644,root,root,755)
572 #%attr(755,root,root) %{py_sitedir}/lvm.so
573 #%{py_sitedir}/lvm-%{version}_*-py*.egg-info
577 %files -n python3-lvm
578 %defattr(644,root,root,755)
579 #%attr(755,root,root) %{py3_sitedir}/lvm.cpython-*.so
580 #%{py3_sitedir}/lvm-%{version}_*-py*.egg-info
583 %files -n device-mapper
584 %defattr(644,root,root,755)
586 /lib/udev/rules.d/10-dm.rules
587 /lib/udev/rules.d/11-dm-lvm.rules
588 /lib/udev/rules.d/13-dm-disk.rules
589 /lib/udev/rules.d/69-dm-lvm-metad.rules
590 /lib/udev/rules.d/95-dm-notify.rules
591 %attr(755,root,root) %{_sbindir}/dmeventd
592 %attr(755,root,root) %{_sbindir}/dmsetup
593 %attr(755,root,root) %{_sbindir}/dmstats
594 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so
595 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2raid.so
596 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.so
597 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2thin.so
598 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2vdo.so
599 %dir %{_libdir}/device-mapper
600 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so
601 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2raid.so
602 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so
603 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so
604 %attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2vdo.so
605 %{_mandir}/man8/dmsetup.8*
606 %{_mandir}/man8/dmstats.8*
607 %{_mandir}/man8/dmeventd.8*
609 %files -n device-mapper-libs
610 %defattr(644,root,root,755)
611 %attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
612 %attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
613 %attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
614 %attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
616 %files -n device-mapper-devel
617 %defattr(644,root,root,755)
618 %attr(755,root,root) %{_libdir}/libdevmapper.so
619 %attr(755,root,root) %{_libdir}/libdevmapper-event.so
620 %attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so
621 %attr(755,root,root) %{_libdir}/liblvm2cmd.so
622 %{_includedir}/libdevmapper.h
623 %{_includedir}/libdevmapper-event.h
624 %{_includedir}/lvm2cmd.h
625 %{_pkgconfigdir}/devmapper.pc
626 %{_pkgconfigdir}/devmapper-event.pc
628 %files -n device-mapper-static
629 %defattr(644,root,root,755)
630 %{_libdir}/libdevmapper.a