]> git.pld-linux.org Git - packages/lvm2.git/blame - lvm2.spec
- updated to 2.02.182
[packages/lvm2.git] / lvm2.spec
CommitLineData
e3a928dc 1# TODO
e3a928dc 2# - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
dab0ac18
JB
3# - internal vs shared for cluster,snapshots,mirrors,thin,cache ?
4# note: dmeventd requires mirrors=internal)
1b67453e 5#
99958222 6# Conditional build:
e2727f8c 7# - initrd stuff
54ec8eef 8%bcond_with initrd # build initrd version
fe052975
JR
9%bcond_without uClibc # link initrd version with uClibc
10%bcond_with dietlibc # link initrd version with dietlibc
5f0ee085 11%bcond_with glibc # link initrd version with static GLIBC
54ec8eef 12# - functionality
7e873dd0 13%bcond_without cluster # disable all cluster support (clvmd&cmirrord)
e2727f8c
JB
14%bcond_without lvmetad # lvmetad (and lvmlockd)
15%bcond_without lvmdbusd # lvmdbusd
16%bcond_without lvmpolld # lvmpolld (and lvmlockd)
17%bcond_without lvmlockd # lvmlockd
54ec8eef 18%bcond_with sanlock # sanlock support in lvmlockd
54ec8eef
JB
19# - additional features
20%bcond_without selinux # SELinux support
21# - bindings
e2727f8c
JB
22%bcond_without python # Python bindings
23%bcond_without python2 # Python 2 binding
24%bcond_without python3 # Python 3 binding and lvmdbusd
c70b42f6 25
54ec8eef
JB
26# lvmlockd requires lvmetad and lvmpolld
27%if %{without lvmetad} || %{without lvmpolld}
28%undefine with_lvmpolld
66800f6a 29%endif
c70b42f6 30
54ec8eef
JB
31# only glibc possible on SPARC
32%ifarch sparc sparcv9 sparc64
33%define with_glibc 1
34%endif
c70b42f6
JR
35# if one of the *libc is enabled disable default dietlibc
36%if %{with dietlibc} && %{with uClibc}
37%undefine with_dietlibc
38%endif
f1e27504 39# with glibc disables default dietlibc
c70b42f6
JR
40%if %{with glibc} && %{with dietlibc}
41%undefine with_dietlibc
42%endif
f1e27504
ER
43# fallback is glibc if neither alternatives are enabled
44%if %{without dietlibc} && %{without uClibc}
45%define with_glibc 1
46%endif
e2727f8c
JB
47# for convenience
48%if %{without python}
49%undefine with_python2
50%undefine with_python3
51%endif
52%if %{without python3}
53%undefine with_lvmdbusd
54%endif
f1e27504 55
5672aa67 56Summary: The new version of Logical Volume Manager for Linux
6536e848 57Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
7e72c866 58Name: lvm2
60433211 59Version: 2.02.182
dab0ac18 60Release: 1
0a81c260 61License: GPL v2 and LGPL v2.1
7e72c866 62Group: Applications/System
dc5d0e77 63Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
60433211 64# Source0-md5: 66df72b32e1b8798dd165302e1bdd5dc
0d673991
JK
65Source2: clvmd.service
66Source3: clvmd.sysconfig
c70b42f6 67Patch1: %{name}-diet.patch
9a00e98a 68Patch2: device-mapper-dmsetup-export.patch
4cb4934b 69Patch3: %{name}-pld_init.patch
b747c17a 70Patch4: dl-dlsym.patch
7d8cfaa5 71Patch7: %{name}-sd_notify.patch
105f82c3 72Patch8: %{name}-clvmd_cmd_timeout.patch
14fc1988 73Patch9: device-mapper-dmsetup-deps-export.patch
e2727f8c 74Patch11: %{name}-thin.patch
35a842cf 75URL: http://www.sourceware.org/lvm2/
e2727f8c 76BuildRequires: autoconf >= 2.69
7e72c866 77BuildRequires: automake
54ec8eef
JB
78# for /run detection
79BuildRequires: filesystem >= 3.0-43
dab0ac18 80BuildRequires: libaio-devel
35a842cf 81BuildRequires: libblkid-devel >= 2.24
0dc2b8f2 82%{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
e4a12efb 83%{?with_selinux:BuildRequires: libsepol-devel}
5f0ee085 84BuildRequires: ncurses-devel
3657a56d 85BuildRequires: pkgconfig
e2727f8c
JB
86%{?with_python2:BuildRequires: python-devel >= 2}
87%{?with_python3:BuildRequires: python3-devel >= 1:3.2}
88%if %{with lvmdbusd}
89BuildRequires: python3-dbus
3f157960 90BuildRequires: python3-pyudev
e2727f8c 91%endif
5f0ee085 92BuildRequires: readline-devel
b5640c74 93BuildRequires: rpmbuild(macros) >= 1.647
e2727f8c 94%{?with_sanlock:BuildRequires: sanlock-devel >= 3.3.0}
b7318447 95BuildRequires: systemd-devel >= 1:221
35a842cf 96BuildRequires: udev-devel >= 1:176
1ccfba6c 97%if %{with initrd}
fa9e8aeb 98%if %{with dietlibc}
39c8d1d5 99BuildRequires: dietlibc-static >= 2:0.32-7
fa9e8aeb
AM
100BuildConflicts: device-mapper-dietlibc
101%endif
b64b85c5
ER
102%if %{with glibc}
103%{?with_selinux:BuildRequires: libselinux-static}
104%{?with_selinux:BuildRequires: libsepol-static}
105%endif
c70b42f6
JR
106%{?with_glibc:BuildRequires: glibc-static}
107%{?with_uClibc:BuildRequires: uClibc-static >= 2:0.9.29}
8a4b1939
AM
108%else
109Obsoletes: lvm2-initrd
1ccfba6c 110%endif
7e873dd0 111%if %{with cluster}
5f0ee085 112BuildRequires: corosync-devel
4cb4934b 113BuildRequires: dlm-devel >= 3.99.5
5f0ee085 114%endif
b5640c74 115Requires(post,preun,postun): systemd-units >= 38
0a81c260 116Requires(post,postun): /sbin/chkconfig
b167057a 117Requires: device-mapper >= %{version}-%{release}
0dc2b8f2 118%{?with_selinux:Requires: libselinux >= 1.10}
b5640c74 119Requires: systemd-units >= 38
1534f04d
ER
120# doesn't work with 2.4 kernels
121Requires: uname(release) >= 2.6
54ec8eef 122Suggests: thin-provisioning-tools >= 0.5.4
25b6b609 123Obsoletes: lvm
c35cea65 124Obsoletes: lvm2-systemd
7e72c866
JR
125BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
126
127%define _sbindir /sbin
9ab13f24 128%define _usrsbindir /usr/sbin
7e72c866 129
0fbd6aae
ER
130# changing CFLAGS in the middle confuses confcache
131%undefine configure_cache
132
87a7d834
ER
133# borken on AC
134%define filterout_ld -Wl,--as-needed
135
4cb4934b
JK
136# causes: undefined reference to `__stack_chk_fail_local'
137%define filterout_c -fstack-protector
138
c70b42f6
JR
139# for some reason known only to rpm there must be "\\|" not "\|" here
140%define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
141%define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
142
f8fa85d0
PS
143%define skip_post_check_so '.*libdevmapper-event-lvm2.so.*'
144
7e72c866
JR
145%description
146This package includes a number of utilities for creating, checking,
147and repairing logical volumes.
148
68d45726
JR
149%description -l pl.UTF-8
150Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
151logicznych wolumenów dyskowych (LVM2).
7e72c866 152
7e72c866 153%package initrd
5672aa67 154Summary: The new version of Logical Volume Manager for Linux - initrd version
6536e848 155Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa - wersja dla initrd
7e72c866 156Group: Base
16ddcbd0 157Conflicts: geninitrd < 10000.18
7e72c866
JR
158
159%description initrd
160This package includes a number of utilities for creating, checking,
161and repairing logical volumes - staticaly linked for initrd.
162
68d45726
JR
163%description initrd -l pl.UTF-8
164Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
165logicznych wolumenów dyskowych (LVM2) - statycznie skonsolidowane na
7e72c866
JR
166potrzeby initrd.
167
7e873dd0
JK
168%package clvmd
169Summary: Cluster LVM daemon
170Summary(pl.UTF-8): Demon clustra LVM
171Group: Applications/System
1aa2f585 172Requires: %{name} = %{version}-%{release}
7e873dd0
JK
173
174%description clvmd
4cb4934b
JK
175clvmd is the daemon that distributes LVM metadata updates around a
176cluster. It must be running on all nodes in the cluster and will give
177an error if a node in the cluster does not have this daemon running.
7e873dd0
JK
178
179%description clvmd -l pl.UTF-8
180clvmd to demon który rozprowadza zmiany meta-danych LVM po klastrze.
4cb4934b
JK
181Mysi działać na wszystkich węzłach klastra i zgłosi błąd gdy jakiś
182węzeł w klastrze nie ma tego demona uruchomionego.
7e873dd0
JK
183
184%package cmirrord
185Summary: Cluster mirror log daemon
41c3aabb 186Summary(pl.UTF-8): Demon śledzący log lustrzany w klastrze
7e873dd0 187Group: Applications/System
1aa2f585 188Requires: %{name} = %{version}-%{release}
7e873dd0
JK
189
190%description cmirrord
4cb4934b
JK
191cmirrord is the daemon that tracks mirror log information in a
192cluster. It is specific to device-mapper based mirrors (and by
193extension, LVM cluster mirrors). Cluster mirrors are not possible
194without this daemon running.
7e873dd0 195
4cb4934b
JK
196This daemon relies on the cluster infrastructure provided by the
197Cluster MANager (CMAN), which must be set up and running in order for
198cmirrord to function.
7e873dd0 199
35a842cf
JB
200%description cmirrord
201cmirrord to demon śledzący informacje logu lustrzanego w klastrze.
202Jest specyficzny dla klastrów lustrzanych opartych na device-mapperze
203(oraz, poprzez rozszerzenie, klastrów lustrzanych LVM). W klastrach
204lustrzanych ten demon jest niezbędny.
205
206Ten demon polega na infrastrukturze klastra dostarczanej przez CMAN
207(Cluster MANager), który musi być skonfigurowany i działający, aby
208działał cmirrord.
209
e2727f8c
JB
210%package dbusd
211Summary: LVM2 D-Bus daemon
212Summary(pl.UTF-8): Demon LVM2 D-Bus
213Group: Daemons
214Requires(post,preun,postun): systemd-units >= 38
215Requires: %{name} = %{version}-%{release}
216Requires: python3-dbus
e2727f8c 217Requires: python3-pygobject3 >= 3
15eca5aa 218Requires: python3-pyudev
e2727f8c
JB
219
220%description dbusd
221Daemon for access to LVM2 functionality through a D-Bus interface.
222
223%description dbusd -l pl.UTF-8
224Demon umożliwiający dostęp do funkcjonalności LVM2 poprzez interfejs
225D-Bus.
226
227%package lockd
228Summary: LVM2 locking daemon
229Summary(pl.UTF-8): Demon blokad LVM2
230Group: Daemons
231Requires(post,preun,postun): systemd-units >= 38
232Requires: %{name} = %{version}-%{release}
e2727f8c 233%{?with_cluster:Requires: dlm-libs >= 3.99.5}
15eca5aa 234%{?with_sanlock:Requires: sanlock-libs >= 3.3.0}
e2727f8c
JB
235
236%description lockd
237LVM commands use lvmlockd to coordinate access to shared storage.
238
239%description lockd -l pl.UTF-8
240Polecenia LVM wykorzystują lvmlockd do koordynowania dostępu do
241współdzielonej pamięci masowej.
242
e55d5c02
JB
243%package resource-agents
244Summary: OCF Resource Agents for LVM2 processes
245Summary(pl.UTF-8): Agenci OCF do monitorowania procesów LVM2
246Group: Applications/System
247Requires: %{name} = %{version}-%{release}
248Requires: resource-agents
249
250%description resource-agents
251OCF Resource Agents for LVM2 processes.
252
253%description resource-agents -l pl.UTF-8
254Agenci OCF do monitorowania procesów LVM2.
255
35a842cf 256%package -n python-lvm
e2727f8c
JB
257Summary: Python 2 interface to LVM2
258Summary(pl.UTF-8): Interfejs Pythona 2 do LVM2
35a842cf
JB
259Group: Libraries/Python
260Requires: device-mapper-libs = %{version}-%{release}
261
262%description -n python-lvm
e2727f8c 263Python 2 interface to LVM2.
35a842cf
JB
264
265%description -n python-lvm -l pl.UTF-8
e2727f8c
JB
266Interfejs Pythona 2 do LVM2.
267
268%package -n python3-lvm
269Summary: Python 3 interface to LVM2
270Summary(pl.UTF-8): Interfejs Pythona 3 do LVM2
271Group: Libraries/Python
272Requires: device-mapper-libs = %{version}-%{release}
273
274%description -n python3-lvm
275Python 3 interface to LVM2.
276
277%description -n python3-lvm -l pl.UTF-8
278Interfejs Pythona 3 do LVM2.
35a842cf 279
b167057a
AM
280%package -n device-mapper
281Summary: Userspace support for the device-mapper
282Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
283Group: Base
e7dd8435 284Requires(post,postun): /sbin/ldconfig
798d7327 285Requires(post,preun,postun): systemd-units >= 38
35a842cf 286Requires: device-mapper-libs = %{version}-%{release}
b5640c74 287Requires: systemd-units >= 38
b167057a
AM
288
289%description -n device-mapper
290The goal of this driver is to support volume management. The driver
291enables the definition of new block devices composed of ranges of
292sectors of existing devices. This can be used to define disk
293partitions - or logical volumes. This light-weight kernel component
294can support user-space tools for logical volume management.
295
296%description -n device-mapper -l pl.UTF-8
297Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
298włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
299sektorów na istniejących urządzeniach. Może to być wykorzystane do
300definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
301składnik jądra może wspierać działające w przestrzeni użytkownika
302narzędzia do zarządzania logicznymi wolumenami.
303
35a842cf
JB
304%package -n device-mapper-libs
305Summary: Device-mapper shared libraries
306Summary(pl.UTF-8): Biblioteki współdzielone device-mappera
307Group: Libraries
35a842cf
JB
308Requires: libblkid >= 2.24
309Requires: udev-libs >= 1:176
15eca5aa 310Conflicts: device-mapper < 2.02.119-1
35a842cf
JB
311
312%description -n device-mapper-libs
313Device-mapper shared libraries.
314
315%description -n device-mapper-libs -l pl.UTF-8
316Biblioteki współdzielone device-mappera.
317
b167057a 318%package -n device-mapper-devel
35a842cf
JB
319Summary: Header files for device-mapper libraries
320Summary(pl.UTF-8): Pliki nagłówkowe bibliotek device-mappera
b167057a 321Group: Development/Libraries
35a842cf
JB
322Requires: device-mapper-libs = %{version}-%{release}
323Requires: libblkid-devel >= 2.24
b167057a
AM
324%if %{with selinux}
325Requires: libselinux-devel
326Requires: libsepol-devel
327%endif
35a842cf 328Requires: udev-devel >= 1:176
b167057a
AM
329
330%description -n device-mapper-devel
35a842cf 331Header files for device-mapper libraries.
b167057a
AM
332
333%description -n device-mapper-devel -l pl.UTF-8
35a842cf 334Pliki nagłówkowe bibliotek device-mappera.
b167057a
AM
335
336%package -n device-mapper-static
337Summary: Static devmapper library
338Summary(pl.UTF-8): Statyczna biblioteka devmapper
339License: LGPL v2.1
340Group: Development/Libraries
dc900ced 341Requires: device-mapper-devel = %{version}-%{release}
b167057a
AM
342
343%description -n device-mapper-static
344Static devmapper library.
345
346%description -n device-mapper-static -l pl.UTF-8
347Statyczna biblioteka devmapper.
348
c70b42f6
JR
349%package -n device-mapper-dietlibc
350Summary: Static devmapper library built with dietlibc
351Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
352License: LGPL v2.1
353Group: Development/Libraries
354Requires: device-mapper-devel = %{version}-%{release}
355
356%description -n device-mapper-dietlibc
357Static devmapper library built with dietlibc.
358
359%description -n device-mapper-dietlibc -l pl.UTF-8
360Statyczna biblioteka devmapper zbudowana z dietlibc.
361
4a323c26
JR
362%package -n device-mapper-initrd
363Summary: Userspace support for the device-mapper - initrd version
364Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - wersja dla initrd
365Group: Base
366Obsoletes: device-mapper-initrd-devel
1f7434e8 367Conflicts: geninitrd < 10000.10
4a323c26
JR
368
369%description -n device-mapper-initrd
370The goal of this driver is to support volume management. The driver
371enables the definition of new block devices composed of ranges of
372sectors of existing devices. This can be used to define disk
373partitions - or logical volumes. This light-weight kernel component
374can support user-space tools for logical volume management.
375
376This package contains dmsetup program linked staticaly for use in
377initrd.
378
379%description -n device-mapper-initrd -l pl.UTF-8
380Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
381włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
382sektorów na istniejących urządzeniach. Może to być wykorzystane do
383definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
384składnik jądra może wspierać działające w przestrzeni użytkownika
385narzędzia do zarządzania logicznymi wolumenami.
386
387Ten pakiet zawiera program dmsetup skonsolidowany statycznie na
388potrzeby initrd.
389
7e72c866 390%prep
ec2de926 391%setup -q -n LVM2.%{version}
c70b42f6 392%patch1 -p1
9a00e98a 393%patch2 -p1
f0dab9f1 394%patch3 -p1
b747c17a 395%patch4 -p1
7d8cfaa5 396%patch7 -p1
105f82c3 397%patch8 -p1
14fc1988 398%patch9 -p1
e2727f8c 399%patch11 -p1
b167057a 400
39c8d1d5 401# do not force --export-symbol linker option for e.g. statically linked executables
b5eb9717 402# -rdynamic compiler option drives linker in the right way.
dab0ac18 403%{__sed} -i -e 's#-Wl,--export-dynamic#-rdynamic#g' configure.ac
b5eb9717 404
7e72c866 405%build
87a7d834
ER
406%if %{with initrd}
407echo Using %{?with_glibc:GLIBC} %{?with_uClibc:uClibc} %{?with_dietlibc:diet} for initrd
408%endif
242ffb9a 409cp -f /usr/share/automake/config.sub autoconf
7e72c866
JR
410%{__aclocal}
411%{__autoconf}
412
99958222 413%if %{with initrd}
6c31051f
PS
414%{?with_glibc:export CC="%{__cc}"}
415%{?with_uClibc:export CC="%{_target_cpu}-uclibc-gcc"}
4cbea9f4 416%{?with_dietlibc:cc="%{__cc}"; export CC="diet ${cc#ccache }"}
6c31051f 417
9bdab2f4 418%configure \
a5702977 419 ac_cv_lib_dl_dlopen=no \
eaa437a5 420 %{?with_uClibc:ac_cv_func_siginterrupt=no} \
4c78aede 421 %{?debug:--enable-debug} \
43435358
JB
422 --disable-nls \
423 --disable-readline \
424 --enable-selinux%{!?with_glibc:=no} \
9bdab2f4 425 --enable-static_link \
43435358 426 --with-optimisation="%{rpmcflags} -Os"
c70b42f6 427# glibc version links with normal static libdevicemapper which has selinux enabled
260d6858 428# and we need to keep these in sync between device-mapper and lvm2
4c78aede
ER
429
430%{__sed} -i -e 's#rpl_malloc#malloc#g' lib/misc/configure.h
0402cba0 431%{__sed} -i -e 's#rpl_realloc#realloc#g' lib/misc/configure.h
ec2de926 432
dab0ac18
JB
433%{__make} -j1 -C include V=1
434%{__make} -j1 -C lib LIB_SHARED= VERSIONED_SHLIB= V=1
435%{__make} -j1 -C libdm LIB_SHARED= VERSIONED_SHLIB= V=1
436%{__make} -j1 -C libdaemon/client LIB_SHARED= VERSIONED_SHLIB= V=1
437%{__make} -j1 -C tools dmsetup.static lvm.static %{?with_dietlibc:DIETLIBC_LIBS="-lcompat"} V=1
e2727f8c
JB
438%{__mv} tools/lvm.static initrd-lvm
439%{__mv} tools/dmsetup.static initrd-dmsetup
7cef5d95
AM
440
441# check if tools works
442for tool in initrd-lvm initrd-dmsetup; do
cfa41a73 443 LVM_SYSTEM_DIR=$(pwd) ./$tool help && rc=$? || rc=$?
7cef5d95 444 if [ $rc -gt 127 ]; then
cfa41a73 445 echo >&2 "Unexpected failure (exit status: $rc) from $tool. Does this tool work?!"
7cef5d95
AM
446 exit 1
447 fi
448done
449
e2727f8c 450%{?with_dietlibc:%{__mv} libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
9bdab2f4 451%{__make} clean
6c31051f
PS
452
453unset CC
7e72c866
JR
454%endif
455
9d0d1d5f 456%configure \
6e7a47a9 457 --enable-applib \
e2727f8c 458 --enable-cache_check_needs_check \
b167057a 459 --enable-cmdlib \
e2727f8c 460 %{?with_lvmdbusd:--enable-dbus-service} \
43435358 461 %{?debug:--enable-debug} \
b167057a 462 --enable-dmeventd \
43435358 463 --enable-fsadm \
98a8fd15 464 --with-default-locking-dir=/var/lock/lvm \
54ec8eef 465%if %{with lvmlockd}
ef739509
JB
466 %{?with_cluster:--enable-lvmlockd-dlm} \
467 %{?with_sanlock:--enable-lvmlockd-sanlock} \
54ec8eef 468%endif
43435358 469 %{?with_lvmetad:--enable-lvmetad} \
ef739509 470 --enable-lvmpolld \
e55d5c02 471 --enable-ocf \
e2727f8c
JB
472 %{?with_python2:--enable-python2_bindings} \
473 %{?with_python3:--enable-python3_bindings} \
43435358
JB
474 --enable-readline \
475 %{!?with_selinux:--disable-selinux} \
b167057a 476 --enable-pkgconfig \
e2727f8c 477 --enable-thin_check_needs_check \
5f0ee085
JB
478 --enable-udev_sync \
479 --enable-udev_rules \
35a842cf 480 --with-cache=internal \
54ec8eef
JB
481 --with-cache-check=/usr/sbin/cache_check \
482 --with-cache-dump=/usr/sbin/cache_dump \
483 --with-cache-repair=/usr/sbin/cache_repair \
484 --with-cache-restore=/usr/sbin/cache_restore \
43435358 485 --with-cluster=internal \
7e873dd0 486%if %{with cluster}
4cb4934b
JK
487 --with-clvmd=corosync \
488 --enable-cmirrord \
5cf18a89 489%endif
43435358
JB
490 --with-dmeventd-path=%{_sbindir}/dmeventd \
491 --with-interface=ioctl \
607d2229 492 --with-lvm1=internal \
43435358
JB
493 --with-mirrors=internal \
494 --with-optimisation="%{rpmcflags}" \
607d2229 495 --with-snapshots=internal \
43435358 496 --with-systemdsystemunitdir=%{systemdunitdir} \
35a842cf 497 --with-tmpfilesdir=%{systemdtmpfilesdir} \
b5640c74 498 --with-thin=internal \
54ec8eef
JB
499 --with-thin-check=/usr/sbin/thin_check \
500 --with-thin-dump=/usr/sbin/thin_dump \
501 --with-thin-repair=/usr/sbin/thin_repair \
502 --with-thin-restore=/usr/sbin/thin_restore \
589f4db4 503 --with-udev-prefix=/ \
43435358 504 --with-usrlibdir=%{_libdir}
589f4db4 505
b7318447
JB
506# use bash because of "set -o pipefail"
507%{__make} -j1 \
dab0ac18
JB
508 SHELL=/bin/bash \
509 V=1
b7318447 510%{__make} -j1 -C libdm \
dab0ac18
JB
511 LIB_STATIC=libdevmapper.a \
512 V=1
7e72c866
JR
513
514%install
515rm -rf $RPM_BUILD_ROOT
0d673991 516install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm,/etc/sysconfig}
c70b42f6 517%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
7e72c866 518
35a842cf 519%{__make} install install_system_dirs install_systemd_units install_initscripts install_tmpfiles_configuration \
7e72c866 520 DESTDIR=$RPM_BUILD_ROOT \
1ccfba6c 521 OWNER="" \
bcbf274d 522 GROUP="" \
dab0ac18 523 V=1 \
bcbf274d 524 python3dir=%{py3_sitescriptdir}
7e72c866 525
35a842cf
JB
526%{__make} -C scripts install_tmpfiles_configuration \
527 DESTDIR=$RPM_BUILD_ROOT \
dab0ac18 528 V=1
9b82b6a5 529
0d673991 530%if %{with cluster}
798d7327
ER
531cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/clvmd.service
532cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/clvmd
0d673991
JK
533%endif
534
bcbf274d 535%{__mv} $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
b167057a
AM
536for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
537 lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
538 slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
539 ln -sf $lib $RPM_BUILD_ROOT%{_libdir}/$slib
540done
541
1cfc154f
JR
542touch $RPM_BUILD_ROOT%{_sysconfdir}/lvm/lvm.conf
543
88c67b5b
JR
544%if %{with initrd}
545install -d $RPM_BUILD_ROOT%{_libdir}/initrd
a3569314
ER
546install -p initrd-lvm $RPM_BUILD_ROOT%{_libdir}/initrd/lvm
547install -p initrd-dmsetup $RPM_BUILD_ROOT%{_libdir}/initrd/dmsetup
7e72c866 548
a3569314 549%{?with_dietlibc:cp -a diet-libdevmapper.a $RPM_BUILD_ROOT%{dietlibdir}/libdevmapper.a}
1306038e 550%endif
c70b42f6 551
a3569314 552cp -a libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
b167057a 553
7e72c866
JR
554%clean
555rm -rf $RPM_BUILD_ROOT
556
6e7a47a9
AM
557%post
558/sbin/chkconfig --add lvm2-monitor
559%service lvm2-monitor restart
c35cea65 560%systemd_post lvm2-monitor.service
4cb4934b
JK
561/sbin/chkconfig --add blk-availability
562# no service blk-availability restart
563%systemd_post blk-availability.service
e2727f8c
JB
564%if %{with lvmetad}
565%systemd_post lvm2-lvmetad.socket
566%endif
567%if %{with lvmpolld}
568%systemd_post lvm2-lvmpolld.socket
569%endif
c35cea65
JR
570
571%preun
572%systemd_preun lvm2-monitor.service
4cb4934b 573%systemd_preun blk-availability.service
e2727f8c
JB
574%if %{with lvmetad}
575%systemd_preun lvm2-lvmetad.socket
576%endif
577%if %{with lvmpolld}
578%systemd_preun lvm2-lvmpolld.socket
579%endif
6e7a47a9
AM
580
581%postun
582if [ "$1" = "0" ]; then
583 %service lvm2-monitor stop
584 /sbin/chkconfig --del lvm2-monitor
4cb4934b
JK
585 #no service blk-availability stop
586 /sbin/chkconfig --del blk-availability
6e7a47a9 587fi
c35cea65 588%systemd_reload
6e7a47a9 589
c35cea65
JR
590%triggerpostun -- %{name} < 2.02.94-1
591%systemd_trigger lvm2-monitor.service
b167057a 592
c35cea65 593%post -n device-mapper
c35cea65 594%systemd_post dm-event.socket
9b82b6a5 595
c35cea65
JR
596%preun -n device-mapper
597%systemd_preun dm-event.socket dm-event.service
9b82b6a5 598
c35cea65 599%postun -n device-mapper
9b82b6a5
BZ
600%systemd_reload
601
c35cea65
JR
602%triggerpostun -n device-mapper -- device-mapper < 2.02.94-1
603%systemd_trigger dm-event.socket
604
35a842cf
JB
605%post -n device-mapper-libs -p /sbin/ldconfig
606%postun -n device-mapper-libs -p /sbin/ldconfig
607
161d6a19
JK
608%post clvmd
609/sbin/chkconfig --add clvmd
610# no service restart - it breaks current locks!
611export NORESTART=1
612%systemd_post clvmd.service
613# re-exec instead
614/usr/sbin/clvmd -S 2>/dev/null || :
615
616%preun clvmd
617%systemd_preun clvmd.service
161d6a19
JK
618if [ "$1" = "0" ]; then
619 %service clvmd stop
620 /sbin/chkconfig --del clvmd
621fi
e2727f8c
JB
622
623%postun clvmd
624%systemd_reload
625
626%post dbusd
627%systemd_post lvm2-lvmdbusd.service
628
629%preun dbusd
630%systemd_preun lvm2-lvmdbusd.service
631
632%postun dbusd
633%systemd_reload
634
635%post lockd
636%systemd_post lvm2-lvmlockd.service lvm2-lvmlocking.service
637
638%preun lockd
639%systemd_preun lvm2-lvmlockd.service lvm2-lvmlocking.service
640
641%postun lockd
161d6a19
JK
642%systemd_reload
643
7e72c866
JR
644%files
645%defattr(644,root,root,755)
e6ac7970 646%doc README WHATS_NEW doc/*
4cb4934b 647%attr(755,root,root) %{_sbindir}/blkdeactivate
86418c14 648%attr(755,root,root) %{_sbindir}/fsadm
e2727f8c
JB
649%attr(755,root,root) %{_sbindir}/lvchange
650%attr(755,root,root) %{_sbindir}/lvconvert
651%attr(755,root,root) %{_sbindir}/lvcreate
652%attr(755,root,root) %{_sbindir}/lvdisplay
653%attr(755,root,root) %{_sbindir}/lvextend
654%attr(755,root,root) %{_sbindir}/lvm
e2727f8c
JB
655%attr(755,root,root) %{_sbindir}/lvmconf
656%attr(755,root,root) %{_sbindir}/lvmconfig
657%attr(755,root,root) %{_sbindir}/lvmdiskscan
658%attr(755,root,root) %{_sbindir}/lvmdump
659%attr(755,root,root) %{_sbindir}/lvmsadc
660%attr(755,root,root) %{_sbindir}/lvmsar
661%attr(755,root,root) %{_sbindir}/lvreduce
662%attr(755,root,root) %{_sbindir}/lvremove
663%attr(755,root,root) %{_sbindir}/lvrename
664%attr(755,root,root) %{_sbindir}/lvresize
665%attr(755,root,root) %{_sbindir}/lvs
666%attr(755,root,root) %{_sbindir}/lvscan
667%attr(755,root,root) %{_sbindir}/pvchange
668%attr(755,root,root) %{_sbindir}/pvck
669%attr(755,root,root) %{_sbindir}/pvcreate
670%attr(755,root,root) %{_sbindir}/pvdisplay
671%attr(755,root,root) %{_sbindir}/pvmove
672%attr(755,root,root) %{_sbindir}/pvremove
673%attr(755,root,root) %{_sbindir}/pvresize
674%attr(755,root,root) %{_sbindir}/pvs
675%attr(755,root,root) %{_sbindir}/pvscan
676%attr(755,root,root) %{_sbindir}/vgcfgbackup
677%attr(755,root,root) %{_sbindir}/vgcfgrestore
678%attr(755,root,root) %{_sbindir}/vgchange
679%attr(755,root,root) %{_sbindir}/vgck
680%attr(755,root,root) %{_sbindir}/vgconvert
681%attr(755,root,root) %{_sbindir}/vgcreate
682%attr(755,root,root) %{_sbindir}/vgdisplay
683%attr(755,root,root) %{_sbindir}/vgexport
684%attr(755,root,root) %{_sbindir}/vgextend
685%attr(755,root,root) %{_sbindir}/vgimport
686%attr(755,root,root) %{_sbindir}/vgimportclone
687%attr(755,root,root) %{_sbindir}/vgmerge
688%attr(755,root,root) %{_sbindir}/vgmknodes
689%attr(755,root,root) %{_sbindir}/vgreduce
690%attr(755,root,root) %{_sbindir}/vgremove
691%attr(755,root,root) %{_sbindir}/vgrename
692%attr(755,root,root) %{_sbindir}/vgs
693%attr(755,root,root) %{_sbindir}/vgscan
694%attr(755,root,root) %{_sbindir}/vgsplit
86418c14 695%{_mandir}/man5/lvm.conf.5*
a4dcdce5 696%{_mandir}/man7/lvmcache.7*
2b146638
JB
697%{_mandir}/man7/lvmraid.7*
698%{_mandir}/man7/lvmreport.7*
35a842cf 699%{_mandir}/man7/lvmsystemid.7*
0442bdaf 700%{_mandir}/man7/lvmthin.7*
4cb4934b 701%{_mandir}/man8/blkdeactivate.8*
86418c14 702%{_mandir}/man8/fsadm.8*
e2727f8c
JB
703%{_mandir}/man8/lvchange.8*
704%{_mandir}/man8/lvconvert.8*
705%{_mandir}/man8/lvcreate.8*
706%{_mandir}/man8/lvdisplay.8*
707%{_mandir}/man8/lvextend.8*
2b146638
JB
708%{_mandir}/man8/lvm-config.8*
709%{_mandir}/man8/lvm-dumpconfig.8*
710%{_mandir}/man8/lvm-fullreport.8*
e2727f8c
JB
711%{_mandir}/man8/lvm-lvpoll.8*
712%{_mandir}/man8/lvm.8*
e2727f8c
JB
713%{_mandir}/man8/lvmconf.8*
714%{_mandir}/man8/lvmconfig.8*
715%{_mandir}/man8/lvmdiskscan.8*
716%{_mandir}/man8/lvmdump.8*
717%{_mandir}/man8/lvmsadc.8*
718%{_mandir}/man8/lvmsar.8*
719%{_mandir}/man8/lvreduce.8*
720%{_mandir}/man8/lvremove.8*
721%{_mandir}/man8/lvrename.8*
722%{_mandir}/man8/lvresize.8*
723%{_mandir}/man8/lvs.8*
724%{_mandir}/man8/lvscan.8*
725%{_mandir}/man8/pvchange.8*
726%{_mandir}/man8/pvck.8*
727%{_mandir}/man8/pvcreate.8*
728%{_mandir}/man8/pvdisplay.8*
729%{_mandir}/man8/pvmove.8*
730%{_mandir}/man8/pvremove.8*
731%{_mandir}/man8/pvresize.8*
732%{_mandir}/man8/pvs.8*
733%{_mandir}/man8/pvscan.8*
734%{_mandir}/man8/vgcfgbackup.8*
735%{_mandir}/man8/vgcfgrestore.8*
736%{_mandir}/man8/vgchange.8*
737%{_mandir}/man8/vgck.8*
738%{_mandir}/man8/vgconvert.8*
739%{_mandir}/man8/vgcreate.8*
740%{_mandir}/man8/vgdisplay.8*
741%{_mandir}/man8/vgexport.8*
742%{_mandir}/man8/vgextend.8*
743%{_mandir}/man8/vgimport.8*
744%{_mandir}/man8/vgimportclone.8*
745%{_mandir}/man8/vgmerge.8*
746%{_mandir}/man8/vgmknodes.8*
747%{_mandir}/man8/vgreduce.8*
748%{_mandir}/man8/vgremove.8*
749%{_mandir}/man8/vgrename.8*
750%{_mandir}/man8/vgs.8*
751%{_mandir}/man8/vgscan.8*
752%{_mandir}/man8/vgsplit.8*
99958222 753%attr(750,root,root) %dir %{_sysconfdir}/lvm
2316bf4d 754%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
35a842cf 755%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvmlocal.conf
e55d5c02 756%attr(750,root,root) %dir %{_sysconfdir}/lvm/profile
54ec8eef
JB
757%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-mq.profile
758%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/cache-smq.profile
bfc9ab17
JB
759%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/command_profile_template.profile
760%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/metadata_profile_template.profile
761%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-generic.profile
ac328eef 762%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/thin-performance.profile
35a842cf 763%{systemdtmpfilesdir}/lvm2.conf
4cb4934b 764%{systemdunitdir}/blk-availability.service
e2727f8c
JB
765%{systemdunitdir}/lvm2-monitor.service
766%{systemdunitdir}/lvm2-pvscan@.service
767%dir %{_sysconfdir}/lvm/cache
768%ghost %{_sysconfdir}/lvm/cache/.cache
769%attr(754,root,root) /etc/rc.d/init.d/blk-availability
770%attr(754,root,root) /etc/rc.d/init.d/lvm2-monitor
771%attr(700,root,root) %dir /run/lvm
772%attr(700,root,root) %dir /var/lock/lvm
43435358 773%if %{with lvmetad}
e2727f8c
JB
774%attr(755,root,root) %{_sbindir}/lvmetad
775/lib/udev/rules.d/69-dm-lvm-metad.rules
776%attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmetad
43435358
JB
777%{systemdunitdir}/lvm2-lvmetad.service
778%{systemdunitdir}/lvm2-lvmetad.socket
e2727f8c 779%{_mandir}/man8/lvmetad.8*
43435358 780%endif
54ec8eef 781%if %{with lvmlockd}
e2727f8c
JB
782%attr(755,root,root) %{_sbindir}/lvmlockctl
783%attr(755,root,root) %{_sbindir}/lvmlockd
54ec8eef
JB
784%{systemdunitdir}/lvm2-lvmlockd.service
785%{systemdunitdir}/lvm2-lvmlocking.service
e2727f8c
JB
786%{_mandir}/man8/lvmlockctl.8*
787%{_mandir}/man8/lvmlockd.8*
54ec8eef
JB
788%endif
789%if %{with lvmpolld}
e2727f8c
JB
790%attr(755,root,root) %{_sbindir}/lvmpolld
791%attr(754,root,root) /etc/rc.d/init.d/lvm2-lvmpolld
54ec8eef
JB
792%{systemdunitdir}/lvm2-lvmpolld.service
793%{systemdunitdir}/lvm2-lvmpolld.socket
e2727f8c 794%{_mandir}/man8/lvmpolld.8*
54ec8eef 795%endif
7e873dd0
JK
796
797%if %{with cluster}
798%files clvmd
799%defattr(644,root,root,755)
800%attr(755,root,root) %{_usrsbindir}/clvmd
801%attr(754,root,root) /etc/rc.d/init.d/clvmd
0d673991 802%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/clvmd
0442bdaf 803%attr(755,root,root) /lib/systemd/lvm2-cluster-activation
0d673991 804%{systemdunitdir}/clvmd.service
0442bdaf
JB
805%{systemdunitdir}/lvm2-cluster-activation.service
806%{systemdunitdir}/lvm2-clvmd.service
7e873dd0
JK
807%{_mandir}/man8/clvmd.8*
808
7e873dd0
JK
809%files cmirrord
810%defattr(644,root,root,755)
811%attr(755,root,root) %{_usrsbindir}/cmirrord
7e873dd0 812%attr(754,root,root) /etc/rc.d/init.d/cmirrord
0442bdaf
JB
813%{systemdunitdir}/lvm2-cmirrord.service
814%{_mandir}/man8/cmirrord.8*
7e873dd0 815%endif
7e72c866 816
e2727f8c
JB
817%if %{with lvmdbusd}
818%files dbusd
819%defattr(644,root,root,755)
820%attr(755,root,root) %{_sbindir}/lvmdbusd
98a8fd15 821%{py3_sitescriptdir}/lvmdbusd
2b146638 822%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/profile/lvmdbusd.profile
e2727f8c
JB
823%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/com.redhat.lvmdbus1.conf
824%{_datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service
825%{systemdunitdir}/lvm2-lvmdbusd.service
826%{_mandir}/man8/lvmdbusd.8*
827%endif
828
e55d5c02
JB
829%files resource-agents
830%defattr(644,root,root,755)
831%dir %{_prefix}/lib/ocf/resource.d/lvm2
832%attr(755,root,root) %{_prefix}/lib/ocf/resource.d/lvm2/VolumeGroup
833
e2727f8c 834%if %{with python2}
35a842cf
JB
835%files -n python-lvm
836%defattr(644,root,root,755)
837%attr(755,root,root) %{py_sitedir}/lvm.so
838%{py_sitedir}/lvm-%{version}_*-py*.egg-info
839%endif
840
e2727f8c
JB
841%if %{with python3}
842%files -n python3-lvm
843%defattr(644,root,root,755)
844%attr(755,root,root) %{py3_sitedir}/lvm.cpython-*.so
845%{py3_sitedir}/lvm-%{version}_*-py*.egg-info
846%endif
847
b167057a
AM
848%files -n device-mapper
849%defattr(644,root,root,755)
850%doc *_DM
c35cea65
JR
851%{systemdunitdir}/dm-event.service
852%{systemdunitdir}/dm-event.socket
589f4db4
JR
853/lib/udev/rules.d/10-dm.rules
854/lib/udev/rules.d/11-dm-lvm.rules
855/lib/udev/rules.d/13-dm-disk.rules
856/lib/udev/rules.d/95-dm-notify.rules
b167057a
AM
857%attr(755,root,root) %{_sbindir}/dmeventd
858%attr(755,root,root) %{_sbindir}/dmsetup
54ec8eef 859%attr(755,root,root) %{_sbindir}/dmstats
e2727f8c
JB
860%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2mirror.so
861%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2raid.so
862%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2snapshot.so
863%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2thin.so
dab0ac18 864%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2vdo.so
1306038e 865%dir %{_libdir}/device-mapper
e2727f8c
JB
866%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2mirror.so
867%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2raid.so
868%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2snapshot.so
869%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2thin.so
dab0ac18 870%attr(755,root,root) %{_libdir}/device-mapper/libdevmapper-event-lvm2vdo.so
b167057a 871%{_mandir}/man8/dmsetup.8*
54ec8eef 872%{_mandir}/man8/dmstats.8*
f0dab9f1 873%{_mandir}/man8/dmeventd.8*
b167057a 874
35a842cf
JB
875%files -n device-mapper-libs
876%defattr(644,root,root,755)
877%attr(755,root,root) /%{_lib}/libdevmapper.so.*.*
878%attr(755,root,root) /%{_lib}/libdevmapper-event.so.*.*
879%attr(755,root,root) /%{_lib}/libdevmapper-event-lvm2.so.*.*
880%attr(755,root,root) /%{_lib}/liblvm2app.so.*.*
881%attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
882
b167057a
AM
883%files -n device-mapper-devel
884%defattr(644,root,root,755)
bece12dd
JR
885%attr(755,root,root) %{_libdir}/libdevmapper.so
886%attr(755,root,root) %{_libdir}/libdevmapper-event.so
e2727f8c 887%attr(755,root,root) %{_libdir}/libdevmapper-event-lvm2.so
6e7a47a9 888%attr(755,root,root) %{_libdir}/liblvm2app.so
b167057a 889%attr(755,root,root) %{_libdir}/liblvm2cmd.so
35a842cf
JB
890%{_includedir}/libdevmapper.h
891%{_includedir}/libdevmapper-event.h
6e7a47a9 892%{_includedir}/lvm2app.h
b167057a 893%{_includedir}/lvm2cmd.h
35a842cf
JB
894%{_pkgconfigdir}/devmapper.pc
895%{_pkgconfigdir}/devmapper-event.pc
6e7a47a9 896%{_pkgconfigdir}/lvm2app.pc
b167057a
AM
897
898%files -n device-mapper-static
899%defattr(644,root,root,755)
35a842cf 900%{_libdir}/libdevmapper.a
b167057a 901
1306038e 902%if %{with initrd}
c70b42f6
JR
903%if %{with dietlibc}
904%files -n device-mapper-dietlibc
905%defattr(644,root,root,755)
906%{dietlibdir}/libdevmapper.a
907%endif
908
4a323c26
JR
909%files -n device-mapper-initrd
910%defattr(644,root,root,755)
88c67b5b 911%attr(755,root,root) %{_libdir}/initrd/dmsetup
4a323c26 912
7e72c866
JR
913%files initrd
914%defattr(644,root,root,755)
88c67b5b 915%attr(755,root,root) %{_libdir}/initrd/lvm
7e72c866 916%endif
This page took 0.205448 seconds and 4 git commands to generate.