summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/libvirt/Manifest5
-rw-r--r--app-emulation/libvirt/files/libvirt-0.4.6-qemu-img-name.patch18
-rw-r--r--app-emulation/libvirt/files/libvirtd.confd15
-rwxr-xr-xapp-emulation/libvirt/files/libvirtd.init73
-rw-r--r--app-emulation/libvirt/libvirt-0.6.1.ebuild108
-rw-r--r--app-emulation/virt-manager/Manifest2
-rw-r--r--app-emulation/virt-manager/virt-manager-0.7.0.ebuild48
-rw-r--r--app-emulation/xen-tools/Manifest11
-rw-r--r--app-emulation/xen-tools/files/xen-consoles.logrotate5
-rw-r--r--app-emulation/xen-tools/files/xen-tools-3.1.3-network-bridge-broadcast.patch11
-rw-r--r--app-emulation/xen-tools/files/xen-tools-3.3.0-nostrip.patch26
-rw-r--r--app-emulation/xen-tools/files/xen-tools-3.3.0-xen-detect-nopie-fix.patch12
-rw-r--r--app-emulation/xen-tools/files/xen-tools-3.3.1-qemu-xen.patch15
-rw-r--r--app-emulation/xen-tools/files/xend.initd61
-rw-r--r--app-emulation/xen-tools/files/xendomains-screen.confd15
-rw-r--r--app-emulation/xen-tools/files/xendomains.confd9
-rwxr-xr-xapp-emulation/xen-tools/files/xendomains.initd108
-rw-r--r--app-emulation/xen-tools/xen-tools-3.3.1.ebuild241
-rw-r--r--app-emulation/xen/Manifest2
-rw-r--r--app-emulation/xen/xen-3.3.1.ebuild103
20 files changed, 888 insertions, 0 deletions
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
new file mode 100644
index 0000000..f9b3f08
--- /dev/null
+++ b/app-emulation/libvirt/Manifest
@@ -0,0 +1,5 @@
+AUX libvirt-0.4.6-qemu-img-name.patch 811 RMD160 821ad55830f4724fc4d3314d58d7ea7971f0060c SHA1 1e154cf2a0522db05fd202ebddafb530e714c657 SHA256 fe0eb8a43a79c7c3d764387170addb3d490673d5e942ea1dd7b7633da4b11b7d
+AUX libvirtd.confd 476 RMD160 63b92da0cf0d589c1c6e76551982deb6b5fc8f9a SHA1 5b76082bb28705606758880c19af922dde1ccb01 SHA256 ff2c94d2a64058152be669256d8d2e241cde4356a77bd653eac9fa3b084666f6
+AUX libvirtd.init 2045 RMD160 b544578c242c6f84e2cf07682a06ce261bf40b8a SHA1 81976137c43f6b507e27ac926a6d7947e1a329d3 SHA256 96cbdf8e68a171d170f91167a4217a366325ca668b9e2621ec6800fd35d42c5c
+EBUILD libvirt-0.6.1.ebuild 2725 RMD160 16d2d0b713504ffa8d1316faca890ab4d1a23f45 SHA1 71f2864639c37efc30ef8a9968dd96fd5d898a3d SHA256 3763bbb0662e4a155cfde71dbd0779ecc442e9e99a7ed7e9278c1a85578baf37
+DIST libvirt-0.6.1.tar.gz 6476130 RMD160 fbd10cda5494efeafe59ff190d97e6543ff6f330 SHA1 705d8409ed28619fcd4cd6c2063d60228762c45d SHA256 65a54819eec280a28fdf1a19b960aa33a8275f14a8ede06ae54752d5023b99de
diff --git a/app-emulation/libvirt/files/libvirt-0.4.6-qemu-img-name.patch b/app-emulation/libvirt/files/libvirt-0.4.6-qemu-img-name.patch
new file mode 100644
index 0000000..a1c27d2
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirt-0.4.6-qemu-img-name.patch
@@ -0,0 +1,18 @@
+--- libvirt-0.4.6/configure.in.orig 2008-11-20 22:44:26.000000000 -0500
++++ libvirt-0.4.6/configure.in 2008-11-20 23:06:29.000000000 -0500
+@@ -698,7 +698,14 @@
+ [Location or name of the showmount program])
+ fi
+
+-AC_PATH_PROG([QEMU_IMG], [qemu-img], [], [$PATH:/sbin:/usr/sbin:/bin:/usr/bin])
++AC_ARG_WITH([qemu-img-name], [AC_HELP_STRING([--with-qemu-img-name=[name of binary|qemu-img]], [Name of the qemu-img binary])])
++if test "x$with_qemu_img_name" == "x" ; then
++ QEMU_IMG_BIN="qemu-img"
++else
++ QEMU_IMG_BIN="$with_qemu_img_name"
++fi
++
++AC_PATH_PROG([QEMU_IMG], [$QEMU_IMG_BIN], [], [$PATH:/sbin:/usr/sbin:/bin:/usr/bin])
+ if test -n "$QEMU_IMG" ; then
+ AC_DEFINE_UNQUOTED([HAVE_QEMU_IMG], 1, [whether qemu-img is available for non-raw files])
+ AC_DEFINE_UNQUOTED([QEMU_IMG],["$QEMU_IMG"],
diff --git a/app-emulation/libvirt/files/libvirtd.confd b/app-emulation/libvirt/files/libvirtd.confd
new file mode 100644
index 0000000..705b785
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirtd.confd
@@ -0,0 +1,15 @@
+# /etc/conf.d/libvirtd
+
+# You may want to add '--listen' to have libvirtd listen for tcp/ip connections
+# if you want to use libvirt for remote control
+
+# Please consult 'libvirtd --help' for more options
+
+#LIBVIRTD_OPTS="--listen"
+
+# Automatically shutdown KVM domains when stopping libvirtd
+LIBVIRTD_KVM_SHUTDOWN="yes"
+
+# Timeout in seconds until stopping libvirtd and "pulling the plug" on the
+# remaining VM's still in a running state
+#LIBVIRTD_KVM_SHUTDOWN_MAXWAIT="100"
diff --git a/app-emulation/libvirt/files/libvirtd.init b/app-emulation/libvirt/files/libvirtd.init
new file mode 100755
index 0000000..10765f5
--- /dev/null
+++ b/app-emulation/libvirt/files/libvirtd.init
@@ -0,0 +1,73 @@
+#!/sbin/runscript
+
+opts="start stop status reload restart"
+
+depend() {
+ need net
+ before sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
+}
+
+libvirtd_virsh() {
+ # Silence errors because virsh always throws an error about
+ # not finding the hypervisor version when connecting to libvirtd
+ LC_ALL=C virsh -c qemu:///system "$@" 2>/dev/null
+}
+
+libvirtd_dom_list() {
+ libvirtd_virsh list | grep running | awk '{ print $1 }'
+}
+
+libvirtd_dom_count() {
+ libvirtd_dom_list | wc -l
+}
+
+start() {
+ ebegin "Starting libvirtd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/libvirtd -- -d ${LIBVIRTD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping libvirtd"
+ # try to shutdown all (KVM/Qemu) domains
+ DOM_COUNT="$(libvirtd_dom_count)"
+ if [ "${LIBVIRTD_KVM_SHUTDOWN}" = "yes" ] \
+ && [ "${DOM_COUNT}" != "0" ] ; then
+
+ einfo " Shutting down domain(s):"
+ for DOM_ID in $(libvirtd_dom_list) ; do
+ NAME="$(libvirtd_virsh domname ${DOM_ID} | head -n 1)"
+ einfo " ${NAME}"
+ libvirtd_virsh shutdown ${DOM_ID} > /dev/null
+ done
+
+ if [ -n "${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}" ] ; then
+ COUNTER="${LIBVIRTD_KVM_SHUTDOWN_MAXWAIT}"
+ else
+ COUNTER=100
+ fi
+
+ einfo " Waiting ${COUNTER} seconds while domains shutdown ..."
+ DOM_COUNT="$(libvirtd_dom_count)"
+ while [ ${DOM_COUNT} -gt 0 ] && [ ${COUNTER} -gt 0 ] ; do
+ DOM_COUNT="$(libvirtd_dom_count)"
+ sleep 1
+ COUNTER=$((${COUNTER} - 1))
+ echo -n "."
+ done
+
+ DOM_COUNT="$(libvirtd_dom_count)"
+ if [ "${DOM_COUNT}" != "0" ] ; then
+ eerror " !!! Some guests are still running, stopping anyways"
+ fi
+
+ fi
+ start-stop-daemon --stop --quiet --exec /usr/sbin/libvirtd --pidfile=/var/run/libvirtd.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading libvirtd"
+ start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/libvirtd.pid --oknodo
+ eend $?
+}
diff --git a/app-emulation/libvirt/libvirt-0.6.1.ebuild b/app-emulation/libvirt/libvirt-0.6.1.ebuild
new file mode 100644
index 0000000..7160731
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-0.6.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-0.5.1.ebuild,v 1.2 2009/02/20 17:47:32 cardoe Exp $
+
+inherit eutils autotools
+
+DESCRIPTION="C toolkit to manipulate virtual machines"
+HOMEPAGE="http://www.libvirt.org/"
+SRC_URI="http://libvirt.org/sources/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="avahi iscsi lvm lxc hal kvm openvz parted qemu sasl selinux uml xen"
+# policykit is in package.mask
+# devicekit isn't in portage
+
+DEPEND="sys-libs/readline
+ sys-libs/ncurses
+ >=dev-libs/libxml2-2.5
+ >=net-libs/gnutls-1.0.25
+ dev-lang/python
+ sys-fs/sysfsutils
+ net-misc/bridge-utils
+ net-analyzer/netcat
+ net-dns/dnsmasq
+ dev-util/pkgconfig
+ avahi? ( >=net-dns/avahi-0.6 )
+ iscsi? ( sys-block/open-iscsi )
+ kvm? ( app-emulation/kvm )
+ lvm? ( sys-fs/lvm2 )
+ openvz? ( sys-kernel/openvz-sources )
+ parted? ( >=sys-apps/parted-1.8 )
+ qemu? ( app-emulation/qemu )
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( sys-libs/libselinux )
+ xen? ( app-emulation/xen-tools app-emulation/xen )
+ policykit? ( >=sys-auth/policykit-0.6 )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/"${PN}"-0.4.6-qemu-img-name.patch
+ eautoreconf
+}
+
+pkg_setup() {
+ local hasbackend=0
+ local backends="lxc kvm openvz qemu uml xen"
+ local backend
+
+ for backend in $backends ; do
+ use $backend && hasbackend=1
+ done
+
+ if [ "$hasbackend" == 0 ]; then
+ local msg="You must enable one of these USE flags: $backends"
+ eerror "$msg"
+ die "$msg"
+ fi
+}
+
+src_compile() {
+ local my_conf=""
+ if use qemu || use kvm ; then
+ # fix path for kvm-img but use qemu-img if the useflag is set
+ my_conf="--with-qemu \
+ $(use_with !qemu qemu-img-name kvm-img)"
+ else
+ my_conf="--without-qemu"
+ fi
+
+ econf \
+ $(use_with avahi) \
+ $(use_with iscsi storage-iscsi) \
+ $(use_with lvm storage-lvm) \
+ $(use_with lxc) \
+ $(use_with hal) \
+ $(use_with openvz) \
+ $(use_with parted storage-disk) \
+ $(use_with sasl) \
+ $(use_with selinux) \
+ $(use_with uml) \
+ $(use_with xen) \
+ $(use_with polkit) \
+ ${my_conf} \
+ --without-devkit \
+ --with-remote \
+ --disable-iptables-lokkit \
+ --localstatedir=/var \
+ --with-remote-pid-file=/var/run/libvirtd.pid \
+ || die "econf failed"
+ #$(use_with policykit) \
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ mv "${D}"/usr/share/doc/{${PN}-python*,${P}/python}
+ newinitd "${FILESDIR}"/libvirtd.init libvirtd
+ newconfd "${FILESDIR}"/libvirtd.confd libvirtd
+}
+
+pkg_postinst() {
+ elog "To allow normal users to connect to libvirtd you must change the"
+ elog " unix sock group and/or perms in /etc/libvirt/libvirtd.conf"
+}
diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest
new file mode 100644
index 0000000..4895c85
--- /dev/null
+++ b/app-emulation/virt-manager/Manifest
@@ -0,0 +1,2 @@
+EBUILD virt-manager-0.7.0.ebuild 1366 RMD160 8c842ee1cf8d080777285444c2572920ca45df06 SHA1 c933d8d2ceba8f0ce5c425edfda519be5a3d386b SHA256 1061508723da06048c742074d75861c0b869c2400074757cf5156d358fb6d02f
+DIST virt-manager-0.7.0.tar.gz 2010911 RMD160 48fc2bf1c1ce217d6794dd0fb4ebfb6316434e9e SHA1 436c18b2df4745327ad0a20ff3f514b6407d064f SHA256 e4cf8368b70017717cafe1b751f4206ea0820c3f1245c53572dd13bc881a152e
diff --git a/app-emulation/virt-manager/virt-manager-0.7.0.ebuild b/app-emulation/virt-manager/virt-manager-0.7.0.ebuild
new file mode 100644
index 0000000..112d19c
--- /dev/null
+++ b/app-emulation/virt-manager/virt-manager-0.7.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virt-manager/virt-manager-0.6.0-r1.ebuild,v 1.1 2008/12/02 03:38:10 marineam Exp $
+
+# Stop gnome2.eclass from doing stuff on USE=debug
+GCONF_DEBUG="no"
+
+inherit eutils gnome2
+
+DESCRIPTION="A graphical tool for administering virtual machines such as Xen"
+HOMEPAGE="http://virt-manager.org/"
+SRC_URI="http://virt-manager.org/download/sources/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnome-keyring"
+RDEPEND=">=dev-python/pygtk-1.99.12
+ >=app-emulation/libvirt-0.4.5
+ >=dev-libs/libxml2-2.6.23
+ >=app-emulation/virtinst-0.400.0
+ >=gnome-base/librsvg-2
+ >=x11-libs/vte-0.12.2
+ >=net-libs/gtk-vnc-0.3.4
+ dev-python/dbus-python
+ dev-python/gconf-python
+ dev-python/libgnome-python
+ gnome-keyring? ( dev-python/gnome-keyring-python )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if ! built_with_use dev-libs/libxml2 python; then
+ local msg="You must install libxml2 with USE=python."
+ eerror "$msg"
+ die "$msg"
+ fi
+
+ if ! built_with_use x11-libs/vte python; then
+ local msg="You must install vte with USE=python."
+ eerror "$msg"
+ die "$msg"
+ fi
+
+ if ! built_with_use net-libs/gtk-vnc python; then
+ local msg="You must install gtk-vnc with USE=python."
+ eerror "$msg"
+ die "$msg"
+ fi
+}
diff --git a/app-emulation/xen-tools/Manifest b/app-emulation/xen-tools/Manifest
new file mode 100644
index 0000000..0307937
--- /dev/null
+++ b/app-emulation/xen-tools/Manifest
@@ -0,0 +1,11 @@
+AUX xen-consoles.logrotate 63 RMD160 035bd8baf1ba68a5525bab4379c0c4e350001a74 SHA1 6f88a4da3349aade6070dfc5c4465e2c00f3e68c SHA256 0da87a4b9094f934e3de937e8ef8d3afc752e76793aa3d730182d0241e118b19
+AUX xen-tools-3.1.3-network-bridge-broadcast.patch 490 RMD160 67a2a7f07e986b0c43f75ade5c073bbcfdae5fca SHA1 53171e6764c6018e529b805a98fa369d2568364b SHA256 1c971a0a81219b8626a25c2d135d51bc8108e7ac839794f356cc349386fe34e3
+AUX xen-tools-3.3.0-nostrip.patch 1021 RMD160 f702b588596dfdebf71fafbf866d270ac5bb549e SHA1 bb4db097af6e206ed68bcc1a1c3ef48b02e9a4c5 SHA256 2debac718c01a7eac4daf3182a7ae04aa562137d791cd510ecf1848d7eaccebd
+AUX xen-tools-3.3.0-xen-detect-nopie-fix.patch 394 RMD160 77f48ee4bdeb61f91f5dd1c0ebf2351c8ffa1b55 SHA1 07eea51bb2979f7fe342954902b8680a6bd1a7bc SHA256 64266079194f5b8374ae0c2537645f4e3658817b42e55971ebc869dc03f37208
+AUX xen-tools-3.3.1-qemu-xen.patch 697 RMD160 d25a576b64bffd13b3d1c1df45b577ca510dfebc SHA1 b8dc8e797b28c08593124668fc225efd38c501cf SHA256 e8917ad249c6f6d3ad97229f5e7dab7c5b84c96ee99f1606d356ce65e4361d18
+AUX xend.initd 1291 RMD160 96659d237688d0c42e5c30491ad883d4af0f1c0f SHA1 2ffe2b29df7014d1dbf69f850a23a95e1b294288 SHA256 41ae7f38565a477abc1fb8ac5af9d6285bf90d171b922c6413aa8aefe5b00889
+AUX xendomains-screen.confd 594 RMD160 79c7a3546cf1d3f8558c2120d6e8c93c753e66b9 SHA1 7f9ed2986495d5fa4a6f8b050cd632fde6a19994 SHA256 c4d7ffcdbeccc5e93460e2abbf70d642a78a363d79ccbbce0407f50cace54e0a
+AUX xendomains.confd 291 RMD160 75d55db5360da12fc3d721c37001ccbfbb844e52 SHA1 e7be8973a4bcbfc7680258e369b07e2ed097ef49 SHA256 2fac318bb96b357dd185f7729d83c0a0b941799cdb89c24ed83051bb085735dc
+AUX xendomains.initd 2609 RMD160 d606f752d3b1f9451bf9e1895f3a28350e8bdc87 SHA1 8e57c4ea216cede1898d960650008fd65ae4037f SHA256 16cac2533e045dba45cac60abde9184bc3aa41e9c319a1ac286dd4036222ff00
+EBUILD xen-tools-3.3.1.ebuild 7005 RMD160 b303ea2f4120374e27f9a24ff1577ad62bfdcb66 SHA1 0b0b3ec92281f2249b4148ff9713550b142a7b63 SHA256 a5d9fc322ed63e87e4ec6ec0eff6d9ee33e6cd8156c9031d3c67482e882a3a56
+DIST xen-3.3.1.tar.gz 11329774 RMD160 31d3e801b4eec37715900c6247be403aaafdd5e1 SHA1 fa63c80e04dfc1bb376d98c5a0a0b08f7912b3f9 SHA256 88b4234eeee80560a3321c7e887cedd7696f45694e3e9557c21b150de1c54a49
diff --git a/app-emulation/xen-tools/files/xen-consoles.logrotate b/app-emulation/xen-tools/files/xen-consoles.logrotate
new file mode 100644
index 0000000..c644523
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-consoles.logrotate
@@ -0,0 +1,5 @@
+/var/log/xen-consoles/*.log {
+ rotate 7
+ missingok
+ compress
+}
diff --git a/app-emulation/xen-tools/files/xen-tools-3.1.3-network-bridge-broadcast.patch b/app-emulation/xen-tools/files/xen-tools-3.1.3-network-bridge-broadcast.patch
new file mode 100644
index 0000000..f916ece
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-tools-3.1.3-network-bridge-broadcast.patch
@@ -0,0 +1,11 @@
+--- xen-3.1.3/tools/examples/network-bridge.orig 2008-01-31 02:06:54.000000000 -0800
++++ xen-3.1.3/tools/examples/network-bridge 2008-02-02 17:21:25.000000000 -0800
+@@ -70,7 +70,7 @@
+ vif0="vif0.${vifnum}"
+
+ get_ip_info() {
+- addr_pfx=`ip addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet //' -e 's/ .*//'`
++ addr_pfx=`ip addr show dev $1 | egrep '^ *inet' | sed -e 's/ *inet //' -e "s/$1//"`
+ gateway=`ip route show dev $1 | fgrep default | sed 's/default via //'`
+ }
+
diff --git a/app-emulation/xen-tools/files/xen-tools-3.3.0-nostrip.patch b/app-emulation/xen-tools/files/xen-tools-3.3.0-nostrip.patch
new file mode 100644
index 0000000..48e7cd5
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-tools-3.3.0-nostrip.patch
@@ -0,0 +1,26 @@
+Index: xen-3.3.0/tools/ioemu-qemu-xen/Makefile
+===================================================================
+--- xen-3.3.0.orig/tools/ioemu-qemu-xen/Makefile
++++ xen-3.3.0/tools/ioemu-qemu-xen/Makefile
+@@ -205,7 +205,7 @@ endif
+ 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
+ mkdir -p "$(DESTDIR)$(datadir)"
+ set -e; for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+Index: xen-3.3.0/tools/ioemu-qemu-xen/Makefile.target
+===================================================================
+--- xen-3.3.0.orig/tools/ioemu-qemu-xen/Makefile.target
++++ xen-3.3.0/tools/ioemu-qemu-xen/Makefile.target
+@@ -707,7 +707,7 @@ clean:
+
+ 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 --git a/app-emulation/xen-tools/files/xen-tools-3.3.0-xen-detect-nopie-fix.patch b/app-emulation/xen-tools/files/xen-tools-3.3.0-xen-detect-nopie-fix.patch
new file mode 100644
index 0000000..f1039d8
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-tools-3.3.0-xen-detect-nopie-fix.patch
@@ -0,0 +1,12 @@
+Index: xen-3.3.0/tools/misc/Makefile
+===================================================================
+--- xen-3.3.0.orig/tools/misc/Makefile
++++ xen-3.3.0/tools/misc/Makefile
+@@ -51,3 +51,7 @@ clean:
+
+ xenperf: %: %.o Makefile
+ $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) $(LDFLAGS_libxenctrl)
++
++xen-detect: %: %.c Makefile
++ $(CC) $(CFLAGS) $(LDFLAGS) $(call cc-option,$(CC),-nopie,) -o $@ $<
++
diff --git a/app-emulation/xen-tools/files/xen-tools-3.3.1-qemu-xen.patch b/app-emulation/xen-tools/files/xen-tools-3.3.1-qemu-xen.patch
new file mode 100644
index 0000000..9957c21
--- /dev/null
+++ b/app-emulation/xen-tools/files/xen-tools-3.3.1-qemu-xen.patch
@@ -0,0 +1,15 @@
+--- tools/ioemu-qemu-xen/xen-setup~ 2009-01-05 11:36:22.000000000 +0000
++++ tools/ioemu-qemu-xen/xen-setup 2009-03-11 13:08:51.000000000 +0000
+@@ -3,9 +3,9 @@
+
+ # git-clean -x -d && ./xen-setup && make prefix=/usr CMDLINE_CFLAGS='-O0 -g' -j4 && make install DESTDIR=`pwd`/dist/ prefix=/usr && rsync -a --stats --delete . thule:shadow/qemu-iwj.git/ && rsync -a --stats dist/. root@thule:/
+
+-rm -f $target/Makefile
+-rm -f $target/config.mak
+-rm -f config-host.mak
++[[ -f $target/Makefile ]] && rm -f $target/Makefile
++[[ -f $target/config.mak ]] && rm -f $target/config.mak
++[[ -f config-host.mak ]] && rm -f config-host.mak
+
+ if test -f config-host.h; then mv config-host.h config-host.h~; fi
+
diff --git a/app-emulation/xen-tools/files/xend.initd b/app-emulation/xen-tools/files/xend.initd
new file mode 100644
index 0000000..a28c6b4
--- /dev/null
+++ b/app-emulation/xen-tools/files/xend.initd
@@ -0,0 +1,61 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd,v 1.1 2007/05/02 04:10:04 marineam Exp $
+
+opts="start stop status restart"
+
+depend() {
+ need net
+ before xendomains sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
+}
+
+await_daemons_up() {
+ for ((i=0; i<5; i++)); do
+ sleep 1
+ /usr/sbin/xend status && return 0
+ done
+ return 1
+}
+
+is_privileged_domain() {
+ grep -qsE '^control_d$' /proc/xen/capabilities
+ return $?
+}
+
+start() {
+ if is_privileged_domain ; then
+ ebegin "Starting Xen control daemon"
+ /usr/sbin/xend start
+ /usr/sbin/xend status || await_daemons_up
+ eend $?
+ else
+ eerror "Can't start xend - this is not a privileged domain."
+ return 1
+ fi
+}
+
+stop() {
+ if [ "$(xm list | wc -l)" -gt 2 ]; then
+ ebegin " Stopping all domains"
+ /usr/sbin/xm shutdown --all --wait >/dev/null
+ eend $?
+ fi
+
+ ebegin "Stopping Xen control daemon"
+ /usr/sbin/xend stop
+ eend $?
+
+ # This needs more testing (bug #149321)
+ #ebegin "Stopping xenconsoled"
+ #kill $(</var/run/xenconsoled.pid)
+ #eend $?
+
+ #ebegin "Stopping xenstored"
+ #kill $(</var/run/xenstore.pid)
+ #eend $?
+}
+
+status() {
+ is_privileged_domain && /usr/sbin/xend status
+}
diff --git a/app-emulation/xen-tools/files/xendomains-screen.confd b/app-emulation/xen-tools/files/xendomains-screen.confd
new file mode 100644
index 0000000..1482c0a
--- /dev/null
+++ b/app-emulation/xen-tools/files/xendomains-screen.confd
@@ -0,0 +1,15 @@
+# When SCREEN="yes", domains in AUTODIR have their consoles connected to a
+# screen session named SCREEN_NAME, with output logged to individual files
+# named after each domain and written to /var/log/xen-consoles/ . These files
+# are rotated (using app-admin/logrotate) every time xendomains is started.
+
+SCREEN="yes"
+SCREEN_NAME="xen"
+
+# Number of seconds between writes to screen's logfiles.
+#
+# Lower values mean more disk activity and hence a possible performance
+# impact, but higher values mean a greater chance of loosing some output
+# in the event of a crash.
+
+SCREEN_LOG_INTERVAL="1"
diff --git a/app-emulation/xen-tools/files/xendomains.confd b/app-emulation/xen-tools/files/xendomains.confd
new file mode 100644
index 0000000..90c1f52
--- /dev/null
+++ b/app-emulation/xen-tools/files/xendomains.confd
@@ -0,0 +1,9 @@
+# /etc/conf.d/xendomains
+
+# Directory of domains to boot. AUTODIR should contain one or more symlinks
+# to domain config files in /etc/xen
+AUTODIR=/etc/xen/auto
+
+# Send shutdown commands to all domains in parallel instead of waiting for
+# each to shutdown individually
+PARALLEL_SHUTDOWN=yes
diff --git a/app-emulation/xen-tools/files/xendomains.initd b/app-emulation/xen-tools/files/xendomains.initd
new file mode 100755
index 0000000..9d8a063
--- /dev/null
+++ b/app-emulation/xen-tools/files/xendomains.initd
@@ -0,0 +1,108 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xendomains.initd,v 1.3 2008/09/01 00:41:08 rbu Exp $
+
+opts="start stop status restart"
+
+depend() {
+ need xend
+ after dhcp
+}
+
+get_domname() {
+ local name_from_file=$(sed -rn 's/^name\W*=\W*\"?([[:alnum:]_\.-]+)\"?\W*;?/\1/p' "${1}" | tail -n 1)
+
+ if [[ -z ${name_from_file} ]] ; then
+ basename "${1}"
+ else
+ echo ${name_from_file}
+ fi
+}
+
+is_running() {
+ /usr/sbin/xm list "${1}" >/dev/null 2>&1
+}
+
+using_screen() {
+ [[ "${SCREEN}" == "yes" || "${SCREEN}" == "YES" ]]
+}
+
+set_screen_cmd() {
+ screen_cmd="screen -q -r ${SCREEN_NAME:=xen} -X"
+}
+
+start() {
+ set_screen_cmd
+
+ einfo "Starting Xen domains from ${AUTODIR:=/etc/xen/auto}"
+ if using_screen ; then
+ ebegin "Creating screen session to hold domain consoles"
+ ( screen -d -m -S ${SCREEN_NAME} -t dom0 \
+ && ${screen_cmd} zombie dr \
+ && logrotate -f /etc/xen/xen-consoles.logrotate \
+ && ${screen_cmd} logfile /var/log/xen-consoles/%t.log \
+ && ${screen_cmd} logfile flush ${SCREEN_LOG_INTERVAL:-1} \
+ && ${screen_cmd} log on \
+ && ${screen_cmd} deflog on ) >/dev/null
+ if [[ $? -ne 0 ]] ; then
+ eend 1
+ return 1
+ else
+ eend
+ fi
+ fi
+ # Create all domains with config files in AUTODIR.
+ for dom in $(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort); do
+ name=$(get_domname ${dom})
+ if ! is_running ${name} ; then
+ ebegin " Starting domain ${name}"
+ if using_screen ; then
+ ${screen_cmd} screen -t ${name} xm create ${dom} -c
+ else
+ xm create --quiet ${dom}
+ fi
+ eend $?
+ else
+ einfo " Not starting domain ${name} - already running"
+ fi
+ done
+}
+
+stop() {
+ set_screen_cmd
+
+ einfo "Shutting down Xen domains from ${AUTODIR:=/etc/xen/auto}"
+ # Stop all domains with config files in AUTODIR.
+ DOMAINS="$(ls "${AUTODIR:=/etc/xen/auto}/"* 2>/dev/null | sort -r)"
+
+ if [[ "$PARALLEL_SHUTDOWN" = "yes" ]] ; then
+ for dom in $DOMAINS ; do
+ name=$(get_domname ${dom})
+ if is_running ${name} ; then
+ ebegin " Asking domain ${name} to shutdown..."
+ xm shutdown ${name} >/dev/null
+ eend $?
+ fi
+ done
+ fi
+ for dom in $DOMAINS ; do
+ name=$(get_domname ${dom})
+ if is_running ${name} ; then
+ ebegin " Waiting for domain ${name} to shutdown"
+ xm shutdown --wait ${name} >/dev/null
+ eend $?
+ else
+ einfo " Not stopping domain ${name} - not running"
+ fi
+ done
+ if using_screen ; then
+ ebegin "Closing screen session ${SCREEN_NAME}"
+ ${screen_cmd} quit
+ eend $?
+ fi
+}
+
+status() {
+ /usr/sbin/xm list
+}
diff --git a/app-emulation/xen-tools/xen-tools-3.3.1.ebuild b/app-emulation/xen-tools/xen-tools-3.3.1.ebuild
new file mode 100644
index 0000000..98dd33e
--- /dev/null
+++ b/app-emulation/xen-tools/xen-tools-3.3.1.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-3.3.0.ebuild,v 1.1 2008/09/01 00:41:07 rbu Exp $
+
+inherit flag-o-matic eutils multilib python
+
+# TPMEMUFILE=tpm_emulator-0.4.tar.gz
+
+DESCRIPTION="Xend daemon and tools"
+HOMEPAGE="http://xen.org/"
+SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
+# vtpm? ( mirror://berlios/tpm-emulator/${TPMEMUFILE} )"
+S="${WORKDIR}/xen-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc debug screen custom-cflags pygrub hvm api acm flask"
+
+
+EAPI=2
+
+CDEPEND="dev-lang/python[threads]
+ sys-libs/zlib
+ hvm? ( media-libs/libsdl )
+ acm? ( dev-libs/libxml2 )
+ api? ( dev-libs/libxml2 net-misc/curl )
+ pygrub? ( dev-lang/python[ncurses] )"
+# vtpm? ( dev-libs/gmp dev-libs/openssl )
+
+DEPEND="${CDEPEND}
+ sys-devel/gcc
+ dev-lang/perl
+ app-misc/pax-utils
+ doc? (
+ app-doc/doxygen
+ dev-tex/latex2html[png,gif]
+ media-gfx/transfig
+ media-gfx/graphviz
+ )
+
+ hvm? (
+ x11-proto/xproto
+ sys-devel/dev86
+ )"
+
+RDEPEND="${CDEPEND}
+ sys-apps/iproute2
+ net-misc/bridge-utils
+ dev-python/pyxml
+ screen? (
+ app-misc/screen
+ app-admin/logrotate
+ )
+ || ( sys-fs/udev sys-apps/hotplug )"
+
+PYTHON_MODNAME="xen grub"
+
+# 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"
+
+pkg_setup() {
+ export "CONFIG_LOMOUNT=y"
+
+ if ! use x86 && ! has x86 $(get_all_abis) && use hvm; then
+ eerror "HVM (VT-x and AMD-v) cannot be built on this system. An x86 or"
+ eerror "an amd64 multilib profile is required. Remove the hvm use flag"
+ eerror "to build xen-tools on your current profile."
+ die "USE=hvm is unsupported on this system."
+ fi
+
+ 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
+
+# use vtpm && export "VTPM_TOOLS=y"
+ use api && export "LIBXENAPI_BINDINGS=y"
+ use acm && export "ACM_SECURITY=y"
+ use flask && export "FLASK_ENABLE=y"
+}
+
+src_configure() {
+# use vtpm && cp "${DISTDIR}"/${TPMEMUFILE} tools/vtpm
+
+ # 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
+
+ # Disable hvm support on systems that don't support x86_32 binaries.
+ if ! use hvm; then
+ chmod 644 tools/check/check_x11_devel
+ sed -i -e '/^CONFIG_IOEMU := y$/d' "${S}"/config/*.mk
+ sed -i -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' "${S}"/tools/Makefile
+ fi
+
+ if ! use pygrub; then
+ sed -i -e '/^SUBDIRS-$(PYTHON_TOOLS) += pygrub$/d' "${S}"/tools/Makefile
+ fi
+
+ # Fix network broadcast on bridged networks
+ epatch "${FILESDIR}/${PN}-3.1.3-network-bridge-broadcast.patch"
+
+ # Fix building small dumb utility called 'xen-detect' on hardened
+ epatch "${FILESDIR}/${PN}-3.3.0-xen-detect-nopie-fix.patch"
+
+ # Do not strip binaries
+ epatch "${FILESDIR}/${PN}-3.3.0-nostrip.patch"
+
+ # Fix eqemu-xen
+ epatch "${FILESDIR}/${P}-qemu-xen.patch"
+
+}
+
+src_compile() {
+ export VARTEXFONTS="${T}/fonts"
+ local myopt
+ use debug && myopt="${myopt} debug=y"
+
+ use custom-cflags || unset CFLAGS
+ if test-flag-CC -fno-strict-overflow; then
+ append-flags -fno-strict-overflow
+ fi
+
+ emake -C tools ${myopt} || die "compile failed"
+
+ if use doc; then
+ sh ./docs/check_pkgs || die "package check failed"
+ emake docs || die "compiling docs failed"
+ emake dev-docs || die "make dev-docs failed"
+ fi
+
+ emake -C docs man-pages || die "make man-pages failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" XEN_PYTHON_NATIVE_INSTALL=y install-tools \
+ || die "install failed"
+
+ # Remove RedHat-specific stuff
+ rm -rf "${D}"/etc/sysconfig
+
+ dodoc README docs/README.xen-bugtool docs/ChangeLog
+ if use doc; then
+ emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs \
+ || die "install docs failed"
+
+ dohtml -r docs/api/
+ docinto pdf
+ dodoc docs/api/tools/python/latex/refman.pdf
+
+ [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
+ fi
+ rm -rf "${D}"/usr/share/doc/xen/
+
+ doman docs/man?/*
+
+ newinitd "${FILESDIR}"/xend.initd xend \
+ || die "Couldn't install xen.initd"
+ newconfd "${FILESDIR}"/xendomains.confd xendomains \
+ || die "Couldn't install xendomains.confd"
+ newinitd "${FILESDIR}"/xendomains.initd xendomains \
+ || die "Couldn't install xendomains.initd"
+
+ if use screen; then
+ cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains
+ cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/
+ keepdir /var/log/xen-consoles
+ fi
+
+ # xend expects these to exist
+ keepdir /var/run/xenstored /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
+
+ # for xendomains
+ keepdir /etc/xen/auto
+}
+
+pkg_postinst() {
+ elog "Official Xen Guide and the unoffical wiki page:"
+ elog " http://www.gentoo.org/doc/en/xen-guide.xml"
+ elog " http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
+
+ if [[ "$(scanelf -s __guard -q $(type -P python))" ]] ; then
+ echo
+ ewarn "xend may not work when python is built with stack smashing protection (ssp)."
+ ewarn "If 'xm create' fails with '<ProtocolError for /RPC2: -1 >', see bug #141866"
+ ewarn "This probablem may be resolved as of Xen 3.0.4, if not post in the bug."
+ fi
+
+ if ! built_with_use dev-lang/python ncurses; then
+ echo
+ ewarn "NB: Your dev-lang/python is built without USE=ncurses."
+ ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
+ fi
+
+ if built_with_use sys-apps/iproute2 minimal; then
+ echo
+ ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
+ ewarn "will not work until you rebuild iproute2 without USE=minimal."
+ fi
+
+ if ! use hvm; then
+ echo
+ elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
+ elog "support enable the hvm use flag."
+ elog "An x86 or amd64 multilib system is required to build HVM support."
+ echo
+ elog "The ioemu use flag has been removed and replaced with hvm."
+ fi
+
+ if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
+ echo
+ elog "xensv is broken upstream (Gentoo bug #142011)."
+ elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
+ fi
+
+ python_mod_optimize
+}
+
+pkg_postrm() {
+ python_mod_cleanup
+}
diff --git a/app-emulation/xen/Manifest b/app-emulation/xen/Manifest
new file mode 100644
index 0000000..694d2b3
--- /dev/null
+++ b/app-emulation/xen/Manifest
@@ -0,0 +1,2 @@
+EBUILD xen-3.3.1.ebuild 2872 RMD160 20ea5b4d8adea891e5d5b3f61a24ceb35f298cc7 SHA1 b964d6b846daaf34feb58880cf7e50b1a8356679 SHA256 c2f05997dd872fcd5e5957ae0494d84851de981b250ef0c06f1a9d68a3b0093b
+DIST xen-3.3.1.tar.gz 11329774 RMD160 31d3e801b4eec37715900c6247be403aaafdd5e1 SHA1 fa63c80e04dfc1bb376d98c5a0a0b08f7912b3f9 SHA256 88b4234eeee80560a3321c7e887cedd7696f45694e3e9557c21b150de1c54a49
diff --git a/app-emulation/xen/xen-3.3.1.ebuild b/app-emulation/xen/xen-3.3.1.ebuild
new file mode 100644
index 0000000..ae77cd6
--- /dev/null
+++ b/app-emulation/xen/xen-3.3.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-3.3.0.ebuild,v 1.1 2008/09/01 00:30:53 rbu Exp $
+
+inherit mount-boot flag-o-matic toolchain-funcs
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="http://xen.org/"
+SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug custom-cflags pae acm flask xsm"
+
+RDEPEND="|| ( sys-boot/grub
+ sys-boot/grub-static )
+ >=sys-kernel/xen-sources-2.6.18"
+PDEPEND="~app-emulation/xen-tools-${PV}"
+
+RESTRICT="test"
+
+# Approved by QA team in bug #144032
+QA_WX_LOAD="boot/xen-syms-${PV}"
+
+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 xsm ; then
+ export "XSM_ENABLE=y"
+ use acm && export "ACM_SECURITY=y"
+ if use flask ; then
+ ! use acm && export "FLASK_ENABLE=y"
+ use acm && ewarn "Both acm and flask XSM specified, defaulting to acm."
+ fi
+ elif use acm || use flask ; then
+ ewarn "acm and flask require USE=xsm to be set, dropping use flags"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+
+ # 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
+}
+
+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
+ replace-flags -O3 -O2
+ else
+ unset CFLAGS
+ fi
+
+ # Send raw LDFLAGS so that --as-needed works
+ emake CC="$(tc-getCC)" 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"
+
+ emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install || die "install failed"
+}
+
+pkg_postinst() {
+ elog "Official Xen Guide and the unoffical wiki page:"
+ elog " http://www.gentoo.org/doc/en/xen-guide.xml"
+ elog " http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
+
+ if use pae; then
+ echo
+ ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!"
+ fi
+}