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