Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/xen-tools/
Date: Wed, 20 Oct 2021 09:59:41
Message-Id: 1634723965.bc35f179dbd396d37e86d7dfaacbbe37b85cc4bd.sam@gentoo
1 commit: bc35f179dbd396d37e86d7dfaacbbe37b85cc4bd
2 Author: Tomáš Mózes <hydrapolic <AT> gmail <DOT> com>
3 AuthorDate: Tue Oct 12 06:47:59 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 20 09:59:25 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc35f179
7
8 app-emulation/xen-tools: drop old
9
10 Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 app-emulation/xen-tools/Manifest | 4 -
14 app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild | 525 --------------------
15 app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild | 532 --------------------
16 app-emulation/xen-tools/xen-tools-4.15.1.ebuild | 540 ---------------------
17 4 files changed, 1601 deletions(-)
18
19 diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest
20 index 20fa1bbabfd..d7ffa4f1fbb 100644
21 --- a/app-emulation/xen-tools/Manifest
22 +++ b/app-emulation/xen-tools/Manifest
23 @@ -6,10 +6,6 @@ DIST edk2-06dc822d045c2bb42e497487935485302486e151.tar.gz 13192042 BLAKE2B 81afa
24 DIST edk2-a3741780fe3535e19e02efa869a7cac481891129.tar.gz 12886279 BLAKE2B 2054bb84375b9840b31276f86786ea764368da200087e45c0528f2ca6b17aa9078a05e406bafa41c25cd65971ff007dfa19ffe91f9a5a2ab6c845bc6f62df3de SHA512 ca0543fefeb1fdc8d0d9841de309ce40fe88220463569a77f56d3fe3184fd4a57ce00b3c96c0861a51b7dbf5f4a9f9946b960a636593682f380c861f2606d190
25 DIST ipxe-git-988d2c13cdf0f0b4140685af35ced70ac5b3283c.tar.gz 3931642 BLAKE2B bf0b5d9ea1d44803bc5c4aa0bf9188636e292b226ab759f32e3c2bfa3f80dd3f546526b9a11c1f67193793ede5309bfa67bdce80aba62ccca54597dc6e7e4ba4 SHA512 0a63f83c9135d05c6bfe7c4d12da3ff76271e35305a4d5654bd5aefa9ee59f5363546c65820c42133deb0fb5a0a0bcaa9b1c48396f9f996acea0d492a5f03f33
26 DIST seabios-1.14.0.tar.gz 628985 BLAKE2B cc1126925dab1551a655680d20d06ebf28c12c386500d1ee4df9e1a99403b4c5bc6a66c2cc5ef58b4c3d6d7226f35007506a6a1855c2cf2742469dcb7aba05bb SHA512 215c42f59425f8abd062be7b11fc0e39c977cee5001a2381551b0f851ac337d0dd53c065267e6dee0e710ffd700fa635f9007b89da8dfce0f47122c984ee8146
27 -DIST xen-4.14.2-upstream-patches-0.tar.xz 23304 BLAKE2B 954e0a49e5c3ec122aefe52afe328f440b8a4c8db966e0fa91e0b6d6cb3c0462b75fb99b3e7392811bd2e680cd7945e8a4d68317245fd42fdf0ad6cab33fbc68 SHA512 64d243f0c8acfec87812e4d78e3d8b24a86315824853f4f3b17122b7119425d180650695bc12e1a30f5b30c6ef684be7c08b2bc677ca2f0668d0335d92e2bf78
28 -DIST xen-4.14.2.tar.gz 39973157 BLAKE2B db5d3570f79e0fd97872f5e5dd57a4eb39e005728387bfef3b51fabe1c693cfd8108d09b1026f5a5a7eb79de71be6f4af36d252f7e0b35a65a1567b7949e3e29 SHA512 83c9333b70dbee3e29c6bf08e5ad030676e6c4a32b976f3f5e6a8f8d0dd9e4898bac88dd8e1c9d2ad3509cebb5d212e1745f9392a469d7afeb841d79801ccf39
29 DIST xen-4.14.3.tar.gz 39982036 BLAKE2B 927fd2937f451567238702430cea3a6e5d2db70d5eef10f029bb1d6d030681573c851eb8076c8bad89c97c115f81a19ac8e46e78ca3f0e642565f7300c264ca1 SHA512 b462fcc1549f6e57f7f2a4fd10ce1e957a25a6a7c0319672b62699468f6c4330b9cd0cf2b0231b5cce94f4bb142a957eb8aa58aa0ffb5c85b37211d6b34ccf16
30 -DIST xen-4.15.0-upstream-patches-1.tar.xz 35180 BLAKE2B eb3b2a44b717a04daa4a2f158040cce78b42cba5a72c437d7b2f8f1237b808f6f13c2140d82e95056818db6c0eb706ebd7dead822a6a4e689e5d5e7c83523fdb SHA512 a7cfe2dbc82b15c48fa781a77b3ca1622fc2feac3874bf17cf56e82be46e9817913f94992e0e1a1cd2be2e719d4abb9a15744c8a1017e30c0d5c01d7db64dbb5
31 -DIST xen-4.15.0.tar.gz 40785399 BLAKE2B 8b0530f5516c39656506f4bb705952da0555a8ab7f47323473b171caeb7692f3107e9d94f13171d40576600064589eed35f4d210af02db4cc4706dd4fc202100 SHA512 93683b8a97387ca5f003c635a11d163e61c87dbdc9a03081f9155fe87b49f1dfa74ce243fcd5e04dc009353a36e2375b786f1ebde828b5951a094cd64197b4c7
32 DIST xen-4.15.1.tar.gz 40800852 BLAKE2B 39475ea33f029fb0e84b82b4a2b13fd613bab01e3ef6c241dfede3d190ee9be53c99b62121d37d83b1e078764b3e4d88d1dfb99be1b5623691e56519850c6798 SHA512 8d3cbdf708f46477e32ee7cbd16a490c82efa855cecd84ee712b8680df4d69c987ba9ab00ff3851f627b98a8ebbc5dab71f92f142ed958ee2bc538bc792cd4b9
33 DIST xen-gentoo-patches-23.tar.xz 20536 BLAKE2B 0064f79f8794a21ab13047a4ee296e37efa616e16ca6cd65b31fdafeb458fd9b80f0443758343c8328b1901d7169618346becfe75f16dcaeff08fc975f1d08d5 SHA512 09248e17ff7865feb2a505169d62ee5c8c60bd672fa8c4c7c4e3a2e4af58bfad0379d37b395bab3e3393af8d53d882f56749dfeb560edeea6b7ab56c902a3c49
34
35 diff --git a/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild b/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild
36 deleted file mode 100644
37 index c2b251d44cd..00000000000
38 --- a/app-emulation/xen-tools/xen-tools-4.14.2-r1.ebuild
39 +++ /dev/null
40 @@ -1,525 +0,0 @@
41 -# Copyright 1999-2021 Gentoo Authors
42 -# Distributed under the terms of the GNU General Public License v2
43 -
44 -EAPI=7
45 -
46 -PYTHON_COMPAT=( python3_{8..9} )
47 -PYTHON_REQ_USE='ncurses,xml,threads(+)'
48 -
49 -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
50 -
51 -MY_PV=${PV/_/-}
52 -
53 -if [[ ${PV} == *9999 ]]; then
54 - inherit git-r3
55 - REPO="xen.git"
56 - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
57 - S="${WORKDIR}/${REPO}"
58 -else
59 - KEYWORDS="amd64 ~arm ~arm64 x86"
60 - UPSTREAM_VER=0
61 - SECURITY_VER=
62 - # xen-tools's gentoo patches tarball
63 - GENTOO_VER=23
64 - # xen-tools's gentoo patches version which apply to this specific ebuild
65 - GENTOO_GPV=0
66 - # xen-tools ovmf's patches
67 - OVMF_VER=
68 -
69 - SEABIOS_VER="1.14.0"
70 - EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
71 - EDK2_OPENSSL_VERSION="1_1_1g"
72 - EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
73 - EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
74 - IPXE_COMMIT="988d2c13cdf0f0b4140685af35ced70ac5b3283c"
75 -
76 - [[ -n ${UPSTREAM_VER} ]] && \
77 - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
78 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
79 - [[ -n ${SECURITY_VER} ]] && \
80 - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
81 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
82 - [[ -n ${GENTOO_VER} ]] && \
83 - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
84 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
85 - [[ -n ${OVMF_VER} ]] && \
86 - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
87 -
88 - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
89 - https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
90 - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
91 - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
92 - https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
93 - https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
94 - https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
95 - ${OVMF_PATCHSET_URI} )
96 - ${UPSTREAM_PATCHSET_URI}
97 - ${SECURITY_PATCHSET_URI}
98 - ${GENTOO_PATCHSET_URI}"
99 -
100 - S="${WORKDIR}/xen-${MY_PV}"
101 -fi
102 -
103 -DESCRIPTION="Xen tools including QEMU and xl"
104 -HOMEPAGE="https://www.xenproject.org"
105 -DOCS=( README )
106 -
107 -LICENSE="GPL-2"
108 -SLOT="0/$(ver_cut 1-2)"
109 -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
110 -# >=dev-lang/ocaml-4 stable
111 -# Masked in profiles/eapi-5-files instead
112 -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
113 -
114 -REQUIRED_USE="
115 - ${PYTHON_REQUIRED_USE}
116 - ipxe? ( rombios )
117 - ovmf? ( hvm )
118 - pygrub? ( python )
119 - rombios? ( hvm )
120 - system-ipxe? ( rombios )
121 - ?? ( ipxe system-ipxe )
122 - ?? ( qemu system-qemu )"
123 -
124 -COMMON_DEPEND="
125 - sys-apps/pciutils
126 - dev-libs/lzo:2
127 - dev-libs/glib:2
128 - dev-libs/yajl
129 - dev-libs/libaio
130 - dev-libs/libgcrypt:0
131 - sys-libs/zlib
132 - ${PYTHON_DEPS}
133 -"
134 -
135 -DEPEND="${COMMON_DEPEND}
136 - app-misc/pax-utils
137 - dev-lang/perl
138 - >=sys-kernel/linux-headers-4.11
139 - x11-libs/pixman
140 - $(python_gen_cond_dep '
141 - dev-python/lxml[${PYTHON_USEDEP}]
142 - pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
143 - ')
144 - x86? ( sys-devel/dev86
145 - system-ipxe? ( sys-firmware/ipxe[qemu] )
146 - sys-power/iasl )
147 - api? ( dev-libs/libxml2
148 - net-misc/curl )
149 -
150 - ovmf? (
151 - !arm? ( !arm64? ( dev-lang/nasm ) )
152 - $(python_gen_impl_dep sqlite)
153 - )
154 - !amd64? ( >=sys-apps/dtc-1.4.0 )
155 - amd64? ( sys-power/iasl
156 - system-seabios? ( sys-firmware/seabios )
157 - system-ipxe? ( sys-firmware/ipxe[qemu] )
158 - rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
159 - doc? (
160 - app-text/ghostscript-gpl
161 - app-text/pandoc
162 - $(python_gen_cond_dep '
163 - dev-python/markdown[${PYTHON_USEDEP}]
164 - ')
165 - dev-texlive/texlive-latexextra
166 - media-gfx/transfig
167 - )
168 - hvm? ( x11-base/xorg-proto )
169 - qemu? (
170 - app-arch/snappy:=
171 - sdl? (
172 - media-libs/libsdl[X]
173 - media-libs/libsdl2[X]
174 - )
175 - )
176 - system-qemu? ( app-emulation/qemu[xen] )
177 - ocaml? ( dev-ml/findlib
178 - >=dev-lang/ocaml-4 )
179 - python? ( >=dev-lang/swig-4.0.0 )"
180 -
181 -RDEPEND="${COMMON_DEPEND}
182 - sys-apps/iproute2[-minimal]
183 - net-misc/bridge-utils
184 - screen? (
185 - app-misc/screen
186 - app-admin/logrotate
187 - )"
188 -
189 -# hvmloader is used to bootstrap a fully virtualized kernel
190 -# Approved by QA team in bug #144032
191 -QA_WX_LOAD="
192 - usr/libexec/xen/boot/hvmloader
193 - usr/share/qemu-xen/qemu/hppa-firmware.img
194 - usr/share/qemu-xen/qemu/s390-ccw.img
195 - usr/share/qemu-xen/qemu/u-boot.e500
196 -"
197 -
198 -QA_PREBUILT="
199 - usr/libexec/xen/bin/elf2dmp
200 - usr/libexec/xen/bin/ivshmem-client
201 - usr/libexec/xen/bin/ivshmem-server
202 - usr/libexec/xen/bin/qemu-edid
203 - usr/libexec/xen/bin/qemu-img
204 - usr/libexec/xen/bin/qemu-io
205 - usr/libexec/xen/bin/qemu-keymap
206 - usr/libexec/xen/bin/qemu-nbd
207 - usr/libexec/xen/bin/qemu-pr-helper
208 - usr/libexec/xen/bin/qemu-system-i386
209 - usr/libexec/xen/bin/virtfs-proxy-helper
210 - usr/libexec/xen/libexec/xen-bridge-helper
211 - usr/share/qemu-xen/qemu/s390-ccw.img
212 - usr/share/qemu-xen/qemu/s390-netboot.img
213 - usr/share/qemu-xen/qemu/u-boot.e500
214 -"
215 -
216 -RESTRICT="test"
217 -
218 -pkg_setup() {
219 - python_setup
220 - export "CONFIG_LOMOUNT=y"
221 -
222 - #bug 522642, disable compile tools/tests
223 - export "CONFIG_TESTS=n"
224 -
225 - if [[ -z ${XEN_TARGET_ARCH} ]] ; then
226 - if use x86 && use amd64; then
227 - die "Confusion! Both x86 and amd64 are set in your use flags!"
228 - elif use x86; then
229 - export XEN_TARGET_ARCH="x86_32"
230 - elif use amd64 ; then
231 - export XEN_TARGET_ARCH="x86_64"
232 - elif use arm; then
233 - export XEN_TARGET_ARCH="arm32"
234 - elif use arm64; then
235 - export XEN_TARGET_ARCH="arm64"
236 - else
237 - die "Unsupported architecture!"
238 - fi
239 - fi
240 -}
241 -
242 -src_prepare() {
243 - local i
244 -
245 - # Upstream's patchset
246 - if [[ -n ${UPSTREAM_VER} ]]; then
247 - einfo "Try to apply Xen Upstream patch set"
248 - eapply "${WORKDIR}"/patches-upstream
249 - fi
250 -
251 - # Security patchset
252 - if [[ -n ${SECURITY_VER} ]]; then
253 - einfo "Try to apply Xen Security patch set"
254 - # apply main xen patches
255 - # Two parallel systems, both work side by side
256 - # Over time they may concdense into one. This will suffice for now
257 - EPATCH_SUFFIX="patch"
258 - EPATCH_FORCE="yes"
259 -
260 - source "${WORKDIR}"/patches-security/${PV}.conf || die
261 -
262 - for i in ${XEN_SECURITY_MAIN}; do
263 - eapply "${WORKDIR}"/patches-security/xen/$i
264 - done
265 -
266 - # apply qemu-xen/upstream patches
267 - pushd "${S}"/tools/qemu-xen/ > /dev/null
268 - for i in ${XEN_SECURITY_QEMUU}; do
269 - eapply "${WORKDIR}"/patches-security/qemuu/$i
270 - done
271 - popd > /dev/null
272 -
273 - # apply qemu-traditional patches
274 - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
275 - for i in ${XEN_SECURITY_QEMUT}; do
276 - eapply "${WORKDIR}"/patches-security/qemut/$i
277 - done
278 - popd > /dev/null
279 - fi
280 -
281 - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
282 - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
283 - pushd tools/firmware/ > /dev/null
284 - ln -s seabios-dir-remote seabios-dir || die
285 - popd > /dev/null
286 -
287 - # Gentoo's patchset
288 - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
289 - einfo "Try to apply Gentoo specific patch set"
290 - source "${FILESDIR}"/gentoo-patches.conf || die
291 - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
292 - for i in ${!_gpv}; do
293 - eapply "${WORKDIR}"/patches-gentoo/$i
294 - done
295 - fi
296 -
297 - # Ovmf's patchset
298 - if use ovmf; then
299 - if [[ -n ${OVMF_VER} ]];then
300 - einfo "Try to apply Ovmf patch set"
301 - pushd "${WORKDIR}"/edk2-*/ > /dev/null
302 - eapply "${WORKDIR}"/patches-ovmf
303 - popd > /dev/null
304 - fi
305 - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
306 - rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
307 - rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
308 - rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
309 - rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
310 - mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
311 - mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
312 - cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
313 - cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
314 - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
315 - fi
316 -
317 - # ipxe
318 - if use ipxe; then
319 - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
320 -
321 - # gcc 11
322 - cp "${WORKDIR}/patches-gentoo/xen-tools-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
323 - echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
324 - fi
325 -
326 - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
327 -
328 - # Fix texi2html build error with new texi2html, qemu.doc.html
329 - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
330 -
331 - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
332 - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
333 - -i tools/firmware/Makefile || die
334 -
335 - # Drop .config, fixes to gcc-4.6
336 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
337 -
338 - # drop flags
339 - unset CFLAGS
340 - unset LDFLAGS
341 - unset ASFLAGS
342 - unset CPPFLAGS
343 -
344 - if ! use pygrub; then
345 - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
346 - fi
347 -
348 - if ! use python; then
349 - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
350 - fi
351 -
352 - if ! use hvm; then
353 - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
354 - # Bug 351648
355 - elif ! use x86 && ! has x86 $(get_all_abis); then
356 - mkdir -p "${WORKDIR}"/extra-headers/gnu || die
357 - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
358 - export CPATH="${WORKDIR}"/extra-headers
359 - fi
360 -
361 - if use qemu; then
362 - if use sdl; then
363 - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
364 - tools/Makefile || die
365 - else
366 - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
367 - tools/qemu-xen-traditional/xen-setup || die
368 - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
369 - tools/Makefile || die
370 - fi
371 - else
372 - # Don't bother with qemu, only needed for fully virtualised guests
373 - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
374 - fi
375 -
376 - # Reset bash completion dir; Bug 472438
377 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
378 - -i Config.mk || die
379 - sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
380 -
381 - # xencommons, Bug #492332, sed lighter weight than patching
382 - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
383 - -i tools/hotplug/Linux/init.d/xencommons.in || die
384 -
385 - # fix bashishm
386 - sed -e '/Usage/s/\$//g' \
387 - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die
388 -
389 - # respect multilib, usr/lib/libcacard.so.0.0.0
390 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
391 - -i tools/qemu-xen/configure || die
392 -
393 - #bug 518136, don't build 32bit exactuable for nomultilib profile
394 - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
395 - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
396 - fi
397 -
398 - # uncomment lines in xl.conf
399 - sed -e 's:^#autoballoon=:autoballoon=:' \
400 - -e 's:^#lockfile=:lockfile=:' \
401 - -e 's:^#vif.default.script=:vif.default.script=:' \
402 - -i tools/examples/xl.conf || die
403 -
404 - # disable capstone (Bug #673474)
405 - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
406 - -i tools/Makefile || die
407 -
408 - # disable glusterfs
409 - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
410 - -i tools/Makefile || die
411 -
412 - # disable jpeg automagic
413 - sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
414 - -i tools/Makefile || die
415 -
416 - # disable png automagic
417 - sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
418 - -i tools/Makefile || die
419 -
420 - # disable docker (Bug #732970)
421 - sed -e "s:\$\$source/configure:\0 --disable-containers:" \
422 - -i tools/Makefile || die
423 -
424 - default
425 -}
426 -
427 -src_configure() {
428 - local myconf="--prefix=${PREFIX}/usr \
429 - --libdir=${PREFIX}/usr/$(get_libdir) \
430 - --libexecdir=${PREFIX}/usr/libexec \
431 - --localstatedir=${EPREFIX}/var \
432 - --disable-golang \
433 - --disable-werror \
434 - --disable-xen \
435 - --enable-tools \
436 - --enable-docs \
437 - $(use_enable api xenapi) \
438 - $(use_enable ipxe) \
439 - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
440 - $(use_enable ocaml ocamltools) \
441 - $(use_enable ovmf) \
442 - $(use_enable pam) \
443 - $(use_enable rombios) \
444 - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
445 - "
446 -
447 - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
448 - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
449 - use amd64 && myconf+=" $(use_enable qemu-traditional)"
450 - tc-ld-disable-gold # Bug 669570
451 - econf ${myconf}
452 -}
453 -
454 -src_compile() {
455 - local myopt
456 - use debug && myopt="${myopt} debug=y"
457 - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
458 -
459 - if test-flag-CC -fno-strict-overflow; then
460 - append-flags -fno-strict-overflow
461 - fi
462 -
463 - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
464 -
465 - if use doc; then
466 - emake -C docs build
467 - else
468 - emake -C docs man-pages
469 - fi
470 -}
471 -
472 -src_install() {
473 - # Override auto-detection in the build system, bug #382573
474 - export INITD_DIR=/tmp/init.d
475 - export CONFIG_LEAF_DIR=../tmp/default
476 -
477 - # Let the build system compile installed Python modules.
478 - local PYTHONDONTWRITEBYTECODE
479 - export PYTHONDONTWRITEBYTECODE
480 -
481 - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
482 - XEN_PYTHON_NATIVE_INSTALL=y install-tools
483 -
484 - # Created at runtime
485 - rm -rv "${ED}/var/run" || die
486 -
487 - # Fix the remaining Python shebangs.
488 - python_fix_shebang "${D}"
489 -
490 - # Remove RedHat-specific stuff
491 - rm -rf "${D}"/tmp || die
492 -
493 - if use doc; then
494 - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
495 - dodoc -r docs/{pdf,txt}
496 - else
497 - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
498 - fi
499 - dodoc ${DOCS[@]}
500 -
501 - newconfd "${FILESDIR}"/xendomains.confd xendomains
502 - newconfd "${FILESDIR}"/xenstored.confd xenstored
503 - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
504 - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
505 - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
506 - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
507 - newinitd "${FILESDIR}"/xencommons.initd xencommons
508 - newconfd "${FILESDIR}"/xencommons.confd xencommons
509 - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
510 - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
511 - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
512 -
513 - if use screen; then
514 - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
515 - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
516 - keepdir /var/log/xen-consoles
517 - fi
518 -
519 - # For -static-libs wrt Bug 384355
520 - if ! use static-libs; then
521 - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
522 - fi
523 -
524 - # for xendomains
525 - keepdir /etc/xen/auto
526 -
527 - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files
528 - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
529 - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die
530 -
531 - keepdir /var/lib/xen/dump
532 - keepdir /var/lib/xen/xenpaging
533 - keepdir /var/lib/xenstored
534 - keepdir /var/log/xen
535 -
536 - if use python; then
537 - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
538 - python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
539 - fi
540 -
541 - python_optimize
542 -}
543 -
544 -pkg_postinst() {
545 - elog "Official Xen Guide and the offical wiki page:"
546 - elog "https://wiki.gentoo.org/wiki/Xen"
547 - elog "https://wiki.xen.org/wiki/Main_Page"
548 - elog ""
549 - elog "Recommended to utilise the xencommons script to config system at boot"
550 - elog "Add by use of rc-update on completion of the install"
551 -
552 - if ! use hvm; then
553 - echo
554 - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
555 - elog "support enable the hvm use flag."
556 - elog "An x86 or amd64 system is required to build HVM support."
557 - fi
558 -
559 - if use qemu; then
560 - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
561 - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
562 - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
563 - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
564 - fi
565 -}
566
567 diff --git a/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild b/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild
568 deleted file mode 100644
569 index fd9eb3bf75c..00000000000
570 --- a/app-emulation/xen-tools/xen-tools-4.15.0-r2.ebuild
571 +++ /dev/null
572 @@ -1,532 +0,0 @@
573 -# Copyright 1999-2021 Gentoo Authors
574 -# Distributed under the terms of the GNU General Public License v2
575 -
576 -EAPI=7
577 -
578 -PYTHON_COMPAT=( python3_{8..9} )
579 -PYTHON_REQ_USE='ncurses,xml,threads(+)'
580 -
581 -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
582 -
583 -MY_PV=${PV/_/-}
584 -
585 -if [[ ${PV} == *9999 ]]; then
586 - inherit git-r3
587 - REPO="xen.git"
588 - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
589 - S="${WORKDIR}/${REPO}"
590 -else
591 - KEYWORDS="~amd64 ~arm ~arm64 ~x86"
592 - UPSTREAM_VER=1
593 - SECURITY_VER=
594 - # xen-tools's gentoo patches tarball
595 - GENTOO_VER=23
596 - # xen-tools's gentoo patches version which apply to this specific ebuild
597 - GENTOO_GPV=0
598 - # xen-tools ovmf's patches
599 - OVMF_VER=
600 -
601 - SEABIOS_VER="1.14.0"
602 - EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
603 - EDK2_OPENSSL_VERSION="1_1_1g"
604 - EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
605 - EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
606 - IPXE_COMMIT="988d2c13cdf0f0b4140685af35ced70ac5b3283c"
607 -
608 - [[ -n ${UPSTREAM_VER} ]] && \
609 - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
610 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
611 - [[ -n ${SECURITY_VER} ]] && \
612 - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
613 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
614 - [[ -n ${GENTOO_VER} ]] && \
615 - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
616 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
617 - [[ -n ${OVMF_VER} ]] && \
618 - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
619 -
620 - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
621 - https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
622 - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
623 - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
624 - https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
625 - https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
626 - https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
627 - ${OVMF_PATCHSET_URI} )
628 - ${UPSTREAM_PATCHSET_URI}
629 - ${SECURITY_PATCHSET_URI}
630 - ${GENTOO_PATCHSET_URI}"
631 -
632 - S="${WORKDIR}/xen-${MY_PV}"
633 -fi
634 -
635 -DESCRIPTION="Xen tools including QEMU and xl"
636 -HOMEPAGE="https://www.xenproject.org"
637 -DOCS=( README )
638 -
639 -LICENSE="GPL-2"
640 -SLOT="0/$(ver_cut 1-2)"
641 -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
642 -# >=dev-lang/ocaml-4 stable
643 -# Masked in profiles/eapi-5-files instead
644 -IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
645 -
646 -REQUIRED_USE="
647 - ${PYTHON_REQUIRED_USE}
648 - ipxe? ( rombios )
649 - ovmf? ( hvm )
650 - pygrub? ( python )
651 - rombios? ( hvm )
652 - system-ipxe? ( rombios )
653 - ?? ( ipxe system-ipxe )
654 - ?? ( qemu system-qemu )"
655 -
656 -COMMON_DEPEND="
657 - sys-apps/pciutils
658 - dev-libs/lzo:2
659 - dev-libs/glib:2
660 - dev-libs/yajl
661 - dev-libs/libaio
662 - dev-libs/libgcrypt:0
663 - sys-libs/zlib
664 - ${PYTHON_DEPS}
665 -"
666 -
667 -DEPEND="${COMMON_DEPEND}
668 - app-misc/pax-utils
669 - dev-lang/perl
670 - >=sys-kernel/linux-headers-4.11
671 - x11-libs/pixman
672 - $(python_gen_cond_dep '
673 - dev-python/lxml[${PYTHON_USEDEP}]
674 - pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
675 - ')
676 - x86? ( sys-devel/dev86
677 - system-ipxe? ( sys-firmware/ipxe[qemu] )
678 - sys-power/iasl )
679 - api? ( dev-libs/libxml2
680 - net-misc/curl )
681 -
682 - ovmf? (
683 - !arm? ( !arm64? ( dev-lang/nasm ) )
684 - $(python_gen_impl_dep sqlite)
685 - )
686 - !amd64? ( >=sys-apps/dtc-1.4.0 )
687 - amd64? ( sys-power/iasl
688 - system-seabios? ( sys-firmware/seabios )
689 - system-ipxe? ( sys-firmware/ipxe[qemu] )
690 - rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
691 - doc? (
692 - app-text/ghostscript-gpl
693 - app-text/pandoc
694 - $(python_gen_cond_dep '
695 - dev-python/markdown[${PYTHON_USEDEP}]
696 - ')
697 - dev-texlive/texlive-latexextra
698 - media-gfx/transfig
699 - )
700 - hvm? ( x11-base/xorg-proto )
701 - qemu? (
702 - app-arch/snappy:=
703 - sdl? (
704 - media-libs/libsdl[X]
705 - media-libs/libsdl2[X]
706 - )
707 - )
708 - system-qemu? ( app-emulation/qemu[xen] )
709 - ocaml? ( dev-ml/findlib
710 - >=dev-lang/ocaml-4 )
711 - python? ( >=dev-lang/swig-4.0.0 )"
712 -
713 -RDEPEND="${COMMON_DEPEND}
714 - sys-apps/iproute2[-minimal]
715 - net-misc/bridge-utils
716 - screen? (
717 - app-misc/screen
718 - app-admin/logrotate
719 - )"
720 -
721 -# hvmloader is used to bootstrap a fully virtualized kernel
722 -# Approved by QA team in bug #144032
723 -QA_WX_LOAD="
724 - usr/libexec/xen/boot/hvmloader
725 - usr/libexec/xen/boot/xen-shim
726 - usr/share/qemu-xen/qemu/hppa-firmware.img
727 - usr/share/qemu-xen/qemu/s390-ccw.img
728 - usr/share/qemu-xen/qemu/u-boot.e500
729 -"
730 -
731 -QA_PREBUILT="
732 - usr/libexec/xen/bin/elf2dmp
733 - usr/libexec/xen/bin/ivshmem-client
734 - usr/libexec/xen/bin/ivshmem-server
735 - usr/libexec/xen/bin/qemu-edid
736 - usr/libexec/xen/bin/qemu-img
737 - usr/libexec/xen/bin/qemu-io
738 - usr/libexec/xen/bin/qemu-keymap
739 - usr/libexec/xen/bin/qemu-nbd
740 - usr/libexec/xen/bin/qemu-pr-helper
741 - usr/libexec/xen/bin/qemu-storage-daemon
742 - usr/libexec/xen/bin/qemu-system-i386
743 - usr/libexec/xen/bin/virtfs-proxy-helper
744 - usr/libexec/xen/boot/xen-shim
745 - usr/libexec/xen/libexec/qemu-pr-helper
746 - usr/libexec/xen/libexec/virtfs-proxy-helper
747 - usr/libexec/xen/libexec/virtiofsd
748 - usr/libexec/xen/libexec/xen-bridge-helper
749 - usr/share/qemu-xen/qemu/s390-ccw.img
750 - usr/share/qemu-xen/qemu/s390-netboot.img
751 - usr/share/qemu-xen/qemu/u-boot.e500
752 -"
753 -
754 -RESTRICT="test"
755 -
756 -PATCHES=( "${FILESDIR}/${P}-fix-xenstat-python-bindings.patch" )
757 -
758 -pkg_setup() {
759 - python_setup
760 - export "CONFIG_LOMOUNT=y"
761 -
762 - #bug 522642, disable compile tools/tests
763 - export "CONFIG_TESTS=n"
764 -
765 - if [[ -z ${XEN_TARGET_ARCH} ]] ; then
766 - if use x86 && use amd64; then
767 - die "Confusion! Both x86 and amd64 are set in your use flags!"
768 - elif use x86; then
769 - export XEN_TARGET_ARCH="x86_32"
770 - elif use amd64 ; then
771 - export XEN_TARGET_ARCH="x86_64"
772 - elif use arm; then
773 - export XEN_TARGET_ARCH="arm32"
774 - elif use arm64; then
775 - export XEN_TARGET_ARCH="arm64"
776 - else
777 - die "Unsupported architecture!"
778 - fi
779 - fi
780 -}
781 -
782 -src_prepare() {
783 - local i
784 -
785 - # Upstream's patchset
786 - if [[ -n ${UPSTREAM_VER} ]]; then
787 - einfo "Try to apply Xen Upstream patch set"
788 - eapply "${WORKDIR}"/patches-upstream
789 - fi
790 -
791 - # Security patchset
792 - if [[ -n ${SECURITY_VER} ]]; then
793 - einfo "Try to apply Xen Security patch set"
794 - # apply main xen patches
795 - # Two parallel systems, both work side by side
796 - # Over time they may concdense into one. This will suffice for now
797 - EPATCH_SUFFIX="patch"
798 - EPATCH_FORCE="yes"
799 -
800 - source "${WORKDIR}"/patches-security/${PV}.conf || die
801 -
802 - for i in ${XEN_SECURITY_MAIN}; do
803 - eapply "${WORKDIR}"/patches-security/xen/$i
804 - done
805 -
806 - # apply qemu-xen/upstream patches
807 - pushd "${S}"/tools/qemu-xen/ > /dev/null
808 - for i in ${XEN_SECURITY_QEMUU}; do
809 - eapply "${WORKDIR}"/patches-security/qemuu/$i
810 - done
811 - popd > /dev/null
812 -
813 - # apply qemu-traditional patches
814 - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
815 - for i in ${XEN_SECURITY_QEMUT}; do
816 - eapply "${WORKDIR}"/patches-security/qemut/$i
817 - done
818 - popd > /dev/null
819 - fi
820 -
821 - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
822 - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
823 - pushd tools/firmware/ > /dev/null
824 - ln -s seabios-dir-remote seabios-dir || die
825 - popd > /dev/null
826 -
827 - # Gentoo's patchset
828 - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
829 - einfo "Try to apply Gentoo specific patch set"
830 - source "${FILESDIR}"/gentoo-patches.conf || die
831 - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
832 - for i in ${!_gpv}; do
833 - eapply "${WORKDIR}"/patches-gentoo/$i
834 - done
835 - fi
836 -
837 - # Ovmf's patchset
838 - if use ovmf; then
839 - if [[ -n ${OVMF_VER} ]];then
840 - einfo "Try to apply Ovmf patch set"
841 - pushd "${WORKDIR}"/edk2-*/ > /dev/null
842 - eapply "${WORKDIR}"/patches-ovmf
843 - popd > /dev/null
844 - fi
845 - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
846 - rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
847 - rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
848 - rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
849 - rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
850 - mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
851 - mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
852 - cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
853 - cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
854 - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
855 - fi
856 -
857 - # ipxe
858 - if use ipxe; then
859 - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
860 -
861 - # gcc 11
862 - cp "${WORKDIR}/patches-gentoo/${P}-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
863 - echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
864 - fi
865 -
866 - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
867 -
868 - # Fix texi2html build error with new texi2html, qemu.doc.html
869 - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
870 -
871 - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
872 - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
873 - -i tools/firmware/Makefile || die
874 -
875 - # Drop .config, fixes to gcc-4.6
876 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
877 -
878 - # drop flags
879 - unset CFLAGS
880 - unset LDFLAGS
881 - unset ASFLAGS
882 - unset CPPFLAGS
883 -
884 - if ! use pygrub; then
885 - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
886 - fi
887 -
888 - if ! use python; then
889 - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
890 - fi
891 -
892 - if ! use hvm; then
893 - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
894 - # Bug 351648
895 - elif ! use x86 && ! has x86 $(get_all_abis); then
896 - mkdir -p "${WORKDIR}"/extra-headers/gnu || die
897 - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
898 - export CPATH="${WORKDIR}"/extra-headers
899 - fi
900 -
901 - if use qemu; then
902 - if use sdl; then
903 - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
904 - tools/Makefile || die
905 - else
906 - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
907 - tools/qemu-xen-traditional/xen-setup || die
908 - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
909 - tools/Makefile || die
910 - fi
911 - else
912 - # Don't bother with qemu, only needed for fully virtualised guests
913 - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
914 - fi
915 -
916 - # Reset bash completion dir; Bug 472438
917 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
918 - -i Config.mk || die
919 -
920 - # xencommons, Bug #492332, sed lighter weight than patching
921 - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
922 - -i tools/hotplug/Linux/init.d/xencommons.in || die
923 -
924 - # fix bashishm
925 - sed -e '/Usage/s/\$//g' \
926 - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die
927 -
928 - # respect multilib, usr/lib/libcacard.so.0.0.0
929 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
930 - -i tools/qemu-xen/configure || die
931 -
932 - #bug 518136, don't build 32bit exactuable for nomultilib profile
933 - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
934 - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
935 - fi
936 -
937 - # uncomment lines in xl.conf
938 - sed -e 's:^#autoballoon=:autoballoon=:' \
939 - -e 's:^#lockfile=:lockfile=:' \
940 - -e 's:^#vif.default.script=:vif.default.script=:' \
941 - -i tools/examples/xl.conf || die
942 -
943 - # disable capstone (Bug #673474)
944 - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
945 - -i tools/Makefile || die
946 -
947 - # disable glusterfs
948 - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
949 - -i tools/Makefile || die
950 -
951 - # disable jpeg automagic
952 - sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
953 - -i tools/Makefile || die
954 -
955 - # disable png automagic
956 - sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
957 - -i tools/Makefile || die
958 -
959 - # disable docker (Bug #732970)
960 - sed -e "s:\$\$source/configure:\0 --disable-containers:" \
961 - -i tools/Makefile || die
962 -
963 - default
964 -}
965 -
966 -src_configure() {
967 - local myconf="--prefix=${PREFIX}/usr \
968 - --libdir=${PREFIX}/usr/$(get_libdir) \
969 - --libexecdir=${PREFIX}/usr/libexec \
970 - --localstatedir=${EPREFIX}/var \
971 - --disable-golang \
972 - --disable-werror \
973 - --disable-xen \
974 - --enable-tools \
975 - --enable-docs \
976 - $(use_enable api xenapi) \
977 - $(use_enable ipxe) \
978 - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
979 - $(use_enable ocaml ocamltools) \
980 - $(use_enable ovmf) \
981 - $(use_enable pam) \
982 - $(use_enable rombios) \
983 - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
984 - "
985 -
986 - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
987 - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
988 - use amd64 && myconf+=" $(use_enable qemu-traditional)"
989 - tc-ld-disable-gold # Bug 669570
990 - econf ${myconf}
991 -}
992 -
993 -src_compile() {
994 - local myopt
995 - use debug && myopt="${myopt} debug=y"
996 - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
997 -
998 - if test-flag-CC -fno-strict-overflow; then
999 - append-flags -fno-strict-overflow
1000 - fi
1001 -
1002 - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
1003 -
1004 - if use doc; then
1005 - emake -C docs build
1006 - else
1007 - emake -C docs man-pages
1008 - fi
1009 -}
1010 -
1011 -src_install() {
1012 - # Override auto-detection in the build system, bug #382573
1013 - export INITD_DIR=/tmp/init.d
1014 - export CONFIG_LEAF_DIR=../tmp/default
1015 -
1016 - # Let the build system compile installed Python modules.
1017 - local PYTHONDONTWRITEBYTECODE
1018 - export PYTHONDONTWRITEBYTECODE
1019 -
1020 - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
1021 - XEN_PYTHON_NATIVE_INSTALL=y install-tools
1022 -
1023 - # Created at runtime
1024 - rm -rv "${ED}/var/run" || die
1025 -
1026 - # Fix the remaining Python shebangs.
1027 - python_fix_shebang "${D}"
1028 -
1029 - # Remove RedHat-specific stuff
1030 - rm -rf "${D}"/tmp || die
1031 -
1032 - if use doc; then
1033 - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
1034 - dodoc -r docs/{pdf,txt}
1035 - else
1036 - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
1037 - fi
1038 - dodoc ${DOCS[@]}
1039 -
1040 - newconfd "${FILESDIR}"/xendomains.confd xendomains
1041 - newconfd "${FILESDIR}"/xenstored.confd xenstored
1042 - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
1043 - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
1044 - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
1045 - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
1046 - newinitd "${FILESDIR}"/xencommons.initd xencommons
1047 - newconfd "${FILESDIR}"/xencommons.confd xencommons
1048 - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
1049 - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
1050 - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
1051 -
1052 - if use screen; then
1053 - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
1054 - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
1055 - keepdir /var/log/xen-consoles
1056 - fi
1057 -
1058 - # For -static-libs wrt Bug 384355
1059 - if ! use static-libs; then
1060 - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
1061 - fi
1062 -
1063 - # for xendomains
1064 - keepdir /etc/xen/auto
1065 -
1066 - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files
1067 - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
1068 - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die
1069 -
1070 - keepdir /var/lib/xen/dump
1071 - keepdir /var/lib/xen/xenpaging
1072 - keepdir /var/lib/xenstored
1073 - keepdir /var/log/xen
1074 -
1075 - if use python; then
1076 - python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
1077 - python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
1078 - fi
1079 -
1080 - python_optimize
1081 -}
1082 -
1083 -pkg_postinst() {
1084 - elog "Official Xen Guide and the offical wiki page:"
1085 - elog "https://wiki.gentoo.org/wiki/Xen"
1086 - elog "https://wiki.xen.org/wiki/Main_Page"
1087 - elog ""
1088 - elog "Recommended to utilise the xencommons script to config system at boot"
1089 - elog "Add by use of rc-update on completion of the install"
1090 -
1091 - if ! use hvm; then
1092 - echo
1093 - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
1094 - elog "support enable the hvm use flag."
1095 - elog "An x86 or amd64 system is required to build HVM support."
1096 - fi
1097 -
1098 - if use qemu; then
1099 - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
1100 - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
1101 - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
1102 - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
1103 - fi
1104 -}
1105
1106 diff --git a/app-emulation/xen-tools/xen-tools-4.15.1.ebuild b/app-emulation/xen-tools/xen-tools-4.15.1.ebuild
1107 deleted file mode 100644
1108 index 45c217b88f1..00000000000
1109 --- a/app-emulation/xen-tools/xen-tools-4.15.1.ebuild
1110 +++ /dev/null
1111 @@ -1,540 +0,0 @@
1112 -# Copyright 1999-2021 Gentoo Authors
1113 -# Distributed under the terms of the GNU General Public License v2
1114 -
1115 -EAPI=7
1116 -
1117 -PYTHON_COMPAT=( python3_{8..9} )
1118 -PYTHON_REQ_USE='ncurses,xml,threads(+)'
1119 -
1120 -inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
1121 -
1122 -MY_PV=${PV/_/-}
1123 -
1124 -if [[ ${PV} == *9999 ]]; then
1125 - inherit git-r3
1126 - REPO="xen.git"
1127 - EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
1128 - S="${WORKDIR}/${REPO}"
1129 -else
1130 - KEYWORDS="~amd64 ~arm ~arm64 ~x86"
1131 - UPSTREAM_VER=
1132 - SECURITY_VER=
1133 - # xen-tools's gentoo patches tarball
1134 - GENTOO_VER=23
1135 - # xen-tools's gentoo patches version which apply to this specific ebuild
1136 - GENTOO_GPV=0
1137 - # xen-tools ovmf's patches
1138 - OVMF_VER=
1139 -
1140 - SEABIOS_VER="1.14.0"
1141 - EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
1142 - EDK2_OPENSSL_VERSION="1_1_1g"
1143 - EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
1144 - EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
1145 - IPXE_COMMIT="988d2c13cdf0f0b4140685af35ced70ac5b3283c"
1146 -
1147 - [[ -n ${UPSTREAM_VER} ]] && \
1148 - UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
1149 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
1150 - [[ -n ${SECURITY_VER} ]] && \
1151 - SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
1152 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
1153 - [[ -n ${GENTOO_VER} ]] && \
1154 - GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
1155 - https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
1156 - [[ -n ${OVMF_VER} ]] && \
1157 - OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
1158 -
1159 - SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
1160 - https://www.seabios.org/downloads/seabios-${SEABIOS_VER}.tar.gz
1161 - ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
1162 - ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
1163 - https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
1164 - https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
1165 - https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
1166 - ${OVMF_PATCHSET_URI} )
1167 - ${UPSTREAM_PATCHSET_URI}
1168 - ${SECURITY_PATCHSET_URI}
1169 - ${GENTOO_PATCHSET_URI}"
1170 -
1171 - S="${WORKDIR}/xen-${MY_PV}"
1172 -fi
1173 -
1174 -DESCRIPTION="Xen tools including QEMU and xl"
1175 -HOMEPAGE="https://www.xenproject.org"
1176 -DOCS=( README )
1177 -
1178 -LICENSE="GPL-2"
1179 -SLOT="0/$(ver_cut 1-2)"
1180 -# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
1181 -# >=dev-lang/ocaml-4 stable
1182 -# Masked in profiles/eapi-5-files instead
1183 -IUSE="api debug doc +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen selinux sdl static-libs system-ipxe system-qemu system-seabios"
1184 -
1185 -REQUIRED_USE="
1186 - ${PYTHON_REQUIRED_USE}
1187 - ipxe? ( rombios )
1188 - ovmf? ( hvm )
1189 - pygrub? ( python )
1190 - rombios? ( hvm )
1191 - system-ipxe? ( rombios )
1192 - ?? ( ipxe system-ipxe )
1193 - ?? ( qemu system-qemu )"
1194 -
1195 -COMMON_DEPEND="
1196 - sys-apps/pciutils
1197 - dev-libs/lzo:2
1198 - dev-libs/glib:2
1199 - dev-libs/yajl
1200 - dev-libs/libaio
1201 - dev-libs/libgcrypt:0
1202 - sys-libs/zlib
1203 - ${PYTHON_DEPS}
1204 -"
1205 -
1206 -RDEPEND="${COMMON_DEPEND}
1207 - sys-apps/iproute2[-minimal]
1208 - net-misc/bridge-utils
1209 - screen? (
1210 - app-misc/screen
1211 - app-admin/logrotate
1212 - )
1213 - selinux? ( sec-policy/selinux-xen )"
1214 -
1215 -DEPEND="${COMMON_DEPEND}
1216 - app-misc/pax-utils
1217 - >=sys-kernel/linux-headers-4.11
1218 - x11-libs/pixman
1219 - $(python_gen_cond_dep '
1220 - dev-python/lxml[${PYTHON_USEDEP}]
1221 - pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
1222 - ')
1223 - x86? ( sys-devel/dev86
1224 - system-ipxe? ( sys-firmware/ipxe[qemu] )
1225 - sys-power/iasl )
1226 - api? ( dev-libs/libxml2
1227 - net-misc/curl )
1228 -
1229 - ovmf? (
1230 - !arm? ( !arm64? ( dev-lang/nasm ) )
1231 - $(python_gen_impl_dep sqlite)
1232 - )
1233 - !amd64? ( >=sys-apps/dtc-1.4.0 )
1234 - amd64? ( sys-power/iasl
1235 - system-seabios? ( sys-firmware/seabios )
1236 - system-ipxe? ( sys-firmware/ipxe[qemu] )
1237 - rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
1238 - doc? (
1239 - app-text/ghostscript-gpl
1240 - app-text/pandoc
1241 - $(python_gen_cond_dep '
1242 - dev-python/markdown[${PYTHON_USEDEP}]
1243 - ')
1244 - dev-texlive/texlive-latexextra
1245 - media-gfx/transfig
1246 - )
1247 - hvm? ( x11-base/xorg-proto )
1248 - qemu? (
1249 - app-arch/snappy:=
1250 - sdl? (
1251 - media-libs/libsdl[X]
1252 - media-libs/libsdl2[X]
1253 - )
1254 - )
1255 - system-qemu? ( app-emulation/qemu[xen] )
1256 - ocaml? ( dev-ml/findlib
1257 - dev-lang/ocaml[ocamlopt] )
1258 - python? ( >=dev-lang/swig-4.0.0 )"
1259 -
1260 -BDEPEND="dev-lang/perl
1261 - sys-devel/bison
1262 - sys-devel/gettext"
1263 -
1264 -# hvmloader is used to bootstrap a fully virtualized kernel
1265 -# Approved by QA team in bug #144032
1266 -QA_WX_LOAD="
1267 - usr/libexec/xen/boot/hvmloader
1268 - usr/libexec/xen/boot/xen-shim
1269 - usr/share/qemu-xen/qemu/hppa-firmware.img
1270 - usr/share/qemu-xen/qemu/s390-ccw.img
1271 - usr/share/qemu-xen/qemu/u-boot.e500
1272 -"
1273 -
1274 -QA_PREBUILT="
1275 - usr/libexec/xen/bin/elf2dmp
1276 - usr/libexec/xen/bin/ivshmem-client
1277 - usr/libexec/xen/bin/ivshmem-server
1278 - usr/libexec/xen/bin/qemu-edid
1279 - usr/libexec/xen/bin/qemu-img
1280 - usr/libexec/xen/bin/qemu-io
1281 - usr/libexec/xen/bin/qemu-keymap
1282 - usr/libexec/xen/bin/qemu-nbd
1283 - usr/libexec/xen/bin/qemu-pr-helper
1284 - usr/libexec/xen/bin/qemu-storage-daemon
1285 - usr/libexec/xen/bin/qemu-system-i386
1286 - usr/libexec/xen/bin/virtfs-proxy-helper
1287 - usr/libexec/xen/boot/xen-shim
1288 - usr/libexec/xen/libexec/qemu-pr-helper
1289 - usr/libexec/xen/libexec/virtfs-proxy-helper
1290 - usr/libexec/xen/libexec/virtiofsd
1291 - usr/libexec/xen/libexec/xen-bridge-helper
1292 - usr/share/qemu-xen/qemu/s390-ccw.img
1293 - usr/share/qemu-xen/qemu/s390-netboot.img
1294 - usr/share/qemu-xen/qemu/u-boot.e500
1295 -"
1296 -
1297 -RESTRICT="test"
1298 -
1299 -PATCHES=( "${FILESDIR}/${PN}-4.15.0-fix-xenstat-python-bindings.patch" )
1300 -
1301 -pkg_setup() {
1302 - python_setup
1303 - export "CONFIG_LOMOUNT=y"
1304 -
1305 - #bug 522642, disable compile tools/tests
1306 - export "CONFIG_TESTS=n"
1307 -
1308 - if [[ -z ${XEN_TARGET_ARCH} ]] ; then
1309 - if use x86 && use amd64; then
1310 - die "Confusion! Both x86 and amd64 are set in your use flags!"
1311 - elif use x86; then
1312 - export XEN_TARGET_ARCH="x86_32"
1313 - elif use amd64 ; then
1314 - export XEN_TARGET_ARCH="x86_64"
1315 - elif use arm; then
1316 - export XEN_TARGET_ARCH="arm32"
1317 - elif use arm64; then
1318 - export XEN_TARGET_ARCH="arm64"
1319 - else
1320 - die "Unsupported architecture!"
1321 - fi
1322 - fi
1323 -}
1324 -
1325 -src_prepare() {
1326 - local i
1327 -
1328 - # Upstream's patchset
1329 - if [[ -n ${UPSTREAM_VER} ]]; then
1330 - einfo "Try to apply Xen Upstream patch set"
1331 - eapply "${WORKDIR}"/patches-upstream
1332 - fi
1333 -
1334 - # Security patchset
1335 - if [[ -n ${SECURITY_VER} ]]; then
1336 - einfo "Try to apply Xen Security patch set"
1337 - # apply main xen patches
1338 - # Two parallel systems, both work side by side
1339 - # Over time they may concdense into one. This will suffice for now
1340 - EPATCH_SUFFIX="patch"
1341 - EPATCH_FORCE="yes"
1342 -
1343 - source "${WORKDIR}"/patches-security/${PV}.conf || die
1344 -
1345 - for i in ${XEN_SECURITY_MAIN}; do
1346 - eapply "${WORKDIR}"/patches-security/xen/$i
1347 - done
1348 -
1349 - # apply qemu-xen/upstream patches
1350 - pushd "${S}"/tools/qemu-xen/ > /dev/null
1351 - for i in ${XEN_SECURITY_QEMUU}; do
1352 - eapply "${WORKDIR}"/patches-security/qemuu/$i
1353 - done
1354 - popd > /dev/null
1355 -
1356 - # apply qemu-traditional patches
1357 - pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
1358 - for i in ${XEN_SECURITY_QEMUT}; do
1359 - eapply "${WORKDIR}"/patches-security/qemut/$i
1360 - done
1361 - popd > /dev/null
1362 - fi
1363 -
1364 - # move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
1365 - mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
1366 - pushd tools/firmware/ > /dev/null
1367 - ln -s seabios-dir-remote seabios-dir || die
1368 - popd > /dev/null
1369 -
1370 - # Gentoo's patchset
1371 - if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
1372 - einfo "Try to apply Gentoo specific patch set"
1373 - source "${FILESDIR}"/gentoo-patches.conf || die
1374 - _gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
1375 - for i in ${!_gpv}; do
1376 - eapply "${WORKDIR}"/patches-gentoo/$i
1377 - done
1378 - fi
1379 -
1380 - # Ovmf's patchset
1381 - if use ovmf; then
1382 - if [[ -n ${OVMF_VER} ]];then
1383 - einfo "Try to apply Ovmf patch set"
1384 - pushd "${WORKDIR}"/edk2-*/ > /dev/null
1385 - eapply "${WORKDIR}"/patches-ovmf
1386 - popd > /dev/null
1387 - fi
1388 - mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
1389 - rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
1390 - rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
1391 - rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
1392 - rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
1393 - mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
1394 - mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
1395 - cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
1396 - cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
1397 - cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
1398 - fi
1399 -
1400 - # ipxe
1401 - if use ipxe; then
1402 - cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
1403 -
1404 - # gcc 11
1405 - cp "${WORKDIR}/patches-gentoo/${PN}-4.15.0-ipxe-gcc11.patch" tools/firmware/etherboot/patches/ipxe-gcc11.patch || die
1406 - echo ipxe-gcc11.patch >> tools/firmware/etherboot/patches/series || die
1407 - fi
1408 -
1409 - mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
1410 -
1411 - # Fix texi2html build error with new texi2html, qemu.doc.html
1412 - sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
1413 -
1414 - use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
1415 - sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
1416 - -i tools/firmware/Makefile || die
1417 -
1418 - # Drop .config, fixes to gcc-4.6
1419 - sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
1420 -
1421 - # drop flags
1422 - unset CFLAGS
1423 - unset LDFLAGS
1424 - unset ASFLAGS
1425 - unset CPPFLAGS
1426 -
1427 - if ! use pygrub; then
1428 - sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
1429 - fi
1430 -
1431 - if ! use python; then
1432 - sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
1433 - fi
1434 -
1435 - if ! use hvm; then
1436 - sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
1437 - # Bug 351648
1438 - elif ! use x86 && ! has x86 $(get_all_abis); then
1439 - mkdir -p "${WORKDIR}"/extra-headers/gnu || die
1440 - touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
1441 - export CPATH="${WORKDIR}"/extra-headers
1442 - fi
1443 -
1444 - if use qemu; then
1445 - if use sdl; then
1446 - sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
1447 - tools/Makefile || die
1448 - else
1449 - sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
1450 - tools/qemu-xen-traditional/xen-setup || die
1451 - sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
1452 - tools/Makefile || die
1453 - fi
1454 - else
1455 - # Don't bother with qemu, only needed for fully virtualised guests
1456 - sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
1457 - fi
1458 -
1459 - # Reset bash completion dir; Bug 472438
1460 - sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
1461 - -i Config.mk || die
1462 -
1463 - # xencommons, Bug #492332, sed lighter weight than patching
1464 - sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
1465 - -i tools/hotplug/Linux/init.d/xencommons.in || die
1466 -
1467 - # fix bashishm
1468 - sed -e '/Usage/s/\$//g' \
1469 - -i tools/hotplug/Linux/init.d/xendriverdomain.in || die
1470 -
1471 - # respect multilib, usr/lib/libcacard.so.0.0.0
1472 - sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
1473 - -i tools/qemu-xen/configure || die
1474 -
1475 - #bug 518136, don't build 32bit exactuable for nomultilib profile
1476 - if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
1477 - sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
1478 - fi
1479 -
1480 - # uncomment lines in xl.conf
1481 - sed -e 's:^#autoballoon=:autoballoon=:' \
1482 - -e 's:^#lockfile=:lockfile=:' \
1483 - -e 's:^#vif.default.script=:vif.default.script=:' \
1484 - -i tools/examples/xl.conf || die
1485 -
1486 - # disable capstone (Bug #673474)
1487 - sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
1488 - -i tools/Makefile || die
1489 -
1490 - # disable glusterfs
1491 - sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
1492 - -i tools/Makefile || die
1493 -
1494 - # disable jpeg automagic
1495 - sed -e "s:\$\$source/configure:\0 --disable-vnc-jpeg:" \
1496 - -i tools/Makefile || die
1497 -
1498 - # disable png automagic
1499 - sed -e "s:\$\$source/configure:\0 --disable-vnc-png:" \
1500 - -i tools/Makefile || die
1501 -
1502 - # disable docker (Bug #732970)
1503 - sed -e "s:\$\$source/configure:\0 --disable-containers:" \
1504 - -i tools/Makefile || die
1505 -
1506 - # disable abi-dumper (Bug #791172)
1507 - sed -e 's/$(ABI_DUMPER) /echo /g' \
1508 - -i tools/libs/libs.mk || die
1509 -
1510 - default
1511 -}
1512 -
1513 -src_configure() {
1514 - local myconf="--prefix=${PREFIX}/usr \
1515 - --libdir=${PREFIX}/usr/$(get_libdir) \
1516 - --libexecdir=${PREFIX}/usr/libexec \
1517 - --localstatedir=${EPREFIX}/var \
1518 - --disable-golang \
1519 - --disable-werror \
1520 - --disable-xen \
1521 - --enable-tools \
1522 - --enable-docs \
1523 - $(use_enable api xenapi) \
1524 - $(use_enable ipxe) \
1525 - $(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
1526 - $(use_enable ocaml ocamltools) \
1527 - $(use_enable ovmf) \
1528 - $(use_enable pam) \
1529 - $(use_enable rombios) \
1530 - --with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
1531 - "
1532 -
1533 - use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
1534 - use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
1535 - use amd64 && myconf+=" $(use_enable qemu-traditional)"
1536 - tc-ld-disable-gold # Bug 669570
1537 - econf ${myconf}
1538 -}
1539 -
1540 -src_compile() {
1541 - local myopt
1542 - use debug && myopt="${myopt} debug=y"
1543 - use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
1544 -
1545 - if test-flag-CC -fno-strict-overflow; then
1546 - append-flags -fno-strict-overflow
1547 - fi
1548 -
1549 - emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
1550 -
1551 - if use doc; then
1552 - emake -C docs build
1553 - else
1554 - emake -C docs man-pages
1555 - fi
1556 -}
1557 -
1558 -src_install() {
1559 - # Override auto-detection in the build system, bug #382573
1560 - export INITD_DIR=/tmp/init.d
1561 - export CONFIG_LEAF_DIR=../tmp/default
1562 -
1563 - # Let the build system compile installed Python modules.
1564 - local PYTHONDONTWRITEBYTECODE
1565 - export PYTHONDONTWRITEBYTECODE
1566 -
1567 - emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
1568 - XEN_PYTHON_NATIVE_INSTALL=y install-tools
1569 -
1570 - # Created at runtime
1571 - rm -rv "${ED}/var/run" || die
1572 -
1573 - # Fix the remaining Python shebangs.
1574 - python_fix_shebang "${D}"
1575 -
1576 - # Remove RedHat-specific stuff
1577 - rm -rf "${D}"/tmp || die
1578 -
1579 - if use doc; then
1580 - emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
1581 - dodoc -r docs/{pdf,txt}
1582 - else
1583 - emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
1584 - fi
1585 - dodoc ${DOCS[@]}
1586 -
1587 - newconfd "${FILESDIR}"/xendomains.confd xendomains
1588 - newconfd "${FILESDIR}"/xenstored.confd xenstored
1589 - newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
1590 - newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
1591 - newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
1592 - newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
1593 - newinitd "${FILESDIR}"/xencommons.initd xencommons
1594 - newconfd "${FILESDIR}"/xencommons.confd xencommons
1595 - newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
1596 - newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
1597 - newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
1598 -
1599 - if use screen; then
1600 - cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
1601 - cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
1602 - keepdir /var/log/xen-consoles
1603 - fi
1604 -
1605 - # For -static-libs wrt Bug 384355
1606 - if ! use static-libs; then
1607 - rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
1608 - fi
1609 -
1610 - # for xendomains
1611 - keepdir /etc/xen/auto
1612 -
1613 - # Remove files failing QA AFTER emake installs them, avoiding seeking absent files
1614 - find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
1615 - -o -name openbios-ppc -o -name palcode-clipper \) -delete || die
1616 -
1617 - keepdir /var/lib/xen/dump
1618 - keepdir /var/lib/xen/xenpaging
1619 - keepdir /var/lib/xenstored
1620 - keepdir /var/log/xen
1621 -
1622 - if use python; then
1623 - python_domodule "${S}/tools/libs/stat/bindings/swig/python/xenstat.py"
1624 - python_domodule "${S}/tools/libs/stat/bindings/swig/python/_xenstat.so"
1625 - fi
1626 -
1627 - python_optimize
1628 -}
1629 -
1630 -pkg_postinst() {
1631 - elog "Official Xen Guide and the offical wiki page:"
1632 - elog "https://wiki.gentoo.org/wiki/Xen"
1633 - elog "https://wiki.xen.org/wiki/Main_Page"
1634 - elog ""
1635 - elog "Recommended to utilise the xencommons script to config system at boot"
1636 - elog "Add by use of rc-update on completion of the install"
1637 -
1638 - if ! use hvm; then
1639 - echo
1640 - elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
1641 - elog "support enable the hvm use flag."
1642 - elog "An x86 or amd64 system is required to build HVM support."
1643 - fi
1644 -
1645 - if use qemu; then
1646 - elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
1647 - elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
1648 - elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
1649 - elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
1650 - fi
1651 -}