summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Delaney <della5@iinet.com.au>2012-11-22 12:47:48 +0800
committerIan Delaney <della5@iinet.com.au>2012-11-22 12:47:48 +0800
commit93cd3557c7b3cbdfcabe1bdaefb7419e21cc97d7 (patch)
treec6e2a4aa20021ad771622fc66a736b34910b4a92 /app-emulation/xen-tools
parent[app-emulation/xen-tools] no-ipxe + build fixes (diff)
downloadvirtualization-93cd3557c7b3cbdfcabe1bdaefb7419e21cc97d7.tar.gz
virtualization-93cd3557c7b3cbdfcabe1bdaefb7419e21cc97d7.tar.bz2
virtualization-93cd3557c7b3cbdfcabe1bdaefb7419e21cc97d7.zip
revbump, patch to counter downloads during build, patch to counter double stripping, nopie patch returned to conditional state, fixes to QA issues, one remaining
Package-Manager: portage-2.1.11.30
Diffstat (limited to 'app-emulation/xen-tools')
-rw-r--r--app-emulation/xen-tools/Manifest2
-rw-r--r--app-emulation/xen-tools/files/xen-4.2.0-anti-download.patch28
-rw-r--r--app-emulation/xen-tools/files/xen-4.2.0-nostrip.patch54
-rw-r--r--app-emulation/xen-tools/xen-tools-4.2.0-r1.ebuild (renamed from app-emulation/xen-tools/xen-tools-4.2.0.ebuild)53
4 files changed, 113 insertions, 24 deletions
diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest
index a4cb7e4..6d7274e 100644
--- a/app-emulation/xen-tools/Manifest
+++ b/app-emulation/xen-tools/Manifest
@@ -1,4 +1,6 @@
DIST ipxe-git-9a93db3f0947484e30e753bbd61a10b17336e20e.tar.gz 2888480 SHA256 ea2a52a999afab7fefa6300e0f1b38409c170a7503a51d8b572d790e71f2d0f0 SHA512 02314727af850bdf51c1963e8da258a65868f3ef116e9833918c770b8737cd1501891d4dc90d787702a1f34e35198e57373d730b7e2e6671e5fa93ece7c2f073 WHIRLPOOL 9a232852c3dee266dcbd27fae6814497814a0f65123484c37196a99c6cc746a348cf38c77ba084e62e052c64e950b34aa2f152a154e99c0366746f97941b23d7
DIST ipxe-git-v1.0.0.tar.gz 1996881 SHA256 d3128bfda9a1542049c278755f85bbcbb8441da7bfd702d511ce237fcf86a723 SHA512 6921fb857ca615899a5912d5590ca36b6f46daf828b85edc75461c08a189d9fed71ee74a82e42724da7a1355e45070d28a0a61694b3a4872c3554390e4bb4147 WHIRLPOOL 160e24eea479c9d67a8a5c7c5182864904ee594167f061adc40a3e74974197b6befe2ecdb76af1c101ff1a5697b060dae71dd3f9f969c8e18054526584d57031
+DIST ipxe.tar.gz 2867999 SHA256 632ce8c193ccacc3012bd354bdb733a4be126f7c098e111930aa41dad537405c SHA512 c5cb1cdff40d2d71fd3e692a9d0efadf2aa17290daf5195391a1c81ddd9dfc913a8e44d5be2b12be85b2a5565ea31631c99c7053564f2fb2225c80ea0bb0e4a4 WHIRLPOOL 58b7459aaf7323968e2f4d1cdcb563a04a0ee40d7d0e8fc600495baf6914127fbbbcddfb66199cd9f462eb59565b3d1ae90a05b3c771b8f13c2d2dcb6070eebc
+DIST seabios-0-20121121.tar.bz2 2199282 SHA256 f7f67181c6c0b4cea3a9db48e2569fdcbbc81b732a2f672079c42fb44153ee62 SHA512 4f886088ebaa911590b8cb19db5c5dbc8f1384d2d5a7c4bf04df083e177513b3123b1839dad744171670eded8b69ce092a774288aec1804d00aa32b1b6778599 WHIRLPOOL f2e62682d7213ee5eaecbc2590637ef36d9c86f746840c0ee758c0c153139f485032ea2cd098c87bb8a2b5f17f91375b8fb65599e3b71b45b1645df85a88887f
DIST xen-4.1.2.tar.gz 10365786 SHA256 7d9c93057cf480d3f1efa792b19285a84fa3c06060ea5c5c453be00887389b0d SHA512 8f50f238b0b474ec5556279cbd51d704b4365033f2541a5d0376f287b26b7e8f0193172041109d97bb76d35ace3adf71e12f89f5766ff79a8ea861e7282f00d7 WHIRLPOOL 93a4bdd05125ef722464ef682798191c8b3db7228cbc0a27bcbe7932a7776491f90e727e1fcc4a9e7ec3eada7f56c567c07ad61cdda2f514109f702800fe5566
DIST xen-4.2.0.tar.gz 15587687 SHA256 43f4a086e4e0330145a27b7ace8365c42b5afbc95cefadafe067be91bd3e5cfb SHA512 4fb56c79d722fb307bc657f16d02079c6636427e7650c4354193632d38d2d1db8e588f844ff0ca6e757c108ed639a528565ec9fc7c00bb4d5b6fbc9d122d8a70 WHIRLPOOL 369a109375864cb61920b56cf501522051d28513e738f0fd0e7b76244c3e08a8a0a6ff6cf245872d9bbd9c0f22c7da76c9cbc0f852bad6108ca25fd42dc677c0
diff --git a/app-emulation/xen-tools/files/xen-4.2.0-anti-download.patch b/app-emulation/xen-tools/files/xen-4.2.0-anti-download.patch
new file mode 100644
index 0000000..95a1ce6
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-4.2.0-anti-download.patch
@@ -0,0 +1,28 @@
+diff -ur xen-4.2.0.orig/tools/firmware/etherboot/Makefile xen-4.2.0/tools/firmware/etherboot/Makefile
+--- tools/firmware/etherboot/Makefile 2012-09-17 18:21:18.000000000 +0800
++++ tools/firmware/etherboot/Makefile 2012-11-21 14:12:54.389536642 +0800
+@@ -28,13 +28,6 @@
+ $(MAKE) -C $D/src bin/$(*F).rom
+
+ $T:
+- if ! wget -O _$T $(IPXE_TARBALL_URL); then \
+- $(GIT) clone $(IPXE_GIT_URL) $D.git; \
+- (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
+- $(IPXE_GIT_TAG) | gzip >../_$T); \
+- rm -rf $D.git; \
+- fi
+- mv _$T $T
+
+ $D/src/arch/i386/Makefile: $T Config
+ rm -rf $D
+diff -ur xen-4.2.0.orig/tools/firmware/Makefile xen-4.2.0/tools/firmware/Makefile
+--- tools/firmware/Makefile 2012-09-17 18:21:18.000000000 +0800
++++ tools/firmware/Makefile 2012-11-21 16:14:21.974868539 +0800
+@@ -18,7 +18,6 @@
+ cp ovmf-makefile ovmf/Makefile;
+
+ seabios-dir:
+- GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_TAG) seabios-dir
+ cp seabios-config seabios-dir/.config;
+
+ .PHONY: all
diff --git a/app-emulation/xen-tools/files/xen-4.2.0-nostrip.patch b/app-emulation/xen-tools/files/xen-4.2.0-nostrip.patch
new file mode 100644
index 0000000..1ef1555
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-4.2.0-nostrip.patch
@@ -0,0 +1,54 @@
+diff -ur xen-4.2.0.orig/tools/qemu-xen-traditional/Makefile xen-4.2.0/tools/qemu-xen-traditional/Makefile
+--- tools/qemu-xen-traditional/Makefile 2012-09-07 00:05:30.000000000 +0800
++++ tools/qemu-xen-traditional/Makefile 2012-11-22 06:12:29.433599695 +0800
+@@ -243,7 +243,7 @@
+ install: all $(if $(BUILD_DOCS),install-doc)
+ mkdir -p "$(DESTDIR)$(bindir)"
+ ifneq ($(TOOLS),)
+- $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
++ $(INSTALL) -m 755 $(TOOLS) "$(DESTDIR)$(bindir)"
+ endif
+ ifneq ($(BLOBS),)
+ mkdir -p "$(DESTDIR)$(datadir)"
+diff -ur xen-4.2.0.orig/tools/qemu-xen-traditional/Makefile.target xen-4.2.0/tools/qemu-xen-traditional/Makefile.target
+--- tools/qemu-xen-traditional/Makefile.target 2012-09-07 00:05:30.000000000 +0800
++++ tools/qemu-xen-traditional/Makefile.target 2012-11-22 06:26:45.302521231 +0800
+@@ -755,7 +755,7 @@
+
+ install: all install-hook
+ ifneq ($(PROGS),)
+- $(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
++ $(INSTALL) -m 755 $(PROGS) "$(DESTDIR)$(bindir)"
+ endif
+
+ # Include automatically generated dependency files
+diff -ur xen-4.2.0.orig/tools/qemu-xen/Makefile.target xen-4.2.0/tools/qemu-xen/Makefile.target
+--- tools/qemu-xen/Makefile.target 2012-09-11 02:10:52.000000000 +0800
++++ tools/qemu-xen/Makefile.target 2012-11-22 07:13:38.894263291 +0800
+@@ -437,9 +437,6 @@
+ install: all
+ ifneq ($(PROGS),)
+ $(INSTALL) -m 755 $(PROGS) "$(DESTDIR)$(bindir)"
+-ifneq ($(STRIP),)
+- $(STRIP) $(patsubst %,"$(DESTDIR)$(bindir)/%",$(PROGS))
+-endif
+ endif
+ ifdef CONFIG_TRACE_SYSTEMTAP
+ ifdef CONFIG_TRACE_SYSTEMTAP
+#diff -ur xen-4.2.0.orig/Makefile xen-4.2.0/Makefile
+#--- Makefile 2012-09-17 18:21:17.000000000 +0800
+#+++ Makefile 2012-11-22 09:09:45.080624651 +0800
+#@@ -62,11 +62,11 @@
+#
+# .PHONY: install-xen
+# install-xen:
+#- $(MAKE) -C xen install
+#+ +$(MAKE) -C xen install
+#
+# .PHONY: install-tools
+# install-tools:
+#- $(MAKE) -C tools install
+#+ +$(MAKE) -C tools install
+#
+# ifeq ($(CONFIG_IOEMU),y)
+# install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
diff --git a/app-emulation/xen-tools/xen-tools-4.2.0.ebuild b/app-emulation/xen-tools/xen-tools-4.2.0-r1.ebuild
index 93c8afa..7ee1dc5 100644
--- a/app-emulation/xen-tools/xen-tools-4.2.0.ebuild
+++ b/app-emulation/xen-tools/xen-tools-4.2.0-r1.ebuild
@@ -6,6 +6,9 @@ EAPI="4"
PYTHON_DEPEND="2"
PYTHON_USE_WITH="xml threads"
+IPXE_TARBALL_URL="http://dev.gentoo.org/~idella4/tarballs/ipxe.tar.gz"
+XEN_SEABIOS_URL="http://dev.gentoo.org/~idella4/tarballs/seabios-0-20121121.tar.bz2"
+
if [[ $PV == *9999 ]]; then
KEYWORDS=""
REPO="xen-unstable.hg"
@@ -14,17 +17,16 @@ if [[ $PV == *9999 ]]; then
live_eclass="mercurial"
else
KEYWORDS="~amd64 ~x86"
- XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
- SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
-# $XEN_EXTFILES_URL/ipxe-git-v1.0.0.tar.gz"
+ SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
+ $IPXE_TARBALL_URL
+ $XEN_SEABIOS_URL"
S="${WORKDIR}/xen-${PV}"
fi
-
inherit flag-o-matic eutils multilib python toolchain-funcs ${live_eclass}
DESCRIPTION="Xend daemon and tools"
HOMEPAGE="http://xen.org/"
-DOCS=( README docs/README.xen-bugtool docs/ChangeLog )
+DOCS=( README docs/README.xen-bugtool )
LICENSE="GPL-2"
SLOT="0"
@@ -32,11 +34,6 @@ IUSE="api custom-cflags debug doc flask hvm qemu pygrub screen static-libs xend"
REQUIRED_USE="hvm? ( qemu )"
-QA_PRESTRIPPED="/usr/share/xen/qemu/openbios-ppc \
- /usr/share/xen/qemu/openbios-sparc64 \
- /usr/share/xen/qemu/openbios-sparc32"
-QA_WX_LOAD=${QA_PRESTRIPPED}
-
CDEPEND="<dev-libs/yajl-2
dev-python/lxml
dev-python/pypam
@@ -86,8 +83,7 @@ RDEPEND="${CDEPEND}
# hvmloader is used to bootstrap a fully virtualized kernel
# Approved by QA team in bug #144032
QA_WX_LOAD="usr/lib/xen/boot/hvmloader"
-QA_EXECSTACK="usr/share/xen/qemu/openbios-sparc32
- usr/share/xen/qemu/openbios-sparc64"
+
RESTRICT="test"
pkg_setup() {
@@ -129,11 +125,11 @@ pkg_setup() {
}
src_prepare() {
-# cp "$DISTDIR/ipxe-git-v1.0.0.tar.gz" tools/firmware/etherboot/ipxe.tar.gz
sed -e 's/-Wall//' -i Config.mk || die "Couldn't sanitize CFLAGS"
# Drop .config
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+
# Xend
if ! use xend; then
sed -e 's:xm xen-bugtool xen-python-path xend:xen-bugtool xen-python-path:' \
@@ -182,19 +178,24 @@ src_prepare() {
# Fix network broadcast on bridged networks
epatch "${FILESDIR}/${PN}-3.4.0-network-bridge-broadcast.patch"
- # Prevent the downloading of ipxe
-# sed -e 's:^\tif ! wget -O _$T:#\tif ! wget -O _$T:' \
-# -e 's:^\tfi:#\tfi:' -i \
-# -e 's:^\tmv _$T $T:#\tmv _$T $T:' \
-# -i tools/firmware/etherboot/Makefile || die
+ # Prevent the downloading of ipxe, seabios
+ epatch "${FILESDIR}"/${P/-tools/}-anti-download.patch
+ cp $DISTDIR/ipxe.tar.gz tools/firmware/etherboot/ || die
+ mv ../seabios-dir-remote tools/firmware/ || die
+ pushd tools/firmware/ > /dev/null
+ ln -s seabios-dir-remote seabios-dir || die
+ popd > /dev/null
# Fix bridge by idella4, bug #362575
epatch "${FILESDIR}/${PN}-4.1.1-bridge.patch"
# Don't build ipxe with pie on hardened, Bug #360805
-# if gcc-specs-pie; then
+ if gcc-specs-pie; then
epatch "${FILESDIR}/ipxe-nopie-4.2.0.patch"
-# fi
+ fi
+
+ # Prevent double stripping of files at install
+ epatch "${FILESDIR}"/${P/-tools/}-nostrip.patch
}
src_compile() {
@@ -226,7 +227,6 @@ src_install() {
export CONFIG_LEAF_DIR=default
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" XEN_PYTHON_NATIVE_INSTALL=y install-tools
- python_convert_shebangs -r 2 "${ED}"
# Remove RedHat-specific stuff
rm -rf "${ED}"/etc/init.d/xen* "${ED}"/etc/default || die
@@ -237,16 +237,15 @@ src_install() {
-e 's:^#vifscript="vif-bridge":vifscript="vif-bridge":' \
-i tools/examples/xl.conf || die
-# dodoc README docs/README.xen-bugtool docs/ChangeLog
if use doc; then
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" install-docs
dohtml -r docs/api/
docinto pdf
dodoc ${DOCS[@]}
- #docs/api/tools/python/latex/refman.pdf
[ -d "${ED}"/usr/share/doc/xen ] && mv "${ED}"/usr/share/doc/xen/* "${ED}"/usr/share/doc/${PF}/html
fi
+
rm -rf "${ED}"/usr/share/doc/xen/
doman docs/man?/*
@@ -271,7 +270,7 @@ src_install() {
rm -f ${ED}usr/$(get_libdir)/*.a ${ED}usr/$(get_libdir)/ocaml/*/*.a
fi
- python_convert_shebangs -r 2 "${ED}"
+ #python_convert_shebangs -r 2 "${ED}"
# xend expects these to exist
keepdir /var/run/xenstored /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
@@ -281,6 +280,12 @@ src_install() {
# Temp QA workaround
mkdir -p "${ED}"$(get_libdir)
mv "${ED}"etc/udev "${ED}"$(get_libdir)
+
+ # Remove files failing QA AFTER emake installs them, avoiding seeking absent files
+ rm -f $(find "${ED}" -name openbios-sparc32) \
+ $(find "${ED}" -name openbios-sparc64) \
+ $(find "${ED}" -name openbios-ppc) \
+ $(find "${ED}" -name palcode-clipper) || die
}
pkg_postinst() {