1 # xenapi (libxenserver), xenlight (libxenlight)?
2 # --with-driver-modules ?
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
19 # qemu available only on x86 and ppc
20 %ifnarch %{ix86} %{x8664} ppc
23 # Xen is available only on x86 and ia64
24 %ifnarch %{ix86} %{x8664} ia64
28 %undefine with_xen_proxy
31 Summary: Toolkit to interact with virtualization capabilities
32 Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
38 Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
39 # Source0-md5: a424bb793521e637349da47e93dd5fff
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
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)
101 # libxenstore is not versionned properly
102 %define _noautoreq devel(libxenstore.*)
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 # /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
214 Suggests: bridge-utils
221 # for management through ssh
222 Suggests: netcat-openbsd
223 Suggests: polkit >= 0.90
227 Libvirt is a C toolkit to interact with the virtualization
228 capabilities of recent versions of Linux.
230 This package contains tools for the libvirt library.
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.
236 Ten pakiet zawiera narzędzia do biblioteki libvirt.
238 %package lock-sanlock
239 Summary: Sanlock lock manager plugin for libvirt
240 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
242 Requires: %{name} = %{version}-%{release}
244 %description lock-sanlock
245 Sanlock lock manager plugin for libvirt.
247 %description lock-sanlock -l pl.UTF-8
248 Zarządca blokad sanlock dla biblioteki libvirt.
257 %{__rm} po/{my,eu_ES}.{po,gmo}
259 mv po/vi_VN.po po/vi.po
260 mv po/vi_VN.gmo po/vi.gmo
264 %{__aclocal} -I gnulib/m4 -I m4
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 \
284 ISCSIADM=/sbin/iscsiadm \
285 SHOWMOUNT=/usr/sbin/showmount \
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 \
305 --with-storage-iscsi \
306 --with-storage-scsi \
307 --with-storage-mpath \
308 --with-storage-disk \
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
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
339 DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
340 DESTDIR=$RPM_BUILD_ROOT
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
346 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
347 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
349 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
352 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
358 rm -rf $RPM_BUILD_ROOT
360 %post -p /sbin/ldconfig
361 %postun -p /sbin/ldconfig
364 %systemd_post libvirtd.service
366 %systemd_post libvirt-guests.service
369 %systemd_preun libvirtd.service
370 %systemd_preun libvirt-guests.service
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
387 %dir %{_libdir}/libvirt/lock-driver
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
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*
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
425 %defattr(644,root,root,755)
427 %{_libdir}/libvirt-qemu.a
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]
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
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