From: Yixun Lan Date: Fri, 3 Apr 2015 05:01:20 +0000 (+0000) Subject: security bump, bug 545144, fix XSA-125,126,127 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=7a71ac91991e73c3c435e9d84ef2c3e50b7c41fc;p=gentoo.git security bump, bug 545144, fix XSA-125,126,127 Package-Manager: portage-2.2.18/cvs/Linux x86_64 --- diff --git a/app-emulation/xen/ChangeLog b/app-emulation/xen/ChangeLog index 49fd36bc5769..f1886b955485 100644 --- a/app-emulation/xen/ChangeLog +++ b/app-emulation/xen/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for app-emulation/xen # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/ChangeLog,v 1.194 2015/03/28 13:25:42 dlan Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/ChangeLog,v 1.195 2015/04/03 05:01:16 dlan Exp $ + +*xen-4.5.0-r5 (03 Apr 2015) +*xen-4.4.2-r1 (03 Apr 2015) +*xen-4.2.5-r8 (03 Apr 2015) + + 03 Apr 2015; +xen-4.2.5-r8.ebuild, +xen-4.4.2-r1.ebuild, + +xen-4.5.0-r5.ebuild: + security bump, bug 545144, fix XSA-125,126,127 *xen-4.4.2 (28 Mar 2015) diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest index 8663dc789ad8..40443eb147c6 100644 --- a/app-emulation/xen/Manifest +++ b/app-emulation/xen/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - AUX xen-4-fix_dotconfig-gcc.patch 1525 SHA256 943119cde08d16d05a927a85fb54ee4cee323cb4870dd0d90a552051fedc9907 SHA512 aa507594d96159c4e01ccfc4781f9afe7b6fe125c9df5925128c002f28fdf04999954b523cc53c6d7eaa49cb6e05120605f4e7d6f8bab6d5718d73a60b5accea WHIRLPOOL 6f4395203199b8037363ed56256e12f426f0c26f449c5e4a001c5454370a0e412f18cd03099866c30592ee0413556b85b3c374efb7172212db37ff3891c004af AUX xen-4.2-efi.patch 2216 SHA256 0886961e2656fe7e140dd0ac0e6620d4c14ef0796b8f8889bda163e2a9f8db8b SHA512 ecaa4f1f1c3ca737931fe5343529708dfb7ec7040dbf2acf2b155e7c7f019ce3e2630ddb302213570a2647fe220dbf23eb6c28618d6b1be9161e25fcadd71cb4 WHIRLPOOL 63b56e22683b2755ae17e7871c1b535d750f655ff8c003979d039654f5ef3303457b5d4469f216c1744202d4d1f4561f7498c1d93171ab1110a93e3a2fa8db8d AUX xen-4.3-fix_dotconfig-gcc.patch 8854 SHA256 4e0d22acdb4ecc4a1d418ec91bc6ddb9ef1c283ee3ca1f67bac85d3116d76ccc SHA512 b4c969b0cf166862ea5c5cb0912d7dae8c5bf7befd6dd6bdf4e56df8a4daf85c0a36c94247053f74edc0f24b1c15a18e7ddae9d24ad28d54b726a1fbbab442be WHIRLPOOL de7b614ae486fd2cc591b405b475745b003c638c9be4c8153b61a368802af36d2a2974d1e022eb14fb58ad9260f9f82c438c84cb65c3499076c579f7e1c3e6ad @@ -15,30 +12,15 @@ DIST xen-4.4.1.tar.gz 18134427 SHA256 55b49d3c4575d7791275125ff87c0f86f1d1e0f7f2 DIST xen-4.4.2.tar.gz 18137195 SHA256 cd53592e86669e5e8c4d4a731b0199e8af17d8eadbb8f26dbb69f1b751259204 SHA512 7dae2a1d601d5c65c350ea9fe9870551ec53dff47b6ebe56e99285fd1112aa1cba3a2594e294b871defcf43fb7fccace9f18910e69f02dfce162d7bf453eb07b WHIRLPOOL 2dfe3de5fd800d2172ad2c95117e0646c6b2045cfcb9fa5eccc46b695f1c58aa861bf2a591f78db5baf5a89894b3fa26dc1ba63cb0d57f87be4df5c445c82a94 DIST xen-4.5.0-upstream-patches-3.tar.xz 27560 SHA256 25bd1414f56b2279efc0ba6a915fd86cf5d3c2fdee26da5876a8a4e875aa0132 SHA512 73bfba732b344bc45bf484b586b004852207fed08d69263ba1354ad14a2941df131526c2669a93b8bc55f231ddfc13f1d30a3f4aefdbb7e609616ab555396f76 WHIRLPOOL 454f8d1b5e4b433bca7691323220867ab50467aca998ccdfeb4dc51a44e4315ac32d830560cdf29ea31f39fc3c41d03945aee2ec0bb4e8cb8c8912654ac34ff6 DIST xen-4.5.0.tar.gz 18404933 SHA256 5bdb40e2b28d2eeb541bd71a9777f40cbe2ae444b987521d33f099541a006f3b SHA512 31621fbaf621ad350125d03366ecff4dec5d810b0c1242ca0e28788f7556ac1443d7ee9247e1f76dec07e148e0b4ae16d08a7c10101bb78d6529375f3e40998e WHIRLPOOL 4a77588a4aa4846cfbf9493ab20bd2f293c55a941a5639fdd166a43f284cc0cc7218969def755a1acd89e640181bdd862fff0b566cfb8e628d73deeb6369c924 +DIST xen-security-patches-0.tar.xz 5944 SHA256 c0456793064185f0781668264a09a2412a25e2ff8c4ce0d332204e37b94d7e96 SHA512 de812e66563e608548b220aa00c8fd71973af748a00cea79959f46a5b6893a38248d2ea455026af43f47e3f5e566d08b5a6f3d18f22e940d75d2a2ca76cec3d3 WHIRLPOOL 3e18d32798bdfe584ee8d102963090b569ec3660fd5723d8c608091e5c7d935c1edced5e258d92bf51fe06975455a3ae33dfedd01702c6076aedf97ea61f2d1b EBUILD xen-4.2.5-r6.ebuild 4223 SHA256 52aa2f77fa720abeafca2f3357166703415670866156a1f29dd6300d339078a8 SHA512 a0f08a01445b570bc9facb2cdce2a8ccf9c4f21198e0c7416fc6122d4bef8556fca3f005c4869badd3df12ec9330bd7cb634049b5771c12fd8c7434377983de1 WHIRLPOOL 41ead4f9bfc92a2d0fc32f31c1004aa37910fb53b13b45037aca53f83669026782ebd9770cd57223c3843274c4b7732ad9be5c22c645f90717ec7d108d4d871b EBUILD xen-4.2.5-r7.ebuild 4588 SHA256 7ac3076861f3a3ad63200c73f6b5087bd721b823ea08f4fc05c851fd3c95edde SHA512 88c80f73d01f0cfe76e1ab506a81e7a71e138e182dd49630202dd8c076c4e2d49b8bf23b46694f3ae8ca1b2ab2ff01bb40ddfde4f73921662e51b2c9637d45f5 WHIRLPOOL 69f02c9beb83c5980a90c7f1b342c1cdf2d6142f375b30003261704fbc04fac9f01942400b64508628252a459ae607e482bd244e578a3738b38eb4fbf28be227 +EBUILD xen-4.2.5-r8.ebuild 4589 SHA256 0ae86c9412af7534b9f0297052ed4986813320012c1d6d8cde5d60a132e8559e SHA512 3b5a1cf42613b053a7c0bfc277dd12a019efa3f1ce7bef7db24e7cb0a7b484660de6d983170cec73987fcecbdb7af048d8908d4a40b031390588758c9b592ed3 WHIRLPOOL b1e00d021b66d15dcd170b03902529c6732b7302c079d5341d6449104b22fff63721504073c89c6c32c824802614cbf8620ff19abc5d53c70b28d487f4d1e810 EBUILD xen-4.4.1-r8.ebuild 4347 SHA256 d55b80e6abbfda8eee5faf26b85975363a1aff0877ccc80f80509c9e79486678 SHA512 74cafc2e6c199eb6bac27c9c8ddb2c3c444320dff840479b3c58b37b20775d8a2cd94360d1b29045299b4a6086f08da7090a3c108a1b25948e832f40843e3e4d WHIRLPOOL 3a989629b0a0a74a4246cd4b199bac8a307366a30a84a68a6decff8bc6fce3a858be786384f0ec98119016e1420165975f949dbf2a6abea2cc91c93662e7854c EBUILD xen-4.4.1-r9.ebuild 4349 SHA256 8b300b58f60f0c2db57ce659b5150e88d9059e9706137eb37fecb8b495a94fb8 SHA512 d53a20d23f81a8b75fc2ddce1ae6db470aabdbd9fa643de451c820a88ead6688bd8c11fd4072e8afee753e1a8b9c8e8b6d601c8ec3644e07b31ba3b734e21099 WHIRLPOOL 37db13c785c4e322b2105d621658a3bc97a816b26702f9415eabf10584e3713d93c70f0eb122b341c6e1c70a3c356de2503279b3c552b28783533998ab6843ae +EBUILD xen-4.4.2-r1.ebuild 4711 SHA256 32066ca3a76ba2d43b2eaedb2251c67fa4c4cd3b9a984d8ccd86cffe83eb89c8 SHA512 60fa1c89bb1f790041c29d1318f1a6c7c714a254f2ecf21dc8eab0674922a740abbd00bd50d73416512e25329ce86861bad248496471844873172a8eb2b0bfaa WHIRLPOOL e72db973b24960a21a541b7a04e0ae0a18328d597e4929bc0f8c9fa9efa82d935427bcd583e0438039642a4e8a5528f2d286a5830a3e84636eccd4867afd739f EBUILD xen-4.4.2.ebuild 4707 SHA256 582030d64c89f31633038cc13580b18a0270de417eb4263cb431406e9cf93a1d SHA512 cb61787026575d1c992051a120a907e2f19d57b7cb51aedce47384d6b8ac7e4ddd109984e4b1b023a30412c69f108b42579d8ee73806d6f969dbd508c91ea967 WHIRLPOOL a519c26e2ab6ba8697038c336c92b875db96d26e26764687a204ac4ea85c320c3d34e728bef1d3ad1fdd4d89a41bb6fce797b0a5871694660ec312290992f111 EBUILD xen-4.5.0-r4.ebuild 4770 SHA256 ef1f250d774c09a8e7e6ae152c8b1b098b2fbe2f21c069b8604de20b5f2f9103 SHA512 205f1ae654553a1a35ff92f7f71b5a3cf7bb5b4ea7e2dafd96988a9afef5126dff500e28ce16f98cb9f212b2375f988fee1593ff75f051c1cb5ee982abfd76b7 WHIRLPOOL 639564358aa1837e6fb3938ef538ab276cd86a9c0fa2f02d5d0033403c01f47aa7db0d65a9cb028e5c013ea1368153bc398de5a483ed2ac988e5a9a59b8465b4 -MISC ChangeLog 36530 SHA256 e48d4fb2aa211f9f38d5a7acd5f52f631fc4cbaee891729b1ed4cee1e8adc508 SHA512 7336bd77d608847e1945c16b1ad7db0985c4ec403ad3ce98333f6a360d6553be7a60a02a90d05b306ec1f9a243ba149dcd3b8eacf9ed3c224d02d35fa8d83ed5 WHIRLPOOL a6839757ebdc4a50688cec265118c4f4c0ac7aee6dfb2459ccae9a3753fc9ac8cf30ecc264e56cda7f84fa7ce3e161094c1ea13215dc0eec5b3178cbb16d575a +EBUILD xen-4.5.0-r5.ebuild 4771 SHA256 800a8a01aa8ce16b3a33646065b06bbeec2cc10e25f6d32f905af6c1b7de9e10 SHA512 01d1038df8d9147ba7cb0d9023e52f257de0892e7d7e425e71435c4d186079a008b694fad66516e7ad958e1cd0047ab4bbe67da055e4156eb56ed88676c656c9 WHIRLPOOL d339132220706f2918dc6db366781b8553a471de013ff4d7ecb895239e941680a9487bf06dc93fa1a9af5597935efa402edeb82d176f76360b004c2f6bb29974 +MISC ChangeLog 36766 SHA256 bea1b5becd675cfe1cf43e05a561eac917b76865a14bb017a2a999c674779be0 SHA512 2d1235df376f31a2457c3ef95d180ad6e06065f065102af0d3fb02be03e60595d8afe29d11705b0eefca60f3b1a9469a9d0d9419aebd100a8baf2d2048b6c03c WHIRLPOOL 0dc639187b650e68983c1143231f31ad4956bf6bcc56d5b78ea950021c01a5e23698b6ec7d9684d15df2739b7f11af1a432a293ee4fa8404f13e8f5e921b8b66 MISC metadata.xml 480 SHA256 c6d867148db1480748552aea9692bdee95fb98a94fcfadab0d128cbf1102b0d5 SHA512 888aa860cbb74d79c76f096107d8b22975470373ab11249da2c4ae9c4e172bc52fee73fdfaf07c19e977cabbbdf35ea5b3c6508d4a6f555b771ab6729806fe5c WHIRLPOOL c4d10589ca2c8b4e8bbd877dfc8f4f3b66ce8ae7bece71617e9571f07a39270f54c41f5fbbb2b29020ffc6473e2341064bd708813af3e20a31d5b9bd0510ebe2 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0 - -iQJ8BAEBCABmBQJVFqvlXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w -ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRCNUJBQjhDOUMzMUI3MTE1NjcwMjIzREMz -MUFBRUE0NzU5NERCQkVEAAoJEDGq6kdZTbvt6HQP/jfMvqCdTl29Cz5YdH40NZ07 -hm1CBplcMOBdWrfi5JRsc28TFEPEJRGtz+VBPdu21IsZWrMPNR1jsIfgppEjSRtf -Sq+0Ld/SMgLcevErL2f66ZtdYrfXcDC/rKEkKTyaIYJ2qv7DebXa0FRj+oxQ3SyM -vZYRUjqL6sdfAumfr7WdK7tkycQ7jHcF1B1b+JKW51yz0a0NSRJ5XgZlz2X4E8Ah -vk3Tp1cihTd7TkXGfvTBwYopI10sQXuAtPNuHOtLvLui9UKLBTOmq1gq/5qN4FOY -qcGp5MqaCXphcL94But7b/u6La+ofn2Cfk9G7AzlUdqzmqo6dVBaRj8lrgoZlsES -EiWuzcnqRBuqsJI3zthA/pO8mGQUZW0E6nikS434ypRwuHuIkXux/J3M3Kk93tVV -jLuaWGYuSWelH54hUgbqGG7kMsp+Vp+0qyufykaQI8l/UE1Bj31bOkirRZU0c1c8 -mIPzVfTDrk22MTtwEvnVNK1t9k1CHQT4KPvZ51hqHwjxGT9RmUstdHVzRIMjG8Eb -//6BmCbcZVmrKTzy9GJmfFIJzPnG9l8WTtZTxfuBoPW/CoX3hAvx/AcefKA4iSD1 -xJ0FN5qucjsfV4YKFWN7GskwRkOUrj9YzPMvh/Vs3aZXYoVOjoerCwUnIfGr+dPQ -otBUWQWwsGbQJeDLmP5x -=35XS ------END PGP SIGNATURE----- diff --git a/app-emulation/xen/xen-4.2.5-r8.ebuild b/app-emulation/xen/xen-4.2.5-r8.ebuild new file mode 100644 index 000000000000..0bf82f13f708 --- /dev/null +++ b/app-emulation/xen/xen-4.2.5-r8.ebuild @@ -0,0 +1,167 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.2.5-r8.ebuild,v 1.1 2015/04/03 05:01:16 dlan Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7} ) + +if [[ $PV == *9999 ]]; then + KEYWORDS="" + REPO="xen-unstable.hg" + EHG_REPO_URI="http://xenbits.xensource.com/${REPO}" + S="${WORKDIR}/${REPO}" + live_eclass="mercurial" +else + KEYWORDS="~amd64 ~x86" + UPSTREAM_VER=6 + SECURITY_VER=0 + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" +fi + +inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="http://xen.org/" +LICENSE="GPL-2" +SLOT="0" +IUSE="custom-cflags debug efi flask pae xsm" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +RESTRICT="test" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE=" + flask? ( xsm ) + " + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64; then + export XEN_TARGET_ARCH="x86_64" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + elif use xsm ; then + export "XSM_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}/patches-security/${PV}" + fi + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo + fi + + # Drop .config and fix gcc-4.6 + epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch + + if use efi; then + epatch "${FILESDIR}"/${PN}-4.2-efi.patch + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="boot" + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; || die "failed to re-set custom-cflags" + fi + + # not strictly necessary to fix this + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" + + epatch_user +} + +src_configure() { + use debug && myopt="${myopt} debug=y" + use pae && myopt="${myopt} pae=y" + + if use custom-cflags; then + filter-flags -fPIE -fstack-protector + replace-flags -O3 -O2 + else + unset CFLAGS + fi +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + use pae && myopt="${myopt} pae=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install +} + +pkg_postinst() { + elog "Official Xen Guide and the unoffical wiki page:" + elog " https://wiki.gentoo.org/wiki/Xen" + elog " http://en.gentoo-wiki.com/wiki/Xen/" + + use pae && ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!" + use efi && einfo "The efi executable is installed in boot/efi/gentoo" +} diff --git a/app-emulation/xen/xen-4.4.2-r1.ebuild b/app-emulation/xen/xen-4.4.2-r1.ebuild new file mode 100644 index 000000000000..82d9cd002383 --- /dev/null +++ b/app-emulation/xen/xen-4.4.2-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.4.2-r1.ebuild,v 1.1 2015/04/03 05:01:16 dlan Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +MY_PV=${PV/_/-} +MY_P=${PN}-${PV/_/-} + +if [[ $PV == *9999 ]]; then + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git" + live_eclass="git-2" +else + KEYWORDS="~amd64 ~arm -x86" + UPSTREAM_VER= + SECURITY_VER=0 + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + +fi + +inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="http://xen.org/" +LICENSE="GPL-2" +SLOT="0" +IUSE="custom-cflags debug efi flask xsm" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +RESTRICT="test" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="flask? ( xsm ) + arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif use amd64; then + export XEN_TARGET_ARCH="x86_64" + elif use arm; then + export XEN_TARGET_ARCH="arm32" + else + die "Unsupported architecture!" + fi + fi + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + elif use xsm ; then + export "XSM_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}/patches-security/${PV}" + fi + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo + fi + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + epatch "${FILESDIR}"/${PN}-4.4-efi.patch + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="boot" + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; || die "failed to re-set custom-cflags" + fi + + # remove -Werror for gcc-4.6's sake + find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \ + xargs sed -i 's/ *-Werror */ /' + # not strictly necessary to fix this + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" + + epatch_user +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + if use custom-cflags; then + filter-flags -fPIE -fstack-protector + replace-flags -O3 -O2 + else + unset CFLAGS + fi +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install +} + +pkg_postinst() { + elog "Official Xen Guide and the unoffical wiki page:" + elog " https://wiki.gentoo.org/wiki/Xen" + elog " http://en.gentoo-wiki.com/wiki/Xen/" + + use efi && einfo "The efi executable is installed in boot/efi/gentoo" +} diff --git a/app-emulation/xen/xen-4.5.0-r5.ebuild b/app-emulation/xen/xen-4.5.0-r5.ebuild new file mode 100644 index 000000000000..12caa8658f16 --- /dev/null +++ b/app-emulation/xen/xen-4.5.0-r5.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.5.0-r5.ebuild,v 1.1 2015/04/03 05:01:16 dlan Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +MY_PV=${PV/_/-} +MY_P=${PN}-${PV/_/-} + +if [[ $PV == *9999 ]]; then + KEYWORDS="" + EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git" + live_eclass="git-2" +else + KEYWORDS="~arm ~arm64 ~amd64" + UPSTREAM_VER=3 + SECURITY_VER=0 + GENTOO_VER= + + [[ -n ${UPSTREAM_VER} ]] && \ + UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz" + [[ -n ${SECURITY_VER} ]] && \ + SECURITY_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz" + [[ -n ${GENTOO_VER} ]] && \ + GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz" + SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz + ${UPSTREAM_PATCHSET_URI} + ${SECURITY_PATCHSET_URI} + ${GENTOO_PATCHSET_URI}" + +fi + +inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass} + +DESCRIPTION="The Xen virtual machine monitor" +HOMEPAGE="http://xen.org/" +LICENSE="GPL-2" +SLOT="0" +IUSE="custom-cflags debug efi flask xsm" + +DEPEND="${PYTHON_DEPS} + efi? ( >=sys-devel/binutils-2.22[multitarget] ) + !efi? ( >=sys-devel/binutils-2.22[-multitarget] )" +RDEPEND="" +PDEPEND="~app-emulation/xen-tools-${PV}" + +RESTRICT="test" + +# Approved by QA team in bug #144032 +QA_WX_LOAD="boot/xen-syms-${PV}" + +REQUIRED_USE="flask? ( xsm ) + arm? ( debug )" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + python-any-r1_pkg_setup + if [[ -z ${XEN_TARGET_ARCH} ]]; then + if use x86 && use amd64; then + die "Confusion! Both x86 and amd64 are set in your use flags!" + elif use x86; then + export XEN_TARGET_ARCH="x86_32" + elif 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 + + if use flask ; then + export "XSM_ENABLE=y" + export "FLASK_ENABLE=y" + elif use xsm ; then + export "XSM_ENABLE=y" + fi +} + +src_prepare() { + # Upstream's patchset + if [[ -n ${UPSTREAM_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}"/patches-upstream + fi + + # Security patchset + if [[ -n ${SECURITY_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + EPATCH_OPTS="-p1" \ + epatch "${WORKDIR}/patches-security/${PV}" + fi + + # Gentoo's patchset + if [[ -n ${GENTOO_VER} ]]; then + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}"/patches-gentoo + fi + + # Drop .config + sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop" + + if use efi; then + epatch "${FILESDIR}"/${PN}-4.5-efi.patch + export EFI_VENDOR="gentoo" + export EFI_MOUNTPOINT="boot" + fi + + # if the user *really* wants to use their own custom-cflags, let them + if use custom-cflags; then + einfo "User wants their own CFLAGS - removing defaults" + # try and remove all the default custom-cflags + find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \ + -e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \ + -e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \ + -i {} \; || die "failed to re-set custom-cflags" + fi + + # remove -Werror for gcc-4.6's sake + find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \ + xargs sed -i 's/ *-Werror */ /' + # not strictly necessary to fix this + sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py" + + epatch_user +} + +src_configure() { + use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i" + + use debug && myopt="${myopt} debug=y" + + if use custom-cflags; then + filter-flags -fPIE -fstack-protector + replace-flags -O3 -O2 + else + unset CFLAGS + fi +} + +src_compile() { + # Send raw LDFLAGS so that --as-needed works + emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt} +} + +src_install() { + local myopt + use debug && myopt="${myopt} debug=y" + + # The 'make install' doesn't 'mkdir -p' the subdirs + if use efi; then + mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die + fi + + emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install +} + +pkg_postinst() { + elog "Official Xen Guide and the unoffical wiki page:" + elog " https://wiki.gentoo.org/wiki/Xen" + elog " http://en.gentoo-wiki.com/wiki/Xen/" + + use efi && einfo "The efi executable is installed in boot/efi/gentoo" +}