]> git.pld-linux.org Git - packages/xen.git/blame_incremental - xen.spec
- updated to 4.16.5
[packages/xen.git] / xen.spec
... / ...
CommitLineData
1#
2# TODO:
3# - system ovmf, ipxe? (like system seabios)
4# - check if other tools/libs are not usable in domU, move them to -guest
5# packages if so
6# - pass bconds to qemu configure script (tricky, as the script is called from
7# Xen Makefiles)
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)
11#
12# Conditional build:
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
27
28%ifnarch %{x8664} %{arm}
29%undefine with_hypervisor
30%endif
31%ifnarch %{x8664}
32%undefine with_efi
33%endif
34%ifnarch %{ix86} %{x8664}
35%undefine with_stubdom
36%endif
37
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
42
43%define xen_extfiles_url https://xenbits.xensource.com/xen-extfiles
44Summary: Xen - a virtual machine monitor
45Summary(pl.UTF-8): Xen - monitor maszyny wirtualnej
46Name: xen
47Version: 4.16.5
48Release: 1
49License: GPL v2, interface parts on BSD-like
50Group: Applications/System
51# for available versions see https://xenproject.org/xen-project-archives/
52Source0: https://downloads.xenproject.org/release/xen/%{version}/%{name}-%{version}.tar.gz
53# Source0-md5: d2b76430ebac3cfc15dd25a352f7a5ac
54# used by stubdoms
55Source10: %{xen_extfiles_url}/lwip-1.3.0.tar.gz
56# Source10-md5: 36cc57650cffda9a0269493be2a169bb
57Source11: %{xen_extfiles_url}/newlib-1.16.0.tar.gz
58# Source11-md5: bf8f1f9e3ca83d732c00a79a6ef29bc4
59Source12: %{xen_extfiles_url}/zlib-1.2.3.tar.gz
60# Source12-md5: debc62758716a169df9f62e6ab2bc634
61Source13: %{xen_extfiles_url}/pciutils-2.2.9.tar.bz2
62# Source13-md5: cec05e7785497c5e19da2f114b934ffd
63Source14: %{xen_extfiles_url}/grub-0.97.tar.gz
64# Source14-md5: cd3f3eb54446be6003156158d51f4884
65Source15: %{xen_extfiles_url}/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz
66# Source15-md5: 23ba00d5e2c5b4343d12665af73e1cb5
67Source17: %{xen_extfiles_url}/polarssl-%{polarssl_version}-gpl.tgz
68# Source17-md5: 7b72caf22b01464ee7d6165f2fd85f44
69Source18: %{xen_extfiles_url}/tpm_emulator-%{tpm_emulator_version}.tar.gz
70# Source18-md5: e26becb8a6a2b6695f6b3e8097593db8
71Source19: https://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2
72# Source19-md5: dd60683d7057917e34630b4a787932e8
73Source35: xenconsoled.sysconfig
74Source37: xenstored.sysconfig
75Source38: xenstored.tmpfiles
76# sysvinit scripts
77Source46: xen-qemu-dom0-disk-backend.init
78Source51: xenconsoled.init
79Source52: xenstored.init
80Source53: xen-watchdog.init
81Source54: xendomains.init
82Source55: xen.logrotate
83Source56: xen.tmpfiles
84Source57: xen.cfg
85Source58: xen.efi-boot-update
86Source59: vif-openvswitch
87Source60: xen-init-list
88Source61: xen-toolstack
89# shebang patch for python2-only scripts
90Patch0: %{name}-python_scripts.patch
91Patch1: %{name}-symbols.patch
92Patch2: %{name}-link.patch
93Patch3: pygrubfix.patch
94# Warning: this disables ingress filtering implemented in xen scripts!
95Patch4: %{name}-net-disable-iptables-on-bridge.patch
96Patch5: %{name}-qemu.patch
97Patch6: %{name}-doc.patch
98Patch7: %{name}-paths.patch
99Patch8: %{name}-no_fetcher.patch
100Patch9: %{name}-no_Werror.patch
101Patch10: %{name}-stubdom-build.patch
102Patch12: %{name}-systemd.patch
103Patch14: gcc9.patch
104Patch15: gcc10.patch
105Patch16: ocaml-4.12.patch
106Patch17: %{name}-golang-32bit.patch
107Patch18: %{name}-gcc12.patch
108Patch19: gcc13.patch
109Patch20: python-fixes.patch
110URL: http://www.xen.org/products/xenhyp.html
111BuildRequires: autoconf >= 2.67
112%ifarch %{ix86} %{x8664}
113BuildRequires: acpica
114BuildRequires: bcc
115BuildRequires: bin86
116%endif
117%{?with_efi:BuildRequires: binutils >= 3:2.23.51.0.3-2}
118BuildRequires: bzip2-devel
119%if %{with xsm}
120BuildRequires: checkpolicy
121%endif
122# tpm_emulator uses cmake
123BuildRequires: cmake >= 2.4
124BuildRequires: e2fsprogs-devel
125BuildRequires: fig2dev
126BuildRequires: gcc >= 6:4.8
127%ifarch %{x8664}
128BuildRequires: gcc-multilib-32 >= 6:4.1
129%endif
130BuildRequires: gettext-tools
131%{?with_golang:BuildRequires: golang >= 1.11.1}
132BuildRequires: libaio-devel
133%ifarch %{arm} aarch64
134BuildRequires: libfdt-devel >= 1.4.0
135%endif
136BuildRequires: libnl-devel >= 3.2.8
137BuildRequires: libuuid-devel
138BuildRequires: lzo-devel >= 2
139BuildRequires: ncurses-devel
140%if %{with ocaml}
141BuildRequires: ocaml >= 1:4.02.0
142BuildRequires: ocaml-findlib
143%endif
144BuildRequires: pandoc
145BuildRequires: perl-base
146BuildRequires: perl-tools-pod
147BuildRequires: pkgconfig
148%if %{with python2}
149BuildRequires: python-devel >= 1:2.7
150BuildRequires: python-markdown
151%else
152BuildRequires: python3-devel >= 1:3.2
153BuildRequires: python3-markdown
154%endif
155BuildRequires: rpm-pythonprov
156BuildRequires: rpmbuild(macros) >= 1.647
157BuildRequires: seabios
158%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
159BuildRequires: texlive-dvips
160BuildRequires: texlive-latex-psnfss
161BuildRequires: texlive-xetex
162BuildRequires: which
163BuildRequires: xz-devel
164BuildRequires: yajl-devel
165BuildRequires: zlib-devel
166BuildRequires: 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}
172BuildRequires: gnutls-devel
173BuildRequires: pciutils-devel
174BuildRequires: pixman-devel >= 0.21.8
175BuildRequires: vde2-devel
176# for xfsctl (<xfs/xfs.h>)
177BuildRequires: xfsprogs-devel
178BuildRequires: xorg-lib-libX11-devel
179BuildRequires: xorg-lib-libXext-devel
180%endif
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}
188%endif
189Requires(post,preun): /sbin/chkconfig
190Requires(post,preun,postun): systemd-units >= 38
191Requires: %{name}-libs = %{version}-%{release}
192Requires: bridge-utils
193Requires: coreutils
194Requires: diffutils
195Requires: gawk
196Requires: iptables
197Requires: losetup
198Requires: net-tools
199%if %{with python2}
200Requires: python-%{name} = %{version}-%{release}
201%else
202Requires: python3-%{name} = %{version}-%{release}
203%endif
204Requires: rc-scripts
205Requires: sed
206Requires: systemd-units >= 38
207Requires: util-linux
208Requires: which
209Requires: %{name}-guest = %{version}-%{release}
210%ifarch %{ix86} %{x8664}
211# for HVM
212Suggests: qemu-system-x86
213%endif
214Obsoletes: xen-doc < 3
215Obsoletes: xen-udev < 4.1.2-2
216Obsoletes: xen-xend < 4.5
217ExclusiveArch: %{ix86} %{x8664} %{arm} aarch64
218BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
219
220# some PPC/SPARC boot images in ELF format
221%define _noautostrip .*%{_datadir}/\\(xen\\|qemu-xen\\)/qemu/\\(openbios-.*\\|palcode-clipper\\|s390-ccw.img\\)
222
223%description
224This package contains the Xen hypervisor and Xen tools, needed to run
225virtual machines on x86 systems, together with the kernel-xen*
226packages. Information on how to use Xen can be found at the Xen
227project pages.
228
229Virtualisation can be used to run multiple versions or multiple Linux
230distributions on one system, or to test untrusted applications in a
231sandboxed environment. Note that the Xen technology is still in
232development, and this RPM has received extremely little testing. Don't
233be surprised if this RPM eats your data, drinks your coffee or makes
234fun of you in front of your friends.
235
236%description -l pl.UTF-8
237Ten pakiet zawiera nadzorcę oraz narzędzia Xen, potrzebne do
238uruchamiania wirtualnych maszyn w systemach x86, wraz z pakietami
239kernel-xen*. Informacje jak używać Xena można znaleźć na stronach
240projektu.
241
242Wirtualizacja może być używana do uruchamiania wielu wersji lub wielu
243dystrybucji Linuksa na jednym systemie lub do testowania nie zaufanych
244aplikacji w odizolowanym środowisku. Należy zauważyć, że technologia
245Xen jest ciągle rozwijana, a ten RPM był słabo testowany. Nie należy
246być zdziwionym, jeśli ten pakiet zje dane, wypije całą kawę czy będzie
247się wyśmiewał w obecności przyjaciół.
248
249%package guest
250Summary: Xen tools for virtual machines
251Summary(pl.UTF-8): Narzędzia Xen dla maszyn virtualnych
252Group: Applications/System
253Requires: %{name}-libs-guest = %{version}-%{release}
254
255%description guest
256Xen utilities for both dom0 and domU virtual domains.
257
258%description guest -l pl.UTF-8
259Narzędzia Xena dla maszyn wirtualnych dom0 i domU.
260
261%package libs
262Summary: Xen libraries
263Summary(pl.UTF-8): Biblioteki Xena
264Group: Libraries
265Requires: %{name}-libs-guest = %{version}-%{release}
266Requires: libnl >= 3.2.8
267
268%description libs
269Xen libraries.
270
271%description libs -l pl.UTF-8
272Biblioteki Xena.
273
274%package libs-guest
275Summary: Xen libraries for virtual machines
276Summary(pl.UTF-8): Biblioteki Xena dla maszyn wirtualnych
277Group: Libraries
278
279%description libs-guest
280Xen libraries for both dom0 and domU virtual machines.
281
282%description libs-guest -l pl.UTF-8
283Biblioteki Xena dla maszyn wirtualnych dom0 i domU.
284
285%package devel
286Summary: Header files for Xen
287Summary(pl.UTF-8): Pliki nagłówkowe Xena
288Group: Development/Libraries
289Requires: %{name}-libs = %{version}-%{release}
290
291%description devel
292Header files for Xen.
293
294%description devel -l pl.UTF-8
295Pliki nagłówkowe Xena.
296
297%package static
298Summary: Static Xen libraries
299Summary(pl.UTF-8): Statyczne biblioteki Xena
300Group: Development/Libraries
301Requires: %{name}-devel = %{version}-%{release}
302
303%description static
304Static Xen libraries.
305
306%description static -l pl.UTF-8
307Statyczne biblioteki Xena.
308
309%package -n ocaml-xen
310Summary: OCaml bindings for Xen
311Summary(pl.UTF-8): Wiązania OCamla dla Xena
312License: LGPL v2.1 with linking exception
313Group: Libraries
314Requires: %{name}-libs = %{version}-%{release}
315%if %{with ocaml}
316%requires_eq ocaml-runtime
317%endif
318
319%description -n ocaml-xen
320OCaml bindings for Xen.
321
322%description -n ocaml-xen -l pl.UTF-8
323Wiązania OCamla dla Xena.
324
325%package -n ocaml-xen-devel
326Summary: OCaml bindings for Xen - development files
327Summary(pl.UTF-8): Wiązania OCamla dla Xena - pliki programistyczne
328License: LGPL v2.1 with linking exception
329Group: Development/Libraries
330Requires: ocaml-xen = %{version}-%{release}
331%if %{with ocaml}
332%requires_eq ocaml
333%endif
334
335%description -n ocaml-xen-devel
336OCaml bindings for Xen - development files.
337
338%description -n ocaml-xen-devel -l pl.UTF-8
339Wiązania OCamla dla Xena - pliki programistyczne.
340
341%package -n python-xen
342Summary: Xen Python modules
343Summary(pl.UTF-8): Moduły Pythona dla Xena
344Group: Libraries
345Requires: %{name}-libs = %{version}-%{release}
346Conflicts: xen < 3.2.1-0.3
347
348%description -n python-xen
349Xen Python modules.
350
351%description -n python-xen -l pl.UTF-8
352Moduły Pythona dla Xena.
353
354%package -n python-xen-guest
355Summary: Xen Python modules for virtual machines
356Summary(pl.UTF-8): Moduły Pythona dla maszyn wirtualnych Xena
357Group: Libraries
358Requires: %{name}-libs-guest = %{version}-%{release}
359Conflicts: xen < 3.2.1-0.3
360
361%description -n python-xen-guest
362Xen Python modules for both dom0 and domU virtual machines.
363
364%description -n python-xen-guest -l pl.UTF-8
365Moduły Pythona dla maszyn wirtualnych dom0 i domU.
366
367%package -n python3-xen
368Summary: Xen Python 3 modules
369Summary(pl.UTF-8): Moduły Pythona 3 dla Xena
370Group: Libraries
371Requires: %{name}-libs = %{version}-%{release}
372Obsoletes: python-xen < %{version}-%{release}
373
374%description -n python3-xen
375Xen Python 3 modules.
376
377%description -n python3-xen -l pl.UTF-8
378Moduły Pythona 3 dla Xena.
379
380%package -n python3-xen-guest
381Summary: Xen Python 3 modules for virtual machines
382Summary(pl.UTF-8): Moduły Pythona 3 dla maszyn wirtualnych Xena
383Group: Libraries
384Requires: %{name}-libs-guest = %{version}-%{release}
385Obsoletes: python-xen-guest < %{version}-%{release}
386
387%description -n python3-xen-guest
388Xen Python 3 modules for both dom0 and domU virtual machines.
389
390%description -n python3-xen-guest -l pl.UTF-8
391Moduły Pythona 3 dla maszyn wirtualnych dom0 i domU.
392
393%package -n bash-completion-%{name}
394Summary: bash-completion for Xen (xl)
395Summary(pl.UTF-8): Bashowe dopełnianie poleceń dla Xena (xl)
396Group: Applications/Shells
397Requires: %{name} = %{version}-%{release}
398Requires: bash-completion
399
400%description -n bash-completion-%{name}
401This package provides bash-completion for Xen (xl).
402
403%description -n bash-completion-%{name} -l pl.UTF-8
404Ten pakiet zapewnia bashowe dopełnianie poleceń dla Xena (xl).
405
406%package efi
407Summary: Xen hypervisor binary for EFI
408Summary(pl.UTF-8): Hipernadzorca Xen dla EFI
409Group: Applications/System
410Requires: %{name}-libs-guest = %{version}-%{release}
411
412%description efi
413Xen hypervisor EFI binary, which can be booted directly from (U)EFI
414firmware without help from any additional bootloader.
415
416%description efi -l pl.UTF-8
417Nadzorca Xen w postaci, która może być uruchomiona wprost z firmware
418(U)EFI, bez potrzeby oddzielnego bootloadera.
419
420%prep
421%setup -q
422%patch0 -p1
423%patch1 -p1
424%patch2 -p1
425%patch3 -p1
426%patch4 -p1
427%patch5 -p1
428%patch6 -p1
429%patch7 -p1
430%patch8 -p1
431%patch9 -p1
432%patch10 -p1
433%patch12 -p1
434%patch14 -p1
435%if %(echo %{cc_version} | cut -d. -f1) >= 10
436# -Wno-error=enum-conversion requires gcc 10
437%patch15 -p1
438%endif
439%patch16 -p1
440%ifarch %{ix86} %{arm}
441%patch17 -p1
442%endif
443%patch18 -p1
444%patch19 -p1
445%patch20 -p1
446
447# stubdom sources
448ln -s %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} stubdom
449ln -s %{SOURCE17} %{SOURCE18} %{SOURCE19} stubdom
450ln -s %{SOURCE15} tools/firmware/etherboot/ipxe.tar.gz
451
452%if %{with python2}
453%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' \
454%else
455%{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},; 1s,/usr/bin/python2$,%{__python3},' \
456%endif
457 tools/misc/xencov_split \
458 tools/misc/xenpvnetboot \
459 tools/pygrub/src/pygrub \
460 tools/python/scripts/{convert-legacy-stream,verify-stream-v2} \
461 tools/xenmon/xenmon.py \
462 tools/xentrace/xentrace_format
463
464# do not allow fetching anything via git
465echo GIT=/bin/false >> Config.mk
466
467%build
468# based on the 'autoconf.sh' from the sources
469%{__autoconf}
470cd tools
471%{__autoconf}
472%{__autoheader}
473cd ../stubdom
474%{__autoconf}
475cd ../docs
476%{__autoconf}
477cd ..
478
479# if gold is used then bioses and grub doesn't build
480install -d our-ld
481ln -f -s /usr/bin/ld.bfd our-ld/ld
482export PATH=$(pwd)/our-ld:$PATH
483
484# NOTE on ac_cv_*:
485# - use openssl (libcrypto) instead of libgcrypt as openssl is obligatory anyway
486# - prevent libiconv from being detected (not needed with glibc)
487
488%configure \
489 CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses" \
490 %{?with_python2:PYTHON=%{__python}} \
491 ac_cv_lib_gcrypt_gcry_md_hash_buffer=no \
492 ac_cv_lib_iconv_libiconv_open=no \
493 --disable-debug \
494 %{!?with_golang:--disable-golang} \
495 %{?with_pv_grub:--enable-pv-grub} \
496 %{__enable_disable qemu_traditional qemu-traditional} \
497 --with-system-seabios=/usr/share/seabios/bios.bin \
498%ifarch %{x8664}
499 --with-system-qemu=/usr/bin/qemu-system-x86_64 \
500%else
501 --with-system-qemu=/usr/bin/qemu-system-i386 \
502%endif
503%if %{with systemd}
504 --with-systemd=%{systemdunitdir}
505%else
506 --disable-systemd
507%endif
508export EXTRA_CFLAGS_XEN_TOOLS="%{rpmcflags} -I/usr/include/ncurses"
509export EXTRA_CFLAGS_QEMU_TRADITIONAL="%{rpmcflags} -I/usr/include/ncurses"
510export EXTRA_CFLAGS_QEMU_XEN="%{rpmcflags} -I/usr/include/ncurses"
511
512%{__make} dist-xen dist-tools dist-docs \
513%ifarch %{ix86}
514 XEN_COMPILE_ARCH=x86_32 \
515%endif
516%ifarch %{x8664}
517 XEN_COMPILE_ARCH=x86_64 \
518%endif
519 %{!?with_ocaml:OCAML_TOOLS=n} \
520 XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
521 CC="%{__cc}" \
522 CXX="%{__cxx}" \
523 V=1
524
525%if %{with stubdom}
526%{__make} dist-stubdom \
527%ifarch %{ix86}
528 XEN_COMPILE_ARCH=x86_32 \
529%endif
530%ifarch %{x8664}
531 XEN_COMPILE_ARCH=x86_64 \
532%endif
533 %{!?with_ocaml:OCAML_TOOLS=n} \
534 XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
535 CC="%{__cc}" \
536 CXX="%{__cxx}" \
537 V=1
538%endif
539
540%install
541rm -rf $RPM_BUILD_ROOT
542install -d $RPM_BUILD_ROOT/etc/{xen/examples,modules-load.d,logrotate.d} \
543 $RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{systemdunitdir},/var/log/xen/console}
544
545%if %{with efi}
546install -d $RPM_BUILD_ROOT/etc/efi-boot/update.d
547%endif
548
549%{__make} install-xen install-tools %{?with_stubdom:install-stubdom} install-docs \
550%ifarch %{ix86}
551 XEN_COMPILE_ARCH=x86_32 \
552%endif
553%ifarch %{x8664}
554 XEN_COMPILE_ARCH=x86_64 \
555%endif
556 %{!?with_ocaml:OCAML_TOOLS=n} \
557 XSM_ENABLE=%{?with_xsm:y}%{!?with_xsm:n} \
558 DESTDIR=$RPM_BUILD_ROOT \
559 HOTPLUGS=install-udev
560
561install %{SOURCE35} $RPM_BUILD_ROOT/etc/sysconfig/xenconsoled
562install %{SOURCE37} $RPM_BUILD_ROOT/etc/sysconfig/xenstored
563
564# sysvinit scripts
565%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/*
566%{__rm} $RPM_BUILD_ROOT/etc/sysconfig/xencommons
567install %{SOURCE51} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenconsoled
568install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored
569install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog
570install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains
571install %{SOURCE46} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-qemu-dom0-disk-backend
572install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen
573install %{SOURCE56} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xen.conf
574install -d $RPM_BUILD_ROOT/var/run/xenstored
575install %{SOURCE38} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xenstored.conf
576
577install %{SOURCE60} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bin/xen-init-list
578install %{SOURCE61} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bin/xen-toolstack
579
580%{__sed} -E -i -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python}\1,' \
581 $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bin/pygrub
582
583%if %{with efi}
584install %{SOURCE57} $RPM_BUILD_ROOT/etc/efi-boot/xen.cfg
585sed -e's;@libdir@;%{_libdir};g' -e's;@target_cpu@;%{_target_cpu};g' \
586 %{SOURCE58} > $RPM_BUILD_ROOT/etc/efi-boot/update.d/xen.conf
587%endif
588
589%{__mv} $RPM_BUILD_ROOT/etc/xen/{xlexample*,examples}
590
591install %{SOURCE59} $RPM_BUILD_ROOT%{_sysconfdir}/xen/scripts/vif-openvswitch
592
593# for %%doc
594install -d _doc
595cp -p tools/pygrub/README _doc/README.pygrub
596
597%if %{with python2}
598%py_comp $RPM_BUILD_ROOT%{py_sitedir}
599%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
600
601%py_postclean
602%else
603%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
604%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
605%endif
606
607# remove unneeded files
608%if %{with hypervisor}
609%{__mv} xen/xen-syms $RPM_BUILD_ROOT/boot/%{name}-syms-%{version}
610%{__rm} $RPM_BUILD_ROOT/boot/xen-4.16.gz
611%{__rm} $RPM_BUILD_ROOT/boot/xen-4.gz
612%endif
613%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xen
614%{__rm} $RPM_BUILD_ROOT%{_includedir}/%{name}/COPYING
615
616%clean
617rm -rf $RPM_BUILD_ROOT
618
619%post
620/sbin/chkconfig --add xen-watchdog
621/sbin/chkconfig --add xenconsoled
622/sbin/chkconfig --add xenstored
623/sbin/chkconfig --add xendomains
624/sbin/chkconfig --add xen-qemu-dom0-disk-backend
625NORESTART=1
626%systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
627
628%preun
629if [ "$1" = "0" ]; then
630 %service xendomains stop
631 /sbin/chkconfig --del xendomains
632
633 %service xenconsoled stop
634 /sbin/chkconfig --del xenconsoled
635
636 %service xenstored stop
637 /sbin/chkconfig --del xenstored
638
639 %service xen-watchdog stop
640 /sbin/chkconfig --del xen-watchdog
641
642 %service xen-qemu-dom0-disk-backend stop
643 /sbin/chkconfig --del xen-qemu-dom0-disk-backend
644fi
645%systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
646
647%postun
648%systemd_reload
649
650%post libs -p /sbin/ldconfig
651%postun libs -p /sbin/ldconfig
652
653%post libs-guest -p /sbin/ldconfig
654%postun libs-guest -p /sbin/ldconfig
655
656%post efi
657[ -x /sbin/efi-boot-update ] && /sbin/efi-boot-update --auto || :
658
659%files
660%defattr(644,root,root,755)
661%doc COPYING README* docs/misc/* docs/html/* _doc/*
662%if %{with hypervisor}
663/boot/%{name}-syms-%{version}
664/boot/%{name}-%{version}.config
665/boot/%{name}-%{version}.gz
666/boot/%{name}.gz
667%endif
668%if %{with xsm}
669/boot/xenpolicy-%{version}
670%endif
671%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenconsoled
672%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xenstored
673%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/xendomains
674%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/xen
675%attr(754,root,root) /etc/rc.d/init.d/xen-watchdog
676%attr(754,root,root) /etc/rc.d/init.d/xenconsoled
677%attr(754,root,root) /etc/rc.d/init.d/xenstored
678%attr(754,root,root) /etc/rc.d/init.d/xendomains
679%attr(754,root,root) /etc/rc.d/init.d/xen-qemu-dom0-disk-backend
680%if %{with systemd}
681%{_prefix}/lib/modules-load.d/xen.conf
682%{systemdunitdir}/proc-xen.mount
683%{systemdunitdir}/var-lib-xenstored.mount
684%{systemdunitdir}/xen-init-dom0.service
685%{systemdunitdir}/xen-watchdog.service
686%{systemdunitdir}/xenconsoled.service
687%{systemdunitdir}/xenstored.service
688%{systemdunitdir}/xendriverdomain.service
689%{systemdunitdir}/xendomains.service
690%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
691%endif
692%dir %{_sysconfdir}/xen
693%dir %{_sysconfdir}/xen/auto
694%dir %{_sysconfdir}/xen/examples
695%dir %{_sysconfdir}/xen/scripts
696%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/scripts/*
697%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/examples/*
698%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/README*
699%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/cpupool
700%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/xl.conf
701%attr(755,root,root) %{_bindir}/pygrub
702%if %{with qemu_traditional}
703%attr(755,root,root) %{_bindir}/qemu-img-xen
704%attr(755,root,root) %{_bindir}/qemu-nbd-xen
705%endif
706%attr(755,root,root) %{_bindir}/vchan-socket-proxy
707%attr(755,root,root) %{_bindir}/xen-cpuid
708%attr(755,root,root) %{_bindir}/xenalyze
709%attr(755,root,root) %{_bindir}/xencov_split
710%attr(755,root,root) %{_bindir}/xentrace_format
711%if %{with xsm}
712%attr(755,root,root) %{_sbindir}/flask-*
713%endif
714%attr(755,root,root) %{_sbindir}/gdbsx
715%attr(755,root,root) %{_sbindir}/xen-*
716%attr(755,root,root) %{_sbindir}/xenbaked
717%attr(755,root,root) %{_sbindir}/xenconsoled
718%attr(755,root,root) %{_sbindir}/xencov
719%attr(755,root,root) %{_sbindir}/xenhypfs
720%attr(755,root,root) %{_sbindir}/xenlockprof
721%attr(755,root,root) %{_sbindir}/xenmon
722%attr(755,root,root) %{_sbindir}/xenperf
723%attr(755,root,root) %{_sbindir}/xenpm
724%attr(755,root,root) %{_sbindir}/xenpmd
725%attr(755,root,root) %{_sbindir}/xenstored
726%attr(755,root,root) %{_sbindir}/xentop
727%attr(755,root,root) %{_sbindir}/xentrace
728%attr(755,root,root) %{_sbindir}/xentrace_setmask
729%attr(755,root,root) %{_sbindir}/xentrace_setsize
730%attr(755,root,root) %{_sbindir}/xenwatchdogd
731%attr(755,root,root) %{_sbindir}/xl
732%dir %{_libexecdir}/%{name}
733%dir %{_libexecdir}/%{name}/bin
734%attr(744,root,root) %{_libexecdir}/%{name}/bin/*
735%dir %{_libexecdir}/%{name}/boot
736%if %{with stubdom}
737%if %{with qemu_traditional}
738%{_libexecdir}/%{name}/boot/ioemu-stubdom.gz
739%endif
740%if %{with pv_grub}
741%ifarch %{ix86} %{x8664}
742%{_libexecdir}/%{name}/boot/pv-grub-x86_32.gz
743%endif
744%ifarch %{x8664}
745%{_libexecdir}/%{name}/boot/pv-grub-x86_64.gz
746%endif
747%endif
748%{_libexecdir}/%{name}/boot/vtpm-stubdom.gz
749%{_libexecdir}/%{name}/boot/vtpmmgr-stubdom.gz
750%{_libexecdir}/%{name}/boot/xenstore-stubdom.gz
751%{_libexecdir}/%{name}/boot/xenstorepvh-stubdom.gz
752%endif
753%{_libexecdir}/%{name}/boot/ipxe.bin
754%ifarch %{x8664}
755%{_libexecdir}/%{name}/boot/xen-shim
756%endif
757%attr(744,root,root) %{_libexecdir}/%{name}/boot/hvmloader
758%{_mandir}/man1/xenhypfs.1*
759%{_mandir}/man1/xentop.1*
760%{_mandir}/man1/xentrace_format.1*
761%{_mandir}/man1/xl.1*
762%{_mandir}/man5/xl.cfg.5*
763%{_mandir}/man5/xl.conf.5*
764%{_mandir}/man5/xl-disk-configuration.5*
765%{_mandir}/man5/xl-network-configuration.5*
766%{_mandir}/man5/xl-pci-configuration.5*
767%{_mandir}/man5/xlcpupool.cfg.5*
768%{_mandir}/man7/xen-pci-device-reservations.7*
769%{_mandir}/man7/xen-pv-channel.7*
770%{_mandir}/man7/xen-tscmode.7*
771%{_mandir}/man7/xen-vbd-interface.7*
772%{_mandir}/man7/xen-vtpm.7*
773%{_mandir}/man7/xen-vtpmmgr.7*
774%{_mandir}/man7/xl-numa-placement.7*
775%{_mandir}/man8/xentrace.8*
776%{_sharedstatedir}/xen
777%{_sharedstatedir}/xenstored
778%dir /var/run/xenstored
779%{systemdtmpfilesdir}/xen.conf
780%{systemdtmpfilesdir}/xenstored.conf
781%dir %attr(0700,root,root) /var/log/xen
782%dir %attr(0700,root,root) /var/log/xen/console
783%if %{with qemu_traditional}
784%{_datadir}/xen
785%endif
786
787%files guest
788%defattr(644,root,root,755)
789%attr(755,root,root) %{_bindir}/xen-detect
790%attr(755,root,root) %{_bindir}/xenstore
791%attr(755,root,root) %{_bindir}/xenstore-chmod
792%attr(755,root,root) %{_bindir}/xenstore-control
793%attr(755,root,root) %{_bindir}/xenstore-exists
794%attr(755,root,root) %{_bindir}/xenstore-list
795%attr(755,root,root) %{_bindir}/xenstore-ls
796%attr(755,root,root) %{_bindir}/xenstore-read
797%attr(755,root,root) %{_bindir}/xenstore-rm
798%attr(755,root,root) %{_bindir}/xenstore-watch
799%attr(755,root,root) %{_bindir}/xenstore-write
800%{_mandir}/man1/xenstore.1*
801%{_mandir}/man1/xenstore-chmod.1*
802%{_mandir}/man1/xenstore-ls.1*
803%{_mandir}/man1/xenstore-read.1*
804%{_mandir}/man1/xenstore-write.1*
805
806%files libs
807%defattr(644,root,root,755)
808%attr(755,root,root) %{_libdir}/libxenfsimage.so.*.*.*
809%attr(755,root,root) %ghost %{_libdir}/libxenfsimage.so.4.16
810%attr(755,root,root) %{_libdir}/libxencall.so.*.*
811%attr(755,root,root) %ghost %{_libdir}/libxencall.so.1
812%attr(755,root,root) %{_libdir}/libxenctrl.so.*.*.*
813%attr(755,root,root) %ghost %{_libdir}/libxenctrl.so.4.16
814%attr(755,root,root) %{_libdir}/libxendevicemodel.so.*.*
815%attr(755,root,root) %ghost %{_libdir}/libxendevicemodel.so.1
816%attr(755,root,root) %{_libdir}/libxenevtchn.so.*.*
817%attr(755,root,root) %ghost %{_libdir}/libxenevtchn.so.1
818%attr(755,root,root) %{_libdir}/libxenforeignmemory.so.*.*
819%attr(755,root,root) %ghost %{_libdir}/libxenforeignmemory.so.1
820%attr(755,root,root) %{_libdir}/libxengnttab.so.*.*
821%attr(755,root,root) %ghost %{_libdir}/libxengnttab.so.1
822%attr(755,root,root) %{_libdir}/libxenguest.so.*.*.*
823%attr(755,root,root) %ghost %{_libdir}/libxenguest.so.4.16
824%attr(755,root,root) %{_libdir}/libxenhypfs.so.*.*
825%attr(755,root,root) %ghost %{_libdir}/libxenhypfs.so.1
826%attr(755,root,root) %{_libdir}/libxenlight.so.*.*.*
827%attr(755,root,root) %ghost %{_libdir}/libxenlight.so.4.16
828%attr(755,root,root) %{_libdir}/libxenstat.so.*.*.*
829%attr(755,root,root) %ghost %{_libdir}/libxenstat.so.4.16
830%attr(755,root,root) %{_libdir}/libxentoolcore.so.*.*
831%attr(755,root,root) %ghost %{_libdir}/libxentoolcore.so.1
832%attr(755,root,root) %{_libdir}/libxentoollog.so.*.*
833%attr(755,root,root) %ghost %{_libdir}/libxentoollog.so.1
834%attr(755,root,root) %{_libdir}/libxenvchan.so.*.*.*
835%attr(755,root,root) %ghost %{_libdir}/libxenvchan.so.4.16
836%attr(755,root,root) %{_libdir}/libxlutil.so.*.*.*
837%attr(755,root,root) %ghost %{_libdir}/libxlutil.so.4.16
838%dir %{_libdir}/xenfsimage
839%dir %{_libdir}/xenfsimage/ext2fs-lib
840%dir %{_libdir}/xenfsimage/fat
841%dir %{_libdir}/xenfsimage/iso9660
842%dir %{_libdir}/xenfsimage/reiserfs
843%dir %{_libdir}/xenfsimage/ufs
844%dir %{_libdir}/xenfsimage/xfs
845%dir %{_libdir}/xenfsimage/zfs
846%attr(755,root,root) %{_libdir}/xenfsimage/*/fsimage.so
847
848%files libs-guest
849%defattr(644,root,root,755)
850%attr(755,root,root) %{_libdir}/libxenstore.so.*.*
851%attr(755,root,root) %ghost %{_libdir}/libxenstore.so.4
852
853%files devel
854%defattr(644,root,root,755)
855%attr(755,root,root) %{_libdir}/libxenfsimage.so
856%attr(755,root,root) %{_libdir}/libxencall.so
857%attr(755,root,root) %{_libdir}/libxenctrl.so
858%attr(755,root,root) %{_libdir}/libxendevicemodel.so
859%attr(755,root,root) %{_libdir}/libxenevtchn.so
860%attr(755,root,root) %{_libdir}/libxenforeignmemory.so
861%attr(755,root,root) %{_libdir}/libxengnttab.so
862%attr(755,root,root) %{_libdir}/libxenguest.so
863%attr(755,root,root) %{_libdir}/libxenhypfs.so
864%attr(755,root,root) %{_libdir}/libxenlight.so
865%attr(755,root,root) %{_libdir}/libxenstat.so
866%attr(755,root,root) %{_libdir}/libxenstore.so
867%attr(755,root,root) %{_libdir}/libxentoolcore.so
868%attr(755,root,root) %{_libdir}/libxentoollog.so
869%attr(755,root,root) %{_libdir}/libxenvchan.so
870%attr(755,root,root) %{_libdir}/libxlutil.so
871%{_includedir}/_libxl_list.h
872%{_includedir}/_libxl_types.h
873%{_includedir}/_libxl_types_json.h
874%{_includedir}/libxenvchan.h
875%{_includedir}/libxl*.h
876%{_includedir}/xen*.h
877%{_includedir}/xs*.h
878%{_includedir}/xen
879%{_includedir}/xenstore-compat
880%{_pkgconfigdir}/xencall.pc
881%{_pkgconfigdir}/xencontrol.pc
882%{_pkgconfigdir}/xendevicemodel.pc
883%{_pkgconfigdir}/xenevtchn.pc
884%{_pkgconfigdir}/xenforeignmemory.pc
885%{_pkgconfigdir}/xengnttab.pc
886%{_pkgconfigdir}/xenguest.pc
887%{_pkgconfigdir}/xenhypfs.pc
888%{_pkgconfigdir}/xenlight.pc
889%{_pkgconfigdir}/xenstat.pc
890%{_pkgconfigdir}/xenstore.pc
891%{_pkgconfigdir}/xentoolcore.pc
892%{_pkgconfigdir}/xentoollog.pc
893%{_pkgconfigdir}/xenvchan.pc
894%{_pkgconfigdir}/xlutil.pc
895
896%files static
897%defattr(644,root,root,755)
898%{_libdir}/libxencall.a
899%{_libdir}/libxenctrl.a
900%{_libdir}/libxendevicemodel.a
901%{_libdir}/libxenevtchn.a
902%{_libdir}/libxenforeignmemory.a
903%{_libdir}/libxengnttab.a
904%{_libdir}/libxenguest.a
905%{_libdir}/libxenhypfs.a
906%{_libdir}/libxenlight.a
907%{_libdir}/libxenvchan.a
908%{_libdir}/libxenstat.a
909%{_libdir}/libxenstore.a
910%{_libdir}/libxentoolcore.a
911%{_libdir}/libxentoollog.a
912%{_libdir}/libxlutil.a
913
914# -n golang-xen
915# XXX: location?
916#%{_datadir}/gocode/src/golang.xenproject.org/xenlight
917
918%if %{with ocaml}
919%files -n ocaml-xen
920%defattr(644,root,root,755)
921%doc tools/ocaml/LICENSE
922%attr(755,root,root) %{_sbindir}/oxenstored
923%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/xen/oxenstored.conf
924%dir %{_libdir}/ocaml/xenbus
925%attr(755,root,root) %{_libdir}/ocaml/xenbus/dllxenbus_stubs.so
926%dir %{_libdir}/ocaml/xenctrl
927%attr(755,root,root) %{_libdir}/ocaml/xenctrl/dllxenctrl_stubs.so
928%dir %{_libdir}/ocaml/xeneventchn
929%attr(755,root,root) %{_libdir}/ocaml/xeneventchn/dllxeneventchn_stubs.so
930%dir %{_libdir}/ocaml/xenlight
931%attr(755,root,root) %{_libdir}/ocaml/xenlight/dllxenlight_stubs.so
932%dir %{_libdir}/ocaml/xenmmap
933%attr(755,root,root) %{_libdir}/ocaml/xenmmap/dllxenmmap_stubs.so
934%dir %{_libdir}/ocaml/xentoollog
935%attr(755,root,root) %{_libdir}/ocaml/xentoollog/dllxentoollog_stubs.so
936
937%files -n ocaml-xen-devel
938%defattr(644,root,root,755)
939%{_libdir}/ocaml/xenbus/META
940%{_libdir}/ocaml/xenbus/libxenbus_stubs.a
941%{_libdir}/ocaml/xenbus/xenbus.a
942%{_libdir}/ocaml/xenbus/*.cm[aixo]*
943%{_libdir}/ocaml/xenctrl/META
944%{_libdir}/ocaml/xenctrl/libxenctrl_stubs.a
945%{_libdir}/ocaml/xenctrl/xenctrl.a
946%{_libdir}/ocaml/xenctrl/xenctrl.cm[aix]*
947%{_libdir}/ocaml/xeneventchn/META
948%{_libdir}/ocaml/xeneventchn/libxeneventchn_stubs.a
949%{_libdir}/ocaml/xeneventchn/xeneventchn.a
950%{_libdir}/ocaml/xeneventchn/xeneventchn.cm[aix]*
951%{_libdir}/ocaml/xenmmap/META
952%{_libdir}/ocaml/xenmmap/libxenmmap_stubs.a
953%{_libdir}/ocaml/xenmmap/xenmmap.a
954%{_libdir}/ocaml/xenmmap/xenmmap.cm[aix]*
955%{_libdir}/ocaml/xenlight/META
956%{_libdir}/ocaml/xenlight/libxenlight_stubs.a
957%{_libdir}/ocaml/xenlight/xenlight.a
958%{_libdir}/ocaml/xenlight/xenlight.cm[aix]*
959%dir %{_libdir}/ocaml/xenstore
960%{_libdir}/ocaml/xenstore/META
961%{_libdir}/ocaml/xenstore/xenstore.a
962%{_libdir}/ocaml/xenstore/*.cm[aixo]*
963%{_libdir}/ocaml/xentoollog/META
964%{_libdir}/ocaml/xentoollog/libxentoollog_stubs.a
965%{_libdir}/ocaml/xentoollog/xentoollog.a
966%{_libdir}/ocaml/xentoollog/*.cm[aixo]*
967%endif
968
969%if %{with python2}
970%files -n python-xen
971%defattr(644,root,root,755)
972%attr(755,root,root) %{py_sitedir}/xenfsimage.so
973%dir %{py_sitedir}/xen
974%{py_sitedir}/xen/util.py[co]
975%dir %{py_sitedir}/xen/lowlevel
976%attr(755,root,root) %{py_sitedir}/xen/lowlevel/xc.so
977%{py_sitedir}/xen/migration
978%{py_sitedir}/grub
979%{py_sitedir}/pygrub-*-py*.egg-info
980%{py_sitedir}/xen-*-py*.egg-info
981
982%files -n python-xen-guest
983%defattr(644,root,root,755)
984%dir %{py_sitedir}/xen
985%{py_sitedir}/xen/__init__.py[co]
986%dir %{py_sitedir}/xen/lowlevel
987%{py_sitedir}/xen/lowlevel/__init__.py[co]
988%attr(755,root,root) %{py_sitedir}/xen/lowlevel/xs.so
989
990%else
991
992%files -n python3-xen
993%defattr(644,root,root,755)
994%attr(755,root,root) %{py3_sitedir}/xenfsimage.cpython-*.so
995%dir %{py3_sitedir}/xen
996%dir %{py3_sitedir}/xen/__pycache__
997%{py3_sitedir}/xen/util.py
998%{py3_sitedir}/xen/__pycache__/util.cpython-*.py[co]
999%dir %{py3_sitedir}/xen/lowlevel
1000%attr(755,root,root) %{py3_sitedir}/xen/lowlevel/xc.cpython-*.so
1001%{py3_sitedir}/xen/migration
1002%{py3_sitedir}/grub
1003%{py3_sitedir}/pygrub-*-py*.egg-info
1004%{py3_sitedir}/xen-*-py*.egg-info
1005
1006%files -n python3-xen-guest
1007%defattr(644,root,root,755)
1008%dir %{py3_sitedir}/xen
1009%dir %{py3_sitedir}/xen/__pycache__
1010%{py3_sitedir}/xen/__init__.py*
1011%{py3_sitedir}/xen/__pycache__/__init__.cpython-*.py[co]
1012%dir %{py3_sitedir}/xen/lowlevel
1013%{py3_sitedir}/xen/lowlevel/__init__.py
1014%{py3_sitedir}/xen/lowlevel/__pycache__
1015%attr(755,root,root) %{py3_sitedir}/xen/lowlevel/xs.cpython-*.so
1016%endif
1017
1018%files -n bash-completion-%{name}
1019%defattr(644,root,root,755)
1020/etc/bash_completion.d/xl
1021
1022%if %{with efi}
1023%files efi
1024%defattr(644,root,root,755)
1025%dir %{_libdir}/efi
1026%{_libdir}/efi/*.efi
1027%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/xen.cfg
1028%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/efi-boot/update.d/xen.conf
1029%endif
This page took 0.060792 seconds and 4 git commands to generate.