1 # xenapi (libxenserver), xenlight (libxenlight)?
2 # --with-driver-modules ?
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 i686 x86_64 ia64
24 %ifnarch %{ix86} %{x8664} ia64
27 %ifarch i386 i486 i586
31 %undefine with_xen_proxy
34 Summary: Toolkit to interact with virtualization capabilities
35 Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
41 Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
42 # Source0-md5: a424bb793521e637349da47e93dd5fff
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
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 >= 3.0.4}
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)
104 # libxenstore is not versionned properly
105 %define _noautoreq devel(libxenstore.*)
108 Libvirt is a C toolkit to interact with the virtualization
109 capabilities of recent versions of Linux.
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.
118 %description -l pl.UTF-8
119 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
120 wirtualizacji obecnych wersji Linuksa.
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
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}
152 Libvirt is a C toolkit to interact with the virtualization
153 capabilities of recent versions of Linux.
155 This package contains the header files needed for developing programs
156 using the libvirt library.
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.
162 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
163 wykorzystujących bibliotekę libvirt.
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}
172 Libvirt is a C toolkit to interact with the virtualization
173 capabilities of recent versions of Linux.
175 This package contains the static libraries for developing programs
176 using the libvirt library.
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.
182 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
183 wykorzystujących bibliotekę libvirt.
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}
191 %description -n python-%{name}
192 Libvirt is a C toolkit to interact with the virtualization
193 capabilities of recent versions of Linux.
195 This package contains the Python bindings for the libvirt library.
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.
201 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
204 Summary: Tools to interact with virtualization capabilities
205 Summary(pl.UTF-8): Narzędzia do współpracy z funkcjami wirtualizacyjnymi
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
217 Suggests: bridge-utils
224 # for management through ssh
225 Suggests: netcat-openbsd
226 Suggests: polkit >= 0.90
230 Libvirt is a C toolkit to interact with the virtualization
231 capabilities of recent versions of Linux.
233 This package contains tools for the libvirt library.
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.
239 Ten pakiet zawiera narzędzia do biblioteki libvirt.
241 %package lock-sanlock
242 Summary: Sanlock lock manager plugin for libvirt
243 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
245 Requires: %{name} = %{version}-%{release}
247 %description lock-sanlock
248 Sanlock lock manager plugin for libvirt.
250 %description lock-sanlock -l pl.UTF-8
251 Zarządca blokad sanlock dla biblioteki libvirt.
260 %{__rm} po/{my,eu_ES}.{po,gmo}
262 mv po/vi_VN.po po/vi.po
263 mv po/vi_VN.gmo po/vi.gmo
267 %{__aclocal} -I gnulib/m4 -I m4
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 \
287 ISCSIADM=/sbin/iscsiadm \
288 SHOWMOUNT=/usr/sbin/showmount \
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 \
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 %{_gtkdocdir}/%{name}
424 %{_includedir}/%{name}
425 %{_pkgconfigdir}/%{name}.pc
428 %defattr(644,root,root,755)
430 %{_libdir}/libvirt-qemu.a
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]
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
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