]> git.pld-linux.org Git - packages/libvirt.git/blob - libvirt.spec
- rel 1
[packages/libvirt.git] / libvirt.spec
1 # xenapi (libxenserver), xenlight (libxenlight)?
2 # --with-driver-modules ?
3 #
4 # Conditional build:
5 %bcond_with     xen             # xen
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
18
19 # qemu available only on x86 and ppc
20 %ifnarch %{ix86} %{x8664} ppc
21 %undefine       with_qemu
22 %endif
23 # Xen is available only on i686 x86_64 ia64
24 %ifnarch %{ix86} %{x8664} ia64
25 %undefine       with_xen
26 %endif
27 %ifarch i386 i486 i586
28 %undefine       with_xen
29 %endif
30 %if %{without xen}
31 %undefine       with_xen_proxy
32 %endif
33
34 Summary:        Toolkit to interact with virtualization capabilities
35 Summary(pl.UTF-8):      Narzędzia współpracujące z funkcjami wirtualizacji
36 Name:           libvirt
37 Version:        0.9.10
38 Release:        1
39 License:        LGPL v2.1+
40 Group:          Base/Kernel
41 Source0:        ftp://ftp.libvirt.org/libvirt/%{name}-%{version}.tar.gz
42 # Source0-md5:  a424bb793521e637349da47e93dd5fff
43 Source1:        %{name}.init
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
56 BuildRequires:  gawk
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
80 BuildRequires:  python
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}
88 # For disk driver
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)
102
103 # libxenstore is not versionned properly
104 %define         _noautoreq      devel(libxenstore.*)
105
106 %description
107 Libvirt is a C toolkit to interact with the virtualization
108 capabilities of recent versions of Linux.
109
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.
116
117 %description -l pl.UTF-8
118 Libvirt to zestaw narzędzi w C do współpracy z funkcjami
119 wirtualizacji obecnych wersji Linuksa.
120
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
127 wirtualizacji.
128
129 %package devel
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}
148 Requires:       yajl-devel
149
150 %description devel
151 Libvirt is a C toolkit to interact with the virtualization
152 capabilities of recent versions of Linux.
153
154 This package contains the header files needed for developing programs
155 using the libvirt library.
156
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.
160
161 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
162 wykorzystujących bibliotekę libvirt.
163
164 %package static
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}
169
170 %description static
171 Libvirt is a C toolkit to interact with the virtualization
172 capabilities of recent versions of Linux.
173
174 This package contains the static libraries for developing programs
175 using the libvirt library.
176
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.
180
181 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
182 wykorzystujących bibliotekę libvirt.
183
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}
189
190 %description -n python-%{name}
191 Libvirt is a C toolkit to interact with the virtualization
192 capabilities of recent versions of Linux.
193
194 This package contains the Python bindings for the libvirt library.
195
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.
199
200 Ten pakiet zawiera wiązania Pythona do biblioteki libvirt.
201
202 %package utils
203 Summary:        Tools to interact with virtualization capabilities
204 Summary(pl.UTF-8):      Narzędzia do współpracy z funkcjami wirtualizacyjnymi
205 Group:          Base/Kernel
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
215 Suggests:       iptables
216 Suggests:       bridge-utils
217 Suggests:       dmidecode
218 Suggests:       dnsmasq
219 Suggests:       ebtables
220 Suggests:       gawk
221 Suggests:       iptables
222 Suggests:       lvm2
223 # for management through ssh
224 Suggests:       netcat-openbsd
225 Suggests:       polkit >= 0.90
226 Suggests:       scrub
227
228 %description utils
229 Libvirt is a C toolkit to interact with the virtualization
230 capabilities of recent versions of Linux.
231
232 This package contains tools for the libvirt library.
233
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.
237
238 Ten pakiet zawiera narzędzia do biblioteki libvirt.
239
240 %package lock-sanlock
241 Summary:        Sanlock lock manager plugin for libvirt
242 Summary(pl.UTF-8):      Zarządca blokad sanlock dla biblioteki libvirt
243 Group:          Libraries
244 Requires:       %{name} = %{version}-%{release}
245
246 %description lock-sanlock
247 Sanlock lock manager plugin for libvirt.
248
249 %description lock-sanlock -l pl.UTF-8
250 Zarządca blokad sanlock dla biblioteki libvirt.
251
252 %prep
253 %setup -q
254 %patch0 -p1
255 %patch1 -p1
256
257 # weird translations
258 %{__rm} po/{my,eu_ES}.{po,gmo}
259
260 mv po/vi_VN.po po/vi.po
261 mv po/vi_VN.gmo po/vi.gmo
262
263 %build
264 %{__libtoolize}
265 %{__aclocal} -I gnulib/m4 -I m4
266 %{__autoconf}
267 %{__autoheader}
268 %{__automake}
269
270 %configure \
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   \
280              PVS=/sbin/pvs      \
281              VGS=/sbin/vgs      \
282              LVS=/sbin/lvs      \
283               TC=/sbin/tc \
284            BRCTL=/sbin/brctl    \
285         ISCSIADM=/sbin/iscsiadm \
286         SHOWMOUNT=/usr/sbin/showmount \
287         MOUNT=/bin/mount \
288         UMOUNT=/bin/umount \
289         MKFS=/sbin/mkfs \
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 \
304         --with-storage-lvm \
305         --with-storage-fs \
306         --with-storage-iscsi \
307         --with-storage-scsi \
308         --with-storage-mpath \
309         --with-storage-disk \
310         --with-macvtap \
311         --with-virtualport \
312         --with-scrub \
313         --with-udev \
314         --without-hal \
315         --with-lxc \
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
330
331 %{__make} \
332         AWK=gawk
333
334 %install
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
338
339 %{__make} install \
340         DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
341         DESTDIR=$RPM_BUILD_ROOT
342
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
346
347 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
348 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
349 %py_postclean
350 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/*.la
351
352 %if %{with sanlock}
353 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.{a,la}
354 %endif
355
356 %find_lang %{name}
357
358 %clean
359 rm -rf $RPM_BUILD_ROOT
360
361 %post   -p /sbin/ldconfig
362 %postun -p /sbin/ldconfig
363
364 %post utils
365 %systemd_post libvirtd.service
366 NORESTART=1
367 %systemd_post libvirt-guests.service
368
369 %preun utils
370 %systemd_preun libvirtd.service
371 %systemd_preun libvirt-guests.service
372
373 %postun utils
374 %systemd_reload
375
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
387 %if %{with sanlock}
388 %dir %{_libdir}/libvirt/lock-driver
389 %endif
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
406
407 %if %{with sanlock}
408 %files lock-sanlock
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*
413 %endif
414
415 %files devel
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
424
425 %files static
426 %defattr(644,root,root,755)
427 %{_libdir}/libvirt.a
428 %{_libdir}/libvirt-qemu.a
429
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]
437
438 %files utils
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
482 %if %{with qemu}
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
489 %endif
This page took 0.061431 seconds and 4 git commands to generate.