]> git.pld-linux.org Git - packages/libvirt.git/blob - libvirt.spec
- rel 6
[packages/libvirt.git] / libvirt.spec
1 #
2 # Conditional build:
3 %bcond_without  xen             # xen
4 %bcond_without  xen_proxy       # Xen proxy
5 %bcond_without  qemu            # Qemu
6 %bcond_without  polkit          # PolicyKit
7 %bcond_with     sanlock         # sanlock storage lock manager
8 %bcond_with     netcf           # host interfaces support
9 %bcond_without  uml             # UML support
10 %bcond_without  openvz          # OpenVZ support
11 %bcond_without  phyp            # PHYP support
12 %bcond_without  xenapi          # XenAPI support
13 %bcond_without  libxl           # libxenlight
14 %bcond_without  esx             # ESX support
15 %bcond_without  hyperv          # Hyper-V support
16
17 # qemu available only on x86 and ppc
18 %ifnarch %{ix86} %{x8664} ppc
19 %undefine       with_qemu
20 %endif
21 # Xen is available only on x86 and ia64
22 %ifnarch %{ix86} %{x8664} ia64
23 %undefine       with_xen
24 %endif
25 %if %{without xen}
26 %undefine       with_xen_proxy
27 %endif
28
29 Summary:        Toolkit to interact with virtualization capabilities
30 Summary(pl.UTF-8):      Narzędzia współpracujące z funkcjami wirtualizacji
31 Name:           libvirt
32 Version:        0.9.10
33 Release:        6
34 License:        LGPL v2.1+
35 Group:          Base/Kernel
36 Source0:        ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
37 # Source0-md5:  a424bb793521e637349da47e93dd5fff
38 Source1:        %{name}.init
39 Source2:        %{name}.tmpfiles
40 Patch0:         %{name}-sasl.patch
41 Patch1:         %{name}-lxc.patch
42 Patch2:         libvirt-qemu-acl.patch
43 Patch3:         libvirt-xend.patch
44 URL:            http://www.libvirt.org/
45 BuildRequires:  audit-libs-devel
46 BuildRequires:  augeas-devel
47 BuildRequires:  autoconf >= 2.50
48 BuildRequires:  automake
49 BuildRequires:  avahi-devel >= 0.6.0
50 BuildRequires:  curl-devel >= 7.18.0
51 BuildRequires:  cyrus-sasl-devel
52 BuildRequires:  device-mapper-devel >= 1.0.0
53 BuildRequires:  gawk
54 BuildRequires:  gettext-devel >= 0.17
55 BuildRequires:  gnutls-devel >= 1.0.25
56 BuildRequires:  libapparmor-devel
57 BuildRequires:  libblkid-devel >= 2.17
58 BuildRequires:  libcap-ng-devel >= 0.4.0
59 BuildRequires:  libgcrypt-devel
60 BuildRequires:  libnl1-devel >= 1.1
61 BuildRequires:  libpcap-devel >= 1.0.0
62 BuildRequires:  libselinux-devel >= 2.0.82
63 BuildRequires:  libssh2-devel >= 1.0
64 BuildRequires:  libstdc++-devel
65 BuildRequires:  libtool
66 BuildRequires:  libxml2-devel >= 1:2.6.0
67 BuildRequires:  libxslt-devel
68 BuildRequires:  openldap-devel
69 BuildRequires:  openwsman-devel >= 2.2.3
70 BuildRequires:  ncurses-devel
71 %{?with_netcf:BuildRequires:    netcf-devel >= 0.1.4}
72 BuildRequires:  numactl-devel
73 BuildRequires:  parted-devel >= 1.8.0
74 BuildRequires:  perl-tools-pod
75 %{?with_polkit:BuildRequires:   polkit >= 0.90}
76 BuildRequires:  pkgconfig
77 BuildRequires:  python
78 BuildRequires:  python-devel
79 BuildRequires:  readline-devel
80 BuildRequires:  rpm-pythonprov
81 BuildRequires:  rpmbuild(macros) >= 1.627
82 %{?with_sanlock:BuildRequires:  sanlock-devel >= 0.8}
83 BuildRequires:  udev-devel >= 145
84 %{?with_xen:BuildRequires:      xen-devel >= 4.1.2}
85 # For disk driver
86 BuildRequires:  xorg-lib-libpciaccess-devel >= 0.10.0
87 BuildRequires:  yajl-devel
88 Requires:       curl-libs >= 7.18.0
89 Requires:       device-mapper >= 1.0.0
90 Requires:       gnutls >= 1.0.25
91 Requires:       libcap-ng >= 0.4.0
92 Requires:       libnl1 >= 1.1
93 Requires:       libpcap >= 1.0.0
94 Requires:       libselinux >= 2.0.82
95 Requires:       libssh2 >= 1.0
96 Requires:       libxml2 >= 1:2.6.0
97 Requires:       openwsman-libs >= 2.2.3
98 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
99
100 %description
101 Libvirt is a C toolkit to interact with the virtualization
102 capabilities of recent versions of Linux.
103
104 Virtualization of the Linux Operating System means the ability to run
105 multiple instances of Operating Systems concurently on a single
106 hardware system where the basic resources are driven by a Linux
107 instance. The library aim at providing long term stable C API
108 initially for the Xen paravirtualization but should be able to
109 integrate other virtualization mechanisms if needed.
110
111 %description -l pl.UTF-8
112 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
113 wirtualizacji obecnych wersji Linuksa.
114
115 Wirtualizacja w systemie operacyjnym Linux oznacza możliwość
116 jednoczesnego uruchamiania wielu instancji systemu operacyjnego na
117 pojedynczym systemie sprzętowym, którego podstawowe zasoby są
118 zarządzane przez instancję Linuksa. Celem biblioteki jest zapewnienie
119 długotrwale stabilnego API C, początkowo do parawirtualizacji Xen, ale
120 dającej się zintegrować w razie potrzeby z innymi mechanizmami
121 wirtualizacji.
122
123 %package devel
124 Summary:        Development files for programs using libvirt
125 Summary(pl.UTF-8):      Pliki programistyczne do programów wykorzystujących libvirt
126 Group:          Development/Libraries
127 Requires:       %{name} = %{version}-%{release}
128 Requires:       audit-libs-devel
129 Requires:       curl-devel >= 7.18.0
130 Requires:       device-mapper-devel >= 1.0.0
131 Requires:       gnutls-devel >= 1.0.25
132 Requires:       libapparmor-devel
133 Requires:       libcap-ng-devel >= 0.4.0
134 Requires:       libgcrypt-devel
135 Requires:       libnl1-devel >= 1.1
136 Requires:       libpcap-devel >= 1.0.0
137 Requires:       libselinux-devel >= 2.0.82
138 Requires:       libxml2-devel >= 1:2.6.0
139 Requires:       numactl-devel
140 Requires:       openwsman-devel >= 2.2.3
141 %{?with_xen:Requires: xen-devel}
142 Requires:       yajl-devel
143
144 %description devel
145 Libvirt is a C toolkit to interact with the virtualization
146 capabilities of recent versions of Linux.
147
148 This package contains the header files needed for developing programs
149 using the libvirt library.
150
151 %description devel -l pl.UTF-8
152 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
153 wirtualizacji obecnych wersji Linuksa.
154
155 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
156 wykorzystujących bibliotekę libvirt.
157
158 %package static
159 Summary:        Development static libraries for programs using libvirt
160 Summary(pl.UTF-8):      Statyczne biblioteki programistyczne do programów wykorzystujących libvirt
161 Group:          Development/Libraries
162 Requires:       %{name}-devel = %{version}-%{release}
163
164 %description static
165 Libvirt is a C toolkit to interact with the virtualization
166 capabilities of recent versions of Linux.
167
168 This package contains the static libraries for developing programs
169 using the libvirt library.
170
171 %description static -l pl.UTF-8
172 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
173 wirtualizacji obecnych wersji Linuksa.
174
175 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
176 wykorzystujących bibliotekę libvirt.
177
178 %package -n python-%{name}
179 Summary:        Python bindings to interact with virtualization capabilities
180 Summary(pl.UTF-8):      Wiązania Pythona do współpracy z funkcjami wirtualizacji
181 Group:          Development/Languages/Python
182 Requires:       %{name} = %{version}-%{release}
183
184 %description -n python-%{name}
185 Libvirt is a C toolkit to interact with the virtualization
186 capabilities of recent versions of Linux.
187
188 This package contains the Python bindings for the libvirt library.
189
190 %description -n python-%{name} -l pl.UTF-8
191 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
192 wirtualizacji obecnych wersji Linuksa.
193
194 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
195
196 %package utils
197 Summary:        Tools to interact with virtualization capabilities
198 Summary(pl.UTF-8):      Narzędzia do współpracy z funkcjami wirtualizacyjnymi
199 Group:          Base/Kernel
200 Requires:       %{name} = %{version}-%{release}
201 Requires:       avahi-libs >= 0.6.0
202 # /etc/init.d/libvirt-guests[37]: .: /usr/bin/gettext.sh: not found, some better split needed
203 Requires:       gettext-devel
204 Requires:       libblkid >= 2.17
205 Requires:       parted-libs >= 1.8.0
206 Requires:       systemd-units >= 37-0.10
207 Requires:       udev-libs >= 145
208 Requires:       xorg-lib-libpciaccess >= 0.10.0
209 Suggests:       iptables
210 Suggests:       bridge-utils
211 Suggests:       dmidecode
212 Suggests:       dnsmasq
213 Suggests:       ebtables
214 Suggests:       gawk
215 Suggests:       iptables
216 Suggests:       lvm2
217 # for management through ssh
218 Suggests:       netcat-openbsd
219 Suggests:       polkit >= 0.90
220 Suggests:       scrub
221
222 %description utils
223 Libvirt is a C toolkit to interact with the virtualization
224 capabilities of recent versions of Linux.
225
226 This package contains tools for the libvirt library.
227
228 %description utils -l pl.UTF-8
229 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
230 wirtualizacji obecnych wersji Linuksa.
231
232 Ten pakiet zawiera narzędzia do biblioteki libvirt.
233
234 %package lock-sanlock
235 Summary:        Sanlock lock manager plugin for libvirt
236 Summary(pl.UTF-8):      Zarządca blokad sanlock dla biblioteki libvirt
237 Group:          Libraries
238 Requires:       %{name} = %{version}-%{release}
239
240 %description lock-sanlock
241 Sanlock lock manager plugin for libvirt.
242
243 %description lock-sanlock -l pl.UTF-8
244 Zarządca blokad sanlock dla biblioteki libvirt.
245
246 %prep
247 %setup -q
248 %patch0 -p1
249 %patch1 -p1
250 %patch2 -p1
251 %patch3 -p1
252
253 # weird translations
254 %{__rm} po/{my,eu_ES}.{po,gmo}
255
256 mv po/vi_VN.po po/vi.po
257 mv po/vi_VN.gmo po/vi.gmo
258
259 %build
260 %{__libtoolize}
261 %{__aclocal} -I gnulib/m4 -I m4
262 %{__autoconf}
263 %{__autoheader}
264 %{__automake}
265
266 %configure \
267         PVCREATE=/sbin/pvcreate \
268         VGCREATE=/sbin/vgcreate \
269         LVCREATE=/sbin/lvcreate \
270         PVREMOVE=/sbin/pvremove \
271         VGREMOVE=/sbin/vgremove \
272         LVREMOVE=/sbin/lvremove \
273         VGCHANGE=/sbin/vgchange \
274         LVCHANGE=/sbin/lvchange \
275           VGSCAN=/sbin/vgscan   \
276              PVS=/sbin/pvs      \
277              VGS=/sbin/vgs      \
278              LVS=/sbin/lvs      \
279               TC=/sbin/tc \
280            BRCTL=/sbin/brctl    \
281         ISCSIADM=/sbin/iscsiadm \
282         SHOWMOUNT=/usr/sbin/showmount \
283         MOUNT=/bin/mount \
284         UMOUNT=/bin/umount \
285         MKFS=/sbin/mkfs \
286         SHOWMOUNT=/usr/sbin/showmount \
287         IPTABLES_PATH=/usr/sbin/iptables \
288         IP6TABLES_PATH=/usr/sbin/ip6tables \
289         EBTABLES_PATH=/usr/sbin/ebtables \
290         ISCSIADM=/sbin/iscsiadm \
291         DNSMASQ=/usr/sbin/dnsmasq \
292         RADVD=/usr/sbin/radvd \
293         UDEVADM=/sbin/udevadm \
294         MODPROBE=/sbin/modprobe \
295         SCRUB=/usr/bin/scrub \
296         --disable-silent-rules \
297         --with-html-dir=%{_gtkdocdir} \
298         --with-html-subdir=%{name} \
299         --with-init-script=redhat \
300         --with-storage-lvm \
301         --with-storage-fs \
302         --with-storage-iscsi \
303         --with-storage-scsi \
304         --with-storage-mpath \
305         --with-storage-disk \
306         --with-macvtap \
307         --with-virtualport \
308         --with-scrub \
309         --with-udev \
310         --without-hal \
311         --with-lxc \
312         --with-vbox=%{_libdir}/VirtualBox \
313         %{!?with_netcf:--without-netcf} \
314         %{!?with_sanlock:--without-sanlock} \
315         %{!?with_qemu:--without-qemu} \
316         %{!?with_xen:--without-xen} \
317         %{!?with_uml:--without-uml} \
318         %{!?with_openvz:--without-openvz} \
319         %{!?with_phyp:--without-phyp} \
320         %{!?with_xenapi:--without-xenapi} \
321         %{!?with_libxl:--without-libxl} \
322         %{!?with_esx:--without-esx} \
323         %{!?with_hyperv:--without-hyperv} \
324         --x-libraries=%{_libdir} \
325         --with-init-script=systemd
326
327 %{__make} \
328         AWK=gawk
329
330 %install
331 rm -rf $RPM_BUILD_ROOT
332 install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d} \
333         $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
334
335 %{__make} install \
336         DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
337         DESTDIR=$RPM_BUILD_ROOT
338
339 #install qemud/libvirtd.sysconf $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
340 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
341 install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
342
343 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
344 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
345 %py_postclean
346 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
347
348 %if %{with sanlock}
349 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
350 %endif
351
352 %find_lang %{name}
353
354 %clean
355 rm -rf $RPM_BUILD_ROOT
356
357 %post   -p /sbin/ldconfig
358 %postun -p /sbin/ldconfig
359
360 %post utils
361 %systemd_post libvirtd.service
362 NORESTART=1
363 %systemd_post libvirt-guests.service
364
365 %preun utils
366 %systemd_preun libvirtd.service
367 %systemd_preun libvirt-guests.service
368
369 %postun utils
370 %systemd_reload
371
372 %files -f %{name}.lang
373 %defattr(644,root,root,755)
374 %doc ChangeLog README TODO NEWS
375 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
376 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
377 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
378 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
379 %attr(755,root,root) %{_libdir}/libvirt_lxc
380 %attr(755,root,root) %{_libdir}/libvirt_iohelper
381 %attr(755,root,root) %{_libdir}/virt-aa-helper
382 %dir %{_libdir}/libvirt
383 %if %{with sanlock}
384 %dir %{_libdir}/libvirt/lock-driver
385 %endif
386 %dir %{_datadir}/libvirt
387 %dir %{_datadir}/libvirt/schemas
388 %{_datadir}/libvirt/schemas/basictypes.rng
389 %{_datadir}/libvirt/schemas/capability.rng
390 %{_datadir}/libvirt/schemas/domain.rng
391 %{_datadir}/libvirt/schemas/domaincommon.rng
392 %{_datadir}/libvirt/schemas/domainsnapshot.rng
393 %{_datadir}/libvirt/schemas/interface.rng
394 %{_datadir}/libvirt/schemas/network.rng
395 %{_datadir}/libvirt/schemas/networkcommon.rng
396 %{_datadir}/libvirt/schemas/nodedev.rng
397 %{_datadir}/libvirt/schemas/nwfilter.rng
398 %{_datadir}/libvirt/schemas/secret.rng
399 %{_datadir}/libvirt/schemas/storageencryption.rng
400 %{_datadir}/libvirt/schemas/storagepool.rng
401 %{_datadir}/libvirt/schemas/storagevol.rng
402
403 %if %{with sanlock}
404 %files lock-sanlock
405 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
406 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
407 %dir /var/lib/libvirt/sanlock
408 %{_mandir}/man8/virt-sanlock-cleanup.8*
409 %endif
410
411 %files devel
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_libdir}/libvirt.so
414 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
415 %{_libdir}/libvirt.la
416 %{_libdir}/libvirt-qemu.la
417 %{_gtkdocdir}/%{name}
418 %{_includedir}/%{name}
419 %{_pkgconfigdir}/%{name}.pc
420
421 %files static
422 %defattr(644,root,root,755)
423 %{_libdir}/libvirt.a
424 %{_libdir}/libvirt-qemu.a
425
426 %files -n python-%{name}
427 %defattr(644,root,root,755)
428 %doc %{_docdir}/%{name}-python-%{version}
429 %attr(755,root,root) %{py_sitedir}/libvirtmod.so
430 %attr(755,root,root) %{py_sitedir}/libvirtmod_qemu.so
431 %{py_sitedir}/libvirt.py[co]
432 %{py_sitedir}/libvirt_qemu.py[co]
433
434 %files utils
435 %defattr(644,root,root,755)
436 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt
437 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
438 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
439 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
440 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
441 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
442 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
443 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
444 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
445 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
446 %{systemdunitdir}/libvirtd.service
447 %{systemdunitdir}/libvirt-guests.service
448 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/libvirtd
449 %attr(755,root,root) %{_sbindir}/libvirtd
450 %attr(755,root,root) %{_bindir}/virsh
451 %attr(755,root,root) %{_bindir}/virt-host-validate
452 %attr(755,root,root) %{_bindir}/virt-xml-validate
453 %attr(755,root,root) %{_bindir}/virt-pki-validate
454 %attr(755,root,root) %{_libdir}/libvirt_parthelper
455 %{?with_polkit:%{_datadir}/polkit-1/actions/org.libvirt.unix.policy}
456 %{_mandir}/man1/virsh.1*
457 %{_mandir}/man1/virt-host-validate.1*
458 %{_mandir}/man1/virt-xml-validate.1*
459 %{_mandir}/man1/virt-pki-validate.1*
460 %{_mandir}/man8/libvirtd.8*
461 %{_datadir}/%{name}/*.xml
462 %{_datadir}/augeas/lenses/*.aug
463 %{_datadir}/augeas/lenses/tests/*.aug
464 /usr/lib/tmpfiles.d/%{name}.conf
465 %attr(711,root,root) %dir /var/cache/libvirt
466 %dir /var/lib/libvirt
467 %attr(711,root,root) %dir /var/lib/libvirt/boot
468 %dir /var/lib/libvirt/dnsmasq
469 %attr(711,root,root) %dir /var/lib/libvirt/images
470 %attr(700,root,root) %dir /var/lib/libvirt/lxc
471 %attr(700,root,root) %dir /var/lib/libvirt/network
472 %attr(700,root,root) %dir /var/lib/libvirt/uml
473 %dir /var/log/libvirt
474 %{?with_libxl:%attr(700,root,root) %dir /var/log/libvirt/libxl}
475 %attr(700,root,root) %dir /var/log/libvirt/lxc
476 %{?with_uml:%attr(700,root,root) %dir /var/log/libvirt/uml}
477 %dir /var/run/libvirt
478 %attr(700,root,root) %dir /var/run/libvirt/lxc
479 %if %{with qemu}
480 # %attr(750,qemu,qemu) ?
481 %dir /var/cache/libvirt/qemu
482 # %attr(750,qemu,qemu) ?
483 %dir /var/lib/libvirt/qemu
484 %attr(700,root,root) %dir /var/log/libvirt/qemu
485 %attr(700,root,root) %dir /var/run/libvirt/qemu
486 %endif
This page took 0.056285 seconds and 4 git commands to generate.