summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2012-06-26 02:38:34 +0000
committerDoug Goldstein <cardoe@gentoo.org>2012-06-26 02:38:34 +0000
commit820c84d155ca5fba724a4424258543e1d5aaad02 (patch)
treea4d4193e3054a9367624af9a8a0f6d4dc058a7fd /app-emulation
parentVersion bumps and cleanup (diff)
downloadhistorical-820c84d155ca5fba724a4424258543e1d5aaad02.tar.gz
historical-820c84d155ca5fba724a4424258543e1d5aaad02.tar.bz2
historical-820c84d155ca5fba724a4424258543e1d5aaad02.zip
Add audit support. Add VEPA (802.1Qbg) support. Add numad support. Enable MACVTAP and VEPA by default since it brings in no additional deps. Check for MACVTAP support in the kernel.
Package-Manager: portage-2.1.10.65/cvs/Linux x86_64
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/libvirt/ChangeLog10
-rw-r--r--app-emulation/libvirt/Manifest17
-rw-r--r--app-emulation/libvirt/libvirt-0.9.12-r1.ebuild377
-rw-r--r--app-emulation/libvirt/libvirt-9999.ebuild25
-rw-r--r--app-emulation/libvirt/metadata.xml6
5 files changed, 414 insertions, 21 deletions
diff --git a/app-emulation/libvirt/ChangeLog b/app-emulation/libvirt/ChangeLog
index 8bebbda3f7e1..46001e34d2d6 100644
--- a/app-emulation/libvirt/ChangeLog
+++ b/app-emulation/libvirt/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-emulation/libvirt
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.188 2012/06/16 20:39:08 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/ChangeLog,v 1.189 2012/06/26 02:38:34 cardoe Exp $
+
+*libvirt-0.9.12-r1 (25 Jun 2012)
+
+ 25 Jun 2012; Doug Goldstein <cardoe@gentoo.org> +libvirt-0.9.12-r1.ebuild,
+ libvirt-9999.ebuild, metadata.xml:
+ Add audit support. Add VEPA (802.1Qbg) support. Add numad support. Enable
+ MACVTAP and VEPA by default since it brings in no additional deps. Check for
+ MACVTAP support in the kernel.
16 Jun 2012; Mike Gilbert <floppym@gentoo.org> libvirt-0.9.12.ebuild,
libvirt-9999.ebuild:
diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest
index cf8e61fce0a1..2bf2154c0924 100644
--- a/app-emulation/libvirt/Manifest
+++ b/app-emulation/libvirt/Manifest
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
AUX libvirtd.confd-r2 1749 RMD160 30c662b9a14a3dc635674d0aee6452076da60102 SHA1 ae7a2b801ca0f9f610c015eb0fe06640596ac614 SHA256 93040599a7cb878b54b8b963ef4963e9450bc25e982e390cef3e5b7e8039757c
AUX libvirtd.confd-r3 1757 RMD160 783aa7f62010d9903652483d95f0f3e324bd8b60 SHA1 e64c55b788da2406ad57ce72246250c7ac5a1263 SHA256 60f341dcf33ca8d55b6394ba6cf8e22f5133393e47f827b88cef1243c255f15c
AUX libvirtd.init-r5 3572 RMD160 2899a3bc515856642eb6f0cfe6d0944454271460 SHA1 ea541974fb672621c3d75020bfa8ec4be77066e1 SHA256 6c04449123ebb5d5736e53a81325f66a0db52cc19c7a6c80ba5f599a3687569f
@@ -12,15 +9,9 @@ DIST libvirt-0.9.12.tar.gz 20054618 RMD160 16b38dc2e2f5df9b427ca89ab8c1fb25b63e1
DIST libvirt-0.9.8.tar.gz 18403525 RMD160 51bfb25dbd11a7cb5529c692d843f8ac2b1c9101 SHA1 09df699513af63b73444d776c2d02945dc9cee43 SHA256 31b20864e44bb18a2d01b7ac6569f114cbe1007689219bf24a07ddb7528abe0e
EBUILD libvirt-0.9.10-r4.ebuild 8658 RMD160 7691ed9211245ed2462630ec8e381e6642155469 SHA1 fef44256645b351171db8c23990757f20d3ef8eb SHA256 bd7bb56f8da698a427c18eac46f58d1588766870164aa384516b182b6a38fded
EBUILD libvirt-0.9.11.3.ebuild 8690 RMD160 29002e3e506c15c96c83ba023c1e51399c8742e6 SHA1 4a03ed3abea899fd5b1f67204e6d89679033959c SHA256 27f8be21525191a791e783d80a7f59ee212f992f95e2dab4088594de0980ed16
+EBUILD libvirt-0.9.12-r1.ebuild 10462 RMD160 9592e114ea38d89d645d66e691ab7ea9fc6d629b SHA1 40ecf6067f627354106802df1fd668d743d98336 SHA256 333dedb3520a23627ba7355de4f6916817ea081d69f604a5abb90d81072aec2a
EBUILD libvirt-0.9.12.ebuild 10199 RMD160 c3e8e14d9b2264ebfb80292c3f7141110b5812db SHA1 c1b17b5cf9d249ddc67cb7c69301a1d8e26c3d70 SHA256 6749cfdd3bf59e5b8a3cd2a2c475a6543df0cf0aa666b906ae5cee6f54c1b693
EBUILD libvirt-0.9.8.ebuild 8137 RMD160 2f7227550ec9d17fecf1e0ff0d33482e7dad2068 SHA1 698e1d44160d8ecffd3dafc1a10bdc8f48f19282 SHA256 2892e8b77eab033b317847974b67212bede163a77449b2be5097abd9ae9dfd44
-EBUILD libvirt-9999.ebuild 10228 RMD160 31f42fe502dc7ee6bbed6c2f2ab3c4065c8b9467 SHA1 66d5cbdcb991017ead2cca9a8575aceb42b48519 SHA256 678bc3eba41ec782eaf4acd053e8e5a5c5b9d122f4842dea08b884f57c5cc328
-MISC ChangeLog 37525 RMD160 f7456f2521f59d51dcf75155089f006c04d9e8e1 SHA1 f087e93ef0755f54be8aa6936e8f66d22231ca44 SHA256 f7bc9c5153ff04bbe3a4a121a19412d4a1b4559028bb5a20a9a52027022f747a
-MISC metadata.xml 3132 RMD160 066870c02fd835f9a633b69328367737d4cc0b71 SHA1 940cc910ef4d1a75947afef95d73a3026bb91527 SHA256 e0eb882799f41f51c9930a1142cf5427061bdacf629a028ac4e8b65c1cf67ea4
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
-
-iF4EAREIAAYFAk/c7vMACgkQC77qH+pIQ6TrlAD9HtgFfiuKilwXqLePmS1HeMn2
-dsp/ahyieTRYJisVt1QA/3DGD5IiwngNiVs24UAsZsxXmiCb7ZaAw9BlpcRES+tW
-=E3Fz
------END PGP SIGNATURE-----
+EBUILD libvirt-9999.ebuild 10458 RMD160 779a96a485bd076d5b7d295a861228ad2a4388f7 SHA1 e5fc97664339aa850b7edb798fbb2e87c224d5d4 SHA256 2084281022040386c0cf18144e4577e2cb0105ab38bedbbf8ecb1547b6f715fb
+MISC ChangeLog 37861 RMD160 8c962dd6d37f76d42278b552d58269fe49361fc8 SHA1 6497395d57f44310ff7091bbe0ca1b74e15e99a7 SHA256 5de77b8c4801569a130e34844bba0a5e4af215cafaca43f41169b891d7050089
+MISC metadata.xml 3347 RMD160 07e27d28dffdae3a872bcdddd6e2b2c1db44e195 SHA1 7e5839d950c060436bce00d309584590ec413209 SHA256 c516beae67669a4ca2a0f752d2d456b11d76123b5bd67f8ac4e7d0188698d07b
diff --git a/app-emulation/libvirt/libvirt-0.9.12-r1.ebuild b/app-emulation/libvirt/libvirt-0.9.12-r1.ebuild
new file mode 100644
index 000000000000..efdff589fed6
--- /dev/null
+++ b/app-emulation/libvirt/libvirt-0.9.12-r1.ebuild
@@ -0,0 +1,377 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-0.9.12-r1.ebuild,v 1.1 2012/06/26 02:38:34 cardoe Exp $
+
+EAPI=4
+
+#BACKPORTS=1
+#AUTOTOOLIZE=yes
+
+MY_P="${P/_rc/-rc}"
+
+PYTHON_DEPEND="python? 2:2.5"
+#RESTRICT_PYTHON_ABIS="3.*"
+#SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils python user autotools linux-info
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-2
+ EGIT_REPO_URI="git://libvirt.org/libvirt.git"
+ AUTOTOOLIZE=yes
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="http://libvirt.org/sources/${MY_P}.tar.gz
+ ftp://libvirt.org/libvirt/${MY_P}.tar.gz
+ ${BACKPORTS:+
+ http://dev.gentoo.org/~cardoe/distfiles/${MY_P}-bp-${BACKPORTS}.tar.bz2}"
+ KEYWORDS="~amd64 ~x86"
+fi
+S="${WORKDIR}/${P%_rc*}"
+
+DESCRIPTION="C toolkit to manipulate virtual machines"
+HOMEPAGE="http://www.libvirt.org/"
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE="audit avahi +caps debug iscsi +libvirtd lvm +lxc +macvtap nfs \
+ nls numa openvz parted pcap phyp policykit python qemu sasl selinux +udev \
+ uml +vepa virtualbox virt-network xen elibc_glibc"
+# IUSE=one : bug #293416 & bug #299011
+REQUIRED_USE="libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
+ lxc? ( caps libvirtd )
+ openvz? ( libvirtd )
+ qemu? ( libvirtd )
+ uml? ( libvirtd )
+ vepa? ( macvtap )
+ virtualbox? ( libvirtd )
+ xen? ( libvirtd )"
+
+# gettext.sh command is used by the libvirt command wrappers, and it's
+# non-optional, so put it into RDEPEND.
+# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
+# package will use 1.1 by default
+RDEPEND="sys-libs/readline
+ sys-libs/ncurses
+ >=net-misc/curl-7.18.0
+ dev-libs/libgcrypt
+ >=dev-libs/libxml2-2.7.6
+ dev-libs/libnl:1.1
+ >=net-libs/gnutls-1.0.25
+ sys-apps/dmidecode
+ >=sys-apps/util-linux-2.17
+ sys-devel/gettext
+ >=net-analyzer/netcat6-1.0-r2
+ app-misc/scrub
+ audit? ( sys-process/audit )
+ avahi? ( >=net-dns/avahi-0.6[dbus] )
+ caps? ( sys-libs/libcap-ng )
+ iscsi? ( sys-block/open-iscsi )
+ lxc? ( sys-power/pm-utils )
+ lvm? ( >=sys-fs/lvm2-2.02.48-r2 )
+ nfs? ( net-fs/nfs-utils )
+ numa? (
+ >sys-process/numactl-2.0.2
+ sys-process/numad
+ )
+ openvz? ( sys-kernel/openvz-sources )
+ parted? (
+ >=sys-block/parted-1.8[device-mapper]
+ sys-fs/lvm2
+ )
+ pcap? ( >=net-libs/libpcap-1.0.0 )
+ phyp? ( net-libs/libssh2 )
+ policykit? ( >=sys-auth/polkit-0.9 )
+ qemu? (
+ || ( app-emulation/qemu-kvm >=app-emulation/qemu-0.10.0 )
+ dev-libs/yajl
+ sys-power/pm-utils
+ )
+ sasl? ( dev-libs/cyrus-sasl )
+ selinux? ( >=sys-libs/libselinux-2.0.85 )
+ virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
+ xen? ( app-emulation/xen-tools app-emulation/xen )
+ udev? ( >=sys-fs/udev-145 >=x11-libs/libpciaccess-0.10.9 )
+ virt-network? ( net-dns/dnsmasq
+ >=net-firewall/iptables-1.4.10
+ net-firewall/ebtables
+ sys-apps/iproute2[-minimal] )
+ elibc_glibc? ( || ( >=net-libs/libtirpc-0.2.2-r1 <sys-libs/glibc-2.14 ) )"
+# one? ( dev-libs/xmlrpc-c )
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ app-text/xhtml1
+ =dev-lang/python-2*"
+
+LXC_CONFIG_CHECK="
+ ~CGROUPS
+ ~CGROUP_FREEZER
+ ~CGROUP_DEVICE
+ ~CPUSETS
+ ~CGROUP_CPUACCT
+ ~RESOURCE_COUNTERS
+ ~CGROUP_MEM_RES_CTLR
+ ~CGROUP_SCHED
+ ~BLK_CGROUP
+ ~NAMESPACES
+ ~UTS_NS
+ ~IPC_NS
+ ~USER_NS
+ ~PID_NS
+ ~NET_NS
+ ~DEVPTS_MULTIPLE_INSTANCES
+ ~VETH
+ ~MACVLAN
+ ~POSIX_MQUEUE
+ ~!GRKERNSEC_CHROOT_MOUNT
+ ~!GRKERNSEC_CHROOT_DOUBLE
+ ~!GRKERNSEC_CHROOT_PIVOT
+ ~!GRKERNSEC_CHROOT_CHMOD
+ ~!GRKERNSEC_CHROOT_CAPS
+"
+
+VIRTNET_CONFIG_CHECK="
+ ~BRIDGE_NF_EBTABLES
+ ~NETFILTER_ADVANCED
+ ~NETFILTER_XT_TARGET_CHECKSUM
+"
+
+MACVTAP_CONFIG_CHECK="~MACVTAP"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+
+ enewgroup qemu 77
+ enewuser qemu 77 -1 -1 qemu kvm
+
+ CONFIG_CHECK=""
+ use lxc && CONFIG_CHECK+="${LXC_CONFIG_CHECK}"
+ use macvtap && CONFIG_CHECK+="${MACVTAP}"
+ use virt-network && CONFIG_CHECK+="${VIRTNET_CONFIG_CHECK}"
+ if [[ -n ${CONFIG_CHECK} ]]; then
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ [[ -n ${BACKPORTS} ]] && \
+ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
+ epatch
+
+ if [[ ${PV} = *9999* ]]; then
+
+ # git checkouts require bootstrapping to create the configure script.
+ # Additionally the submodules must be cloned to the right locations
+ # bug #377279
+ ./bootstrap || die "bootstrap failed"
+ (
+ git submodule status | sed 's/^[ +-]//;s/ .*//'
+ git hash-object bootstrap.conf
+ ) >.git-module-status
+ fi
+
+ epatch_user
+
+ [[ -n ${AUTOTOOLIZE} ]] && eautoreconf
+}
+
+src_configure() {
+ local myconf=""
+
+ myconf="${myconf} $(use_enable debug)"
+
+ ## enable/disable daemon, otherwise client only utils
+ myconf="${myconf} $(use_with libvirtd)"
+
+ ## enable/disable the daemon using avahi to find VMs
+ myconf="${myconf} $(use_with avahi)"
+
+ ## hypervisors on the local host
+ myconf="${myconf} $(use_with xen) $(use_with xen xen-inotify)"
+ # leave it automagic as it depends on the version of xen used.
+ use xen || myconf+=" --without-libxl"
+
+ myconf="${myconf} $(use_with openvz)"
+ myconf="${myconf} $(use_with lxc)"
+ if use virtualbox && has_version app-emulation/virtualbox-ose; then
+ myconf="${myconf} --with-vbox=/usr/lib/virtualbox-ose/"
+ else
+ myconf="${myconf} $(use_with virtualbox vbox)"
+ fi
+ myconf="${myconf} $(use_with uml)"
+ myconf="${myconf} $(use_with qemu)"
+ myconf="${myconf} $(use_with qemu yajl)" # Use QMP over HMP
+ # doesn't belong with hypervisors but links to libvirtd for some reason
+ #myconf="${myconf} $(use_with one)"
+
+ ## hypervisor protocols
+ myconf="${myconf} $(use_with phyp)"
+ myconf="${myconf} --with-esx"
+
+ ## additional host drivers
+ myconf="${myconf} $(use_with virt-network network)"
+ myconf="${myconf} --with-storage-fs"
+ myconf="${myconf} $(use_with lvm storage-lvm)"
+ myconf="${myconf} $(use_with iscsi storage-iscsi)"
+ myconf="${myconf} $(use_with parted storage-disk)"
+ myconf="${myconf} $(use_with lvm storage-mpath)"
+ #myconf="${myconf} --without-storage-rbd"
+ myconf="${myconf} $(use_with numa numactl)"
+ myconf="${myconf} $(use_with numa numad)"
+ myconf="${myconf} $(use_with selinux)"
+
+ # udev for device support details
+ myconf="${myconf} $(use_with udev)"
+
+ # linux capability support so we don't need privileged accounts
+ myconf="${myconf} $(use_with caps capng)"
+
+ ## auth stuff
+ myconf="${myconf} $(use_with policykit polkit)"
+ myconf="${myconf} $(use_with sasl)"
+
+ # network bits
+ myconf="${myconf} $(use_with macvtap)"
+ myconf="${myconf} $(use_with pcap libpcap)"
+ myconf="${myconf} $(use_with vepa virtualport)"
+
+ ## other
+ myconf="${myconf} $(use_enable nls)"
+ myconf="${myconf} $(use_with python)"
+
+ # user privilege bits fir qemu/kvm
+ if use caps; then
+ myconf="${myconf} --with-qemu-user=qemu"
+ myconf="${myconf} --with-qemu-group=qemu"
+ else
+ myconf="${myconf} --with-qemu-user=root"
+ myconf="${myconf} --with-qemu-group=root"
+ fi
+
+ # audit support
+ myconf="${myconf} $(use_with audit)"
+
+ ## stuff we don't yet support
+ myconf="${myconf} --without-netcf"
+
+ # we use udev over hal
+ myconf="${myconf} --without-hal"
+
+ # locking support
+ myconf="${myconf} --without-sanlock"
+
+ # this is a nasty trick to work around the problem in bug
+ # #275073. The reason why we don't solve this properly is that
+ # it'll require us to rebuild autotools (and we don't really want
+ # to do that right now). The proper solution has been sent
+ # upstream and should hopefully land in 0.7.7, in the mean time,
+ # mime the same functionality with this.
+ case ${CHOST} in
+ *cygwin* | *mingw* )
+ ;;
+ *)
+ ac_cv_prog_WINDRES=no
+ ;;
+ esac
+
+ econf \
+ ${myconf} \
+ --disable-static \
+ --docdir=/usr/share/doc/${PF} \
+ --with-remote \
+ --localstatedir=/var
+
+ if [[ ${PV} = *9999* ]]; then
+ # Restore gnulib's config.sub and config.guess
+ # bug #377279
+ (cd .gnulib && git reset --hard > /dev/null)
+ fi
+}
+
+src_test() {
+ # Explicitly allow parallel build of tests
+ HOME="${T}" emake check || die "tests failed"
+}
+
+src_install() {
+ emake install \
+ DESTDIR="${D}" \
+ HTML_DIR=/usr/share/doc/${PF}/html \
+ DOCS_DIR=/usr/share/doc/${PF}/python \
+ EXAMPLE_DIR=/usr/share/doc/${PF}/python/examples \
+ || die "emake install failed"
+
+ find "${D}" -name '*.la' -delete || die
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+
+ newinitd "${FILESDIR}/libvirtd.init-r8" libvirtd || die
+ newconfd "${FILESDIR}/libvirtd.confd-r3" libvirtd || die
+
+ keepdir /var/lib/libvirt/images
+}
+
+pkg_preinst() {
+ # we only ever want to generate this once
+ if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
+ rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
+ fi
+
+ # We really don't want to use or support old PolicyKit cause it
+ # screws with the new polkit integration
+ if has_version sys-auth/policykit; then
+ rm -rf "${D}"/usr/share/PolicyKit/policy/org.libvirt.unix.policy
+ fi
+
+ # Only sysctl files ending in .conf work
+ mv "${D}"/etc/sysctl.d/libvirtd "${D}"/etc/sysctl.d/libvirtd.conf
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize libvirt.py
+
+ # support for dropped privileges
+ fperms 0750 "${EROOT}/var/lib/libvirt/qemu"
+ fperms 0750 "${EROOT}/var/cache/libvirt/qemu"
+ if use caps && use qemu; then
+ fowners -R qemu:qemu "${EROOT}/var/lib/libvirt/qemu"
+ fowners -R qemu:qemu "${EROOT}/var/cache/libvirt/qemu"
+ elif use qemu; then
+ fowners -R root:root "${EROOT}/var/lib/libvirt/qemu"
+ fowners -R root:root "${EROOT}/var/cache/libvirt/qemu"
+ fi
+
+ if ! use policykit; then
+ 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"
+ fi
+
+ use libvirtd || return 0
+ # From here, only libvirtd-related instructions, be warned!
+
+ elog
+ elog "For the basic networking support (bridged and routed networks)"
+ elog "you don't need any extra software. For more complex network modes"
+ elog "including but not limited to NATed network, you can enable the"
+ elog "'virt-network' USE flag."
+ elog
+ if has_version net-dns/dnsmasq; then
+ 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"
+ ewarn
+ ewarn "Otherwise you might have issues with your existing DNS server."
+ fi
+
+ if use caps && use qemu; then
+ elog "libvirt will now start qemu/kvm VMs with non-root privileges."
+ elog "Ensure any resources your VMs use are accessible by qemu:qemu"
+ fi
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup libvirt.py
+}
diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild
index 2a3419ce6ed7..ae22d278b53c 100644
--- a/app-emulation/libvirt/libvirt-9999.ebuild
+++ b/app-emulation/libvirt/libvirt-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-9999.ebuild,v 1.35 2012/06/16 20:39:08 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/libvirt/libvirt-9999.ebuild,v 1.36 2012/06/26 02:38:33 cardoe Exp $
EAPI=4
@@ -34,13 +34,18 @@ DESCRIPTION="C toolkit to manipulate virtual machines"
HOMEPAGE="http://www.libvirt.org/"
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="avahi +caps debug iscsi +libvirtd lvm +lxc macvtap nfs \
+IUSE="audit avahi +caps debug iscsi +libvirtd lvm +lxc +macvtap nfs \
nls numa openvz parted pcap phyp policykit python qemu sasl selinux +udev \
- uml virtualbox virt-network xen elibc_glibc"
+ uml +vepa virtualbox virt-network xen elibc_glibc"
# IUSE=one : bug #293416 & bug #299011
REQUIRED_USE="libvirtd? ( || ( lxc openvz qemu uml virtualbox xen ) )
- lxc? ( caps libvirtd ) openvz? ( libvirtd ) qemu? ( libvirtd ) uml? ( libvirtd )
- virtualbox? ( libvirtd ) xen? ( libvirtd )"
+ lxc? ( caps libvirtd )
+ openvz? ( libvirtd )
+ qemu? ( libvirtd )
+ uml? ( libvirtd )
+ vepa? ( macvtap )
+ virtualbox? ( libvirtd )
+ xen? ( libvirtd )"
# gettext.sh command is used by the libvirt command wrappers, and it's
# non-optional, so put it into RDEPEND.
@@ -58,6 +63,7 @@ RDEPEND="sys-libs/readline
sys-devel/gettext
>=net-analyzer/netcat6-1.0-r2
app-misc/scrub
+ audit? ( sys-process/audit )
avahi? ( >=net-dns/avahi-0.6[dbus] )
caps? ( sys-libs/libcap-ng )
iscsi? ( sys-block/open-iscsi )
@@ -130,6 +136,8 @@ VIRTNET_CONFIG_CHECK="
~NETFILTER_XT_TARGET_CHECKSUM
"
+MACVTAP_CONFIG_CHECK="~MACVTAP"
+
pkg_setup() {
python_set_active_version 2
python_pkg_setup
@@ -139,6 +147,7 @@ pkg_setup() {
CONFIG_CHECK=""
use lxc && CONFIG_CHECK+="${LXC_CONFIG_CHECK}"
+ use macvtap && CONFIG_CHECK+="${MACVTAP}"
use virt-network && CONFIG_CHECK+="${VIRTNET_CONFIG_CHECK}"
if [[ -n ${CONFIG_CHECK} ]]; then
linux-info_pkg_setup
@@ -225,6 +234,7 @@ src_configure() {
# network bits
myconf="${myconf} $(use_with macvtap)"
myconf="${myconf} $(use_with pcap libpcap)"
+ myconf="${myconf} $(use_with vepa virtualport)"
## other
myconf="${myconf} $(use_enable nls)"
@@ -239,8 +249,11 @@ src_configure() {
myconf="${myconf} --with-qemu-group=root"
fi
+ # audit support
+ myconf="${myconf} $(use_with audit)"
+
## stuff we don't yet support
- myconf="${myconf} --without-netcf --without-audit"
+ myconf="${myconf} --without-netcf"
# we use udev over hal
myconf="${myconf} --without-hal"
diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml
index 9daabe020db1..e75138cfabed 100644
--- a/app-emulation/libvirt/metadata.xml
+++ b/app-emulation/libvirt/metadata.xml
@@ -49,8 +49,10 @@
</flag>
<!-- Miscellaneous flags -->
+ <flag name='audit'>support <pkg>sys-process/audit</pkg></flag>
<flag name='numa'>
- Use NUMA for memory segmenting via <pkg>sys-process/numactl</pkg>
+ Use NUMA for memory segmenting via <pkg>sys-process/numactl</pkg> and
+ <pkg>sys-process/numad</pkg>
</flag>
<flag name='libvirtd'>
Builds the libvirtd daemon as well as the client utilities instead of just the client
@@ -65,6 +67,8 @@
macvtap support requires very new kernels and is
currently evolving. Support for this is experimental at best.
</flag>
+ <flag name='vepa'>Virtual Ethernet Port Aggregator (VEPA) / 802.1Qbg
+ support. Relies on macvtap support.</flag>
<flag name='json'>
Support QEmu 0.13 JSON-based interface, using <pkg>dev-libs/yajl</pkg>.
</flag>