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