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
12 # qemu available only on x86 and ppc
13 %ifnarch %{ix86} %{x8664} ppc
16 # Xen is available only on i686 x86_64 ia64
17 %ifnarch %{ix86} %{x8664} ia64
20 %ifarch i386 i486 i586
24 %undefine with_xen_proxy
27 Summary: Toolkit to interact with virtualization capabilities
28 Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
34 Source0: ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
35 # Source0-md5: 37c4bf8cdd4c76150bc0c1d249945d27
37 Source2: %{name}.tmpfiles
38 Patch0: %{name}-sasl.patch
39 Patch1: %{name}-scsi-git.patch
40 Patch2: %{name}-lxc.patch
41 Patch3: %{name}-lxc-systemd.patch
42 URL: http://www.libvirt.org/
43 BuildRequires: audit-libs-devel
44 BuildRequires: augeas-devel
45 BuildRequires: autoconf >= 2.50
46 BuildRequires: automake
47 BuildRequires: avahi-devel >= 0.6.0
48 BuildRequires: curl-devel >= 7.18.0
49 BuildRequires: cyrus-sasl-devel
50 BuildRequires: device-mapper-devel >= 1.0.0
52 BuildRequires: gettext-devel >= 0.17
53 BuildRequires: gnutls-devel >= 1.0.25
54 BuildRequires: libapparmor-devel
55 BuildRequires: libblkid-devel >= 2.17
56 BuildRequires: libcap-ng-devel >= 0.4.0
57 BuildRequires: libgcrypt-devel
58 BuildRequires: libnl1-devel >= 1.1
59 BuildRequires: libpcap-devel >= 1.0.0
60 BuildRequires: libselinux-devel >= 2.0.82
61 BuildRequires: libssh2-devel >= 1.0
62 BuildRequires: libstdc++-devel
63 BuildRequires: libtool
64 BuildRequires: libxml2-devel >= 1:2.6.0
65 BuildRequires: libxslt-devel
66 BuildRequires: openldap-devel
67 BuildRequires: openwsman-devel >= 2.2.3
68 BuildRequires: ncurses-devel
69 %{?with_netcf:BuildRequires: netcf-devel >= 0.1.4}
70 BuildRequires: numactl-devel
71 BuildRequires: parted-devel >= 1.8.0
72 BuildRequires: perl-tools-pod
73 %{?with_polkit:BuildRequires: polkit >= 0.90}
74 BuildRequires: pkgconfig
76 BuildRequires: python-devel
77 BuildRequires: readline-devel
78 BuildRequires: rpm-pythonprov
79 BuildRequires: rpmbuild(macros) >= 1.219
80 %{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
81 BuildRequires: udev-devel >= 145
82 %{?with_xen:BuildRequires: xen-devel >= 3.0.4}
84 BuildRequires: xorg-lib-libpciaccess-devel >= 0.10.0
85 BuildRequires: yajl-devel
86 Requires: curl-libs >= 7.18.0
87 Requires: device-mapper >= 1.0.0
88 Requires: gnutls >= 1.0.25
89 Requires: libcap-ng >= 0.4.0
90 Requires: libnl1 >= 1.1
91 Requires: libpcap >= 1.0.0
92 Requires: libselinux >= 2.0.82
93 Requires: libssh2 >= 1.0
94 Requires: libxml2 >= 1:2.6.0
95 Requires: openwsman-libs >= 2.2.3
96 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
98 # libxenstore is not versionned properly
99 %define _noautoreq devel(libxenstore.*)
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: udev-libs >= 145
208 Requires: xorg-lib-libpciaccess >= 0.10.0
210 Suggests: bridge-utils
217 # for management through ssh
218 Suggests: netcat-openbsd
219 Suggests: polkit >= 0.90
222 Libvirt is a C toolkit to interact with the virtualization
223 capabilities of recent versions of Linux.
225 This package contains tools for the libvirt library.
227 %description utils -l pl.UTF-8
228 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
229 wirtualizacji obecnych wersji Linuksa.
231 Ten pakiet zawiera narzędzia do biblioteki libvirt.
233 %package lock-sanlock
234 Summary: Sanlock lock manager plugin for libvirt
235 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
237 Requires: %{name} = %{version}-%{release}
239 %description lock-sanlock
240 Sanlock lock manager plugin for libvirt.
242 %description lock-sanlock -l pl.UTF-8
243 Zarządca blokad sanlock dla biblioteki libvirt.
253 %{__rm} po/{my,eu_ES}.{po,gmo}
255 mv po/vi_VN.po po/vi.po
256 mv po/vi_VN.gmo po/vi.gmo
260 %{__aclocal} -I gnulib/m4 -I m4
266 PVCREATE=/sbin/pvcreate \
267 VGCREATE=/sbin/vgcreate \
268 LVCREATE=/sbin/lvcreate \
269 PVREMOVE=/sbin/pvremove \
270 VGREMOVE=/sbin/vgremove \
271 LVREMOVE=/sbin/lvremove \
272 VGCHANGE=/sbin/vgchange \
273 LVCHANGE=/sbin/lvchange \
274 VGSCAN=/sbin/vgscan \
280 ISCSIADM=/sbin/iscsiadm \
281 SHOWMOUNT=/usr/sbin/showmount \
285 SHOWMOUNT=/usr/sbin/showmount \
286 IPTABLES_PATH=/usr/sbin/iptables \
287 IP6TABLES_PATH=/usr/sbin/ip6tables \
288 EBTABLES_PATH=/usr/sbin/ebtables \
289 ISCSIADM=/sbin/iscsiadm \
290 DNSMASQ=/usr/sbin/dnsmasq \
291 RADVD=/usr/sbin/radvd \
292 UDEVADM=/sbin/udevadm \
293 MODPROBE=/sbin/modprobe \
294 --disable-silent-rules \
295 --with-html-dir=%{_gtkdocdir} \
296 --with-html-subdir=%{name} \
297 --with-init-script=redhat \
301 %{!?with_netcf:--without-netcf} \
302 %{!?with_sanlock:--without-sanlock} \
303 %{!?with_qemu:--without-qemu} \
304 %{!?with_xen:--without-xen} \
305 --x-libraries=%{_libdir}
311 rm -rf $RPM_BUILD_ROOT
312 install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
313 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
316 DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
317 DESTDIR=$RPM_BUILD_ROOT
319 #install qemud/libvirtd.sysconf $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
320 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
321 install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
323 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
324 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
326 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
329 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
335 rm -rf $RPM_BUILD_ROOT
337 %post -p /sbin/ldconfig
338 %postun -p /sbin/ldconfig
340 %files -f %{name}.lang
341 %defattr(644,root,root,755)
342 %doc ChangeLog README TODO NEWS
343 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
344 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
345 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
346 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
347 %attr(755,root,root) %{_libdir}/libvirt_lxc
348 %attr(755,root,root) %{_libdir}/libvirt_iohelper
349 %attr(755,root,root) %{_libdir}/virt-aa-helper
350 %dir %{_libdir}/libvirt
352 %dir %{_libdir}/libvirt/lock-driver
354 %dir %{_datadir}/libvirt
355 %dir %{_datadir}/libvirt/schemas
356 %{_datadir}/libvirt/schemas/basictypes.rng
357 %{_datadir}/libvirt/schemas/capability.rng
358 %{_datadir}/libvirt/schemas/domain.rng
359 %{_datadir}/libvirt/schemas/domaincommon.rng
360 %{_datadir}/libvirt/schemas/domainsnapshot.rng
361 %{_datadir}/libvirt/schemas/interface.rng
362 %{_datadir}/libvirt/schemas/network.rng
363 %{_datadir}/libvirt/schemas/networkcommon.rng
364 %{_datadir}/libvirt/schemas/nodedev.rng
365 %{_datadir}/libvirt/schemas/nwfilter.rng
366 %{_datadir}/libvirt/schemas/secret.rng
367 %{_datadir}/libvirt/schemas/storageencryption.rng
368 %{_datadir}/libvirt/schemas/storagepool.rng
369 %{_datadir}/libvirt/schemas/storagevol.rng
373 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
374 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
375 %dir /var/lib/libvirt/sanlock
376 %{_mandir}/man8/virt-sanlock-cleanup.8*
380 %defattr(644,root,root,755)
381 %attr(755,root,root) %{_libdir}/libvirt.so
382 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
383 %{_libdir}/libvirt.la
384 %{_libdir}/libvirt-qemu.la
385 %{_gtkdocdir}/%{name}
386 %{_includedir}/%{name}
387 %{_pkgconfigdir}/%{name}.pc
390 %defattr(644,root,root,755)
392 %{_libdir}/libvirt-qemu.a
394 %files -n python-%{name}
395 %defattr(644,root,root,755)
396 %doc %{_docdir}/%{name}-python-%{version}
397 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
398 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
399 %{py_sitedir}/libvirt.py[co]
400 %{py_sitedir}/libvirt_qemu.py[co]
403 %defattr(644,root,root,755)
404 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
405 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
406 %attr(755,root,root) %{_bindir}/virsh
407 %attr(755,root,root) %{_sbindir}/libvirtd
408 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
409 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
410 %attr(755,root,root) %{_bindir}/virt-xml-validate
411 %attr(755,root,root) %{_bindir}/virt-pki-validate
412 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
413 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
414 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
415 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
416 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
417 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
418 %attr(755,root,root) %{_libdir}/libvirt_parthelper
419 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
420 %{_mandir}/man1/virsh.1*
421 %{_mandir}/man1/virt-xml-validate.1*
422 %{_mandir}/man1/virt-pki-validate.1*
423 %{_mandir}/man8/libvirtd.8*
424 %{_datadir}/%{name}/*.xml
425 %{_datadir}/augeas/lenses/*.aug
426 %{_datadir}/augeas/lenses/tests/*.aug
427 /usr/lib/tmpfiles.d/%{name}.conf
428 %attr(711,root,root) %dir /var/cache/libvirt
429 %dir /var/lib/libvirt
430 %attr(711,root,root) %dir /var/lib/libvirt/boot
431 %dir /var/lib/libvirt/dnsmasq
432 %attr(711,root,root) %dir /var/lib/libvirt/images
433 %attr(700,root,root) %dir /var/lib/libvirt/lxc
434 %attr(700,root,root) %dir /var/lib/libvirt/network
435 %attr(700,root,root) %dir /var/lib/libvirt/uml
436 %dir /var/log/libvirt
437 %attr(700,root,root) %dir /var/log/libvirt/lxc
438 %attr(700,root,root) %dir /var/log/libvirt/uml
439 %dir /var/run/libvirt
440 %attr(700,root,root) %dir /var/run/libvirt/lxc
442 # %attr(750,qemu,qemu) ?
443 %dir /var/cache/libvirt/qemu
444 # %attr(750,qemu,qemu) ?
445 %dir /var/lib/libvirt/qemu
446 %attr(700,root,root) %dir /var/log/libvirt/qemu
447 %attr(700,root,root) %dir /var/run/libvirt/qemu