Update the 9999 ebuild to gain all the improvements from past updates.
authorDoug Goldstein <cardoe@gentoo.org>
Thu, 11 Aug 2011 19:25:59 +0000 (19:25 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Thu, 11 Aug 2011 19:25:59 +0000 (19:25 +0000)
Package-Manager: portage-2.1.10.10/cvs/Linux x86_64

app-emulation/qemu-kvm/ChangeLog
app-emulation/qemu-kvm/Manifest
app-emulation/qemu-kvm/qemu-kvm-9999.ebuild

index d481793065dc696be28280f487afec3273bae355..62fe4352e55bf3eb45bc42eacb31eca3ab3dae01 100644 (file)
@@ -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)
 
index 2d4843f816643f5b89e6800395a57bf907b42192..bec71e9e25e0f6e0cd4a1a1c700b78e029f9fed9 100644 (file)
@@ -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
index f31dae78e536a7887d4ea24d40d15117bdc73c38..21c6c651391e7b0a2f5ad09c79c934f41d5d7432 100644 (file)
@@ -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
 }