Gentoo Archives: gentoo-commits

From: Yixun Lan <dlan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/xen/
Date: Wed, 13 Nov 2019 14:11:35
Message-Id: 1573654262.b2f5720e74d6162828f8b320512f30612229c8ac.dlan@gentoo
1 commit: b2f5720e74d6162828f8b320512f30612229c8ac
2 Author: Tomas Mozes <hydrapolic <AT> gmail <DOT> com>
3 AuthorDate: Wed Nov 13 10:24:12 2019 +0000
4 Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 13 14:11:02 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2f5720e
7
8 app-emulation/xen: bump to 4.11.2-r2
9
10 Bug: https://bugs.gentoo.org/699990
11 Closes: https://github.com/gentoo/gentoo/pull/13627
12 Package-Manager: Portage-2.3.79, Repoman-2.3.17
13 Signed-off-by: Tomáš Mózes <hydrapolic <AT> gmail.com>
14 Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
15
16 app-emulation/xen/Manifest | 1 +
17 app-emulation/xen/xen-4.11.2-r2.ebuild | 154 +++++++++++++++++++++++++++++++++
18 2 files changed, 155 insertions(+)
19
20 diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
21 index 364dcaa0492..0081207e087 100644
22 --- a/app-emulation/xen/Manifest
23 +++ b/app-emulation/xen/Manifest
24 @@ -1,4 +1,5 @@
25 DIST xen-4.11.2-upstream-patches-1.tar.xz 77556 BLAKE2B f95af370f8a99a27bfc762e661364da6f1ef1b08dd5a6b81a5421d32bcad820097a694c5656e174cec7ed53ff140f80d63f57ac31867edf12e68ef4d87ea8b44 SHA512 f41f2ff20648eed76918c865958d42b99d2743188514c63e27797c80e9169f7f5843ac48195e38d269d02edcb9889f042b992b85773ca61c267282e41ea8dae6
26 +DIST xen-4.11.2-upstream-patches-2.tar.xz 86812 BLAKE2B c2dcb7e031f9dd0a18fed5705f1c81901e94264d8bc0993a8e6c10108ac01efc6a52487076ece078a96395608c6233f26696c6b9d4f89d0f034f5e14dd546793 SHA512 c11b848396258a403c8148c054f9ac5650e149a50aba3ee1554bbacda6e2fcc4c84b8e02a1bb1bcfaf406c637165ac3fe6ea6826365875444098fce30112136e
27 DIST xen-4.11.2.tar.gz 25164925 BLAKE2B 11adea16d93235af5807e6e3784e0fc36ce34f274a85d1976a5c8ad36a323437216b0cf6bb6cb13b00e1e838e319a9f8f4b9c417870eef9ed660f22274d81310 SHA512 48d3d926d35eb56c79c06d0abc6e6be2564fadb43367cc7f46881c669a75016707672179c2cca1c4cfb14af2cefd46e2e7f99470cddf7df2886d8435a2de814e
28 DIST xen-4.12.1-upstream-patches-1.tar.xz 62920 BLAKE2B a7f070e4b48c04fa26b75ccbd46aa1172df306060ae180f29f5ea61a5f0b4c2e854a5d1127ed42c05b21977a0e43b36b7e137c1758496b242f48626c5a00e22b SHA512 d7094b86f297a4b1da7007d73752ca8478a26c675ec5d93ade4599935cd51ebd80220a4ea7223d878e0d2c2209336577d196017c463abe9e47ff20914ffa5021
29 DIST xen-4.12.1.tar.gz 26970584 BLAKE2B ceab2af3d36b72d838d7b4f58f6855c97cf05282a4ea3c82eda29b8945ee20563845b7be02884bf0a061a633fb2b3016a2f7396ce34d9b3d93f90d6ee6d449ed SHA512 be15d3af6b109771aaf59b3621e4e1560b7d9a963d9b7f6a1f6f4a1c907fd97434b060c15f75849b44fbda33f26eb51b030d14d068c6ad5103ad240fe7a98f40
30
31 diff --git a/app-emulation/xen/xen-4.11.2-r2.ebuild b/app-emulation/xen/xen-4.11.2-r2.ebuild
32 new file mode 100644
33 index 00000000000..ffe55e4ccfc
34 --- /dev/null
35 +++ b/app-emulation/xen/xen-4.11.2-r2.ebuild
36 @@ -0,0 +1,154 @@
37 +# Copyright 1999-2019 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=7
41 +
42 +PYTHON_COMPAT=( python2_7 )
43 +
44 +inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
45 +
46 +MY_PV=${PV/_/-}
47 +MY_P=${PN}-${MY_PV}
48 +
49 +if [[ $PV == *9999 ]]; then
50 + inherit git-r3
51 + EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
52 + SRC_URI=""
53 +else
54 + KEYWORDS="~amd64 ~arm -x86"
55 + UPSTREAM_VER=2
56 + SECURITY_VER=
57 + GENTOO_VER=
58 +
59 + [[ -n ${UPSTREAM_VER} ]] && \
60 + UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
61 + https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
62 + [[ -n ${SECURITY_VER} ]] && \
63 + SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
64 + [[ -n ${GENTOO_VER} ]] && \
65 + GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
66 + SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
67 + ${UPSTREAM_PATCHSET_URI}
68 + ${SECURITY_PATCHSET_URI}
69 + ${GENTOO_PATCHSET_URI}"
70 +fi
71 +
72 +DESCRIPTION="The Xen virtual machine monitor"
73 +HOMEPAGE="https://www.xenproject.org"
74 +LICENSE="GPL-2"
75 +SLOT="0"
76 +IUSE="debug efi flask"
77 +
78 +DEPEND="${PYTHON_DEPS}
79 + efi? ( >=sys-devel/binutils-2.22[multitarget] )
80 + !efi? ( >=sys-devel/binutils-2.22 )"
81 +RDEPEND=""
82 +PDEPEND="~app-emulation/xen-tools-${PV}"
83 +
84 +# no tests are available for the hypervisor
85 +# prevent the silliness of /usr/lib/debug/usr/lib/debug files
86 +# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
87 +RESTRICT="test splitdebug strip"
88 +
89 +# Approved by QA team in bug #144032
90 +QA_WX_LOAD="boot/xen-syms-${PV}"
91 +
92 +REQUIRED_USE="arm? ( debug )"
93 +
94 +S="${WORKDIR}/${MY_P}"
95 +
96 +pkg_setup() {
97 + python-any-r1_pkg_setup
98 + if [[ -z ${XEN_TARGET_ARCH} ]]; then
99 + if use amd64; then
100 + export XEN_TARGET_ARCH="x86_64"
101 + elif use arm; then
102 + export XEN_TARGET_ARCH="arm32"
103 + elif use arm64; then
104 + export XEN_TARGET_ARCH="arm64"
105 + else
106 + die "Unsupported architecture!"
107 + fi
108 + fi
109 +
110 + if use flask ; then
111 + export "XSM_ENABLE=y"
112 + export "FLASK_ENABLE=y"
113 + fi
114 +}
115 +
116 +src_prepare() {
117 + # Upstream's patchset
118 + [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
119 +
120 + # Security patchset
121 + if [[ -n ${SECURITY_VER} ]]; then
122 + einfo "Try to apply Xen Security patch set"
123 + # apply main xen patches
124 + # Two parallel systems, both work side by side
125 + # Over time they may concdense into one. This will suffice for now
126 + source "${WORKDIR}"/patches-security/${PV}.conf
127 +
128 + local i
129 + for i in ${XEN_SECURITY_MAIN}; do
130 + eapply "${WORKDIR}"/patches-security/xen/$i
131 + done
132 + fi
133 +
134 + # Gentoo's patchset
135 + [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
136 +
137 + eapply "${FILESDIR}"/${PN}-4.6-efi.patch
138 +
139 + # Drop .config
140 + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
141 +
142 + if use efi; then
143 + export EFI_VENDOR="gentoo"
144 + export EFI_MOUNTPOINT="boot"
145 + fi
146 +
147 + default
148 +}
149 +
150 +src_configure() {
151 + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
152 +
153 + use debug && myopt="${myopt} debug=y"
154 +
155 + # remove flags
156 + unset CFLAGS
157 + unset LDFLAGS
158 + unset ASFLAGS
159 +}
160 +
161 +src_compile() {
162 + # Send raw LDFLAGS so that --as-needed works
163 + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
164 +}
165 +
166 +src_install() {
167 + local myopt
168 + use debug && myopt="${myopt} debug=y"
169 +
170 + # The 'make install' doesn't 'mkdir -p' the subdirs
171 + if use efi; then
172 + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
173 + fi
174 +
175 + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
176 +
177 + # make install likes to throw in some extra EFI bits if it built
178 + use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
179 +}
180 +
181 +pkg_postinst() {
182 + elog "Official Xen Guide:"
183 + elog " https://wiki.gentoo.org/wiki/Xen"
184 +
185 + use efi && einfo "The efi executable is installed in boot/efi/gentoo"
186 +
187 + elog "You can optionally block the installation of /boot/xen-syms by an entry"
188 + elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
189 + elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
190 +}