]> git.pld-linux.org Git - packages/lvm2.git/blame - lvm2.spec
- up to 2.02.58
[packages/lvm2.git] / lvm2.spec
CommitLineData
e3a928dc
ER
1# TODO
2# - kill -lreadline from libs (using -as-needed or moving from LIBS to binaries linking)
3# - vgscan --ignorelocking failure creates /var/lock/lvm (even if /var is not yet mounted)
1b67453e 4#
99958222 5# Conditional build:
c70b42f6
JR
6%bcond_without initrd # don't build initrd version
7%bcond_with uClibc # link initrd version with uClibc
8%bcond_without dietlibc # link initrd version with dietlibc
9%bcond_with glibc # link initrd version with static glibc
10%bcond_without clvmd # don't build clvmd
11%bcond_without selinux # disable SELinux
12
4a323c26 13%ifarch sparc64 sparc
c70b42f6 14%define with_glibc 1
66800f6a 15%endif
c70b42f6
JR
16
17# if one of the *libc is enabled disable default dietlibc
18%if %{with dietlibc} && %{with uClibc}
19%undefine with_dietlibc
20%endif
21
22%if %{with glibc} && %{with dietlibc}
23%undefine with_dietlibc
24%endif
25
5672aa67 26Summary: The new version of Logical Volume Manager for Linux
6536e848 27Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa
7e72c866 28Name: lvm2
2416cc98 29Version: 2.02.58
ebbcde93 30Release: 1
1738b891 31License: GPL v2
7e72c866 32Group: Applications/System
dc5d0e77 33Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
2416cc98 34# Source0-md5: f90ae2225e32cd3e4d4815297930f5b3
bf171b20
JR
35Source1: %{name}-initramfs-hook
36Source2: %{name}-initramfs-local-top
7210a095 37Patch0: %{name}-selinux.patch
c70b42f6 38Patch1: %{name}-diet.patch
9a00e98a 39Patch2: device-mapper-dmsetup-export.patch
dc5d0e77 40URL: http://sources.redhat.com/lvm2/
7e72c866
JR
41BuildRequires: autoconf
42BuildRequires: automake
0dc2b8f2 43%{?with_selinux:BuildRequires: libselinux-devel >= 1.10}
e4a12efb 44%{?with_selinux:BuildRequires: libsepol-devel}
bd71c1b4 45BuildRequires: rpmbuild(macros) >= 1.213
1ccfba6c 46%if %{with initrd}
fa9e8aeb
AM
47%if %{with dietlibc}
48BuildRequires: dietlibc-static >= 2:0.31-5
49BuildConflicts: device-mapper-dietlibc
50%endif
c70b42f6
JR
51%{?with_glibc:BuildRequires: glibc-static}
52%{?with_uClibc:BuildRequires: uClibc-static >= 2:0.9.29}
1ccfba6c 53%endif
c97b4c11 54%if %{with clvmd}
1b67453e 55BuildRequires: cman-devel >= 1.0
4c78aede 56BuildRequires: dlm-devel >= 1.0-0.pre21.2
1b67453e 57%endif
260d6858 58BuildRequires: ncurses-devel
33d5c7d0 59BuildRequires: readline-devel
b167057a 60Requires: device-mapper >= %{version}-%{release}
1b67453e 61%if %{with clvmd}
ed044ab4 62Requires: cman-libs >= 1.0
b678d191 63Requires: dlm >= 1.0-0.pre21.2
1b67453e 64%endif
0dc2b8f2 65%{?with_selinux:Requires: libselinux >= 1.10}
1534f04d
ER
66# doesn't work with 2.4 kernels
67Requires: uname(release) >= 2.6
25b6b609 68Obsoletes: lvm
7e72c866
JR
69BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71%define _sbindir /sbin
9ab13f24 72%define _usrsbindir /usr/sbin
7e72c866 73
0fbd6aae
ER
74# changing CFLAGS in the middle confuses confcache
75%undefine configure_cache
9a00e98a
ER
76# can't work with diet
77%undefine with_ccache
0fbd6aae 78
c70b42f6
JR
79# for some reason known only to rpm there must be "\\|" not "\|" here
80%define dietarch %(echo %{_target_cpu} | sed -e 's/i.86\\|pentium.\\|athlon/i386/;s/amd64/x86_64/;s/armv.*/arm/')
81%define dietlibdir %{_prefix}/lib/dietlibc/lib-%{dietarch}
82
7e72c866
JR
83%description
84This package includes a number of utilities for creating, checking,
85and repairing logical volumes.
86
68d45726
JR
87%description -l pl.UTF-8
88Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
89logicznych wolumenów dyskowych (LVM2).
7e72c866 90
7e72c866 91%package initrd
5672aa67 92Summary: The new version of Logical Volume Manager for Linux - initrd version
6536e848 93Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa - wersja dla initrd
7e72c866 94Group: Base
16ddcbd0 95Conflicts: geninitrd < 10000.18
7e72c866
JR
96
97%description initrd
98This package includes a number of utilities for creating, checking,
99and repairing logical volumes - staticaly linked for initrd.
100
68d45726
JR
101%description initrd -l pl.UTF-8
102Pakiet ten zawiera narzędzia do tworzenia, sprawdzania i naprawiania
103logicznych wolumenów dyskowych (LVM2) - statycznie skonsolidowane na
7e72c866
JR
104potrzeby initrd.
105
b167057a
AM
106%package -n device-mapper
107Summary: Userspace support for the device-mapper
108Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika
109Group: Base
110
111%description -n device-mapper
112The goal of this driver is to support volume management. The driver
113enables the definition of new block devices composed of ranges of
114sectors of existing devices. This can be used to define disk
115partitions - or logical volumes. This light-weight kernel component
116can support user-space tools for logical volume management.
117
118%description -n device-mapper -l pl.UTF-8
119Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
120włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
121sektorów na istniejących urządzeniach. Może to być wykorzystane do
122definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
123składnik jądra może wspierać działające w przestrzeni użytkownika
124narzędzia do zarządzania logicznymi wolumenami.
125
126%package -n device-mapper-devel
127Summary: Header files and development documentation for %{name}
128Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do %{name}
129Group: Development/Libraries
130Requires: device-mapper = %{version}-%{release}
131%if %{with selinux}
132Requires: libselinux-devel
133Requires: libsepol-devel
134%endif
135
136%description -n device-mapper-devel
137Header files and development documentation for %{name}.
138
139%description -n device-mapper-devel -l pl.UTF-8
140Pliki nagłówkowe i dokumentacja do %{name}.
141
142%package -n device-mapper-static
143Summary: Static devmapper library
144Summary(pl.UTF-8): Statyczna biblioteka devmapper
145License: LGPL v2.1
146Group: Development/Libraries
dc900ced 147Requires: device-mapper-devel = %{version}-%{release}
b167057a
AM
148
149%description -n device-mapper-static
150Static devmapper library.
151
152%description -n device-mapper-static -l pl.UTF-8
153Statyczna biblioteka devmapper.
154
c70b42f6
JR
155%package -n device-mapper-dietlibc
156Summary: Static devmapper library built with dietlibc
157Summary(pl.UTF-8): Statyczna biblioteka devmapper zbudowana z dietlibc
158License: LGPL v2.1
159Group: Development/Libraries
160Requires: device-mapper-devel = %{version}-%{release}
161
162%description -n device-mapper-dietlibc
163Static devmapper library built with dietlibc.
164
165%description -n device-mapper-dietlibc -l pl.UTF-8
166Statyczna biblioteka devmapper zbudowana z dietlibc.
167
4a323c26
JR
168%package -n device-mapper-initrd
169Summary: Userspace support for the device-mapper - initrd version
170Summary(pl.UTF-8): Wsparcie dla mapowania urządzeń w przestrzeni użytkownika - wersja dla initrd
171Group: Base
172Obsoletes: device-mapper-initrd-devel
1f7434e8 173Conflicts: geninitrd < 10000.10
4a323c26
JR
174
175%description -n device-mapper-initrd
176The goal of this driver is to support volume management. The driver
177enables the definition of new block devices composed of ranges of
178sectors of existing devices. This can be used to define disk
179partitions - or logical volumes. This light-weight kernel component
180can support user-space tools for logical volume management.
181
182This package contains dmsetup program linked staticaly for use in
183initrd.
184
185%description -n device-mapper-initrd -l pl.UTF-8
186Celem tego sterownika jest obsługa zarządzania wolumenami. Sterownik
187włącza definiowanie nowych urządzeń blokowych złożonych z przedziałów
188sektorów na istniejących urządzeniach. Może to być wykorzystane do
189definiowania partycji na dysku lub logicznych wolumenów. Ten lekki
190składnik jądra może wspierać działające w przestrzeni użytkownika
191narzędzia do zarządzania logicznymi wolumenami.
192
193Ten pakiet zawiera program dmsetup skonsolidowany statycznie na
194potrzeby initrd.
195
906ac01a
JR
196%package initramfs
197Summary: The new version of Logical Volume Manager for Linux - support scripts for initramfs-tools
198Summary(pl.UTF-8): Nowa wersja Logical Volume Managera dla Linuksa - skrypty dla initramfs-tools
199Group: Base
200Requires: %{name} = %{version}-%{release}
201Requires: initramfs-tools
202
203%description initramfs
204The new version of Logical Volume Manager for Linux - support
205scripts for initramfs-tools.
206
207%description initramfs -l pl.UTF-8
208Nowa wersja Logical Volume Managera dla Linuksa - skrypty dla
209initramfs-tools.
210
7e72c866 211%prep
ec2de926 212%setup -q -n LVM2.%{version}
7210a095 213%{?with_selinux:%patch0 -p1}
c70b42f6 214%patch1 -p1
9a00e98a 215%patch2 -p1
b167057a 216
7e72c866 217%build
242ffb9a 218cp -f /usr/share/automake/config.sub autoconf
7e72c866
JR
219%{__aclocal}
220%{__autoconf}
221
99958222 222%if %{with initrd}
9bdab2f4 223%configure \
69688a46 224 %{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"} \
c70b42f6 225 %{?with_dietlibc:CC="diet %{__cc}"} \
a5702977 226 ac_cv_lib_dl_dlopen=no \
4c78aede 227 %{?debug:--enable-debug} \
e6cf1072 228 --with-optimisation="%{rpmcflags} -Os" \
9bdab2f4 229 --enable-static_link \
69688a46 230 --with-lvm1=internal \
c70b42f6 231 --%{?with_glibc:en}%{!?with_glibc:dis}able-selinux \
260d6858 232 --disable-readline \
ef3dbc1a 233 --disable-nls
c70b42f6 234# glibc version links with normal static libdevicemapper which has selinux enabled
260d6858 235# and we need to keep these in sync between device-mapper and lvm2
4c78aede
ER
236
237%{__sed} -i -e 's#rpl_malloc#malloc#g' lib/misc/configure.h
ec2de926 238
c7bbf0c8
AM
239%{__make} -j1 -C include
240%{__make} -j1 -C lib LIB_SHARED= VERSIONED_SHLIB=
241%{__make} -j1 -C libdm LIB_SHARED= VERSIONED_SHLIB=
c70b42f6 242%{__make} -j1 -C tools dmsetup.static lvm.static
69688a46 243mv -f tools/lvm.static initrd-lvm
4a323c26 244mv -f tools/dmsetup.static initrd-dmsetup
c70b42f6 245%{?with_dietlibc:mv -f libdm/ioctl/libdevmapper.a diet-libdevmapper.a}
9bdab2f4 246%{__make} clean
7e72c866
JR
247%endif
248
9d0d1d5f 249%configure \
b167057a 250 --with-usrlibdir=%{_libdir} \
4c78aede 251 %{?debug:--enable-debug} \
b167057a 252 --with-optimisation="%{rpmcflags}" \
607d2229
AM
253 --enable-readline \
254 --enable-fsadm \
b167057a
AM
255 --enable-cmdlib \
256 --enable-dmeventd \
257 --enable-pkgconfig \
ed044ab4 258 %{?with_clvmd:--with-clvmd=cman} \
607d2229
AM
259 --with-lvm1=internal \
260 --with-pool=internal \
3852b0e2 261 --with-cluster=internal \
607d2229 262 --with-snapshots=internal \
0dc2b8f2 263 --with-mirrors=internal \
b167057a 264 --with-interface=ioctl \
0dc2b8f2 265 %{!?with_selinux:--disable-selinux}
b167057a 266%{__make} -j1
c7bbf0c8 267%{__make} -j1 -C libdm LIB_STATIC=libdevmapper.a
7e72c866
JR
268
269%install
270rm -rf $RPM_BUILD_ROOT
906ac01a
JR
271install -d $RPM_BUILD_ROOT{/%{_lib},%{_sysconfdir}/lvm} \
272 $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/{hooks,scripts/local-top}
c70b42f6 273%{?with_dietlibc:install -d $RPM_BUILD_ROOT%{dietlibdir}}
7e72c866
JR
274
275%{__make} install \
276 DESTDIR=$RPM_BUILD_ROOT \
1ccfba6c
AM
277 OWNER="" \
278 GROUP=""
7e72c866 279
b167057a
AM
280mv $RPM_BUILD_ROOT%{_libdir}/lib*.so.* $RPM_BUILD_ROOT/%{_lib}
281for lib in $RPM_BUILD_ROOT/%{_lib}/lib*.so.*; do
282 lib=$(echo $lib | sed -e "s#$RPM_BUILD_ROOT##g")
283 slib=$(basename $lib | sed -e 's#\.so\..*#.so#g')
284 ln -sf $lib $RPM_BUILD_ROOT%{_libdir}/$slib
285done
286
1cfc154f
JR
287touch $RPM_BUILD_ROOT%{_sysconfdir}/lvm/lvm.conf
288
88c67b5b
JR
289%if %{with initrd}
290install -d $RPM_BUILD_ROOT%{_libdir}/initrd
291install initrd-lvm $RPM_BUILD_ROOT%{_libdir}/initrd/lvm
292install initrd-dmsetup $RPM_BUILD_ROOT%{_libdir}/initrd/dmsetup
293%endif
7e72c866 294
c70b42f6
JR
295%{?with_dietlibc:install diet-libdevmapper.a $RPM_BUILD_ROOT%{dietlibdir}/libdevmapper.a}
296
906ac01a
JR
297install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/hooks/lvm2
298install %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/initramfs-tools/scripts/local-top/lvm2
299
c7bbf0c8 300install libdm/libdevmapper.a $RPM_BUILD_ROOT%{_libdir}
b167057a 301
7e72c866
JR
302%clean
303rm -rf $RPM_BUILD_ROOT
304
b167057a
AM
305%post -n device-mapper -p /sbin/ldconfig
306%postun -n device-mapper -p /sbin/ldconfig
307
7e72c866
JR
308%files
309%defattr(644,root,root,755)
e6ac7970 310%doc README WHATS_NEW doc/*
3320dcf1 311%attr(755,root,root) %{_sbindir}/*
b167057a
AM
312%exclude %{_sbindir}/dmeventd
313%exclude %{_sbindir}/dmsetup
1ccc459a 314%{?with_clvmd:%attr(755,root,root) %{_usrsbindir}/clvmd}
7e72c866 315%{_mandir}/man?/*
b167057a 316%exclude %{_mandir}/man8/dmsetup.8*
99958222 317%attr(750,root,root) %dir %{_sysconfdir}/lvm
2316bf4d 318%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lvm/lvm.conf
7e72c866 319
b167057a
AM
320%files -n device-mapper
321%defattr(644,root,root,755)
322%doc *_DM
323%attr(755,root,root) %{_sbindir}/dmeventd
324%attr(755,root,root) %{_sbindir}/dmsetup
325%attr(755,root,root) /%{_lib}/libdevmapper*.so.*.*
326%attr(755,root,root) /%{_lib}/liblvm2cmd.so.*.*
327%{_mandir}/man8/dmsetup.8*
328
329%files -n device-mapper-devel
330%defattr(644,root,root,755)
331%attr(755,root,root) %{_libdir}/libdevmapper*.so
332%attr(755,root,root) %{_libdir}/liblvm2cmd.so
333%{_includedir}/libdevmapper*.h
334%{_includedir}/lvm2cmd.h
335%{_pkgconfigdir}/devmapper*.pc
336
337%files -n device-mapper-static
338%defattr(644,root,root,755)
339%{_libdir}/libdevmapper*.a
340
c70b42f6
JR
341%if %{with dietlibc}
342%files -n device-mapper-dietlibc
343%defattr(644,root,root,755)
344%{dietlibdir}/libdevmapper.a
345%endif
346
99958222 347%if %{with initrd}
4a323c26
JR
348%files -n device-mapper-initrd
349%defattr(644,root,root,755)
88c67b5b 350%attr(755,root,root) %{_libdir}/initrd/dmsetup
4a323c26 351
7e72c866
JR
352%files initrd
353%defattr(644,root,root,755)
88c67b5b 354%attr(755,root,root) %{_libdir}/initrd/lvm
7e72c866 355%endif
906ac01a
JR
356
357%files initramfs
358%defattr(644,root,root,755)
359%attr(755,root,root) %{_datadir}/initramfs-tools/hooks/lvm2
360%attr(755,root,root) %{_datadir}/initramfs-tools/scripts/local-top/lvm2
This page took 0.08352 seconds and 4 git commands to generate.