3 # - system ovmf, ipxe? (like system seabios)
4 # - check if other tools/libs are not usable in domU, move them to -guest
6 # - pass bconds to qemu configure script (tricky, as the script is called from
8 # - fix %doc - some files are installed in docdir both by make install and %d,
9 # other are installed once
10 # - mini-os objects are relinked on install (because of .PHONY rules used to make them)
13 %bcond_without qemu_traditional # without qemu-xen-traditional
14 %bcond_without opengl # OpenGL support in Xen qemu
15 %bcond_without sdl # SDL support in Xen qemu
16 %bcond_without bluetooth # bluetooth support in Xen qemu
17 %bcond_without brlapi # brlapi support in Xen qemu
18 %bcond_with golang # Go library
19 %bcond_without ocaml # Ocaml libraries for Xen tools
20 %bcond_without pv_grub # pv-grub (deprecated)
21 %bcond_with python2 # CPython 2.x module instead of 3.x
22 %bcond_without efi # EFI hypervisor
23 %bcond_without hypervisor # Xen hypervisor build
24 %bcond_without stubdom # stubdom build
25 %bcond_without xsm # XSM security module (by default, Flask)
26 %bcond_without systemd # systemd
28 %ifnarch %{x8664} %{arm}
29 %undefine with_hypervisor
34 %ifnarch %{ix86} %{x8664}
35 %undefine with_stubdom
38 # from ./stubdom/configure.ac
39 %define polarssl_version 1.1.4
40 %define tpm_emulator_version 0.7.4
41 %define gmp_version 4.3.2
43 %define xen_extfiles_url https://xenbits.xensource.com/xen-extfiles
44 Summary: Xen - a virtual machine monitor
45 Summary(pl.UTF-8): Xen - monitor maszyny wirtualnej
49 License: GPL v2, interface parts on BSD-like
50 Group: Applications/System
51 # for available versions see https://xenproject.org/xen-project-archives/
52 Source0: https://downloads.xenproject.org/release/xen/%{version}/%{name}-%{version}.tar.gz
53 # Source0-md5: d2b76430ebac3cfc15dd25a352f7a5ac
55 Source10: %{xen_extfiles_url}/lwip-1.3.0.tar.gz
56 # Source10-md5: 36cc57650cffda9a0269493be2a169bb
57 Source11: %{xen_extfiles_url}/newlib-1.16.0.tar.gz
58 # Source11-md5: bf8f1f9e3ca83d732c00a79a6ef29bc4
59 Source12: %{xen_extfiles_url}/zlib-1.2.3.tar.gz
60 # Source12-md5: debc62758716a169df9f62e6ab2bc634
61 Source13: %{xen_extfiles_url}/pciutils-2.2.9.tar.bz2
62 # Source13-md5: cec05e7785497c5e19da2f114b934ffd
63 Source14: %{xen_extfiles_url}/grub-0.97.tar.gz
64 # Source14-md5: cd3f3eb54446be6003156158d51f4884
65 Source15: %{xen_extfiles_url}/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz
66 # Source15-md5: 23ba00d5e2c5b4343d12665af73e1cb5
67 Source17: %{xen_extfiles_url}/polarssl-%{polarssl_version}-gpl.tgz
68 # Source17-md5: 7b72caf22b01464ee7d6165f2fd85f44
69 Source18: %{xen_extfiles_url}/tpm_emulator-%{tpm_emulator_version}.tar.gz
70 # Source18-md5: e26becb8a6a2b6695f6b3e8097593db8
71 Source19: https://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2
72 # Source19-md5: dd60683d7057917e34630b4a787932e8
73 Source35: xenconsoled.sysconfig
74 Source37: xenstored.sysconfig
75 Source38: xenstored.tmpfiles
77 Source46: xen-qemu-dom0-disk-backend.init
78 Source51: xenconsoled.init
79 Source52: xenstored.init
80 Source53: xen-watchdog.init
81 Source54: xendomains.init
82 Source55: xen.logrotate
83 Source56: xen.tmpfiles
85 Source58: xen.efi-boot-update
86 Source59: vif-openvswitch
87 Source60: xen-init-list
88 Source61: xen-toolstack
89 # shebang patch for python2-only scripts
90 Patch0: %{name}-python_scripts.patch
91 Patch1: %{name}-symbols.patch
92 Patch2: %{name}-link.patch
93 Patch3: pygrubfix.patch
94 # Warning: this disables ingress filtering implemented in xen scripts!
95 Patch4: %{name}-net-disable-iptables-on-bridge.patch
96 Patch5: %{name}-qemu.patch
97 Patch6: %{name}-doc.patch
98 Patch7: %{name}-paths.patch
99 Patch8: %{name}-no_fetcher.patch
100 Patch9: %{name}-no_Werror.patch
101 Patch10: %{name}-stubdom-build.patch
102 Patch12: %{name}-systemd.patch
105 Patch16: ocaml-4.12.patch
106 Patch17: %{name}-golang-32bit.patch
107 Patch18: %{name}-gcc12.patch
109 Patch20: python-fixes.patch
110 URL: http://www.xen.org/products/xenhyp.html
111 BuildRequires: autoconf >= 2.67
112 %ifarch %{ix86} %{x8664}
113 BuildRequires: acpica
117 %{?with_efi:BuildRequires: binutils >= 3:2.23.51.0.3-2}
118 BuildRequires: bzip2-devel
120 BuildRequires: checkpolicy
122 # tpm_emulator uses cmake
123 BuildRequires: cmake >= 2.4
124 BuildRequires: e2fsprogs-devel
125 BuildRequires: fig2dev
126 BuildRequires: gcc >= 6:4.8
128 BuildRequires: gcc-multilib-32 >= 6:4.1
130 BuildRequires: gettext-tools
131 %{?with_golang:BuildRequires: golang >= 1.11.1}
132 BuildRequires: libaio-devel
133 %ifarch %{arm} aarch64
134 BuildRequires: libfdt-devel >= 1.4.0
136 BuildRequires: libnl-devel >= 3.2.8
137 BuildRequires: libuuid-devel
138 BuildRequires: lzo-devel >= 2
139 BuildRequires: ncurses-devel
141 BuildRequires: ocaml >= 1:4.02.0
142 BuildRequires: ocaml-findlib
144 BuildRequires: pandoc
145 BuildRequires: perl-base
146 BuildRequires: perl-tools-pod
147 BuildRequires: pkgconfig
149 BuildRequires: python-devel >= 1:2.7
150 BuildRequires: python-markdown
152 BuildRequires: python3-devel >= 1:3.2
153 BuildRequires: python3-markdown
155 BuildRequires: rpm-pythonprov
156 BuildRequires: rpmbuild(macros) >= 1.647
157 BuildRequires: seabios
158 %{?with_systemd:BuildRequires: systemd-devel >= 1:209}
159 BuildRequires: texlive-dvips
160 BuildRequires: texlive-latex-psnfss
161 BuildRequires: texlive-xetex
163 BuildRequires: xz-devel
164 BuildRequires: yajl-devel
165 BuildRequires: zlib-devel
166 BuildRequires: zstd-devel
167 %if %{with qemu_traditional}
168 %{?with_opengl:BuildRequires: OpenGL-devel}
169 %{?with_sdl:BuildRequires: SDL-devel >= 1.2.1}
170 %{?with_bluetooth:BuildRequires: bluez-libs-devel}
171 %{?with_brlapi:BuildRequires: brlapi-devel}
172 BuildRequires: gnutls-devel
173 BuildRequires: pciutils-devel
174 BuildRequires: pixman-devel >= 0.21.8
175 BuildRequires: vde2-devel
176 # for xfsctl (<xfs/xfs.h>)
177 BuildRequires: xfsprogs-devel
178 BuildRequires: xorg-lib-libX11-devel
179 BuildRequires: xorg-lib-libXext-devel
181 %if %{with qemu_traditional}
182 # FIXME: see qemu configure comments on top of spec
183 %{!?with_opengl:BuildConflicts: OpenGL-devel}
184 %{!?with_sdl:BuildConflicts: SDL-devel}
185 %{!?with_sdl:BuildConflicts: SDL-devel}
186 %{!?with_bluetooth:BuildConflicts: bluez-libs-devel}
187 %{!?with_brlapi:BuildConflicts: brlapi-devel}
189 Requires(post,preun): /sbin/chkconfig
190 Requires(post,preun,postun): systemd-units >= 38
191 Requires: %{name}-libs = %{version}-%{release}
192 Requires: bridge-utils
200 Requires: python-%{name} = %{version}-%{release}
202 Requires: python3-%{name} = %{version}-%{release}
206 Requires: systemd-units >= 38
209 Requires: %{name}-guest = %{version}-%{release}
210 %ifarch %{ix86} %{x8664}
212 Suggests: qemu-system-x86
214 Obsoletes: xen-doc < 3
215 Obsoletes: xen-udev < 4.1.2-2
216 Obsoletes: xen-xend < 4.5
217 ExclusiveArch: %{ix86} %{x8664} %{arm} aarch64
218 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
220 # some PPC/SPARC boot images in ELF format
221 %define _noautostrip .*%{_datadir}/\\(xen\\|qemu-xen\\)/qemu/\\(openbios-.*\\|palcode-clipper\\|s390-ccw.img\\)
224 This package contains the Xen hypervisor and Xen tools, needed to run
225 virtual machines on x86 systems, together with the kernel-xen*
226 packages. Information on how to use Xen can be found at the Xen
229 Virtualisation can be used to run multiple versions or multiple Linux
230 distributions on one system, or to test untrusted applications in a
231 sandboxed environment. Note that the Xen technology is still in
232 development, and this RPM has received extremely little testing. Don't
233 be surprised if this RPM eats your data, drinks your coffee or makes
234 fun of you in front of your friends.
236 %description -l pl.UTF-8
237 Ten pakiet zawiera nadzorcę oraz narzędzia Xen, potrzebne do
238 uruchamiania wirtualnych maszyn w systemach x86, wraz z pakietami
239 kernel-xen*. Informacje jak używać Xena można znaleźć na stronach
242 Wirtualizacja może być używana do uruchamiania wielu wersji lub wielu
243 dystrybucji Linuksa na jednym systemie lub do testowania nie zaufanych
244 aplikacji w odizolowanym środowisku. Należy zauważyć, że technologia
245 Xen jest ciągle rozwijana, a ten RPM był słabo testowany. Nie należy
246 być zdziwionym, jeśli ten pakiet zje dane, wypije całą kawę czy będzie
247 się wyśmiewał w obecności przyjaciół.
250 Summary: Xen tools for virtual machines
251 Summary(pl.UTF-8): Narzędzia Xen dla maszyn virtualnych
252 Group: Applications/System
253 Requires: %{name}-libs-guest = %{version}-%{release}
256 Xen utilities for both dom0 and domU virtual domains.
258 %description guest -l pl.UTF-8
259 Narzędzia Xena dla maszyn wirtualnych dom0 i domU.
262 Summary: Xen libraries
263 Summary(pl.UTF-8): Biblioteki Xena
265 Requires: %{name}-libs-guest = %{version}-%{release}
266 Requires: libnl >= 3.2.8
271 %description libs -l pl.UTF-8
275 Summary: Xen libraries for virtual machines
276 Summary(pl.UTF-8): Biblioteki Xena dla maszyn wirtualnych
279 %description libs-guest
280 Xen libraries for both dom0 and domU virtual machines.
282 %description libs-guest -l pl.UTF-8
283 Biblioteki Xena dla maszyn wirtualnych dom0 i domU.
286 Summary: Header files for Xen
287 Summary(pl.UTF-8): Pliki nagłówkowe Xena
288 Group: Development/Libraries
289 Requires: %{name}-libs = %{version}-%{release}
292 Header files for Xen.
294 %description devel -l pl.UTF-8
295 Pliki nagłówkowe Xena.
298 Summary: Static Xen libraries
299 Summary(pl.UTF-8): Statyczne biblioteki Xena
300 Group: Development/Libraries
301 Requires: %{name}-devel = %{version}-%{release}
304 Static Xen libraries.
306 %description static -l pl.UTF-8
307 Statyczne biblioteki Xena.
309 %package -n ocaml-xen
310 Summary: OCaml bindings for Xen
311 Summary(pl.UTF-8): Wiązania OCamla dla Xena
312 License: LGPL v2.1 with linking exception
314 Requires: %{name}-libs = %{version}-%{release}
316 %requires_eq ocaml-runtime
319 %description -n ocaml-xen
320 OCaml bindings for Xen.
322 %description -n ocaml-xen -l pl.UTF-8
323 Wiązania OCamla dla Xena.
325 %package -n ocaml-xen-devel
326 Summary: OCaml bindings for Xen - development files
327 Summary(pl.UTF-8): Wiązania OCamla dla Xena - pliki programistyczne
328 License: LGPL v2.1 with linking exception
329 Group: Development/Libraries
330 Requires: ocaml-xen = %{version}-%{release}
335 %description -n ocaml-xen-devel
336 OCaml bindings for Xen - development files.
338 %description -n ocaml-xen-devel -l pl.UTF-8
339 Wiązania OCamla dla Xena - pliki programistyczne.
341 %package -n python-xen
342 Summary: Xen Python modules
343 Summary(pl.UTF-8): Moduły Pythona dla Xena
345 Requires: %{name}-libs = %{version}-%{release}
346 Conflicts: xen < 3.2.1-0.3
348 %description -n python-xen
351 %description -n python-xen -l pl.UTF-8
352 Moduły Pythona dla Xena.
354 %package -n python-xen-guest
355 Summary: Xen Python modules for virtual machines
356 Summary(pl.UTF-8): Moduły Pythona dla maszyn wirtualnych Xena
358 Requires: %{name}-libs-guest = %{version}-%{release}
359 Conflicts: xen < 3.2.1-0.3
361 %description -n python-xen-guest
362 Xen Python modules for both dom0 and domU virtual machines.
364 %description -n python-xen-guest -l pl.UTF-8
365 Moduły Pythona dla maszyn wirtualnych dom0 i domU.
367 %package -n python3-xen
368 Summary: Xen Python 3 modules
369 Summary(pl.UTF-8): Moduły Pythona 3 dla Xena
371 Requires: %{name}-libs = %{version}-%{release}
372 Obsoletes: python-xen < %{version}-%{release}
374 %description -n python3-xen
375 Xen Python 3 modules.
377 %description -n python3-xen -l pl.UTF-8
378 Moduły Pythona 3 dla Xena.
380 %package -n python3-xen-guest
381 Summary: Xen Python 3 modules for virtual machines
382 Summary(pl.UTF-8): Moduły Pythona 3 dla maszyn wirtualnych Xena
384 Requires: %{name}-libs-guest = %{version}-%{release}
385 Obsoletes: python-xen-guest < %{version}-%{release}
387 %description -n python3-xen-guest
388 Xen Python 3 modules for both dom0 and domU virtual machines.
390 %description -n python3-xen-guest -l pl.UTF-8
391 Moduły Pythona 3 dla maszyn wirtualnych dom0 i domU.
393 %package -n bash-completion-%{name}
394 Summary: bash-completion for Xen (xl)
395 Summary(pl.UTF-8): Bashowe dopełnianie poleceń dla Xena (xl)
396 Group: Applications/Shells
397 Requires: %{name} = %{version}-%{release}
398 Requires: bash-completion
400 %description -n bash-completion-%{name}
401 This package provides bash-completion for Xen (xl).
403 %description -n bash-completion-%{name} -l pl.UTF-8
404 Ten pakiet zapewnia bashowe dopełnianie poleceń dla Xena (xl).
407 Summary: Xen hypervisor binary for EFI
408 Summary(pl.UTF-8): Hipernadzorca Xen dla EFI
409 Group: Applications/System
410 Requires: %{name}-libs-guest = %{version}-%{release}
413 Xen hypervisor EFI binary, which can be booted directly from (U)EFI
414 firmware without help from any additional bootloader.
416 %description efi -l pl.UTF-8
417 Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
418 (U)EFI, bez potrzeby oddzielnego bootloadera.
435 %if %(echo %{cc_version} | cut -d. -f1) >= 10
436 # -Wno-error=enum-conversion requires gcc 10
438 %if %(echo %{cc_version} | cut -d. -f1) < 12
439 # -Wno-error=dangling-pointer requires gcc 12
440 %{__sed} -i -e 's/ -Wno-error=dangling-pointer//' tools/firmware/etherboot/Config
444 %ifarch %{ix86} %{arm}
452 ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
453 ln -s %{SOURCE17} %{SOURCE18} %{SOURCE19} stubdom
454 ln -s %{SOURCE15} tools/firmware/etherboot/ipxe.tar.gz
457 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \
459 %{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},; 1s,/usr/bin/python2$,%{__python3},' \
461 tools/misc/xencov_split \
462 tools/misc/xenpvnetboot \
463 tools/pygrub/src/pygrub \
464 tools/python/scripts/{convert-legacy-stream,verify-stream-v2} \
465 tools/xenmon/xenmon.py \
466 tools/xentrace/xentrace_format
468 # do not allow fetching anything via git
469 echo GIT=/bin/false >> Config.mk
472 # based on the 'autoconf.sh' from the sources
483 # if gold is used then bioses and grub doesn't build
485 ln -f -s /usr/bin/ld.bfd our-ld/ld
486 export PATH=$(pwd)/our-ld:$PATH
489 # - use openssl (libcrypto) instead of libgcrypt as openssl is obligatory anyway
490 # - prevent libiconv from being detected (not needed with glibc)
493 CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses" \
494 %{?with_python2:PYTHON=%{__python}} \
495 ac_cv_lib_gcrypt_gcry_md_hash_buffer=no \
496 ac_cv_lib_iconv_libiconv_open=no \
498 %{!?with_golang:--disable-golang} \
499 %{?with_pv_grub:--enable-pv-grub} \
500 %{__enable_disable qemu_traditional qemu-traditional} \
501 --with-system-seabios=/usr/share/seabios/bios.bin \
503 --with-system-qemu=/usr/bin/qemu-system-x86_64 \
505 --with-system-qemu=/usr/bin/qemu-system-i386 \
508 --with-systemd=%{systemdunitdir}
512 export EXTRA_CFLAGS_XEN_TOOLS="%{rpmcflags} -I/usr/include/ncurses"
513 export EXTRA_CFLAGS_QEMU_TRADITIONAL="%{rpmcflags} -I/usr/include/ncurses"
514 export EXTRA_CFLAGS_QEMU_XEN="%{rpmcflags} -I/usr/include/ncurses"
516 %{__make} dist-xen dist-tools dist-docs \
518 XEN_COMPILE_ARCH=x86_32 \
521 XEN_COMPILE_ARCH=x86_64 \
523 %{!?with_ocaml:OCAML_TOOLS=n} \
524 XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
530 %{__make} dist-stubdom \
532 XEN_COMPILE_ARCH=x86_32 \
535 XEN_COMPILE_ARCH=x86_64 \
537 %{!?with_ocaml:OCAML_TOOLS=n} \
538 XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
545 rm -rf $RPM_BUILD_ROOT
546 install -d $RPM_BUILD_ROOT/etc/{xen/examples,modules-load.d,logrotate.d} \
547 $RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{systemdunitdir},/var/log/xen/console}
550 install -d $RPM_BUILD_ROOT/etc/efi-boot/update.d
553 %{__make} install-xen install-tools %{?with_stubdom:install-stubdom} install-docs \
555 XEN_COMPILE_ARCH=x86_32 \
558 XEN_COMPILE_ARCH=x86_64 \
560 %{!?with_ocaml:OCAML_TOOLS=n} \
561 XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
562 DESTDIR=$RPM_BUILD_ROOT \
563 HOTPLUGS=install-udev
565 install %{SOURCE35} $RPM_BUILD_ROOT/etc/sysconfig/xenconsoled
566 install %{SOURCE37} $RPM_BUILD_ROOT/etc/sysconfig/xenstored
569 %{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/*
570 %{__rm} $RPM_BUILD_ROOT/etc/sysconfig/xencommons
571 install %{SOURCE51} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenconsoled
572 install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored
573 install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog
574 install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains
575 install %{SOURCE46} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-qemu-dom0-disk-backend
576 install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen
577 install %{SOURCE56} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xen.conf
578 install -d $RPM_BUILD_ROOT/var/run/xenstored
579 install %{SOURCE38} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xenstored.conf
581 install %{SOURCE60} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bin/xen-init-list
582 install %{SOURCE61} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bin/xen-toolstack
584 %{__sed} -E -i -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
585 $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bin/pygrub
588 install %{SOURCE57} $RPM_BUILD_ROOT/etc/efi-boot/xen.cfg
589 sed -e's;@libdir@;%{_libdir};g' -e's;@target_cpu@;%{_target_cpu};g' \
590 %{SOURCE58} > $RPM_BUILD_ROOT/etc/efi-boot/update.d/xen.conf
593 %{__mv} $RPM_BUILD_ROOT/etc/xen/{xlexample*,examples}
595 install %{SOURCE59} $RPM_BUILD_ROOT%{_sysconfdir}/xen/scripts/vif-openvswitch
599 cp -p tools/pygrub/README _doc/README.pygrub
602 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
603 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
607 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
608 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
611 # remove unneeded files
612 %if %{with hypervisor}
613 %{__mv} xen/xen-syms $RPM_BUILD_ROOT/boot/%{name}-syms-%{version}
614 %{__rm} $RPM_BUILD_ROOT/boot/xen-4.16.gz
615 %{__rm} $RPM_BUILD_ROOT/boot/xen-4.gz
617 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xen
618 %{__rm} $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING
621 rm -rf $RPM_BUILD_ROOT
624 /sbin/chkconfig --add xen-watchdog
625 /sbin/chkconfig --add xenconsoled
626 /sbin/chkconfig --add xenstored
627 /sbin/chkconfig --add xendomains
628 /sbin/chkconfig --add xen-qemu-dom0-disk-backend
630 %systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
633 if [ "$1" = "0" ]; then
634 %service xendomains stop
635 /sbin/chkconfig --del xendomains
637 %service xenconsoled stop
638 /sbin/chkconfig --del xenconsoled
640 %service xenstored stop
641 /sbin/chkconfig --del xenstored
643 %service xen-watchdog stop
644 /sbin/chkconfig --del xen-watchdog
646 %service xen-qemu-dom0-disk-backend stop
647 /sbin/chkconfig --del xen-qemu-dom0-disk-backend
649 %systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
654 %post libs -p /sbin/ldconfig
655 %postun libs -p /sbin/ldconfig
657 %post libs-guest -p /sbin/ldconfig
658 %postun libs-guest -p /sbin/ldconfig
661 [ -x /sbin/efi-boot-update ] && /sbin/efi-boot-update --auto || :
664 %defattr(644,root,root,755)
665 %doc COPYING README* docs/misc/* docs/html/* _doc/*
666 %if %{with hypervisor}
667 /boot/%{name}-syms-%{version}
668 /boot/%{name}-%{version}.config
669 /boot/%{name}-%{version}.gz
673 /boot/xenpolicy-%{version}
675 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenconsoled
676 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenstored
677 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xendomains
678 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/xen
679 %attr(754,root,root) /etc/rc.d/init.d/xen-watchdog
680 %attr(754,root,root) /etc/rc.d/init.d/xenconsoled
681 %attr(754,root,root) /etc/rc.d/init.d/xenstored
682 %attr(754,root,root) /etc/rc.d/init.d/xendomains
683 %attr(754,root,root) /etc/rc.d/init.d/xen-qemu-dom0-disk-backend
685 %{_prefix}/lib/modules-load.d/xen.conf
686 %{systemdunitdir}/proc-xen.mount
687 %{systemdunitdir}/var-lib-xenstored.mount
688 %{systemdunitdir}/xen-init-dom0.service
689 %{systemdunitdir}/xen-watchdog.service
690 %{systemdunitdir}/xenconsoled.service
691 %{systemdunitdir}/xenstored.service
692 %{systemdunitdir}/xendriverdomain.service
693 %{systemdunitdir}/xendomains.service
694 %{systemdunitdir}/xen-qemu-dom0-disk-backend.service
696 %dir %{_sysconfdir}/xen
697 %dir %{_sysconfdir}/xen/auto
698 %dir %{_sysconfdir}/xen/examples
699 %dir %{_sysconfdir}/xen/scripts
700 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/scripts/*
701 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/examples/*
702 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/README*
703 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/cpupool
704 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xl.conf
705 %attr(755,root,root) %{_bindir}/pygrub
706 %if %{with qemu_traditional}
707 %attr(755,root,root) %{_bindir}/qemu-img-xen
708 %attr(755,root,root) %{_bindir}/qemu-nbd-xen
710 %attr(755,root,root) %{_bindir}/vchan-socket-proxy
711 %attr(755,root,root) %{_bindir}/xen-cpuid
712 %attr(755,root,root) %{_bindir}/xenalyze
713 %attr(755,root,root) %{_bindir}/xencov_split
714 %attr(755,root,root) %{_bindir}/xentrace_format
716 %attr(755,root,root) %{_sbindir}/flask-*
718 %attr(755,root,root) %{_sbindir}/gdbsx
719 %attr(755,root,root) %{_sbindir}/xen-*
720 %attr(755,root,root) %{_sbindir}/xenbaked
721 %attr(755,root,root) %{_sbindir}/xenconsoled
722 %attr(755,root,root) %{_sbindir}/xencov
723 %attr(755,root,root) %{_sbindir}/xenhypfs
724 %attr(755,root,root) %{_sbindir}/xenlockprof
725 %attr(755,root,root) %{_sbindir}/xenmon
726 %attr(755,root,root) %{_sbindir}/xenperf
727 %attr(755,root,root) %{_sbindir}/xenpm
728 %attr(755,root,root) %{_sbindir}/xenpmd
729 %attr(755,root,root) %{_sbindir}/xenstored
730 %attr(755,root,root) %{_sbindir}/xentop
731 %attr(755,root,root) %{_sbindir}/xentrace
732 %attr(755,root,root) %{_sbindir}/xentrace_setmask
733 %attr(755,root,root) %{_sbindir}/xentrace_setsize
734 %attr(755,root,root) %{_sbindir}/xenwatchdogd
735 %attr(755,root,root) %{_sbindir}/xl
736 %dir %{_libexecdir}/%{name}
737 %dir %{_libexecdir}/%{name}/bin
738 %attr(744,root,root) %{_libexecdir}/%{name}/bin/*
739 %dir %{_libexecdir}/%{name}/boot
741 %if %{with qemu_traditional}
742 %{_libexecdir}/%{name}/boot/ioemu-stubdom.gz
745 %ifarch %{ix86} %{x8664}
746 %{_libexecdir}/%{name}/boot/pv-grub-x86_32.gz
749 %{_libexecdir}/%{name}/boot/pv-grub-x86_64.gz
752 %{_libexecdir}/%{name}/boot/vtpm-stubdom.gz
753 %{_libexecdir}/%{name}/boot/vtpmmgr-stubdom.gz
754 %{_libexecdir}/%{name}/boot/xenstore-stubdom.gz
755 %{_libexecdir}/%{name}/boot/xenstorepvh-stubdom.gz
757 %{_libexecdir}/%{name}/boot/ipxe.bin
759 %{_libexecdir}/%{name}/boot/xen-shim
761 %attr(744,root,root) %{_libexecdir}/%{name}/boot/hvmloader
762 %{_mandir}/man1/xenhypfs.1*
763 %{_mandir}/man1/xentop.1*
764 %{_mandir}/man1/xentrace_format.1*
765 %{_mandir}/man1/xl.1*
766 %{_mandir}/man5/xl.cfg.5*
767 %{_mandir}/man5/xl.conf.5*
768 %{_mandir}/man5/xl-disk-configuration.5*
769 %{_mandir}/man5/xl-network-configuration.5*
770 %{_mandir}/man5/xl-pci-configuration.5*
771 %{_mandir}/man5/xlcpupool.cfg.5*
772 %{_mandir}/man7/xen-pci-device-reservations.7*
773 %{_mandir}/man7/xen-pv-channel.7*
774 %{_mandir}/man7/xen-tscmode.7*
775 %{_mandir}/man7/xen-vbd-interface.7*
776 %{_mandir}/man7/xen-vtpm.7*
777 %{_mandir}/man7/xen-vtpmmgr.7*
778 %{_mandir}/man7/xl-numa-placement.7*
779 %{_mandir}/man8/xentrace.8*
780 %{_sharedstatedir}/xen
781 %{_sharedstatedir}/xenstored
782 %dir /var/run/xenstored
783 %{systemdtmpfilesdir}/xen.conf
784 %{systemdtmpfilesdir}/xenstored.conf
785 %dir %attr(0700,root,root) /var/log/xen
786 %dir %attr(0700,root,root) /var/log/xen/console
787 %if %{with qemu_traditional}
792 %defattr(644,root,root,755)
793 %attr(755,root,root) %{_bindir}/xen-detect
794 %attr(755,root,root) %{_bindir}/xenstore
795 %attr(755,root,root) %{_bindir}/xenstore-chmod
796 %attr(755,root,root) %{_bindir}/xenstore-control
797 %attr(755,root,root) %{_bindir}/xenstore-exists
798 %attr(755,root,root) %{_bindir}/xenstore-list
799 %attr(755,root,root) %{_bindir}/xenstore-ls
800 %attr(755,root,root) %{_bindir}/xenstore-read
801 %attr(755,root,root) %{_bindir}/xenstore-rm
802 %attr(755,root,root) %{_bindir}/xenstore-watch
803 %attr(755,root,root) %{_bindir}/xenstore-write
804 %{_mandir}/man1/xenstore.1*
805 %{_mandir}/man1/xenstore-chmod.1*
806 %{_mandir}/man1/xenstore-ls.1*
807 %{_mandir}/man1/xenstore-read.1*
808 %{_mandir}/man1/xenstore-write.1*
811 %defattr(644,root,root,755)
812 %attr(755,root,root) %{_libdir}/libxenfsimage.so.*.*.*
813 %attr(755,root,root) %ghost %{_libdir}/libxenfsimage.so.4.16
814 %attr(755,root,root) %{_libdir}/libxencall.so.*.*
815 %attr(755,root,root) %ghost %{_libdir}/libxencall.so.1
816 %attr(755,root,root) %{_libdir}/libxenctrl.so.*.*.*
817 %attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.16
818 %attr(755,root,root) %{_libdir}/libxendevicemodel.so.*.*
819 %attr(755,root,root) %ghost %{_libdir}/libxendevicemodel.so.1
820 %attr(755,root,root) %{_libdir}/libxenevtchn.so.*.*
821 %attr(755,root,root) %ghost %{_libdir}/libxenevtchn.so.1
822 %attr(755,root,root) %{_libdir}/libxenforeignmemory.so.*.*
823 %attr(755,root,root) %ghost %{_libdir}/libxenforeignmemory.so.1
824 %attr(755,root,root) %{_libdir}/libxengnttab.so.*.*
825 %attr(755,root,root) %ghost %{_libdir}/libxengnttab.so.1
826 %attr(755,root,root) %{_libdir}/libxenguest.so.*.*.*
827 %attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.16
828 %attr(755,root,root) %{_libdir}/libxenhypfs.so.*.*
829 %attr(755,root,root) %ghost %{_libdir}/libxenhypfs.so.1
830 %attr(755,root,root) %{_libdir}/libxenlight.so.*.*.*
831 %attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.16
832 %attr(755,root,root) %{_libdir}/libxenstat.so.*.*.*
833 %attr(755,root,root) %ghost %{_libdir}/libxenstat.so.4.16
834 %attr(755,root,root) %{_libdir}/libxentoolcore.so.*.*
835 %attr(755,root,root) %ghost %{_libdir}/libxentoolcore.so.1
836 %attr(755,root,root) %{_libdir}/libxentoollog.so.*.*
837 %attr(755,root,root) %ghost %{_libdir}/libxentoollog.so.1
838 %attr(755,root,root) %{_libdir}/libxenvchan.so.*.*.*
839 %attr(755,root,root) %ghost %{_libdir}/libxenvchan.so.4.16
840 %attr(755,root,root) %{_libdir}/libxlutil.so.*.*.*
841 %attr(755,root,root) %ghost %{_libdir}/libxlutil.so.4.16
842 %dir %{_libdir}/xenfsimage
843 %dir %{_libdir}/xenfsimage/ext2fs-lib
844 %dir %{_libdir}/xenfsimage/fat
845 %dir %{_libdir}/xenfsimage/iso9660
846 %dir %{_libdir}/xenfsimage/reiserfs
847 %dir %{_libdir}/xenfsimage/ufs
848 %dir %{_libdir}/xenfsimage/xfs
849 %dir %{_libdir}/xenfsimage/zfs
850 %attr(755,root,root) %{_libdir}/xenfsimage/*/fsimage.so
853 %defattr(644,root,root,755)
854 %attr(755,root,root) %{_libdir}/libxenstore.so.*.*
855 %attr(755,root,root) %ghost %{_libdir}/libxenstore.so.4
858 %defattr(644,root,root,755)
859 %attr(755,root,root) %{_libdir}/libxenfsimage.so
860 %attr(755,root,root) %{_libdir}/libxencall.so
861 %attr(755,root,root) %{_libdir}/libxenctrl.so
862 %attr(755,root,root) %{_libdir}/libxendevicemodel.so
863 %attr(755,root,root) %{_libdir}/libxenevtchn.so
864 %attr(755,root,root) %{_libdir}/libxenforeignmemory.so
865 %attr(755,root,root) %{_libdir}/libxengnttab.so
866 %attr(755,root,root) %{_libdir}/libxenguest.so
867 %attr(755,root,root) %{_libdir}/libxenhypfs.so
868 %attr(755,root,root) %{_libdir}/libxenlight.so
869 %attr(755,root,root) %{_libdir}/libxenstat.so
870 %attr(755,root,root) %{_libdir}/libxenstore.so
871 %attr(755,root,root) %{_libdir}/libxentoolcore.so
872 %attr(755,root,root) %{_libdir}/libxentoollog.so
873 %attr(755,root,root) %{_libdir}/libxenvchan.so
874 %attr(755,root,root) %{_libdir}/libxlutil.so
875 %{_includedir}/_libxl_list.h
876 %{_includedir}/_libxl_types.h
877 %{_includedir}/_libxl_types_json.h
878 %{_includedir}/libxenvchan.h
879 %{_includedir}/libxl*.h
880 %{_includedir}/xen*.h
883 %{_includedir}/xenstore-compat
884 %{_pkgconfigdir}/xencall.pc
885 %{_pkgconfigdir}/xencontrol.pc
886 %{_pkgconfigdir}/xendevicemodel.pc
887 %{_pkgconfigdir}/xenevtchn.pc
888 %{_pkgconfigdir}/xenforeignmemory.pc
889 %{_pkgconfigdir}/xengnttab.pc
890 %{_pkgconfigdir}/xenguest.pc
891 %{_pkgconfigdir}/xenhypfs.pc
892 %{_pkgconfigdir}/xenlight.pc
893 %{_pkgconfigdir}/xenstat.pc
894 %{_pkgconfigdir}/xenstore.pc
895 %{_pkgconfigdir}/xentoolcore.pc
896 %{_pkgconfigdir}/xentoollog.pc
897 %{_pkgconfigdir}/xenvchan.pc
898 %{_pkgconfigdir}/xlutil.pc
901 %defattr(644,root,root,755)
902 %{_libdir}/libxencall.a
903 %{_libdir}/libxenctrl.a
904 %{_libdir}/libxendevicemodel.a
905 %{_libdir}/libxenevtchn.a
906 %{_libdir}/libxenforeignmemory.a
907 %{_libdir}/libxengnttab.a
908 %{_libdir}/libxenguest.a
909 %{_libdir}/libxenhypfs.a
910 %{_libdir}/libxenlight.a
911 %{_libdir}/libxenvchan.a
912 %{_libdir}/libxenstat.a
913 %{_libdir}/libxenstore.a
914 %{_libdir}/libxentoolcore.a
915 %{_libdir}/libxentoollog.a
916 %{_libdir}/libxlutil.a
920 #%{_datadir}/gocode/src/golang.xenproject.org/xenlight
924 %defattr(644,root,root,755)
925 %doc tools/ocaml/LICENSE
926 %attr(755,root,root) %{_sbindir}/oxenstored
927 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/oxenstored.conf
928 %dir %{_libdir}/ocaml/xenbus
929 %attr(755,root,root) %{_libdir}/ocaml/xenbus/dllxenbus_stubs.so
930 %dir %{_libdir}/ocaml/xenctrl
931 %attr(755,root,root) %{_libdir}/ocaml/xenctrl/dllxenctrl_stubs.so
932 %dir %{_libdir}/ocaml/xeneventchn
933 %attr(755,root,root) %{_libdir}/ocaml/xeneventchn/dllxeneventchn_stubs.so
934 %dir %{_libdir}/ocaml/xenlight
935 %attr(755,root,root) %{_libdir}/ocaml/xenlight/dllxenlight_stubs.so
936 %dir %{_libdir}/ocaml/xenmmap
937 %attr(755,root,root) %{_libdir}/ocaml/xenmmap/dllxenmmap_stubs.so
938 %dir %{_libdir}/ocaml/xentoollog
939 %attr(755,root,root) %{_libdir}/ocaml/xentoollog/dllxentoollog_stubs.so
941 %files -n ocaml-xen-devel
942 %defattr(644,root,root,755)
943 %{_libdir}/ocaml/xenbus/META
944 %{_libdir}/ocaml/xenbus/libxenbus_stubs.a
945 %{_libdir}/ocaml/xenbus/xenbus.a
946 %{_libdir}/ocaml/xenbus/*.cm[aixo]*
947 %{_libdir}/ocaml/xenctrl/META
948 %{_libdir}/ocaml/xenctrl/libxenctrl_stubs.a
949 %{_libdir}/ocaml/xenctrl/xenctrl.a
950 %{_libdir}/ocaml/xenctrl/xenctrl.cm[aix]*
951 %{_libdir}/ocaml/xeneventchn/META
952 %{_libdir}/ocaml/xeneventchn/libxeneventchn_stubs.a
953 %{_libdir}/ocaml/xeneventchn/xeneventchn.a
954 %{_libdir}/ocaml/xeneventchn/xeneventchn.cm[aix]*
955 %{_libdir}/ocaml/xenmmap/META
956 %{_libdir}/ocaml/xenmmap/libxenmmap_stubs.a
957 %{_libdir}/ocaml/xenmmap/xenmmap.a
958 %{_libdir}/ocaml/xenmmap/xenmmap.cm[aix]*
959 %{_libdir}/ocaml/xenlight/META
960 %{_libdir}/ocaml/xenlight/libxenlight_stubs.a
961 %{_libdir}/ocaml/xenlight/xenlight.a
962 %{_libdir}/ocaml/xenlight/xenlight.cm[aix]*
963 %dir %{_libdir}/ocaml/xenstore
964 %{_libdir}/ocaml/xenstore/META
965 %{_libdir}/ocaml/xenstore/xenstore.a
966 %{_libdir}/ocaml/xenstore/*.cm[aixo]*
967 %{_libdir}/ocaml/xentoollog/META
968 %{_libdir}/ocaml/xentoollog/libxentoollog_stubs.a
969 %{_libdir}/ocaml/xentoollog/xentoollog.a
970 %{_libdir}/ocaml/xentoollog/*.cm[aixo]*
975 %defattr(644,root,root,755)
976 %attr(755,root,root) %{py_sitedir}/xenfsimage.so
977 %dir %{py_sitedir}/xen
978 %{py_sitedir}/xen/util.py[co]
979 %dir %{py_sitedir}/xen/lowlevel
980 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/xc.so
981 %{py_sitedir}/xen/migration
983 %{py_sitedir}/pygrub-*-py*.egg-info
984 %{py_sitedir}/xen-*-py*.egg-info
986 %files -n python-xen-guest
987 %defattr(644,root,root,755)
988 %dir %{py_sitedir}/xen
989 %{py_sitedir}/xen/__init__.py[co]
990 %dir %{py_sitedir}/xen/lowlevel
991 %{py_sitedir}/xen/lowlevel/__init__.py[co]
992 %attr(755,root,root) %{py_sitedir}/xen/lowlevel/xs.so
996 %files -n python3-xen
997 %defattr(644,root,root,755)
998 %attr(755,root,root) %{py3_sitedir}/xenfsimage.cpython-*.so
999 %dir %{py3_sitedir}/xen
1000 %dir %{py3_sitedir}/xen/__pycache__
1001 %{py3_sitedir}/xen/util.py
1002 %{py3_sitedir}/xen/__pycache__/util.cpython-*.py[co]
1003 %dir %{py3_sitedir}/xen/lowlevel
1004 %attr(755,root,root) %{py3_sitedir}/xen/lowlevel/xc.cpython-*.so
1005 %{py3_sitedir}/xen/migration
1007 %{py3_sitedir}/pygrub-*-py*.egg-info
1008 %{py3_sitedir}/xen-*-py*.egg-info
1010 %files -n python3-xen-guest
1011 %defattr(644,root,root,755)
1012 %dir %{py3_sitedir}/xen
1013 %dir %{py3_sitedir}/xen/__pycache__
1014 %{py3_sitedir}/xen/__init__.py*
1015 %{py3_sitedir}/xen/__pycache__/__init__.cpython-*.py[co]
1016 %dir %{py3_sitedir}/xen/lowlevel
1017 %{py3_sitedir}/xen/lowlevel/__init__.py
1018 %{py3_sitedir}/xen/lowlevel/__pycache__
1019 %attr(755,root,root) %{py3_sitedir}/xen/lowlevel/xs.cpython-*.so
1022 %files -n bash-completion-%{name}
1023 %defattr(644,root,root,755)
1024 /etc/bash_completion.d/xl
1028 %defattr(644,root,root,755)
1030 %{_libdir}/efi/*.efi
1031 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/xen.cfg
1032 %attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/update.d/xen.conf