File xen.spec of Package xen
# norootforbuild
%define python_basename_xen python2
%define python_basename_qemuu python2
%define _lto_cflags %{nil}
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
Name: xen
Version: 0
Release: 0
ExclusiveArch: %ix86 x86_64 %arm aarch64
#
%define with_hypervisor 0
#
%define xen_install_suffix %{nil}
%ifarch x86_64
%define xen_install_suffix .gz
%endif
#
%ifarch x86_64
%define with_hypervisor 1
%else
%endif
#
%bcond_without fdupes
%bcond_without xen_docs
%bcond_without xen_qemu_trad
%bcond_without xen_ovmf
%bcond_without xen_stubdom
%bcond_without xen_systemd
Requires(pre): %fillup_prereq
%if %{without xen_systemd}
Requires(pre): %insserv_prereq
%else
%systemd_requires
%endif
#
BuildRequires: xen-buildreq-qemu-xen
BuildRequires: xen-buildreq-tools-4.8
%if %{with xen_docs}
BuildRequires: xen-buildreq-docs
%endif
%if %{with xen_ovmf}
BuildRequires: xen-buildreq-ovmf
%endif
%if %{with xen_stubdom}
BuildRequires: xen-buildreq-stubdom
%endif
%if %{with xen_qemu_trad}
BuildRequires: xen-buildreq-qemu-xen-trad
%endif
License: GPL-2.0+
Group: System/Kernel
Summary: Xen Hypervisor
Source1000: stubdom.tar.xz
##
Url: https://www.xenproject.org/
%define xen_revision_full 8db85532cbb80c6396e5dab8809feb7b7b0d5c45
%define xen_revision_short 8db85532cb
%define xen_date_unix 1576076402
%define xen_date_commit 2019-12-11 16:00:02 +0100
%define qemu_xen_trad_revision_full 3bed93d7724564e15b1025723af81d2971bb0e4b
%define qemu_xen_trad_revision_short 3bed93d7
%define qemu_xen_trad_date_unix 1490121759
%define qemu_xen_trad_date_commit 2017-03-21 18:42:39 +0000
%define qemu_xen_revision_full 27db72c852423190bf2b955ecd265ce81b37c62f
%define qemu_xen_revision_short 27db72c852
%define qemu_xen_date_unix 1510243391
%define qemu_xen_date_commit 2017-11-09 16:03:11 +0000
%define seabios_revision_full d7adf6044a4c772b497e97272adf97426b34a249
%define seabios_revision_short d7adf604
%define seabios_date_unix 1477498011
%define seabios_date_commit 2016-10-26 12:06:51 -0400
%define minios_revision_full 1e8e464febb32428c7651b0b585866e5ee5f786e
%define minios_revision_short 1e8e464
%define minios_date_unix 1481726315
%define minios_date_commit 2016-12-14 14:38:35 +0000
%define ovmf_revision_full bc54e50e0fe03c570014f363b547426913e92449
%define ovmf_revision_short bc54e50e0f
%define ovmf_date_unix 1473086333
%define ovmf_date_commit 2016-09-05 15:38:53 +0100
%define ipxe_revision_full 390bce9516ce3a4adf599762b6c965813332595e
%define ipxe_revision_short 390bce95
%define ipxe_date_unix 1710861239
%define ipxe_date_commit 2024-03-19 15:13:59 +0000
Patch1482263220: xen.74858c9eaf335658b4c19cb4a848bb721065c233.patch
Patch1489561294: xen.796dea37fb229c34740f98bf80f3263d7a4e3c6d.patch
Patch1491327119: xen.f49fa658b53580cf2ad354d2bf1796766cc11222.patch
Patch1497402708: xen.2d78f78a14528752266982473c07118f1bc336e3.patch
Patch1498239304: xen.c4ba064d53ef89cc06466349c1e987d8e91020b3.patch
Patch1498584943: xen.bda2696f29ad5af6dea0d3edad180a58dde6984a.patch
Patch1522893049: xen.fa7789ef18bd2e716997937af71b2e4b5b00a159.patch
Patch1522893050: xen.27751d89248c8c5eef6d8b56eb8f7d2084145080.patch
Patch1522893051: xen.3a633c261426f06627d88bf7feca6ff87f692f16.patch
Patch1522893052: xen.850e89b3ef1a7be6b71fa7ae22333c884e08431a.patch
Patch1522893053: xen.938c8f53b1f80175c6f7a1399efdb984abb0cb8b.patch
Patch1522893054: xen.7f601f7c341c80d554615556d60e3b8ed1e5ad4f.patch
Patch1522893055: xen.437e00fea04becc91c1b6bc1c0baa636b067a5cc.patch
Patch1527018465: xen.2de2b10b2252761baa5dd0077df384dbfcca8212.patch
Patch1531155946: xen.00d21a3c3c7f742e674458b70553a22eae289fdf.patch
Patch1531952537: xen.2b50cdbc444c637575580dcfa6c9525a84d5cc62.patch
Patch1535464598: xen.9df4c648d79f32946b65d5795c172a91d7d71cfe.patch
Patch1557733883: xen.3fd3b266d4198c06e8e421ca515d9ba09ccd5155.patch
Patch1558685999: xen.ca9310b24e6205de5387e5982ccd42c35caf89d4.patch
Patch1570035936: xen.55ab292c42db41b05cfdba012680bf1e0ea02f7a.patch
Patch1576631723: xen.0e7c69bd3c0b35a677d73843b39522787ccf5a3f.patch
Patch1589992782: xen.dacdbf7088d6a3705a9831e73991c2b14c519a65.patch
Patch1592503911: xen.f1d376a825f4878eab0ef9cabe50ec4299968629.patch
Patch1593168044: xen.3471cafbdda35eacf04670881dd2aee2558b4f08.patch
Patch1593807001: xen.d44cbbe0f3243afcc56e47dcfa97bbfe23e46fbb.patch
Patch1597802435: xen.d25cc3ec93ebda030349045d2c7fa14ffde07ed7.patch
Patch1603197568: xen.bb9afb7a465d3b7b438f2e11105409d24400f8f4.patch
Patch1608623954: xen.ee41b5c450032ae7f2531e18cd0a73bf5fb48803.patch
Patch1610625803: xen.84a37d24a9e962e9c2fa8eb4671ea60c0958157d.patch
Patch1614872871: xen.c6ad5a701b9a6df443a6c98d9e7201c958bbcafc.patch
Patch1620136734: xen.74a8d446f7dc1f18174f48597d7ebb04a634a120.patch
Patch1622562107: xen.5d3e4ebb5c71477d74a0c503438545a0126d3863.patch
Patch1682506316: xen.860fb990bd208f590b78d938ba874e867e1c2986.patch
Patch1682506359: xen.dde20f7dc182fdfeeb6c55648979326bb982ca8c.patch
Patch1495802465: xen.tools-firmware-pass-EXTRAVERSION-to-seabios-build.patch
Patch1525725200: xen.pvgrub-disable.patch
Patch1619186222: xen.launch-xenstore.patch
Patch1525725468: xen.build-compare-doc_html.patch
Patch1527086005: xen.debug_symbols-for-xen.patch
Patch1592247110: xen.vhd_read_block.patch
Patch1592257168: xen.tapdisk_vbd_open_level.patch
%if %suse_version > 1110
BuildRequires: python(abi) > 3.0
%endif
%define qemu_xen_trad_version 3bed93d7724564e15b1025723af81d2971bb0e4b
Patch1511866287: qemu_xen.75e5b70e6b5dcc4f2219992d7cffa462aa406af0.patch
Patch1607958578: qemu_xen.bbd2d5a8120771ec59b86a80a1f51884e0a26e53.patch
%define qemu_xen_version 27db72c852423190bf2b955ecd265ce81b37c62f
Patch1531663514: seabios.8c3f57ea1217ea0c80a72898bc35baa0e14af0e0.patch
Patch1595431900: seabios.699a4e5d6919cc8eae5342443025ceb6909dc276.patch
Patch1621549128: seabios.6eff8085980dba0938cea0193b8a0fd3c6b0c4ca.patch
%define seabios_version d7adf6044a4c772b497e97272adf97426b34a249
Patch1502280948: minios.d991bdbc062248221511ecb795617c36b37e1d2e.patch
%define minios_version 1e8e464febb32428c7651b0b585866e5ee5f786e
Patch1479950123: ovmf.2667ad40919afa6e4cd1b5f572584fbd440689b4.patch
Patch1481025805: ovmf.432f1d83f77acf92d52ef18d2cee6dbf7c5b9b86.patch
Patch1486990440: ovmf.d37fa01fbbe2cf0cd8b49069a71706a33cb4a53e.patch
Patch1491013874: ovmf.fe4a28ccbfd33cae9e1f56b174d46b4eb2329efd.patch
Patch1512812331: ovmf.8b13e18143cc4199eedd2597572ade34061a5c33.patch
Patch1513559963: ovmf.1c47ab04046d8a4123d4bcf8826f42aca2777292.patch
Patch1520007112: ovmf.9de306701312f986c9638cb819d3f1f848d55cab.patch
Patch1640010758: ovmf.ae8272ef787d80950803c521a13a308651bdc62e.patch
Patch1527089363: ovmf.fPIC.patch
Patch1529331479: ovmf.FIT_SIGNATURE.patch
%define ovmf_version bc54e50e0fe03c570014f363b547426913e92449
Patch1484818598: ipxe.stable-build-id.patch
%define ipxe_version 390bce9516ce3a4adf599762b6c965813332595e
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Xen is a virtual machine monitor for x86 that supports execution of
multiple guest operating systems with unprecedented levels of
performance and resource isolation.
This package contains the Xen Hypervisor. (tm)
%package libs
Summary: Xen Virtualization: Libraries
Group: System/Kernel
%if 0%{with_hypervisor}
Requires: %{name} = %{version}-%{release}
%endif
%description libs
%package tools
Summary: Xen Virtualization: Control tools for domain 0
Group: System/Kernel
Requires: %{name}-libs = %{version}-%{release}
Requires: iproute2
Requires: multipath-tools
Requires: python
Requires: python-curses
Provides: xen-doc-html = %{version}-%{release}
Obsoletes: xen-doc-html
%description tools
%ifarch %ix86 x86_64
%package tools-domU
Summary: Xen Virtualization: Control tools for domain U
Group: System/Kernel
Requires: %{name}-libs = %{version}-%{release}
Conflicts: %{name}-tools
%description tools-domU
%endif
%package devel
Summary: Xen Virtualization: Headers and libraries for development
Group: System/Kernel
Requires: %{name}-libs = %{version}-%{release}
Requires: pkgconfig(uuid)
%description devel
%prep
rm -rf %_builddir/%name-%version
mv %_sourcedir/%name-%version %_builddir/%name-%version
%setup -c -T -D
pushd '.'
%patch -P 1482263220 -p1
%patch -P 1489561294 -p1
%patch -P 1491327119 -p1
%patch -P 1497402708 -p1
%patch -P 1498239304 -p1
%patch -P 1498584943 -p1
%patch -P 1522893049 -p1
%patch -P 1522893050 -p1
%patch -P 1522893051 -p1
%patch -P 1522893052 -p1
%patch -P 1522893053 -p1
%patch -P 1522893054 -p1
%patch -P 1522893055 -p1
%patch -P 1527018465 -p1
%patch -P 1531155946 -p1
%patch -P 1531952537 -p1
%patch -P 1535464598 -p1
%patch -P 1557733883 -p1
%patch -P 1558685999 -p1
%patch -P 1570035936 -p1
%patch -P 1576631723 -p1
%patch -P 1589992782 -p1
%patch -P 1592503911 -p1
%patch -P 1593168044 -p1
%patch -P 1593807001 -p1
%patch -P 1597802435 -p1
%patch -P 1603197568 -p1
%patch -P 1608623954 -p1
%patch -P 1610625803 -p1
%patch -P 1614872871 -p1
%patch -P 1620136734 -p1
%patch -P 1622562107 -p1
%patch -P 1682506316 -p1
%patch -P 1682506359 -p1
%patch -P 1495802465 -p1
%patch -P 1525725200 -p1
%patch -P 1619186222 -p1
%patch -P 1525725468 -p1
%patch -P 1527086005 -p1
%patch -P 1592247110 -p1
%patch -P 1592257168 -p1
popd
rm -rf './tools/qemu-xen-traditional-dir-remote'
mkdir -vp './tools'
mv -v '%_sourcedir/qemu_xen_trad-%qemu_xen_trad_version' './tools/qemu-xen-traditional-dir-remote'
rm -rf './tools/qemu-xen-dir-remote'
mkdir -vp './tools'
mv -v '%_sourcedir/qemu_xen-%qemu_xen_version' './tools/qemu-xen-dir-remote'
pushd './tools/qemu-xen-dir-remote'
%patch -P 1511866287 -p1
%patch -P 1607958578 -p1
popd
rm -rf './tools/firmware/seabios-dir-remote'
mkdir -vp './tools/firmware'
mv -v '%_sourcedir/seabios-%seabios_version' './tools/firmware/seabios-dir-remote'
pushd './tools/firmware/seabios-dir-remote'
%patch -P 1531663514 -p1
%patch -P 1595431900 -p1
%patch -P 1621549128 -p1
popd
rm -rf './extras/mini-os-remote'
mkdir -vp './extras'
mv -v '%_sourcedir/minios-%minios_version' './extras/mini-os-remote'
pushd './extras/mini-os-remote'
%patch -P 1502280948 -p1
popd
rm -rf './tools/firmware/ovmf-dir-remote'
mkdir -vp './tools/firmware'
mv -v '%_sourcedir/ovmf-%ovmf_version' './tools/firmware/ovmf-dir-remote'
pushd './tools/firmware/ovmf-dir-remote'
%patch -P 1479950123 -p1
%patch -P 1481025805 -p1
%patch -P 1486990440 -p1
%patch -P 1491013874 -p1
%patch -P 1512812331 -p1
%patch -P 1513559963 -p1
%patch -P 1520007112 -p1
%patch -P 1640010758 -p1
%patch -P 1527089363 -p1
%patch -P 1529331479 -p1
popd
rm -rf './tools/firmware/etherboot/ipxe'
mkdir -vp './tools/firmware/etherboot'
mv -v '%_sourcedir/ipxe-%ipxe_version' './tools/firmware/etherboot/ipxe'
pushd './tools/firmware/etherboot/ipxe'
%patch -P 1484818598 -p1
popd
if pushd subprojects/packagefiles 2>/dev/null
then
for prj in *
do
if pushd "${prj}" > /dev/null
then
for f in *
do
test -f "${f}" || continue
ln -vt "../../${prj}/" *
break
done
popd > /dev/null
fi
done
popd > /dev/null
fi
%build
python_basename_xen='%{python_basename_xen}'
python_basename_qemuu='%{python_basename_qemuu}'
%include %{_datadir}/xen-buildreq/build.txt
%install
%include %{_datadir}/xen-buildreq/install.txt
%clean
: %buildroot preserved
%if 0%{with_hypervisor}
%files -f xen.files.txt
%defattr(-,root,root)
/boot/*
%endif
%files libs
%defattr(-,root,root)
%{_libdir}/fs/
%{_libdir}/*.so.*
%files tools -f xen-tools.python.files.txt
%defattr(-,root,root)
%if %{with xen_docs}
%{_defaultdocdir}/%{name}/html
%endif
/usr/bin/xen[!-]*
/usr/bin/p*
%ifarch %ix86 x86_64
/usr/bin/xen-cpuid
%endif
/usr/sbin/*
%{_libexecdir}/xen
%if %{with xen_docs}
%{_mandir}/man*/*.gz
%endif
%{_fillupdir}/*
%dir /var/lib/xen
%dir %attr(700,root,root) /var/lib/xen/images
%dir %attr(700,root,root) /var/lib/xen/save
%dir %attr(700,root,root) /var/lib/xen/dump
%ifarch %ix86 x86_64
%dir %attr(700,root,root) /var/lib/xen/xenpaging
%endif
%dir /var/lib/xenstored
%dir %attr(700,root,root) /etc/xen
%config /etc/xen/*
%dir /var/log/xen
%if %{with xen_systemd}
%config %{_unitdir}/*
%else
%if %{?with_rc_d}0
%config /etc/rc.d
%endif
%config %{_initddir}/*
%endif
%dir %{_defaultdocdir}/%{name}
%{_defaultdocdir}/%{name}/misc
%dir %{_libdir}/python*/site-packages/xen
%dir %{_libdir}/python*/site-packages/grub
%if %{with xen_qemu_trad}
%ifarch %ix86 x86_64
%{_datadir}/xen
%endif
%endif
%{_datadir}/bash-completion
%{_datadir}/qemu-xen
%{_libdir}/python*/site-packages/fsimage.so
%ifarch %ix86 x86_64
%files tools-domU
%defattr(-,root,root)
/usr/bin/xen-detect
%endif
%files devel
%defattr(-,root,root)
%{_libdir}/*.a
%{_libdir}/*.so
/usr/include/*
%{_libdir}/pkgconfig/*
%include %{_datadir}/xen-buildreq/scriptlets.txt