]> TLD Linux GIT Repositories - packages/lvm2.git/blob - lvm2.spec
- PLD merge, updated to 2.02.132
[packages/lvm2.git] / lvm2.spec
1 # TODO
2 # - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
3 # - --with-replicators (=internal/shared/none, default is none)?
4 #
5 # Conditional build:
6 %bcond_with     initrd          # build initrd version
7 %bcond_without  uClibc          # link initrd version with uClibc
8 %bcond_with     dietlibc        # link initrd version with dietlibc
9 %bcond_with     glibc           # link initrd version with static GLIBC
10 %bcond_without  cluster         # disable all cluster support (clvmd&cmirrord)
11 %bcond_without  lvmetad         # disable lvmetad (and lvmlockd)
12 %bcond_without  lvmpolld        # disable lvmpolld (and lvmlockd)
13 %bcond_without  lvmlockd        # disable lvmlockd
14 %bcond_with     sanlock         # sanlock support in lvmlockd
15 %bcond_with     replicator      # internal replicator support
16 %bcond_without  selinux         # SELinux support
17 %bcond_without  python          # Python binding
18
19 # lvmlockd requires lvmetad and lvmpolld
20 %if %{without lvmetad} || %{without lvmpolld}
21 %undefine       with_lvmpolld
22 %endif
23
24 # if one of the *libc is enabled disable default dietlibc
25 %if %{with dietlibc} && %{with uClibc}
26 %undefine       with_dietlibc
27 %endif
28
29 # with glibc disables default dietlibc
30 %if %{with glibc} && %{with dietlibc}
31 %undefine       with_dietlibc
32 %endif
33
34 # fallback is glibc if neither alternatives are enabled
35 %if %{without dietlibc} && %{without uClibc}
36 %define         with_glibc      1
37 %endif
38
39 Summary:        The new version of Logical Volume Manager for Linux
40 Summary(pl.UTF-8):      Nowa wersja Logical Volume Managera dla Linuksa
41 Name:           lvm2
42 Version:        2.02.132
43 Release:        1
44 License:        GPL v2 and LGPL v2.1
45 Group:          Applications/System
46 Source0:        ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
47 # Source0-md5:  80af5af726949bbbb2aceb15b24b7d20
48 Source1:        clvmd.sysconfig
49 Patch0:         %{name}-selinux.patch
50 Patch1:         %{name}-diet.patch
51 Patch2:         device-mapper-dmsetup-export.patch
52 Patch3:         %{name}-tld_init.patch
53 Patch4:         dl-dlsym.patch
54 Patch6:         %{name}-lvm_path.patch
55 Patch7:         %{name}-clvmd_cmd_timeout.patch
56 Patch8:         device-mapper-dmsetup-deps-export.patch
57 URL:            http://www.sourceware.org/lvm2/
58 BuildRequires:  autoconf >= 2.61
59 BuildRequires:  automake
60 # for /run detection
61 BuildRequires:  filesystem >= 3.0-43
62 BuildRequires:  libblkid-devel >= 2.24
63 %{?with_selinux:BuildRequires:  libselinux-devel >= 1.10}
64 %{?with_selinux:BuildRequires:  libsepol-devel}
65 BuildRequires:  ncurses-devel
66 BuildRequires:  pkgconfig
67 %{?with_python:BuildRequires:   python-devel >= 2}
68 BuildRequires:  readline-devel
69 BuildRequires:  rpmbuild(macros) >= 1.647
70 %{?with_sanlock:BuildRequires:  sanlock-devel >= 3.2.4}
71 BuildRequires:  udev-devel >= 1:176
72 %if %{with initrd}
73 %if %{with dietlibc}
74 BuildRequires:  dietlibc-static >= 2:0.32-7
75 BuildConflicts: device-mapper-dietlibc
76 %endif
77 %if %{with glibc}
78 %{?with_selinux:BuildRequires:  libselinux-static}
79 %{?with_selinux:BuildRequires:  libsepol-static}
80 %endif
81 %{?with_glibc:BuildRequires:    glibc-static}
82 %{?with_uClibc:BuildRequires:   uClibc-static >= 2:0.9.29}
83 %endif
84 %if %{with cluster}
85 BuildRequires:  corosync-devel
86 BuildRequires:  dlm-devel >= 3.99.5
87 %endif
88 Requires(post,postun):  /sbin/chkconfig
89 Requires:       device-mapper >= %{version}-%{release}
90 %{?with_selinux:Requires:       libselinux >= 1.10}
91 # doesn't work with 2.4 kernels
92 Requires:       uname(release) >= 2.6
93 Suggests:       thin-provisioning-tools >= 0.5.4
94 Obsoletes:      lvm
95 Obsoletes:      lvm2-systemd
96 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
97
98 %define         _sbindir        /sbin
99 %define         _usrsbindir     /usr/sbin
100
101 # changing CFLAGS in the middle confuses confcache
102 %undefine       configure_cache
103
104 # borken on AC
105 %define         filterout_ld    -Wl,--as-needed
106
107 # causes: undefined reference to `__stack_chk_fail_local'
108 %define         filterout_c     -fstack-protector
109
110 # for some reason known only to rpm there must be "\\|" not "\|" here
111 %define         dietarch        %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
112 %define         dietlibdir      %{_prefix}/lib/dietlibc/lib-%{dietarch}
113
114 %define         skip_post_check_so      '.*libdevmapper-event-lvm2.so.*'
115
116 %description
117 This package includes a number of utilities for creating, checking,
118 and repairing logical volumes.
119
120 %description -l pl.UTF-8
121 Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
122 logicznych wolumenów dyskowych (LVM2).
123
124 %package initrd
125 Summary:        The new version of Logical Volume Manager for Linux - initrd version
126 Summary(pl.UTF-8):      Nowa wersja Logical Volume Managera dla Linuksa - wersja dla initrd
127 Group:          Base
128 Conflicts:      geninitrd < 10000.18
129
130 %description initrd
131 This package includes a number of utilities for creating, checking,
132 and repairing logical volumes - staticaly linked for initrd.
133
134 %description initrd -l pl.UTF-8
135 Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
136 logicznych wolumenów dyskowych (LVM2) - statycznie skonsolidowane na
137 potrzeby initrd.
138
139 %package clvmd
140 Summary:        Cluster LVM daemon
141 Summary(pl.UTF-8):      Demon clustra LVM
142 Group:          Applications/System
143 Requires:       %{name} = %{version}-%{release}
144
145 %description clvmd
146 clvmd is the daemon that distributes LVM metadata updates around a
147 cluster. It must be running on all nodes in the cluster and will give
148 an error if a node in the cluster does not have this daemon running.
149
150 %description clvmd -l pl.UTF-8
151 clvmd to demon który rozprowadza zmiany meta-danych LVM po klastrze.
152 Mysi działać na wszystkich węzłach klastra i zgłosi błąd gdy jakiś
153 węzeł w klastrze nie ma tego demona uruchomionego.
154
155 %package cmirrord
156 Summary:        Cluster mirror log daemon
157 Summary(pl.UTF-8):      Demon śledzący log lustrzany w klastrze
158 Group:          Applications/System
159 Requires:       %{name} = %{version}-%{release}
160
161 %description cmirrord
162 cmirrord is the daemon that tracks mirror log information in a
163 cluster. It is specific to device-mapper based mirrors (and by
164 extension, LVM cluster mirrors). Cluster mirrors are not possible
165 without this daemon running.
166
167 This daemon relies on the cluster infrastructure provided by the
168 Cluster MANager (CMAN), which must be set up and running in order for
169 cmirrord to function.
170
171 %description cmirrord
172 cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
173 Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
174 (oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
175 lustrzanych ten demon jest niezbędny.
176
177 Ten demon polega na infrastrukturze klastra dostarczanej przez CMAN
178 (Cluster MANager), który musi być skonfigurowany i działający, aby
179 działał cmirrord.
180
181 %package resource-agents
182 Summary:        OCF Resource Agents for LVM2 processes
183 Summary(pl.UTF-8):      Agenci OCF do monitorowania procesów LVM2
184 Group:          Applications/System
185 Requires:       %{name} = %{version}-%{release}
186 Requires:       resource-agents
187
188 %description resource-agents
189 OCF Resource Agents for LVM2 processes.
190
191 %description resource-agents -l pl.UTF-8
192 Agenci OCF do monitorowania procesów LVM2.
193
194 %package -n python-lvm
195 Summary:        Python interface to LVM2
196 Summary(pl.UTF-8):      Interfejs Pythona do LVM2
197 Group:          Libraries/Python
198 Requires:       device-mapper-libs = %{version}-%{release}
199
200 %description -n python-lvm
201 Python interface to LVM2.
202
203 %description -n python-lvm -l pl.UTF-8
204 Interfejs Pythona do LVM2.
205
206 %package -n device-mapper
207 Summary:        Userspace support for the device-mapper
208 Summary(pl.UTF-8):      Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
209 Group:          Base
210 Requires(post,postun):  /sbin/ldconfig
211 Requires:       device-mapper-libs = %{version}-%{release}
212
213 %description -n device-mapper
214 The goal of this driver is to support volume management. The driver
215 enables the definition of new block devices composed of ranges of
216 sectors of existing devices. This can be used to define disk
217 partitions - or logical volumes. This light-weight kernel component
218 can support user-space tools for logical volume management.
219
220 %description -n device-mapper -l pl.UTF-8
221 Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
222 włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
223 sektorów na istniejących urządzeniach. Może to być wykorzystane do
224 definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
225 składnik jądra może wspierać działające w przestrzeni użytkownika
226 narzędzia do zarządzania logicznymi wolumenami.
227
228 %package -n device-mapper-libs
229 Summary:        Device-mapper shared libraries
230 Summary(pl.UTF-8):      Biblioteki współdzielone device-mappera
231 Group:          Libraries
232 Conflicts:      device-mapper < 2.02.119-1
233 Requires:       libblkid >= 2.24
234 Requires:       udev-libs >= 1:176
235
236 %description -n device-mapper-libs
237 Device-mapper shared libraries.
238
239 %description -n device-mapper-libs -l pl.UTF-8
240 Biblioteki współdzielone device-mappera.
241
242 %package -n device-mapper-devel
243 Summary:        Header files for device-mapper libraries
244 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek device-mappera
245 Group:          Development/Libraries
246 Requires:       device-mapper-libs = %{version}-%{release}
247 Requires:       libblkid-devel >= 2.24
248 %if %{with selinux}
249 Requires:       libselinux-devel
250 Requires:       libsepol-devel
251 %endif
252 Requires:       udev-devel >= 1:176
253
254 %description -n device-mapper-devel
255 Header files for device-mapper libraries.
256
257 %description -n device-mapper-devel -l pl.UTF-8
258 Pliki nagłówkowe bibliotek device-mappera.
259
260 %package -n device-mapper-static
261 Summary:        Static devmapper library
262 Summary(pl.UTF-8):      Statyczna biblioteka devmapper
263 License:        LGPL v2.1
264 Group:          Development/Libraries
265 Requires:       device-mapper-devel = %{version}-%{release}
266
267 %description -n device-mapper-static
268 Static devmapper library.
269
270 %description -n device-mapper-static -l pl.UTF-8
271 Statyczna biblioteka devmapper.
272
273 %package -n device-mapper-dietlibc
274 Summary:        Static devmapper library built with dietlibc
275 Summary(pl.UTF-8):      Statyczna biblioteka devmapper zbudowana z dietlibc
276 License:        LGPL v2.1
277 Group:          Development/Libraries
278 Requires:       device-mapper-devel = %{version}-%{release}
279
280 %description -n device-mapper-dietlibc
281 Static devmapper library built with dietlibc.
282
283 %description -n device-mapper-dietlibc -l pl.UTF-8
284 Statyczna biblioteka devmapper zbudowana z dietlibc.
285
286 %package -n device-mapper-initrd
287 Summary:        Userspace support for the device-mapper - initrd version
288 Summary(pl.UTF-8):      Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - wersja dla initrd
289 Group:          Base
290 Obsoletes:      device-mapper-initrd-devel
291 Conflicts:      geninitrd < 10000.10
292
293 %description -n device-mapper-initrd
294 The goal of this driver is to support volume management. The driver
295 enables the definition of new block devices composed of ranges of
296 sectors of existing devices. This can be used to define disk
297 partitions - or logical volumes. This light-weight kernel component
298 can support user-space tools for logical volume management.
299
300 This package contains dmsetup program linked staticaly for use in
301 initrd.
302
303 %description -n device-mapper-initrd -l pl.UTF-8
304 Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
305 włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
306 sektorów na istniejących urządzeniach. Może to być wykorzystane do
307 definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
308 składnik jądra może wspierać działające w przestrzeni użytkownika
309 narzędzia do zarządzania logicznymi wolumenami.
310
311 Ten pakiet zawiera program dmsetup skonsolidowany statycznie na
312 potrzeby initrd.
313
314 %prep
315 %setup -q -n LVM2.%{version}
316 %{?with_selinux:%patch0 -p1}
317 %patch1 -p1
318 %patch2 -p1
319 %patch3 -p1
320 %patch4 -p1
321 %patch6 -p1
322 %patch7 -p1
323 %patch8 -p1
324
325 # do not force --export-symbol linker option for e.g. statically linked executables
326 # -rdynamic compiler option drives linker in the right way.
327 %{__sed} -i -e 's#-Wl,--export-dynamic#-rdynamic#g' configure.in
328
329 %build
330 %if %{with initrd}
331 echo Using %{?with_glibc:GLIBC} %{?with_uClibc:uClibc} %{?with_dietlibc:diet} for initrd
332 %endif
333 cp -f /usr/share/automake/config.sub autoconf
334 %{__aclocal}
335 %{__autoconf}
336
337 %if %{with initrd}
338 %{?with_glibc:export CC="%{__cc}"}
339 %{?with_uClibc:export CC="%{_target_cpu}-uclibc-gcc"}
340 %{?with_dietlibc:cc="%{__cc}"; export CC="diet ${cc#ccache }"}
341
342 %configure \
343         ac_cv_lib_dl_dlopen=no \
344         %{?with_uClibc:ac_cv_func_siginterrupt=no} \
345         %{?debug:--enable-debug} \
346         --disable-nls \
347         --disable-readline \
348         --enable-selinux%{!?with_glibc:=no} \
349         --enable-static_link \
350         --with-lvm1=internal \
351         --with-optimisation="%{rpmcflags} -Os"
352 # glibc version links with normal static libdevicemapper which has selinux enabled
353 # and we need to keep these in sync between device-mapper and lvm2
354
355 %{__sed} -i -e 's#rpl_malloc#malloc#g' lib/misc/configure.h
356 %{__sed} -i -e 's#rpl_realloc#realloc#g' lib/misc/configure.h
357
358 %{__make} -j1 -C include
359 %{__make} -j1 -C lib LIB_SHARED= VERSIONED_SHLIB=
360 %{__make} -j1 -C libdm LIB_SHARED= VERSIONED_SHLIB=
361 %{__make} -j1 -C libdaemon/client LIB_SHARED= VERSIONED_SHLIB=
362 %{__make} -j1 -C tools dmsetup.static lvm.static %{?with_dietlibc:DIETLIBC_LIBS="-lcompat"}
363 mv -f tools/lvm.static initrd-lvm
364 mv -f tools/dmsetup.static initrd-dmsetup
365
366 # check if tools works
367 for tool in initrd-lvm initrd-dmsetup; do
368         LVM_SYSTEM_DIR=$(pwd) ./$tool help && rc=$? || rc=$?
369         if [ $rc -gt 127 ]; then
370                 echo >&2 "Unexpected failure (exit status: $rc) from $tool. Does this tool work?!"
371                 exit 1
372         fi
373 done
374
375 %{?with_dietlibc:mv -f libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
376 %{__make} clean
377
378 unset CC
379 %endif
380
381 %configure \
382         --enable-applib \
383         --enable-cmdlib \
384         %{?debug:--enable-debug} \
385         --enable-dmeventd \
386         --enable-fsadm \
387 %if %{with lvmlockd}
388         %{?with_cluster:--enable-lockd-dlm} \
389         %{?with_sanlock:--enable-lockd-sanlock} \
390 %endif
391         %{?with_lvmetad:--enable-lvmetad} \
392         --enable-ocf \
393         %{?with_python:--enable-python_bindings} \
394         --enable-readline \
395         %{!?with_selinux:--disable-selinux} \
396         --enable-pkgconfig \
397         --enable-udev_sync \
398         --enable-udev_rules \
399         --with-cache=internal \
400         --with-cache-check=/usr/sbin/cache_check \
401         --with-cache-dump=/usr/sbin/cache_dump \
402         --with-cache-repair=/usr/sbin/cache_repair \
403         --with-cache-restore=/usr/sbin/cache_restore \
404         --with-cluster=internal \
405 %if %{with cluster}
406         --with-clvmd=corosync \
407         --enable-cmirrord \
408 %endif
409         --with-dmeventd-path=%{_sbindir}/dmeventd \
410         --with-interface=ioctl \
411         --with-lvm1=internal \
412         --with-mirrors=internal \
413         --with-optimisation="%{rpmcflags}" \
414         --with-pool=internal \
415         %{?with_replicator:--with-replicators=internal} \
416         --with-snapshots=internal \
417         --with-thin=internal \
418         --with-thin-check=/usr/sbin/thin_check \
419         --with-thin-dump=/usr/sbin/thin_dump \
420         --with-thin-repair=/usr/sbin/thin_repair \
421         --with-thin-restore=/usr/sbin/thin_restore \
422         --with-udev-prefix=/ \
423         --with-usrlibdir=%{_libdir}
424
425 %{__make} -j1
426 %{__make} -j1 -C libdm LIB_STATIC=libdevmapper.a
427
428 %install
429 rm -rf $RPM_BUILD_ROOT
430 install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig}
431 %{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
432
433 %{__make} install install_system_dirs install_initscripts \
434         DESTDIR=$RPM_BUILD_ROOT \
435         OWNER="" \
436         GROUP=""
437
438 %{__make} -C scripts \
439         DESTDIR=$RPM_BUILD_ROOT \
440
441 %if %{with cluster}
442 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/clvmd
443 %endif
444
445 mv $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
446 for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
447         lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
448         slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
449         ln -sf $lib $RPM_BUILD_ROOT%{_libdir}/$slib
450 done
451
452 touch $RPM_BUILD_ROOT%{_sysconfdir}/lvm/lvm.conf
453
454 %if %{with initrd}
455 install -d $RPM_BUILD_ROOT%{_libdir}/initrd
456 install -p initrd-lvm $RPM_BUILD_ROOT%{_libdir}/initrd/lvm
457 install -p initrd-dmsetup $RPM_BUILD_ROOT%{_libdir}/initrd/dmsetup
458
459 %{?with_dietlibc:cp -a diet-libdevmapper.a $RPM_BUILD_ROOT%{dietlibdir}/libdevmapper.a}
460 %endif
461
462 cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
463
464 %clean
465 rm -rf $RPM_BUILD_ROOT
466
467 %post
468 /sbin/chkconfig --add lvm2-monitor
469 %service lvm2-monitor restart
470 /sbin/chkconfig --add blk-availability
471 # no service blk-availability restart
472
473 %postun
474 if [ "$1" = "0" ]; then
475         %service lvm2-monitor stop
476         /sbin/chkconfig --del lvm2-monitor
477         #no service blk-availability stop
478         /sbin/chkconfig --del blk-availability
479 fi
480
481 %post   -n device-mapper-libs -p /sbin/ldconfig
482 %postun -n device-mapper-libs -p /sbin/ldconfig
483
484 %post clvmd
485 /sbin/chkconfig --add clvmd
486 # no service restart - it breaks current locks!
487 export NORESTART=1
488 # re-exec instead
489 /usr/sbin/clvmd -S 2>/dev/null || :
490
491 %postun clvmd
492 if [ "$1" = "0" ]; then
493         %service clvmd stop
494         /sbin/chkconfig --del clvmd
495 fi
496
497 %files
498 %defattr(644,root,root,755)
499 %doc README WHATS_NEW doc/*
500 %attr(755,root,root) %{_sbindir}/blkdeactivate
501 %attr(755,root,root) %{_sbindir}/fsadm
502 %attr(755,root,root) %{_sbindir}/lv*
503 %attr(755,root,root) %{_sbindir}/pv*
504 %attr(755,root,root) %{_sbindir}/vg*
505 %{_mandir}/man5/lvm.conf.5*
506 %{_mandir}/man7/lvmcache.7*
507 %{_mandir}/man7/lvmsystemid.7*
508 %{_mandir}/man7/lvmthin.7*
509 %{_mandir}/man8/blkdeactivate.8*
510 %{_mandir}/man8/fsadm.8*
511 %{_mandir}/man8/lv*.8*
512 %{_mandir}/man8/pv*.8*
513 %{_mandir}/man8/vg*.8*
514 %attr(750,root,root) %dir %{_sysconfdir}/lvm
515 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
516 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
517 %attr(750,root,root) %dir %{_sysconfdir}/lvm/profile
518 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-mq.profile
519 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-smq.profile
520 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/command_profile_template.profile
521 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
522 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
523 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-performance.profile
524 %if %{with lvmetad}
525 /lib/udev/rules.d/69-dm-lvm-metad.rules
526 %endif
527 %dir %{_sysconfdir}/lvm/cache
528 %ghost %{_sysconfdir}/lvm/cache/.cache
529 %attr(754,root,root) /etc/rc.d/init.d/blk-availability
530 %if %{with lvmetad}
531 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmetad
532 %endif
533 %if %{with lvmpolld}
534 %attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmpolld
535 %endif
536 %attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
537 %attr(700,root,root) %dir /run/lvm
538 %attr(700,root,root) %dir /var/lock/lvm
539
540 %if %{with cluster}
541 %files clvmd
542 %defattr(644,root,root,755)
543 %attr(755,root,root) %{_usrsbindir}/clvmd
544 %attr(754,root,root) /etc/rc.d/init.d/clvmd
545 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clvmd
546 %{_mandir}/man8/clvmd.8*
547
548 %files cmirrord
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*
553 %endif
554
555 %files resource-agents
556 %defattr(644,root,root,755)
557 %dir %{_prefix}/lib/ocf/resource.d/lvm2
558 %attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
559
560 %if %{with python}
561 %files -n python-lvm
562 %defattr(644,root,root,755)
563 %attr(755,root,root) %{py_sitedir}/lvm.so
564 %{py_sitedir}/lvm-%{version}_*-py*.egg-info
565 %endif
566
567 %files -n device-mapper
568 %defattr(644,root,root,755)
569 %doc *_DM
570 /lib/udev/rules.d/10-dm.rules
571 /lib/udev/rules.d/11-dm-lvm.rules
572 /lib/udev/rules.d/13-dm-disk.rules
573 /lib/udev/rules.d/95-dm-notify.rules
574 %attr(755,root,root) %{_sbindir}/dmeventd
575 %attr(755,root,root) %{_sbindir}/dmsetup
576 %attr(755,root,root) %{_sbindir}/dmstats
577 %dir %{_libdir}/device-mapper
578 %attr(755,root,root) %{_libdir}/device-mapper/*.so
579 %attr(755,root,root) %{_libdir}/libdevmapper-event-*.so
580 %{_mandir}/man8/dmsetup.8*
581 %{_mandir}/man8/dmstats.8*
582 %{_mandir}/man8/dmeventd.8*
583
584 %files -n device-mapper-libs
585 %defattr(644,root,root,755)
586 %attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
587 %attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
588 %attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
589 %attr(755,root,root) /%{_lib}/liblvm2app.so.*.*
590 %attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
591
592 %files -n device-mapper-devel
593 %defattr(644,root,root,755)
594 %attr(755,root,root) %{_libdir}/libdevmapper.so
595 %attr(755,root,root) %{_libdir}/libdevmapper-event.so
596 %attr(755,root,root) %{_libdir}/liblvm2app.so
597 %attr(755,root,root) %{_libdir}/liblvm2cmd.so
598 %{_includedir}/libdevmapper.h
599 %{_includedir}/libdevmapper-event.h
600 %{_includedir}/lvm2app.h
601 %{_includedir}/lvm2cmd.h
602 %{_pkgconfigdir}/devmapper.pc
603 %{_pkgconfigdir}/devmapper-event.pc
604 %{_pkgconfigdir}/lvm2app.pc
605
606 %files -n device-mapper-static
607 %defattr(644,root,root,755)
608 %{_libdir}/libdevmapper.a
609
610 %if %{with initrd}
611 %if %{with dietlibc}
612 %files -n device-mapper-dietlibc
613 %defattr(644,root,root,755)
614 %{dietlibdir}/libdevmapper.a
615 %endif
616
617 %files -n device-mapper-initrd
618 %defattr(644,root,root,755)
619 %attr(755,root,root) %{_libdir}/initrd/dmsetup
620
621 %files initrd
622 %defattr(644,root,root,755)
623 %attr(755,root,root) %{_libdir}/initrd/lvm
624 %endif