]> git.pld-linux.org Git - packages/xen.git/blob - xen.spec
TODO update
[packages/xen.git] / xen.spec
1 #
2 # TODO:
3 #  - check if other tools/libs are not usable in domU, move them to -guest
4 #    packages if so
5 #  - pass bconds to qemu configure script (tricky, as the script is called from
6 #    Xen Makefiles)
7 #  - fix %doc - some files are installed in docdir both by make install and %d,
8 #    other are installed once
9 #
10 # Conditional build:
11 %bcond_without  qemu_traditional # without qemu-xen-traditional
12 %bcond_without  opengl          # OpenGL support in Xen qemu
13 %bcond_without  sdl             # SDL support in Xen qemu
14 %bcond_without  bluetooth       # bluetooth support in Xen qemu
15 %bcond_without  brlapi          # brlapi support in Xen qemu
16 %bcond_without  ocaml           # Ocaml libraries for Xen tools
17 %bcond_without  efi             # EFI hypervisor
18 %bcond_without  hypervisor      # Xen hypervisor build
19 %bcond_without  stubdom         # stubdom build
20 %bcond_without  xsm             # XSM security module (by default, Flask)
21 %bcond_without  blktap1         # blktap1 support
22 %bcond_without  xend            # include the obsolete xend & xm
23
24 %ifnarch %{x8664} arm
25 %undefine       with_hypervisor
26 %endif
27 %ifnarch %{x8664}
28 %undefine       with_efi
29 %endif
30 %ifnarch %{ix86} %{x8664}
31 %undefine       with_stubdom
32 %endif
33
34 # from Config.mk:
35 %define seabios_version         1.6.3.2
36
37 # from ./stubdom/configure.ac
38 %define polarssl_version        1.1.4
39 %define tpm_emulator_version    0.7.4
40 %define gmp_version             4.3.2
41
42 %define xen_extfiles_url        http://xenbits.xensource.com/xen-extfiles
43 Summary:        Xen - a virtual machine monitor
44 Summary(pl.UTF-8):      Xen - monitor maszyny wirtualnej
45 Name:           xen
46 Version:        4.4.0
47 Release:        0.1
48 License:        GPL v2, interface parts on BSD-like
49 Group:          Applications/System
50 Source0:        http://bits.xensource.com/oss-xen/release/%{version}/%{name}-%{version}.tar.gz
51 # Source0-md5:  fd9031d499af38c5d04108681734027e
52 # used by stubdoms
53 Source10:       %{xen_extfiles_url}/lwip-1.3.0.tar.gz
54 # Source10-md5: 36cc57650cffda9a0269493be2a169bb
55 Source11:       %{xen_extfiles_url}/newlib-1.16.0.tar.gz
56 # Source11-md5: bf8f1f9e3ca83d732c00a79a6ef29bc4
57 Source12:       %{xen_extfiles_url}/zlib-1.2.3.tar.gz
58 # Source12-md5: debc62758716a169df9f62e6ab2bc634
59 Source13:       %{xen_extfiles_url}/pciutils-2.2.9.tar.bz2
60 # Source13-md5: cec05e7785497c5e19da2f114b934ffd
61 Source14:       %{xen_extfiles_url}/grub-0.97.tar.gz
62 # Source14-md5: cd3f3eb54446be6003156158d51f4884
63 Source15:       http://xenbits.xen.org/xen-extfiles/ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz
64 # Source15-md5: 7496268cebf47d5c9ccb0696e3b26065
65 # http://xenbits.xen.org/git-http/seabios.git/
66 # git archive --prefix=tools/firmware/seabios/ --format=tar rel-%{seabios_version} | xz > seabios-%{seabios_version}.tar.xz
67 Source16:       seabios-%{seabios_version}.tar.xz
68 # Source16-md5: 145e07ff5618a3999f94f2e830d06b05
69 Source17:       %{xen_extfiles_url}/polarssl-%{polarssl_version}-gpl.tgz
70 # Source17-md5: 7b72caf22b01464ee7d6165f2fd85f44
71 Source18:       http://xenbits.xen.org/xen-extfiles/tpm_emulator-%{tpm_emulator_version}.tar.gz
72 # Source18-md5: e26becb8a6a2b6695f6b3e8097593db8
73 Source19:       ftp://ftp.gmplib.org/pub/gmp-%{gmp_version}/gmp-%{gmp_version}.tar.bz2
74 # Source19-md5: dd60683d7057917e34630b4a787932e8
75 Source30:       proc-xen.mount
76 Source31:       var-lib-xenstored.mount
77 Source32:       blktapctrl.service
78 Source33:       blktapctrl.sysconfig
79 Source34:       xenconsoled.service
80 Source35:       xenconsoled.sysconfig
81 Source36:       xenstored.service
82 Source37:       xenstored.sysconfig
83 Source38:       xenstored.tmpfiles
84 Source39:       xend.service
85 Source40:       xend.tmpfiles
86 Source41:       xen-watchdog.service
87 Source42:       xen-dom0-modules-load.conf
88 Source43:       xendomains.sh
89 Source44:       xendomains.service
90 # sysvinit scripts
91 Source50:       xend.init
92 Source51:       xenconsoled.init
93 Source52:       xenstored.init
94 Source53:       xen-watchdog.init
95 Source54:       xendomains.init
96 Source55:       xen.logrotate
97 Source56:       xen.tmpfiles
98 Source57:       xen.cfg
99 Source58:       xen.efi-boot-update
100 Source59:       vif-openvswitch
101 Source60:       xen-init-list
102 Source61:       xen-toolstack
103 Patch0:         %{name}-python_scripts.patch
104 Patch1:         %{name}-symbols.patch
105 Patch2:         %{name}-curses.patch
106 Patch3:         pygrubfix.patch
107 Patch4:         xend.catchbt.patch
108 Patch5:         xend-pci-loop.patch
109 Patch6:         %{name}-dumpdir.patch
110 # Warning: this disables ingress filtering implemented in xen scripts!
111 Patch7:         %{name}-net-disable-iptables-on-bridge.patch
112 Patch8:         %{name}-configure-xend.patch
113 Patch10:        %{name}-qemu.patch
114 Patch11:        %{name}-ulong.patch
115 Patch12:        %{name}-doc.patch
116 Patch13:        %{name}-paths.patch
117 Patch14:        %{name}-no_fetcher.patch
118 Patch15:    odd-glib2-fix.patch
119 URL:            http://www.xen.org/products/xenhyp.html
120 %if %{with qemu_traditional}
121 %{?with_opengl:BuildRequires:   OpenGL-devel}
122 %{?with_sdl:BuildRequires:      SDL-devel >= 1.2.1}
123 %endif
124 %ifarch %{ix86} %{x8664}
125 BuildRequires:  acpica
126 BuildRequires:  autoconf
127 BuildRequires:  bcc
128 BuildRequires:  bin86
129 %endif
130 %if %{with qemu_traditional}
131 %{?with_bluetooth:BuildRequires:        bluez-libs-devel}
132 %{?with_brlapi:BuildRequires:   brlapi-devel}
133 %endif
134 %{?with_efi:BuildRequires:      binutils >= 3:2.23.51.0.3-2}
135 BuildRequires:  bzip2-devel
136 BuildRequires:  curl-devel
137 BuildRequires:  cyrus-sasl-devel >= 2
138 %if %{with xsm}
139 BuildRequires:  checkpolicy
140 %endif
141 BuildRequires:  e2fsprogs-devel
142 BuildRequires:  gcc >= 6:4.1
143 BuildRequires:  gettext-devel
144 BuildRequires:  glib2-devel >= 1:2.12
145 BuildRequires:  glusterfs-devel >= 3.4
146 BuildRequires:  gnutls-devel
147 BuildRequires:  keyutils-devel
148 BuildRequires:  latex2html >= 2008
149 BuildRequires:  libaio-devel
150 BuildRequires:  libcap-devel
151 BuildRequires:  libcap-ng-devel
152 BuildRequires:  libiscsi-devel
153 BuildRequires:  libjpeg-devel
154 BuildRequires:  libpng-devel
155 BuildRequires:  libseccomp-devel >= 1.0.0
156 BuildRequires:  libuuid-devel
157 BuildRequires:  lzo-devel >= 2
158 BuildRequires:  ncurses-devel
159 %if %{with ocaml}
160 BuildRequires:  ocaml >= 3.04-7
161 BuildRequires:  ocaml-findlib
162 %endif
163 BuildRequires:  nss-devel >= 3.12.8
164 BuildRequires:  openssl-devel
165 BuildRequires:  pciutils-devel
166 BuildRequires:  perl-base
167 BuildRequires:  perl-tools-pod
168 BuildRequires:  pixman-devel
169 BuildRequires:  pkgconfig
170 BuildRequires:  python-devel
171 BuildRequires:  rpm-pythonprov
172 BuildRequires:  rpmbuild(macros) >= 1.647
173 BuildRequires:  texi2html
174 BuildRequires:  texlive-dvips
175 BuildRequires:  texlive-latex-psnfss
176 BuildRequires:  texlive-xetex
177 BuildRequires:  transfig
178 BuildRequires:  usbredir-devel >= 0.5.3
179 BuildRequires:  vde2-devel
180 BuildRequires:  which
181 # for xfsctl (<xfs/xfs.h>)
182 BuildRequires:  xfsprogs-devel
183 %if %{with qemu_traditional}
184 BuildRequires:  xorg-lib-libX11-devel
185 BuildRequires:  xorg-lib-libXext-devel
186 %endif
187 BuildRequires:  xz-devel
188 BuildRequires:  yajl-devel
189 BuildRequires:  zlib-devel
190 %if %{with qemu_traditional}
191 # FIXME: see qemu configure comments on top of spec
192 %{!?with_opengl:BuildConflicts: OpenGL-devel}
193 %{!?with_sdl:BuildConflicts:    SDL-devel}
194 %{!?with_sdl:BuildConflicts:    SDL-devel}
195 %{!?with_bluetooth:BuildConflicts:      bluez-libs-devel}
196 %{!?with_brlapi:BuildConflicts: brlapi-devel}
197 %endif
198 Requires(post,preun):   /sbin/chkconfig
199 Requires(post,preun,postun):    systemd-units >= 38
200 Requires:       %{name}-libs = %{version}-%{release}
201 Requires:       ZopeInterface
202 Requires:       bridge-utils
203 Requires:       coreutils
204 Requires:       diffutils
205 Requires:       gawk
206 Requires:       iptables
207 Requires:       losetup
208 Requires:       net-tools
209 Requires:       python-%{name} = %{version}-%{release}
210 Requires:       rc-scripts
211 Requires:       sed
212 Requires:       systemd-units >= 38
213 Requires:       util-linux
214 Requires:       which
215 Requires:       %{name}-guest = %{version}-%{release}
216 Obsoletes:      xen-doc
217 Obsoletes:      xen-udev
218 ExclusiveArch:  %{ix86} %{x8664} arm
219 %ifarch %{ix86} %{x8664}
220 # for HVM
221 Suggests:       qemu-system-x86
222 %endif
223 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
224
225 # some PPC/SPARC boot images in ELF format
226 %define         _noautostrip    .*%{_datadir}/\\(xen\\|qemu-xen\\)/qemu/\\(openbios-.*\\|palcode-clipper\\|s390-ccw.img\\)
227
228 %description
229 This package contains the Xen hypervisor and Xen tools, needed to run
230 virtual machines on x86 systems, together with the kernel-xen*
231 packages. Information on how to use Xen can be found at the Xen
232 project pages.
233
234 Virtualisation can be used to run multiple versions or multiple Linux
235 distributions on one system, or to test untrusted applications in a
236 sandboxed environment. Note that the Xen technology is still in
237 development, and this RPM has received extremely little testing. Don't
238 be surprised if this RPM eats your data, drinks your coffee or makes
239 fun of you in front of your friends.
240
241 %description -l pl.UTF-8
242 Ten pakiet zawiera nadzorcę oraz narzędzia Xen, potrzebne do
243 uruchamiania wirtualnych maszyn w systemach x86, wraz z pakietami
244 kernel-xen*. Informacje jak używać Xena można znaleźć na stronach
245 projektu.
246
247 Wirtualizacja może być używana do uruchamiania wielu wersji lub wielu
248 dystrybucji Linuksa na jednym systemie lub do testowania nie zaufanych
249 aplikacji w odizolowanym środowisku. Należy zauważyć, że technologia
250 Xen jest ciągle rozwijana, a ten RPM był słabo testowany. Nie należy
251 być zdziwionym, jeśli ten pakiet zje dane, wypije całą kawę czy będzie
252 się wyśmiewał w obecności przyjaciół.
253
254 %package guest
255 Summary:        Xen tools for virtual machines
256 Summary(pl.UTF-8):      Narzędzia Xen dla maszyn virtualnych
257 Group:          Applications/System
258 Requires:       %{name}-libs-guest = %{version}-%{release}
259
260 %description guest
261 Xen utilities for both dom0 and domU virtual domains.
262
263 %description guest -l pl.UTF-8
264 Narzędzia Xena dla maszyn wirtualnych dom0 i domU.
265
266 %package libs
267 Summary:        Xen libraries
268 Summary(pl.UTF-8):      Biblioteki Xena
269 Group:          Libraries
270 Requires:       %{name}-libs-guest = %{version}-%{release}
271
272 %description libs
273 Xen libraries.
274
275 %description libs -l pl.UTF-8
276 Biblioteki Xena.
277
278 %package libs-guest
279 Summary:        Xen libraries for virtual machines
280 Summary(pl.UTF-8):      Biblioteki Xena dla maszyn wirtualnych
281 Group:          Libraries
282
283 %description libs-guest
284 Xen libraries for both dom0 and domU virtual machines.
285
286 %description libs-guest -l pl.UTF-8
287 Biblioteki Xena dla maszyn wirtualnych dom0 i domU.
288
289 %package devel
290 Summary:        Header files for Xen
291 Summary(pl.UTF-8):      Pliki nagłówkowe Xena
292 Group:          Development/Libraries
293 Requires:       %{name}-libs = %{version}-%{release}
294
295 %description devel
296 Header files for Xen.
297
298 %description devel -l pl.UTF-8
299 Pliki nagłówkowe Xena.
300
301 %package static
302 Summary:        Static Xen libraries
303 Summary(pl.UTF-8):      Statyczne biblioteki Xena
304 Group:          Development/Libraries
305 Requires:       %{name}-devel = %{version}-%{release}
306
307 %description static
308 Static Xen libraries.
309
310 %description static -l pl.UTF-8
311 Statyczne biblioteki Xena.
312
313 %package xend
314 Summary:        xend daemon
315 Summary(pl.UTF-8):      Demon xend
316 Group:          Daemons
317 Requires(post,preun,postun):    systemd-units >= 38
318 Requires:       systemd-units >= 38
319
320 %description xend
321 xend daemon.
322
323 %description xend -l pl.UTF-8
324 Demon xend.
325
326 %package -n ocaml-xen
327 Summary:        OCaml bindings for Xen
328 Summary(pl.UTF-8):      Wiązania OCamla dla Xena
329 License:        LGPL v2.1 with linking exception
330 Group:          Libraries
331 Requires:       %{name}-libs = %{version}-%{release}
332 %if %{with ocaml}
333 %requires_eq    ocaml-runtime
334 %endif
335
336 %description -n ocaml-xen
337 OCaml bindings for Xen.
338
339 %description -n ocaml-xen -l pl.UTF-8
340 Wiązania OCamla dla Xena.
341
342 %package -n ocaml-xen-devel
343 Summary:        OCaml bindings for Xen - development files
344 Summary(pl.UTF-8):      Wiązania OCamla dla Xena - pliki programistyczne
345 License:        LGPL v2.1 with linking exception
346 Group:          Development/Libraries
347 Requires:       ocaml-xen = %{version}-%{release}
348 %if %{with ocaml}
349 %requires_eq    ocaml
350 %endif
351
352 %description -n ocaml-xen-devel
353 OCaml bindings for Xen - development files.
354
355 %description -n ocaml-xen-devel -l pl.UTF-8
356 Wiązania OCamla dla Xena - pliki programistyczne.
357
358 %package -n python-xen
359 Summary:        Xen Python modules
360 Summary(pl.UTF-8):      Moduły Pythona dla Xena
361 Group:          Libraries
362 Requires:       %{name}-libs = %{version}-%{release}
363 Conflicts:      xen < 3.2.1-0.3
364
365 %description -n python-xen
366 Xen Python modules.
367
368 %description -n python-xen -l pl.UTF-8
369 Moduły Pythona dla Xena.
370
371 %package -n python-xen-guest
372 Summary:        Xen Python modules for virtual machines
373 Summary(pl.UTF-8):      Moduły Pythona dla maszyn wirtualnych Xena
374 Group:          Libraries
375 Requires:       %{name}-libs-guest = %{version}-%{release}
376 Conflicts:      xen < 3.2.1-0.3
377
378 %description -n python-xen-guest
379 Xen Python modules for both dom0 and domU virtual machines.
380
381 %description -n python-xen-guest -l pl.UTF-8
382 Moduły Pythona dla maszyn wirtualnych dom0 i domU.
383
384 %package -n bash-completion-%{name}
385 Summary:    bash-completion for Xen (xl)
386 Summary(pl.UTF-8):      Bashowe dopełnianie poleceń dla Xena (xl)
387 Group:      Applications/Shells
388 Requires:   %{name} = %{version}-%{release}
389 Requires:   bash-completion
390
391 %description -n bash-completion-%{name}
392 This package provides bash-completion for Xen (xl).
393
394 %description -n bash-completion-%{name} -l pl.UTF-8
395 Ten pakiet zapewnia bashowe dopełnianie poleceń dla Xena (xl).
396
397 %package efi
398 Summary:        Xen hypervisor binary for EFI
399 Summary(pl.UTF-8):      Hipernadzorca Xen dla EFI
400 Group:          Applications/System
401 Requires:       %{name}-libs-guest = %{version}-%{release}
402
403 %description efi
404 Xen hypervisor EFI binary, which can be booted directly from (U)EFI
405 firmware without help from any additional bootloader.
406
407 %description efi -l pl.UTF-8
408 Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
409 (U)EFI, bez potrzeby oddzielnego bootloadera.
410
411 %prep
412 %setup -q -a 16
413 %patch0 -p1
414 %patch1 -p1
415 %patch2 -p1
416 %patch3 -p1
417 %patch4 -p1
418 %patch5 -p1
419 %patch6 -p1
420 %patch7 -p1
421 %patch8 -p1
422 %patch10 -p1
423 %patch11 -p1
424 %patch12 -p1
425 %patch13 -p1
426 %patch14 -p1
427 %patch15 -p1
428
429 # stubdom sources
430 ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
431 ln -s %{SOURCE17} %{SOURCE18} %{SOURCE19} stubdom
432 ln -s %{SOURCE15} tools/firmware/etherboot/ipxe.tar.gz
433
434 # do not allow fetching anything via git
435 echo GIT=/bin/false >> Config.mk
436
437 %build
438 # based on the 'autoconf.sh' from the sources
439 %{__autoconf}
440 cd tools
441 %{__autoconf}
442 %{__autoheader}
443 cd ../stubdom
444 %{__autoconf}
445 cd ../docs
446 %{__autoconf}
447 cd ..
448
449 # if gold is used then bioses and grub doesn't build
450 install -d our-ld
451 ln -f -s /usr/bin/ld.bfd our-ld/ld
452 export PATH=$(pwd)/our-ld:$PATH
453
454 export CFLAGS="%{rpmcflags} -I/usr/include/ncurses"
455 export CXXFLAGS="%{rpmcflags} -I/usr/include/ncurses"
456
457 # NOTE:
458 # - there is a quoting bug (in tools/driver/Makefile) that causes
459 #   openssl is used instead of gcrypt; that's OK, openssl is obligatory
460 #   anyway (see configure), gcrypt is optional
461 # - prevent libiconv from being detected (not needed with glibc)
462 %configure \
463         CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses" \
464         ac_cv_lib_iconv_libiconv_open=no \
465         %{__enable_disable qemu_traditional qemu-traditional} \
466         %{__enable_disable blktap1 blktap1} \
467         %{__enable_disable xend xend} \
468 %ifarch %{x8664}
469         --with-system-qemu=/usr/bin/qemu-system-x86_64 \
470 %else
471         --with-system-qemu=/usr/bin/qemu-system-i386 \
472 %endif
473         --disable-debug
474
475 %{__make} -j1 dist-xen dist-tools dist-docs \
476         %{!?with_ocaml:OCAML_TOOLS=n} \
477         XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
478         CC="%{__cc}" \
479         CXX="%{__cxx}" \
480         V=1
481
482 unset CFLAGS
483 unset CXXFLAGS
484
485 %if %{with stubdom}
486 %{__make} -j1 dist-stubdom \
487         %{!?with_ocaml:OCAML_TOOLS=n} \
488         XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
489         CC="%{__cc}" \
490         CXX="%{__cxx}" \
491         V=1
492 %endif
493
494 %install
495 rm -rf $RPM_BUILD_ROOT
496 install -d $RPM_BUILD_ROOT/etc/{xen/examples,modules-load.d,logrotate.d} \
497         $RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{systemdunitdir},/var/log/xen/console}
498
499 %if %{with efi}
500 install -d $RPM_BUILD_ROOT/etc/efi-boot/update.d
501 %endif
502
503 %{__make} -j1 install-xen install-tools %{?with_stubdom:install-stubdom} install-docs \
504         %{!?with_ocaml:OCAML_TOOLS=n} \
505         XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
506         DESTDIR=$RPM_BUILD_ROOT \
507         HOTPLUGS=install-udev
508
509 %if %{with qemu_traditional}
510 %if "%{_lib}" == "lib64"
511 ln -s %{_prefix}/lib/%{name}/bin/qemu-dm $RPM_BUILD_ROOT%{_libdir}/%{name}/bin/qemu-dm
512 %endif
513 %endif
514
515 install %{SOURCE30} $RPM_BUILD_ROOT%{systemdunitdir}/proc-xen.mount
516 install %{SOURCE31} $RPM_BUILD_ROOT%{systemdunitdir}/var-lib-xenstored.mount
517 %if %{with blktap1}
518 install %{SOURCE32} $RPM_BUILD_ROOT%{systemdunitdir}/blktapctrl.service
519 install %{SOURCE33} $RPM_BUILD_ROOT/etc/sysconfig/blktapctrl
520 %endif
521 install %{SOURCE34} $RPM_BUILD_ROOT%{systemdunitdir}/xenconsoled.service
522 install %{SOURCE35} $RPM_BUILD_ROOT/etc/sysconfig/xenconsoled
523 install %{SOURCE36} $RPM_BUILD_ROOT%{systemdunitdir}/xenstored.service
524 install %{SOURCE37} $RPM_BUILD_ROOT/etc/sysconfig/xenstored
525 install %{SOURCE38} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xenstored.conf
526 %if %{with xend}
527 install %{SOURCE39} $RPM_BUILD_ROOT%{systemdunitdir}/xend.service
528 install %{SOURCE40} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xend.conf
529 %endif
530 install %{SOURCE41} $RPM_BUILD_ROOT%{systemdunitdir}/xen-watchdog.service
531 install %{SOURCE42} $RPM_BUILD_ROOT/etc/modules-load.d/xen-dom0.conf
532 install %{SOURCE43} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xendomains.sh
533 install %{SOURCE44} $RPM_BUILD_ROOT%{systemdunitdir}/xendomains.service
534 # sysvinit scripts
535 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/*
536 %{__rm} $RPM_BUILD_ROOT/etc/sysconfig/xencommons
537 %if %{with xend}
538 install %{SOURCE50} $RPM_BUILD_ROOT/etc/rc.d/init.d/xend
539 %endif
540 install %{SOURCE51} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenconsoled
541 install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored
542 install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog
543 install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains
544 install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen
545 install %{SOURCE56} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xen.conf
546
547 install %{SOURCE60} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xen-init-list
548 install %{SOURCE61} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xen-toolstack
549
550 %if %{with efi}
551 install %{SOURCE57} $RPM_BUILD_ROOT/etc/efi-boot/xen.cfg
552 sed -e's;@libdir@;%{_libdir};g' -e's;@target_cpu@;%{_target_cpu};g' \
553                         %{SOURCE58} > $RPM_BUILD_ROOT/etc/efi-boot/update.d/xen.conf
554 %endif
555
556 mv $RPM_BUILD_ROOT/etc/xen/{xlexample*,examples}
557
558 install %{SOURCE59} $RPM_BUILD_ROOT%{_sysconfdir}/xen/scripts/vif-openvswitch
559
560 # for %%doc
561 install -d _doc
562 for tool in blktap blktap2 pygrub xenmon ; do
563         cp -p tools/$tool/README _doc/README.$tool
564 done
565
566 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
567 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
568
569 %py_postclean
570
571 # remove unneeded files
572 %if %{with hypervisor}
573 %{__rm} $RPM_BUILD_ROOT/boot/xen-4.4.gz
574 %{__rm} $RPM_BUILD_ROOT/boot/xen-4.gz
575 %endif
576 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xen
577 %{__rm} $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING
578
579 %if %{without xend}
580 %{__rm} -r $RPM_BUILD_ROOT/var/run/xend
581 %endif
582
583 %clean
584 rm -rf $RPM_BUILD_ROOT
585
586 %post
587 /sbin/chkconfig --add xen-watchdog
588 /sbin/chkconfig --add xenconsoled
589 /sbin/chkconfig --add xenstored
590 /sbin/chkconfig --add xendomains
591 NORESTART=1
592 %systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service
593
594 %preun
595 if [ "$1" = "0" ]; then
596         %service xendomains stop
597         /sbin/chkconfig --del xendomains
598
599         %service xenconsoled stop
600         /sbin/chkconfig --del xenconsoled
601
602         %service xenstored stop
603         /sbin/chkconfig --del xenstored
604
605         %service xen-watchdog stop
606         /sbin/chkconfig --del xen-watchdog
607 fi
608 %systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service
609
610 %postun
611 %systemd_reload
612
613 %post xend
614 /sbin/chkconfig --add xend
615 %systemd_post xend.service
616
617 %preun xend
618 if [ "$1" = "0" ]; then
619         %service xend stop
620         /sbin/chkconfig --del xend
621 fi
622 %systemd_preun xend.service
623
624 %postun xend
625 %systemd_reload
626
627 %post   libs -p /sbin/ldconfig
628 %postun libs -p /sbin/ldconfig
629
630 %post   libs-guest -p /sbin/ldconfig
631 %postun libs-guest -p /sbin/ldconfig
632
633 %post efi
634 [ -x /sbin/efi-boot-update ] && /sbin/efi-boot-update --auto || :
635
636 %files
637 %defattr(644,root,root,755)
638 %doc COPYING README* docs/misc/* docs/html/* _doc/*
639 %if %{with hypervisor}
640 /boot/%{name}-syms-%{version}
641 /boot/%{name}-%{version}.gz
642 /boot/%{name}.gz
643 %endif
644 %if %{with xsm}
645 /boot/xenpolicy.24
646 %endif
647 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenconsoled
648 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenstored
649 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xendomains
650 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/xen
651 %attr(754,root,root) /etc/rc.d/init.d/xen-watchdog
652 %attr(754,root,root) /etc/rc.d/init.d/xenconsoled
653 %attr(754,root,root) /etc/rc.d/init.d/xenstored
654 %attr(754,root,root) /etc/rc.d/init.d/xendomains
655 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/xen-dom0.conf
656 %{systemdunitdir}/proc-xen.mount
657 %{systemdunitdir}/var-lib-xenstored.mount
658 %{systemdunitdir}/xen-watchdog.service
659 %{systemdunitdir}/xenconsoled.service
660 %{systemdunitdir}/xenstored.service
661 %{systemdunitdir}/xendomains.service
662 %dir %{_sysconfdir}/xen
663 %dir %{_sysconfdir}/xen/auto
664 %dir %{_sysconfdir}/xen/examples
665 %dir %{_sysconfdir}/xen/scripts
666 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/scripts/*
667 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/examples/*
668 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/README*
669 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/cpupool
670 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xl.conf
671 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/xen-backend.rules
672 %attr(755,root,root) %{_bindir}/pygrub
673 %if %{with qemu_traditional}
674 %attr(755,root,root) %{_bindir}/qemu-img-xen
675 %attr(755,root,root) %{_bindir}/qemu-nbd-xen
676 %endif
677 %attr(755,root,root) %{_bindir}/remus
678 %attr(755,root,root) %{_bindir}/xencons
679 %attr(755,root,root) %{_bindir}/xencov_split
680 %attr(755,root,root) %{_bindir}/xentrace*
681 %if %{with blktap1}
682 %attr(755,root,root) %{_sbindir}/blktapctrl
683 %endif
684 %if %{with xsm}
685 %attr(755,root,root) %{_sbindir}/flask-*
686 %endif
687 %attr(755,root,root) %{_sbindir}/gdbsx
688 %attr(755,root,root) %{_sbindir}/gtrace*
689 %attr(755,root,root) %{_sbindir}/img2qcow
690 %attr(755,root,root) %{_sbindir}/kdd
691 %attr(755,root,root) %{_sbindir}/lock-util
692 %attr(755,root,root) %{_sbindir}/qcow-create
693 %attr(755,root,root) %{_sbindir}/qcow2raw
694 %attr(755,root,root) %{_sbindir}/tap-ctl
695 %attr(755,root,root) %{_sbindir}/tapdisk*
696 %attr(755,root,root) %{_sbindir}/td-util
697 %attr(755,root,root) %{_sbindir}/vhd-*
698 %attr(755,root,root) %{_sbindir}/xen-*
699 %attr(755,root,root) %{_sbindir}/xenbaked
700 %attr(755,root,root) %{_sbindir}/xenconsoled
701 %attr(755,root,root) %{_sbindir}/xencov
702 %attr(755,root,root) %{_sbindir}/xenlockprof
703 %attr(755,root,root) %{_sbindir}/xenmon.py
704 %attr(755,root,root) %{_sbindir}/xenperf
705 %attr(755,root,root) %{_sbindir}/xenpm
706 %attr(755,root,root) %{_sbindir}/xenpmd
707 %attr(755,root,root) %{_sbindir}/xenstored
708 %attr(755,root,root) %{_sbindir}/xentop
709 %attr(755,root,root) %{_sbindir}/xentrace_setmask
710 %attr(755,root,root) %{_sbindir}/xenwatchdogd
711 %attr(755,root,root) %{_sbindir}/xl
712 %dir %{_libdir}/%{name}
713 %dir %{_libdir}/%{name}/bin
714 %attr(744,root,root) %{_libdir}/%{name}/bin/*
715 %if "%{_lib}" != "lib"
716 %dir %{_prefix}/lib/%{name}
717 %dir %{_prefix}/lib/%{name}/bin
718 %attr(755,root,root) %{_prefix}/lib/%{name}/bin/*
719 %endif
720 %dir %{_prefix}/lib/%{name}/boot
721 %if %{with stubdom}
722 %if %{with qemu_traditional}
723 %{_prefix}/lib/%{name}/boot/ioemu-stubdom.gz
724 %endif
725 %ifarch %{ix86} %{x8664}
726 %{_prefix}/lib/%{name}/boot/pv-grub-x86_32.gz
727 %endif
728 %ifarch %{x8664}
729 %{_prefix}/lib/%{name}/boot/pv-grub-x86_64.gz
730 %endif
731 %{_prefix}/lib/%{name}/boot/vtpm-stubdom.gz
732 %{_prefix}/lib/%{name}/boot/vtpmmgr-stubdom.gz
733 %{_prefix}/lib/%{name}/boot/xenstore-stubdom.gz
734 %endif
735 %attr(744,root,root) %{_prefix}/lib/%{name}/boot/hvmloader
736 %{_mandir}/man1/xenstore-chmod.1*
737 %{_mandir}/man1/xenstore-ls.1*
738 %{_mandir}/man1/xenstore.1*
739 %{_mandir}/man1/xentop.1*
740 %{_mandir}/man1/xentrace_format.1*
741 %{_mandir}/man1/xl.1*
742 %if %{with xend}
743 %{_mandir}/man1/xm.1*
744 %{_mandir}/man5/xend-config.sxp.5*
745 %endif
746 %{_mandir}/man5/xl.cfg.5*
747 %{_mandir}/man5/xl.conf.5*
748 %{_mandir}/man5/xlcpupool.cfg.5*
749 %{_mandir}/man5/xmdomain.cfg.5*
750 %{_mandir}/man8/xentrace.8*
751 %{_sharedstatedir}/xen
752 %{_sharedstatedir}/xenstored
753 %dir /var/run/xenstored
754 %{systemdtmpfilesdir}/xenstored.conf
755 %{systemdtmpfilesdir}/xen.conf
756 %dir %attr(0700,root,root) /var/log/xen
757 %dir %attr(0700,root,root) /var/log/xen/console
758 %if %{with qemu_traditional}
759 %{_datadir}/xen
760 %endif
761
762 %files guest
763 %defattr(644,root,root,755)
764 %attr(755,root,root) %{_bindir}/xen-detect
765 %attr(755,root,root) %{_bindir}/xenstore*
766
767 %files libs
768 %defattr(644,root,root,755)
769 %attr(755,root,root) %{_libdir}/libblktap.so.*.*.*
770 %attr(755,root,root) %ghost %{_libdir}/libblktap.so.3.0
771 %attr(755,root,root) %{_libdir}/libblktapctl.so.*.*.*
772 %attr(755,root,root) %ghost %{_libdir}/libblktapctl.so.1.0
773 %attr(755,root,root) %{_libdir}/libfsimage.so.*.*.*
774 %attr(755,root,root) %ghost %{_libdir}/libfsimage.so.1.0
775 %attr(755,root,root) %{_libdir}/libvhd.so.*.*.*
776 %attr(755,root,root) %ghost %{_libdir}/libvhd.so.1.0
777 %attr(755,root,root) %{_libdir}/libxenctrl.so.*.*.*
778 %attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.4
779 %attr(755,root,root) %{_libdir}/libxenguest.so.*.*.*
780 %attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.4
781 %attr(755,root,root) %{_libdir}/libxenlight.so.*.*.*
782 %attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.4
783 %attr(755,root,root) %{_libdir}/libxenstat.so.*.*
784 %attr(755,root,root) %ghost %{_libdir}/libxenstat.so.0
785 %attr(755,root,root) %{_libdir}/libxenvchan.so.*.*.*
786 %attr(755,root,root) %ghost %{_libdir}/libxenvchan.so.1.0
787 %attr(755,root,root) %{_libdir}/libxlutil.so.*.*.*
788 %attr(755,root,root) %ghost %{_libdir}/libxlutil.so.4.3
789 %dir %{_libdir}/fs
790 %dir %{_libdir}/fs/ext2fs-lib
791 %dir %{_libdir}/fs/fat
792 %dir %{_libdir}/fs/iso9660
793 %dir %{_libdir}/fs/reiserfs
794 %dir %{_libdir}/fs/ufs
795 %dir %{_libdir}/fs/xfs
796 %dir %{_libdir}/fs/zfs
797 %attr(755,root,root) %{_libdir}/fs/*/fsimage.so
798
799 %files libs-guest
800 %defattr(644,root,root,755)
801 %attr(755,root,root) %{_libdir}/libxenstore.so.*.*.*
802 %attr(755,root,root) %ghost %{_libdir}/libxenstore.so.3.0
803
804 %files devel
805 %defattr(644,root,root,755)
806 %attr(755,root,root) %{_libdir}/libblktap.so
807 %attr(755,root,root) %{_libdir}/libblktapctl.so
808 %attr(755,root,root) %{_libdir}/libfsimage.so
809 %attr(755,root,root) %{_libdir}/libvhd.so
810 %attr(755,root,root) %{_libdir}/libxenctrl.so
811 %attr(755,root,root) %{_libdir}/libxenguest.so
812 %attr(755,root,root) %{_libdir}/libxenlight.so
813 %attr(755,root,root) %{_libdir}/libxenstat.so
814 %attr(755,root,root) %{_libdir}/libxenstore.so
815 %attr(755,root,root) %{_libdir}/libxenvchan.so
816 %attr(755,root,root) %{_libdir}/libxlutil.so
817 %{_includedir}/_libxl_list.h
818 %{_includedir}/_libxl_types.h
819 %{_includedir}/_libxl_types_json.h
820 %{_includedir}/blktaplib.h
821 %{_includedir}/fsimage*.h
822 %{_includedir}/libxenvchan.h
823 %{_includedir}/libxl*.h
824 %{_includedir}/xen*.h
825 %{_includedir}/xs*.h
826 %{_includedir}/xen
827 %{_includedir}/xenstore-compat
828
829 %files static
830 %defattr(644,root,root,755)
831 %{_libdir}/libblktap.a
832 %{_libdir}/libblktapctl.a
833 %{_libdir}/libvhd.a
834 %{_libdir}/libxenctrl.a
835 %{_libdir}/libxenguest.a
836 %{_libdir}/libxenlight.a
837 %{_libdir}/libxenvchan.a
838 %{_libdir}/libxenstat.a
839 %{_libdir}/libxenstore.a
840 %{_libdir}/libxlutil.a
841
842 %if %{with xend}
843 %files xend
844 %defattr(644,root,root,755)
845 %if %{with blktap1}
846 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/blktapctrl
847 %{systemdunitdir}/blktapctrl.service
848 %endif
849 %{systemdunitdir}/xend.service
850 %attr(754,root,root) %{_sysconfdir}/rc.d/init.d/xend
851 %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/xend.rules
852 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xm*
853 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xend*
854 %attr(755,root,root) %{_sbindir}/xend
855 %attr(755,root,root) %{_sbindir}/xm
856 %dir %attr(700,root,root) /var/run/xend
857 %{systemdtmpfilesdir}/xend.conf
858 %endif
859
860 %if %{with ocaml}
861 %files -n ocaml-xen
862 %defattr(644,root,root,755)
863 %doc tools/ocaml/LICENSE
864 %attr(755,root,root) %{_sbindir}/oxenstored
865 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/oxenstored.conf
866 %dir %{_libdir}/ocaml/site-lib/xenbus
867 %attr(755,root,root) %{_libdir}/ocaml/site-lib/xenbus/dllxenbus_stubs.so
868 %dir %{_libdir}/ocaml/site-lib/xenctrl
869 %attr(755,root,root) %{_libdir}/ocaml/site-lib/xenctrl/dllxenctrl_stubs.so
870 %dir %{_libdir}/ocaml/site-lib/xeneventchn
871 %attr(755,root,root) %{_libdir}/ocaml/site-lib/xeneventchn/dllxeneventchn_stubs.so
872 %dir %{_libdir}/ocaml/site-lib/xenlight
873 %attr(755,root,root) %{_libdir}/ocaml/site-lib/xenlight/dllxenlight_stubs.so
874 %dir %{_libdir}/ocaml/site-lib/xenmmap
875 %attr(755,root,root) %{_libdir}/ocaml/site-lib/xenmmap/dllxenmmap_stubs.so
876 %dir %{_libdir}/ocaml/site-lib/xentoollog
877 %attr(755,root,root) %{_libdir}/ocaml/site-lib/xentoollog/dllxentoollog_stubs.so
878
879 %files -n ocaml-xen-devel
880 %defattr(644,root,root,755)
881 %{_libdir}/ocaml/site-lib/xenbus/META
882 %{_libdir}/ocaml/site-lib/xenbus/libxenbus_stubs.a
883 %{_libdir}/ocaml/site-lib/xenbus/xenbus.a
884 %{_libdir}/ocaml/site-lib/xenbus/*.cm[aixo]*
885 %{_libdir}/ocaml/site-lib/xenctrl/META
886 %{_libdir}/ocaml/site-lib/xenctrl/libxenctrl_stubs.a
887 %{_libdir}/ocaml/site-lib/xenctrl/xenctrl.a
888 %{_libdir}/ocaml/site-lib/xenctrl/xenctrl.cm[aix]*
889 %{_libdir}/ocaml/site-lib/xeneventchn/META
890 %{_libdir}/ocaml/site-lib/xeneventchn/libxeneventchn_stubs.a
891 %{_libdir}/ocaml/site-lib/xeneventchn/xeneventchn.a
892 %{_libdir}/ocaml/site-lib/xeneventchn/xeneventchn.cm[aix]*
893 %{_libdir}/ocaml/site-lib/xenmmap/META
894 %{_libdir}/ocaml/site-lib/xenmmap/libxenmmap_stubs.a
895 %{_libdir}/ocaml/site-lib/xenmmap/xenmmap.a
896 %{_libdir}/ocaml/site-lib/xenmmap/xenmmap.cm[aix]*
897 %{_libdir}/ocaml/site-lib/xenlight/META
898 %{_libdir}/ocaml/site-lib/xenlight/libxenlight_stubs.a
899 %{_libdir}/ocaml/site-lib/xenlight/xenlight.a
900 %{_libdir}/ocaml/site-lib/xenlight/xenlight.cm[aix]*
901 %dir %{_libdir}/ocaml/site-lib/xenstore
902 %{_libdir}/ocaml/site-lib/xenstore/META
903 %{_libdir}/ocaml/site-lib/xenstore/xenstore.a
904 %{_libdir}/ocaml/site-lib/xenstore/*.cm[aixo]*
905 %{_libdir}/ocaml/site-lib/xentoollog/META
906 %{_libdir}/ocaml/site-lib/xentoollog/libxentoollog_stubs.a
907 %{_libdir}/ocaml/site-lib/xentoollog/xentoollog.a
908 %{_libdir}/ocaml/site-lib/xentoollog/*.cm[aixo]*
909 %endif
910
911 %files -n python-xen
912 %defattr(644,root,root,755)
913 %attr(755,root,root) %{py_sitedir}/fsimage.so
914 %{py_sitedir}/grub
915 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/checkpoint.so
916 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/flask.so
917 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/netlink.so
918 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/ptsname.so
919 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/xc.so
920 %if %{with xend}
921 %{py_sitedir}/xen/remus
922 %{py_sitedir}/xen/util
923 %{py_sitedir}/xen/web
924 %{py_sitedir}/xen/xend
925 %{py_sitedir}/xen/xm
926 %endif
927 %if "%{py_ver}" > "2.4"
928 %{py_sitedir}/pygrub-0.3-py*.egg-info
929 %{py_sitedir}/xen-3.0-py*.egg-info
930 %endif
931
932 %files -n python-xen-guest
933 %defattr(644,root,root,755)
934 %dir %{py_sitedir}/xen
935 %{py_sitedir}/xen/__init__.py*
936 %dir %{py_sitedir}/xen/lowlevel
937 %{py_sitedir}/xen/lowlevel/__init__.py*
938 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/xs.so
939
940 %files -n bash-completion-%{name}
941 %defattr(644,root,root,755)
942 /etc/bash_completion.d/xl.sh
943
944 %if %{with efi}
945 %files efi
946 %defattr(644,root,root,755)
947 %dir %{_libdir}/efi
948 %{_libdir}/efi/*.efi
949 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/xen.cfg
950 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/update.d/xen.conf
951 %endif
This page took 1.087657 seconds and 4 git commands to generate.