]> git.pld-linux.org Git - packages/libvirt.git/blob - libvirt.spec
- rel 9
[packages/libvirt.git] / libvirt.spec
1 #
2 # Conditional build:
3 %bcond_without  xen             # xen
4 %bcond_without  xen_proxy       # Xen proxy
5 %bcond_without  qemu            # Qemu
6 %bcond_without  polkit          # PolicyKit
7 %bcond_with     sanlock         # sanlock storage lock manager
8 %bcond_with     netcf           # host interfaces support
9 %bcond_without  uml             # UML support
10 %bcond_without  openvz          # OpenVZ support
11 %bcond_without  phyp            # PHYP support
12 %bcond_without  xenapi          # XenAPI support
13 %bcond_without  libxl           # libxenlight
14 %bcond_without  esx             # ESX support
15 %bcond_without  hyperv          # Hyper-V support
16
17 # qemu available only on x86 and ppc
18 %ifnarch %{ix86} %{x8664} ppc
19 %undefine       with_qemu
20 %endif
21 # Xen is available only on x86 and ia64
22 %ifnarch %{ix86} %{x8664} ia64
23 %undefine       with_xen
24 %endif
25 %if %{without xen}
26 %undefine       with_xen_proxy
27 %endif
28
29 Summary:        Toolkit to interact with virtualization capabilities
30 Summary(pl.UTF-8):      Narzędzia współpracujące z funkcjami wirtualizacji
31 Name:           libvirt
32 Version:        0.9.10
33 Release:        9
34 License:        LGPL v2.1+
35 Group:          Base/Kernel
36 Source0:        ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
37 # Source0-md5:  a424bb793521e637349da47e93dd5fff
38 Source1:        %{name}.init
39 Source2:        %{name}.tmpfiles
40 Patch0:         %{name}-sasl.patch
41 Patch1:         %{name}-lxc.patch
42 Patch2:         libvirt-qemu-acl.patch
43 Patch3:         libvirt-xend.patch
44 Patch4:         lxc-without-selinux.patch
45 URL:            http://www.libvirt.org/
46 BuildRequires:  audit-libs-devel
47 BuildRequires:  augeas-devel
48 BuildRequires:  autoconf >= 2.50
49 BuildRequires:  automake
50 BuildRequires:  avahi-devel >= 0.6.0
51 BuildRequires:  curl-devel >= 7.18.0
52 BuildRequires:  cyrus-sasl-devel
53 BuildRequires:  device-mapper-devel >= 1.0.0
54 BuildRequires:  gawk
55 BuildRequires:  gettext-devel >= 0.17
56 BuildRequires:  gnutls-devel >= 1.0.25
57 BuildRequires:  libapparmor-devel
58 BuildRequires:  libblkid-devel >= 2.17
59 BuildRequires:  libcap-ng-devel >= 0.4.0
60 BuildRequires:  libgcrypt-devel
61 BuildRequires:  libnl1-devel >= 1.1
62 BuildRequires:  libpcap-devel >= 1.0.0
63 BuildRequires:  libselinux-devel >= 2.0.82
64 BuildRequires:  libssh2-devel >= 1.0
65 BuildRequires:  libstdc++-devel
66 BuildRequires:  libtool
67 BuildRequires:  libxml2-devel >= 1:2.6.0
68 BuildRequires:  libxslt-devel
69 BuildRequires:  openldap-devel
70 BuildRequires:  openwsman-devel >= 2.2.3
71 BuildRequires:  ncurses-devel
72 %{?with_netcf:BuildRequires:    netcf-devel >= 0.1.4}
73 BuildRequires:  numactl-devel
74 BuildRequires:  parted-devel >= 1.8.0
75 BuildRequires:  perl-tools-pod
76 %{?with_polkit:BuildRequires:   polkit >= 0.90}
77 BuildRequires:  pkgconfig
78 BuildRequires:  python
79 BuildRequires:  python-devel
80 BuildRequires:  readline-devel
81 BuildRequires:  rpm-pythonprov
82 BuildRequires:  rpmbuild(macros) >= 1.627
83 %{?with_sanlock:BuildRequires:  sanlock-devel >= 0.8}
84 BuildRequires:  udev-devel >= 145
85 %{?with_xen:BuildRequires:      xen-devel >= 4.1.2}
86 # For disk driver
87 BuildRequires:  xorg-lib-libpciaccess-devel >= 0.10.0
88 BuildRequires:  yajl-devel
89 Requires:       curl-libs >= 7.18.0
90 Requires:       device-mapper >= 1.0.0
91 Requires:       gnutls >= 1.0.25
92 Requires:       libcap-ng >= 0.4.0
93 Requires:       libnl1 >= 1.1
94 Requires:       libpcap >= 1.0.0
95 Requires:       libselinux >= 2.0.82
96 Requires:       libssh2 >= 1.0
97 Requires:       libxml2 >= 1:2.6.0
98 Requires:       openwsman-libs >= 2.2.3
99 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100
101 %description
102 Libvirt is a C toolkit to interact with the virtualization
103 capabilities of recent versions of Linux.
104
105 Virtualization of the Linux Operating System means the ability to run
106 multiple instances of Operating Systems concurently on a single
107 hardware system where the basic resources are driven by a Linux
108 instance. The library aim at providing long term stable C API
109 initially for the Xen paravirtualization but should be able to
110 integrate other virtualization mechanisms if needed.
111
112 %description -l pl.UTF-8
113 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
114 wirtualizacji obecnych wersji Linuksa.
115
116 Wirtualizacja w systemie operacyjnym Linux oznacza możliwość
117 jednoczesnego uruchamiania wielu instancji systemu operacyjnego na
118 pojedynczym systemie sprzętowym, którego podstawowe zasoby są
119 zarządzane przez instancję Linuksa. Celem biblioteki jest zapewnienie
120 długotrwale stabilnego API C, początkowo do parawirtualizacji Xen, ale
121 dającej się zintegrować w razie potrzeby z innymi mechanizmami
122 wirtualizacji.
123
124 %package devel
125 Summary:        Development files for programs using libvirt
126 Summary(pl.UTF-8):      Pliki programistyczne do programów wykorzystujących libvirt
127 Group:          Development/Libraries
128 Requires:       %{name} = %{version}-%{release}
129 Requires:       audit-libs-devel
130 Requires:       curl-devel >= 7.18.0
131 Requires:       device-mapper-devel >= 1.0.0
132 Requires:       gnutls-devel >= 1.0.25
133 Requires:       libapparmor-devel
134 Requires:       libcap-ng-devel >= 0.4.0
135 Requires:       libgcrypt-devel
136 Requires:       libnl1-devel >= 1.1
137 Requires:       libpcap-devel >= 1.0.0
138 Requires:       libselinux-devel >= 2.0.82
139 Requires:       libxml2-devel >= 1:2.6.0
140 Requires:       numactl-devel
141 Requires:       openwsman-devel >= 2.2.3
142 %{?with_xen:Requires: xen-devel}
143 Requires:       yajl-devel
144
145 %description devel
146 Libvirt is a C toolkit to interact with the virtualization
147 capabilities of recent versions of Linux.
148
149 This package contains the header files needed for developing programs
150 using the libvirt library.
151
152 %description devel -l pl.UTF-8
153 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
154 wirtualizacji obecnych wersji Linuksa.
155
156 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
157 wykorzystujących bibliotekę libvirt.
158
159 %package static
160 Summary:        Development static libraries for programs using libvirt
161 Summary(pl.UTF-8):      Statyczne biblioteki programistyczne do programów wykorzystujących libvirt
162 Group:          Development/Libraries
163 Requires:       %{name}-devel = %{version}-%{release}
164
165 %description static
166 Libvirt is a C toolkit to interact with the virtualization
167 capabilities of recent versions of Linux.
168
169 This package contains the static libraries for developing programs
170 using the libvirt library.
171
172 %description static -l pl.UTF-8
173 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
174 wirtualizacji obecnych wersji Linuksa.
175
176 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
177 wykorzystujących bibliotekę libvirt.
178
179 %package -n python-%{name}
180 Summary:        Python bindings to interact with virtualization capabilities
181 Summary(pl.UTF-8):      Wiązania Pythona do współpracy z funkcjami wirtualizacji
182 Group:          Development/Languages/Python
183 Requires:       %{name} = %{version}-%{release}
184
185 %description -n python-%{name}
186 Libvirt is a C toolkit to interact with the virtualization
187 capabilities of recent versions of Linux.
188
189 This package contains the Python bindings for the libvirt library.
190
191 %description -n python-%{name} -l pl.UTF-8
192 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
193 wirtualizacji obecnych wersji Linuksa.
194
195 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
196
197 %package utils
198 Summary:        Tools to interact with virtualization capabilities
199 Summary(pl.UTF-8):      Narzędzia do współpracy z funkcjami wirtualizacyjnymi
200 Group:          Base/Kernel
201 Requires:       %{name} = %{version}-%{release}
202 Requires:       avahi-libs >= 0.6.0
203 Requires:       gettext >= 0.18.1.1-6
204 Requires:       libblkid >= 2.17
205 Requires:       parted-libs >= 1.8.0
206 Requires:       systemd-units >= 37-0.10
207 Requires:       udev-libs >= 145
208 Requires:       xorg-lib-libpciaccess >= 0.10.0
209 Suggests:       iptables
210 Suggests:       bridge-utils
211 Suggests:       dmidecode
212 Suggests:       dnsmasq
213 Suggests:       ebtables
214 Suggests:       gawk
215 Suggests:       iptables
216 Suggests:       lvm2
217 # for management through ssh
218 Suggests:       netcat-openbsd
219 Suggests:       polkit >= 0.90
220 Suggests:       scrub
221
222 %description utils
223 Libvirt is a C toolkit to interact with the virtualization
224 capabilities of recent versions of Linux.
225
226 This package contains tools for the libvirt library.
227
228 %description utils -l pl.UTF-8
229 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
230 wirtualizacji obecnych wersji Linuksa.
231
232 Ten pakiet zawiera narzędzia do biblioteki libvirt.
233
234 %package lock-sanlock
235 Summary:        Sanlock lock manager plugin for libvirt
236 Summary(pl.UTF-8):      Zarządca blokad sanlock dla biblioteki libvirt
237 Group:          Libraries
238 Requires:       %{name} = %{version}-%{release}
239
240 %description lock-sanlock
241 Sanlock lock manager plugin for libvirt.
242
243 %description lock-sanlock -l pl.UTF-8
244 Zarządca blokad sanlock dla biblioteki libvirt.
245
246 %prep
247 %setup -q
248 %patch0 -p1
249 %patch1 -p1
250 %patch2 -p1
251 %patch3 -p1
252 %patch4 -p1
253
254 # weird translations
255 %{__rm} po/{my,eu_ES}.{po,gmo}
256
257 mv po/vi_VN.po po/vi.po
258 mv po/vi_VN.gmo po/vi.gmo
259
260 %build
261 %{__libtoolize}
262 %{__aclocal} -I gnulib/m4 -I m4
263 %{__autoconf}
264 %{__autoheader}
265 %{__automake}
266
267 %configure \
268         PVCREATE=/sbin/pvcreate \
269         VGCREATE=/sbin/vgcreate \
270         LVCREATE=/sbin/lvcreate \
271         PVREMOVE=/sbin/pvremove \
272         VGREMOVE=/sbin/vgremove \
273         LVREMOVE=/sbin/lvremove \
274         VGCHANGE=/sbin/vgchange \
275         LVCHANGE=/sbin/lvchange \
276           VGSCAN=/sbin/vgscan   \
277              PVS=/sbin/pvs      \
278              VGS=/sbin/vgs      \
279              LVS=/sbin/lvs      \
280               TC=/sbin/tc \
281            BRCTL=/sbin/brctl    \
282         ISCSIADM=/sbin/iscsiadm \
283         SHOWMOUNT=/usr/sbin/showmount \
284         MOUNT=/bin/mount \
285         UMOUNT=/bin/umount \
286         MKFS=/sbin/mkfs \
287         SHOWMOUNT=/usr/sbin/showmount \
288         IPTABLES_PATH=/usr/sbin/iptables \
289         IP6TABLES_PATH=/usr/sbin/ip6tables \
290         EBTABLES_PATH=/usr/sbin/ebtables \
291         ISCSIADM=/sbin/iscsiadm \
292         DNSMASQ=/usr/sbin/dnsmasq \
293         RADVD=/usr/sbin/radvd \
294         UDEVADM=/sbin/udevadm \
295         MODPROBE=/sbin/modprobe \
296         SCRUB=/usr/bin/scrub \
297         --disable-silent-rules \
298         --with-html-dir=%{_gtkdocdir} \
299         --with-html-subdir=%{name} \
300         --with-init-script=redhat \
301         --with-storage-lvm \
302         --with-storage-fs \
303         --with-storage-iscsi \
304         --with-storage-scsi \
305         --with-storage-mpath \
306         --with-storage-disk \
307         --with-macvtap \
308         --with-virtualport \
309         --with-scrub \
310         --with-udev \
311         --without-hal \
312         --with-lxc \
313         --with-vbox=%{_libdir}/VirtualBox \
314         %{!?with_netcf:--without-netcf} \
315         %{!?with_sanlock:--without-sanlock} \
316         %{!?with_qemu:--without-qemu} \
317         %{!?with_xen:--without-xen} \
318         %{!?with_uml:--without-uml} \
319         %{!?with_openvz:--without-openvz} \
320         %{!?with_phyp:--without-phyp} \
321         %{!?with_xenapi:--without-xenapi} \
322         %{!?with_libxl:--without-libxl} \
323         %{!?with_esx:--without-esx} \
324         %{!?with_hyperv:--without-hyperv} \
325         --x-libraries=%{_libdir} \
326         --with-init-script=systemd
327
328 %{__make} \
329         AWK=gawk
330
331 %install
332 rm -rf $RPM_BUILD_ROOT
333 install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
334         $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
335
336 %{__make} install \
337         DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
338         DESTDIR=$RPM_BUILD_ROOT
339
340 #install qemud/libvirtd.sysconf $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
341 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
342 install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
343
344 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
345 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
346 %py_postclean
347 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
348
349 %if %{with sanlock}
350 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
351 %endif
352
353 %find_lang %{name}
354
355 %clean
356 rm -rf $RPM_BUILD_ROOT
357
358 %post   -p /sbin/ldconfig
359 %postun -p /sbin/ldconfig
360
361 %post utils
362 %systemd_post libvirtd.service
363 NORESTART=1
364 %systemd_post libvirt-guests.service
365
366 %preun utils
367 %systemd_preun libvirtd.service
368 %systemd_preun libvirt-guests.service
369
370 %postun utils
371 %systemd_reload
372
373 %files -f %{name}.lang
374 %defattr(644,root,root,755)
375 %doc ChangeLog README TODO NEWS
376 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
377 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
378 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
379 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
380 %attr(755,root,root) %{_libdir}/libvirt_lxc
381 %attr(755,root,root) %{_libdir}/libvirt_iohelper
382 %attr(755,root,root) %{_libdir}/virt-aa-helper
383 %dir %{_libdir}/libvirt
384 %if %{with sanlock}
385 %dir %{_libdir}/libvirt/lock-driver
386 %endif
387 %dir %{_datadir}/libvirt
388 %dir %{_datadir}/libvirt/schemas
389 %{_datadir}/libvirt/schemas/basictypes.rng
390 %{_datadir}/libvirt/schemas/capability.rng
391 %{_datadir}/libvirt/schemas/domain.rng
392 %{_datadir}/libvirt/schemas/domaincommon.rng
393 %{_datadir}/libvirt/schemas/domainsnapshot.rng
394 %{_datadir}/libvirt/schemas/interface.rng
395 %{_datadir}/libvirt/schemas/network.rng
396 %{_datadir}/libvirt/schemas/networkcommon.rng
397 %{_datadir}/libvirt/schemas/nodedev.rng
398 %{_datadir}/libvirt/schemas/nwfilter.rng
399 %{_datadir}/libvirt/schemas/secret.rng
400 %{_datadir}/libvirt/schemas/storageencryption.rng
401 %{_datadir}/libvirt/schemas/storagepool.rng
402 %{_datadir}/libvirt/schemas/storagevol.rng
403
404 %if %{with sanlock}
405 %files lock-sanlock
406 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
407 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
408 %dir /var/lib/libvirt/sanlock
409 %{_mandir}/man8/virt-sanlock-cleanup.8*
410 %endif
411
412 %files devel
413 %defattr(644,root,root,755)
414 %attr(755,root,root) %{_libdir}/libvirt.so
415 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
416 %{_libdir}/libvirt.la
417 %{_libdir}/libvirt-qemu.la
418 %{_gtkdocdir}/%{name}
419 %{_includedir}/%{name}
420 %{_pkgconfigdir}/%{name}.pc
421
422 %files static
423 %defattr(644,root,root,755)
424 %{_libdir}/libvirt.a
425 %{_libdir}/libvirt-qemu.a
426
427 %files -n python-%{name}
428 %defattr(644,root,root,755)
429 %doc %{_docdir}/%{name}-python-%{version}
430 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
431 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
432 %{py_sitedir}/libvirt.py[co]
433 %{py_sitedir}/libvirt_qemu.py[co]
434
435 %files utils
436 %defattr(644,root,root,755)
437 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
438 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
439 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
440 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
441 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
442 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
443 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
444 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
445 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
446 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
447 %{systemdunitdir}/libvirtd.service
448 %{systemdunitdir}/libvirt-guests.service
449 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/libvirtd
450 %attr(755,root,root) %{_sbindir}/libvirtd
451 %attr(755,root,root) %{_bindir}/virsh
452 %attr(755,root,root) %{_bindir}/virt-host-validate
453 %attr(755,root,root) %{_bindir}/virt-xml-validate
454 %attr(755,root,root) %{_bindir}/virt-pki-validate
455 %attr(755,root,root) %{_libdir}/libvirt_parthelper
456 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
457 %{_mandir}/man1/virsh.1*
458 %{_mandir}/man1/virt-host-validate.1*
459 %{_mandir}/man1/virt-xml-validate.1*
460 %{_mandir}/man1/virt-pki-validate.1*
461 %{_mandir}/man8/libvirtd.8*
462 %{_datadir}/%{name}/*.xml
463 %{_datadir}/augeas/lenses/*.aug
464 %{_datadir}/augeas/lenses/tests/*.aug
465 /usr/lib/tmpfiles.d/%{name}.conf
466 %attr(711,root,root) %dir /var/cache/libvirt
467 %dir /var/lib/libvirt
468 %attr(711,root,root) %dir /var/lib/libvirt/boot
469 %dir /var/lib/libvirt/dnsmasq
470 %attr(711,root,root) %dir /var/lib/libvirt/images
471 %attr(700,root,root) %dir /var/lib/libvirt/lxc
472 %attr(700,root,root) %dir /var/lib/libvirt/network
473 %attr(700,root,root) %dir /var/lib/libvirt/uml
474 %dir /var/log/libvirt
475 %{?with_libxl:%attr(700,root,root) %dir /var/log/libvirt/libxl}
476 %attr(700,root,root) %dir /var/log/libvirt/lxc
477 %{?with_uml:%attr(700,root,root) %dir /var/log/libvirt/uml}
478 %dir /var/run/libvirt
479 %attr(700,root,root) %dir /var/run/libvirt/lxc
480 %if %{with qemu}
481 # %attr(750,qemu,qemu) ?
482 %dir /var/cache/libvirt/qemu
483 # %attr(750,qemu,qemu) ?
484 %dir /var/lib/libvirt/qemu
485 %attr(700,root,root) %dir /var/log/libvirt/qemu
486 %attr(700,root,root) %dir /var/run/libvirt/qemu
487 %endif
This page took 0.057217 seconds and 4 git commands to generate.