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 Patch0: %{name}-sasl.patch
38 Patch1: %{name}-scsi-git.patch
39 URL: http://www.libvirt.org/
40 BuildRequires: audit-libs-devel
41 BuildRequires: augeas-devel
42 BuildRequires: autoconf >= 2.50
43 BuildRequires: automake
44 BuildRequires: avahi-devel >= 0.6.0
45 BuildRequires: curl-devel >= 7.18.0
46 BuildRequires: cyrus-sasl-devel
47 BuildRequires: device-mapper-devel >= 1.0.0
49 BuildRequires: gettext-devel >= 0.17
50 BuildRequires: gnutls-devel >= 1.0.25
51 BuildRequires: libapparmor-devel
52 BuildRequires: libblkid-devel >= 2.17
53 BuildRequires: libcap-ng-devel >= 0.4.0
54 BuildRequires: libgcrypt-devel
55 BuildRequires: libnl1-devel >= 1.1
56 BuildRequires: libpcap-devel >= 1.0.0
57 BuildRequires: libselinux-devel >= 2.0.82
58 BuildRequires: libssh2-devel >= 1.0
59 BuildRequires: libstdc++-devel
60 BuildRequires: libtool
61 BuildRequires: libxml2-devel >= 1:2.6.0
62 BuildRequires: libxslt-devel
63 BuildRequires: openldap-devel
64 BuildRequires: openwsman-devel >= 2.2.3
65 BuildRequires: ncurses-devel
66 %{?with_netcf:BuildRequires: netcf-devel >= 0.1.4}
67 BuildRequires: numactl-devel
68 BuildRequires: parted-devel >= 1.8.0
69 BuildRequires: perl-tools-pod
70 %{?with_polkit:BuildRequires: polkit >= 0.90}
71 BuildRequires: pkgconfig
73 BuildRequires: python-devel
74 BuildRequires: readline-devel
75 BuildRequires: rpm-pythonprov
76 BuildRequires: rpmbuild(macros) >= 1.219
77 %{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
78 BuildRequires: udev-devel >= 145
79 %{?with_xen:BuildRequires: xen-devel >= 3.0.4}
81 BuildRequires: xorg-lib-libpciaccess-devel >= 0.10.0
82 BuildRequires: yajl-devel
83 Requires: curl-libs >= 7.18.0
84 Requires: device-mapper >= 1.0.0
85 Requires: gnutls >= 1.0.25
86 Requires: libcap-ng >= 0.4.0
87 Requires: libnl1 >= 1.1
88 Requires: libpcap >= 1.0.0
89 Requires: libselinux >= 2.0.82
90 Requires: libssh2 >= 1.0
91 Requires: libxml2 >= 1:2.6.0
92 Requires: openwsman-libs >= 2.2.3
93 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95 # libxenstore is not versionned properly
96 %define _noautoreq devel(libxenstore.*)
99 Libvirt is a C toolkit to interact with the virtualization
100 capabilities of recent versions of Linux.
102 Virtualization of the Linux Operating System means the ability to run
103 multiple instances of Operating Systems concurently on a single
104 hardware system where the basic resources are driven by a Linux
105 instance. The library aim at providing long term stable C API
106 initially for the Xen paravirtualization but should be able to
107 integrate other virtualization mechanisms if needed.
109 %description -l pl.UTF-8
110 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
111 wirtualizacji obecnych wersji Linuksa.
113 Wirtualizacja w systemie operacyjnym Linux oznacza możliwość
114 jednoczesnego uruchamiania wielu instancji systemu operacyjnego na
115 pojedynczym systemie sprzętowym, którego podstawowe zasoby są
116 zarządzane przez instancję Linuksa. Celem biblioteki jest zapewnienie
117 długotrwale stabilnego API C, początkowo do parawirtualizacji Xen, ale
118 dającej się zintegrować w razie potrzeby z innymi mechanizmami
122 Summary: Development files for programs using libvirt
123 Summary(pl.UTF-8): Pliki programistyczne do programów wykorzystujących libvirt
124 Group: Development/Libraries
125 Requires: %{name} = %{version}-%{release}
126 Requires: audit-libs-devel
127 Requires: curl-devel >= 7.18.0
128 Requires: device-mapper-devel >= 1.0.0
129 Requires: gnutls-devel >= 1.0.25
130 Requires: libapparmor-devel
131 Requires: libcap-ng-devel >= 0.4.0
132 Requires: libgcrypt-devel
133 Requires: libnl1-devel >= 1.1
134 Requires: libpcap-devel >= 1.0.0
135 Requires: libselinux-devel >= 2.0.82
136 Requires: libxml2-devel >= 1:2.6.0
137 Requires: numactl-devel
138 Requires: openwsman-devel >= 2.2.3
139 %{?with_xen:Requires: xen-devel}
143 Libvirt is a C toolkit to interact with the virtualization
144 capabilities of recent versions of Linux.
146 This package contains the header files needed for developing programs
147 using the libvirt library.
149 %description devel -l pl.UTF-8
150 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
151 wirtualizacji obecnych wersji Linuksa.
153 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
154 wykorzystujących bibliotekę libvirt.
157 Summary: Development static libraries for programs using libvirt
158 Summary(pl.UTF-8): Statyczne biblioteki programistyczne do programów wykorzystujących libvirt
159 Group: Development/Libraries
160 Requires: %{name}-devel = %{version}-%{release}
163 Libvirt is a C toolkit to interact with the virtualization
164 capabilities of recent versions of Linux.
166 This package contains the static libraries for developing programs
167 using the libvirt library.
169 %description static -l pl.UTF-8
170 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
171 wirtualizacji obecnych wersji Linuksa.
173 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
174 wykorzystujących bibliotekę libvirt.
176 %package -n python-%{name}
177 Summary: Python bindings to interact with virtualization capabilities
178 Summary(pl.UTF-8): Wiązania Pythona do współpracy z funkcjami wirtualizacji
179 Group: Development/Languages/Python
180 Requires: %{name} = %{version}-%{release}
182 %description -n python-%{name}
183 Libvirt is a C toolkit to interact with the virtualization
184 capabilities of recent versions of Linux.
186 This package contains the Python bindings for the libvirt library.
188 %description -n python-%{name} -l pl.UTF-8
189 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
190 wirtualizacji obecnych wersji Linuksa.
192 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
195 Summary: Tools to interact with virtualization capabilities
196 Summary(pl.UTF-8): Narzędzia do współpracy z funkcjami wirtualizacyjnymi
198 Requires: %{name} = %{version}-%{release}
199 Requires: avahi-libs >= 0.6.0
200 # /etc/init.d/libvirt-guests[37]: .: /usr/bin/gettext.sh: not found, some better split needed
201 Requires: gettext-devel
202 Requires: libblkid >= 2.17
203 Requires: parted-libs >= 1.8.0
204 Requires: udev-libs >= 145
205 Requires: xorg-lib-libpciaccess >= 0.10.0
207 Suggests: bridge-utils
214 # for management through ssh
215 Suggests: netcat-openbsd
216 Suggests: polkit >= 0.90
219 Libvirt is a C toolkit to interact with the virtualization
220 capabilities of recent versions of Linux.
222 This package contains tools for the libvirt library.
224 %description utils -l pl.UTF-8
225 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
226 wirtualizacji obecnych wersji Linuksa.
228 Ten pakiet zawiera narzędzia do biblioteki libvirt.
230 %package lock-sanlock
231 Summary: Sanlock lock manager plugin for libvirt
232 Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
234 Requires: %{name} = %{version}-%{release}
236 %description lock-sanlock
237 Sanlock lock manager plugin for libvirt.
239 %description lock-sanlock -l pl.UTF-8
240 Zarządca blokad sanlock dla biblioteki libvirt.
248 %{__rm} po/{my,eu_ES}.{po,gmo}
250 mv po/vi_VN.po po/vi.po
251 mv po/vi_VN.gmo po/vi.gmo
255 %{__aclocal} -I gnulib/m4 -I m4
261 PVCREATE=/sbin/pvcreate \
262 VGCREATE=/sbin/vgcreate \
263 LVCREATE=/sbin/lvcreate \
264 PVREMOVE=/sbin/pvremove \
265 VGREMOVE=/sbin/vgremove \
266 LVREMOVE=/sbin/lvremove \
267 VGCHANGE=/sbin/vgchange \
268 LVCHANGE=/sbin/lvchange \
269 VGSCAN=/sbin/vgscan \
275 ISCSIADM=/sbin/iscsiadm \
276 SHOWMOUNT=/usr/sbin/showmount \
280 SHOWMOUNT=/usr/sbin/showmount \
281 IPTABLES_PATH=/usr/sbin/iptables \
282 IP6TABLES_PATH=/usr/sbin/ip6tables \
283 EBTABLES_PATH=/usr/sbin/ebtables \
284 ISCSIADM=/sbin/iscsiadm \
285 DNSMASQ=/usr/sbin/dnsmasq \
286 RADVD=/usr/sbin/radvd \
287 UDEVADM=/sbin/udevadm \
288 MODPROBE=/sbin/modprobe \
289 --disable-silent-rules \
290 --with-html-dir=%{_gtkdocdir} \
291 --with-html-subdir=%{name} \
292 --with-init-script=redhat \
296 %{!?with_netcf:--without-netcf} \
297 %{!?with_sanlock:--without-sanlock} \
298 %{!?with_qemu:--without-qemu} \
299 %{!?with_xen:--without-xen} \
300 --x-libraries=%{_libdir}
306 rm -rf $RPM_BUILD_ROOT
308 DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
309 DESTDIR=$RPM_BUILD_ROOT
311 install -d $RPM_BUILD_ROOT/etc/sysconfig
312 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
314 #install qemud/libvirtd.sysconf $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
315 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
317 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
318 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
320 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
323 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
329 rm -rf $RPM_BUILD_ROOT
331 %post -p /sbin/ldconfig
332 %postun -p /sbin/ldconfig
334 %files -f %{name}.lang
335 %defattr(644,root,root,755)
336 %doc ChangeLog README TODO NEWS
337 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
338 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
339 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
340 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
341 %attr(755,root,root) %{_libdir}/libvirt_lxc
342 %attr(755,root,root) %{_libdir}/libvirt_iohelper
343 %attr(755,root,root) %{_libdir}/virt-aa-helper
344 %dir %{_libdir}/libvirt
346 %dir %{_libdir}/libvirt/lock-driver
348 %dir %{_datadir}/libvirt
349 %dir %{_datadir}/libvirt/schemas
350 %{_datadir}/libvirt/schemas/basictypes.rng
351 %{_datadir}/libvirt/schemas/capability.rng
352 %{_datadir}/libvirt/schemas/domain.rng
353 %{_datadir}/libvirt/schemas/domaincommon.rng
354 %{_datadir}/libvirt/schemas/domainsnapshot.rng
355 %{_datadir}/libvirt/schemas/interface.rng
356 %{_datadir}/libvirt/schemas/network.rng
357 %{_datadir}/libvirt/schemas/networkcommon.rng
358 %{_datadir}/libvirt/schemas/nodedev.rng
359 %{_datadir}/libvirt/schemas/nwfilter.rng
360 %{_datadir}/libvirt/schemas/secret.rng
361 %{_datadir}/libvirt/schemas/storageencryption.rng
362 %{_datadir}/libvirt/schemas/storagepool.rng
363 %{_datadir}/libvirt/schemas/storagevol.rng
367 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
368 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
369 %dir /var/lib/libvirt/sanlock
370 %{_mandir}/man8/virt-sanlock-cleanup.8*
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_libdir}/libvirt.so
376 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
377 %{_libdir}/libvirt.la
378 %{_libdir}/libvirt-qemu.la
379 %{_gtkdocdir}/%{name}
380 %{_includedir}/%{name}
381 %{_pkgconfigdir}/%{name}.pc
384 %defattr(644,root,root,755)
386 %{_libdir}/libvirt-qemu.a
388 %files -n python-%{name}
389 %defattr(644,root,root,755)
390 %doc %{_docdir}/%{name}-python-%{version}
391 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
392 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
393 %{py_sitedir}/libvirt.py[co]
394 %{py_sitedir}/libvirt_qemu.py[co]
397 %defattr(644,root,root,755)
398 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
399 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
400 %attr(755,root,root) %{_bindir}/virsh
401 %attr(755,root,root) %{_sbindir}/libvirtd
402 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
403 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
404 %attr(755,root,root) %{_bindir}/virt-xml-validate
405 %attr(755,root,root) %{_bindir}/virt-pki-validate
406 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
407 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
408 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
409 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
410 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
411 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
412 %attr(755,root,root) %{_libdir}/libvirt_parthelper
413 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
414 %{_mandir}/man1/virsh.1*
415 %{_mandir}/man1/virt-xml-validate.1*
416 %{_mandir}/man1/virt-pki-validate.1*
417 %{_mandir}/man8/libvirtd.8*
418 %{_datadir}/%{name}/*.xml
419 %{_datadir}/augeas/lenses/*.aug
420 %{_datadir}/augeas/lenses/tests/*.aug
421 %attr(711,root,root) %dir /var/cache/libvirt
422 %dir /var/lib/libvirt
423 %attr(711,root,root) %dir /var/lib/libvirt/boot
424 %dir /var/lib/libvirt/dnsmasq
425 %attr(711,root,root) %dir /var/lib/libvirt/images
426 %attr(700,root,root) %dir /var/lib/libvirt/lxc
427 %attr(700,root,root) %dir /var/lib/libvirt/network
428 %attr(700,root,root) %dir /var/lib/libvirt/uml
429 %dir /var/log/libvirt
430 %attr(700,root,root) %dir /var/log/libvirt/lxc
431 %attr(700,root,root) %dir /var/log/libvirt/uml
432 %dir /var/run/libvirt
433 %attr(700,root,root) %dir /var/run/libvirt/lxc
435 # %attr(750,qemu,qemu) ?
436 %dir /var/cache/libvirt/qemu
437 # %attr(750,qemu,qemu) ?
438 %dir /var/lib/libvirt/qemu
439 %attr(700,root,root) %dir /var/log/libvirt/qemu
440 %attr(700,root,root) %dir /var/run/libvirt/qemu