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