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
17 # qemu available only on x86 and ppc
18 %ifnarch %{ix86} %{x8664} ppc
21 # Xen is available only on x86 and ia64
22 %ifnarch %{ix86} %{x8664} ia64
26 %undefine with_xen_proxy
30 Summary: Toolkit to interact with virtualization capabilities
31 Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
37 Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}%{?pre:-%{pre}}.tar.gz
38 # Source0-md5: 483a0d6fde47cc09fd0989a93492f283
40 Source2: %{name}.tmpfiles
41 Patch0: %{name}-sasl.patch
42 Patch1: %{name}-lxc.patch
43 Patch2: libvirt-qemu-acl.patch
44 Patch3: libvirt-xend.patch
45 Patch4: lxc-without-selinux.patch
47 Patch100: query-parameters.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
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
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 >= 4.1.2}
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)
105 Libvirt is a C toolkit to interact with the virtualization
106 capabilities of recent versions of Linux.
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.
115 %description -l pl.UTF-8
116 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
117 wirtualizacji obecnych wersji Linuksa.
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
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}
149 Libvirt is a C toolkit to interact with the virtualization
150 capabilities of recent versions of Linux.
152 This package contains the header files needed for developing programs
153 using the libvirt library.
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.
159 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
160 wykorzystujących bibliotekę libvirt.
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}
169 Libvirt is a C toolkit to interact with the virtualization
170 capabilities of recent versions of Linux.
172 This package contains the static libraries for developing programs
173 using the libvirt library.
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.
179 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
180 wykorzystujących bibliotekę libvirt.
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}
188 %description -n python-%{name}
189 Libvirt is a C toolkit to interact with the virtualization
190 capabilities of recent versions of Linux.
192 This package contains the Python bindings for the libvirt library.
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.
198 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
201 Summary: Tools to interact with virtualization capabilities
202 Summary(pl.UTF-8): Narzędzia do współpracy z funkcjami wirtualizacyjnymi
204 Requires: %{name} = %{version}-%{release}
205 Requires: avahi-libs >= 0.6.0
206 Requires: gettext >= 0.18.1.1-6
207 Requires: libblkid >= 2.17
208 Requires: parted-libs >= 1.8.0
209 Requires: systemd-units >= 37-0.10
210 Requires: udev-libs >= 145
211 Requires: xorg-lib-libpciaccess >= 0.10.0
213 Suggests: bridge-utils
220 # for management through ssh
221 Suggests: netcat-openbsd
222 Suggests: polkit >= 0.90
226 Libvirt is a C toolkit to interact with the virtualization
227 capabilities of recent versions of Linux.
229 This package contains tools for the libvirt library.
231 %description utils -l pl.UTF-8
232 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
233 wirtualizacji obecnych wersji Linuksa.
235 Ten pakiet zawiera narzędzia do biblioteki libvirt.
237 %package lock-sanlock
238 Summary: Sanlock lock manager plugin for libvirt
239 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
241 Requires: %{name} = %{version}-%{release}
243 %description lock-sanlock
244 Sanlock lock manager plugin for libvirt.
246 %description lock-sanlock -l pl.UTF-8
247 Zarządca blokad sanlock dla biblioteki libvirt.
259 %{__rm} po/{my,eu_ES}.{po,gmo}
261 mv po/vi_VN.po po/vi.po
262 mv po/vi_VN.gmo po/vi.gmo
266 %{__aclocal} -I gnulib/m4 -I m4
272 PVCREATE=/sbin/pvcreate \
273 VGCREATE=/sbin/vgcreate \
274 LVCREATE=/sbin/lvcreate \
275 PVREMOVE=/sbin/pvremove \
276 VGREMOVE=/sbin/vgremove \
277 LVREMOVE=/sbin/lvremove \
278 VGCHANGE=/sbin/vgchange \
279 LVCHANGE=/sbin/lvchange \
280 VGSCAN=/sbin/vgscan \
286 ISCSIADM=/sbin/iscsiadm \
287 SHOWMOUNT=/usr/sbin/showmount \
291 SHOWMOUNT=/usr/sbin/showmount \
292 IPTABLES_PATH=/usr/sbin/iptables \
293 IP6TABLES_PATH=/usr/sbin/ip6tables \
294 EBTABLES_PATH=/usr/sbin/ebtables \
295 ISCSIADM=/sbin/iscsiadm \
296 DNSMASQ=/usr/sbin/dnsmasq \
297 RADVD=/usr/sbin/radvd \
298 UDEVADM=/sbin/udevadm \
299 MODPROBE=/sbin/modprobe \
300 SCRUB=/usr/bin/scrub \
301 OVSVSCTL=/usr/bin/ovs-vsctl \
302 --disable-silent-rules \
303 --with-html-dir=%{_gtkdocdir} \
304 --with-html-subdir=%{name} \
305 --with-init-script=redhat \
308 --with-storage-iscsi \
309 --with-storage-scsi \
310 --with-storage-mpath \
311 --with-storage-disk \
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
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
342 DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
343 DESTDIR=$RPM_BUILD_ROOT
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
349 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
350 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
352 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
355 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
361 rm -rf $RPM_BUILD_ROOT
363 %post -p /sbin/ldconfig
364 %postun -p /sbin/ldconfig
367 %systemd_post libvirtd.service
369 %systemd_post libvirt-guests.service
372 %systemd_preun libvirtd.service
373 %systemd_preun libvirt-guests.service
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
390 %dir %{_libdir}/libvirt/lock-driver
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
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*
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 %{_datadir}/%{name}/api
424 %{_gtkdocdir}/%{name}
425 %{_includedir}/%{name}
426 %{_pkgconfigdir}/%{name}.pc
429 %defattr(644,root,root,755)
431 %{_libdir}/libvirt-qemu.a
433 %files -n python-%{name}
434 %defattr(644,root,root,755)
435 %doc %{_docdir}/%{name}-python-%{version}
436 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
437 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
438 %{py_sitedir}/libvirt.py[co]
439 %{py_sitedir}/libvirt_qemu.py[co]
442 %defattr(644,root,root,755)
443 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
444 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
445 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
446 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
447 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
448 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
449 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
450 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
451 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
452 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
453 %{systemdunitdir}/libvirtd.service
454 %{systemdunitdir}/libvirt-guests.service
455 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/libvirtd
456 %attr(755,root,root) %{_sbindir}/libvirtd
457 %attr(755,root,root) %{_bindir}/virsh
458 %attr(755,root,root) %{_bindir}/virt-host-validate
459 %attr(755,root,root) %{_bindir}/virt-xml-validate
460 %attr(755,root,root) %{_bindir}/virt-pki-validate
461 %attr(755,root,root) %{_libdir}/libvirt_parthelper
462 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
463 %{_mandir}/man1/virsh.1*
464 %{_mandir}/man1/virt-host-validate.1*
465 %{_mandir}/man1/virt-xml-validate.1*
466 %{_mandir}/man1/virt-pki-validate.1*
467 %{_mandir}/man8/libvirtd.8*
468 %{_datadir}/%{name}/*.xml
469 %{_datadir}/augeas/lenses/*.aug
470 %{_datadir}/augeas/lenses/tests/*.aug
471 /usr/lib/tmpfiles.d/%{name}.conf
472 %attr(711,root,root) %dir /var/cache/libvirt
473 %dir /var/lib/libvirt
474 %attr(711,root,root) %dir /var/lib/libvirt/boot
475 %dir /var/lib/libvirt/dnsmasq
476 %attr(711,root,root) %dir /var/lib/libvirt/images
477 %attr(700,root,root) %dir /var/lib/libvirt/lxc
478 %attr(700,root,root) %dir /var/lib/libvirt/network
479 %attr(700,root,root) %dir /var/lib/libvirt/uml
480 %dir /var/log/libvirt
481 %{?with_libxl:%attr(700,root,root) %dir /var/log/libvirt/libxl}
482 %attr(700,root,root) %dir /var/log/libvirt/lxc
483 %{?with_uml:%attr(700,root,root) %dir /var/log/libvirt/uml}
484 %dir /var/run/libvirt
485 %attr(700,root,root) %dir /var/run/libvirt/lxc
487 # %attr(750,qemu,qemu) ?
488 %dir /var/cache/libvirt/qemu
489 # %attr(750,qemu,qemu) ?
490 %dir /var/lib/libvirt/qemu
491 %attr(700,root,root) %dir /var/log/libvirt/qemu
492 %attr(700,root,root) %dir /var/run/libvirt/qemu