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
29 Summary: Toolkit to interact with virtualization capabilities
30 Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
36 Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
37 # Source0-md5: a424bb793521e637349da47e93dd5fff
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
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
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}
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)
102 Libvirt is a C toolkit to interact with the virtualization
103 capabilities of recent versions of Linux.
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.
112 %description -l pl.UTF-8
113 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
114 wirtualizacji obecnych wersji Linuksa.
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
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}
146 Libvirt is a C toolkit to interact with the virtualization
147 capabilities of recent versions of Linux.
149 This package contains the header files needed for developing programs
150 using the libvirt library.
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.
156 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
157 wykorzystujących bibliotekę libvirt.
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}
166 Libvirt is a C toolkit to interact with the virtualization
167 capabilities of recent versions of Linux.
169 This package contains the static libraries for developing programs
170 using the libvirt library.
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.
176 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
177 wykorzystujących bibliotekę libvirt.
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}
185 %description -n python-%{name}
186 Libvirt is a C toolkit to interact with the virtualization
187 capabilities of recent versions of Linux.
189 This package contains the Python bindings for the libvirt library.
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.
195 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
198 Summary: Tools to interact with virtualization capabilities
199 Summary(pl.UTF-8): Narzędzia do współpracy z funkcjami wirtualizacyjnymi
201 Requires: %{name} = %{version}-%{release}
202 Requires: avahi-libs >= 0.6.0
203 # /etc/init.d/libvirt-guests[37]: .: /usr/bin/gettext.sh: not found, some better split needed
204 Requires: gettext-devel
205 Requires: libblkid >= 2.17
206 Requires: parted-libs >= 1.8.0
207 Requires: systemd-units >= 37-0.10
208 Requires: udev-libs >= 145
209 Requires: xorg-lib-libpciaccess >= 0.10.0
211 Suggests: bridge-utils
218 # for management through ssh
219 Suggests: netcat-openbsd
220 Suggests: polkit >= 0.90
224 Libvirt is a C toolkit to interact with the virtualization
225 capabilities of recent versions of Linux.
227 This package contains tools for the libvirt library.
229 %description utils -l pl.UTF-8
230 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
231 wirtualizacji obecnych wersji Linuksa.
233 Ten pakiet zawiera narzędzia do biblioteki libvirt.
235 %package lock-sanlock
236 Summary: Sanlock lock manager plugin for libvirt
237 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
239 Requires: %{name} = %{version}-%{release}
241 %description lock-sanlock
242 Sanlock lock manager plugin for libvirt.
244 %description lock-sanlock -l pl.UTF-8
245 Zarządca blokad sanlock dla biblioteki libvirt.
256 %{__rm} po/{my,eu_ES}.{po,gmo}
258 mv po/vi_VN.po po/vi.po
259 mv po/vi_VN.gmo po/vi.gmo
263 %{__aclocal} -I gnulib/m4 -I m4
269 PVCREATE=/sbin/pvcreate \
270 VGCREATE=/sbin/vgcreate \
271 LVCREATE=/sbin/lvcreate \
272 PVREMOVE=/sbin/pvremove \
273 VGREMOVE=/sbin/vgremove \
274 LVREMOVE=/sbin/lvremove \
275 VGCHANGE=/sbin/vgchange \
276 LVCHANGE=/sbin/lvchange \
277 VGSCAN=/sbin/vgscan \
283 ISCSIADM=/sbin/iscsiadm \
284 SHOWMOUNT=/usr/sbin/showmount \
288 SHOWMOUNT=/usr/sbin/showmount \
289 IPTABLES_PATH=/usr/sbin/iptables \
290 IP6TABLES_PATH=/usr/sbin/ip6tables \
291 EBTABLES_PATH=/usr/sbin/ebtables \
292 ISCSIADM=/sbin/iscsiadm \
293 DNSMASQ=/usr/sbin/dnsmasq \
294 RADVD=/usr/sbin/radvd \
295 UDEVADM=/sbin/udevadm \
296 MODPROBE=/sbin/modprobe \
297 SCRUB=/usr/bin/scrub \
298 --disable-silent-rules \
299 --with-html-dir=%{_gtkdocdir} \
300 --with-html-subdir=%{name} \
301 --with-init-script=redhat \
304 --with-storage-iscsi \
305 --with-storage-scsi \
306 --with-storage-mpath \
307 --with-storage-disk \
314 --with-vbox=%{_libdir}/VirtualBox \
315 %{!?with_netcf:--without-netcf} \
316 %{!?with_sanlock:--without-sanlock} \
317 %{!?with_qemu:--without-qemu} \
318 %{!?with_xen:--without-xen} \
319 %{!?with_uml:--without-uml} \
320 %{!?with_openvz:--without-openvz} \
321 %{!?with_phyp:--without-phyp} \
322 %{!?with_xenapi:--without-xenapi} \
323 %{!?with_libxl:--without-libxl} \
324 %{!?with_esx:--without-esx} \
325 %{!?with_hyperv:--without-hyperv} \
326 --x-libraries=%{_libdir} \
327 --with-init-script=systemd
333 rm -rf $RPM_BUILD_ROOT
334 install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
335 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
338 DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
339 DESTDIR=$RPM_BUILD_ROOT
341 #install qemud/libvirtd.sysconf $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
342 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
343 install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
345 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
346 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
348 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
351 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
357 rm -rf $RPM_BUILD_ROOT
359 %post -p /sbin/ldconfig
360 %postun -p /sbin/ldconfig
363 %systemd_post libvirtd.service
365 %systemd_post libvirt-guests.service
368 %systemd_preun libvirtd.service
369 %systemd_preun libvirt-guests.service
374 %files -f %{name}.lang
375 %defattr(644,root,root,755)
376 %doc ChangeLog README TODO NEWS
377 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
378 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
379 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
381 %attr(755,root,root) %{_libdir}/libvirt_lxc
382 %attr(755,root,root) %{_libdir}/libvirt_iohelper
383 %attr(755,root,root) %{_libdir}/virt-aa-helper
384 %dir %{_libdir}/libvirt
386 %dir %{_libdir}/libvirt/lock-driver
388 %dir %{_datadir}/libvirt
389 %dir %{_datadir}/libvirt/schemas
390 %{_datadir}/libvirt/schemas/basictypes.rng
391 %{_datadir}/libvirt/schemas/capability.rng
392 %{_datadir}/libvirt/schemas/domain.rng
393 %{_datadir}/libvirt/schemas/domaincommon.rng
394 %{_datadir}/libvirt/schemas/domainsnapshot.rng
395 %{_datadir}/libvirt/schemas/interface.rng
396 %{_datadir}/libvirt/schemas/network.rng
397 %{_datadir}/libvirt/schemas/networkcommon.rng
398 %{_datadir}/libvirt/schemas/nodedev.rng
399 %{_datadir}/libvirt/schemas/nwfilter.rng
400 %{_datadir}/libvirt/schemas/secret.rng
401 %{_datadir}/libvirt/schemas/storageencryption.rng
402 %{_datadir}/libvirt/schemas/storagepool.rng
403 %{_datadir}/libvirt/schemas/storagevol.rng
407 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
408 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
409 %dir /var/lib/libvirt/sanlock
410 %{_mandir}/man8/virt-sanlock-cleanup.8*
414 %defattr(644,root,root,755)
415 %attr(755,root,root) %{_libdir}/libvirt.so
416 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
417 %{_libdir}/libvirt.la
418 %{_libdir}/libvirt-qemu.la
419 %{_gtkdocdir}/%{name}
420 %{_includedir}/%{name}
421 %{_pkgconfigdir}/%{name}.pc
424 %defattr(644,root,root,755)
426 %{_libdir}/libvirt-qemu.a
428 %files -n python-%{name}
429 %defattr(644,root,root,755)
430 %doc %{_docdir}/%{name}-python-%{version}
431 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
432 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
433 %{py_sitedir}/libvirt.py[co]
434 %{py_sitedir}/libvirt_qemu.py[co]
437 %defattr(644,root,root,755)
438 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
439 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
440 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
441 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
442 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
443 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
444 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
445 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
446 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
447 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
448 %{systemdunitdir}/libvirtd.service
449 %{systemdunitdir}/libvirt-guests.service
450 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/libvirtd
451 %attr(755,root,root) %{_sbindir}/libvirtd
452 %attr(755,root,root) %{_bindir}/virsh
453 %attr(755,root,root) %{_bindir}/virt-host-validate
454 %attr(755,root,root) %{_bindir}/virt-xml-validate
455 %attr(755,root,root) %{_bindir}/virt-pki-validate
456 %attr(755,root,root) %{_libdir}/libvirt_parthelper
457 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
458 %{_mandir}/man1/virsh.1*
459 %{_mandir}/man1/virt-host-validate.1*
460 %{_mandir}/man1/virt-xml-validate.1*
461 %{_mandir}/man1/virt-pki-validate.1*
462 %{_mandir}/man8/libvirtd.8*
463 %{_datadir}/%{name}/*.xml
464 %{_datadir}/augeas/lenses/*.aug
465 %{_datadir}/augeas/lenses/tests/*.aug
466 /usr/lib/tmpfiles.d/%{name}.conf
467 %attr(711,root,root) %dir /var/cache/libvirt
468 %dir /var/lib/libvirt
469 %attr(711,root,root) %dir /var/lib/libvirt/boot
470 %dir /var/lib/libvirt/dnsmasq
471 %attr(711,root,root) %dir /var/lib/libvirt/images
472 %attr(700,root,root) %dir /var/lib/libvirt/lxc
473 %attr(700,root,root) %dir /var/lib/libvirt/network
474 %attr(700,root,root) %dir /var/lib/libvirt/uml
475 %dir /var/log/libvirt
476 %{?with_libxl:%attr(700,root,root) %dir /var/log/libvirt/libxl}
477 %attr(700,root,root) %dir /var/log/libvirt/lxc
478 %{?with_uml:%attr(700,root,root) %dir /var/log/libvirt/uml}
479 %dir /var/run/libvirt
480 %attr(700,root,root) %dir /var/run/libvirt/lxc
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