summaryrefslogtreecommitdiff
path: root/app-emulation/xen
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
commit2719f73b6813d11d13a9650cdd2ab8ec6e69385d (patch)
tree8c816148bcbd22757d892089c989ae614eae4f5a /app-emulation/xen
parent0f558761aa2dee1017b4751e4017205e015a9560 (diff)
gentoo resync : 09.07.2022
Diffstat (limited to 'app-emulation/xen')
-rw-r--r--app-emulation/xen/Manifest11
-rw-r--r--app-emulation/xen/xen-4.15.3.ebuild183
-rw-r--r--app-emulation/xen/xen-4.16.1.ebuild185
-rw-r--r--app-emulation/xen/xen-4.16.2_pre1.ebuild (renamed from app-emulation/xen/xen-4.16.0-r7.ebuild)69
4 files changed, 408 insertions, 40 deletions
diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
index 208535f5abb1..303d453b62ed 100644
--- a/app-emulation/xen/Manifest
+++ b/app-emulation/xen/Manifest
@@ -4,8 +4,13 @@ AUX xen-4.16-efi.patch 696 BLAKE2B 2bc3db7286d7ea24c762e914012c71d3fe6dc4d8c4755
AUX xen-4.16-no-symlink.patch 1044 BLAKE2B 3f5cb93403e3cd606a5eabb8b0e7facb3c95ae7f805c4bfa0e5a357342b845f6f260915f9eac46573bd9813fa602702df6254ad4b946fccb32cfea7514cc86b3 SHA512 0d1a8c8dbfdd57dac6d9732afcf4d0da1746ecbfa06689eb343b3d54167a784c9b9b65555f4cabd8f30a97692c511ee16c7787cdc3d335f7e39c2e3f8fc86ccf
DIST xen-4.15.2-upstream-patches-2.tar.xz 93208 BLAKE2B 5b01953ba93551830e533cf7e9e8675a44ed6c2ad3da152e0b5feeb3782b9bc3a1a0a7c0a84ac1de8ed7146fcf364db7604ea269ee243438df34c91b4b6acc5b SHA512 c2f585223d3d9e08d08b295c0f35e4856e4801d214cf0a1f925585c28a7a25cb3b82a5f5e7d41d35b2c746d5a307cd5b5a369d5342f35681e227d8ce91e741c2
DIST xen-4.15.2.tar.gz 40773378 BLAKE2B 7c3e3bb066505f9838cd7c56d85debc64e5ed32cf4d4edf699ff843db49bee916e6eb46d07e5cd9021c2644bba0628a2aa567f60ace26c6d7ee5922643e04104 SHA512 1cbf988fa8ed38b7ad724978958092ca0e5506e38c709c7d1af196fb8cb8ec0197a79867782761ef230b268624b3d7a0d5d0cd186f37d25f495085c71bf70d54
-DIST xen-4.16.0-upstream-patches-2.tar.xz 111668 BLAKE2B e8bbedb7cc50f7a6cb1a3869f0165cce3d02c33f04b935384e770aa5206e6aa6cb51329c5d69375391a8781ba23f20c35e06406d5164720d253b405a77f5aee9 SHA512 6b6770117e81ae407e3ded0e366b14f3fa2411cc93a95187db27548c3dd17a1f85e60fc3971b008693297ad97aa0c5fa7b4d88e01d67a972f39e51bf0a2cf39d
-DIST xen-4.16.0.tar.gz 44982322 BLAKE2B 7e16a93b3f1131e2b10307fabc10641a9c5983173155b9a35eaf6ff317b6a747bccf6b8c87c06686830acc2c4bd3e19e5867eb443eabac9a1e4ee59124dfa87f SHA512 2869ed90d1779c9754d7f2397f5fc67a655304d9c32953ac20655ef96cb154521d8fce9f23915ac0c91f984dc54f72c67e5e619e2da318b5997748f44cf21b87
+DIST xen-4.15.3.tar.gz 40793144 BLAKE2B 33932d855a0502cfe2768a7c8ae19d7da285d70b4970d96fd703daf0ee24a77ad47a3d1b4bcf5f465aa81aa7eb7f9295bce96302b2149ca208fa662cd966d6af SHA512 c25903cc263891885ec76500488405226c8e025bb461d2bf0d590b9bd2d7ca5c2693de7ecc38b3655bfd6793cc96314826559f14a09cc139de8cfdbeb914cbd3
+DIST xen-4.16.1.tar.gz 44964667 BLAKE2B 190d9c330b5dcdd47bae26b6ef42111c9c63b71b8b92e20eae268054c6b40aaabadef78c0c9634cb3c3b1bde32a746cbb1404b5eed2a82ab829ba10632103856 SHA512 eeabba9c263cd2425bca083e32b5ebfc6c716c00553759c144fd4b6f64a89836b260787fa25ba22c1f5c4ea65aaad7c95b8c2c1070d3377b1c43c9517aa7032a
+DIST xen-gentoo-patches-4.16.1-gentoo-patchset-0.tar.gz 5289 BLAKE2B 4946056ee631ec0fa4d29f1cd643f66b491ef3ea049755d10d7b8e189f02816b990e53bffbeeeae0a61fb4e20aa877f5903a8aadfb26d0c78566a0e9fde540c7 SHA512 59d4101879bd18e828349db3814a9082b85c5ba8203ce98e5082491a9ede9c832a02ac7e4d7a0a51a52e38b72e5cce1eea6a09d6c5202e96bfe2aa4d47e12e65
+DIST xen-gentoo-patches-4.16.1-gentoo-patchset-1.tar.bz2 4351 BLAKE2B 1ba306fbc4a55aa1fea71139f7a900c8c363cf948f34a2aabd1ff6f8a68f2e632154ea0e0289580c84328b372c4f8cfdb2879bc63ae3ec163bfb29487783a758 SHA512 8d8198fbf8d9d4b46a83cf46c965448cb47b30438518a70c9b552c7cd1b23616e50f615206ddb18603e8482d19b25ccb611904c404d445898928ecf88051b70d
+DIST xen-upstream-patches-4.16.2-pre-patchset-0.tar.bz2 40645 BLAKE2B 198beb134604b221bc81fb4d32daec074a7c088c7f9bf99c2a9e98bdab2d8bf7e10c0fea9106d039de255fb209a8ac2955d1e724325a5016e6ecbdd94fbb9584 SHA512 d849418fb215a5bb9ea31ea03de6fbb8b1834d9a8e9face0bd3f20ab7bbd3a17cb13e9b3b653a3a5f06fad609b01dbcaa16f7377ead015a9d97cb8f960d0de49
EBUILD xen-4.15.2-r2.ebuild 4405 BLAKE2B 0090bf96c539f0ec10bdded08f4a67d5413bfed25e9f85b68c65e7c49bd4c220d493b45800b3515c81c8bde3670a29cc34a6d079b9429ade6ed69e0ee47ad0c8 SHA512 355a160d6326367eb12ca7c0492b324e35d8b635e295e5a8b0c431ca44bdded9e7c2160592fdc4327ad1473a593d03f9e6d71e80ddc2734aa9ed87b6319da6d3
-EBUILD xen-4.16.0-r7.ebuild 4813 BLAKE2B dc3dc467d2a41c3fb5a353c4727a40e2213871aa93391453d3eeda82ed86ecfc15a10bcecdf9bd355494f1dbb1853643120c31ed0b9dc423efc1561b66ee5c6f SHA512 591cbf54d0261347f373c9c0b1de743cc17199ef2cdb236f62f1d7ef5653593e4a5f443144b0a3379e2dc2d6499fd90db990133e973d63d96c7aaf052fa64730
+EBUILD xen-4.15.3.ebuild 4725 BLAKE2B d0438340e0d61dcb8cafa07346e2fd361159e837e5fc1bd03b4f883c4078a26cdbc26c513e5e8300df0b836792572933e934ac0c6631861bc1985e44a794e43f SHA512 af40801d682f55e21d0a17b4c9fa5a2f947104a04d4ca9b393fe6244effecda2eb94112e3708fdc89ddd0f34e0d5bede582063e0593ee40b262f83af3da7a2e7
+EBUILD xen-4.16.1.ebuild 4832 BLAKE2B 2a9fc53ee631e5ccd502f419ea1437dc1988b801812a83a21f1ff04a2b71e85046c24030843c77d580e5cdf6dc4edf6961678ce33b77495ead4e3e51c4aa5c59 SHA512 fb7dec4bbc69f85e8824f984a6acb49b94be2192403ef8ea57dc3b13868e61044a274045ceeb2c0ded3e09d0776bc7c30cbb448359e9af35ad777079d93de533
+EBUILD xen-4.16.2_pre1.ebuild 4761 BLAKE2B fe2c436fca2d516c4ee588c265898b62278636609119768d7ec4319ad2a011cd91c8224d289384ea9fc2f38006437134a96b028d78846488badfea0a2313efe7 SHA512 600b693dd83b464fe57229b3ba3bd9acb42c88ea9b207f78694bf31d61e59ce407c675dd968e2222ffdfc7f8227f8a58a65be951dcb321481eb49eabd7818e75
MISC metadata.xml 773 BLAKE2B 3d0c64f8bfaf753ee92681f9da2dfabd6196952b5694244b806cb6cdac02fedd10d8c8defb4f4211664e135cce38c671f543faab58575ae2d603efcb9b2a48b8 SHA512 16993794d7f578562112533f97bb76d1a2fafd0dce038dbd879a4a65d5fc893251f1d188cdc1a2b9f955a27581f76a26409cc0c90706c86514c05e81501966b9
diff --git a/app-emulation/xen/xen-4.15.3.ebuild b/app-emulation/xen/xen-4.15.3.ebuild
new file mode 100644
index 000000000000..be0c811dcf7f
--- /dev/null
+++ b/app-emulation/xen/xen-4.15.3.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm -x86"
+
+ XEN_PRE_PATCHSET_NUM=
+ XEN_GENTOO_PATCHSET_NUM=
+ XEN_PRE_VERSION_BASE=
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
+
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://github.com/Flowdalic/xen-upstream-patches/archive/refs/tags/${XEN_UPSTREAM_PATCHES_TAG}.tar.gz -> ${XEN_UPSTREAM_PATCHES_NAME}.tar.gz"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="4.16.1-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://github.com/Flowdalic/xen-gentoo-patches/archive/refs/tags/${XEN_GENTOO_PATCHES_TAG}.tar.gz -> ${XEN_GENTOO_PATCHES_NAME}.tar.gz"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
+fi
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="https://xenproject.org"
+
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug efi flask"
+REQUIRED_USE="arm? ( debug )"
+
+DEPEND="${PYTHON_DEPS}
+ efi? ( >=sys-devel/binutils-2.22[multitarget] )
+ !efi? ( >=sys-devel/binutils-2.22 )
+ flask? ( sys-apps/checkpolicy )"
+RDEPEND=""
+PDEPEND="~app-emulation/xen-tools-${PV}"
+
+# no tests are available for the hypervisor
+# prevent the silliness of /usr/lib/debug/usr/lib/debug files
+# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
+RESTRICT="test splitdebug strip"
+
+# Approved by QA team in bug #144032
+QA_WX_LOAD="boot/xen-syms-${PV}"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ if [[ -z ${XEN_TARGET_ARCH} ]]; then
+ if use amd64; then
+ export XEN_TARGET_ARCH="x86_64"
+ elif use arm; then
+ export XEN_TARGET_ARCH="arm32"
+ elif use arm64; then
+ export XEN_TARGET_ARCH="arm64"
+ else
+ die "Unsupported architecture!"
+ fi
+ fi
+}
+
+src_prepare() {
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
+ fi
+
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-4.15-efi.patch
+
+ # Enable XSM-FLASK
+ use flask && eapply "${FILESDIR}"/${PN}-4.15-flask.patch
+
+ # Workaround new gcc-11 options
+ sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
+
+ # Drop .config
+ sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+
+ if use efi; then
+ export EFI_VENDOR="gentoo"
+ export EFI_MOUNTPOINT="/boot"
+ fi
+
+ default
+}
+
+xen_make() {
+ # Setting clang to either 'y' or 'n' tells Xen's build system
+ # whether or not clang is used.
+ local clang=n
+ if tc-is-clang; then
+ clang=y
+ fi
+
+ # Send raw LDFLAGS so that --as-needed works
+ emake \
+ V=1 \
+ LDFLAGS="$(raw-ldflags)" \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ HOSTCXX="$(tc-getBUILD_CXX)" \
+ clang="${clang}" \
+ "$@"
+}
+
+src_configure() {
+ cd xen || die
+
+ touch gentoo-config || die
+ if use arm; then
+ echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
+ fi
+ if use debug; then
+ cat <<-EOF >> gentoo-config || die
+ CONFIG_DEBUG=y
+ CONFIG_CRASH_DEBUG=y
+EOF
+ fi
+ if use flask; then
+ echo "CONFIG_XSM=y" >> gentoo-config || die
+ fi
+
+ # remove flags
+ unset CFLAGS
+
+ tc-ld-disable-gold # Bug 700374
+
+ xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
+}
+
+src_compile() {
+ xen_make -C xen
+}
+
+src_install() {
+ # The 'make install' doesn't 'mkdir -p' the subdirs
+ if use efi; then
+ mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
+ fi
+
+ xen_make DESTDIR="${D}" -C xen install
+
+ # make install likes to throw in some extra EFI bits if it built
+ use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
+}
+
+pkg_postinst() {
+ elog "Official Xen Guide:"
+ elog " https://wiki.gentoo.org/wiki/Xen"
+
+ use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
+
+ ewarn
+ ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
+ ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
+ ewarn "to work fine."
+ ewarn
+ ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
+ ewarn
+ ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
+}
diff --git a/app-emulation/xen/xen-4.16.1.ebuild b/app-emulation/xen/xen-4.16.1.ebuild
new file mode 100644
index 000000000000..e4073b7cad14
--- /dev/null
+++ b/app-emulation/xen/xen-4.16.1.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
+ SRC_URI=""
+else
+ KEYWORDS="~amd64 ~arm -x86"
+
+ XEN_PRE_PATCHSET_NUM=
+ XEN_GENTOO_PATCHSET_NUM=0
+ XEN_PRE_VERSION_BASE=
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
+
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://github.com/Flowdalic/xen-upstream-patches/archive/refs/tags/${XEN_UPSTREAM_PATCHES_TAG}.tar.gz -> ${XEN_UPSTREAM_PATCHES_NAME}.tar.gz"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_BASE_PV})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://github.com/Flowdalic/xen-gentoo-patches/archive/refs/tags/${XEN_GENTOO_PATCHES_TAG}.tar.gz -> ${XEN_GENTOO_PATCHES_NAME}.tar.gz"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
+fi
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="https://xenproject.org"
+
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+boot-symlinks debug efi flask"
+REQUIRED_USE="arm? ( debug )"
+
+DEPEND="${PYTHON_DEPS}
+ efi? ( >=sys-devel/binutils-2.22[multitarget] )
+ !efi? ( >=sys-devel/binutils-2.22 )
+ flask? ( sys-apps/checkpolicy )"
+RDEPEND=""
+PDEPEND="~app-emulation/xen-tools-${PV}"
+
+# no tests are available for the hypervisor
+# prevent the silliness of /usr/lib/debug/usr/lib/debug files
+# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
+RESTRICT="test splitdebug strip"
+
+# Approved by QA team in bug #144032
+QA_WX_LOAD="boot/xen-syms-${PV}"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ if [[ -z ${XEN_TARGET_ARCH} ]]; then
+ if use amd64; then
+ export XEN_TARGET_ARCH="x86_64"
+ elif use arm; then
+ export XEN_TARGET_ARCH="arm32"
+ elif use arm64; then
+ export XEN_TARGET_ARCH="arm64"
+ else
+ die "Unsupported architecture!"
+ fi
+ fi
+}
+
+src_prepare() {
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
+ fi
+
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-4.16-efi.patch
+
+ # Symlinks do not work on fat32 volumes # 829765
+ if ! use boot-symlinks || use efi; then
+ eapply "${FILESDIR}"/${PN}-4.16-no-symlink.patch
+ fi
+
+ # Workaround new gcc-11 options
+ sed -e '/^CFLAGS/s/-Werror//g' -i xen/Makefile || die
+
+ # Drop .config
+ sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+
+ if use efi; then
+ export EFI_VENDOR="gentoo"
+ export EFI_MOUNTPOINT="/boot"
+ fi
+
+ default
+}
+
+xen_make() {
+ # Setting clang to either 'y' or 'n' tells Xen's build system
+ # whether or not clang is used.
+ local clang=n
+ if tc-is-clang; then
+ clang=y
+ fi
+
+ # Send raw LDFLAGS so that --as-needed works
+ emake \
+ V=1 \
+ LDFLAGS="$(raw-ldflags)" \
+ HOSTCC="$(tc-getBUILD_CC)" \
+ HOSTCXX="$(tc-getBUILD_CXX)" \
+ clang="${clang}" \
+ "$@"
+}
+
+src_configure() {
+ cd xen || die
+
+ touch gentoo-config || die
+ if use arm; then
+ echo "CONFIG_EARLY_PRINTK=sun7i" >> gentoo-config || die
+ fi
+ if use debug; then
+ cat <<-EOF >> gentoo-config || die
+ CONFIG_DEBUG=y
+ CONFIG_CRASH_DEBUG=y
+EOF
+ fi
+ if use flask; then
+ echo "CONFIG_XSM=y" >> gentoo-config || die
+ fi
+
+ # remove flags
+ unset CFLAGS
+
+ tc-ld-disable-gold # Bug 700374
+
+ xen_make KCONFIG_ALLCONFIG=gentoo-config alldefconfig
+}
+
+src_compile() {
+ xen_make -C xen
+}
+
+src_install() {
+ # The 'make install' doesn't 'mkdir -p' the subdirs
+ if use efi; then
+ mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
+ fi
+
+ xen_make DESTDIR="${D}" -C xen install
+
+ # make install likes to throw in some extra EFI bits if it built
+ use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
+}
+
+pkg_postinst() {
+ elog "Official Xen Guide:"
+ elog " https://wiki.gentoo.org/wiki/Xen"
+
+ use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
+
+ ewarn
+ ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
+ ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
+ ewarn "to work fine."
+ ewarn
+ ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
+ ewarn
+ ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
+}
diff --git a/app-emulation/xen/xen-4.16.0-r7.ebuild b/app-emulation/xen/xen-4.16.2_pre1.ebuild
index 07e9855fc988..933fd041febc 100644
--- a/app-emulation/xen/xen-4.16.0-r7.ebuild
+++ b/app-emulation/xen/xen-4.16.2_pre1.ebuild
@@ -7,34 +7,43 @@ PYTHON_COMPAT=( python3_{8..10} )
inherit flag-o-matic mount-boot python-any-r1 toolchain-funcs
-MY_PV=${PV/_/-}
-MY_P=${PN}-${MY_PV}
-
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
SRC_URI=""
else
KEYWORDS="~amd64 ~arm -x86"
- UPSTREAM_VER=2
- SECURITY_VER=
- GENTOO_VER=
-
- [[ -n ${UPSTREAM_VER} ]] && \
- UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
- https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
- [[ -n ${SECURITY_VER} ]] && \
- SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
- [[ -n ${GENTOO_VER} ]] && \
- GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
- SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
- ${UPSTREAM_PATCHSET_URI}
- ${SECURITY_PATCHSET_URI}
- ${GENTOO_PATCHSET_URI}"
+
+ XEN_PRE_PATCHSET_NUM=0
+ XEN_GENTOO_PATCHSET_NUM=1
+ XEN_PRE_VERSION_BASE=4.16.1
+
+ XEN_BASE_PV="${PV}"
+ if [[ -n "${XEN_PRE_VERSION_BASE}" ]]; then
+ XEN_BASE_PV="${XEN_PRE_VERSION_BASE}"
+ fi
+
+ SRC_URI="https://downloads.xenproject.org/release/xen/${XEN_BASE_PV}/xen-${XEN_BASE_PV}.tar.gz"
+
+ if [[ -n "${XEN_PRE_PATCHSET_NUM}" ]]; then
+ XEN_UPSTREAM_PATCHES_TAG="$(ver_cut 1-3)-pre-patchset-${XEN_PRE_PATCHSET_NUM}"
+ XEN_UPSTREAM_PATCHES_NAME="xen-upstream-patches-${XEN_UPSTREAM_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-upstream-patches.git/snapshot/${XEN_UPSTREAM_PATCHES_NAME}.tar.bz2"
+ XEN_UPSTREAM_PATCHES_DIR="${WORKDIR}/${XEN_UPSTREAM_PATCHES_NAME}"
+ fi
+ if [[ -n "${XEN_GENTOO_PATCHSET_NUM}" ]]; then
+ XEN_GENTOO_PATCHES_TAG="$(ver_cut 1-3 ${XEN_BASE_PV})-gentoo-patchset-${XEN_GENTOO_PATCHSET_NUM}"
+ XEN_GENTOO_PATCHES_NAME="xen-gentoo-patches-${XEN_GENTOO_PATCHES_TAG}"
+ SRC_URI+=" https://gitweb.gentoo.org/proj/xen-gentoo-patches.git/snapshot/${XEN_GENTOO_PATCHES_NAME}.tar.bz2"
+ XEN_GENTOO_PATCHES_DIR="${WORKDIR}/${XEN_GENTOO_PATCHES_NAME}"
+ fi
fi
DESCRIPTION="The Xen virtual machine monitor"
HOMEPAGE="https://xenproject.org"
+
+S="${WORKDIR}/xen-$(ver_cut 1-3 ${XEN_BASE_PV})"
+
LICENSE="GPL-2"
SLOT="0"
IUSE="+boot-symlinks debug efi flask"
@@ -55,8 +64,6 @@ RESTRICT="test splitdebug strip"
# Approved by QA team in bug #144032
QA_WX_LOAD="boot/xen-syms-${PV}"
-S="${WORKDIR}/${MY_P}"
-
pkg_setup() {
python-any-r1_pkg_setup
if [[ -z ${XEN_TARGET_ARCH} ]]; then
@@ -73,25 +80,13 @@ pkg_setup() {
}
src_prepare() {
- # Upstream's patchset
- [[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
-
- # Security patchset
- if [[ -n ${SECURITY_VER} ]]; then
- einfo "Try to apply Xen Security patch set"
- # apply main xen patches
- # Two parallel systems, both work side by side
- # Over time they may concdense into one. This will suffice for now
- source "${WORKDIR}"/patches-security/${PV}.conf
-
- local i
- for i in ${XEN_SECURITY_MAIN}; do
- eapply "${WORKDIR}"/patches-security/xen/$i
- done
+ if [[ -v XEN_UPSTREAM_PATCHES_DIR ]]; then
+ eapply "${XEN_UPSTREAM_PATCHES_DIR}"
fi
- # Gentoo's patchset
- [[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
+ if [[ -v XEN_GENTOO_PATCHES_DIR ]]; then
+ eapply "${XEN_GENTOO_PATCHES_DIR}"
+ fi
eapply "${FILESDIR}"/${PN}-4.16-efi.patch