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