Add Xen 3.0.4 from the marineam-xen overlay
authorMichael Marineau <marineam@gentoo.org>
Wed, 2 May 2007 04:27:24 +0000 (04:27 +0000)
committerMichael Marineau <marineam@gentoo.org>
Wed, 2 May 2007 04:27:24 +0000 (04:27 +0000)
Package-Manager: portage-2.1.1-r2

app-emulation/xen/ChangeLog
app-emulation/xen/files/digest-xen-3.0.4_p1 [new file with mode: 0644]
app-emulation/xen/xen-3.0.2.ebuild
app-emulation/xen/xen-3.0.4_p1.ebuild [new file with mode: 0644]

index f2a873a4ceeac76fd5eda4abcb404235c0941a9a..1ebb8eac90c4c97a3b8c05132e0f5c3883f62d74 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for app-emulation/xen
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/ChangeLog,v 1.43 2007/01/25 23:07:09 genone Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/ChangeLog,v 1.44 2007/05/02 04:27:24 marineam Exp $
+
+*xen-3.0.4_p1 (02 May 2007)
+
+  02 May 2007; Michael Marineau <marineam@gentoo.org>
+  -files/gentoo-makefile-targets, -files/xend-conf, xen-3.0.2.ebuild,
+  +xen-3.0.4_p1.ebuild:
+  Add xen 3.0.4 from the marineam-xen overlay, cleanup the 3.0.2 ebuild a bit.
 
   25 Jan 2007; Marius Mauch <genone@gentoo.org> xen-3.0.2.ebuild:
   Replacing einfo with elog
diff --git a/app-emulation/xen/files/digest-xen-3.0.4_p1 b/app-emulation/xen/files/digest-xen-3.0.4_p1
new file mode 100644 (file)
index 0000000..7aadef0
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 e85e16ad3dc354338e3ac4a8951f9649 xen-3.0.4_1-src.tgz 6473636
+RMD160 f869eec35f6afe0bc9824ce2eb4a600f789d423b xen-3.0.4_1-src.tgz 6473636
+SHA256 6b3842393e69a9c8fcdbc2789d05830aba6f1d108a6f97f1448de4a86f92a5cb xen-3.0.4_1-src.tgz 6473636
index 6601ded044dce94d81bcd2f6221dce86e8fb5832..2e363d9e41fd8a1ae5db03afab5b7258927e9e27 100644 (file)
@@ -1,30 +1,29 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-3.0.2.ebuild,v 1.8 2007/01/25 23:07:09 genone Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-3.0.2.ebuild,v 1.9 2007/05/02 04:27:24 marineam Exp $
 
 inherit mount-boot flag-o-matic
 
 DESCRIPTION="The Xen virtual machine monitor"
 HOMEPAGE="http://xen.sourceforge.net"
-if [[ ${PV} == *_p* ]]; then
-       XEN_UNSTABLE="xen-unstable-${PV#*_p}"
-       SRC_URI="mirror://gentoo/${XEN_UNSTABLE}.tar.bz2"
-       S="${WORKDIR}/${XEN_UNSTABLE}"
-else
-       SRC_URI="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/${P}-src.tgz"
-       S="${WORKDIR}/xen-${PV}"
-fi
+MY_PV=${PV/_p/_}
+SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV/_/-}/src.tgz/xen-${MY_PV}-src.tgz"
 
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="debug custom-cflags pae hardened"
 
-DEPEND="sys-devel/dev86"
-RDEPEND=""
+RDEPEND="|| ( sys-boot/grub
+                sys-boot/grub-static )
+                ~sys-kernel/xen-sources-2.6.16.28"
+PDEPEND="~app-emulation/xen-tools-${PV}"
 
 RESTRICT="test"
 
+# Approved by QA team in bug #144032
+QA_WX_LOAD="boot/xen-syms-${MY_PV/_/-}"
+
 pkg_setup() {
        if [[ -z ${XEN_TARGET_ARCH} ]]; then
                if use x86; then
@@ -75,15 +74,10 @@ src_compile() {
 
 src_install() {
        local myopt
+       use debug && myopt="${myopt} debug=y"
        use pae && myopt="${myopt} pae=y"
 
-       make DESTDIR="${D}" ${myopt} install-xen \
-               || die "install failed"
-
-       # for upstream change tracking
-       if [[ -n ${XEN_UNSTABLE} ]]; then
-               dodoc "${S}"/XEN-VERSION
-       fi
+       make DESTDIR="${D}" install-xen ${myopt} || die "install failed"
 }
 
 pkg_postinst() {
@@ -91,15 +85,7 @@ pkg_postinst() {
        elog "http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
 
        echo
-       elog "Note: xen tools have been moved to app-emulation/xen-tools;"
-       elog "you need to install that package to manage your domains."
-
-       if [[ -n ${XEN_UNSTABLE} ]]; then
-               echo
-               elog "This is a snapshot of the xen-unstable tree."
-               elog "Please report bugs in xen itself (and not the packaging) to"
-               elog "bugzilla.xensource.com"
-       fi
+       elog "Note: xen tools have been moved to app-emulation/xen-tools"
 
        if use pae; then
                echo
diff --git a/app-emulation/xen/xen-3.0.4_p1.ebuild b/app-emulation/xen/xen-3.0.4_p1.ebuild
new file mode 100644 (file)
index 0000000..93aab2d
--- /dev/null
@@ -0,0 +1,98 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-3.0.4_p1.ebuild,v 1.1 2007/05/02 04:27:24 marineam Exp $
+
+inherit mount-boot flag-o-matic
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="http://www.xensource.com/xen/xen/"
+MY_PV=${PV/_p/_}
+SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV/_/-}/src.tgz/xen-${MY_PV}-src.tgz"
+S="${WORKDIR}/xen-${MY_PV}-src"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug custom-cflags pae"
+
+RDEPEND="|| ( sys-boot/grub
+               sys-boot/grub-static )
+               >=sys-kernel/xen-sources-2.6.16.33"
+PDEPEND="~app-emulation/xen-tools-${PV}"
+
+RESTRICT="test"
+
+# Approved by QA team in bug #144032
+QA_WX_LOAD="boot/xen-syms-${MY_PV/_/-}"
+
+pkg_setup() {
+       if [[ -z ${XEN_TARGET_ARCH} ]]; then
+               if 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
+}
+
+src_unpack() {
+       unpack ${A}
+       # 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 {} \;
+       fi
+
+       # xen tries to be smart and filter out CFLAGs not supported by gcc.
+       # It doesn't handle no* flags though, but flag-o-matic's test-flag-CC does.
+       for FLAG in -nopie -fno-stack-protector -fno-stack-protector-all; do
+               test-flag-CC ${FLAG} && HARDFLAGS="${HARDFLAGS} ${FLAG}"
+       done
+       sed  -i "s/^CFLAGS-y.*__XEN__.*$/& ${HARDFLAGS}/" \
+               "${S}"/xen/Rules.mk
+}
+
+src_compile() {
+       local myopt
+       use debug && myopt="${myopt} debug=y"
+       use pae && myopt="${myopt} pae=y"
+
+       if use custom-cflags; then
+               filter-flags -fPIE -fstack-protector
+       else
+               unset CFLAGS
+       fi
+
+       # Send raw LDFLAGS so that --as-needed works
+       emake LDFLAGS="$(raw-ldflags)" -C xen ${myopt} || die "compile failed"
+}
+
+src_install() {
+       local myopt
+       use debug && myopt="${myopt} debug=y"
+       use pae && myopt="${myopt} pae=y"
+
+       make DESTDIR="${D}" ${myopt} install-xen || die "install failed"
+}
+
+pkg_postinst() {
+       elog "Please visit the Xen and Gentoo wiki:"
+       elog "http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
+
+       echo
+       elog "Note: xen tools have been moved to app-emulation/xen-tools"
+
+       if use pae; then
+               echo
+               ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!"
+       fi
+}