diff options
author | Doug Goldstein <cardoe@gentoo.org> | 2012-01-25 06:29:42 +0000 |
---|---|---|
committer | Doug Goldstein <cardoe@gentoo.org> | 2012-01-25 06:29:42 +0000 |
commit | f0e67d4450a2107368127816d29c7be4e4be3091 (patch) | |
tree | 85ec50fe5df6c2c9afe7d8a54a6bb7d3bec12944 /app-emulation | |
parent | version bump (diff) | |
download | historical-f0e67d4450a2107368127816d29c7be4e4be3091.tar.gz historical-f0e67d4450a2107368127816d29c7be4e4be3091.tar.bz2 historical-f0e67d4450a2107368127816d29c7be4e4be3091.zip |
Fix for bug #400595 / CVE-2012-0029.
Package-Manager: portage-2.1.10.44/cvs/Linux x86_64
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/qemu-kvm/ChangeLog | 9 | ||||
-rw-r--r-- | app-emulation/qemu-kvm/Manifest | 6 | ||||
-rw-r--r-- | app-emulation/qemu-kvm/files/qemu-kvm-1.0-e1000-bounds-packet-size-against-buffer-size.patch | 37 | ||||
-rw-r--r-- | app-emulation/qemu-kvm/qemu-kvm-1.0-r2.ebuild (renamed from app-emulation/qemu-kvm/qemu-kvm-1.0-r1.ebuild) | 5 | ||||
-rw-r--r-- | app-emulation/qemu-kvm/qemu-kvm-1.0.ebuild | 340 |
5 files changed, 52 insertions, 345 deletions
diff --git a/app-emulation/qemu-kvm/ChangeLog b/app-emulation/qemu-kvm/ChangeLog index 863afc05d541..8ef64e15b14c 100644 --- a/app-emulation/qemu-kvm/ChangeLog +++ b/app-emulation/qemu-kvm/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-emulation/qemu-kvm # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.92 2012/01/25 06:04:47 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.93 2012/01/25 06:29:42 cardoe Exp $ + +*qemu-kvm-1.0-r2 (25 Jan 2012) + + 25 Jan 2012; Doug Goldstein <cardoe@gentoo.org> -qemu-kvm-1.0.ebuild, + -qemu-kvm-1.0-r1.ebuild, +qemu-kvm-1.0-r2.ebuild, + +files/qemu-kvm-1.0-e1000-bounds-packet-size-against-buffer-size.patch: + Fix for bug #400595 / CVE-2012-0029. 25 Jan 2012; Doug Goldstein <cardoe@gentoo.org> -qemu-kvm-0.15.0.ebuild: Drop 0.15.0 since we favor 0.15.1 over it. diff --git a/app-emulation/qemu-kvm/Manifest b/app-emulation/qemu-kvm/Manifest index 519f87f80360..ef4f8d9befa8 100644 --- a/app-emulation/qemu-kvm/Manifest +++ b/app-emulation/qemu-kvm/Manifest @@ -4,6 +4,7 @@ AUX qemu-ifup 138 RMD160 1bdeae49d84b1c4ddad0294ebc790dba2836d6cf SHA1 5c84fa7bd AUX qemu-kvm 61 RMD160 83882e881a067065258f562ad1e60440666c85d3 SHA1 a965f19031e303d583bd541c9d8fff2214262e6b SHA256 211d51f0a7d3d2ba8c53016c75e2b483feadbb65e383b1eec81d9cebf6a22c29 AUX qemu-kvm-0.12.3-fix-crash-with-sdl.patch 4003 RMD160 1e8965e94537e24d0903a7a096c91e35f7013118 SHA1 a6a36da9613d90d45148aa133392bd342b83d1cd SHA256 aeca9f133c021726c0e3ce2a58843ee12d592669143d0b75e46b8e301b5cf102 AUX qemu-kvm-0.12.3-include-madvise-defines.patch 274 RMD160 2b2b454fabc3b5362c0479d581e5fb038e02aa97 SHA1 c34b51b9c0b5a69ab2ab7a8a64c804f7cbbbebf5 SHA256 0d33d22a853e9b1d19786c9ac53a515587a9753ff69a2f53e61c4764590e7821 +AUX qemu-kvm-1.0-e1000-bounds-packet-size-against-buffer-size.patch 1412 RMD160 53749555d464e56cfab39b0fa2e8120ab2c024db SHA1 9046e72b8c7496840e340f6fc351434b8830f191 SHA256 9a06665c47b76b2501f148713c46f8ce0b14ed03da5e6cb03c0d141f5d91900a AUX qemu-kvm-1.0-fix-nonkvm-arches.patch 742 RMD160 112937dafa2847d6d388ed33e539502d238ad098 SHA1 3f0a72d5441606b142907c41d47ec356483588e7 SHA256 3f2bf2def429453a8a9adbc2adf9d4f2e1d4c1f505ce0ade8f3810b74c281f02 AUX qemu-kvm-1.0-fix-qemu-system-ppc.patch 1071 RMD160 113a121abf72c9378f0c231e2e7739db3f2d5126 SHA1 64d55f9a7b56a523caa597c77b699eb02acbb81e SHA256 22a9e989806477e943a09a3ada01c9a6a739d3fdcf6226275c064db1037cb02f AUX qemu-kvm-1.0-per-target-i8259.patch 2765 RMD160 53208c75291cf9d16eab990bacdc18e28ec44a13 SHA1 c347ff7fc737af004245d3671ae87c7869b95198 SHA256 42b5905f4e2f0bb5bcdca1e14a669941c2d70ffb1e0b6969b69fc4435772abb2 @@ -15,8 +16,7 @@ DIST qemu-kvm-0.15.1.tar.gz 5915998 RMD160 dba914ca40d6c63e9f3abce409d7daee1d333 DIST qemu-kvm-1.0.tar.gz 6210473 RMD160 6503b6ec9c8d89b785d644f5c4b47b4716e2fab7 SHA1 c16be4924c30747d93d609b7909e9e9239150c9a SHA256 b711ead5a0a28bf43e7e51ce2082e37120a3527ab012c609bc30fb94d37e116e EBUILD qemu-kvm-0.14.1-r2.ebuild 9077 RMD160 7d9801a9213e1f28e7f8a4124231fc090917cfa6 SHA1 abcdb49577ce3d900493f55685b02ffe376f24e1 SHA256 d9906fbabb4ba264d5e011db8236e81cafe0e1126e9564550a7a4d1e69c9daba EBUILD qemu-kvm-0.15.1-r1.ebuild 9645 RMD160 e3524ee32ab3eeca04aab58152277d48704213e7 SHA1 9f8f8e31950fd8d736ec4b7dbc666f1f3717b62f SHA256 92f90d761adaf317eeed54c1cdd8672e354ca92aa4fb65b1bb270284ad4a235d -EBUILD qemu-kvm-1.0-r1.ebuild 11259 RMD160 0d04427a0b13217c46183c21143f32c90a84f81b SHA1 f2ed5fbf77b3229efa0653a8257130dd6f4a70ee SHA256 49ee93f1bc77f3c55a2baedd018630ab2015e29d58f323f5afd94e5b730c6f18 -EBUILD qemu-kvm-1.0.ebuild 10590 RMD160 514a2002aefeb31f86f1df437708444dff515604 SHA1 6c883f087c01889d77d687137eb79d4457198e87 SHA256 d912c8e2d54a83474160349e37cd6a1b1e6482ee093ea311f9309590b4caab67 +EBUILD qemu-kvm-1.0-r2.ebuild 11369 RMD160 9d258c343ea0e82993bd497e047925ac7c46b53d SHA1 e35973305add07591820981a1fbe6aa342c7fe22 SHA256 aef1aee37f4abb7c27298d7a218249564436fa0d09dfcced0e3beda244e8a061 EBUILD qemu-kvm-9999.ebuild 10720 RMD160 a694119758d8e1a39c2194698895cd125eec5b7b SHA1 70ef918efdf750af27c37cd98c348817b036ef6a SHA256 4c97df054a2e2a64a45b850f5deb435e5e294f1d17e003d0c39f6ca72b623d2f -MISC ChangeLog 19364 RMD160 72f109314d5e793ac518d233f00f7bdce5e8aff8 SHA1 5f7439bfb91da8468f5dd4607b8e0d864e62afa2 SHA256 cade0f6acef37d0c1a122b2b8ab05adef270b04e4c4d672fb92302eb596a0207 +MISC ChangeLog 19634 RMD160 f61111e3da098f4f45a228f5968cc1e55b61e2a7 SHA1 211d885bf7ff61ee7bb6ce97ab31a0e88f2384ee SHA256 d6c4b0ac2cb1c741157fb573e1318dbf03ac9ecfa5d40bc45d6909bb4ff3bc73 MISC metadata.xml 1918 RMD160 9aeb9149cd322870ce6948a06def34c1d00418fa SHA1 c5f5a1921552afcad74d263920baac136b2d066f SHA256 5fdbde62a8fa400e9b7a9b0a5d5b5c8c398543dccb0ff6837bed23bf37887741 diff --git a/app-emulation/qemu-kvm/files/qemu-kvm-1.0-e1000-bounds-packet-size-against-buffer-size.patch b/app-emulation/qemu-kvm/files/qemu-kvm-1.0-e1000-bounds-packet-size-against-buffer-size.patch new file mode 100644 index 000000000000..bd2bdc7425df --- /dev/null +++ b/app-emulation/qemu-kvm/files/qemu-kvm-1.0-e1000-bounds-packet-size-against-buffer-size.patch @@ -0,0 +1,37 @@ +From d0ed2d2e8e863a9a64c9fc9c08fa68bee546ad00 Mon Sep 17 00:00:00 2001 +From: Anthony Liguori <aliguori@us.ibm.com> +Date: Mon, 23 Jan 2012 07:30:43 -0600 +Subject: [PATCH 26/26] e1000: bounds packet size against buffer size + +Otherwise we can write beyond the buffer and corrupt memory. This is tracked +as CVE-2012-0029. + +Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> +--- + hw/e1000.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/hw/e1000.c b/hw/e1000.c +index 986ed9c..e164d79 100644 +--- a/hw/e1000.c ++++ b/hw/e1000.c +@@ -466,6 +466,8 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) + bytes = split_size; + if (tp->size + bytes > msh) + bytes = msh - tp->size; ++ ++ bytes = MIN(sizeof(tp->data) - tp->size, bytes); + pci_dma_read(&s->dev, addr, tp->data + tp->size, bytes); + if ((sz = tp->size + bytes) >= hdr && tp->size < hdr) + memmove(tp->header, tp->data, hdr); +@@ -481,6 +483,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) + // context descriptor TSE is not set, while data descriptor TSE is set + DBGOUT(TXERR, "TCP segmentaion Error\n"); + } else { ++ split_size = MIN(sizeof(tp->data) - tp->size, split_size); + pci_dma_read(&s->dev, addr, tp->data + tp->size, split_size); + tp->size += split_size; + } +-- +1.7.7.6 + diff --git a/app-emulation/qemu-kvm/qemu-kvm-1.0-r1.ebuild b/app-emulation/qemu-kvm/qemu-kvm-1.0-r2.ebuild index 6488ba7cd620..d35b6afdd125 100644 --- a/app-emulation/qemu-kvm/qemu-kvm-1.0-r1.ebuild +++ b/app-emulation/qemu-kvm/qemu-kvm-1.0-r2.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/qemu-kvm/qemu-kvm-1.0-r1.ebuild,v 1.2 2012/01/25 06:02:34 cardoe Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-1.0-r2.ebuild,v 1.1 2012/01/25 06:29:42 cardoe Exp $ #BACKPORTS=1 @@ -190,6 +190,9 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-1.0-fix-nonkvm-arches.patch epatch "${FILESDIR}"/${PN}-1.0-fix-qemu-system-ppc.patch + # bug #400595 / CVE-2012-0029 + epatch "${FILESDIR}"/${P}-e1000-bounds-packet-size-against-buffer-size.patch + [[ -n ${BACKPORTS} ]] && \ EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ epatch diff --git a/app-emulation/qemu-kvm/qemu-kvm-1.0.ebuild b/app-emulation/qemu-kvm/qemu-kvm-1.0.ebuild deleted file mode 100644 index a7fc640d9af2..000000000000 --- a/app-emulation/qemu-kvm/qemu-kvm-1.0.ebuild +++ /dev/null @@ -1,340 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-1.0.ebuild,v 1.7 2012/01/24 20:59:56 slyfox Exp $ - -#BACKPORTS=1 - -EAPI="3" - -if [[ ${PV} = *9999* ]]; then -# EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git" - EGIT_REPO_URI="git://github.com/avikivity/kvm.git" - GIT_ECLASS="git-2" -fi - -inherit eutils flag-o-matic ${GIT_ECLASS} linux-info toolchain-funcs multilib python - -if [[ ${PV} = *9999* ]]; then - SRC_URI="" - KEYWORDS="" -else - SRC_URI="mirror://sourceforge/kvm/${PN}/${P}.tar.gz - ${BACKPORTS:+ - http://dev.gentoo.org/~flameeyes/${PN}/${P}-backports-${BACKPORTS}.tar.bz2 - http://dev.gentoo.org/~cardoe/distfiles/${P}-backports-${BACKPORTS}.tar.bz2}" - KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" -fi - -DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" -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 debug esd fdt hardened jpeg ncurses nss \ -opengl png pulseaudio qemu-ifup rbd sasl sdl spice ssl threads vde \ -+vhost-net xattr 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" - -# 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 - 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}" -done - -RESTRICT="test" - -RDEPEND=" - !app-emulation/kqemu - !app-emulation/qemu - !app-emulation/qemu-user - >=dev-libs/glib-2.0 - sys-apps/pciutils - >=sys-apps/util-linux-2.16.0 - sys-libs/zlib - amd64? ( sys-apps/seabios ) - x86? ( sys-apps/seabios ) - aio? ( dev-libs/libaio ) - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - bluetooth? ( net-wireless/bluez ) - brltty? ( app-accessibility/brltty ) - curl? ( >=net-misc/curl-7.15.4 ) - esd? ( media-sound/esound ) - fdt? ( >=sys-apps/dtc-1.2.0 ) - jpeg? ( virtual/jpeg ) - ncurses? ( sys-libs/ncurses ) - nss? ( dev-libs/nss ) - opengl? ( virtual/opengl ) - png? ( media-libs/libpng ) - pulseaudio? ( media-sound/pulseaudio ) - qemu-ifup? ( sys-apps/iproute2 net-misc/bridge-utils ) - rbd? ( sys-cluster/ceph ) - sasl? ( dev-libs/cyrus-sasl ) - sdl? ( >=media-libs/libsdl-1.2.11[X] ) - spice? ( >=app-emulation/spice-0.9.0 - >=app-emulation/spice-protocol-0.8.1 ) - ssl? ( net-libs/gnutls ) - vde? ( net-misc/vde ) - xattr? ( sys-apps/attr ) - xen? ( app-emulation/xen-tools ) -" - -DEPEND="${RDEPEND} - app-text/texi2html - dev-util/pkgconfig - >=sys-kernel/linux-headers-2.6.35" - -STRIP_MASK="/usr/share/qemu/palcode-clipper" - -QA_PRESTRIPPED=" - usr/share/qemu/openbios-ppc - usr/share/qemu/openbios-sparc64 - usr/share/qemu/openbios-sparc32 - usr/share/qemu/palcode-clipper" - -QA_WX_LOAD="${QA_PRESTRIPPED} - usr/bin/qemu-i386 - usr/bin/qemu-x86_64 - usr/bin/qemu-alpha - usr/bin/qemu-arm - usr/bin/qemu-cris - usr/bin/qemu-m68k - usr/bin/qemu-microblaze - usr/bin/qemu-mips - usr/bin/qemu-mipsel - usr/bin/qemu-ppc - usr/bin/qemu-ppc64 - usr/bin/qemu-ppc64abi32 - usr/bin/qemu-sh4 - usr/bin/qemu-sh4eb - usr/bin/qemu-sparc - usr/bin/qemu-sparc64 - usr/bin/qemu-armeb - usr/bin/qemu-sparc32plus" - -kvm_kern_warn() { - eerror "Please enable KVM support in your kernel, found at:" - eerror - eerror " Virtualization" - eerror " Kernel-based Virtual Machine (KVM) support" - eerror -} - -pkg_pretend() { - if ! use qemu_softmmu_targets_x86_64 && use amd64 ; then - eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64" - fi - - 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" - else - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - kvm_kern_warn - elif ! linux_chkconfig_present KVM; then - 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" - ewarn "to have vhost-net support." - fi - fi -} - -pkg_setup() { - - python_set_active_version 2 - - enewgroup kvm -} - -src_prepare() { - # prevent docs to get automatically installed - sed -i '/$(DESTDIR)$(docdir)/d' Makefile || die - # Alter target makefiles to accept CFLAGS set via flag-o - sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \ - Makefile Makefile.target || die - # append CFLAGS while linking - sed -i 's/$(LDFLAGS)/$(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS)/' rules.mak || die - - # 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" - - epatch "${FILESDIR}"/${PN}-1.0-per-target-i8259.patch #400597 - epatch "${FILESDIR}"/${PN}-1.0-fix-nonkvm-arches.patch - epatch "${FILESDIR}"/${PN}-1.0-fix-qemu-system-ppc.patch - - [[ -n ${BACKPORTS} ]] && \ - EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \ - epatch -} - -src_configure() { - local conf_opts audio_opts user_targets - - for target in ${IUSE_SOFTMMU_TARGETS} ; do - use "qemu_softmmu_targets_${target}" && \ - softmmu_targets="${softmmu_targets} ${target}-softmmu" - done - - for target in ${IUSE_USER_TARGETS} ; do - use "qemu_user_targets_${target}" && \ - user_targets="${user_targets} ${target}-linux-user" - done - - 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 - - if [ ! -z "${user_targets}" ]; then - einfo "Building the following user targets: ${user_targets}" - conf_opts="${conf_opts} --enable-linux-user" - else - conf_opts="${conf_opts} --disable-linux-user" - fi - - # Fix QA issues. QEMU needs executable heaps and we need to mark it as such - conf_opts="${conf_opts} --extra-ldflags=-Wl,-z,execheap" - - # Add support for static builds - #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" - - #config options - conf_opts="${conf_opts} $(use_enable aio linux-aio)" - conf_opts="${conf_opts} $(use_enable bluetooth bluez)" - conf_opts="${conf_opts} $(use_enable brltty brlapi)" - conf_opts="${conf_opts} $(use_enable curl)" - conf_opts="${conf_opts} $(use_enable fdt)" - conf_opts="${conf_opts} $(use_enable hardened pie)" - conf_opts="${conf_opts} $(use_enable jpeg vnc-jpeg)" - conf_opts="${conf_opts} $(use_enable ncurses curses)" - conf_opts="${conf_opts} $(use_enable nss smartcard-nss)" - conf_opts="${conf_opts} $(use_enable opengl)" - conf_opts="${conf_opts} $(use_enable png vnc-png)" - 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 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} $(use_enable xattr attr)" - conf_opts="${conf_opts} --disable-darwin-user --disable-bsd-user" - - # audio options - audio_opts="oss" - use alsa && audio_opts="alsa ${audio_opts}" - use esd && audio_opts="esd ${audio_opts}" - use pulseaudio && audio_opts="pa ${audio_opts}" - use sdl && audio_opts="sdl ${audio_opts}" - ./configure --prefix=/usr \ - --disable-strip \ - --disable-werror \ - --enable-kvm \ - --enable-nptl \ - --enable-uuid \ - ${conf_opts} \ - --audio-drv-list="${audio_opts}" \ - --target-list="${softmmu_targets} ${user_targets}" \ - --cc="$(tc-getCC)" \ - --host-cc="$(tc-getBUILD_CC)" \ - || die "configure failed" - - # this is for qemu upstream's threaded support which is - # in development and broken - # the kvm project has its own support for threaded IO - # which is always on and works - # --enable-io-thread \ -} - -src_install() { - emake DESTDIR="${D}" install || die "make install failed" - - if [ ! -z "${softmmu_targets}" ]; then - insinto /lib/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_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 - newdoc pc-bios/README README.pc-bios || die - dohtml qemu-doc.html qemu-tech.html || die - - # FIXME: Need to come up with a solution for non-x86 based systems - if use x86 || use amd64; then - # Remove SeaBIOS since we're using the SeaBIOS packaged one - rm "${D}/usr/share/qemu/bios.bin" - dosym ../seabios/bios.bin /usr/share/qemu/bios.bin - fi -} - -pkg_postinst() { - - 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 -} |