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 URL: http://www.libvirt.org/
48 BuildRequires: audit-libs-devel
49 BuildRequires: augeas-devel
50 BuildRequires: autoconf >= 2.50
51 BuildRequires: automake
52 BuildRequires: avahi-devel >= 0.6.0
53 BuildRequires: curl-devel >= 7.18.0
54 BuildRequires: cyrus-sasl-devel
55 BuildRequires: device-mapper-devel >= 1.0.0
57 BuildRequires: gettext-devel >= 0.17
58 BuildRequires: gnutls-devel >= 1.0.25
59 BuildRequires: libapparmor-devel
60 BuildRequires: libblkid-devel >= 2.17
61 BuildRequires: libcap-ng-devel >= 0.4.0
62 BuildRequires: libgcrypt-devel
63 BuildRequires: libnl1-devel >= 1.1
64 BuildRequires: libpcap-devel >= 1.0.0
65 BuildRequires: libselinux-devel >= 2.0.82
66 BuildRequires: libssh2-devel >= 1.0
67 BuildRequires: libstdc++-devel
68 BuildRequires: libtool
69 BuildRequires: libxml2-devel >= 1:2.6.0
70 BuildRequires: libxslt-devel
71 BuildRequires: openldap-devel
72 BuildRequires: openwsman-devel >= 2.2.3
73 BuildRequires: ncurses-devel
74 %{?with_netcf:BuildRequires: netcf-devel >= 0.1.4}
75 BuildRequires: numactl-devel
76 BuildRequires: parted-devel >= 1.8.0
77 BuildRequires: perl-tools-pod
78 %{?with_polkit:BuildRequires: polkit >= 0.90}
79 BuildRequires: pkgconfig
81 BuildRequires: python-devel
82 BuildRequires: readline-devel
83 BuildRequires: rpm-pythonprov
84 BuildRequires: rpmbuild(macros) >= 1.627
85 %{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
86 BuildRequires: udev-devel >= 145
87 %{?with_xen:BuildRequires: xen-devel >= 3.0.4}
89 BuildRequires: xorg-lib-libpciaccess-devel >= 0.10.0
90 BuildRequires: yajl-devel
91 Requires: curl-libs >= 7.18.0
92 Requires: device-mapper >= 1.0.0
93 Requires: gnutls >= 1.0.25
94 Requires: libcap-ng >= 0.4.0
95 Requires: libnl1 >= 1.1
96 Requires: libpcap >= 1.0.0
97 Requires: libselinux >= 2.0.82
98 Requires: libssh2 >= 1.0
99 Requires: libxml2 >= 1:2.6.0
100 Requires: openwsman-libs >= 2.2.3
101 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
103 # libxenstore is not versionned properly
104 %define _noautoreq devel(libxenstore.*)
107 Libvirt is a C toolkit to interact with the virtualization
108 capabilities of recent versions of Linux.
110 Virtualization of the Linux Operating System means the ability to run
111 multiple instances of Operating Systems concurently on a single
112 hardware system where the basic resources are driven by a Linux
113 instance. The library aim at providing long term stable C API
114 initially for the Xen paravirtualization but should be able to
115 integrate other virtualization mechanisms if needed.
117 %description -l pl.UTF-8
118 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
119 wirtualizacji obecnych wersji Linuksa.
121 Wirtualizacja w systemie operacyjnym Linux oznacza możliwość
122 jednoczesnego uruchamiania wielu instancji systemu operacyjnego na
123 pojedynczym systemie sprzętowym, którego podstawowe zasoby są
124 zarządzane przez instancję Linuksa. Celem biblioteki jest zapewnienie
125 długotrwale stabilnego API C, początkowo do parawirtualizacji Xen, ale
126 dającej się zintegrować w razie potrzeby z innymi mechanizmami
130 Summary: Development files for programs using libvirt
131 Summary(pl.UTF-8): Pliki programistyczne do programów wykorzystujących libvirt
132 Group: Development/Libraries
133 Requires: %{name} = %{version}-%{release}
134 Requires: audit-libs-devel
135 Requires: curl-devel >= 7.18.0
136 Requires: device-mapper-devel >= 1.0.0
137 Requires: gnutls-devel >= 1.0.25
138 Requires: libapparmor-devel
139 Requires: libcap-ng-devel >= 0.4.0
140 Requires: libgcrypt-devel
141 Requires: libnl1-devel >= 1.1
142 Requires: libpcap-devel >= 1.0.0
143 Requires: libselinux-devel >= 2.0.82
144 Requires: libxml2-devel >= 1:2.6.0
145 Requires: numactl-devel
146 Requires: openwsman-devel >= 2.2.3
147 %{?with_xen:Requires: xen-devel}
151 Libvirt is a C toolkit to interact with the virtualization
152 capabilities of recent versions of Linux.
154 This package contains the header files needed for developing programs
155 using the libvirt library.
157 %description devel -l pl.UTF-8
158 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
159 wirtualizacji obecnych wersji Linuksa.
161 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
162 wykorzystujących bibliotekę libvirt.
165 Summary: Development static libraries for programs using libvirt
166 Summary(pl.UTF-8): Statyczne biblioteki programistyczne do programów wykorzystujących libvirt
167 Group: Development/Libraries
168 Requires: %{name}-devel = %{version}-%{release}
171 Libvirt is a C toolkit to interact with the virtualization
172 capabilities of recent versions of Linux.
174 This package contains the static libraries for developing programs
175 using the libvirt library.
177 %description static -l pl.UTF-8
178 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
179 wirtualizacji obecnych wersji Linuksa.
181 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
182 wykorzystujących bibliotekę libvirt.
184 %package -n python-%{name}
185 Summary: Python bindings to interact with virtualization capabilities
186 Summary(pl.UTF-8): Wiązania Pythona do współpracy z funkcjami wirtualizacji
187 Group: Development/Languages/Python
188 Requires: %{name} = %{version}-%{release}
190 %description -n python-%{name}
191 Libvirt is a C toolkit to interact with the virtualization
192 capabilities of recent versions of Linux.
194 This package contains the Python bindings for the libvirt library.
196 %description -n python-%{name} -l pl.UTF-8
197 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
198 wirtualizacji obecnych wersji Linuksa.
200 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
203 Summary: Tools to interact with virtualization capabilities
204 Summary(pl.UTF-8): Narzędzia do współpracy z funkcjami wirtualizacyjnymi
206 Requires: %{name} = %{version}-%{release}
207 Requires: avahi-libs >= 0.6.0
208 # /etc/init.d/libvirt-guests[37]: .: /usr/bin/gettext.sh: not found, some better split needed
209 Requires: gettext-devel
210 Requires: libblkid >= 2.17
211 Requires: parted-libs >= 1.8.0
212 Requires: systemd-units >= 37-0.10
213 Requires: udev-libs >= 145
214 Requires: xorg-lib-libpciaccess >= 0.10.0
216 Suggests: bridge-utils
223 # for management through ssh
224 Suggests: netcat-openbsd
225 Suggests: polkit >= 0.90
229 Libvirt is a C toolkit to interact with the virtualization
230 capabilities of recent versions of Linux.
232 This package contains tools for the libvirt library.
234 %description utils -l pl.UTF-8
235 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
236 wirtualizacji obecnych wersji Linuksa.
238 Ten pakiet zawiera narzędzia do biblioteki libvirt.
240 %package lock-sanlock
241 Summary: Sanlock lock manager plugin for libvirt
242 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
244 Requires: %{name} = %{version}-%{release}
246 %description lock-sanlock
247 Sanlock lock manager plugin for libvirt.
249 %description lock-sanlock -l pl.UTF-8
250 Zarządca blokad sanlock dla biblioteki libvirt.
258 %{__rm} po/{my,eu_ES}.{po,gmo}
260 mv po/vi_VN.po po/vi.po
261 mv po/vi_VN.gmo po/vi.gmo
265 %{__aclocal} -I gnulib/m4 -I m4
271 PVCREATE=/sbin/pvcreate \
272 VGCREATE=/sbin/vgcreate \
273 LVCREATE=/sbin/lvcreate \
274 PVREMOVE=/sbin/pvremove \
275 VGREMOVE=/sbin/vgremove \
276 LVREMOVE=/sbin/lvremove \
277 VGCHANGE=/sbin/vgchange \
278 LVCHANGE=/sbin/lvchange \
279 VGSCAN=/sbin/vgscan \
285 ISCSIADM=/sbin/iscsiadm \
286 SHOWMOUNT=/usr/sbin/showmount \
290 SHOWMOUNT=/usr/sbin/showmount \
291 IPTABLES_PATH=/usr/sbin/iptables \
292 IP6TABLES_PATH=/usr/sbin/ip6tables \
293 EBTABLES_PATH=/usr/sbin/ebtables \
294 ISCSIADM=/sbin/iscsiadm \
295 DNSMASQ=/usr/sbin/dnsmasq \
296 RADVD=/usr/sbin/radvd \
297 UDEVADM=/sbin/udevadm \
298 MODPROBE=/sbin/modprobe \
299 SCRUB=/usr/bin/scrub \
300 --disable-silent-rules \
301 --with-html-dir=%{_gtkdocdir} \
302 --with-html-subdir=%{name} \
303 --with-init-script=redhat \
306 --with-storage-iscsi \
307 --with-storage-scsi \
308 --with-storage-mpath \
309 --with-storage-disk \
316 --with-vbox=%{_libdir}/VirtualBox \
317 %{!?with_netcf:--without-netcf} \
318 %{!?with_sanlock:--without-sanlock} \
319 %{!?with_qemu:--without-qemu} \
320 %{!?with_xen:--without-xen} \
321 %{!?with_uml:--without-uml} \
322 %{!?with_openvz:--without-openvz} \
323 %{!?with_phyp:--without-phyp} \
324 %{!?with_xenapi:--without-xenapi} \
325 %{!?with_libxl:--without-libxl} \
326 %{!?with_esx:--without-esx} \
327 %{!?with_hyperv:--without-hyperv} \
328 --x-libraries=%{_libdir} \
329 --with-init-script=systemd
335 rm -rf $RPM_BUILD_ROOT
336 install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
337 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
340 DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
341 DESTDIR=$RPM_BUILD_ROOT
343 #install qemud/libvirtd.sysconf $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
344 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
345 install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
347 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
348 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
350 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
353 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
359 rm -rf $RPM_BUILD_ROOT
361 %post -p /sbin/ldconfig
362 %postun -p /sbin/ldconfig
365 %systemd_post libvirtd.service
367 %systemd_post libvirt-guests.service
370 %systemd_preun libvirtd.service
371 %systemd_preun libvirt-guests.service
376 %files -f %{name}.lang
377 %defattr(644,root,root,755)
378 %doc ChangeLog README TODO NEWS
379 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
381 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
382 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
383 %attr(755,root,root) %{_libdir}/libvirt_lxc
384 %attr(755,root,root) %{_libdir}/libvirt_iohelper
385 %attr(755,root,root) %{_libdir}/virt-aa-helper
386 %dir %{_libdir}/libvirt
388 %dir %{_libdir}/libvirt/lock-driver
390 %dir %{_datadir}/libvirt
391 %dir %{_datadir}/libvirt/schemas
392 %{_datadir}/libvirt/schemas/basictypes.rng
393 %{_datadir}/libvirt/schemas/capability.rng
394 %{_datadir}/libvirt/schemas/domain.rng
395 %{_datadir}/libvirt/schemas/domaincommon.rng
396 %{_datadir}/libvirt/schemas/domainsnapshot.rng
397 %{_datadir}/libvirt/schemas/interface.rng
398 %{_datadir}/libvirt/schemas/network.rng
399 %{_datadir}/libvirt/schemas/networkcommon.rng
400 %{_datadir}/libvirt/schemas/nodedev.rng
401 %{_datadir}/libvirt/schemas/nwfilter.rng
402 %{_datadir}/libvirt/schemas/secret.rng
403 %{_datadir}/libvirt/schemas/storageencryption.rng
404 %{_datadir}/libvirt/schemas/storagepool.rng
405 %{_datadir}/libvirt/schemas/storagevol.rng
409 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
410 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
411 %dir /var/lib/libvirt/sanlock
412 %{_mandir}/man8/virt-sanlock-cleanup.8*
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{_libdir}/libvirt.so
418 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
419 %{_libdir}/libvirt.la
420 %{_libdir}/libvirt-qemu.la
421 %{_gtkdocdir}/%{name}
422 %{_includedir}/%{name}
423 %{_pkgconfigdir}/%{name}.pc
426 %defattr(644,root,root,755)
428 %{_libdir}/libvirt-qemu.a
430 %files -n python-%{name}
431 %defattr(644,root,root,755)
432 %doc %{_docdir}/%{name}-python-%{version}
433 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
434 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
435 %{py_sitedir}/libvirt.py[co]
436 %{py_sitedir}/libvirt_qemu.py[co]
439 %defattr(644,root,root,755)
440 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
441 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
442 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
443 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
444 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
445 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
446 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
447 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
448 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
449 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
450 %{systemdunitdir}/libvirtd.service
451 %{systemdunitdir}/libvirt-guests.service
452 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/libvirtd
453 %attr(755,root,root) %{_sbindir}/libvirtd
454 %attr(755,root,root) %{_bindir}/virsh
455 %attr(755,root,root) %{_bindir}/virt-host-validate
456 %attr(755,root,root) %{_bindir}/virt-xml-validate
457 %attr(755,root,root) %{_bindir}/virt-pki-validate
458 %attr(755,root,root) %{_libdir}/libvirt_parthelper
459 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
460 %{_mandir}/man1/virsh.1*
461 %{_mandir}/man1/virt-host-validate.1*
462 %{_mandir}/man1/virt-xml-validate.1*
463 %{_mandir}/man1/virt-pki-validate.1*
464 %{_mandir}/man8/libvirtd.8*
465 %{_datadir}/%{name}/*.xml
466 %{_datadir}/augeas/lenses/*.aug
467 %{_datadir}/augeas/lenses/tests/*.aug
468 /usr/lib/tmpfiles.d/%{name}.conf
469 %attr(711,root,root) %dir /var/cache/libvirt
470 %dir /var/lib/libvirt
471 %attr(711,root,root) %dir /var/lib/libvirt/boot
472 %dir /var/lib/libvirt/dnsmasq
473 %attr(711,root,root) %dir /var/lib/libvirt/images
474 %attr(700,root,root) %dir /var/lib/libvirt/lxc
475 %attr(700,root,root) %dir /var/lib/libvirt/network
476 %attr(700,root,root) %dir /var/lib/libvirt/uml
477 %dir /var/log/libvirt
478 %attr(700,root,root) %dir /var/log/libvirt/lxc
479 %attr(700,root,root) %dir /var/log/libvirt/uml
480 %dir /var/run/libvirt
481 %attr(700,root,root) %dir /var/run/libvirt/lxc
483 # %attr(750,qemu,qemu) ?
484 %dir /var/cache/libvirt/qemu
485 # %attr(750,qemu,qemu) ?
486 %dir /var/lib/libvirt/qemu
487 %attr(700,root,root) %dir /var/log/libvirt/qemu
488 %attr(700,root,root) %dir /var/run/libvirt/qemu