summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2011-08-11 19:25:59 +0000
committerDoug Goldstein <cardoe@gentoo.org>2011-08-11 19:25:59 +0000
commitb719c010b7cefb358316aa8aad3e9546fa8d42c9 (patch)
tree72ec7509d1b0c466f3f494376afb448e37bfa930 /app-emulation
parentRemoving vulnerable versions (diff)
downloadhistorical-b719c010b7cefb358316aa8aad3e9546fa8d42c9.tar.gz
historical-b719c010b7cefb358316aa8aad3e9546fa8d42c9.tar.bz2
historical-b719c010b7cefb358316aa8aad3e9546fa8d42c9.zip
Update the 9999 ebuild to gain all the improvements from past updates.
Package-Manager: portage-2.1.10.10/cvs/Linux x86_64
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/qemu-kvm/ChangeLog5
-rw-r--r--app-emulation/qemu-kvm/Manifest4
-rw-r--r--app-emulation/qemu-kvm/qemu-kvm-9999.ebuild147
3 files changed, 92 insertions, 64 deletions
diff --git a/app-emulation/qemu-kvm/ChangeLog b/app-emulation/qemu-kvm/ChangeLog
index d481793065dc..62fe4352e55b 100644
--- a/app-emulation/qemu-kvm/ChangeLog
+++ b/app-emulation/qemu-kvm/ChangeLog
@@ -1,6 +1,9 @@
# ChangeLog for app-emulation/qemu-kvm
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.61 2011/08/11 19:22:36 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.62 2011/08/11 19:25:59 cardoe Exp $
+
+ 11 Aug 2011; Doug Goldstein <cardoe@gentoo.org> qemu-kvm-9999.ebuild:
+ Update the 9999 ebuild to gain all the improvements from past updates.
*qemu-kvm-0.15.0 (11 Aug 2011)
diff --git a/app-emulation/qemu-kvm/Manifest b/app-emulation/qemu-kvm/Manifest
index 2d4843f81664..bec71e9e25e0 100644
--- a/app-emulation/qemu-kvm/Manifest
+++ b/app-emulation/qemu-kvm/Manifest
@@ -10,6 +10,6 @@ DIST qemu-kvm-0.15.0.tar.gz 5916130 RMD160 71e32e95368b84e9441a9a1d051b03ed9b04d
EBUILD qemu-kvm-0.13.0-r2.ebuild 7933 RMD160 92674548b241a1e698820ab892e145ea9cf10c11 SHA1 d2ab36fb81a4d63a1726ffec53eb83f35a986e0b SHA256 794d92dbcbef069f140051091a17853ddabe11baa1b55bc76bfc7319e7ece635
EBUILD qemu-kvm-0.14.1-r2.ebuild 9073 RMD160 4791ae5e962aec333845734e0dd61bf9c0155e32 SHA1 db12166eef29c1720499639bdde5a06a75cb6d44 SHA256 6efc717a015b12a6fb8bda70b4e382e730cfb96752870785549095184b5570a3
EBUILD qemu-kvm-0.15.0.ebuild 9073 RMD160 7383e4d4358130601545b218f8f37f51a39aaf1f SHA1 9ad69141a618d61465c852f1e9e15c40f7063a46 SHA256 c5ba08cfa16f98e90dba696cc311dfaa491581dfb90a346a7fb04e27e42da765
-EBUILD qemu-kvm-9999.ebuild 8365 RMD160 0b58833811ff033e62ee45b1b5ba2232746e432b SHA1 3eec4fd431bf1dc597714ef39d4205c08aacf077 SHA256 3720954c6247b4aa767b22d9d835313892bfb0792e9a0e22e736c66ca2e5a8fb
-MISC ChangeLog 13833 RMD160 0d885cd585a4b89f056c6dcf6353161dd81c7f4b SHA1 4c586426865f1f2b5ac3da88d606830713a9e4dc SHA256 a934802dbcdeb433a1b6bd06cb1ceea076f21d6b63899b8e8b451fb3fbc44635
+EBUILD qemu-kvm-9999.ebuild 9072 RMD160 0e5c70a971d05016a457c31ffb346af4873786d2 SHA1 50ff6b06421c6bf42a619192c18504934d39e0ef SHA256 e9e790a537e65c953d68a4d3bccf87234cd80af497edbf2c1ca5680a0b33a3ba
+MISC ChangeLog 13979 RMD160 1f5b2af72cfe7d692082abc946b7a0c4e223d498 SHA1 a6905fc68a03ebfaa6efda06f435331645cd94cf SHA256 b623cf09f8a4f1cd80e7f77b29767553084fd00f55525b434e05a903a4489a72
MISC metadata.xml 1492 RMD160 aca7aa5f18297340d955e4f015c521d2fa82ac31 SHA1 2b141c7a4a4dba5eb734dc48537d6b8356320410 SHA256 7a450ebff5eec77efb6b8a209ca44c4e648c37932914ae243b869ef7dbb17c9e
diff --git a/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild b/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild
index f31dae78e536..21c6c651391e 100644
--- a/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild
+++ b/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild
@@ -1,12 +1,14 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild,v 1.16 2011/03/28 03:31:46 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild,v 1.17 2011/08/11 19:25:59 cardoe Exp $
-EAPI="2"
+#BACKPORTS=2
+
+EAPI="3"
if [[ ${PV} = *9999* ]]; then
EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git"
- GIT_ECLASS="git"
+ GIT_ECLASS="git-2"
fi
inherit eutils flag-o-matic ${GIT_ECLASS} linux-info toolchain-funcs multilib
@@ -16,7 +18,7 @@ if [[ ${PV} = *9999* ]]; then
KEYWORDS=""
else
SRC_URI="mirror://sourceforge/kvm/${PN}/${P}.tar.gz
- ${BACKPORTS:+mirror://gentoo/${P}-backports-${BACKPORTS}.tar.bz2}"
+ ${BACKPORTS:+http://dev.gentoo.org/~cardoe/distfiles/${P}-backports-${BACKPORTS}.tar.bz2}"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
fi
@@ -26,23 +28,30 @@ HOMEPAGE="http://www.linux-kvm.org"
LICENSE="GPL-2"
SLOT="0"
# xen is disabled until the deps are fixed
-IUSE="+aio alsa bluetooth brltty curl esd fdt hardened jpeg ncurses \
-png pulseaudio qemu-ifup rbd sasl sdl ssl spice static vde vhost-net xen"
+IUSE="+aio alsa bluetooth brltty curl debug esd fdt hardened jpeg ncurses \
+png pulseaudio qemu-ifup rbd sasl sdl spice ssl threads vde \
++vhost-net xen"
+# static, depends on libsdl being built with USE=static-libs, which can not
+# be expressed in current EAPI's
+
+COMMON_TARGETS="i386 x86_64 arm cris m68k microblaze mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64"
+IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} mips64 mips64el ppcemb"
+IUSE_USER_TARGETS="${COMMON_TARGETS} alpha armeb ppc64abi32 sparc32plus"
-# Updated targets to use the only supported upstream target - x86_64-softmmu
-COMMON_TARGETS=""
-IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} x86_64"
-IUSE_USER_TARGETS=""
-#COMMON_TARGETS="i386 arm cris m68k microblaze mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64"
-#IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} x86_64 mips64 mips64el ppcemb"
-#IUSE_USER_TARGETS="${COMMON_TARGETS} alpha armeb ppc64abi32 sparc32plus"
+# Setup the default SoftMMU targets, while using the loops
+# below to setup the other targets. x86_64 should be the only
+# defaults on for qemu-kvm
+IUSE="${IUSE} +qemu_softmmu_targets_x86_64"
for target in ${IUSE_SOFTMMU_TARGETS}; do
- IUSE="${IUSE} +qemu_softmmu_targets_${target}"
+ if [ "x${target}" = "xx86_64" ]; then
+ continue
+ fi
+ IUSE="${IUSE} qemu_softmmu_targets_${target}"
done
for target in ${IUSE_USER_TARGETS}; do
- IUSE="${IUSE} +qemu_user_targets_${target}"
+ IUSE="${IUSE} qemu_user_targets_${target}"
done
RESTRICT="test"
@@ -62,7 +71,7 @@ RDEPEND="
brltty? ( app-accessibility/brltty )
curl? ( net-misc/curl )
esd? ( media-sound/esound )
- fdt? ( sys-apps/dtc )
+ fdt? ( >=sys-apps/dtc-1.2.0 )
jpeg? ( virtual/jpeg )
ncurses? ( sys-libs/ncurses )
png? ( media-libs/libpng )
@@ -92,18 +101,17 @@ kvm_kern_warn() {
}
pkg_setup() {
- local counter="0" check
+ if ! use qemu_softmmu_targets_x86_64 && use x86_64 ; then
+ eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
+ fi
- use qemu_softmmu_targets_x86_64 || ewarn "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
- for check in ${IUSE_SOFTMMU_TARGETS} ; do
- use "qemu_softmmu_targets_${check}" && counter="1"
- done
- [[ ${counter} == 0 ]] && die "You need to set at least 1 target in QEMU_SOFTMMU_TARGETS"
+ if ! use qemu_softmmu_targets_x86_64 && use x86 ; then
+ eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
+ fi
if kernel_is lt 2 6 25; then
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
eerror "Either upgrade your kernel"
- die "qemu-kvm version not compatible"
else
if ! linux_config_exists; then
eerror "Unable to check your kernel for KVM support"
@@ -112,7 +120,8 @@ pkg_setup() {
kvm_kern_warn
fi
if use vhost-net && ! linux_chkconfig_present VHOST_NET ; then
- ewarn "You have to enable CONFIG_VHOST_NET in the kernel to get vhost-net support."
+ ewarn "You have to enable CONFIG_VHOST_NET in the kernel"
+ ewarn "to have vhost-net support."
fi
fi
@@ -131,11 +140,17 @@ src_prepare() {
# remove part to make udev happy
sed -e 's~NAME="%k", ~~' -i kvm/scripts/65-kvm.rules || die
+ # ${PN}-guest-hang-on-usb-add.patch was sent by Timothy Jones
+ # to the qemu-devel ml - bug 337988
epatch "${FILESDIR}/qemu-0.11.0-mips64-user-fix.patch"
+
+ [[ -n ${BACKPORTS} ]] && \
+ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
+ epatch
}
src_configure() {
- local conf_opts audio_opts softmmu_targets user_targets
+ local conf_opts audio_opts user_targets
for target in ${IUSE_SOFTMMU_TARGETS} ; do
use "qemu_softmmu_targets_${target}" && \
@@ -147,7 +162,10 @@ src_configure() {
user_targets="${user_targets} ${target}-linux-user"
done
- if [ ! -z "${softmmu_targets}" ]; then
+ if [ -z "${softmmu_targets}" ]; then
+ eerror "All SoftMMU targets are disabled. This is invalid for qemu-kvm"
+ die "At least 1 SoftMMU target must be enabled"
+ else
einfo "Building the following softmmu targets: ${softmmu_targets}"
fi
@@ -162,7 +180,10 @@ src_configure() {
conf_opts="${conf_opts} --extra-ldflags=-Wl,-z,execheap"
# Add support for static builds
- use static && conf_opts="${conf_opts} --static"
+ #use static && conf_opts="${conf_opts} --static"
+
+ # Support debug USE flag
+ use debug && conf_opts="${conf_opts} --enable-debug --disable-strip"
# Fix the $(prefix)/etc issue
conf_opts="${conf_opts} --sysconfdir=/etc"
@@ -180,12 +201,12 @@ src_configure() {
conf_opts="${conf_opts} $(use_enable rbd)"
conf_opts="${conf_opts} $(use_enable sasl vnc-sasl)"
conf_opts="${conf_opts} $(use_enable sdl)"
- conf_opts="${conf_opts} $(use_enable ssl vnc-tls)"
conf_opts="${conf_opts} $(use_enable spice)"
+ conf_opts="${conf_opts} $(use_enable ssl vnc-tls)"
+ conf_opts="${conf_opts} $(use_enable threads vnc-thread)"
conf_opts="${conf_opts} $(use_enable vde)"
conf_opts="${conf_opts} $(use_enable vhost-net)"
conf_opts="${conf_opts} $(use_enable xen)"
-# conf_opts="${conf_opts} --disable-xen"
conf_opts="${conf_opts} --disable-darwin-user --disable-bsd-user"
# audio options
@@ -211,27 +232,29 @@ src_configure() {
# in development and broken
# the kvm project has its own support for threaded IO
# which is always on and works
-# --enable-io-thread \
+ # --enable-io-thread \
}
src_install() {
emake DESTDIR="${D}" install || die "make install failed"
- insinto /$(get_libdir)/udev/rules.d/
- doins kvm/scripts/65-kvm.rules || die
+ if [ ! -z "${softmmu_targets}" ]; then
+ insinto /$(get_libdir)/udev/rules.d/
+ doins kvm/scripts/65-kvm.rules || die
- if use qemu-ifup; then
- insinto /etc/qemu/
- insopts -m0755
- doins kvm/scripts/qemu-ifup || die
- fi
+ if use qemu-ifup; then
+ insinto /etc/qemu/
+ insopts -m0755
+ doins kvm/scripts/qemu-ifup || die
+ fi
- if use qemu_softmmu_targets_x86_64 ; then
- dobin "${FILESDIR}"/qemu-kvm
- dosym /usr/bin/qemu-kvm /usr/bin/kvm
- else
- elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
- elog "of /usr/bin/qemu-kvm and /usr/bin/kvm"
+ if use qemu_softmmu_targets_x86_64 ; then
+ dobin "${FILESDIR}"/qemu-kvm
+ dosym /usr/bin/qemu-kvm /usr/bin/kvm
+ else
+ elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
+ elog "of /usr/bin/qemu-kvm and /usr/bin/kvm"
+ fi
fi
dodoc Changelog MAINTAINERS TODO pci-ids.txt || die
@@ -240,22 +263,24 @@ src_install() {
}
pkg_postinst() {
- elog "If you don't have kvm compiled into the kernel, make sure you have"
- elog "the kernel module loaded before running kvm. The easiest way to"
- elog "ensure that the kernel module is loaded is to load it on boot."
- elog "For AMD CPUs the module is called 'kvm-amd'"
- elog "For Intel CPUs the module is called 'kvm-intel'"
- elog "Please review /etc/conf.d/modules for how to load these"
- elog
- elog "Make sure your user is in the 'kvm' group"
- elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
- elog
- elog "You will need the Universal TUN/TAP driver compiled into your"
- elog "kernel or loaded as a module to use the virtual network device"
- elog "if using -net tap. You will also need support for 802.1d"
- elog "Ethernet Bridging and a configured bridge if using the provided"
- elog "kvm-ifup script from /etc/kvm."
- elog
- elog "The gnutls use flag was renamed to ssl, so adjust your use flags."
- echo
+
+ if [ ! -z "${softmmu_targets}" ]; then
+ elog "If you don't have kvm compiled into the kernel, make sure you have"
+ elog "the kernel module loaded before running kvm. The easiest way to"
+ elog "ensure that the kernel module is loaded is to load it on boot."
+ elog "For AMD CPUs the module is called 'kvm-amd'"
+ elog "For Intel CPUs the module is called 'kvm-intel'"
+ elog "Please review /etc/conf.d/modules for how to load these"
+ elog
+ elog "Make sure your user is in the 'kvm' group"
+ elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
+ elog
+ elog "You will need the Universal TUN/TAP driver compiled into your"
+ elog "kernel or loaded as a module to use the virtual network device"
+ elog "if using -net tap. You will also need support for 802.1d"
+ elog "Ethernet Bridging and a configured bridge if using the provided"
+ elog "kvm-ifup script from /etc/kvm."
+ elog
+ elog "The gnutls use flag was renamed to ssl, so adjust your use flags."
+ fi
}