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