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