summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2009-05-28 16:27:25 +0000
committerDoug Goldstein <cardoe@gentoo.org>2009-05-28 16:27:25 +0000
commita080dc469e83ceeb427759d9207828926526d9b9 (patch)
tree3215f7dc0c7142aef49f55e75d597e674fae0fac /app-emulation/libvirt/libvirt-0.6.3-r2.ebuild
parentalpha/arm/ia64/s390/sh stable wrt #271096 (diff)
downloadgentoo-2-a080dc469e83ceeb427759d9207828926526d9b9.tar.gz
gentoo-2-a080dc469e83ceeb427759d9207828926526d9b9.tar.bz2
gentoo-2-a080dc469e83ceeb427759d9207828926526d9b9.zip
Support NUMA segmentation. Fix VirtualBox depend. Require QEMU 0.10.0 and higher for additional QEMU feature support. Several fixes from upstream.
(Portage version: 2.1.6.13/cvs/Linux x86_64)
Diffstat (limited to 'app-emulation/libvirt/libvirt-0.6.3-r2.ebuild')
-rw-r--r--app-emulation/libvirt/libvirt-0.6.3-r2.ebuild120
1 files changed, 120 insertions, 0 deletions
diff --git a/app-emulation/libvirt/libvirt-0.6.3-r2.ebuild b/app-emulation/libvirt/libvirt-0.6.3-r2.ebuild
new file mode 100644
index 000000000000..894ebb830dea
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-0.6.3-r2.ebuild
@@ -0,0 +1,120 @@
+# 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.6.3-r2.ebuild,v 1.1 2009/05/28 16:27:25 cardoe Exp $
+
+EAPI="2"
+
+inherit eutils autotools confutils
+
+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 hal kvm lvm +lxc +network nls numa openvz policykit \
+ parted qemu sasl selinux uml virtualbox xen"
+# devicekit isn't in portage
+
+RDEPEND="sys-libs/readline
+ sys-libs/ncurses
+ >=dev-libs/libxml2-2.5
+ >=net-libs/gnutls-1.0.25
+ dev-lang/python
+ sys-fs/sysfsutils
+ net-analyzer/netcat
+ avahi? ( >=net-dns/avahi-0.6 )
+ iscsi? ( sys-block/open-iscsi )
+ kvm? ( app-emulation/kvm )
+ lvm? ( sys-fs/lvm2 )
+ network? ( net-misc/bridge-utils net-dns/dnsmasq net-firewall/iptables )
+ numa? ( sys-process/numactl )
+ openvz? ( sys-kernel/openvz-sources )
+ parted? ( >=sys-apps/parted-1.8 )
+ policykit? ( >=sys-auth/policykit-0.6 )
+ qemu? ( >=app-emulation/qemu-0.10.0 )
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( sys-libs/libselinux )
+ virtualbox? ( >=app-emulation/virtualbox-bin-2.2.0 )
+ xen? ( app-emulation/xen-tools app-emulation/xen )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+src_prepare() {
+ # Fix argv handling for KVM 85 and newer
+ epatch "${FILESDIR}/${P}-kvm-85-argv-detection.patch"
+ # Patch sent upstream for working with kvm-img
+ epatch "${FILESDIR}/${P}-kvm-img.patch"
+ # upstream patch. fix shared/read-only disk labeling
+ epatch "${FILESDIR}/${PN}-0.6.2-shared-readonly-label.patch"
+ # upstream patch. fix <hostdev managed='yes'>
+ epatch "${FILESDIR}/${P}-hostdev-managed.patch"
+ # upstream patch. refresh qemu caps when getCapabilities is called
+ epatch "${FILESDIR}/${P}-refresh-qemu-caps.patch"
+ # upstream patch. enable migration support which appeared in QEMU 0.10.0
+ epatch "${FILESDIR}/${PN}-0.6.2-enable-qemu-0-10-migration.patch"
+ # upstream patch. don't try to label a disk with no path (empty cdrom)
+ epatch "${FILESDIR}/${PN}-0.6.2-fix-nosource-label.patch"
+
+ eautoreconf
+}
+
+pkg_setup() {
+ confutils_require_any lxc kvm openvz qemu uml virtualbox xen
+}
+
+src_configure() {
+ local my_conf=""
+ if use qemu || use kvm ; then
+ my_conf="--with-qemu"
+ else
+ my_conf="--without-qemu"
+ fi
+
+ econf \
+ $(use_with iscsi storage-iscsi) \
+ $(use_with lvm storage-lvm) \
+ $(use_with parted storage-disk) \
+ $(use_with lxc) \
+ $(use_with openvz) \
+ $(use_with uml) \
+ $(use_with virtualbox vbox) \
+ $(use_with xen) \
+ $(use_with xen xen-inotify) \
+ $(use_with avahi) \
+ $(use_with hal) \
+ $(use_with sasl) \
+ $(use_with network) \
+ $(use_with policykit polkit) \
+ $(use_with selinux) \
+ $(use_enable nls) \
+ $(use_with numa numactl) \
+ ${my_conf} \
+ --without-devkit \
+ --with-remote \
+ --disable-iptables-lokkit \
+ --localstatedir=/var \
+ --with-remote-pid-file=/var/run/libvirtd.pid
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake instal lfailed"
+ mv "${D}"/usr/share/doc/{${PN}-python*,${P}/python}
+
+ newinitd "${FILESDIR}/libvirtd.init" libvirtd
+ newconfd "${FILESDIR}/libvirtd.confd" libvirtd
+
+ keepdir /var/lib/libvirt/images
+}
+
+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"
+ elog
+ ewarn "If you have a DNS server setup on your machine, you will have"
+ ewarn "to configure /etc/dnsmasq.conf to enable the following settings: "
+ ewarn " bind-interfaces"
+ ewarn " interface or except-interface"
+ elog
+ ewarn "Otherwise you might have issues with your existing DNS server."
+}